Giới thiệu dự án

Sự bùng nổ của thị giác máy tính (Computer Vision) và trí tuệ nhân tạo (AI) đã thúc đẩy nhu cầu nhận dạng đối tượng thời gian thực trong nhiều lĩnh vực công nghiệp, từ xe tự hành, camera giám sát thông minh cho đến robot tự động hóa. Tuy nhiên, việc thực thi các mô hình Mạng nơ-ron tích chập (Convolutional Neural Network - CNN) phức tạp như họ thuật toán YOLO (You Only Look Once) trên các bộ xử lý đa năng (CPU) thường gặp phải nút thắt cổ chai nghiêm trọng về thông lượng và độ trễ. Ngược lại, việc triển khai trên các bộ xử lý đồ họa (GPU) tuy mang lại hiệu năng cao nhưng lại tiêu thụ điện năng rất lớn (thường từ vài chục đến hàng trăm Watts), tạo ra rào cản lớn khi triển khai tại các thiết bị biên (Edge Devices) có nguồn năng lượng giới hạn.

Đề tài "Nghiên cứu cải tiến tích hợp thuật toán YOLO trên FPGA Zynq-7020" do tác giả Phan Hùng Cường thực hiện dưới sự hướng dẫn của TS. Nguyễn Minh Sơn tại Trường Đại học Công nghệ Thông tin – ĐHQG-HCM giải quyết bài toán cốt lõi: tối ưu hóa phần cứng và tăng tốc suy luận thuật toán phát hiện đối tượng YOLOv2 trên nền tảng vi mạch bán dẫn lập trình được (FPGA), đảm bảo cân bằng tối ưu giữa độ chính xác, tốc độ xử lý và mức tiêu thụ công suất.

+-------------------------------------------------------------------------------+
|                             HỆ THỐNG ZYNQ-7000 SoC                            |
|                                                                               |
|  +---------------------------+             +-------------------------------+  |
|  |  Processing System (PS)   |   AXI-4     |   Programmable Logic (PL)     |  |
|  |   - Dual ARM Cortex-A9    |<----------->|   - Custom YOLO Accelerator   |  |
|  |   - PetaLinux OS          |   High-Perf |   - Conv / Pooling / Reorg PE |  |
|  |   - Post-Processing & GUI |     Bus     |   - AXI-Stream Video Pipeline |  |
|  +---------------------------+             +-------------------------------+  |
+-------------------------------------------------------------------------------+

Mục tiêu cụ thể của công trình bao gồm:

  1. Nghiên cứu sâu về cấu trúc toán học và cơ chế hoạt động của mô hình phát hiện đối tượng YOLOv1 và mạng cải tiến YOLOv2 (Darknet-19 backbone).
  2. Thiết kế và đóng gói các khối IP Core chuyên dụng (Custom IP) cho các tầng tính toán nơ-ron tích chập (Convolution), chuẩn hóa (Batch Normalization), hàm kích hoạt phi tuyến (ReLU) và tầng tái cấu trúc ma trận (Reorg Layer) bằng công cụ Vivado HLS và Verilog/VHDL.
  3. Thiết kế hệ thống thu nhận hình ảnh thời gian thực tích hợp cảm biến Camera CMOS OV7670 qua giao thức AXI4-Stream và AXI DMA.
  4. Triển khai hoàn chỉnh thiết kế đồng bộ Phần cứng – Phần mềm (Hardware/Software Co-design) trên kit phát triển ZedBoard (Xilinx Zynq-7000 SoC XC7Z020-CLG484-1), chạy trên nền tảng hệ điều hành nhúng PetaLinux.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi tiến hành thiết kế phần cứng chuyên dụng, các giải pháp tính toán biên hiện có được so sánh chi tiết để làm rõ lý do lựa chọn kiến trúc System-on-Chip (SoC) FPGA:

Tiêu chí đánh giá Vi xử lý nhúng (CPU ARM) Bộ xử lý đồ họa biên (GPU Nhúng) Nền tảng SoC FPGA (Zynq-7020)
Khả năng xử lý song song Thấp (tuần tự theo luồng) Rất cao (SIMD/SIMT) Tùy biến linh hoạt theo luồng dữ liệu (Dataflow)
Độ trễ xử lý (Latency) Cao ($>100\text{ ms}$) Trung bình ($30 - 60\text{ ms}$) Cực thấp, xác định thời gian thực ($<20\text{ ms}$)
Công suất tiêu thụ (Power) Thấp ($2 - 5\text{ W}$) Cao ($10 - 30\text{ W}$) Rất thấp ($2.5 - 7.5\text{ W}$)
Hiệu suất năng lượng (FPS/Watt) Thấp Trung bình Tối ưu vượt trội
Khả năng tùy biến phần cứng Không thể Không thể Toàn diện ở mức Register-Transfer Level (RTL)

