Chương 1: Giới thiệu đề tài Chương đâu tiên sẽ nêu tính cap thiệt va lý do chon dé tài của nhóm, các mục tiêu đề ra, giới hạn và kết quả mong muốn đạt được. Chương 2: Cơ sở lý thuyết Giới thiệu về các nội dung nghiên cứu được công bố trên IEEE và các công nghệ có liên quan mà nhóm sử dụng trong khuôn khổ khóa luận lần này. Chương này cũng đề cập tới lý thuyết cơ bản về thị giác máy tính, học sâu và các khái niệm liên quan tới mô hình thuật toán YOLO. Tắt cả kiến thức trên được tổng hợp và ứng dụng trong khóa luận.
Chương 3: Phân tích và thiết kế hệ thống Chương này sẽ tập trung vào trình bày cách nhóm vận dụng những kiến thức đã sưu tầm được vào thiết kế hệ thong nhận diện biển báo giao thông sử dụng thuật toán YOLOv4 Tiny, xây dựng phần cứng trên FPGA, nạp và demo hệ thống. Nhóm cũng trình bày các kết quả đạt được đến thời điểm báo cáo khóa luận cũng như mô hình đóng gói sản phẩm. Chương 4: Thứ nghiệm và đánh gia Chương này thê hiện trình tự thử nghiệm và đánh giá hệ thống trên mô hình nhận diện biển báo thực hiện trên máy tính và FPGA, thống kê lượng tài nguyên mà hệ thống tiêu tốn trên FPGA. Chương 5: Kết luận và hướng phát triển Chương cuối cùng sẽ tổng kết toàn bộ kết quả mà nhóm đã thực hiện được cũng như trình bày các khó khăn gặp phải trong quá trình thực hiện khóa luận.
Đồng thời nêu ra phương hướng hoàn thiện hệ thống trong tương lai. Mạng thần kinh tích chập (CNN) Mạng neural tích chập hay còn được biết đến với tên CNN, là một mạng phân tầng được cấu thành từ các thành phần sau: Tấm ảnh đầu vào Tích chập Pooling Kết nối đầy đủ Hình 2.1: Minh họa các tầng của mạng Neuron tích chập 2. Tang tích chập (CONV) Tang tích chập (CONV) sử dụng các bộ lọc để thực hiện phép tích chập khi đưa chúng đi qua đầu vào II theo các chiều của nó. Các siêu tham số của các bộ lọc này bao gồm kích thước bộ lọc (Filter) F và độ trượt (Stride) S.
Kết quả đầu ra O được gọi là feature map hay activation map. Bộ lọc F Feature map Ma trận điểm ảnh Hình 2.2: Minh họa lớp tích chập 2. Pooling (POOL) Tang pooling (POOL) là một phép downsampling, thường được sử dung sau tầng tích chập, giúp giảm kích thước hình ảnh. Cụ thể, max pooling và average pooling là những dạng pooling đặc biệt, mà tương ứng là trong đó giá trị lớn nhất và giá trị trung bình được lấy ra.
kKiêu Max Pooling Average Pooling Từng phép pooling chon Tùng phép pooling tính giá trị lớn nhất trong khu trung bình các giá tn trong Chức nang vực mà nó đang được áp khu vực mà nó đang được áp dụng dụng Minh họa Bảng 2.1: Bảng so sánh đặc trưng kiêu Max và Average Pooling 2. Fully connected Trong mô hình mạng CNNs, tang kết nối day du (Fully connected) nhận dau vào là các dữ liệu đã được làm phăng, mà môi đâu vào đó được kết nôi đên tât cả neuron. Tang kết nối đầy đủ thường được tìm thấy ở cuối mang và được dùng dé tối ưu hóa mục tiêu của mạng ví dụ như độ chính xác của lớp. RY Cm SE Vave We 2Â SNe gy Re NaS ma tran dau vao ma trận được làm phẳng Hình 2.3: Minh họa kết nối của tầng Fully Connected 2.
Phát hiện vật thé (Object Detection) 2. Phương pháp phát hiện vật thé Trong bối cảnh phát hiện (detection) vật thể, những phương pháp khác nhau được áp dụng tùy thuộc vào mục đích sử dụng. Hai phương pháp chính được tổng hợp ở hy) (aes lay) (ha, (lz LÍ (Ire; ru) (lee. the ly) (lee, lay) e Phát hiện và khoanh vùng đối e Phát hiện hình dạng và đặc tượng trong ảnh.
trưng của đối tượng (vd: mắt, tay,. e Gồm nhiều dot, mỗi dot tương ứng với vùng phát hiện đặc trưng. Hộp khoanh vùng có tọa độ trung Các dot tương quan (lix, liy),. rộng hộp lần lượt là bn va bw.2: Bảng so sánh các phương pháp phát hiện vật thê 2.
Intersection over Union Ti lé ving giao trén ving hop, con duoc biết đến là Intersection over Union (IloU), là một hàm định lượng vi trí Bp của hộp giới hạn dự đoán được định vi đúng như thế nào so với hộp giới hạn thực tế Ba. Nó được định nghĩa: Hình 2.4: Mô ta vi tri tương đối của hộp dự đoán so với thực tế 2. Anchor boxes La một kỹ thuật được dùng dé dự đoán những hộp giới hạn nam chồng lên nhau. Trong thực nghiệm, mạng được phép dự đoán nhiều hơn một hộp cùng một lúc, trong đó mỗi dự đoán được giới hạn theo một tập những tính chất hình học cho trước.5 bên dưới minh họa quá trình chọn Anchor box.
Gia sử từ Cell 1 xác định được 3 anchor boxes viền xanh như trong hình. Cả 3 anchor boxes này đều giao nhau với bounding box của vật thể. Tuy nhiên chỉ anchor box có đường viền dày nhất màu xanh được lựa chọn làm anchor box cho vật thể bởi nó có IoU so với bounding box là cao nhất. 12 B bounding box candidates in total The “responsible” predictor in cell i has the highest loU with the ground truth.
Truth bounding box Hình 2.5: Xác định anchor box cho một vật thể 2. Non-max suppression Kỹ thuật non-max suppression hướng tới việc loại bỏ những hộp giới hạn bi chồng lặp lên nhau của cùng một đối tượng băng cách chọn chiếc hộp có tính đặc trưng nhất.6 minh họa kỹ thuật non-max suppression tiến hành loại bỏ tất cả các hộp có xác suất dự đoán lớn hơn một ngưỡng (trong nhiều tài liệu đề cập thường là 0.5), lặp lại quá trình cho đến khi thu được một bounding box cuối cùng. Với một lớp cho trước * Bước 1: Chọn chiếc hộp có xác suất chứa vật thé là lớn nhất. * Bước 2: Loại bỏ những hộp có IoU > 0.5 so với hộp đã chon.
Lk Chon hộp với xác Loại bỏ trùng lặp eon sa, es Các dự đoán hộp => suất cao nhất => trong cùng một lớp >> Cac hộp giới hạn cuối cùng Hình 2.6: Minh họa quá trình Nonmax Suppression 13 2. Các thuật toán nhận diện vật thể tiêu biểu 2. R-CNN Region with Convolutional Neural Networks (R-CNN) là một thuật toán phát hiện vật thê mà đầu tiên phân chia ảnh thành các vùng đề tìm các hộp giới hạn có khả năng liên quan cao rồi chạy một thuật toán phát hiện để tìm những thứ có khả năng cao là vật thể trong những hộp giới hạn đó. Mặc dù thuật toán R-CNN có chỉ phí tính toán cao và chậm, nhưng những kiến trúc mới đã có thé cho phép thuật toán này chạy nhanh hơn, như là Fast R-CNN và Faster R-CNN.
„Gấu bông Ảnh gốc — Phân vùng ==> Dự đoán hộp giới han == Non-max suppression Hình 2.7: Minh họa tiến trình xử lý của thuật toán R-CNN 2. YOLO You Only Look Once (YOLO) là một thuật toán phát hiện vat thể thực hiện những bước sau: - Bước 1: Phân chia tam anh đầu vào thành một lưới GxG. * Bước 2: Với mỗi lưới, chạy một mang CNN dự đoán y có dang sau: IBŒx6xkx(5+n) "¬——— lặp lại & lần (2.2) 14 với pe là xác suất dự đoán được một vật thể, bx,by,bh,bw là những thuộc tính của hộp giới hạn được dự đoán, cl,.,cp biểu diễn one-hot của việc lớp nào trong p lớp được dự đoán, và k là sô lượng các Anchor boxes. ¢ Bước 3: Chạy thuật toán non-max suppression dé loại bỏ bất kỳ hộp giới hạn có khả năng bị trùng lặp.
Gấu bông : Phân chia thành lưới mm. 7 Anh gốc => GxG ===> Du đoán hộp giới hạn ===> Non-max suppression Hình 2.8: Minh họa các bước xử lý của thuật toán YOLO 2. Tổng quan YOLOv4 được phát triển từ năm 2015 bởi nhóm tác giả Alexey Bochkovskiy, C. Cấu trúc mạng YOLOv4 được minh họa ở hình 2.
Dense Prediction Sparse Prediction Giải thích: Input: Ma trận ảnh đầu vào. 15 Backbone: Lớp Convolution thực hiện trích xuất đặc trưng đối tượng từ ảnh. Neck: Lớp Pooling thực hiện xử lý và kết hợp các đặc trưng đối tượng được trích xuất từ Backbone. Dense Prediction: Dự đoán nhãn cho đối tượng trong ảnh.
Sparse Prediction: Dự đoán thưa thớt trên tap bounding box, làm tang tốc độ nhận diện mô hình. Về cơ bản, cau trúc YOLOv4 Tiny kế thừa từ các phiên bản YOLO tiền nhiệm. Tuy nhiên, có một vài thay đổi đáng chú ý được liệt kê sau đây. Cross Stage Partial block Partial Dense Block ense Layer 1 {| Dense Layer 2 ras Dense Layer k : „si 'L 4 ` ON p1 ' /.
teehee oc ein! ' conv conv ⁄ ‘© conv / ` conv / ` ụ SARE : ' / | lệ kế „ \ / oe) N / XX 4 Partial Transition Layer 'Xg» sconcatt + ¿ COnCAE X / concat ` / concat “si th Oo” „ ¿ !¡ 7 4 ` ` —- sung h. VNI : ' ị of : , Hồn ea: Ị : i / bé Ẻ : : I t h ~-— 9 ` -——>ool h„”m.——- > it _=—==—==XỊ: ' copy Ì { copy: 4 ‘Cony conv: A (b) Cross Stage Partial DenseNet Hình 2.10: Minh hoa khối CSP Cross Stage Partial Block (CSP) thực hiện tách feature map ra thành 2 phan, mot phan sẽ cho đi qua những khối Fully connected block với nhiều Fully connected layer (Dense layer) va một transition layer; phần còn lại sé được kết hợp với với transmitted feature map để mang sang stage tiếp theo. Vì vậy, với cấu trúc này thì trong mạng sẽ có 2 luồng gradient và feature map được hoạt động độc lập với nhau dé thực hiện những mục đích riêng. Khối CSP không chỉ bảo toàn được lợi ích của việc sử dụng lại những đặc trưng của mạng DenseNet mà còn thêm khả năng ngăn chặn lượng thông tin đạo hàm trùng lặp quá mức bằng cách cắt bớt dòng đạo hàm.
16 Nhờ vậy, mô hình có thê tăng tôc quá trình training và giảm sô lượng tham sô cân tính toán dé tăng thêm tốc độ suy luận. Drop block DropBlock thực hiện bo di nhóm neuron tai một số vi trí ngẫu nhiên dé tránh hiện tượng chồng chéo trong feature map thay vì chỉ bỏ đi một vị trí. Điều này là do các VỊ trí trong feature map của mạng tích chập có độ tương quan cao với nhau.11: Minh hoa su dung dropblock 2. Ham Mist Khi training, ham Mish loại bỏ hiện tượng ham kích hoạt ReLU không hoạt động ( hoặc đạo hàm từ vị trí hàm ReLU luôn trả về giá trị 0 cho bất kỳ đầu vào nào).
Vì những tính chất này, hàm Mish có khả năng tăng tốc quá trình training và hoạt động tốt hơn các hàm kích hoạt khác.