Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh chuyển đổi số và tự động hóa giám sát an ninh, các giải pháp phân tích video thông minh đang dần thay thế phương thức giám sát truyền thống vốn đòi hỏi nhân sự túc trực liên tục trước màn hình quan sát. Khi triển khai các hệ thống giám sát quy mô lớn cần xử lý đồng thời luồng video từ nhiều camera ở các góc quay khác nhau, thách thức lớn đặt ra là hệ thống phải đảm bảo tốc độ xử lý nhanh, đáp ứng thời gian thực trong điều kiện ánh sáng thay đổi, nhiễu hình ảnh và đối tượng di chuyển phức tạp. Mặc dù các mạng nơ-ron tích chập (Convolutional Neural Networks - CNNs) mang lại khả năng trích xuất đặc trưng và nhận diện chính xác, việc thực thi các mô hình học sâu này thường đòi hỏi chi phí tính toán cao, tiêu thụ nhiều năng lượng và tỏa nhiệt lớn, phụ thuộc vào các hạ tầng máy chủ hoặc GPU đắt đỏ.

Để giải quyết bài toán cân bằng giữa hiệu năng tính toán, độ trễ và mức tiêu thụ năng lượng tại biên, đề tài tập trung vào việc nghiên cứu, thiết kế và hiện thực hóa hệ thống phát hiện và theo dõi người trên nền tảng phần cứng SoC-FPGA Kria KV260 Vision AI Starter Kit thông qua bộ xử lý học sâu chuyên dụng Deep-learning Processing Unit (DPU). Khóa luận xác định 3 mục tiêu nghiên cứu cụ thể:

  1. Lựa chọn, huấn luyện và lượng tử hóa mô hình máy học có kích thước nhẹ, phù hợp để triển khai lên DPU của Kria KV260 Vision AI Starter Kit với tập dữ liệu tùy chỉnh bao quát các trường hợp về góc quay, ánh sáng, thời tiết và tư thế người đa dạng, đạt mục tiêu độ chính xác (accuracy) $\ge 90%$.
  2. Biên dịch mô hình và hiện thực xuống Kria KV260, đánh giá hiệu suất mô hình trên KV260 so với trên phần mềm; tối ưu hóa hiệu suất bằng công nghệ của Xilinx và các thư viện mã nguồn mở; gửi khung hình và thông tin khung bao (bounding box) của đối tượng lên máy chủ để thiết lập cơ sở dữ liệu sau quá trình xử lý tại KV260.
  3. Sử dụng giải thuật tương đồng (Siamese Network) để định danh từng người và phân loại cơ sở dữ liệu; thiết kế giao diện web cơ bản bằng HTML phục vụ việc theo dõi và quản lý của người dùng.

