Demo sử dụng AI nhận diện dòng chảy biển sóng xa bờ

Demo sử dụng AI nhận diện dòng chảy biển sóng xa bờ là 1 công cụ hỗ trợ đắc lực phù hợp hỗ trợ cho các đội cứu hộ, quản lý khu vực tắm biển đông người như các bãi biển Mỹ Khê, Phạm Văn Đồng tại Đà Nẵng.

Dòng chảy xa bờ là mối nguy tiềm tàng mà ở bất kỳ bãi biển nào trên thế giới cũng đều có thể xảy ra.

Đặc thù dòng chảy xa bờ lại không bao giờ cố định tại 1 vị trí nào bất kỳ, nó thường xuyên luân chuyển trong phạm vi 2-4 mét.

Demo sử dụng AI nhận diện dòng chảy biển sóng xa bờ là 1 bài tập rất hay và có khả năng ứng dụng thực tế rất cao tại các bãi biển xinh đẹp của Đà Nẵng hiện nay. Điều này giúp giảm thiểu rủi ro cho các khách du lịch/người dân khi đến tắm biển tại các bãi biển xinh đẹp Đà Nẵng.

Tác giả: TungVT

Mời các bạn xem video dưới đây

Đối với các bạn sinh viên/nhà nghiên cứu muốn source thì có thể inbox riêng zalo cho mình nhé, mình share hoàn toàn miễn phí.

1. Giới thiệu chung

Hệ thống AI cảnh báo biển nguy hiểm được xây dựng nhằm hỗ trợ phát hiện sớm các hiện tượng nguy hiểm trên mặt biển như sóng lớndòng chảy xa bờ (rip current) thông qua phân tích hình ảnh video theo thời gian thực.

Để triển khai hệ thống, nhóm sử dụng kết hợp nhiều công cụ mã nguồn mở, tập trung vào thị giác máy tính (Computer Vision)xử lý ảnh/video, đảm bảo tính thực tiễn, chi phí thấp và khả năng mở rộng trong tương lai.


2. Ngôn ngữ lập trình Python

2.1. Lý do lựa chọn Python

Python được lựa chọn là ngôn ngữ chính vì:

  • Cú pháp đơn giản, dễ phát triển nhanh (rapid prototyping)

  • Hệ sinh thái phong phú cho AI và Computer Vision

  • Được sử dụng rộng rãi trong nghiên cứu và triển khai thực tế

2.2. Vai trò trong hệ thống

Python đảm nhiệm:

  • Đọc và xử lý video/camera

  • Tính toán chuyển động mặt nước

  • Phát hiện vùng nguy hiểm

  • Tạo dữ liệu cảnh báo cho hệ thống web


3. OpenCV (Open Source Computer Vision Library)

3.1. Giới thiệu

OpenCV là thư viện mã nguồn mở phổ biến nhất trong lĩnh vực xử lý ảnh và thị giác máy tính.

3.2. Các chức năng sử dụng trong dự án

Trong hệ thống này, OpenCV được sử dụng để:

  • Đọc video hoặc luồng camera IP

  • Chuyển đổi ảnh màu sang ảnh xám

  • Tính Optical Flow để phân tích chuyển động nước

  • Vẽ heatmap, bounding box và thông tin cảnh báo lên video

  • Hiển thị video kết quả theo thời gian thực

3.3. Ý nghĩa

OpenCV giúp hệ thống:

  • Phân tích chuyển động mặt biển mà không cần cảm biến vật lý

  • Giảm chi phí triển khai

  • Đảm bảo chạy được trên máy tính và VPS phổ thông


4. Optical Flow (Farneback Algorithm)

4.1. Khái niệm

Optical Flow là kỹ thuật dùng để xác định chuyển động của các điểm ảnh giữa hai khung hình liên tiếp.

4.2. Ứng dụng trong hệ thống

Trong dự án, Optical Flow được sử dụng để:

  • Đo cường độ sóng thông qua độ lớn vector chuyển động (magnitude)

  • Xác định hướng chuyển động của nước (angle)

  • Phát hiện các vùng có đặc điểm dòng chảy xa bờ (ít sóng, hướng chảy ra biển)

4.3. Lý do lựa chọn

  • Không cần dữ liệu huấn luyện lớn

  • Phù hợp cho giai đoạn MVP (Minimum Viable Product)

  • Hoạt động tốt trong môi trường biển có chuyển động liên tục


5. NumPy

5.1. Giới thiệu

NumPy là thư viện xử lý mảng số hiệu năng cao trong Python.

5.2. Vai trò trong hệ thống

NumPy được sử dụng để:

  • Tính trung bình, chuẩn hoá dữ liệu chuyển động

  • Xử lý ma trận magnitude và angle

  • Thực hiện các phép toán logic để phát hiện vùng nguy hiểm

5.3. Ý nghĩa

NumPy giúp:

  • Tăng tốc độ xử lý

  • Đảm bảo hệ thống chạy ổn định theo thời gian thực


6. Kỹ thuật Heatmap (Bản đồ nhiệt)

6.1. Mục đích

Heatmap được sử dụng để:

  • Trực quan hoá mức độ nguy hiểm của mặt biển

  • Giúp người quan sát dễ dàng nhận biết khu vực có sóng mạnh

6.2. Công nghệ sử dụng

  • Chuẩn hoá dữ liệu chuyển động

  • Áp dụng COLORMAP_JET trong OpenCV

  • Overlay heatmap lên video gốc

6.3. Lợi ích

  • Trực quan, dễ hiểu cho người không có kiến thức AI

  • Rất phù hợp cho demo và trình bày dự án


7. Kỹ thuật làm mượt theo thời gian (Temporal Smoothing)

7.1. Vấn đề

Chuyển động mặt biển thay đổi liên tục khiến heatmap có thể bị nhấp nháy.

7.2. Giải pháp

Hệ thống sử dụng:

  • Trung bình trượt theo thời gian (Exponential Moving Average)

  • Giảm FPS hiển thị

  • Bỏ bớt frame không cần thiết

7.3. Kết quả

  • Hình ảnh ổn định

  • Phù hợp cho quan sát và đánh giá nguy hiểm


8. FastAPI (Chuẩn bị cho giai đoạn mở rộng)

8.1. Giới thiệu

FastAPI là framework Python hiện đại dùng để xây dựng API nhanh và hiệu quả.

8.2. Vai trò

FastAPI được sử dụng để:

  • Đóng gói AI thành một dịch vụ độc lập

  • Cung cấp API trả về trạng thái biển (SAFE / DANGEROUS)

  • Kết nối với hệ thống web (PHP dashboard)

8.3. Ý nghĩa

  • Dễ mở rộng thành hệ thống nhiều camera

  • Phù hợp triển khai Smart City


9. Tổng kết

Các công cụ được sử dụng trong dự án đều là mã nguồn mở, phổ biến và có tính thực tiễn cao.
Việc kết hợp Python – OpenCV – Optical Flow – Heatmap – FastAPI cho phép xây dựng một hệ thống:

  • ✔️ Chi phí thấp

  • ✔️ Dễ triển khai

  • ✔️ Trực quan, dễ hiểu

  • ✔️ Có khả năng mở rộng trong tương lai

Hệ thống AI cảnh báo biển nguy hiểm không chỉ có giá trị kỹ thuật mà còn mang ý nghĩa xã hội và du lịch, góp phần nâng cao an toàn cho người dân và du khách tại các bãi biển Đà Nẵng.

Be the first to comment

Leave a Reply

Your email address will not be published.


*