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

Lý do chọn đề tài và bối cảnh thực tiễn

Sự phát triển nhanh chóng của công nghệ vi mạch và trí tuệ nhân tạo (AI) trong những năm gần đây đã tạo ra xu hướng tích hợp các hệ thống thông minh lên một con chip duy nhất. Trong bối cảnh đó, Smart Camera — thiết bị camera tích hợp khả năng nhận diện, quản lý và xử lý hình ảnh ngay trên bo mạch — trở thành đối tượng nghiên cứu được nhiều nhóm thuộc các trường đại học và doanh nghiệp trong và ngoài nước quan tâm. Ứng dụng thị giác máy tính (Computer Vision) trong lĩnh vực an ninh, sản xuất và quản lý phương tiện ngày càng đặt ra yêu cầu cao về tốc độ xử lý, độ chính xác, mức tiêu thụ năng lượng và giá thành sản phẩm.

Trước đây, các hệ thống nhận diện biển số xe trong nhà xe phần lớn phụ thuộc vào CPU hoặc GPU. Tuy nhiên, GPU tiêu thụ năng lượng lớn, kém hiệu quả khi truy cập bộ nhớ và gặp nhiều khó khăn khi triển khai trên hệ thống nhúng. Đề tài này được thực hiện xuất phát từ nhu cầu thực tiễn cần một giải pháp thay thế hiệu quả hơn: sử dụng FPGA kết hợp với khối IP Deep Learning Processor Unit (DPU) của Xilinx để triển khai các thuật toán học sâu trên thiết bị phần cứng SoC, cụ thể là board Ultra96-V2 tích hợp SoC ZU3EG.

Mục tiêu và nhiệm vụ nghiên cứu

Khóa luận đặt ra các mục tiêu và nhiệm vụ cụ thể như sau:

  1. Nghiên cứu khối IP Deep Learning Processor Unit (DPU) — cụ thể là họ DPUCZDX8G — của Xilinx dành cho dòng Zynq MPSoC.
  2. Tìm hiểu board Ultra96-V2 của nhà cung cấp AVNET và bộ công cụ liên quan: Vivado Design Suite phiên bản 2021.2, Petalinux phiên bản 2021.2, Vitis IDE phiên bản 2021.2, Vitis AI.
  3. Xây dựng hệ thống phần cứng SoC tích hợp khối IP DPUCZDX8G với kiến trúc B2165, tần số 200 MHz, 1 core hoạt động 2 luồng song song.
  4. Huấn luyện, biên dịch và triển khai mô hình AI nhận diện biển số xe và nhận dạng ký tự trên biển số xe đạt độ chính xác trên 80%.
  5. Xây dựng ứng dụng quản lý luồng trên môi trường Run-Time, đảm bảo xử lý ảnh ở các định dạng 720p, 480p, 360p với tốc độ khoảng 5 FPS và truyền hình ảnh đã xử lý qua Wifi về máy tính chủ.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng: Hệ thống Smart Camera trên FPGA/SoC sử dụng khối IP DPU; biển số xe máy và xe hơi trong môi trường nhà xe có đầy đủ ánh sáng, chữ trên biển không bị nhòe.
  • Phạm vi phần cứng: Board Ultra96-V2 tích hợp SoC ZU3EG A484 của AMD Xilinx, bộ nhớ LPDDR4 2 GB.
  • Phạm vi phần mềm: Hệ điều hành PetaLinux, thư viện Vitis AI Library APIs, OpenCV, pthread; ngôn ngữ Python và C++.
  • Thời gian: Đề tài được hoàn thành và nộp vào ngày 05 tháng 07 năm 2024.

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

Khung lý thuyết và công nghệ sử dụng

Khóa luận xây dựng nền tảng lý thuyết trên bốn trụ cột chính:

1. FPGA (Field Programmable Gate Array): Kiến trúc gồm Logic Blocks (LBs), Interconnects, IO Blocks (IOBs), Configurable Switch Matrix và Configuration Memory. Ưu điểm nổi bật là khả năng tái lập trình sau sản xuất và xử lý song song cao. FPGA được lập trình bằng ngôn ngữ HDL (VHDL, Verilog), sử dụng công cụ Vivado Design Suite của Xilinx.