Đối tượng nghiên cứu của đề tài là luồng dữ liệu video giám sát người từ các camera IP truyền qua giao thức RTSP, các mô hình học sâu nhận diện đối tượng (YOLOv3-Tiny), mô hình so khớp tương đồng (Siamese Network) và kiến trúc phần cứng nhúng trên nền tảng Zynq UltraScale+ MPSoC. Phạm vi nghiên cứu tập trung vào việc xử lý đồng thời 2 luồng camera IP trên bo mạch Kria KV260 kết nối với máy chủ quản lý dữ liệu qua mạng cục bộ (TCP).


Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng trên nền tảng lý thuyết mạng nơ-ron tích chập (CNN), kiến trúc phát hiện đối tượng một giai đoạn YOLO (You Only Look Once), mạng so khớp Siamese Network và các công nghệ tăng tốc phần cứng của AMD/Xilinx:

  • Kiến trúc CNN và mô hình phát hiện đối tượng: Mạng CNN sử dụng các lớp tích chập (Convolutional Layer) với các bộ lọc (filter/kernel), tham số bước nhảy (stride), kỹ thuật đệm (padding) để trích xuất bản đồ đặc trưng (feature map); lớp gộp (Pooling Layer) giúp giảm chiều dữ liệu và ngăn ngừa quá khớp; các hàm kích hoạt phi tuyến tính giúp mạng học các quan hệ phức tạp. Mô hình YOLO chia khung hình thành lưới $S \times S$, dự đoán trực tiếp tọa độ hộp giới hạn (bounding box), điểm tin cậy (confidence score) và xác suất lớp đối tượng trong một lượt suy luận duy nhất, kết hợp thuật toán triệt tiêu phi cực đại (Non-Maximum Suppression - NMS) để loại bỏ các hộp trùng lặp.
  • Nền tảng phần cứng SoC-FPGA và DPU: Bo mạch Kria KV260 Vision AI Starter Kit xây dựng trên nền tảng Xilinx Zynq UltraScale+ MPSoC, tích hợp hệ thống xử lý (PS) gồm vi xử lý ARM Cortex-A53, ARM Cortex-R5 cùng logic khả trình (PL). Thành phần trung tâm là nhân DPU (Deep-learning Processing Unit, cụ thể là phiên bản DPUCZDX8G), một động cơ tính toán phần cứng có thể cấu hình, tối ưu hóa riêng cho các phép toán tích chập dựa trên các khối phần cứng DSP, BRAM, UltraRAM, LUTs và Flip-Flops.
  • Framework đa phương tiện và SDK phần mềm: Hệ thống ứng dụng framework GStreamer với cấu trúc pipeline, elements, pads, caps và bins để quản lý luồng dữ liệu truyền thông đa phương tiện. Bộ công cụ Vitis Video Analytics SDK (VVAS) cung cấp các plugin GStreamer chuyên dụng (vvas_xmultisrc, vvas_xfilter) kết nối trực tiếp với nhân tăng tốc phần cứng VCU (Video Codec Unit), Multiscaler và DPU. Bộ công cụ Vitis AI (bao gồm Vitis AI Quantizer, Vitis AI Compiler, Vitis AI Runtime - VART) chịu trách nhiệm tối ưu hóa và thực thi mô hình trên phần cứng.
  • Phương pháp nghiên cứu thực nghiệm và thu thập dữ liệu: Đề tài sử dụng phương pháp thực nghiệm kết hợp thiết kế đồng bộ phần cứng - phần mềm (Hardware/Software Co-design). Dữ liệu huấn luyện được trích xuất và lọc đối tượng người từ các tập dữ liệu chuẩn bao gồm Common Objects in Context (COCO), Pascal Visual Object Classes (VOC) và Pedestrian Detection Dataset. Tập dữ liệu gốc gồm 9.536 ảnh, sau đó được áp dụng kỹ thuật tăng cường dữ liệu tự động qua nền tảng Roboflow bằng cách kéo biến dạng hình học (kéo ngang hệ số $10^\circ$, kéo dọc hệ số $30^\circ$) và xoay ảnh (hệ số xoay $20^\circ$).
Thông số tập dữ liệu Số lượng ảnh
Tập dữ liệu gốc ban đầu 9.536
Tập dữ liệu sau khi tăng cường (Total) 28.608
Tập dữ liệu huấn luyện (Train set) 26.108
Tập dữ liệu kiểm định (Validation set) 2.500

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo cấu trúc phân tầng kết hợp giữa thiết bị biên SoC-FPGA (Kria KV260) và máy chủ quản trị trung tâm (Server):

Kiến trúc phần cứng và Pipeline xử lý tại thiết bị biên (Kria KV260)