Yêu cầu kỹ thuật của hệ thống được xác định theo mô hình MoSCoW:

  • Must have: Thực thi các phép tính tích chập ma trận 2D song song; module xử lý tái cấu trúc bộ nhớ Reorg của YOLOv2; giao tiếp DMA tốc độ cao; giao tiếp video stream qua Pmod với camera OV7670.
  • Should have: Giảm thiểu truy cập bộ nhớ ngoài DDR3 thông qua hệ thống đệm trên chip (On-chip BRAM); hỗ trợ pipeline luồng xử lý AXI4-Stream.
  • Could have: Đóng gói toàn bộ nhân xử lý thành hệ thống độc lập hiển thị trực tiếp ra cổng VGA/HDMI.
  • Won't have: Huấn luyện trực tiếp mạng nơ-ron trên FPGA (quá trình training thực hiện offline trên máy trạm GPU).

Thiết kế hệ thống

Kiến trúc tổng thể của hệ thống tăng tốc YOLOv2 trên bo mạch ZedBoard kết hợp giữa hai phân vùng: Processing System (PS) sử dụng vi xử lý ARM Cortex-A9 và Programmable Logic (PL) chứa các bộ tăng tốc phần cứng tùy biến.

+---------------+     Raw Pixels     +---------------------+    AXI4-Stream   +-------------------+
| Camera OV7670 | -----------------> | Capture Video IP    | ---------------> | AXI Stream FIFO   |
+---------------+                    +---------------------+                  +-------------------+
                                                                                        |
+---------------------------------------------------------------------------------------+
|
v
+------------------+   BRAM Buffers   +-----------------------+   AXI-Lite Ctrl   +---------------+
| AXI Direct       | ---------------> | Accelerator Engine:   | <---------------- | ARM Cortex-A9 |
| Memory Access    | <--------------- | - PE Array (Tn=4,Tm=2)|                   | (PetaLinux)   |
| (AXI DMA Core)   |                  | - Pooling & Reorg     |                   | Output / GUI  |
+------------------+                  +-----------------------+                   +---------------+

Công nghệ và công cụ sử dụng:

  • Xilinx Vivado Design Suite: Môi trường tích hợp tổng hợp RTL, cấu hình sơ đồ khối (Block Design), định tuyến (Place & Route) và tạo tệp nhị phân bitstream.
  • Xilinx Vivado HLS (High-Level Synthesis): Chuyển đổi thuật toán phần mềm viết bằng C/C++ sang các khối phần cứng RTL (VHDL/Verilog) tối ưu hóa pipeline.
  • PetaLinux & Xilinx SDK: Xây dựng Linux Kernel nhúng, U-Boot bootloader, cây thiết bị (Device Tree) và phần mềm điều khiển tầng ứng dụng.
  • Phần cứng mục tiêu: Xilinx Zynq-7000 SoC (XC7Z020-CLG484-1), 512 MB DDR3 RAM, 256 Mb Quad-SPI Flash, giao tiếp ngoại vi Pmod kết nối Camera OV7670.

Hệ thống giao tiếp nội bộ sử dụng chuẩn giao thức ARM AMBA AXI4:

  • AXI4-Lite: Dành cho việc ghi nhận cấu hình các thanh ghi điều khiển, kiểm tra trạng thái hoạt động của IP.
  • AXI4-Stream: Đảm bảo luồng truyền dữ liệu liên tục không gián đoạn giữa bộ đệm camera, FIFO và các module tính toán.
  • AXI4-Full: Giao tiếp Direct Memory Access (DMA) cho phép nạp trọng số (weights) và mảng pixel trực tiếp giữa DDR3 và BRAM mà không làm tiêu tốn chu kỳ tính toán của CPU.

Methodology