2. SoC (System on Chip): Tích hợp CPU (ARM Cortex-A53 quad-core), bộ nhớ LPDDR4, GPU, NPU, DSP, và các giao tiếp USB, PCIe, Ethernet, Wi-Fi, Bluetooth trên một chip. Thiết bị ZU3EG A484 là dòng Zynq® UltraScale+™ MPSoC được dùng trong đề tài.

3. Deep Learning Processor Unit (DPU) — họ DPUCZDX8G: Khối IP vi mã hóa (microcoded IP) tối ưu cho tính toán mạng nơ-ron tích chập (CNN). Kiến trúc bao gồm high-performance scheduler, hybrid computing array, instruction fetch unit và global memory pool. DPU hỗ trợ các mô hình: YOLO, GoogLeNet, MobileNet, VGG, ResNet, SSD, FPN. Các kiến trúc cấu hình gồm B512 đến B4096, biểu thị tổng số MAC trên mỗi chu kỳ xung clock. Đề tài sử dụng kiến trúc B2165 với ba chiều song song: pixel parallelism (PP), input channel parallelism (ICP) và output channel parallelism (OCP).

4. Vitis AI: Môi trường phát triển AI tăng tốc của Xilinx gồm các thành phần: Vitis AI Quantizer (chuyển đổi mô hình từ FP32 sang INT8), Vitis AI Compiler (mapping mô hình lên tập lệnh DPU, tối ưu layer fusion), Vitis AI Library (bộ API high-level), và Vitis AI Runtime — VART (dựa trên XRT và XIR).

Các mô hình AI được sử dụng:

  • YOLOv3-tiny: Xác định vị trí biển số xe trên ảnh.
  • YOLOv4: Nhận dạng ký tự trên biển số xe.
  • Framework huấn luyện: Darknet; chuyển đổi sang định dạng Caffe để compile cho DPU.

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

Đề tài thuộc loại thiết kế và xây dựng hệ thống kỹ thuật, kết hợp hai hướng:

  • Thiết kế phần cứng: Sử dụng Vivado Design Suite 2021.2 để tích hợp khối IP DPUCZDX8G vào thiết kế SoC; xây dựng hệ điều hành bằng PetaLinux 2021.2; xây dựng platform bằng Vitis IDE 2021.2.
  • Phát triển và đánh giá mô hình AI: Huấn luyện mô hình bằng Darknet trên máy tính, đánh giá bằng các chỉ số mAP (Mean Average Precision) và avg loss; quantize sang INT8 bằng Vitis AI Quantizer; compile và triển khai trên DPU; đo lường hiệu năng thực tế (FPS, độ chính xác, phạm vi phát hiện).

Nguồn dữ liệu

  • Dataset biển số xe: Dataset biển số xe Việt Nam được dùng để huấn luyện mô hình YOLOv3-tiny và YOLOv4, trong đó có vẽ bounding box cho từng ký tự trên biển số xe.
  • Dữ liệu thực tế: Hình ảnh chụp trực tiếp từ camera gắn trên board Ultra96-V2 trong môi trường nhà xe thực tế ở nhiều phạm vi khoảng cách (phạm vi 0, phạm vi 1, phạm vi ~2 m).

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

Chương 1: Giới thiệu đề tài

Chương này trình bày tổng quan về bối cảnh ứng dụng trí tuệ nhân tạo trong xử lý hình ảnh, đặc biệt là trong lĩnh vực an ninh, sản xuất và y tế. Nhóm tác giả phân tích các hạn chế của các nghiên cứu liên quan trong nước và ngoài nước:

Nghiên cứu Nền tảng Thuật toán Hạn chế chính
DreamCam (Birem & Berry, 2014) FPGA Altera Cyclone III — Quy trình phức tạp, thiếu nhận diện
Object Tracking (Norouznezhad et al., 2010) FPGA Xilinx Virtex-5 ML506 Histogram Tốn thời gian xác định đối tượng
Võ Phúc Vinh Khang & Lê Hoài (2023) SoC Ultra96-V2 YOLOv2 Độ trễ truyền streaming còn cao
Lê Hữu Kiên & Nguyễn Đức Hiếu (2020) FPGA Ultra96-V2 YOLOv2 Chỉ xử lý ảnh từ thẻ nhớ SD
Bùi Nguyễn Phát & Lê Minh Huy (2021) SoC Ultra96-V2 YOLOv2 Không quan tâm đến độ trễ khối AI
Chung Vĩnh Kiện (2019) FPGA Zynq-7000 — Chưa tích hợp AI nhận dạng
Phan Trường Khang & La Ngọc Lê (2020) FPGA DE10-Nano Viola-Jones Độ chính xác thấp, mất thông tin màu