Kiến trúc mức cao của hệ thống tại Kria KV260 gồm 4 pipeline chính:

  1. Capture/Input Pipeline: Thu nhận các luồng video mã hóa H.264 độ phân giải 1080p từ 2 camera IP thông qua giao thức truyền phát thời gian thực RTSP (rtspsrc).
  2. Video Processing Pipeline: Sử dụng khối phần cứng VCU (Video Codec Unit) tích hợp sẵn trên Zynq UltraScale+ MPSoC để giải mã luồng H.264 sang định dạng điểm ảnh NV12 nhằm giảm tải hoàn toàn cho CPU ARM.
  3. Accelerator Pipeline: Thực hiện xử lý theo 2 giai đoạn:
    • Tiền xử lý (Preprocessing): Sử dụng plugin vvas_xmultisrc cấu hình cho khối IP gia tốc phần cứng Multiscaler để chuyển đổi không gian màu từ NV12 sang BGR và thay đổi kích thước khung hình về chuẩn $416 \times 416$.
    • Suy luận học sâu (Inference): Sử dụng plugin vvas_xfilter giao tiếp qua thư viện Vitis AI Runtime (VART) để nạp mô hình vào nhân DPUCZDX8G, thực hiện phát hiện đối tượng người bằng mô hình YOLOv3-Tiny.
  4. Display/Output & Communication Pipeline: Khối Draw vẽ bounding box lên khung hình xuất ra màn hình qua cổng HDMI; đồng thời khối ImaBbox Sender đóng gói ảnh khung hình cùng tọa độ bounding box gửi về máy chủ qua kết nối mạng TCP.

Chuỗi công cụ chuyển đổi, lượng tử hóa và biên dịch mô hình

Do công cụ Vitis AI không hỗ trợ trực tiếp framework Darknet, quy trình đóng gói mô hình được thực hiện qua các bước chuẩn hóa:

  • Huấn luyện: Huấn luyện mô hình YOLOv3-Tiny trên nền tảng Google Colab sử dụng framework Darknet, xuất ra các tệp trọng số *.weights và cấu hình *.cfg.
  • Chuyển đổi: Sử dụng công cụ chuyển đổi để ánh xạ cấu trúc mạng và trọng số từ Darknet sang dạng đồ thị đóng băng TensorFlow (Frozen_graph.pb).
  • Lượng tử hóa (Quantization): Sử dụng Vitis AI Quantizer thực hiện kỹ thuật lượng tử hóa sau huấn luyện (Post Training Quantization - PTQ), chuyển đổi các trọng số từ dấu phẩy động 32-bit (FP32) sang số nguyên 8-bit (INT8). Nhằm hạn chế suy giảm độ chính xác, quy trình tích hợp:
    • Thuật toán cân bằng chéo (Cross-Layer Equalization - CLE): Tự động điều chỉnh tỷ lệ trọng số giữa các lớp liên tiếp để cân bằng dải giá trị, giảm thiểu biến động lớn.
    • Thuật toán AdaQuant: Tự động tối ưu hóa và hiệu chỉnh các tham số lượng tử hóa cho từng lớp dựa trên tập dữ liệu hiệu chuẩn (calibration dataset gồm 100–1000 ảnh không nhãn).
  • Biên dịch (Compilation): Ánh xạ mô hình qua cấu trúc biểu diễn trung gian AMD Intermediate Representation (XIR) gồm xir::Graph, xir::Op, xir::Tensor, và xir::Subgraph. Trình biên dịch Vitis AI Compiler áp dụng các tối ưu hóa hướng kiến trúc (Architecture-aware optimizations), gộp toán tử Batch Normalization vào phép tích chập và tạo luồng vi lệnh đóng gói thành tệp *.xmodel thực thi trực tiếp trên DPU.

Kiến trúc xử lý và định danh tại máy chủ (Server)

Máy chủ tiếp nhận luồng dữ liệu qua khối Receiver, sau đó chuyển tiếp qua các khối xử lý phần mềm:

  • Khối Crop Image: Cắt các vùng ảnh chứa người dựa trên tọa độ bounding box nhận được từ KV260.
  • Khối Siamese Network: Trích xuất vector đặc trưng từ ảnh cắt và so sánh độ tương đồng với các vector ảnh mẫu lưu trữ trong cơ sở dữ liệu.
  • Khối Database & Web Interface: Cập nhật ID, trạng thái của từng người theo thời gian thực và hiển thị kết quả giám sát lên giao diện web HTML.

Nội dung chính theo từng chương

Chương 1. Giới thiệu tổng quan đề tài

