Bối cảnh và vấn đề nghiên cứu
Sự phát triển của công nghệ vi điện tử, cảm biến quang học và các giải thuật trí tuệ nhân tạo đặt ra yêu cầu tích hợp các hệ thống xử lý thị giác máy tính phức tạp vào một thiết bị duy nhất. Khác với máy ảnh kỹ thuật số thông thường chỉ dừng lại ở việc thu nhận và áp dụng các bộ lọc cơ bản, hệ thống camera thông minh (smart camera) có khả năng phân tích hình ảnh, phát hiện đối tượng và trực tiếp đưa ra thông tin hoặc quyết định điều khiển ngay tại biên mà không cần phụ thuộc vào máy tính xử lý trung tâm. Xuất phát từ nhu cầu giám sát an ninh, tự động hóa công nghiệp và nhà thông minh, việc xây dựng một smart camera có khả năng truyền tải dữ liệu luồng (streaming) qua kết nối không dây với độ trễ thấp và tích hợp thuật toán học sâu nhận diện vật thể là một đề tài mang tính ứng dụng kỹ thuật cao.
Khóa luận tốt nghiệp của tác giả Bùi Nguyễn Phát và Lê Minh Huy (ngành Kỹ thuật Máy tính, Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM, thực hiện năm 2021 dưới sự hướng dẫn của TS. Nguyễn Minh Sơn) tập trung giải quyết bài toán thiết kế và tích hợp hệ thống smart camera trên nền tảng vi mạch System on Chip (SoC). Mục tiêu và các nhiệm vụ nghiên cứu cụ thể được tác giả xác định theo văn bản gồm:
- Kế thừa khối mạng nơ-ron tích chập (CNN) YOLOv2 từ nghiên cứu tiền nhiệm trên kit ZedBoard Zynq-7000 để phục vụ cho việc tích hợp hệ thống SoC trên smart camera.
- Nghiên cứu board phát triển Ultra96-V2 (Avnet) dựa trên nền tảng Zynq UltraScale+ MPSoC của Xilinx; sử dụng bộ công cụ Vivado phiên bản 2019.2 (bao gồm Vivado HLS, Vivado Design Suite, Vitis) để khởi tạo bộ CNN YOLOv2 dưới dạng ngôn ngữ phần cứng Verilog bằng Vivado HLS.
- Cài đặt và tích hợp khối CNN YOLOv2 vào hệ thống SoC trên board Ultra96-V2, kết nối với cảm biến USB Camera và module truyền thông Wi-Fi.
- Xây dựng và nạp hệ điều hành Linux nhúng lên board Ultra96-V2 bằng công cụ PetaLinux để điều khiển toàn bộ hoạt động của hệ thống phần cứng.
- Nghiên cứu và ứng dụng các thư viện GStreamer, OpenCV cùng phương thức lập trình Socket nhằm thực hiện truyền luồng hình ảnh streaming qua mạng Wi-Fi (cho cả chế độ camera thông thường và camera xử lý nhận dạng YOLOv2).
- Viết chương trình phần mềm điều khiển bằng Vitis, nạp lên hệ điều hành Linux trên Ultra96-V2, tiến hành kiểm tra, đo đạc kết quả thực nghiệm và thiết kế vỏ hộp đóng gói sản phẩm.
Về đối tượng và phạm vi nghiên cứu, đề tài tập trung vào đối tượng là hệ thống smart camera nhúng tích hợp mạng nơ-ron tích chập YOLOv2 trên kiến trúc SoC. Phạm vi nghiên cứu về mặt chức năng giới hạn ở việc hiển thị kết quả lên trình duyệt web (web browser), truyền luồng P2P (Point-to-Point: 1 máy gửi – 1 máy nhận) và bước đầu thử nghiệm truyền luồng đến nhiều máy nhận (multiple streaming). Phạm vi dữ liệu hình ảnh xử lý qua cảm biến camera có độ phân giải từ 320 x 240 pixel đến 1280 x 960 pixel trong cự ly nhận diện từ 0,5 m đến 3 m. Nghiên cứu được hoàn thành và bảo vệ vào tháng 08 năm 2021.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng trên các khung lý thuyết, nền tảng phần cứng và giải thuật trí tuệ nhân tạo chuyên sâu sau:
- Công nghệ vi mạch logic khả trình (FPGA): Mạch tích hợp cỡ lớn cho phép tái cấu trúc logic sau sản xuất. Cấu trúc cơ bản gồm khối logic khả trình (CLB với bảng tra LUT và Flip-Flop), hệ thống ma trận dây liên kết lập trình được (Interconnections) và các khối chân vào/ra (I/O Pads: User Pin và Dedicated Pin), tích hợp thêm bộ nhớ Block RAM và khối xử lý tín hiệu số DSP-48.
- Hệ thống nhúng và kiến trúc System on Chip (SoC): Tích hợp toàn diện các thành phần gồm bộ vi xử lý (CPU ARM Cortex-A53), hệ thống bus chuẩn AMBA AXI (AXI, AHB, APB), bộ nhớ nội/ngoại (RAM, ROM, DDR4) và các khối ngoại vi (UART, USB, ADC, Video) trên một vi mạch bán dẫn duy nhất.
- Nền tảng Zynq UltraScale+ MPSoC: Kiến trúc phần cứng phân tách thành hệ thống xử lý (Processing System - PS) chứa khối APU (Application Processing Unit chạy vi xử lý đa nhân ARM), bộ đệm tương thích bộ nhớ cache CCI, và vùng logic khả trình (Programmable Logic - PL) tương đương vi mạch FPGA. Hai miền PS và PL liên kết thông qua các bus nội bộ tốc độ cao: AXI HPM FPD (điều khiển) và S-AXI HP (truy xuất bộ nhớ hiệu năng cao).
- Mô hình học sâu YOLOv2 (YOLO9000): Kiến trúc phát hiện vật thể một giai đoạn của Joseph Redmon và Ali Farhadi công bố tại CVPR 2017. Mô hình sử dụng mạng đường trục (backbone) Darknet-19 gồm 19 lớp tích chập và 5 lớp gộp cực đại (max pooling). Các kỹ thuật tối ưu bao gồm: Chuẩn hóa theo lô (Batch Normalization) sau tất cả các lớp tích chập; Phân loại độ phân giải cao (High resolution classifier) với ảnh 448 x 448; Hộp neo (Anchor Box) xác định qua thuật toán gom cụm K-means; Dự đoán vị trí trực tiếp bằng hàm Sigmoid; Trích xuất đặc trưng hạt mịn (Fine-grained feature) sử dụng lớp Reorg biến đổi feature map 26 x 26 thành 13 x 13 để nối (concatenate) với feature map tầng cuối; Huấn luyện đa kích thước (Multi-scale training); Cấu trúc phân cấp WordTree dung hợp nhãn giữa ImageNet và COCO/PASCAL.
Phương pháp nghiên cứu thực tế được triển khai bao gồm:
- Phương pháp thiết kế đồng thời phần cứng – phần mềm (Hardware/Software Co-design): Đưa các phép tính toán ma trận tích chập nặng của mạng CNN vào phần cứng PL (FPGA) nhằm tận dụng khả năng tính toán song song, trong khi phần mềm chạy trên PS (CPU ARM) đảm nhiệm việc thu nhận khung hình, điều khiển bus và truyền thông mạng.
- Phương pháp tổng hợp bậc cao (High-Level Synthesis - HLS): Sử dụng công cụ Vivado HLS chuyển đổi mã mô tả thuật toán bằng C/C++ sang khối IP phần cứng viết bằng ngôn ngữ Verilog RTL.
- Phương pháp thực nghiệm và đo đạc kỹ thuật: Khảo sát và đo lường trực tiếp tốc độ nhận diện (ms, FPS), tài nguyên phần cứng (LUT, FF, BRAM, DSP), công suất tiêu thụ (W), độ trễ truyền luồng video (giây) theo khoảng cách và độ chính xác nhận diện thực tế trên mạng Wi-Fi cục bộ.
Nguồn dữ liệu của đề tài gồm tập trọng số mô hình YOLOv2 đã được huấn luyện sẵn và dữ liệu hình ảnh video thu nhận trực tiếp từ cảm biến USB Camera kết nối qua cổng USB trên board Ultra96-V2.
Thiết kế và triển khai
Hệ thống smart camera được thiết kế dựa trên sự kết hợp giữa kit phần cứng Ultra96-V2 và các bộ công cụ phần mềm chuyên dụng của Xilinx:
| Thành phần hệ thống |
Công nghệ / Phần cứng / Module triển khai |
Vai trò và chức năng kỹ thuật |
| Nền tảng phần cứng chính |
Avnet Ultra96-V2 (Zynq UltraScale+ MPSoC XCZU3EG SBVA484) |
Tích hợp CPU ARM Cortex-A53, bộ nhớ Micron 2 GB LPDDR4, quản lý nguồn Infineon/ON Semiconductor |
| Khối xử lý AI trên PL |
IP Core YOLO2_FPGA (Tổng hợp qua Vivado HLS 2019.2) |
Thực thi tính toán song song các lớp Conv, Maxpool, Reorg và ReLU của mạng YOLOv2 |
| Giao tiếp phần cứng - bộ nhớ |
Bus AXI HPM FPD và Bus S-AXI HP |
Core SW phát lệnh điều khiển qua AXI HPM; PL truy cập trực tiếp khung hình từ LPDDR4 qua S-AXI HP |
| Hệ điều hành nhúng |
PetaLinux 2019.2 (chạy trên APU ARM Cortex-A53) |
Quản lý tài nguyên, nạp driver module Wi-Fi WILC3000, cấu hình vùng nhớ dành riêng (reserved memory) |
| Module truyền thông không dây |
Microchip Wi-Fi/Bluetooth WILC3000 kết nối giao tiếp SDIO |
Thiết lập điểm truy cập hoặc kết nối mạng không dây để truyền dữ liệu video |
| Luồng truyền video (Streaming) |
GStreamer, OpenCV, Lập trình Socket (TCP) |
Thiết kế pipeline đóng gói khung hình, truyền phát P2P và multi-stream lên trình duyệt web |
| Ứng dụng điều khiển |
Xilinx Vitis 2019.2 |
Biên dịch và thực thi ứng dụng C/C++ trên nền Linux để quản lý luồng ảnh và đồng bộ tín hiệu DONE |
| Đóng gói cơ khí |
Vỏ hộp chuyên dụng gia công theo kích thước kit |
Bố trí camera mặt trước, khe cắm nguồn 12V, cổng kết nối và khe tản nhiệt |
Trong thiết kế khối phần cứng IP YOLO2_FPGA, tác giả đã tiến hành cấu hình khối Data Scatter để chuyển dữ liệu từ bộ nhớ ngoài (DRAM) vào các bộ đệm (buffers) trên chip và khối Data Gather để gom dữ liệu từ bộ đệm đầu ra ghi ngược lại DRAM. Điểm can thiệp kỹ thuật trọng tâm của đề tài so với nghiên cứu tiền nhiệm nằm ở việc tái cấu trúc số kênh truyền AXI Master: nhóm tác giả đã giảm từ 5 đường dữ liệu AXI xuống còn 2 đường dữ liệu AXI. Cải tiến này giải quyết trực tiếp hiện tượng tràn dung lượng phần tử logic (LUT), cho phép IP core được tổng hợp hoàn chỉnh trên nền tảng Zynq UltraScale+ với tần số làm việc mục tiêu 150 MHz.
Nội dung chính theo từng chương
Chương 1. Giới thiệu đề tài
Chương mở đầu trình bày tính cấp thiết của việc phát triển smart camera trong các lĩnh vực giám sát an ninh, thị giác máy công nghiệp, robot và nhà thông minh. Tác giả phân tích những hạn chế của camera truyền thống khi phải truyền toàn bộ dữ liệu thô về máy tính chủ, gây tắc nghẽn băng thông và độ trễ cao. Từ đó, đề tài xác định 5 nhiệm vụ trọng tâm: kế thừa bộ CNN YOLOv2 từ nghiên cứu trước, làm chủ công cụ Vivado 2019.2 trên kit Ultra96-V2, tích hợp IP vào SoC, xây dựng hệ điều hành PetaLinux, thiết lập đường truyền video qua GStreamer/Socket và đóng gói sản phẩm. Đề tài đặt mục tiêu đạt tần số hoạt động 150 MHz, nhận diện người chính xác trên 90%, hiển thị camera thường độ phân giải HD (1280 x 960) với độ trễ dưới 5 giây và tốc độ khung hình trên 2 fps.
Chương 2. Các công nghệ và các nghiên cứu liên quan đến smart camera
Chương này cung cấp hệ thống lý thuyết về vi mạch FPGA (kiến trúc CLB, ma trận kết nối, ưu điểm xử lý song song), hệ thống nhúng và hệ thống SoC (CPU, bus hệ thống AMBA, bộ nhớ nội, ngoại vi). Tác giả làm rõ bản chất của smart camera với các tiêu chí: hiệu suất xử lý tương đương máy tính cá nhân, tích hợp cảm biến quét tần số cao, khả năng giao tiếp ngoại vi và khả năng tự đưa ra quyết định tại biên. Chương này tiến hành khảo sát các nghiên cứu quốc tế:
- Nghiên cứu của Ehsan Norouznezhad và cộng sự (2010): Dùng FPGA Xilinx Virtex-5 ML506, module camera Micron MT9P001, thuật toán Histogram và bộ lọc Gabor đạt 30 FPS ở độ phân giải 640 x 480.
- Nghiên cứu DreamCam của Merwan Birem và Francois Berry (2014): Dùng FPGA Altera Cyclone III, module MT9M031/EV76C560, bộ lọc Harris và Stephen đạt 42 FPS ở độ phân giải 800 x 1024.
Đối với các nghiên cứu trong nước, tác giả tổng hợp và so sánh chi tiết qua Bảng 2.1:
| Tiêu chí kỹ thuật |
Nhận diện khuôn mặt trên DE10-Nano [4] |
YOLOv2 trên Zedboard [1] |
IP camera trên Zynq-7000 [14] |
| Tốc độ nhận dạng |
105 - 887 ms |
2,9 s |
Không có (chưa tích hợp) |
| Tốc độ khung hình streaming |
Không công bố |
Không công bố |
5,5 - 6 fps |
| Độ phân giải lớn nhất |
640 x 480 |
416 x 416 |
1280 x 720 |
| Độ phân giải nhỏ nhất |
320 x 240 |
416 x 416 |
640 x 480 |
| Tần số hoạt động |
25 MHz |
100 MHz |
Không công bố |
| Độ chính xác nhận dạng |
20,5 - 89 % |
53 - 92 % |
Không công bố |
| Thuật toán xử lý ảnh AI |
Viola-Jones (Haar-like) |
YOLOv2 (CNN) |
Không tích hợp được |
| Khoảng cách nhận diện |
0,5 m |
Không công bố |
Không công bố |
| Kết nối mạng truyền dữ liệu |
Không có |
Không có |
Cáp mạng Ethernet |
Từ kết quả khảo sát, tác giả đề xuất mô hình smart camera tích hợp thuật toán YOLOv2 trên board Ultra96-V2 truyền dữ liệu không dây qua Wi-Fi Access Point với hai chế độ hình ảnh.
Chương 3. Thiết kế hệ thống
Chương 3 đi sâu vào thiết kế kỹ thuật của hệ thống. Tác giả phân tích cấu trúc vi mạch Zynq UltraScale+ MPSoC và board Ultra96-V2 (kích thước nhỏ gọn, chip ZU3EG, RAM LPDDR4 2 GB, module Wi-Fi WILC3000). Về mặt giải thuật, tác giả trình bày cơ chế hoạt động của Darknet-19, công thức chuẩn hóa theo lô, cơ chế phân loại đa tỷ lệ và kỹ thuật Reorg chia tách feature map 4 x 4 thành 2 x 2 với bước nhảy stride bằng 2 để ghép kênh. Quy trình xử lý dữ liệu phần cứng được mô tả theo 3 cấp độ:
- Layer-by-layer: Thực thi tuần tự các tầng từ DRAM vào bộ đệm và ghi trả lại DRAM.
- Inter-tile: Chia khối dữ liệu để giảm số lần truy xuất bộ nhớ ngoài chip.
- Intra-tile: Phân luồng dữ liệu song song qua các module Conv, Pool, Reorg và ReLU.
Nội dung quan trọng nhất của chương là quá trình tối ưu hóa IP core trên Vivado HLS 2019.2. Tác giả chỉ ra rằng trong nghiên cứu [1], khối YOLO2_FPGA sử dụng 5 đường AXI Bus dẫn đến tiêu tốn 56.549 LUTs, vượt quá ngưỡng 53.200 LUTs của dòng chip trên Zedboard. Nhóm nghiên cứu đã điều chỉnh số đường dữ liệu AXI xuống còn 2 đường dữ liệu (NAXIM = 2). Kết quả tổng hợp IP mới khắc phục hoàn toàn tình trạng thiếu hụt tài nguyên logic và cho phép sinh bitstream hoàn chỉnh tích hợp vào hệ thống SoC.
Chương 4. Hiện thực smart camera
Chương này mô tả chi tiết quá trình hiện thực phần mềm và thực nghiệm:
- Cấu hình hệ điều hành PetaLinux: Nhúng driver cho module Wi-Fi WILC3000, cấu hình USB gadget và khai báo vùng nhớ chia sẻ (reserved memory) giữa PS và PL.
- Xây dựng luồng streaming bằng GStreamer và Socket: Thiết kế pipeline nhận dữ liệu từ camera qua USB, đóng gói định dạng và truyền qua giao thức TCP/IP tới các máy nhận. Hệ thống hỗ trợ chế độ P2P và mở rộng chế độ nhiều máy nhận (multiple streaming).
- Thực nghiệm nhận diện trên Vitis và phần cứng PL: Đo đạc tốc độ nhận diện của mô hình trên framework Darknet đối chiếu với tốc độ thực thi trên phần cứng PL của Ultra96-V2.
- Kiểm thử nhận diện đa đối tượng: Hệ thống thực nghiệm nhận diện thành công người và hàng loạt vật thể thực tế gồm: bàn chải đánh răng, sách, quả táo, muỗng, cốc đựng nước, túi đeo, ô che mưa, chai nước, ghế, xe đạp, điện thoại, laptop, dao, chuột máy tính.
- Đánh giá truyền luồng và khoảng cách kết nối: Đo đạc độ trễ streaming dựa trên khoảng cách kết nối Wi-Fi cho cả hai trường hợp có và không có xử lý YOLOv2. Phân tích các lỗi phát sinh (mất gói, vỡ hình) khi truyền luồng đồng thời đến nhiều máy nhận.
- Đóng gói sản phẩm: Trình bày bản vẽ thiết kế 3D và hình ảnh thực tế của vỏ hộp smart camera (mặt trước gắn camera, mặt ngang và mặt sau bố trí cổng kết nối), cùng giao diện nhận luồng video trên máy tính người dùng.
Chương 5. Kết luận và hướng phát triển
Chương tổng kết lại toàn bộ khối lượng công việc: thiết kế hoàn chỉnh hệ thống SoC trên nền tảng Ultra96-V2, tối ưu thành công IP YOLO2_FPGA, xây dựng hệ điều hành PetaLinux điều khiển luồng streaming qua Wi-Fi và đóng gói thiết bị. Tác giả cũng chỉ rõ những rào cản kỹ thuật gặp phải trong quá trình làm việc và vạch ra các hướng mở rộng cho hệ thống trong tương lai.
Kết quả và đóng góp
Khóa luận ghi nhận các kết quả thực nghiệm và đóng góp cụ thể về mặt kỹ thuật:
- Tối ưu hóa tài nguyên phần cứng IP YOLOv2: Giải quyết thành công lỗi tràn tài nguyên logic của nghiên cứu tiền nhiệm [1]. Bằng cách tái cấu trúc giao tiếp AXI từ 5 đường bus dữ liệu xuống 2 đường bus dữ liệu, IP core mới đã được tổng hợp thành công trên Vivado HLS 2019.2 và tích hợp trọn vẹn vào vi mạch Zynq UltraScale+ MPSoC.
- Hiện thực hóa hệ thống Smart Camera độc lập: Xây dựng hoàn chỉnh một thiết bị smart camera nhúng từ tầng phần cứng (Ultra96-V2, cảm biến USB, Wi-Fi WILC3000), hệ điều hành (PetaLinux với reserved memory và driver mạng tùy biến) đến tầng ứng dụng (Vitis, OpenCV, GStreamer, Socket TCP).
- Khả năng nhận dạng đối tượng đa dạng: Mạng YOLOv2 triển khai trên phần cứng PL nhận dạng chính xác sự hiện diện của con người và phân loại thành công 14 danh mục vật thể thông dụng trong môi trường thực tế (bàn chải đánh răng, sách, quả táo, muỗng, cốc đựng nước, túi đeo, ô che mưa, chai nước, ghế, xe đạp, điện thoại, laptop, dao, chuột máy tính).
- Truyền luồng không dây hai chế độ: Hệ thống thực thi linh hoạt hai chế độ truyền phát qua mạng Wi-Fi: luồng video thông thường độ phân giải cao và luồng video tích hợp khung nhận diện bounding box theo thời gian thực tới trình duyệt web và mô hình kết nối P2P.
- Đóng gói sản phẩm hoàn chỉnh: Đã thiết kế và chế tạo vỏ hộp bảo vệ cơ khí thực tế, tích hợp gọn gàng bo mạch, cảm biến và các cổng kết nối ngoại vi.
Hạn chế và hướng nghiên cứu tiếp
Dựa trên các phân tích đánh giá trong văn bản, đề tài tồn tại một số hạn chế kỹ thuật:
- Tốc độ hoạt động toàn bộ hệ thống khi tích hợp xử lý camera hình ảnh YOLOv2 còn thấp hơn so với các hệ thống smart camera sử dụng các thuật toán AI dạng nhẹ hoặc thuật toán truyền thống.
- Chế độ truyền luồng đến nhiều máy nhận đồng thời (multiple streaming) chưa đạt độ ổn định cao, hình ảnh thực nghiệm ghi nhận hiện tượng lỗi khung hình và suy giảm chất lượng truyền dẫn.
- Giới hạn về mặt thời gian thực hiện đồ án khiến nhóm tác giả chưa thể tối ưu sâu hơn nữa tần số thực thi thực tế của toàn hệ thống khi phối hợp đồng thời nhiều tác vụ nặng.
Hướng nghiên cứu tiếp theo được tác giả đề xuất:
- Cải tiến và tối ưu hóa sâu hơn cấu trúc phần cứng của khối xử lý YOLOv2 nhằm nâng cao hơn nữa tốc độ nhận dạng khung hình trên giây (FPS).
- Hoàn thiện và ổn định giải thuật truyền luồng đa máy nhận (multiple streaming) qua mạng Wi-Fi, khắc phục triệt để hiện tượng mất gói tin và vỡ khung hình.
- Thử nghiệm tích hợp các mô hình mạng nơ-ron học sâu tối ưu mới hơn hoặc các giải thuật nén mô hình để giảm thiểu tài nguyên tính toán và điện năng tiêu thụ trên các nền tảng SoC thế hệ tiếp theo.
Giá trị tham khảo
Khóa luận là tài liệu tham khảo hữu ích cho sinh viên, học viên và kỹ sư chuyên ngành Kỹ thuật Máy tính, Hệ thống Nhúng & IoT, Điện tử - Viễn thông và Thị giác Máy tính.
Những nội dung có giá trị tham khảo chuyên môn cao bao gồm:
- Quy trình thiết kế SoC và phương pháp viết mã tối ưu tổng hợp bậc cao (HLS) để chuyển đổi mạng nơ-ron tích chập (CNN) sang ngôn ngữ phần cứng Verilog RTL.
- Kỹ thuật phân chia và kết nối bus AXI (AXI HPM, S-AXI HP) giữa hệ thống xử lý PS và phần cứng logic PL trên dòng vi mạch hiện đại Xilinx Zynq UltraScale+ MPSoC.
- Quy trình xây dựng, cấu hình kernel và nhúng trình điều khiển ngoại vi (Wi-Fi SDIO, USB gadget, reserved memory) trên hệ điều hành PetaLinux.
- Phương pháp xây dựng pipeline xử lý video thời gian thực bằng GStreamer kết hợp lập trình Socket mạng phục vụ cho các ứng dụng Edge AI và IoT giám sát không dây.
Câu hỏi thường gặp
1. Tại sao nhóm tác giả phải thiết kế lại khối IP core YOLO2_FPGA thay vì sử dụng trực tiếp thiết kế từ nghiên cứu tiền nhiệm [1]?
Trong nghiên cứu [1] trên kit ZedBoard Zynq-7000, khối YOLO2_FPGA được thiết kế với 5 đường AXI Bus dữ liệu, tiêu tốn đến 56.549 LUTs và vượt quá ngưỡng tài nguyên cho phép của chip (tối đa 53.200 LUTs). Do đó, nhóm tác giả phải cấu trúc lại IP trên Vivado HLS, giảm xuống còn 2 đường dữ liệu AXI để giảm tài nguyên logic sau tổng hợp và tăng tần số xử lý.
2. Board phần cứng Ultra96-V2 sử dụng trong đề tài có những thông số cấu hình chính nào?
Board Ultra96-V2 do Avnet phân phối, trang bị vi mạch Xilinx Zynq UltraScale+ MPSoC ZU3EG SBVA484, bộ xử lý đa nhân ARM Cortex-A53 (APU), bộ nhớ 2 GB LPDDR4 của Micron, bộ tạo xung clock VersaClock 6E của Renesas, chip quản lý nguồn Infineon/ON Semiconductor và tích hợp sẵn module truyền thông Wi-Fi/Bluetooth Microchip WILC3000.
3. Kỹ thuật Reorg trong mô hình YOLOv2 giữ vai trò gì trong quá trình xử lý đặc trưng hình ảnh?
Lớp Reorg thực hiện việc tổ chức lại bộ nhớ để biến đổi feature map kích thước 26 x 26 thành kích thước 13 x 13 với chiều sâu kênh (channel) tăng lên 4 lần (lấy mẫu với stride bằng 2). Kỹ thuật này giúp đồng bộ kích thước để thực hiện phép ghép (concatenate) feature map tầng trung gian với feature map 13 x 13 ở tầng cuối, giúp mạng nắm bắt được các đặc trưng hạt mịn (fine-grained features).
4. Cơ chế truyền luồng video không dây từ smart camera đến máy nhận được thiết lập như thế nào?
Dữ liệu khung hình sau khi được xử lý sẽ chuyển qua hệ điều hành PetaLinux trên PS. Tại đây, phần mềm sử dụng thư viện GStreamer kết hợp OpenCV và lập trình Socket giao thức TCP/IP để đóng gói và truyền luồng dữ liệu qua module Wi-Fi WILC3000 (giao tiếp SDIO) tới điểm truy cập Wi-Fi Access Point, sau đó hiển thị trên web browser hoặc phần mềm nhận dạng P2P trên máy tính người dùng.
5. Hệ thống smart camera đã kiểm thử nhận dạng thành công những đối tượng cụ thể nào trong thực tế?
Hệ thống đã nhận diện thành công sự hiện diện của con người và 14 loại vật dụng, đồ vật thông thường bao gồm: bàn chải đánh răng, sách, quả táo, muỗng, cốc đựng nước, túi đeo, ô che mưa, chai nước, ghế, xe đạp, điện thoại, laptop, dao và chuột máy tính.
Kết luận
Khóa luận tốt nghiệp của tác giả Bùi Nguyễn Phát và Lê Minh Huy đã hiện thực hóa thành công một hệ thống smart camera hoàn chỉnh trên nền tảng Zynq UltraScale+ MPSoC (board Ultra96-V2). Nghiên cứu giải quyết bài toán tối ưu hóa tài nguyên phần cứng khi triển khai mạng nơ-ron tích chập YOLOv2 bằng cách giảm số đường bus AXI từ 5 xuống 2, giúp IP core hoạt động ổn định và giải phóng tài nguyên logic trên chip. Hệ thống đáp ứng tốt việc truyền luồng video không dây qua mạng Wi-Fi ở cả hai chế độ camera thường và camera nhận dạng vật thể, cung cấp một giải pháp thiết kế đồng thời phần cứng – phần mềm (HW/SW co-design) mẫu mực cho các ứng dụng trí tuệ nhân tạo biên trong giám sát thông minh.