Đề tài kế thừa và khắc phục hạn chế của nghiên cứu trước (tần số hoạt động thấp 100 MHz, độ trễ và FPS còn cao dưới 1 FPS, lưu ảnh vào bộ nhớ thay vì dùng buffer RAM) bằng cách nâng tần số lên 200 MHz và sử dụng kiến trúc buffer-based cho quản lý luồng.

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

Chương này cung cấp nền tảng học thuật cho toàn bộ hệ thống, bao gồm:

  • Kiến trúc FPGA và SoC, ưu nhược điểm so sánh với ASIC và GPU.
  • Khối IP DPUCZDX8G: kiến trúc, các cấu hình từ B512 đến B4096, bảng tài nguyên tiêu thụ (Register, LUT, DSP, BRAM) trên platform ZCU102, bảng số lượng BRAM36K theo cấu hình RAM Usage (Low/High), bảng Extra LUT khi dùng Channel Augmentation, các chức năng hỗ trợ như DepthwiseConv, AveragePool, ElementWise Multiply, Softmax phần cứng (tăng tốc đến 160 lần so với phần mềm, hỗ trợ đến 1023 class).
  • Smart Camera: định nghĩa, đặc điểm, các thành phần chức năng.
  • Vitis AI Stack: Quantizer (FP32 → INT8), Compiler, Library, Runtime (VART dựa trên XRT và XIR).
  • Thư viện OpenCV và cơ chế đa luồng (pthread).

Chương 3: Thiết kế hệ thống phần cứng và hiện thực môi trường Smart Camera Run-Time trên board

Chương này mô tả chi tiết quá trình xây dựng phần cứng và hệ điều hành:

  • Board Ultra96-V2: SoC ZU3EG A484, RAM LPDDR4 2 GB (512M×32), chip Wi-Fi/Bluetooth 802.11b/g/n (Wilc3000), Mini DisplayPort, 4 user LED.
  • Board Support Packages (BSP): Sử dụng BSP của AVNET và Board Definition Files (BDF) của Ultra96-V2 để tạo thiết kế bằng thư viện HDL.
  • Tích hợp DPUCZDX8G: Cấu hình khối IP trên Vivado Design Suite, kết nối qua AXI interconnect và HP port tốc độ cao với Processing System. Biểu đồ và bảng thống kê tài nguyên phần cứng thực tế sử dụng trên SoC ZU3EG được trình bày chi tiết.
  • Không gian địa chỉ: Cấp phát địa chỉ cho DPU trên kit được thể hiện qua sơ đồ thiết kế.
  • Hệ điều hành PetaLinux: Cấu hình và xây dựng core từ Vitis IDE, tích hợp driver Wilc (Wi-Fi), driver camera USB, thư viện OpenCV, pthread, compiler C/C++, môi trường Vitis AI Library API.

Chương 4: Thiết kế phần mềm quản lý luồng, xây dựng mô hình AI và kiểm soát môi trường trên môi trường Run-Time của Smart Camera

Chương này trình bày thiết kế phần mềm gồm ba hợp phần chính:

Mô hình AI: Sử dụng hai mô hình kết hợp:

  • YOLOv3-tiny: Phát hiện vị trí biển số xe (bounding box).
  • YOLOv4: Nhận dạng từng ký tự trên biển số xe sau khi đã cắt vùng biển số.

Quy trình: Huấn luyện bằng Darknet → chuyển đổi từ Darknet sang Caffe → quantize sang INT8 bằng Vitis AI Quantizer → compile sang định dạng DPU bằng Vitis AI Compiler.

Đặc biệt, nhóm xây dựng thuật toán sắp xếp ký tự riêng để xử lý đúng thứ tự ký tự trên cả hai loại biển số (biển vuông xe máy và biển dài xe hơi) gồm 6 bước xử lý tọa độ bounding box.

Ứng dụng quản lý luồng: Kiến trúc đa luồng sử dụng pthread với cấu trúc:

  • 1 luồng nhận ảnh từ nguồn → đưa vào buffer input.
  • 1–4 luồng lấy ảnh từ buffer input → giao cho DPU xử lý → trả ảnh về buffer output.
  • 1 luồng lấy ảnh từ buffer output → stream qua Wifi (chip Wilc) về máy tính chủ.