Chương này phân tích bối cảnh an ninh giám sát hiện đại, chỉ ra sự cần thiết của hệ thống phân tích video thông minh tự động thay thế con người. Tác giả tiến hành tổng quan và phân tích các công trình nghiên cứu liên quan về mô hình học sâu:

  • Mô hình YOLOv3 cải tiến với cấu trúc Darknet Residual và Spatial Pyramid Pooling (SPP) đạt độ chính xác 79,54% trên tập dữ liệu VOC.
  • Mô hình YOLOv4-Tiny ứng dụng theo dõi người đi bộ trong đám đông trên tập UCSD Pedestrian đạt mAP 73% (cao hơn 4% so với YOLOv3 và 10% so với YOLOv2).
  • Mô hình SSD cải tiến dựa trên thông tin ngữ cảnh và cấu trúc Pre-selection boxes trên tập INRIA đạt tỷ lệ sai số (missing rate) 9,8% (cải thiện 2,3% so với SSD tiêu chuẩn).
  • Kiến trúc mạng YOLO-R bổ sung 3 lớp Passthrough (Route và Reorg layer) trên tập INRIA đạt tốc độ nhận diện 25 fps với độ mất mát trung bình bằng 0.

Từ việc đánh giá các công trình trước, chương 1 xác lập tính cấp thiết của việc khai thác DPU trên phần cứng Kria KV260 và đề ra 3 mục tiêu nghiên cứu cụ thể của khóa luận.

Chương 2. Cơ sở lý thuyết

Chương 2 trình bày toàn diện các nền tảng lý thuyết và công nghệ được sử dụng trong đề tài:

  • Kria KV260 Vision AI Starter Kit: Cấu trúc phần cứng nền tảng Zynq UltraScale+ MPSoC (APU Cortex-A53, RPU Cortex-R5, logic khả trình PL) cùng các cổng kết nối ngoại vi (Micro-USB, UART/JTAG, MicroSD, Ethernet, HDMI, MIPI CSI-2).
  • Động cơ tính toán DPU: Phân tích kiến trúc nhân DPUCZDX8G gồm Scheduler hiệu suất cao, mảng tính toán lai (Hybrid Computing Array), bộ nạp lệnh (Instruction Fetch Unit), bộ nhớ đệm On-chip (BRAM/UltraRAM) và bộ điều khiển giao tiếp bộ nhớ ngoài DDR; tổng hợp bảng phân loại các dòng DPU của Xilinx (DPUCZDX8G cho Zynq UltraScale+, DPUCVDX8G/DPUCVDX8H/DPUCV2DX8G cho dòng Versal).
  • Mạng nơ-ron tích chập (CNN) & YOLO: Cơ chế toán học của phép tích chập 2D, kích thước bộ lọc (3x3, 5x5, 7x7), bước nhảy stride, lớp đệm padding, các lớp Pooling giảm chiều không gian và vai trò phi tuyến của hàm kích hoạt; phương pháp luận phân vùng ảnh $S \times S$ và hàm mất mát của YOLO.
  • Framework GStreamer: Phân tích cấu trúc đường ống dữ liệu (pipeline), các phần tử (elements: source, decoder, filter, sink), cổng kết nối (pads), khả năng thương lượng định dạng dữ liệu (caps), cấu trúc chứa (bins) và phân loại 4 nhóm plugin (gst-plugins-base, good, ugly, bad).

Chương 3. Phương pháp đề xuất và quá trình hiện thực đề tài

