CHƯƠNG 1: TONG QUAN CHUONG 2: CO SO LY THUYET CHƯƠNG 3: THIET KE HE THONG CHUONG 4: THU NGHIEM VA ĐÁNH GIA KET QUA CHƯƠNG 5: KET LUẬN 17 CHƯƠNG2.KHAI NIỆM MÔ HÌNH YOLOV7 Là một mạng no-ron sâu (DNN) nên mô hình YOLOv7 có nhiều lớp giữa đầu vô (input) và đầu ra (output). Khái niệm về mạng lưới nơ-ron sâu được lấy cảm hứng từ các tế bào thần kinh có khả năng cảm ứng trong cơ thê sinh vật. Ở mức độ cao, một tế bào thần kinh nơ-ron nhận được nhiều tín hiệu thông qua các khớp thần kinh tiếp xúc với các sợi nhánh của nó và gửi một dòng điện thông qua sợi trục của nó. Độ phức tạp của nhiều đầu vào được giảm bớt bằng cách phân loại mẫu đầu vào của nó.
Các mô hình nơ-ron được con người tạo ra bao gồm các đơn vị kết hợp nhiều đầu vô và chỉ tạo ra duy nhất một đầu ra nên lây cảm hứng từ việc này. Mã nguồn này cấp theo giấy phép GPL-3.0 đưới dang mã nguồn mở, có thé được tìm thấy trong Github và đã được đánh giá hơn 4000 sao trong tháng đầu tiên khi phát hành. YOLOv7 được biết tới là một chương trình phát hiện đối tượng theo thời gian thực tế với tốc độ phát hiện và chỉ số chính xác trong khoảng từ 5 FPS tới 160 FPS cho các thao tác thị giác máy tính từ lúc nghiên cứu vào năm 2022. Nó có chỉ số chính xác cao nhất (56.8% AP) theo tập hợp dữ liệu MS COCO.
Khi ứng dụng thuật toán YOLOv7 vào nhận diện đối tượng thì ta thu được kết quả có độ chính xac cao và được xếp hạng đứng đầu trong các loại thuật toán trong lĩnh vực nhận diện. Đặc biệt khi ứng dụng 18 với GPU V100 thì ngoài độ chính xác ấn tượng, chúng ta còn thấy được tốc độ ấn tượng lên tới 30fps. Mô hình YOLOv7 vượt trội hơn trên cả những mô hình cùng loại như YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5, DETR, ViT Adaptor-B về tốc độ và chỉ số chính xác. Ở bài này em sẽ so sánh hai mô hình YOLOv7 với YOLOvS (Hình 2.
better MS COCO Object Detection 56 3S LOv7 is +120% faste AP 33 =@=— YOLOv’7 (ours) —® YOLOR 52 / —®—PPYOLOE —e YOLOX 51 [ | —®— Scaled-YOLOv4 50 4 / YOLOVS (6.1) 5 7 > 1 1 13 15 17 19 21 23 25 27 29 31 33 better <qaum V100 batch 1 inference time (ms) Hình 2. So sánh mô hình YOLOv7 với các mô hình khác. Nguồn: Sức mạnh của YOLOV7 khi so sánh với những phiên bản YOLO khác [15].ĐIÊM KHAC BIET CUA YOLOV7 VỚI MÔ HÌNH KHAC Với mô hình YOLOv7, chi phí suy luận chang những không bị phát sinh thêm mà độ chính xác theo thời gian thực còn được tăng thêm. Nhu đã trình bày trước đây trong các điểm chuẩn, khi so sánh giữa các mô hình nhận diện đối tượng khác nhau, tham sé trong mô hình YOLOv7 đã giảm khoảng 40% va công việc tính toán cũng giảm 50% trong việc nhận diện các mục tiêu theo thời gian thực.
Ngoài ra, mô hình YOLOv7 còn có một cấu hình mạng nhanh hơn, mạnh hơn, giảm việc mất dữ liệu hơn cũng như tăng 19 được khả năng thành công trong việc định vị cho hình ảnh và huấn luyện mô hình. Do đó, cau hình máy sẽ gọn hơn nhiều lần khi sử dụng mô hình YOLOv7. Các tệp dữ liệu nhỏ có thé sẽ được nó huấn luyện nhanh hơn nhiều mà không cần các trọng số phải huấn luyện trước. Sau đây là bảng 2.1 so sánh mô hình YOLOv7 so với các mô hình khác như SSD, Faster RCNN trong việc nhận diện những quả trứng vỡ và không vỡ.
So sánh mô hình YOLOv7 với một số mô hình nhận diện khác. Nguôn: Số liệu được trích dẫn từ [26]. Model Class Precision (%) Recall (%) mAP@.5 (%) | FPS Non-broken 89.5 Các lập trình viên huấn luyện mô hình YOLOv7 băng việc dùng các bộ dữ liệu được đưa ra cho cộng đồng miễn phí như MS COCO mà không cần đảo tạo trước các tệp dữ liệu hình ảnh hoặc các trọng số khác. Giống như mô hình Scaled YOLOv4, đường trục mô hình YOLOv7 không dùng đường trục được hướng dẫn từ trước của Image Net (giống như mô hình YOLOv3).
Mô hình YOLOv7 được cho ra mắt những sự đôi mới lớn sau đây: e©_ Mở rộng mạng tổng hợp các lớp (E-ELAN) e Chia các mức độ của mô hình theo ty lệ dựa trên kết nối e Trainable Bag of Freebies (thêm nhiều tuỳ chỉnh kiến trúc mang, các hàm mat mát,.) tăng độ chính xác mà không làm giảm tốc độ nhận diện đối tượng: e Tham số hóa lại lớp tích chập theo kế hoạch. 20 e Thô cho auxiliry và tinh cho lead loss.KIEN TRÚC MÔ HINH YOLOV7 Kiến trúc mô hình YOLOv7 được xây lên dựa trên sự xây dựng của mô hình YOLO trước đó như các mô hình YOLOv4, Scaled YOLOv4 và YOLOR. Kiến trúc bao gồm nhiều phần khác nhau, nói chung là gồm: e Đầu vào xuất hiện trước và về cơ bản là những gi chúng ta có dưới dạng tập hop các hình ảnh huấn luyện sẽ được đưa vào mạng - chúng được xử lý đồng thời theo batch size bởi GPU. ° Tiếp theo là Backbone Network: YOLOv7 dùng một kiến trúc mạng nơ-ron mạnh mẽ làm gốc để trích xuất các đặc trưng từ hình ảnh ra.
Các mạng backbone như ResNet, DarkNet, hoặc EfficientNet có thé được dùng dé trích xuất thông tin từ ảnh đầu vào. e Va Neck thực hiện việc sau khi ảnh được đưa qua mang backbone, các đặc trưng được trích xuất từ ảnh thông qua các lớp tích chập (convolutional) và các lớp tổng hợp (pooling) dé tạo ra biêu dién đặc trưng của ảnh. Trong đó lớp tích chập là một lớp quan trọng trong mạng nơ-ron học sâu (deep learning), đặc biệt là trong mạng CNN. Lớp tích chập chịu trách nhiệm thực hiện trích xuất các đặc trưng của ảnh trên dữ liệu đầu vào.
Các thành phần quan trọng trong lớp tích chập bao gồm bộ lọc (kernel), stride, padding, hàm kích hoạt. Lớp tích chập giúp mô hình CNN tự động học và trích xuất các đặc trưng từ đỡ liệu hình ảnh một cách hiệu quả. Chúng đóng một vai trò cần thiết trong việc nhận diện vật thé, phân loại anh, hoặc các nhiệm vụ khác liên quan đến xử lý ảnh trong deep learning. Lớp tổng hợp được dùng sau lớp tích chập trong mạng CNN, nó giúp giảm kích cỡ của feature maps và giữ lại các đặc trưng cần thiết, qua đó cải thiện khả năng làm việc và tốc độ tính toán của mô hình.
Các thành phần quan trọng trong lớp tổng hợp bao gồm max pooling, average pooling, stride, global pooling. Lop pooling giúp giảm độ phức tap cua mô hình, hạn chế overfitting, tang tốc độ học và cải thiện khả năng tong quát hóa của mô hình. Khi kết hợp với lớp tích chập, lớp tổng hợp đóng vai 21 trò cần thiết trong việc trích xuất và tạo ra các đặc trưng thiết yếu cho quá trình huấn luyện mô hình. e Cuối cùng, phần head sẽ thực hiện việc nhận diện/dự đoán, chủ yếu sẽ làm trọng trách nhận diện (cả xác định toạ độ và phân loại).
Phần này của mô hình được dùng dé dự đoán các bounding box và khả năng dự đoán của các lớp vật thé trong ảnh. YOLOv7 dùng anchor boxes dé dự đoán multiple bounding boxes cho mỗi grid cell trong anh (Hinh 2. One-Stage Detector Input | Backbone Sparse Prediction +Input: { Image, Patches, Image Pyramid,. } Neck: { FPN [44], PANet |49|, Bi-FPN [77Ị,.
} Head: Dense Prediction: { RPN |64|, YOLO |61, 62. 65|, SSD |50|, RetinaNet |45|, FCOS (7%|,. } Sparse Prediction: { Faster R-CNN {64|, R-ECN |,. Kién tric co ban mé hinh YOLO Nguồn: Hình ảnh được trích dẫn từ [16].
Bởi vì YOLO là máy dò một giai đoạn nên nó thực hiện đồng thời cả hai giai đoạn (còn được gọi là Phát hiện mật độ). Trong khi đó, máy dò hai giai đoạn thực hiện chúng một cách riêng biệt và tổng hợp các kết quả (Phát hiện thưa thớt). Trình tự như sau và được mô tả qua Hình 2.ỚỐAAaạạạụANN Ị | Ï | | | | | || rnennnnneeeeeeeeeee NI. tang| CAM ` Rulaling Target Deleclinn | Unify Pixel Size ! Ị (Data Preprocessing} Nguồn: Hình ảnh được trích dẫn từ [1T] Từ đó mô hình YOLOv7 sẽ có nhưng điểm cải thiện như sau: e©_ Mở rộng lớp hiệu quả cho mạng tổng hợp (E-ELAN): Khối tính toán trong mô hình YOLOv7 - backbone hay còn viết tat là E-ELAN, viết từ Mở rộng lớp hiệu quả cho mạng tổng hợp.
Sự hiệu quả, cải thiện liên tục bằng kết cấu E-ELAN của mô hình YOLOv7 đồng ý dé cho việc huấn luyện được ôn hơn bằng việc dùng “mở rộng, xáo trộn, hợp nhất số lượng thẻ” giúp cho khả năng học trên mạng đường gradient lúc đầu không bi thay đổi và được mô tả qua Hình 2. 23 cat (c=160) Ỷ Ỷ ¥ v 1x1 Conv 1x1 Conv 3x3 Conv 3x3 Conv 1x1 Cony 1x1 Conv =64 =84 [| c=64 c64 |“| c=864 c=64 ¥ ¥ 3x3 Conv 3x3 Conv =64 [+ + | =64 3x3 Conv 3x3 Conv c=64 c=64 ¥ ¥ 3x3 Conv 3x3 Conv c=-64 [+ ở| C64 3x3 Conv 3x3 Conv c=64 c=64 3x3 Conv 3x3 Conv c=64 c=64 Ỷ Ỷ Ỷ Ỷ Ỷ Ỷ Ỷ Ỷ Ỷ Ỷ cat (c=64"5) cat (c=64"5) 1x1 Conv 1x1 Conv c=160 c=160 Hình 2. Cấu triic mạng E-ELAN. Nguôn: Hình ảnh được trích dan từ [18].
e Chia tỉ lệ phức hợp của mô hình YOLOv7: bằng cách chỉnh sửa các đặc tính của nó, các phương án liên quan với nhu câu làm việc sẽ được chia tỷ lệ. Phương án chia theo tỷ lệ nhiều thành phần được kết hợp với nhau nhằm giữ được các thuộc tính chính mà mô hình có ở hình dạng nguyên bản và đê giữ được kêt câu ưu việt nhất. Đó là cách vận hành với việc chia tỷ lệ mô hình kết hợp, nếu ta chia tỷ lệ hệ số độ sâu (tăng số lượng lớp của khối tính toán lên) ((a), (b) hình 2.5), thì lúc nối lại với nhau thì số lượng kênh được sinh ra cũng sẽ được tăng lên. Sau đó, việc chia tỷ lệ hệ số chiều rộng làm song song với đổi thay trên các lớp chuyên tiếp ((c) hình 2.
scaling up depth [conv] Ỷ M Ỷ M Ỷ M c c c c c ©° Cc width also be changed (a) concatenation-based model (b) scaled-up concatenation-based model Computational block Transition Scaling up depth Scaling up width Transition Scaling up width Hình 2. Tổng hop các cách chia tỉ lệ mô hình. Nguồn: Hình ảnh được trích dẫn từ [19]. e Su tích chập được tham số hoá lại theo thiết lập: Mặc dù mô hình VGG RepConv đã đạt hiệu quả làm việc tuyệt vời nhưng lại làm giảm sự chính xác khi dùng hai mô hình ResNet và DenseNet.