Tổng quan nghiên cứu

Theo vết đối tượng (Object Tracking) là một trong những bài toán cốt lõi của thị giác máy tính, với ứng dụng rộng rãi trong giám sát giao thông, điều hướng robot và hệ thống camera thông minh. Tính đến năm 2018, các thuật toán cổ điển xử lý mỗi ảnh mất từ 2 đến 50 giây, chưa đáp ứng được yêu cầu thời gian thực của hệ thống hiện đại.

Luận văn thạc sĩ "Theo Vết Đối Tượng Dựa Trên RPN" của học viên Nguyễn Khánh Duy, thực hiện tại Trường Đại học Sư phạm TP. Hồ Chí Minh dưới sự hướng dẫn của TS. Ngô Quốc Việt, tập trung giải quyết bài toán phát hiện và theo vết đối tượng trong video theo thời gian thực. Nghiên cứu được thực hiện trong năm 2018, thuộc chuyên ngành Khoa học Máy tính (mã số 8480101).

Mục tiêu cụ thể của đề tài là huấn luyện mô hình Faster R-CNN với kiến trúc RPN (Region Proposal Network) trên bộ dữ liệu gồm 4 lớp đối tượng — xe hơi, xe máy, xe đạp và người — sau đó tích hợp với các thuật toán theo vết tiên tiến như TLD và GOTURN để đạt hiệu suất xử lý dưới 0,2 giây mỗi khung hình. Phạm vi ứng dụng được xác định rõ tại môi trường sân trường học và tình huống vi phạm giao thông như chở quá số người quy định.

Ý nghĩa của nghiên cứu nằm ở chỗ kết hợp sức mạnh phát hiện nhanh của Faster R-CNN với khả năng theo vết bền vững của OpenCV API, tạo ra hệ thống tích hợp có thể xử lý cả theo vết đơn lẻ lẫn đa đối tượng trong video thực tế.


Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Mạng nơ-ron tích chập (CNN — Convolutional Neural Network) là nền tảng lý thuyết trung tâm của luận văn. CNN bao gồm 4 tầng chính: tầng tích chập (Convolutional Layer), tầng kích hoạt phi tuyến ReLU (Rectified Linear Unit), tầng trích nét (Pooling Layer) và tầng kết nối đầy đủ (Fully-connected Layer). Kiến trúc VGG16 — với 13 tầng tích chập bộ lọc 3×3 và 5 tầng max pooling 2×2 — được chứng minh đạt độ lỗi chỉ 7,4% trong thử thách ImageNet 2014, là nền tảng mà nghiên cứu này chọn làm backbone chính.

Faster R-CNN với Region Proposal Network (RPN) là mô hình phát hiện đối tượng thế hệ mới do nhóm Microsoft Research (Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun) phát triển năm 2015. RPN thay thế thuật toán Selective Search chậm chạp bằng một mạng nơ-ron chuyên dụng, tạo ra các đề xuất khu vực (region proposals) với k=9 anchors (3 tỉ lệ × 3 kích thước) tại mỗi vị trí cửa sổ trượt. Anchor được phân loại là dương (positive) nếu giá trị IoU vượt ngưỡng 0,7 với ground truth box, và âm (negative) nếu IoU dưới 0,3.

Năm khái niệm kỹ thuật cốt lõi của luận văn bao gồm: (1) Region Proposal Network — mạng đề xuất khu vực; (2) Anchor boxes — các hộp neo đa tỉ lệ; (3) IoU (Intersection-over-Union) — chỉ số đánh giá chồng lấp; (4) mAP (mean Average Precision) — độ chính xác trung bình; (5) Tracking-by-Detection — theo vết thông qua phát hiện liên tục.

Phương pháp nghiên cứu

Nguồn dữ liệu: Bộ dữ liệu được xây dựng từ 2 nguồn — tự thu thập (637 ảnh) và tải từ các kho dữ liệu công khai như Kaggle và Stanford (2.245 ảnh) — tổng cộng 2.882 ảnh thuộc 4 lớp. Cụ thể: car (1.225 ảnh), motorbike (1.014 ảnh), bicycle (455 ảnh), people (188 ảnh). Ngoài ra, bộ dữ liệu Pascal VOC 2007 cũng được sử dụng để so sánh đối chiếu.

Phương pháp chọn mẫu và phân chia: Dữ liệu được phân chia theo tỉ lệ 70/30 cho mỗi lớp, trong đó 70% (2.019 ảnh) dùng để huấn luyện/kiểm chứng và 30% (863 ảnh) dùng để kiểm tra độc lập. Cách phân tầng theo từng lớp đối tượng giúp đảm bảo tính đại diện đồng đều, tránh thiên lệch mẫu khi lớp people chỉ có 188 ảnh so với car có 1.225 ảnh.