Phương pháp nghiên cứu tuân thủ quy trình thiết kế phần cứng – phần mềm đồng thời (Hardware/Software Co-design):

  1. Phân rã mô hình: Phân tích cấu trúc mạng Darknet-19 của YOLOv2, phân loại các lớp có chi phí tính toán cao (Convolution chiếm hơn 90% số phép tính nhân-cộng MAC) để đẩy xuống phần cứng PL, các tầng hậu xử lý (Non-Maximum Suppression, phân ngưỡng Confidence) được giao cho vi xử lý PS.
  2. Tối ưu hóa mức thanh ghi: Sử dụng kỹ thuật Loop Tiling và Loop Unrolling trong Vivado HLS để chia nhỏ tensor dữ liệu thành các khối phù hợp với dung lượng bộ nhớ BRAM (Block RAM) của chip Zynq-7020.
  3. Hiện thực hóa và kiểm thử: Tiến hành kiểm thử từ mô phỏng dạng sóng (RTL Simulation), đóng gói IP, tích hợp Platform trên Vivado, cấu hình nhân Linux PetaLinux và nạp kiểm tra thực tế trên kit ZedBoard.

Implementation và kết quả

Development process

Quá trình triển khai tập trung vào việc thiết kế cấu trúc tính toán song song cho các lớp nền tảng của YOLOv2:

  1. Khối nhân xử lý tế bào thần kinh (Neuron Compute Module): Phép tích chập ma trận 2D được biểu diễn qua công thức toán học: $$y[h, w, m] = \sum_{c=0}^{C-1} \sum_{k_h=0}^{K-1} \sum_{k_w=0}^{K-1} x[h \cdot s + k_h, w \cdot s + k_w, c] \cdot W[k_h, k_w, c, m] + b[m]$$

Để tối ưu hóa số khối DSP48E1 trên Zynq-7020, hệ thống sử dụng tham số loop tiling với kích thước song song kênh đầu vào $T_n = 4$ và song song kênh đầu ra $T_m = 2$. Điều này cho phép thực hiện đồng thời 8 phép nhân chập song song trong mỗi chu kỳ xung nhịp.

// Cấu hình tối ưu hóa Vivado HLS cho khối tích chập
void conv_engine(data_t in_feat[MAX_IN], data_t out_feat[MAX_OUT], weight_t weight[MAX_W]) {
    #pragma HLS INLINE off
    #pragma HLS ARRAY_PARTITION variable=weight cyclic factor=4 dim=1
    #pragma HLS ARRAY_PARTITION variable=in_feat cyclic factor=4 dim=1

    Row_Loop: for(int r = 0; r < OUT_H; r++) {
        Col_Loop: for(int c = 0; c < OUT_W; c++) {
            #pragma HLS PIPELINE II=1
            Tile_Out: for(int tm = 0; tm < Tm; tm++) {
                #pragma HLS UNROLL
                Tile_In: for(int tn = 0; tn < Tn; tn++) {
                    #pragma HLS UNROLL
                    acc[tm] += in_feat[r + kr][c + kc][tn] * weight[kr][kc][tn][tm];
                }
            }
        }
    }
}
  1. Khối chuẩn hóa hàng loạt (Batch Normalization) & Kích hoạt phi tuyến (ReLU): Nhằm tránh tính toán phép chia và căn bậc hai phức tạp trên phần cứng, biểu thức chuẩn hóa hàng loạt được gộp trước với hệ số tỉ lệ và độ lệch trong quá trình nạp trọng số: $$y_i = \gamma \cdot \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}} + \beta \implies y_i = w_{new} \cdot x_i + b_{new}$$ Sau đó, hàm phi tuyến ReLU được phần cứng hóa đơn giản bằng logic so sánh: $$f(x) = \max(0, x)$$

  2. Khối tái cấu trúc không gian (Reorg Layer Module): Module Reorg chịu trách nhiệm chuyển đổi bản đồ đặc trưng có độ phân giải $26 \times 26 \times 64$ thành $13 \times 13 \times 256$ mà không làm mất thông tin chi tiết. Về mặt phần cứng, module này sử dụng máy trạng thái hữu hạn (FSM) để sắp xếp lại địa chỉ đọc/ghi trên các cổng BRAM độc lập, giảm độ trễ biến đổi ma trận xuống còn mức hàng chục micro giây.

                      CƠ CHẾ HOẠT ĐỘNG KHỐI REORG LAYER
        Channel 0 (4x4)                           Channel 0-3 (2x2)
    +----+----+----+----+                    +----+----+    +----+----+
    | 1  | 2  | 5  | 6  |                    | 1  | 5  |    | 2  | 6  |
    +----+----+----+----+                    +----+----+    +----+----+
    | 3  | 4  | 7  | 8  |   Tái tổ chức      | 9  | 13 |    | 10 | 14 |
    +----+----+----+----+  ------------->    (Channel 0)    (Channel 1)
    | 9  | 10 | 13 | 14 |    Stride = 2
    +----+----+----+----+                    +----+----+    +----+----+
    | 11 | 12 | 15 | 16 |                    | 3  | 7  |    | 4  | 8  |
    +----+----+----+----+                    +----+----+    +----+----+
                                             | 11 | 15 |    | 12 | 16 |
                                             (Channel 2)    (Channel 3)
  1. Hàm mất mát và Hộp neo (Anchor Boxes Regression): Tọa độ hộp bao giới hạn $(b_x, b_y, b_w, b_h)$ được tính toán bằng hàm sigmoid và số mũ: $$b_x = \sigma(t_x) + c_x, \quad b_y = \sigma(t_y) + c_y$$ $$b_w = p_w e^{t_w}, \quad b_h = p_h e^{t_h}$$ Thuật toán K-means phân cụm dữ liệu huấn luyện xác định 5 hộp neo tối ưu giúp tăng chỉ số IoU (Intersection Over Union) khi nhận dạng.

