Bối cảnh và vấn đề nghiên cứu
Trong quá trình xây dựng đô thị thông minh, hệ thống giao thông thông minh (ITS - Intelligent Transportation System) giữ vai trò then chốt đối với công tác quy hoạch, quản lý và đảm bảo an toàn giao thông đô thị. Nhiệm vụ cơ bản của ITS là thu thập và phân tích lưu lượng giao thông nhằm ước tính số lượng phương tiện lưu thông trên đường trong các khoảng thời gian xác định. Thông tin lưu lượng thu được là căn cứ để dự báo mật độ giao thông, phát hiện các hiện tượng ùn tắc hoặc hành vi vi phạm, đồng thời hỗ trợ điều chỉnh chu kỳ đèn tín hiệu giao thông thích ứng tại các giao lộ.
Về mặt thực tiễn, các phương pháp giám sát giao thông truyền thống dựa trên mạng cảm biến vật lý (như cuộn dây từ tính hoặc cảm biến siêu âm lắp đặt dưới lòng đường hay ven đường) đang bộc lộ nhiều điểm hạn chế. Việc lắp đặt và duy trì các hệ thống cảm biến này đòi hỏi chi phí đầu tư lớn, yêu cầu can thiệp sâu vào kết cấu hạ tầng giao thông và dữ liệu thu về thường xuyên bị gián đoạn do sự cố đường truyền hoặc tác động của môi trường. Trước thực trạng đó, hệ thống đếm phương tiện dựa trên luồng dữ liệu video (VTCS - Video-Based Traffic Counting System) kết hợp với các thuật toán thị giác máy tính đã trở thành phương án thay thế tối ưu.
Tuy nhiên, việc triển khai các mô hình trí tuệ nhân tạo (AI) theo kiến trúc điện toán đám mây (Cloud Computing) truyền thống tiếp tục đối mặt với hai rào cản kỹ thuật lớn:
- Độ trễ truyền dẫn cao khi gửi toàn bộ luồng video độ phân giải cao từ các thiết bị thu thập về máy chủ trung tâm, làm giảm khả năng phản hồi tức thời đối với các ứng dụng giao thông thời gian thực.
- Tiêu tốn băng thông đường truyền và tiềm ẩn rủi ro về an ninh mạng, rò rỉ dữ liệu nhạy cảm liên quan đến thông tin di chuyển và hành vi của người tham gia giao thông.
Để khắc phục những nhược điểm trên, khóa luận lựa chọn hướng tiếp cận điện toán biên (Edge Computing), chuyển các tác vụ tính toán học sâu đến thực thi trực tiếp tại các thiết bị phần cứng đặt tại hiện trường.
Mục tiêu nghiên cứu của đề tài được xác định cụ thể gồm bốn nhiệm vụ:
- Tìm hiểu về trí tuệ nhân tạo (AI) và ứng dụng của AI vào thực tiễn trong cuộc sống, cụ thể là ứng dụng trong hệ thống giao thông thông minh.
- Tìm hiểu về các thiết bị biên cũng như cơ chế tăng tốc độ tính toán các mô hình học sâu phát hiện đối tượng trên thiết bị.
- Tìm hiểu về thuật toán theo vết đối tượng, đếm và xác định hướng di chuyển của các loại phương tiện giao thông trong những vùng quan sát đã định trước.
- Thử nghiệm và xây dựng hệ thống giám sát phương tiện giao thông áp dụng trí tuệ nhân tạo thực thi trực tiếp tại các thiết bị biên.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Hệ thống giám sát phương tiện giao thông ứng dụng trí tuệ nhân tạo thực thi trực tiếp trên các thiết bị biên phục vụ hệ thống giao thông thông minh.
- Phạm vi nghiên cứu: Khóa luận tập trung nghiên cứu các thiết bị máy tính đơn bo mạch (Single Board Computer - SBC) phổ biến dùng cho tăng tốc AI (Google Coral Dev Board với chip xử lý chuyên dụng Edge TPU và Nvidia Jetson Nano tích hợp GPU kiến trúc Maxwell); các kỹ thuật tối ưu hóa mô hình học sâu để tăng tốc độ suy luận (lượng tử hóa Integer 8-bit, NVIDIA TensorRT); các thuật toán phát hiện đối tượng (YOLO, SSD), thuật toán theo dõi (SORT), cùng giải pháp đếm và xác định hướng di chuyển trong vùng quan sát (ROO) trên tập dữ liệu video giao thông tại Việt Nam. Thời gian thực hiện nghiên cứu từ ngày 01/03/2021 đến ngày 29/07/2021.
Cơ sở lý thuyết và phương pháp
Khóa luận thiết lập nền tảng nghiên cứu dựa trên sự kết hợp giữa lý thuyết mạng nơ-ron học sâu (Deep Learning), các kỹ thuật nén mô hình cho thiết bị nhúng và thuật toán xử lý hình học trong thị giác máy tính:
- Mạng nơ-ron tích chập (Convolutional Neural Networks - CNN): Ứng dụng các tầng Convolution để trích xuất đặc trưng không gian thông qua các bộ lọc (kernels), tầng Pooling (như Max Pooling) nhằm giảm chiều dữ liệu và các tầng kết nối đầy đủ (Fully Connected) kết hợp hàm kích hoạt Softmax để phân loại đối tượng.
- Kỹ thuật học chuyển giao (Transfer Learning) và Tinh chỉnh (Fine-tuning): Đóng băng các tầng đầu của các mô hình đã được huấn luyện trước (pre-trained models) để tận dụng các đặc trưng biểu diễn mức thấp, chỉ cập nhật trọng số ở các tầng phân loại phía trên, giúp rút ngắn thời gian huấn luyện và giảm yêu cầu về kích thước tập dữ liệu mẫu.
- Mô hình phát hiện đối tượng một giai đoạn (One-stage detectors): Tập trung vào kiến trúc YOLO (You Only Look Once) và SSD (Single Shot MultiBox Detector) với các mạng trích xuất đặc trưng MobileNet (V1, V2, FPNLite) và MobileDet nhằm cân bằng giữa độ chính xác và tốc độ suy luận.
- Thuật toán theo vết đối tượng SORT (Simple Online Realtime Object Tracking): Thực hiện theo vết đa đối tượng theo tiếp cận Tracking-by-detection, liên kết các khung bao (bounding box) giữa các khung hình liên tiếp để gán định danh (ID) duy nhất cho từng phương tiện.
- Thuật toán xác định hướng di chuyển (DOM - Direction of Movement): Áp dụng công thức tính điểm tương đồng Cosine (Cosine Similarity Score) giữa vector chuyển động của phương tiện và vector hướng định trước trong vùng quan sát (ROO - Region of Observation) cho đường một chiều và hai chiều, hoặc phương pháp tính khoảng cách tối thiểu tại các giao lộ.
Phương pháp nghiên cứu thực nghiệm được tiến hành thông qua các bước kỹ thuật:
- Thu thập và chuẩn hóa dữ liệu: Thu thập các đoạn video ghi hình giao thông thực tế tại Việt Nam. Các đoạn phim được cắt thành chuỗi khung hình tĩnh và dán nhãn thủ công cho từng phương tiện bằng công cụ LabelImg để hình thành tập dữ liệu VDD (Vehicle Detection Dataset).
- Tối ưu hóa suy luận trên Google Coral Dev Board: Áp dụng kỹ thuật lượng tử hóa (Quantization) để chuyển đổi toàn bộ trọng số và hàm kích hoạt của mô hình từ dạng số thực dấu phẩy động 32-bit (Float32) sang số nguyên 8-bit (Integer 8-bit - INT8). Nghiên cứu áp dụng hai quy trình: Huấn luyện có nhận thức lượng tử hóa (Quantization-aware Training) cho các mô hình SSD MobileNet V1 300x300 và SSD MobileDet 320x320; Lượng tử hóa hoàn toàn sau huấn luyện (Full integer post-training quantization) cho các mô hình SSD MobileNet V2 320x320, SSD MobileNet V2 FPNLite (320x320, 640x640) và SSD MobileNet V1 FPN 640x640. Các mô hình sau khi tối ưu định dạng TensorFlow Lite (.tflite) được biên dịch bằng Edge TPU Compiler để tương thích với phần cứng Edge TPU.
- Tối ưu hóa suy luận trên Nvidia Jetson Nano: Áp dụng nền tảng NVIDIA TensorRT để tối ưu hóa mạng nơ-ron sang các định dạng FP16 và INT8 trên GPU Maxwell. Mô hình được chuyển đổi thông qua TF-TRT hoặc định dạng trung gian ONNX trước khi khởi tạo engine suy luận.
- Phương pháp đánh giá: Đánh giá mô hình phát hiện bằng 12 chỉ số tiêu chuẩn theo tập dữ liệu MS COCO (độ chính xác trung bình mAP tại các ngưỡng IoU khác nhau), tốc độ khung hình trên giây (FPS), tỷ lệ tương thích phần cứng với bộ vi xử lý và công thức tính tỷ lệ sai số đếm phương tiện.
Thông số phần cứng của hai thiết bị biên được phân tích và so sánh trong nghiên cứu:
| Thông số kỹ thuật |
Nvidia Jetson Nano |
Google Coral Dev Board |
| Hiệu năng tính toán AI |
472 GFLOPS |
4 TOPS |
| Bộ tăng tốc phần cứng AI |
NVIDIA Maxwell GPU (128 lõi) |
Google Edge TPU coprocessor |
| CPU |
Quad-Core ARM Cortex-A57 |
NXP i.MX 8M SoC (Quad MPCore Cortex-A53, Cortex-M4F) |
| GPU tích hợp |
128 Core Maxwell GPU |
GC7000 GPU |
| Bộ nhớ RAM |
4 GB 64-bit LPDDR4 |
1 GB LPDDR4 |
| Định dạng số tính toán |
FP16 / FP32 |
INT8 |
| Bộ nhớ lưu trữ |
Thẻ nhớ MicroSD 32 GB |
8 GB eMMC, khe cắm MicroSD |
| Cổng kết nối Ethernet |
10/100/1000 BASE-T Ethernet |
10/100/1000 Mbps Ethernet, IEEE 802.3 |
| Kết nối không dây Wi-Fi |
Không tích hợp sẵn |
2.4GHz và 5GHz 802.11b/g/n/ac |
| Cổng xuất hình ảnh |
HDMI 2.0, MIPI-DSI |
HDMI 2.0a, MIPI-DSI |
| Cổng giao tiếp Camera |
MIPI-CSI2 |
MIPI-CSI2 |
| Bộ xử lý video (VPU) |
4Kp60, 4Kp30 |
4Kp60 VP9, 4Kp30 AVC/H.263 |
| Chân mở rộng GPIO |
40-pin mở rộng |
40-pin GPIO |
Thiết kế và triển khai
Hệ thống giám sát lưu lượng giao thông được xây dựng theo kiến trúc phân tầng kết hợp giữa phần cứng nhúng tại biên, máy chủ đám mây và ứng dụng giám sát phía người dùng:
- Kiến trúc xử lý luồng ảnh tại thiết bị biên:
- Thiết bị thu nhận: USB Camera kết nối trực tiếp với cổng USB của bo mạch biên (Google Coral Dev Board hoặc Nvidia Jetson Nano), ghi nhận chuỗi khung hình liên tục ở độ phân giải 720p (1280x720 pixels).
- Bộ phát hiện (Detector): Từng khung hình được đưa vào mô hình học sâu (SSD hoặc YOLO) đã được tối ưu hóa để xác định vị trí các loại phương tiện và trả về tọa độ các khung bao (bounding boxes) cùng nhãn phân loại.
- Bộ theo dõi (Tracker): Khung bao của các đối tượng qua từng khung hình được chuyển đến thuật toán SORT để gom nhóm, duy trì danh tính liên tục và hình thành quỹ đạo di chuyển riêng biệt cho từng xe.
- Thuật toán đếm và phân loại hướng: Hệ thống định nghĩa vùng quan sát (ROO) cố định trên khung hình. Thuật toán kiểm tra điều kiện bounding box của phương tiện nằm trong ROO. Khi phương tiện di chuyển ra khỏi đường ranh giới của ROO, thuật toán sẽ thực hiện đếm tăng số lượng theo loại xe và tính toán góc di chuyển (dựa trên Cosine Similarity) để gán mã hướng di chuyển (movement_id).
- Kết quả đếm xuất ra ở mức biên gồm cấu trúc dữ liệu:
<frame_id>, <object_id>, <movement_id>, <vehicle_class_id>.
- Kiến trúc truyền dẫn và máy chủ giám sát:
- Giao thức truyền dữ liệu: Thiết bị biên không truyền toàn bộ luồng video thô về máy chủ mà chỉ gửi các gói dữ liệu thống kê số lượng phương tiện theo loại và hướng di chuyển thông qua giao thức WebSocket, giúp tối ưu băng thông đường truyền và duy trì tính thời gian thực.
- Máy chủ quản trị (Cloud Server): Tiếp nhận thông tin từ các thiết bị biên, lưu trữ dữ liệu vào hệ thống cơ sở dữ liệu và trực quan hóa các chỉ số lưu lượng thông qua bảng điều khiển (dashboard).
- Máy chủ truyền phát luồng (Streaming Server): Được xây dựng bằng micro-framework Flask (ngôn ngữ Python) chạy trực tiếp trên thiết bị biên, cho phép quản trị viên xem trực tiếp luồng video (live stream) từ camera và điều khiển các thông số của bo mạch thông qua giao diện web.
- Ứng dụng di động VNTraffic:
- Nhóm tác giả phát triển ứng dụng di động VNTraffic trên hệ điều hành Android nhằm cung cấp công cụ giám sát linh hoạt cho người dùng.
- Ứng dụng kết nối với hệ thống thông qua dịch vụ đám mây Firebase của Google, sử dụng Firebase Authentication để xác thực định danh tài khoản người dùng và Firebase Realtime Database để nhận dữ liệu thống kê lưu lượng định dạng JSON từ thiết bị biên theo thời gian thực.
- Ứng dụng tích hợp các giao diện chức năng: Đăng ký/Đăng nhập, Quên mật khẩu, Trang chủ, Giao diện xem Camera trực tiếp, Giao diện theo dõi lưu lượng thời gian thực (Real-time traffic), Giao diện nhật ký lưu lượng mỗi ngày (Log mỗi ngày) và Trang thông tin tài khoản người dùng.
Nội dung chính theo từng chương
Chương 1: Mở đầu
Chương 1 trình bày tổng quan về vai trò của hệ thống giao thông thông minh (ITS) trong cấu trúc thành phố thông minh. Tác giả phân tích nhu cầu đo lường lưu lượng phương tiện phục vụ quy hoạch và phân luồng giao thông; đồng thời nêu rõ các bất cập về chi phí lắp đặt, độ bền và sự phức tạp của các cảm biến vật lý truyền thống (cuộn dây từ, cảm biến siêu âm). Chương này làm rõ lý do lựa chọn mô hình đếm xe bằng thị giác máy tính trên nền tảng điện toán biên nhằm giải quyết bài toán nghẽn băng thông, độ trễ mạng và rủi ro bảo mật dữ liệu của mô hình đám mây. Cuối chương xác định 4 mục tiêu nghiên cứu, đối tượng nghiên cứu và phạm vi kỹ thuật của khóa luận.
Chương 2: Cơ sở lý thuyết và công nghệ liên quan
Chương 2 cung cấp nền tảng lý thuyết chi tiết về các công nghệ được sử dụng:
- Tổng quan về các dòng máy tính đơn bo mạch (SBC) phục vụ AI, đi sâu vào phân tích kiến trúc phần cứng của Google Coral Dev Board (tích hợp chip tăng tốc Edge TPU 4 TOPS) và Nvidia Jetson Nano (GPU kiến trúc Maxwell 128 nhân, hiệu năng 472 GFLOPS).
- Cơ sở lý thuyết mạng nơ-ron học sâu: Các thành phần của mạng CNN (Convolution, Pooling, Fully Connected layers), hàm kích hoạt và kỹ thuật học chuyển giao (Transfer Learning, Fine-tuning).
- Phương pháp nén và tối ưu hóa mô hình học sâu tương thích phần cứng biên: Kỹ thuật lượng tử hóa Quantization INT8 (bao gồm Quantization-aware training và Full integer post-training quantization) kết hợp Edge TPU Compiler trên Coral Dev Board; quy trình tối ưu hóa mạng nơ-ron sang FP16/INT8 bằng NVIDIA TensorRT (thông qua TF-TRT, ONNX, TensorRT C++/Python API) trên Jetson Nano.
- Giới thiệu các thư viện và nền tảng phần mềm: TensorFlow, TensorFlow Lite và thư viện xử lý ảnh thị giác máy tính OpenCV.
Chương 3: Kiến trúc của hệ thống giám sát lưu lượng giao thông
Chương 3 mô tả thiết kế kiến trúc toàn diện của hệ thống:
- Sơ đồ kiến trúc tổng thể kết nối giữa USB Camera (độ phân giải 720p), thiết bị tính toán biên (Edge Device), giao thức truyền nhận WebSocket, máy chủ đám mây (Cloud Server) và máy chủ truyền hình ảnh Flask.
- Kiến trúc mở rộng cho ứng dụng di động VNTraffic trên nền tảng Android, kết hợp hệ thống xác thực và cơ sở dữ liệu thời gian thực Firebase.
- Luồng xử lý dữ liệu hình ảnh trên thiết bị biên gồm 4 giai đoạn nối tiếp: Nhận khung hình đầu vào (Input Frames) -> Nhận diện phương tiện bằng bộ phát hiện (Detector) -> Theo vết liên tục bằng thuật toán SORT (Tracker) -> Xác định điều kiện phương tiện rời vùng quan sát và tính toán hướng di chuyển bằng thuật toán đếm (Counting Algorithm).
- Phân tích chi tiết nguyên lý các mạng phát hiện đối tượng: Mạng YOLO (chia lưới ô, dự đoán bounding box trực tiếp) và kiến trúc Single Shot MultiBox Detector (SSD) kết hợp với mạng trích xuất đặc trưng MobileNet.
- Trình bày thuật toán SORT trong bài toán theo vết thời gian thực và mô hình hình học xác định vùng ROO, phương pháp tính độ tương đồng góc Cosine Similarity Score để xác định hướng chuyển động (DOM).
Chương 4: Thực nghiệm và đánh giá
Chương 4 ghi nhận quá trình triển khai thực tế và kết quả đo lường hiệu năng của hệ thống:
- Quy trình xây dựng tập dữ liệu VDD (Vehicle Detection Dataset) từ video giao thông thực tế tại Việt Nam thông qua công cụ dán nhãn LabelImg.
- Thiết lập hệ thống chỉ số đo lường hiệu suất mô hình dựa trên 12 thông số đánh giá của tập chuẩn MS COCO (mAP ở các ngưỡng IoU khác nhau) và công thức tính tỷ lệ sai số của thuật toán đếm.
- Đánh giá thực nghiệm các mô hình học sâu (SSD MobileNet V1, V2, FPNLite, MobileDet) trên Google Coral Dev Board: Đo lường mức độ tương thích với chip Edge TPU sau khi lượng tử hóa INT8, phân tích biểu đồ độ chính xác và hàm mất mát (loss) trong quá trình huấn luyện.
- Đánh giá thực nghiệm các mô hình trên Nvidia Jetson Nano: Phân tích tương quan giữa độ chính xác và tốc độ suy luận (FPS) trước và sau khi tối ưu hóa bằng TensorRT.
- Đánh giá khả năng hoạt động của thuật toán theo vết SORT và độ chính xác của thuật toán đếm phương tiện khi xe rời khỏi vùng ROO.
- Báo cáo kết quả triển khai thử nghiệm hệ thống tại hiện trường với camera ghi hình thực tế; hiển thị số liệu đếm phân loại trên giao diện điều khiển web dashboard, quản lý các bản ghi (records) trong cơ sở dữ liệu, lưu trữ hình ảnh phương tiện vi phạm/rời vùng quan sát và minh họa các màn hình giao diện ứng dụng VNTraffic trên Android.
Chương 5: Tổng kết và hướng phát triển
Chương 5 đúc kết các kết quả đạt được của khóa luận: Nhóm tác giả đã chế tạo thành công mô hình hệ thống camera thông minh hoàn chỉnh, thực thi việc phát hiện, theo dõi và đếm lưu lượng phương tiện theo thời gian thực trên các bo mạch biên chi phí thấp (Coral Dev Board và Jetson Nano). Kết quả thử nghiệm khẳng định tính đúng đắn của phương pháp tiếp cận điện toán biên trong việc giảm tải áp lực mạng và giải quyết bài toán độ trễ. Cuối chương, nhóm tác giả định hướng hoàn thiện hệ thống, nâng cao độ chính xác của thuật toán trong các kịch bản giao thông phức tạp hơn.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được:
- Xây dựng hoàn chỉnh chuỗi xử lý (pipeline) giám sát giao thông tại biên, tích hợp trực tiếp USB Camera (độ phân giải 720p) với hai dòng máy tính đơn bo mạch Google Coral Dev Board và Nvidia Jetson Nano.
- Tối ưu hóa thành công các mô hình học sâu phát hiện phương tiện (SSD MobileNet V1, SSD MobileNet V2, SSD MobileNet V2 FPNLite, SSD MobileDet) sang định dạng INT8 trên Edge TPU của Coral Dev Board và định dạng tối ưu thông qua TensorRT trên GPU của Jetson Nano, đảm bảo tốc độ xử lý thời gian thực.
- Xây dựng tập dữ liệu video và hình ảnh phương tiện giao thông thực tế tại Việt Nam (VDD - Vehicle Detection Dataset) được gán nhãn chi tiết.
- Ứng dụng thành công thuật toán SORT để duy trì định danh phương tiện ổn định qua chuỗi khung hình, kết hợp thuật toán kiểm tra vùng quan sát ROO và độ tương đồng Cosine để đếm chính xác số lượng phương tiện theo từng hướng di chuyển (DOM).
- Hoàn thiện hệ thống truyền nhận dữ liệu qua WebSocket, máy chủ streaming video bằng Flask, giao diện quản trị web dashboard hiển thị số liệu và ứng dụng di động VNTraffic đồng bộ dữ liệu thời gian thực qua Firebase.
Đóng góp so với nghiên cứu trước do tác giả tự nêu:
- Đề xuất giải pháp giám sát lưu lượng giao thông có chi phí phần cứng thấp, dễ triển khai lắp đặt trên diện rộng mà không can thiệp hay phá vỡ cấu trúc hạ tầng đường bộ như các giải pháp cảm biến vật lý.
- Khắc phục triệt để nhược điểm về độ trễ mạng và nghẽn băng thông truyền tải của mô hình điện toán đám mây truyền thống nhờ chuyển toàn bộ tác vụ tính toán học sâu nặng xuống thiết bị biên.
- Nâng cao tính an toàn và quyền riêng tư của dữ liệu: Hình ảnh video được phân tích cục bộ tại biên và chỉ có siêu dữ liệu thống kê (số lượng, phân loại xe, hướng đi) được gửi về máy chủ, ngăn chặn nguy cơ rò rỉ hình ảnh cá nhân của người tham gia giao thông.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của nghiên cứu:
- Tài nguyên tính toán trên các thiết bị máy tính đơn bo mạch còn hạn chế (dung lượng RAM 1GB trên Coral Dev Board và 4GB trên Jetson Nano), đòi hỏi phải lược giảm kích thước mô hình hoặc lượng tử hóa sâu, điều này có thể dẫn đến suy giảm độ chính xác nhận diện đối với các phương tiện ở khoảng cách xa hoặc bị che khuất một phần.
- Hệ thống yêu cầu góc quay camera thực tế phải đạt độ ổn định và việc thiết lập vùng quan sát (ROO) cùng vector hướng di chuyển (DOM) hiện tại phải được cấu hình cố định trước theo từng bối cảnh đường (đường một chiều, hai chiều hoặc giao lộ).
Hướng nghiên cứu tiếp theo:
- Tiếp tục tối ưu hóa thuật toán đếm và theo vết đối tượng để nâng cao độ chính xác khi xử lý các tình huống giao thông phức tạp, đặc biệt là tại các giao lộ ngã ba, ngã tư có mật độ phương tiện đông đúc và quỹ đạo di chuyển đa hướng.
- Thực hiện thêm các bài thử nghiệm và đánh giá khách quan, diện rộng trên nhiều khung giờ và điều kiện thời tiết khác nhau để hoàn thiện hệ thống, hướng tới việc hỗ trợ phân luồng giao thông thích ứng và giảm thiểu tình trạng ùn tắc giao thông đô thị.
Giá trị tham khảo
Báo cáo khóa luận là tài liệu tham khảo hữu ích cho sinh viên, học viên cao học và kỹ sư thuộc các chuyên ngành Mạng máy tính và Truyền thông, Công nghệ Thông tin, Kỹ thuật Máy tính, Hệ thống nhúng và Trí tuệ nhân tạo (AI/IoT).
Các nội dung có giá trị tham khảo chuyên môn cao bao gồm:
- Quy trình chi tiết về chuyển đổi và nén mô hình học sâu sang định dạng Integer 8-bit tương thích với bộ vi xử lý Google Edge TPU (Quantization-aware training và Post-training quantization).
- Kỹ thuật xây dựng engine suy luận tối ưu hóa tốc độ xử lý trên GPU nhúng Nvidia Maxwell thông qua bộ công cụ NVIDIA TensorRT.
- Phương pháp phối hợp giữa bộ phát hiện (Detector) và thuật toán theo dõi đối tượng thời gian thực SORT, cùng giải pháp toán học hình học (Cosine Similarity, Region of Observation) để giải quyết bài toán đếm phương tiện theo hướng chuyển động.
- Mô hình kiến trúc tích hợp hệ thống hoàn chỉnh từ thiết bị biên, máy chủ web Flask, giao thức WebSocket cho tới ứng dụng di động liên kết Firebase.
Câu hỏi thường gặp
Khóa luận sử dụng các thiết bị biên nào và năng lực xử lý AI của chúng ra sao?
Khóa luận sử dụng hai máy tính đơn bo mạch đại diện là Google Coral Dev Board và Nvidia Jetson Nano. Google Coral Dev Board tích hợp vi xử lý NXP i.MX 8M SoC cùng bộ đồng xử lý Google Edge TPU chuyên dụng, cung cấp năng lực tính toán 4 TOPS ở định dạng số nguyên INT8 với bộ nhớ RAM 1GB LPDDR4. Bo mạch Nvidia Jetson Nano sử dụng CPU Quad-Core ARM Cortex-A57 kết hợp GPU Nvidia Maxwell 128 nhân, đạt hiệu năng tính toán 472 GFLOPS ở định dạng số thực FP16/FP32 với bộ nhớ RAM 4GB LPDDR4.
Quy trình nén và lượng tử hóa mô hình trên Google Coral Dev Board được thực hiện như thế nào?
Để chạy được trên bộ xử lý Edge TPU, các mô hình Deep Learning bắt buộc phải chuyển đổi hoàn toàn sang định dạng số nguyên 8-bit (INT8) thông qua hai phương pháp: Huấn luyện có nhận thức lượng tử hóa (Quantization-aware Training) áp dụng cho các mô hình SSD MobileNet V1 300x300 và SSD MobileDet 320x320; hoặc Lượng tử hóa hoàn toàn sau huấn luyện (Full integer post-training quantization) áp dụng cho SSD MobileNet V2 và các biến thể FPNLite. Sau khi xuất ra file định dạng TensorFlow Lite (.tflite), mô hình được biên dịch qua Edge TPU Compiler để ánh xạ các phép tính nơ-ron lên phần cứng Edge TPU.
Thuật toán SORT đóng vai trò gì trong chuỗi xử lý hình ảnh tại thiết bị biên?
Thuật toán Simple Online Realtime Object Tracking (SORT) giải quyết bài toán duy trì tính liên tục của đối tượng theo thời gian thực theo tiếp cận Tracking-by-detection. Nếu chỉ sử dụng bộ phát hiện (Detector) trên từng khung hình độc lập, hệ thống sẽ không thể nhận biết được một xe xuất hiện ở nhiều khung hình liên tiếp. SORT tiếp nhận các khung bao (bounding box) từ bộ phát hiện, liên kết chúng qua chuỗi khung hình liên tiếp và gán một mã định danh duy nhất (ID) cho từng phương tiện để hình thành quỹ đạo di chuyển phục vụ cho việc đếm.
Thuật toán xác định hướng di chuyển của phương tiện (DOM) hoạt động dựa trên nguyên lý nào?
Hệ thống thiết lập một vùng quan sát (ROO) trên khung hình camera. Khi phương tiện chuyển động, thuật toán theo dõi vector di chuyển của xe. Khi phương tiện đi ra khỏi vùng ROO, hướng di chuyển (DOM) của phương tiện được xác định bằng cách tính điểm tương đồng Cosine (Cosine Similarity Score) giữa vector di chuyển thực tế của xe với các vector hướng mẫu định trước (đối với đường một chiều hoặc hai chiều), hoặc tính khoảng cách tối thiểu đến các nhánh đường quy định tại các giao lộ.
Luồng truyền dữ liệu từ thiết bị biên đến người dùng được tổ chức như thế nào?
Dữ liệu kết quả đếm sau khi xử lý tại biên (gồm thông tin loại xe, ID và hướng di chuyển) được đóng gói và gửi về Cloud Server thông qua giao thức mạng thời gian thực WebSocket. Đồng thời, thiết bị biên vận hành một máy chủ Flask để phát luồng video trực tiếp (live stream) phục vụ kiểm tra trên trình duyệt web. Đối với ứng dụng di động VNTraffic trên Android, dữ liệu thống kê được đẩy lên cơ sở dữ liệu Firebase Realtime Database của Google dưới dạng cấu trúc JSON, giúp ứng dụng cập nhật tức thời các biểu đồ lưu lượng cho người dùng.
Kết luận
Khóa luận tốt nghiệp của nhóm tác giả Đinh Đức Liêm và Nguyễn Hồng Nam đã thiết kế và triển khai thành công hệ thống giám sát lưu lượng giao thông sử dụng camera thông minh dựa trên nền tảng điện toán biên. Công trình đã làm chủ quy trình tối ưu hóa các mô hình học sâu phát hiện đối tượng trên phần cứng chuyên dụng Google Coral Dev Board (Edge TPU) và Nvidia Jetson Nano (GPU), kết hợp hiệu quả với thuật toán theo dõi SORT và giải pháp phân định hướng di chuyển trong vùng quan sát. Hệ thống hoàn chỉnh bao gồm thiết bị xử lý tại biên, bảng điều khiển quản trị web và ứng dụng di động VNTraffic, mở ra hướng tiếp cận khả thi với chi phí thấp nhằm phục vụ công tác điều tiết và giảm thiểu ùn tắc giao thông đô thị.