Chương 3 trình bày chi tiết giải pháp kỹ thuật và quy trình thực nghiệm:

  • Lựa chọn mô hình YOLOv3-Tiny kích thước đầu vào $416 \times 416$ (chuẩn tương thích tối ưu của DPU Xilinx); quy trình lọc và tăng cường tập dữ liệu lên 28.608 ảnh qua Roboflow.
  • Khảo sát hệ sinh thái AMD Vitis AI (Model Zoo, Inspector, Optimizer, Quantizer, Compiler, VART, Profiler) và Vitis Video Analytics SDK (VVAS).
  • Quy trình chuyển đổi mô hình từ Darknet sang TensorFlow; áp dụng Vitis AI Quantizer với 2 thuật toán CLE và AdaQuant trên tập hiệu chuẩn 1000 ảnh để chuyển đổi mô hình sang định dạng INT8.
  • Quy trình biên dịch đồ thị XIR thành tệp thực thi *.xmodel tương thích kiến trúc DPUCZDX8G.
  • Thiết lập môi trường nhúng Kria Ubuntu Desktop 22.04 LTS, triển khai Docker container, cấu hình pipeline GStreamer tích hợp plugin vvas_xmultisrc và vvas_xfilter, xây dựng giao thức gửi dữ liệu TCP lên máy chủ và áp dụng mạng Siamese để định danh, quản lý cơ sở dữ liệu.

Chương 4. Kết quả và đánh giá

Chương 4 tổng hợp các kết quả thực nghiệm và đánh giá hệ thống:

  • Kết quả huấn luyện mô hình YOLOv3-Tiny trên phần mềm đạt chỉ số mAP 93% trên tập dữ liệu tùy chỉnh.
  • Kết quả lượng tử hóa INT8 qua công cụ Vitis AI Quantizer với sự hỗ trợ của thuật toán CLE và AdaQuant duy trì được độ chính xác AP đạt mức 91,x% (đáp ứng tiêu chí ban đầu đặt ra $\ge 90%$).
  • Kết quả thực thi thực tế trên bo mạch Kria KV260: đánh giá độ tin cậy khi nhận diện, tốc độ khung hình (FPS), mức độ sử dụng tài nguyên phần cứng logic (LUTs, Flip-Flops, BRAM, DSP), công suất tiêu thụ điện năng và nhiệt độ hoạt động ổn định của chip SoC.
  • Đánh giá khả năng định danh và theo dõi đối tượng của mạng Siamese trên máy chủ, xác minh tính ổn định của luồng dữ liệu truyền qua TCP từ 2 camera IP.

Chương 5. Kết luận và hướng phát triển tiếp theo

Chương này tổng kết toàn bộ các kết quả đạt được đối chiếu với 3 mục tiêu ban đầu; đồng thời chỉ ra các khó khăn kỹ thuật gặp phải và đề xuất các định hướng mở rộng hệ thống trong tương lai.


Kết quả và đóng góp

Kết quả thực nghiệm chính

Hạng mục / Chỉ số Giá trị trong nghiên cứu Ghi chú kỹ thuật
Kích thước đầu vào mô hình $416 \times 416$ pixel Chuẩn tối ưu hóa cho DPU của Xilinx
Quy mô tập dữ liệu huấn luyện 28.608 ảnh 26.108 ảnh train, 2.500 ảnh validation
Độ chính xác mô hình phần mềm $\text{mAP} = 93%$ Huấn luyện trên Colab (Darknet/TensorFlow)
Độ chính xác sau lượng tử hóa $\text{AP} \approx 91%$ ($\ge 90%$) Định dạng INT8 qua Vitis AI (CLE + AdaQuant)
Nền tảng phần cứng biên Kria KV260 Starter Kit SoC Zynq UltraScale+, nhân DPUCZDX8G
Phần cứng giải mã & tiền xử lý VCU + Multiscaler IP Giải mã H.264 1080p, đổi màu NV12 sang BGR
Hệ điều hành & Môi trường chạy Kria Ubuntu 22.04 LTS VVAS SDK, GStreamer, VART, Docker
Số lượng camera xử lý đồng thời 2 Camera IP Luồng truyền RTSP, truyền dữ liệu qua TCP