Testing và validation

Hệ thống được đánh giá thực nghiệm bằng cả mô phỏng vi mạch (Vivado Simulator) và kiểm thử thực tế với đối tượng ở các khoảng cách thay đổi từ gần đến xa ($20\text{ cm}$, $40\text{ cm}$, $80\text{ cm}$, $120\text{ cm}$):

+------------------------------------------------------------------------------+
|                         KẾT QUẢ THỰC NGHIỆM HỆ THỐNG                         |
+--------------------------------------+---------------------------------------+
|  Khoảng cách: 20 cm - 40 cm          |  Khoảng cách: 80 cm - 120 cm          |
|  Độ chính xác nhận diện: 92.4%       |  Độ chính xác nhận diện: 84.1%        |
|  IoU đạt được: > 0.78                |  IoU đạt được: > 0.65                 |
|  Độ trễ xử lý: 18.2 ms               |  Độ trễ xử lý: 18.2 ms                |
+--------------------------------------+---------------------------------------+

Độ chính xác và sai số nội địa hóa theo khoảng cách:

  • Ở cự ly $20\text{ cm} - 40\text{ cm}$, hệ thống phát hiện chính xác đối tượng với khung bao bám sát kích thước vật thể, điểm tin cậy đạt trên $90%$.
  • Ở cự ly $80\text{ cm} - 120\text{ cm}$, kích thước vật thể thu nhỏ khiến số lượng ô lưới tham gia phát hiện giảm, tuy nhiên mô hình vẫn duy trì khả năng nhận dạng ổn định nhờ cơ chế trích xuất đặc trưng đa tầng của Darknet-19.

Kết quả đạt được

Tài nguyên phần cứng tiêu thụ trên chip FPGA Xilinx Zynq-7020:

  • LUT (Look-Up Table): 38,420 / 53,200 ($72.2%$)
  • FF (Flip-Flop): 46,110 / 106,400 ($43.3%$)
  • BRAM (Block RAM 36Kb): 112 / 140 ($80.0%$)
  • DSP48E1 Slices: 178 / 220 ($80.9%$)

So sánh hiệu năng giữa Darknet phần mềm thuần túy và Hệ thống tăng tốc FPGA:

Nền tảng thực thi Tần số xung nhịp Thông lượng xử lý (FPS) Công suất tiêu thụ
ARM Cortex-A9 (Chạy phần mềm) $667\text{ MHz}$ $\sim 0.4\text{ FPS}$ $1.8\text{ W}$
Host PC (Intel Core i5 CPU) $3.2\text{ GHz}$ $\sim 4.2\text{ FPS}$ $65\text{ W}$
Zynq-7020 FPGA Accelerator $100\text{ MHz (PL)} / 667\text{ MHz (PS)}$ $22.5\text{ FPS}$ $3.6\text{ W}$

Hệ thống tăng tốc phần cứng đạt tốc độ xử lý nhanh gấp 56 lần so với chạy phần mềm trên vi xử lý ARM nhúng, đồng thời tiết kiệm hơn $90%$ năng lượng so với vi xử lý x86 truyền thống.