Luồng xây dựng ứng dụng dựa trên Vitis AI Library APIs, tuân theo cấu trúc Vitis AI Runtime.

Chương 5: Thực nghiệm và đánh giá kết quả

Chương trình bày kết quả từ hai giai đoạn: đánh giá mô hình trên máy tính và kiểm thử thực tế trên board.

Kết quả huấn luyện mô hình:

  • Biểu đồ avg loss của YOLOv4 thể hiện quá trình hội tụ trong quá trình training.
  • Kết quả training của YOLOv3-tiny và YOLOv4 được thể hiện qua đồ thị training loss.

Kết quả biên dịch và quantize:

  • Bảng thống kê độ chính xác mô hình số floating-point.
  • Bảng thống kê độ chính xác mô hình số INT8 (sau quantize).
  • Bảng thống kê độ chính xác mô hình nhận dạng ký tự trên số INT8.

Kết quả thực tế trên board:

  • Nhận diện biển số xe máy (bao gồm biển cũ), biển số xe hơi vuông, biển số xe hơi dài.
  • Kết quả nhận diện từ camera tại ba phạm vi khoảng cách: phạm vi 0, phạm vi 1, phạm vi ~2 m.

So sánh hiệu năng:

Tiêu chí so sánh Nội dung
Bảng 5.1 So sánh tốc độ nhận diện trên từng mô hình
Bảng 5.2 So sánh kết quả nhận diện biển số xe bằng nhiều phương pháp khác nhau trên dataset biển số xe Việt Nam
Bảng 5.3 So sánh kết quả hiệu năng với các đề tài của sinh viên trước đó
Bảng 5.4 So sánh hiệu suất với các bài báo được công bố

Ngoài kết quả phần mềm, nhóm cũng hoàn thành việc đóng gói hệ thống vật lý (phần trước và phần sau) tạo thành một thiết bị hoàn chỉnh.


Thiết kế và triển khai

Kiến trúc hệ thống

Hệ thống được phân tầng rõ ràng theo mô hình phần cứng — hệ điều hành — phần mềm ứng dụng:

  • Tầng phần cứng (PL): FPGA Ultra96-V2 tích hợp khối IP DPUCZDX8G kết nối với Processing System qua AXI interconnect (HP port). DPU được cấu hình kiến trúc B2165, tần số 200 MHz, 1 core, 2 luồng song song.
  • Tầng hệ điều hành (PS): PetaLinux 2021.2 tích hợp các driver (Wilc, camera-USB, XRT, XIR), thư viện hệ thống (OpenCV, pthread), firmware DPU, và môi trường Vitis AI Library API.
  • Tầng ứng dụng: Chương trình C++ quản lý đa luồng với buffer input và buffer output được chia sẻ giữa các luồng xử lý.

Công nghệ và công cụ

Công cụ/Thư viện Phiên bản Vai trò
Vivado Design Suite 2021.2 Thiết kế phần cứng, tích hợp IP DPU
PetaLinux 2021.2 Xây dựng hệ điều hành trên board
Vitis IDE 2021.2 Xây dựng platform phần cứng
Vitis AI — Quantize, compile mô hình AI
Darknet — Huấn luyện và kiểm thử YOLOv3-tiny, YOLOv4
OpenCV — Xử lý ảnh, xử lý tọa độ
Caffe — Framework trung gian chuyển đổi mô hình
Python, C++ — Ngôn ngữ lập trình ứng dụng

Kiểm thử

Hệ thống được kiểm thử theo hai cấp:

  1. Kiểm thử mô hình trên máy tính: Đánh giá độ chính xác mô hình ở dạng floating-point và INT8 sau quantize thông qua các chỉ số mAP và avg loss.
  2. Kiểm thử thực tế trên board: Đánh giá khả năng nhận diện biển số xe máy, xe hơi (biển vuông, biển dài) ở ba khoảng cách khác nhau; đo tốc độ FPS và kiểm tra tính ổn định của hệ điều hành khi hoạt động liên tục nhiều giờ.

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