Đóng góp của đề tài

  • Xây dựng thành công chuỗi công cụ (toolchain) hoàn chỉnh từ khâu chuẩn bị dữ liệu, huấn luyện, chuyển đổi mô hình đa framework (Darknet $\rightarrow$ TensorFlow), lượng tử hóa INT8 bảo toàn độ chính xác (sử dụng CLE và AdaQuant) đến biên dịch và thực thi trên nhân DPU của FPGA.
  • Thiết kế kiến trúc phần cứng lai (HW/SW pipeline) tối ưu trên SoC-FPGA, tận dụng tối đa các khối IP phần cứng chuyên dụng (VCU để giải mã video, Multiscaler để tiền xử lý hình ảnh và DPU để suy luận AI), giúp giảm tải hoàn toàn cho CPU và đảm bảo hiệu suất xử lý thời gian thực mà không cần GPU rời.
  • Hiện thực hóa hệ thống phân tán biên - máy chủ: xử lý phát hiện đối tượng cục bộ tại KV260 và truyền dữ liệu bounding box/khung hình về máy chủ để định danh lại đối tượng (Re-ID) qua mạng Siamese Network kết hợp giao diện theo dõi HTML.

Hạn chế và hướng nghiên cứu tiếp

Những khó khăn và hạn chế

  • Chuyển đổi chuỗi công cụ: Vitis AI không hỗ trợ trực tiếp framework Darknet, đòi hỏi quy trình chuyển đổi trung gian phức tạp sang TensorFlow trước khi lượng tử hóa, đòi hỏi kiểm soát chặt chẽ tính toàn vẹn của trọng số.
  • Tài nguyên và băng thông: Việc xử lý đồng thời nhiều luồng video độ phân giải cao đòi hỏi cân bằng tối ưu giữa băng thông bộ nhớ DDR ngoài, dung lượng bộ nhớ đệm On-chip (BRAM/UltraRAM) và khả năng lập lịch của DPU.
  • Độ phức tạp trong theo dõi: Mạng Siamese trên máy chủ vẫn đối mặt với thách thức khi nhận diện đối tượng trong điều kiện người bị che khuất một phần hoặc thay đổi góc quan sát lớn giữa các camera.

Hướng phát triển tiếp theo

  • Mở rộng hệ thống để tiếp nhận và xử lý đồng thời nhiều hơn 2 luồng camera IP trên cùng một nền tảng phần cứng.
  • Nâng cấp các phiên bản mô hình phát hiện đối tượng và kiến trúc mạng trích xuất đặc trưng định danh (Re-ID) có độ chính xác cao hơn.
  • Tối ưu hóa sâu hơn các kernel phần cứng tùy biến trên FPGA để tăng tốc toàn bộ pipeline từ tiền xử lý đến hậu xử lý.
  • Nâng cấp giao diện người dùng web, bổ sung các tính năng quản trị và cảnh báo tự động.

Giá trị tham khảo

Tài liệu khóa luận này mang lại giá trị tham khảo thực tiễn cao cho:

  • Sinh viên và kỹ sư ngành Kỹ thuật Máy tính, Hệ thống nhúng, Khoa học Máy tính, Điện tử - Viễn thông: Là tài liệu tham khảo chi tiết về quy trình triển khai mạng nơ-ron tích chập lên nền tảng phần cứng SoC-FPGA của AMD/Xilinx.
  • Nhà phát triển ứng dụng Edge AI và Thị giác máy tính: Cung cấp hướng dẫn cụ thể về việc xây dựng pipeline phân tích video thời gian thực sử dụng framework GStreamer kết hợp bộ công cụ Vitis Video Analytics SDK (VVAS).
  • Các nghiên cứu về tối ưu hóa mô hình: Phần phương pháp lượng tử hóa sau huấn luyện (PTQ) sử dụng thuật toán Cân bằng chéo (Cross-Layer Equalization - CLE) và thuật toán điều chỉnh thích ứng AdaQuant trong Vitis AI Quantizer là tài liệu tham khảo giá trị cho các bài toán nén mô hình từ FP32 xuống INT8.

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

