Hướng dẫn xây dựng ứng dụng AI giám sát giao thông với Drone
By Việt Nguyễn AI
TechnologyAI
Share:
Tóm tắt Video Hướng Dẫn Xây Dựng Ứng Dụng Giám Sát Giao Thông với Góc Camera Thay Đổi
Key Concepts:
- Giám sát giao thông với góc camera động: Ứng dụng AI cho phép đếm và theo dõi phương tiện trên đường khi góc quay camera thay đổi.
- Semantic Segmentation (Phân đoạn ngữ nghĩa): Phân loại từng pixel trong ảnh thuộc về đối tượng nào (ví dụ: làn đường).
- Instance Segmentation (Phân đoạn thể hiện): Phân biệt các thể hiện khác nhau của cùng một đối tượng (ví dụ: các làn đường riêng biệt).
- Segment Anything Model (SAM) của Meta: Mô hình AI mạnh mẽ cho phép phân đoạn ảnh và video, đặc biệt hiệu quả với video nhờ cơ chế "stateful inference".
- Object Detection (Phát hiện đối tượng): Xác định và định vị các đối tượng trong ảnh (ví dụ: xe ô tô).
- Object Tracking (Theo dõi đối tượng): Theo dõi vị trí của các đối tượng theo thời gian trong video.
- Supervision: Thư viện Python hỗ trợ các tác vụ thị giác máy tính, giúp trực quan hóa và xử lý dữ liệu hiệu quả.
- YOLO: Một họ các mô hình object detection nổi tiếng.
- ByteTrack: Một thuật toán theo dõi đối tượng.
- POC (Proof of Concept): Bản thử nghiệm chứng minh tính khả thi của một ý tưởng.
1. Vấn Đề và Giải Pháp
- Vấn đề: Các ứng dụng AI giám sát giao thông hiện tại thường yêu cầu góc camera cố định. Điều này hạn chế tính ứng dụng trong thực tế, đặc biệt khi sử dụng drone hoặc camera di động.
- Giải pháp: Xây dựng ứng dụng sử dụng Segment Anything Model (SAM) của Meta để theo dõi sự thay đổi vị trí của làn đường trong quá trình quay video.
2. Ứng Dụng Segment Anything Model (SAM)
- Nguyên lý hoạt động: SAM phân đoạn ảnh bằng cách xác định pixel nào thuộc về đối tượng nào. Trong ứng dụng này, SAM được sử dụng để phân đoạn các làn đường.
- Stateful Inference: Cơ chế quan trọng của SAM, cho phép mô hình sử dụng thông tin từ các khung hình trước đó để phân đoạn khung hình hiện tại, tạo ra kết quả mượt mà hơn.
- Các bước thực hiện:
- Cài đặt: Cài đặt SAM bằng lệnh
pip install segment-anything
. - Load Video Predictor: Sử dụng hàm
build_sam_predictor
để load mô hình SAM đã được huấn luyện (checkpoint) và file cấu hình (config). - Trích xuất Frame: Trích xuất tất cả các khung hình từ video đầu vào và lưu trữ chúng trong một thư mục.
- Khởi tạo Trạng thái Suy luận: Khởi tạo trạng thái suy luận để SAM có thể sử dụng thông tin từ các khung hình trước đó.
- Chỉ định Tọa độ Ban đầu: Xác định tọa độ của ít nhất một điểm bên trong mỗi làn đường trong khung hình đầu tiên. Sử dụng công cụ polygonezone.roboflow.com để lấy tọa độ nhanh chóng.
- Chạy Segmentation: Sử dụng hàm
propagate_in_video
để thực hiện phân đoạn trên toàn bộ video. - Hiển thị Kết quả: Hiển thị kết quả phân đoạn trên từng khung hình.
- Cài đặt: Cài đặt SAM bằng lệnh
3. Phát Hiện và Theo Dõi Đối Tượng (Object Detection and Tracking)
- Vấn đề: Các mô hình object detection có sẵn thường hoạt động kém khi đối tượng nhỏ (ví dụ: xe từ góc quay drone).
- Giải pháp: Tự thu thập và đánh nhãn dữ liệu, sau đó huấn luyện một mô hình object detection riêng.
- Đánh nhãn dữ liệu: Sử dụng SAM tích hợp trong Supervisely để tự động đánh nhãn dữ liệu cho bài toán object detection một cách nhanh chóng. Chỉ cần đánh nhãn một vài khung hình (ví dụ: đầu, giữa, cuối video).
- Mô hình YOLO: Sử dụng mô hình YOLO đã được huấn luyện trên dữ liệu tự đánh nhãn để phát hiện xe ô tô.
- Thuật toán ByteTrack: Sử dụng thuật toán ByteTrack để theo dõi các xe ô tô được phát hiện.
4. Gán Xe vào Làn Đường (Assigning Cars to Lanes)
- Hàm
assign_car_to_lens
: Hàm này duyệt qua từng xe được phát hiện và xác định xem xe đó có nằm trên làn đường nào không. - Kết quả trả về: Một danh sách (list) chứa chỉ số của làn đường mà mỗi xe đang nằm trên (từ 0 đến 6). Nếu xe không nằm trên làn đường nào, chỉ số sẽ là -1.
- Đếm số lượng xe: Đếm số lượng xe trên mỗi làn đường bằng cách đếm số lần xuất hiện của chỉ số làn đường tương ứng trong danh sách.
5. Hiển Thị Kết Quả
- Hiển thị kết quả dưới dạng bảng trên khung hình, cho biết số lượng xe trên mỗi làn đường.
6. Các Bước Cải Thiện
- Cải thiện kết quả phân đoạn: Nâng cao độ chính xác của mô hình SAM để phân đoạn làn đường tốt hơn.
- Cải thiện chất lượng object detection: Nâng cao độ chính xác của mô hình object detection để phát hiện xe chính xác hơn.
- Tối ưu tốc độ: Tăng tốc độ xử lý của mô hình SAM, vì đây là thành phần tốn nhiều thời gian nhất trong pipeline.
7. Kết Luận
Ứng dụng này là một POC cho thấy khả năng giám sát giao thông với góc camera động. Để triển khai trong thực tế, cần cải thiện độ chính xác, tốc độ và khả năng xử lý của các thành phần AI. Ứng dụng này có tiềm năng ứng dụng cao hơn so với các hệ thống giám sát truyền thống yêu cầu camera cố định.
Chat with this Video
AI-PoweredHi! I can answer questions about this video "Hướng dẫn xây dựng ứng dụng AI giám sát giao thông với Drone". What would you like to know?
Chat is based on the transcript of this video and may not be 100% accurate.