Phương pháp phân tích và timeline: Ảnh gốc được tiền xử lý về 3 kích thước chuẩn (500×375, 800×600, 1024×768 pixels) từ kích thước gốc lên đến 6.000×4.000 pixels. Mô hình Faster R-CNN được huấn luyện với 80.000 vòng lặp cho mỗi trong 4 giai đoạn (RPN → Fast R-CNN → RPN → Fast R-CNN), learning rate 0,001 và giảm xuống 1/10 sau 20.000 vòng lặp, momentum = 0,9. Toàn bộ quá trình được thực hiện trên GPU GTX 1070Ti 8GB với hệ điều hành Ubuntu 16.04, thư viện Caffe và Python 2.0.


Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Phát hiện 1: Faster R-CNN vượt trội hơn các thế hệ trước về tốc độ xử lý. So sánh trực tiếp giữa 3 thế hệ mô hình cho thấy R-CNN cần 50 giây/ảnh, Fast R-CNN cần 2 giây/ảnh, còn Faster R-CNN chỉ cần 0,2 giây/ảnh — nhanh hơn R-CNN gốc 250 lần. Về độ chính xác, Faster R-CNN đạt mAP 73% trên tập dữ liệu Pascal VOC 2007 với kiến trúc VGG16, trong khi R-CNN đạt 66,9%. Sự đột phá tốc độ này bắt nguồn từ việc chia sẻ chung tầng tích chập giữa RPN và bộ phân loại, loại bỏ hoàn toàn chi phí tính toán trùng lặp.

Phát hiện 2: Kiến trúc VGG16 cho kết quả huấn luyện ổn định với dữ liệu thực tế. Sau 80.000 vòng lặp, mô hình VGG16 đạt độ chính xác lớp car là 0,848 (84,8%) trên bộ dữ liệu thu thập. Đường cong Precision-Recall của cả hai kiến trúc VGG16 và VGG19 đều thể hiện xu hướng hội tụ ổn định, với diện tích dưới đường cong (AUC) cao. Biểu đồ Precision-Recall có thể được đọc theo trục ngang (Recall từ 0 đến 1,0) và trục dọc (Precision từ 0 đến 1,0) — đường cong càng sát góc trên bên phải, mô hình càng tốt.

Phát hiện 3: Phương pháp kết hợp Faster R-CNN + OpenCV Tracker vượt trội hơn từng thành phần đơn lẻ. Khi kết hợp máy dò Faster R-CNN với trình theo vết GOTURN hoặc TLD, hệ thống duy trì được danh tính đối tượng qua các khung hình ngay cả khi đối tượng di chuyển nhanh hoặc bị khuất tạm thời. Riêng GOTURN xử lý tốt theo vết trong điều kiện thay đổi ánh sáng nhờ được huấn luyện trước trên kiến trúc CaffeNet với hai khung hình liên tiếp làm đầu vào.

Phát hiện 4: Thuật toán MOSSE đạt tốc độ xử lý cao nhất trong nhóm OpenCV Trackers. MOSSE đạt 450 khung hình/giây, vượt trội so với các thuật toán còn lại, nhưng kém bền vững hơn TLD khi đối tượng xuất hiện trở lại sau khi biến mất. TLD bù đắp điểm này nhờ cơ chế học tập (Learning) tích hợp cho phép tự cập nhật bộ phân loại trong thời gian thực.

Thảo luận kết quả

Hiệu quả vượt trội của phương pháp dựa trên học sâu so với các thuật toán cổ điển xuất phát từ hai nguyên nhân cốt lõi. Thứ nhất, RPN học được biểu diễn đặc trưng phân cấp (hierarchical feature representation) thay vì phụ thuộc vào đặc trưng thủ công như Haar-Like Feature của Boosting. Thứ hai, việc sử dụng GPU GTX 1070Ti cho phép tính toán song song hàng ngàn anchors đồng thời, điều mà CPU không thể đáp ứng khi thời gian xử lý CPU kéo dài đến 2–3 phút mỗi ảnh.

So sánh với công trình của Fan Bu và cộng sự về Multiple Object Tracking dựa trên Faster R-CNN + KCF, luận văn này mở rộng phạm vi sang nhiều thuật toán theo vết hơn (TLD, GOTURN, MOSSE, MEDIAFLOW, Boosting) và áp dụng trực tiếp trên dữ liệu giao thông Việt Nam, tăng tính thực tiễn của kết quả. Công trình của Chahyati và cộng sự về theo vết người bằng CNN đạt mAP 0,75 — kết quả này khả quan so với kết quả 0,848 cho lớp xe hơi trong nghiên cứu này, phản ánh sự phù hợp của kiến trúc VGG16 với bài toán phát hiện phương tiện giao thông.


Đề xuất và khuyến nghị