Đổi mới và đóng góp

  1. Kiến trúc phần cứng song song thích ứng tài nguyên: Thiết kế thành công cấu trúc mảng nhân tính toán nơ-ron có thể co giãn linh hoạt ($T_n = 4, T_m = 2$), khai thác triệt để các khối DSP48E1 và BRAM hạn chế trên dòng FPGA giá rẻ Zynq-7020 mà không làm tràn tài nguyên logic.
  2. Phần cứng hóa toàn diện tầng Reorg: Xử lý triệt để lớp Reorg Layer bằng sơ đồ chuyển đổi địa chỉ bộ nhớ song song trong FPGA, loại bỏ hoàn toàn độ trễ tráo đổi dữ liệu ma trận (Tensor Transpose Overhead) vốn là gánh nặng lớn của CPU.
  3. Quy trình Co-design hoàn chỉnh từ Camera đến Hệ điều hành: Tích hợp trực tiếp luồng video từ cảm biến OV7670 qua chuẩn AXI4-Stream vào PetaLinux, tạo nên một giải pháp nhúng tất-cả-trong-một (All-in-One Embedded System) hoàn chỉnh, có tính ứng dụng thực tiễn cao tại Việt Nam.

So sánh với các nghiên cứu tiền nhiệm:

  • So với nghiên cứu của WalkerLau (GitHub CNN Accelerator): WalkerLau chỉ tăng tốc được mạng nơ-ron nhận dạng 7 tầng đơn giản; trong khi công trình này hiện thực hóa toàn diện mạng phát hiện đối tượng YOLOv2 phức tạp gồm 19 tầng tích chập và các nhánh đặc trưng ghép nối.
  • So với công trình của Mohamed Atri et al. (Face Detection MLP): Nghiên cứu của Mohamed Atri tập trung vào cấu trúc Perceptron đa tầng (MLP) cho phân loại ảnh tĩnh; công trình này giải quyết bài toán phát hiện đối tượng đa kích thước trong thời gian thực trên luồng video liên tục.

Ứng dụng thực tế và triển khai

Hệ thống có khả năng ứng dụng rộng rãi vào các hệ thống đòi hỏi tính gọn nhẹ và phản hồi tức thời:

  • Thiết bị giám sát an ninh độc lập: Lắp đặt tại các vị trí không có nguồn điện lưới hoặc kết nối mạng băng thông rộng, phân tích trực tiếp hình ảnh tại biên để phát hiện xâm nhập trái phép.
  • Hệ thống hỗ trợ lái xe nâng cao (ADAS) và Xe tự hành (AGV): Cung cấp khả năng nhận diện người đi bộ, vật cản và phương tiện với độ trễ thấp, đảm bảo an toàn vận hành.
  • Thiết bị bay không người lái (UAV): Nhờ mức tiêu thụ công suất cực thấp ($\sim 3.6\text{ W}$), bo mạch có thể tích hợp trực tiếp lên drone mà không làm giảm đáng kể thời lượng pin.
+-----------------------------------------------------------------------------+
|                          LỘ TRÌNH TRIỂN KHAI THỰC TẾ                        |
+-----------------------------------------------------------------------------+
| Giai đoạn 1: Nạp cấu hình Bitstream và Device Tree Overlay vào thẻ nhớ SD.  |
| Giai đoạn 2: Kết nối Pmod Camera OV7670, khởi động PetaLinux Kernel.        |
| Giai đoạn 3: Tải ứng dụng nhúng, khởi tạo DMA Engine và nạp Weights.       |
| Giai đoạn 4: Chạy luồng suy luận thời gian thực và xuất tín hiệu điều khiển |
+-----------------------------------------------------------------------------+

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Tài nguyên logic trên dòng chip XC7Z020 hạn chế số lượng bộ xử lý song song, chưa thể triển khai đồng thời toàn bộ trọng số ở độ chính xác dấu phẩy động 32-bit (FP32).
  • Cảm biến OV7670 sử dụng chuẩn truyền nhận điểm ảnh tốc độ cơ bản, chất lượng hình ảnh phụ thuộc nhiều vào điều kiện ánh sáng môi trường.

Hướng phát triển

  • Lượng tử hóa trọng số (Quantization): Nghiên cứu chuyển đổi mô hình từ dấu phẩy động sang số nguyên 8-bit (INT8) hoặc Mạng nơ-ron nhị phân (Binary Neural Networks - BNN) để giảm $75%$ dung lượng lưu trữ trọng số và giải phóng tài nguyên BRAM.
  • Nâng cấp nền tảng phần cứng: Chuyển đổi thiết kế sang các dòng SoC cao cấp hơn như Xilinx Zynq UltraScale+ MPSoC (ZCU102/ZCU104), tích hợp kiến trúc DPU (Deep Learning Processor Unit) để hỗ trợ các phiên bản mạng mới hơn như YOLOv5, YOLOv8.
  • Tự động hóa luồng biên dịch: Xây dựng phần mềm trung gian tự động phân tích và sinh mã tối ưu hóa từ framework PyTorch/TensorFlow trực tiếp sang cấu hình phần cứng FPGA.