1. Khóa luận lựa chọn mô hình học sâu nào cho tác vụ phát hiện người và kích thước đầu vào được thiết lập là bao nhiêu?
Khóa luận lựa chọn mô hình YOLOv3-Tiny với kích thước ảnh đầu vào là $416 \times 416$ pixel. Đây là kích thước chuẩn được Xilinx đề xuất nhằm tối ưu hóa tốc độ suy luận và mức độ song song hóa trên nhân DPU của bo mạch Kria KV260.

2. Kỹ thuật lượng tử hóa mô hình sang số nguyên 8-bit (INT8) sử dụng các thuật toán bổ trợ nào để không làm suy giảm nhiều độ chính xác?
Quá trình lượng tử hóa bằng công cụ Vitis AI Quantizer sử dụng kỹ thuật Lượng tử hóa sau huấn luyện (Post Training Quantization - PTQ) kết hợp 2 thuật toán: Thuật toán cân bằng chéo (Cross-Layer Equalization - CLE) để điều chỉnh dải giá trị trọng số giữa các lớp liên tiếp và thuật toán AdaQuant để tự động điều chỉnh, tối ưu hóa các tham số lượng tử hóa cho từng lớp dựa trên tập dữ liệu hiệu chuẩn.

3. Các khối IP phần cứng chuyên dụng nào trên Kria KV260 được sử dụng trong pipeline xử lý video?
Hệ thống sử dụng 3 khối IP phần cứng chính:

  • VCU (Video Codec Unit): Giải nén luồng video H.264 từ camera IP sang định dạng NV12.
  • Multiscaler IP: Thực hiện tiền xử lý chuyển đổi không gian màu sang BGR và thay đổi kích thước khung hình về $416 \times 416$.
  • DPUCZDX8G (Deep-learning Processing Unit): Động cơ phần cứng chuyên dụng trên phần logic khả trình (PL) để thực thi suy luận mô hình YOLOv3-Tiny.

4. Tập dữ liệu huấn luyện được xây dựng và tăng cường như thế nào?
Dữ liệu được lọc đối tượng người từ các tập COCO, Pascal VOC và Pedestrian Detection Dataset thu được 9.536 ảnh gốc. Sau đó, nhóm sử dụng Roboflow để tăng cường dữ liệu tự động bằng các phép biến đổi: kéo ảnh ngang hệ số $10^\circ$, kéo ảnh dọc hệ số $30^\circ$ và xoay ảnh hệ số $20^\circ$, mở rộng tập dữ liệu lên 28.608 ảnh (gồm 26.108 ảnh huấn luyện và 2.500 ảnh kiểm định).

5. Cơ chế theo dõi và định danh lại đối tượng người giữa các camera được thực hiện ở đâu và bằng phương pháp gì?
Cơ chế theo dõi và định danh lại đối tượng được thực hiện trên máy chủ (Server). Sau khi KV260 phát hiện người và gửi ảnh khung hình cùng thông tin bounding box qua mạng TCP, máy chủ sẽ cắt ảnh đối tượng và đưa vào mạng Siamese Network để trích xuất đặc trưng, so sánh độ tương đồng và quản lý định danh (ID) trong cơ sở dữ liệu.


Kết luận

Khóa luận tốt nghiệp "Hệ thống phát hiện và theo dõi người trên SoC-FPGA" của nhóm tác giả Lê Ngọc Long và Phan Mạnh Khương đã hiện thực hóa thành công một giải pháp giám sát video thông minh hoàn chỉnh tại biên. Bằng việc kết hợp mô hình YOLOv3-Tiny lượng tử hóa INT8 (đạt độ chính xác $\ge 90%$) với nhân tăng tốc phần cứng DPUCZDX8G trên bo mạch Kria KV260, hệ thống đã giải quyết hiệu quả bài toán xử lý video thời gian thực từ 2 camera IP với mức tiêu thụ tài nguyên và năng lượng tối ưu. Nghiên cứu đã chứng minh tính khả thi và hiệu quả vượt trội của phương pháp đồng thiết kế phần cứng - phần mềm trên nền tảng SoC-FPGA, mở ra hướng ứng dụng thiết thực cho các hệ thống an ninh giám sát phân tán hiện đại.