Mở rộng bộ dữ liệu huấn luyện cho lớp thiểu số: Lớp "people" chỉ có 188 ảnh — bằng 15% lớp "car" — gây nguy cơ thiên lệch trong nhận diện. Nhóm nghiên cứu tiếp theo nên thu thập thêm tối thiểu 500 ảnh người từ các cảnh thực tế (sân trường, đường phố, bãi giữ xe) và áp dụng kỹ thuật tăng cường dữ liệu (data augmentation) như xoay ảnh ±15°, lật ngang và thay đổi độ sáng, nhằm cân bằng phân phối lớp trong vòng 3 tháng triển khai.

Tích hợp thuật toán Deep SORT để theo vết đa đối tượng bền vững hơn: Hệ thống hiện tại gặp hạn chế khi các đối tượng chồng chéo hoặc che khuất nhau. Các nhóm phát triển ứng dụng giám sát thông minh nên tích hợp thuật toán Deep SORT (Deep Simple Online and Realtime Tracking) kết hợp với Faster R-CNN, cho phép duy trì danh tính đối tượng (ReID) ngay cả khi bị khuất hoàn toàn. Mục tiêu đặt ra là giảm tỷ lệ mất danh tính (ID Switch) xuống dưới 5% trong điều kiện giao thông đông đúc.

Nâng cấp lên kiến trúc YOLO hoặc SSD cho ứng dụng edge computing: Faster R-CNN với VGG16 có kích thước mô hình vượt 533MB, không phù hợp triển khai trên thiết bị nhúng (camera thông minh, Raspberry Pi). Các đơn vị nghiên cứu và doanh nghiệp trong lĩnh vực giám sát giao thông nên thử nghiệm song song với YOLOv3 hoặc SSD MobileNet, có thể đạt tốc độ 30–60 fps trên GPU nhúng như NVIDIA Jetson Nano với kích thước mô hình dưới 100MB.

Xây dựng pipeline tự động hóa thu thập và gán nhãn dữ liệu: Gán nhãn thủ công là nút thắt cổ chai lớn nhất trong quy trình — với 2.882 ảnh cần gán nhãn từng đối tượng. Bộ phận IT của các cơ sở giáo dục và nghiên cứu nên triển khai công cụ bán tự động như Label Studio kết hợp với mô hình pre-trained để đề xuất nhãn sơ bộ, giảm thời gian gán nhãn từ vài tuần xuống còn 3–5 ngày cho quy mô tương đương.


Đối tượng nên tham khảo luận văn

Nhà nghiên cứu và học viên cao học ngành Khoa học Máy tính / Thị giác Máy tính sẽ tìm thấy trong luận văn một khung tham chiếu đầy đủ cho việc so sánh các kiến trúc CNN (VGG16, VGG19, ZFNet), cơ chế hoạt động chi tiết của RPN với 9 loại anchor, cùng phân tích định lượng về trade-off giữa tốc độ và độ chính xác qua bảng so sánh 3 thế hệ R-CNN. Đây là nền tảng lý thuyết thiết thực cho các đề tài mở rộng sang nhận diện khuôn mặt, phát hiện hành vi bất thường hoặc kiểm đếm mật độ giao thông.

Kỹ sư phần mềm và lập trình viên AI muốn xây dựng hệ thống camera giám sát thông minh có thể tham khảo toàn bộ pipeline triển khai thực tế: từ cài đặt Ubuntu 16.04 + CUDA 8.7 + Caffe, quy trình gán nhãn bằng phần mềm labelling, đến cách tích hợp OpenCV API phiên bản 3.4 với mô hình Faster R-CNN đã huấn luyện. Luận văn cung cấp thông số cấu hình cụ thể (GPU GTX 1070Ti, RAM 16GB) giúp ước lượng chi phí phần cứng cho dự án tương tự.

Đơn vị quản lý giao thông và an ninh đô thị quan tâm đến tự động hóa giám sát phương tiện (xe hơi, xe máy, xe đạp) có thể sử dụng kết quả thực nghiệm của luận văn như một proof-of-concept cho bài toán phát hiện vi phạm chở quá số người, theo vết phương tiện qua nhiều camera trong khuôn viên trường học hoặc khu dân cư.

Giảng viên và sinh viên đại học ngành Công nghệ Thông tin có thể dùng luận văn như tài liệu tham khảo hệ thống cho học phần Học sâu và Xử lý ảnh, với các ví dụ minh họa trực quan về Max Pooling, Avarage Pooling, kiến trúc mạng VGG16 qua hình vẽ chi tiết, và công thức tính kích thước đầu ra tầng tích chập.


Câu hỏi thường gặp