Đối tượng hưởng lợi

  • Sinh viên và Học viên ngành Kỹ thuật Máy tính, Điện tử: Nguồn tài liệu tham khảo chi tiết về phương pháp đồng thiết kế Phần cứng – Phần mềm, lập trình Vivado HLS và nhúng PetaLinux trên kiến trúc SoC.
  • Kỹ sư Thiết kế Vi mạch & Hệ thống Nhúng: Cung cấp giải pháp mẫu (Reference Design) về việc tích hợp giao tiếp AXI4-Stream, điều khiển AXI DMA và quản lý băng thông bộ nhớ DDR trong các bài toán xử lý tín hiệu số tốc độ cao.
  • Doanh nghiệp R&D thiết bị AIoT: Tiết kiệm chi phí nghiên cứu và rút ngắn thời gian đưa sản phẩm (Time-to-Market) ra thị trường cho các dòng camera thông minh hoạt động tại môi trường công nghiệp khắc nghiệt.
  • Cộng đồng nghiên cứu Khoa học: Minh chứng thực nghiệm cho thấy tiềm năng to lớn của việc ứng dụng FPGA trong việc giải quyết các bài toán biên thay thế GPU truyền thống.

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

  1. Yêu cầu phần cứng tối thiểu để triển khai lại hệ thống này là gì?
    Hệ thống yêu cầu một kit phát triển trang bị chip Xilinx Zynq-7000 SoC (tối thiểu XC7Z020 như ZedBoard hoặc PYNQ-Z2), bộ nhớ DDR3 tối thiểu 512 MB, thẻ nhớ MicroSD dung lượng từ 4GB và module camera hỗ trợ giao tiếp song song như OV7670 hoặc OV5640.

  2. Tại sao lại chọn YOLOv2 thay vì YOLOv1 cho thiết kế phần cứng?
    YOLOv2 loại bỏ các lớp Fully-Connected (vốn chiếm nhiều bộ nhớ) và thay bằng các lớp tích chập hoàn toàn (Fully Convolutional), bổ sung Batch Normalization và Reorg Layer giúp tăng mAP, đồng thời kiến trúc này rất thân thiện với việc pipeline hóa trên phần cứng FPGA.

  3. Giao thức AXI4-Stream đóng vai trò gì trong kiến trúc này?
    AXI4-Stream là giao thức truyền dữ liệu điểm-tới-điểm tốc độ cao, không cần truyền kèm địa chỉ bộ nhớ cho từng pixel, giúp luân chuyển dữ liệu liên tục từ camera đến bộ đệm FIFO và bộ tăng tốc mà không làm nghẽn bus hệ thống.

  4. Hệ thống có thể phát hiện được bao nhiêu lớp đối tượng?
    Hệ thống hỗ trợ nhận diện các lớp theo tập dữ liệu Pascal VOC (20 lớp) hoặc COCO (80 lớp), phụ thuộc vào tệp trọng số (weight file) đã được huấn luyện trước và cấu hình kích thước tensor đầu ra ở lớp tích chập cuối cùng.

  5. Làm thế nào để xử lý hiện tượng quá nhiệt khi FPGA hoạt động hết công suất?
    Với công suất tiêu thụ thực tế chỉ khoảng $3.6\text{ W}$, chip Zynq-7020 chỉ cần tản nhiệt nhôm thụ động (Passive Heatsink) tiêu chuẩn mà không cần quạt tản nhiệt chủ động, đảm bảo độ bền hoạt động liên tục trong môi trường công nghiệp.

Kết luận

Đề tài "Nghiên cứu cải tiến tích hợp thuật toán YOLO trên FPGA Zynq-7020" của tác giả Phan Hùng Cường đã chứng minh tính khả thi và hiệu quả vượt trội của giải pháp tăng tốc phần cứng cho các mạng nơ-ron học sâu phức tạp. Bằng việc kết hợp hài hòa giữa bộ công cụ phát triển Vivado HLS, hệ điều hành nhúng PetaLinux và kiến trúc song song tùy biến trên FPGA, công trình đã xây dựng thành công một hệ thống phát hiện đối tượng thời gian thực với hiệu suất năng lượng vượt bậc, mở ra hướng đi đầy triển vọng cho các ứng dụng trí tuệ nhân tạo biên tại Việt Nam.