Kết quả chính

  • Mô hình AI: Hai mô hình YOLOv3-tiny (phát hiện biển số) và YOLOv4 (nhận dạng ký tự) được huấn luyện và triển khai thành công trên DPU. Mục tiêu đặt ra là độ chính xác trên 80% cho cả hai tác vụ. Hệ thống xử lý hình ảnh với tốc độ dưới 1 giây cho mỗi khung hình.
  • Phần cứng: Hệ thống SoC tích hợp DPUCZDX8G kiến trúc B2165, tần số 200 MHz (tăng gấp đôi so với đề tài tiền nhiệm ở 100 MHz), giao tiếp với PS qua HP port.
  • Phần mềm: Ứng dụng quản lý luồng hoạt động ổn định với buffer input/output được chia sẻ; hỗ trợ định dạng ảnh 720p, 480p, 360p; tốc độ stream ~5 FPS qua Wifi không dây (chip Wilc3000).
  • Đóng gói: Hệ thống được đóng gói thành thiết bị vật lý hoàn chỉnh (hình minh họa phần trước và phần sau).

Giải pháp và kiến nghị tác giả đề xuất

  • Sử dụng buffer RAM (bộ đệm chương trình) thay cho lưu trữ ảnh vào bộ nhớ thứ cấp, giúp tăng tốc độ truy cập và giảm tiêu thụ tài nguyên không cần thiết.
  • Kiến trúc quản lý luồng linh hoạt (1 hoặc 4 luồng DPU) cho phép điều chỉnh cấu hình tùy theo nhu cầu xử lý.
  • Chuỗi xử lý biển số xe hai bước (phát hiện → nhận dạng ký tự) cùng với giải thuật sắp xếp ký tự 6 bước riêng cho biển vuông và biển dài.

Đóng góp so với nghiên cứu trước

Tác giả tự nêu các đóng góp so với đề tài tiền nhiệm (Lê Hữu Kiên & Nguyễn Đức Hiếu, 2020):

  • Nâng tần số hoạt động DPU từ 100 MHz lên 200 MHz.
  • Khắc phục hạn chế FPS dưới 1 FPS của đề tài trước.
  • Thay cơ chế lưu ảnh vào bộ nhớ bằng cơ chế buffer RAM trong chương trình, giảm độ trễ và tối ưu tài nguyên.
  • Bổ sung khả năng xử lý trực tiếp từ camera (đề tài năm 2020 chỉ xử lý từ thẻ nhớ SD).
  • Cải tiến mô hình AI từ YOLOv2 lên YOLOv3-tiny và YOLOv4.

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

Hạn chế được văn bản đề cập

  • Mô hình AI chỉ hoạt động tốt trong điều kiện nhà xe có đầy đủ ánh sáng và chữ trên biển số xe không bị nhòe mờ — điều kiện đầu vào được giả định là đã qua xử lý ánh sáng và các tác nhân môi trường.
  • Hệ thống giả sử thiết bị đầu vào là một nguồn stream riêng biệt, chưa tích hợp xử lý ảnh đầu vào trong điều kiện ánh sáng thấp hoặc môi trường phức tạp.
  • Tốc độ stream ~5 FPS qua Wifi là mục tiêu thiết kế, chưa được tối ưu thêm cho các ứng dụng yêu cầu thời gian thực tốc độ cao hơn.

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

Tác giả đề xuất tiếp tục phát triển đề tài theo các hướng:

  • Cải tiến hơn nữa hệ thống để đáp ứng các điều kiện môi trường thực tế đa dạng hơn.
  • Mở rộng khả năng ứng dụng vào các bài toán nhận diện khác ngoài biển số xe.
  • Tối ưu hóa thêm về tốc độ truyền streaming và độ trễ toàn hệ thống.

Giá trị tham khảo

Khóa luận này có giá trị tham khảo thiết thực cho các nhóm đối tượng sau:

  • Sinh viên ngành Kỹ thuật Máy tính, Điện tử - Viễn thông, Kỹ thuật Máy tính Nhúng đang tìm hiểu về FPGA, SoC và thiết kế hệ thống Smart Camera. Đặc biệt hữu ích cho những ai muốn bắt đầu với board Ultra96-V2 và Vitis AI.
  • Sinh viên làm khóa luận tốt nghiệp về Computer Vision trên thiết bị nhúng: Phần hướng dẫn cấu hình khối IP DPUCZDX8G (Chương 2, 3), quy trình quantize và compile mô hình YOLO sang định dạng DPU (Chương 4) là tài liệu kỹ thuật chi tiết khó tìm thấy tập trung trong một văn bản tiếng Việt.
  • Sinh viên nghiên cứu nhận dạng biển số xe Việt Nam: Giải thuật sắp xếp ký tự 6 bước dành riêng cho hai loại biển (vuông và dài) của Việt Nam là đóng góp cụ thể, có thể tái sử dụng trong các hệ thống tương tự.
  • Người làm đề tài về tối ưu hóa luồng xử lý (pipeline) trên hệ thống nhúng: Kiến trúc quản lý đa luồng với buffer input/output chia sẻ (Chương 4) cung cấp mô hình tham chiếu cụ thể.

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

