Giới thiệu dự án
Sự bùng nổ của mạng lưới thiết bị Internet vạn vật (IoT) và hạ tầng camera giám sát đô thị đặt ra bài toán cấp thiết về phân tích luồng video thời gian thực. Theo các báo cáo công nghiệp về thành phố thông minh (Smart City), lượng dữ liệu video khổng lồ được tạo ra mỗi giây từ hàng triệu camera giao thông đang gây áp lực nghiêm trọng lên băng thông mạng và năng lực tính toán của các máy chủ đám mây (Cloud Server). Mô hình xử lý tập trung truyền thống (Centralized Computing) bộc lộ nhiều điểm nghẽn: độ trễ cao, chi phí truyền tải và lưu trữ lớn, nguy cơ tắc nghẽn máy chủ khi mở rộng quy mô và vi phạm quyền riêng tư dữ liệu.
Đề tài "Tích hợp tính toán biên và máy chủ cho bài toán tìm kiếm phương tiện và con người trên khuôn khổ camera thông minh" (ngành Kỹ thuật Máy tính, Trường Đại học Công nghệ Thông tin – ĐHQG-HCM, 2023) giải quyết bài toán định danh và truy xuất đối tượng trong môi trường giám sát thực tế tại Việt Nam.
+------------------+ Async JSON / Socket +----------------------+
| EDGE DEVICE | -----------------------------------> | CLOUD SERVER |
| (Jetson TX2 FP16)| | (Elasticsearch/GPU) |
| - YOLOv5s Bounding| < - - - - - - - - - - - - - - - - - | - REG4L-Net Re-ID |
| - ByteTrack Multi| Query / Results | - CTM ALPR Pipeline |
| - IoA LP Match | | - K-Means & INT8 |
+------------------+ +----------------------+
Vấn đề thực tiễn và thách thức kỹ thuật
- Nút thắt phân tích tập trung: Gửi toàn bộ video phân giải cao về máy chủ làm tăng độ trễ mạng lên hàng giây, không đáp ứng yêu cầu phản ứng nhanh trong giám sát an ninh.
- Biến động ngoại hình và góc nhìn: Nhận diện lại đối tượng (Re-Identification – Re-ID) bị ảnh hưởng nghiêm trọng bởi sự thay đổi góc quay camera, độ chói sáng, tư thế chuyển động và góc khuất.
- Nhận diện biển số trong điều kiện thực tế: Kỹ thuật nhận diện biển số xe (ALPR) đơn khung hình (Single-frame OCR) thường xuyên thất bại khi phương tiện di chuyển với tốc độ cao, biển số bị nghiêng hoặc mờ nhòe do thời tiết.
- Dữ liệu thực nghiệm đặc thù: Thiếu hụt tập dữ liệu chuẩn được thu thập từ hệ sinh thái camera giao thông hỗn hợp tại Việt Nam.
Mục tiêu của dự án
- Xây dựng hệ thống biên (Edge Device): Tối ưu hóa mô hình phát hiện (Object Detection) và theo dõi đối tượng (Object Tracking) trên phần cứng nhúng Jetson TX2 đạt tốc độ $\ge 15\text{ FPS}$ với độ trễ thấp.
- Thiết kế kiến trúc nhận diện lại REG4L-Net trên máy chủ: Trích xuất đặc trưng ngoại hình đa góc nhìn (Multi-view) cho người và phương tiện, đạt độ chính xác $\text{Acc@1} > 80%$ trên tập dữ liệu thực tế.
- Phát triển thuật toán nhận diện biển số thời gian CTM: Kết hợp thông tin không gian - thời gian (Spatio-temporal) từ chuỗi khung hình video để đạt độ chính xác ALPR $> 80%$ trong điều kiện nghiêng và thiếu ký tự.
- Tối ưu hóa lưu trữ và truy vấn: Ứng dụng phân cụm K-Means, lượng tử hóa tĩnh (Static Quantization INT8) và hệ thống tìm kiếm vector Elasticsearch.
Phạm vi và giới hạn
- Phạm vi: Triển khai trên camera IP giám sát khuôn viên trường đại học và giao thông đường phố; hỗ trợ 10 lớp đối tượng (người, xe máy, xe đạp, xe hơi, xe tải, xe van, xe bus, xe ba gác, biển số vuông, biển số dài).
- Giới hạn: Tập trung vào các phương tiện và người đi bộ trong phạm vi quan sát rõ nét của camera; chưa hỗ trợ khôi phục hình ảnh trong điều kiện đêm tối hoàn toàn không có ánh sáng nhân tạo.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
Xử lý tập trung (Cloud-only) |
Xử lý hoàn toàn tại biên (Edge-only) |
Giải pháp đề xuất (Edge-to-Cloud Continuum) |
| Băng thông mạng |
Tốn kém rất lớn (gửi raw video stream) |
Rất thấp (không cần truyền video) |
Tối ưu (chỉ gửi bounding box, ảnh crop và metadata) |
| Độ trễ phản hồi |
Cao ($> 1000\text{ ms}$ do nghẽn mạng) |
Thấp ($< 50\text{ ms}$) |
Cực thấp tại biên ($< 40\text{ ms}$), gần thời gian thực tại server |
| Năng lực Re-ID/ALPR |
Rất mạnh (GPU server cấu hình cao) |
Bị giới hạn nặng do thiếu VRAM/Compute |
Rất mạnh (tận dụng server cho model ResNeXt-101) |
| Khả năng mở rộng |
Kém khi tăng số lượng camera |
Tốt nhưng dữ liệu bị phân mảnh |
Xuất sắc, hỗ trợ hàng nghìn camera kết nối đồng thời |
Ma trận ưu tiên yêu cầu hệ thống (MoSCoW)
- Must-have (Bắt buộc): Pipeline phát hiện/theo dõi bất đồng bộ trên Jetson TX2; tách biệt tracker theo từng phân lớp đối tượng; trích xuất vector đặc trưng 2048 chiều; tra cứu vector qua Elasticsearch.
- Should-have (Nên có): Xoay biển số thích ứng (Adaptive License Plate Rotation); lượng tử hóa đặc trưng 8-bit (INT8); tìm kiếm mờ biển số qua khoảng cách Levenshtein.
- Could-have (Có thể có): Giao diện web trực quan hóa vị trí camera và bộ lọc thời gian.
- Won't-have (Chưa triển khai): Huấn luyện trực tiếp mô hình phân loại sâu (Deep Training) tại thiết bị biên.
+-------------------------------------------------------------+
| HỆ THỐNG TỔNG THỂ |
+-------------------------------------------------------------+
|
+-----------------------------+-----------------------------+
| |
v v
+-----------------------------------------+ +-----------------------------------------+
| THIẾT BỊ BIÊN | | MÁY CHỦ |
+-----------------------------------------+ +-----------------------------------------+
| [Luồng 1] Tiền xử lý (Pre-process) | | [Module 1] Socket Receiver & JSON Parser|
| - Đọc RTSP Camera Stream (640x480) | | - Tiếp nhận luồng đối tượng & ảnh crop|
| [Luồng 2] Suy luận (TensorRT Inference) | | [Module 2] REG4L-Net Feature Extraction |
| - YOLOv5s FP16 Bounding Box Detection | | - ResNeXt101-IBN + GeM + MFFN (2048d) |
| [Luồng 3] Hậu xử lý (Post-process/NMS) | | [Module 3] CTM & ALPR Pipeline |
| - Non-Maximum Suppression (IoU) | | - Rotation + YOLOv5-C3TR + Hungarian |
| [Luồng 4] Bộ theo dõi (Multi-ByteTrack) | | [Module 4] K-Means Clustering (K=20) |
| - Tracker riêng cho từng class | | - Lọc đại diện + Static INT8 Quant |
| [Luồng 5] Ghép nối IoA & Gửi dữ liệu | | [Module 5] Elasticsearch Engine |
| - Matching Biển số - Xe qua IoA | | - Cosine Dense Vector & Levenshtein |
+-----------------------------------------+ +-----------------------------------------+
Thiết kế hệ thống
Technology Stack và phiên bản công nghệ
- Hệ điều hành biên: Linux Ubuntu 18.04 LTS / JetPack 4.6 trên Kit NVIDIA Jetson TX2 (2 Denver + 4 ARM Cortex-A57, 8GB LPDDR4, 256-core Pascal GPU).
- Môi trường suy luận biên: TensorRT 8.2, CUDA 10.2, cuDNN 8.2, OpenCV 4.5.4, Python 3.8.
- Hạ tầng máy chủ: Intel Core i9-10900X CPU @ 3.70GHz, 32GB RAM, GPU NVIDIA RTX 3060 12GB/16GB VRAM, PyTorch 1.12.1.
- Cơ sở dữ liệu & Công cụ tìm kiếm: Elasticsearch 8.x với Lucene HNSW Engine cho chỉ mục vector.
Thiết kế cấu trúc dữ liệu JSON giao tiếp Edge-to-Server
{
"camid": "ktmt_camera_01",
"persons_bounding_box": [[120, 80, 210, 350]],
"vehicles_bounding_box": [[340, 200, 580, 410]],
"LPs_bounding_box": [{"box": [420, 330, 500, 375], "vehicle_idx": 0}],
"object_ids": [1042, 1043],
"removed_ids": [1015, 1020]
}
Cấu trúc chỉ mục Elasticsearch (Mapping Schema)
{
"properties": {
"path": { "type": "text" },
"object_type": { "type": "keyword" },
"LP": { "type": "keyword" },
"camid": { "type": "keyword" },
"date": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss" },
"features": { "type": "dense_vector", "dims": 2048, "index": true, "similarity": "cosine" }
}
}
Methodology
Quy trình phát triển theo mô hình Agile/Scrum với các chu kỳ kiểm thử thực nghiệm:
- Giai đoạn 1 (Tuần 1–4): Thu thập dữ liệu camera giám sát tại ĐH CNTT và đường phố TP.HCM; gán nhãn 17.367 hình ảnh.
- Giai đoạn 2 (Tuần 5–8): Tối ưu hóa mô hình phát hiện và theo dõi đối tượng trên TensorRT; thiết kế pipeline đa luồng.
- Giai đoạn 3 (Tuần 9–13): Nghiên cứu, thiết kế kiến trúc REG4L-Net và thuật toán CTM cho biển số xe.
- Giai đoạn 4 (Tuần 14–16): Tích hợp hệ thống tìm kiếm vector với Elasticsearch và đánh giá thực nghiệm toàn diện.
Implementation và kết quả
Development process
1. Pipeline đa luồng bất đồng bộ trên thiết bị biên
Để giải quyết tình trạng thắt cổ chai khi tính toán tuần tự, nhóm nghiên cứu chia quá trình xử lý thành 5 luồng hoạt động song song giao tiếp qua hàng đợi queue.Queue(maxsize=5):
- Pre-process thread: Đọc frame từ camera, resize về $640 \times 480$, chuẩn hóa dữ liệu.
- Inference thread: Thực thi mô hình YOLOv5s tối ưu hóa qua TensorRT FP16 engine.
- Post-process thread: Áp dụng thuật toán Non-Maximum Suppression (NMS).
- Tracking thread: Khởi tạo bộ theo dõi
Trackers = {tracker_person, tracker_car, tracker_van, tracker_truck, tracker_bus, tracker_tricycle_truck} sử dụng thuật toán ByteTrack. Việc phân tách tracker theo từng lớp giúp triệt tiêu hoàn toàn hiện tượng tráo đổi ID (ID Swap) giữa người và phương tiện.
- Matching & Sender thread: Ghép nối biển số xe vào thân xe dựa trên chỉ số giao trên diện tích nhỏ hơn $\text{IoA}$ (Intersection of Area):
$$\text{IoA}(A, B) = \frac{\text{Area}(A \cap B)}{\min(\text{Area}(A), \text{Area}(B))}$$
Khi $\text{IoA} \ge 0.8$, hộp giới hạn của biển số được xác định thuộc về phương tiện tương ứng.
import numpy as np
def match_lp_to_vehicle(lp_boxes, vehicle_boxes, threshold=0.8):
"""
Matching bounding box biển số xe vào bounding box phương tiện sử dụng IoA
"""
matches = {}
for lp_idx, lp in enumerate(lp_boxes):
lp_area = (lp[2] - lp[0]) * (lp[3] - lp[1])
best_ioa, best_v_idx = 0.0, -1
for v_idx, v in enumerate(vehicle_boxes):
# Tính tọa độ giao nhau
inter_x1 = max(lp[0], v[0])
inter_y1 = max(lp[1], v[1])
inter_x2 = min(lp[2], v[2])
inter_y2 = min(lp[3], v[3])
inter_w = max(0.0, inter_x2 - inter_x1)
inter_h = max(0.0, inter_y2 - inter_y1)
inter_area = inter_w * inter_h
v_area = (v[2] - v[0]) * (v[3] - v[1])
ioa = inter_area / min(lp_area, v_area) if min(lp_area, v_area) > 0 else 0
if ioa > best_ioa and ioa >= threshold:
best_ioa = ioa
best_v_idx = v_idx
if best_v_idx != -1:
matches[lp_idx] = best_v_idx
return matches
2. Kiến trúc mạng nhận diện lại REG4L-Net
Mạng REG4L-Net tích hợp các thành phần tiên tiến:
- Backbone: ResNeXt101 kết hợp Instance Batch Normalization (IBN) nhằm tăng cường tính bất biến trước sự thay đổi ngoại hình và môi trường chiếu sáng.
- Generalized Mean (GeM) Pooling: Tăng độ tương phản của bản đồ đặc trưng:
$$\mathbf{f} = \left( \frac{1}{|\mathcal{X}|} \sum_{x \in \mathcal{X}} x^p \right)^{\frac{1}{p}}$$
- Multi-view Feature Fusion Network (MFFN): Tổng hợp đặc trưng từ góc nhìn cố định $\mathbf{f}_s$ và các góc nhìn bổ sung $\mathbf{f}_a$:
$$\mathbf{f}_{out} = (1 - \alpha)\mathbf{f}_s + \alpha \mathbf{f}_a$$
- Hàm mất mát kết hợp bốn thành phần (Quadruple Loss):
$$\mathcal{L}{total} = A \cdot \mathcal{L}{circle} + B \cdot \mathcal{L}{center} + \mathcal{L}{SCL} + \mathcal{L}_{centroid}$$
(Trọng số tối ưu thực nghiệm: $A = 0.1, B = 0.0005$).
ResNeXt101-IBN Backbone ---> GeM Pooling ---> MFFN Module ---> 2048-dim Feature Vector
|
+------------------------------+------------------------------+
| | |
v v v
Circle Loss Center Loss Centroid Loss
3. Thuật toán nhận diện biển số xe chuỗi thời gian (CTM) và ALPRotate
- Adaptive License Plate Rotation (ALPRotate): Sử dụng hồi quy tuyến tính bình phương tối thiểu (Least Squares Regression) trên tâm của các ký tự để ước tính góc nghiêng $\alpha = \arctan(a)$, từ đó xoay chuẩn hóa ảnh biển số trước khi nhận diện.
- Mô hình phát hiện ký tự YOLOv5-C3TR: Loại bỏ detection head cho vật thể nhỏ, tích hợp khối Transformer C3TR (Multi-Head Self-Attention) tại đầu ra $256 \times 4 \times 4$, giảm 50% số lượng bộ lọc giúp mô hình hoạt động với đầu vào $128 \times 128$ ở tốc độ cao.
- Character Time-series Matching (CTM): Kết hợp các hộp giới hạn ký tự giữa các khung hình liên tiếp dựa trên khoảng cách Euclidean và giải thuật Hungarian. Nhãn ký tự cuối cùng của mỗi vị trí $i$ được quyết định bằng tổng độ tin cậy có trọng số:
$$\text{class}i = \arg\max{c} \sum_{j} \mathbb{I}(\text{class}_j == c) \cdot \text{confidence}_j$$
Khung t : [A] [H] [ - ] [1] [9] [8] [9] (Frame t Detection)
\ \ | | | / (Hungarian Spatio-Temporal Assignment)
Khung t+1 : [A] [H] [8] [1] [9] [8] [9] (Frame t+1 Detection)
\ \ | | | /
Tổng hợp : Weighted Confidence Accumulation ---> Kết quả chuẩn xác: "AH-1989"
4. Phân cụm đặc trưng và Lượng tử hóa INT8
Để giảm tải lưu trữ khi một đối tượng xuất hiện trong hàng trăm khung hình:
- Áp dụng K-Means với $K = 20$ để chọn ra 20 vector đại diện gần tâm cụm nhất.
- Lượng tử hóa tĩnh (Static Quantization) chuyển vector 32-bit float ($x \in [\alpha, \beta]$) thành 8-bit integer ($x_q \in [0, 255]$):
$$x_q = \text{round}\left( \frac{x - d}{c} \right), \quad c = \frac{\beta - \alpha}{255}, \quad d = \alpha$$
Giảm dung lượng lưu trữ từ $1.0\text{ GB}$ xuống còn $0.3\text{ GB}$ cho mỗi 25.000 đối tượng (tiết kiệm 70% bộ nhớ).
Testing và validation
1. Đánh giá Pipeline phát hiện tại thiết bị biên (Dataset tự thu thập)
| Mô hình |
Phần cứng |
Kiểu dữ liệu |
Precision |
Recall |
mAP@0.5 |
Thời gian suy luận |
Tốc độ Pipeline |
| YOLOv5s |
Jetson Nano |
PyTorch FP32 |
0.847 |
0.812 |
0.835 |
198 ms |
4.8 FPS |
| YOLOv5s |
Jetson Nano |
TensorRT FP16 |
0.841 |
0.805 |
0.829 |
71 ms |
12.5 FPS |
| YOLOv5s |
Jetson TX2 |
PyTorch FP32 |
0.847 |
0.812 |
0.835 |
78 ms |
11.2 FPS |
| YOLOv5s |
Jetson TX2 |
TensorRT FP16 |
0.841 |
0.805 |
0.829 |
33 ms |
23.5 FPS (17 FPS full pipeline) |
| YOLOv5m |
Jetson TX2 |
TensorRT FP16 |
0.859 |
0.867 |
0.864 |
75 ms |
11.8 FPS |
2. Đánh giá mô hình Re-ID REG4L-Net trên các tập dữ liệu chuẩn
Độ chính xác Rank-1 (Acc@1) trên tập Market-1501 (%)
Prior SOTA (CTL / MoCoV2) : [========================================] 95.8%
REG4L-Net đề xuất : [==========================================] 98.43% (+2.63%)
Độ chính xác Rank-1 (Acc@1) trên tập VeRi-776 (%)
Prior SOTA (VOC-ReID/RPTM): [========================================] 96.7%
REG4L-Net đề xuất : [===========================================] 99.00% (+2.30%)
- VeRi-776 Benchmark: Mô hình REG4L-Net (ResNeXt101-IBN + Quadruple Loss + MFFN + Centroid + Re-ranking) đạt $\text{mAP} = 85.88%$ và $\text{Acc@1} = 99.00%$, vượt qua các phương pháp SOTA như VOC-ReID và RPTM.
- Market-1501 Benchmark: Đạt $\text{Acc@1} = 98.43%$, vượt trội hơn hẳn baseline ResNeXt50 thông thường ($\text{Acc@1} = 69.2%$).
- Dữ liệu thực nghiệm camera Việt Nam: Đánh giá trên 144 danh tính (ID) thu thập từ 5 camera độc lập đạt $\text{Acc@1} = 81.70%$.
3. Đánh giá nhận diện biển số xe (ALPR) trên tập UFPR-ALPR
- Phương pháp đề xuất kết hợp YOLOv5-C3TR, ALPRotate và thuật toán CTM đạt độ chính xác $96.8%$ trên tập dữ liệu chuẩn UFPR-ALPR, vượt qua mức $93.5%$ của các phương pháp CRNet truyền thống.
- Trên 100 bộ video biển số xe giao thông Việt Nam thực tế, hệ thống đạt độ chính xác nhận diện chuỗi ký tự hoàn chỉnh $88.4%$.
Kết quả đạt được
| Chỉ tiêu đề ra ban đầu |
Kết quả thực nghiệm đạt được |
Trạng thái |
| Tốc độ xử lý tại Edge $\ge 15\text{ FPS}$ |
$17.0 - 23.5\text{ FPS}$ trên Jetson TX2 |
Đạt vượt mức |
| Độ chính xác phát hiện mAP@0.5 $> 0.80$ |
$0.829 - 0.864$ |
Đạt |
| Nhận diện biển số xe ALPR $> 80%$ |
$96.8%$ (UFPR-ALPR), $88.4%$ (VN Dataset) |
Đạt vượt mức |
| Nhận diện lại đối tượng Re-ID Acc@1 $> 80%$ |
$98.43%$ (Market), $99.0%$ (VeRi), $81.7%$ (VN) |
Đạt |
| Tối ưu hóa dung lượng lưu trữ vector |
Giảm $70%$ kích thước bộ nhớ với INT8 Quantization |
Đạt |
Đổi mới và đóng góp
Các cải tiến kỹ thuật nổi bật
- Kiến trúc mạng REG4L-Net: Sự kết hợp đột phá giữa mạng trích xuất đặc trưng ResNeXt101-IBN, lớp tổng hợp GeM Pooling, cơ chế Multi-view Feature Fusion (MFFN) và 4 hàm mất mát chuyên sâu (Circle Loss, SCL Triplet, Center Loss, Centroid Loss) giúp tăng khả năng tổng quát hóa trên các miền dữ liệu camera khác biệt.
- Thuật toán Character Time-series Matching (CTM): Giải quyết triệt để bài toán mất ký tự hoặc nhầm lẫn ký tự đơn lẻ trong video thông qua mô hình phân công tuyến tính Hungarian và tích lũy độ tin cậy theo chuỗi thời gian.
- Module ALPRotate dựa trên Hồi quy tuyến tính: Khắc phục lỗi nhận diện do góc đặt camera nghiêng mà không cần tăng chi phí tính toán mạng nơ-ron phức tạp.
- Pipeline Edge-to-Cloud phân tán: Phân định rõ ràng trách nhiệm: thiết bị biên xử lý cục bộ thời gian thực (Detection, Tracking, IoA Matching), máy chủ tập trung trích xuất đặc trưng nặng và lưu trữ vector.
SO SÁNH CÁC PHƯƠNG PHÁP
+-------------------------+-------------------------+-------------------------+
| TRUYỀN THỐNG | SOTA GẦN ĐÂY | ĐỀ TÀI ĐỀ XUẤT |
| (Single-frame + Cloud) | (MoCoV2 / VOC-ReID) | (REG4L-Net + CTM) |
+-------------------------+-------------------------+-------------------------+
| - Single Loss | - Contrastive Loss | - Quadruple Loss |
| - Single Frame OCR | - Temporal Voting | - CTM + Hungarian Match |
| - High Network Lag | - Heavy Cloud Inference | - Async Edge Pipeline |
| - 32-bit Heavy Vector | - Raw Float Embeddings | - K-Means + INT8 Quant |
+-------------------------+-------------------------+-------------------------+
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tiễn
- Hệ thống an ninh đô thị thông minh (Smart City Surveillance): Tìm kiếm vết tích tội phạm hoặc người mất tích qua hàng trăm camera công cộng bằng cách tải lên một hình ảnh mẫu hoặc mô tả đặc trưng.
- Quản lý bãi đỗ xe thông minh & Thu phí không dừng (ETC): Tự động nhận diện biển số và phân loại dòng xe (xe hơi, xe van, xe tải) với độ chính xác cao ngay cả khi biển số bị nghiêng hoặc dính bụi bẩn.
- Giám sát giao thông & Truy tìm phương tiện vi phạm: Tra cứu lịch trình di chuyển của xe vi phạm qua các camera giao thông bằng biển số mờ hoặc nhận diện kiểu dáng xe.
Yêu cầu hệ thống và Triển khai
Yêu cầu phần cứng
- Edge Node: NVIDIA Jetson TX2 / Jetson Xavier NX, Camera IP chuẩn RTSP H.264/H.265 (Full HD 1080p).
- Central Server: CPU Intel Xeon / Core i7-i9 thế hệ 10 trở lên, tối thiểu 32GB RAM, GPU NVIDIA RTX 3060/3080/A4000 (tối thiểu 12GB VRAM), SSD 500GB NVMe.
Hướng dẫn cài đặt và triển khai
# 1. Tại thiết bị biên (Jetson TX2)
git clone https://github.com/edge-smart-cam/edge-node.git
cd edge-node
pip install -r requirements.txt
# Chuyển đổi mô hình YOLOv5 sang TensorRT FP16
python gen_wts.py -w yolov5s.pt
/usr/src/tensorrt/bin/trtexec --onnx=yolov5s.onnx --saveEngine=yolov5s.engine --fp16
# Khởi chạy Pipeline đa luồng
python main_edge.py --rtsp rtsp://admin:pass@192.168.1.100:554/stream1 --camid ktmt_01
# 2. Tại máy chủ trung tâm (Server)
docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:8.6.0
git clone https://github.com/edge-smart-cam/cloud-server.git
cd cloud-server && python app_server.py
Phân tích hiệu quả kinh tế (ROI)
- Giảm $85%$ chi phí băng thông đường truyền do không phải stream trực tiếp 24/7 video độ phân giải cao lên Cloud.
- Giảm $60%$ chi phí đầu tư phần cứng máy chủ nhờ phân tán tải tính toán phát hiện và theo dõi đối tượng về thiết bị biên.
- Khả năng thu hồi vốn (ROI) ước tính trong vòng 12–18 tháng khi triển khai tại các khu đô thị, trường học quy mô từ 50 camera trở lên.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Hiệu năng phát hiện giảm trong điều kiện thời tiết cực đoan (mưa lớn ban đêm, sương mù dày đặc làm mất chi tiết ký tự biển số).
- Thuật toán K-Means chọn $K=20$ vector đại diện đôi khi loại bỏ các góc nhìn hiếm nếu đối tượng chỉ quay người trong 1–2 khung hình ngắn.
- Chưa hỗ trợ xử lý trực tiếp trên chip biên thế hệ siêu nhẹ (Raspberry Pi không có nhân Tensor Cores).
Hướng phát triển tương lai
- Tích hợp mạng đồ thị không - thời gian (Spatio-Temporal Graph Neural Network – GNN) để mô hình hóa hành trình di chuyển liên camera.
- Nghiên cứu lượng tử hóa sâu 4-bit (INT4 Precision) cho mô hình biên và tích hợp các mô hình ngôn ngữ - thị giác lớn (VLM / CLIP) phục vụ tìm kiếm đối tượng bằng câu lệnh tự nhiên (Text-to-Image Search).
Đối tượng hưởng lợi
+-----------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+-----------------------------------------------------------------------------+
| [Sinh viên & Học viên] |
| -> Tài liệu tham khảo chuẩn mực về triển khai Edge AI và PyTorch/TensorRT |
| [Kỹ sư Deep Learning & AI] |
| -> Mã nguồn mẫu về kiến trúc REG4L-Net, CTM và tối ưu hóa hàng đợi Queue |
| [Doanh nghiệp & Đô thị] |
| -> Kiến trúc tham chiếu tiết kiệm 85% băng thông, sẵn sàng thương mại hóa |
| [Nhà nghiên cứu] |
| -> Bộ dữ liệu thực nghiệm giao thông Việt Nam và benchmark UFPR-ALPR |
+-----------------------------------------------------------------------------+
Câu hỏi thường gặp
1. Hệ thống có thể hoạt động với camera giám sát thông thường không có AI không?
Có. Toàn bộ tác vụ thông minh được xử lý bởi thiết bị biên (như Kit Jetson TX2) kết nối trung gian qua giao thức RTSP tiêu chuẩn từ camera IP thông thường. Do đó không cần thay thế hệ thống camera sẵn có.
2. Khi mất kết nối mạng giữa Edge và Server, hệ thống xử lý như thế nào?
Thiết bị biên được tích hợp cơ chế lưu đệm cục bộ (Local SQLite Buffer). Khi mất mạng, metadata và ảnh crop của đối tượng được lưu tạm thời trên bộ nhớ eMMC của Jetson và sẽ tự động đồng bộ hóa lên Server ngay khi có kết nối Internet trở lại.
3. Tại sao không dùng trực tiếp mô hình nhận diện ký tự OCR như Tesseract?
Tesseract OCR được thiết kế cho văn bản quét chuẩn phẳng và có độ trễ lớn. Trong bài toán ALPR video đường phố, việc kết hợp mạng phát hiện ký tự YOLOv5-C3TR cùng thuật toán CTM cho phép bù đắp ký tự bị thiếu giữa các frame và đạt tốc độ xử lý nhanh hơn gấp 10 lần.
4. Tìm kiếm vector qua Elasticsearch có bị chậm khi cơ sở dữ liệu lên đến hàng triệu đối tượng?
Không. Nhờ việc lượng tử hóa đặc trưng sang INT8 kết hợp cấu trúc chỉ mục HNSW (Hierarchical Navigable Small World) của Elasticsearch 8.x, thời gian phản hồi cho một truy vấn tương đồng Cosine trên 2.5 triệu vector chỉ mất dưới $150\text{ ms}$.
5. Chi phí phần cứng cho một điểm giám sát camera thông minh là bao nhiêu?
Chi phí một Kit xử lý biên (NVIDIA Jetson TX2 hoặc tương đương) dao động từ 8–12 triệu VNĐ cho một cụm 2–4 camera IP, giúp tiết kiệm hơn nhiều so với việc duy trì máy chủ GPU đám mây đắt đỏ hàng tháng.
Kết luận
Đề tài "Tích hợp tính toán biên và máy chủ cho bài toán tìm kiếm phương tiện và con người trên khuôn khổ camera thông minh" đã xây dựng thành công một giải pháp công nghệ toàn diện, giải quyết hài hòa bài toán đánh đổi giữa độ chính xác nhận dạng và tài nguyên tính toán thời gian thực. Bằng việc kết hợp kiến trúc mạng trích xuất đặc trưng tiên tiến REG4L-Net ($\text{Acc@1} = 99.0%$ trên VeRi-776, $98.43%$ trên Market-1501), thuật toán nhận diện biển số chuỗi thời gian CTM ($96.8%$ trên UFPR-ALPR) và pipeline đa luồng tối ưu hóa trên phần cứng nhúng Jetson TX2 ($17-23.5\text{ FPS}$), nghiên cứu đã chứng minh tính ứng dụng vượt trội trong điều kiện giao thông thực tế tại Việt Nam. Đây là nền tảng kỹ thuật vững chắc sẵn sàng chuyển giao cho các hệ thống quản trị giao thông đô thị, giám sát an ninh tòa nhà và các hạ tầng thành phố thông minh trong tương lai.