1. RPN (Region Proposal Network) là gì và tại sao quan trọng hơn Selective Search? RPN là một mạng nơ-ron tích chập chuyên tạo ra các đề xuất vùng chứa đối tượng tiềm năng, thay thế thuật toán Selective Search vốn mất đến 2 giây để tạo khoảng 2.000 đề xuất. RPN tạo ra các đề xuất tương đương chỉ trong vài mili-giây nhờ chia sẻ chung tầng đặc trưng với mạng phân loại, giúp Faster R-CNN nhanh hơn R-CNN gốc 250 lần trong khi vẫn duy trì độ chính xác mAP 73% trên Pascal VOC 2007.

2. Tại sao nghiên cứu chọn VGG16 thay vì các kiến trúc mới hơn như ResNet? VGG16 được chọn vì kiến trúc đơn giản, dễ hiểu và đã được kiểm chứng rộng rãi trong cộng đồng nghiên cứu, phù hợp với mục tiêu học thuật của luận văn thạc sĩ. Năm 2018, VGG16 vẫn là backbone phổ biến nhất cho Faster R-CNN với mô hình 533MB, đạt nhóm 5 kiến trúc có độ lỗi thấp nhất trong thử thách ILSVRC. ResNet sẽ là hướng cải tiến tự nhiên cho nghiên cứu tiếp theo, đặc biệt khi cần giảm kích thước mô hình.

3. Sự khác biệt giữa TLD và GOTURN trong bài toán theo vết đối tượng là gì? TLD (Tracking-Learning-Detection) hoạt động theo cơ chế ba thành phần — theo vết, học tập và phát hiện lại — cho phép hệ thống tự cập nhật bộ phân loại khi đối tượng tạm thời biến mất và xuất hiện trở lại. GOTURN dựa trên mạng CNN được huấn luyện trước (CaffeNet), nhận hai khung hình liên tiếp làm đầu vào và dự đoán trực tiếp tọa độ hộp bao quanh ở khung thứ hai. GOTURN xử lý tốt thay đổi ánh sáng nhưng không tự phục hồi sau khi đối tượng bị che khuất hoàn toàn như TLD.

4. Hệ thống có thể theo vết đồng thời nhiều đối tượng không? Có, nhưng với giới hạn nhất định. Phương pháp kết hợp Faster R-CNN + OpenCV Tracker có thể xử lý đa đối tượng (Multiple Object Tracking) khi máy dò phát hiện nhiều đối tượng trong một khung hình, sau đó khởi tạo trình theo vết riêng cho từng đối tượng. Thách thức chính xảy ra khi các đối tượng chồng chéo hoặc di chuyển theo quỹ đạo giao nhau — trong các tình huống này, thuật toán có thể bị nhầm lẫn danh tính giữa xe máy và xe đạp có kích thước tương đồng.

5. Chi phí phần cứng tối thiểu để tái hiện thực nghiệm của luận văn là bao nhiêu? Cấu hình thực nghiệm trong luận văn bao gồm CPU Intel Core i3-4130, RAM DDR3 16GB, GPU GTX 1070Ti 8GB và SSD 240GB. Đây là cấu hình tối thiểu thực tế — thử nghiệm ban đầu chỉ với CPU cho thấy tốc độ xử lý kéo dài 2–3 phút mỗi ảnh, hoàn toàn không khả thi. Với GPU tương đương (ví dụ RTX 3060 8GB hiện nay), chi phí phần cứng ước tính khoảng 8–12 triệu đồng, trong khi sử dụng Google Colab Pro có thể là lựa chọn kinh tế hơn cho mục đích nghiên cứu.


Kết luận

  • Faster R-CNN với RPN là kiến trúc phù hợp nhất cho bài toán theo vết đối tượng thời gian thực, đạt tốc độ 0,2 giây/khung hình — cải thiện 250 lần so với R-CNN gốc.
  • Bộ dữ liệu tự xây dựng (2.882 ảnh, 4 lớp) kết hợp với Pascal VOC 2007 cho phép kiểm chứng độ tổng quát của mô hình trên dữ liệu giao thông Việt Nam, với kết quả lớp xe hơi đạt 84,8%.
  • Hệ thống tích hợp Faster R-CNN + TLD/GOTURN/OpenCV API cung cấp giải pháp linh hoạt, có thể lựa chọn thuật toán theo vết phù hợp từng ngữ cảnh triển khai.
  • Hướng phát triển tiếp theo bao gồm: mở rộng sang kiến trúc YOLOv3/SSD cho thiết bị nhúng, tích hợp Deep SORT để cải thiện theo vết đa đối tượng, và tăng dữ liệu lớp "people" lên ít nhất 500 ảnh.
  • Luận văn đóng vai trò nền tảng thực nghiệm có giá trị cho các nghiên cứu về giám sát giao thông thông minh, robot tự hành và hệ thống camera an ninh tại Việt Nam — lĩnh vực đang phát triển nhanh và cần các công trình tham chiếu bằng tiếng Việt.