1. Tại sao đề tài chọn kiến trúc DPU B2165 thay vì các kiến trúc khác như B512 hay B4096? Kiến trúc B2165 được lựa chọn để cân bằng giữa hiệu suất tính toán và tài nguyên phần cứng có sẵn trên SoC ZU3EG A484 của board Ultra96-V2. Các kiến trúc cao hơn như B4096 đòi hỏi nhiều tài nguyên hơn (theo Bảng 2.2, B4096 cần 52.161 Register, 98.249 LUT, 255 DSP, 710 BRAM) và có thể vượt quá tài nguyên PL của thiết bị này.

2. Quá trình chuyển đổi mô hình từ Darknet sang định dạng DPU diễn ra như thế nào? Mô hình được huấn luyện bằng Darknet, sau đó chuyển đổi sang định dạng Caffe. Tiếp theo, Vitis AI Quantizer thực hiện chuyển đổi từ FP32 sang INT8, và Vitis AI Compiler biên dịch mô hình sang tập lệnh DPU (file lệnh DPUCZDX8G) với các tối ưu hóa như layer fusion và lập lịch tập lệnh.

3. Hệ thống xử lý như thế nào khi biển số xe máy và xe hơi có cấu trúc ký tự khác nhau? Nhóm xây dựng giải thuật sắp xếp ký tự 6 bước riêng biệt: sau khi YOLOv4 phát hiện các bounding box ký tự, giải thuật phân loại biển (vuông hay dài), sau đó sắp xếp lại thứ tự tọa độ ký tự theo hàng và cột tương ứng với từng loại biển để đọc đúng chuỗi ký tự hoàn chỉnh.

4. Tại sao đề tài dùng chip Wilc để truyền hình ảnh thay vì cáp Ethernet có dây? Chip Wilc3000 (Wi-Fi/Bluetooth 5 năng lượng thấp) được tích hợp sẵn trên board Ultra96-V2. Mục tiêu của đề tài là xây dựng hệ thống không dây, thuận tiện cho việc triển khai trong nhà xe thực tế mà không cần kéo dây kết nối, đồng thời kiểm tra khả năng hoạt động ổn định của hệ điều hành PetaLinux khi sử dụng driver Wilc liên tục.

5. Điểm khác biệt chính giữa đề tài này và luận văn của Võ Phúc Vinh Khang & Lê Hoài (2023) cùng dùng Ultra96-V2 là gì? Luận văn năm 2023 tập trung vào tối ưu streaming với thuật toán YOLOv2 và nhận diện vật thể chung chung, trong khi đề tài này chuyên biệt hóa cho bài toán nhận diện và đọc biển số xe (kết hợp YOLOv3-tiny + YOLOv4), đồng thời nâng tần số DPU lên 200 MHz, xây dựng giải thuật sắp xếp ký tự đặc thù cho biển số Việt Nam và đóng gói thành thiết bị vật lý hoàn chỉnh.


Kết luận

Khóa luận tốt nghiệp của Thái Quốc Thông (2024) trình bày toàn bộ quy trình thiết kế và triển khai một hệ thống Smart Camera nhận diện biển số xe trên nền SoC FPGA Ultra96-V2, từ cấu hình phần cứng DPU, xây dựng hệ điều hành PetaLinux, huấn luyện và biên dịch mô hình AI (YOLOv3-tiny và YOLOv4), đến ứng dụng quản lý đa luồng và truyền kết quả qua Wifi. Hệ thống khắc phục được các hạn chế của các đề tài tiền nhiệm thông qua việc nâng tần số DPU lên 200 MHz, chuyển sang cơ chế buffer RAM và bổ sung giải thuật xử lý biển số đặc thù cho Việt Nam. Công trình đặt nền tảng kỹ thuật cho các nghiên cứu tiếp theo về tối ưu hóa hệ thống Smart Camera nhúng trong ứng dụng quản lý phương tiện giao thông.