Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
2,33 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CƠ KHÍ BỘ MÔN CƠ ĐIỆN TỬ BÀI TẬP LỚN Sử dụng thuật toán YOLO để nhận diện người đeo trang Trí tuệ nhân tạo Robot – ME5667 Lớp: 129543 – Nhóm 13 Giảng dẫn: viên Sinh viên: hướng TS Hồng Hồng Hải TS Nguyễn Xuân Thuận Nguyễn Văn Nghĩa Nguyễn Hữu Tường Vũ HÀ NỘI, 07/2022 MSSV: 20184564 MSSV: 20184678 Đánh giá giảng viên hướng dẫn ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………… Kết đánh giá Họ tên Nguyễn Văn Nghĩa Nguyễn Hữu Tường Vũ Điểm Hà Nội, ngày tháng năm2022 Giảng viên hướng dẫn MỤC LỤC CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI……………………………… 1.1 Giới thiệu chung…………………………………………………….1 1.2 Tổng quan YOLO……… …………………………………… 1.3 Thuật tốn YOLO………………………………………………… CHƯƠNG CÀI ĐẶT CẤU HÌNH cuDNN…………………… ……12 CHƯƠNG KHỞI TẠO GOOGLE COLAB……………………… 13 3.1 Tổng quan Google Colab……………………………………….13 3.2 Enable CPU Google Colab……………………………… …15 3.3 Cấp phép cho Google Colab………………………………………17 CHƯƠNG HUẤN LUYỆN YOLO TRÊN GOOGLE COLAB……18 4.1 Khởi tạo project darknet…………………………………… ……18 4.2 Chuẩn bị liệu…………………………………………… ……19 4.3 Cấu hình darknet……………………………………………… …22 4.4 Các hàm phụ trợ…………………………………… ……………24 4.5 Huấn luyện mơ hình…………………………………… ……… 24 4.6 Dự báo ước tính thời gian huấn luyện………………….………28 CHƯƠNG 5: KẾT QUẢ……………… ……………………………….30 CHƯƠNG KẾT LUẬN……………………………………….………30 TÀI LIỆU THAM KHẢO 31 CHƯƠNG Tổng quan đề tài 1.1 Giới thiệu chung Đại dịch Covid-19 diễn năm chưa có dấu hiệu dừng lại Tính đến ngày 14/02/2022, giới ghi nhận 405,961,201 ca nhiễm, với 5,789,567 ca tử Tính riêng Việt Nam có 2,510,860 ca nhiễm 38,949 ca tử vong Covid-19 gây nhiều thiệt hại vơ nặng nề tồn giới, từ sức khỏe người đến kinh tế, văn hóa, trị Ở Việt Nam, nhiều tỉnh thành phố phải thực giãn cách xã hội nhiều lần, kể đến tháng giãn cách xã hội thành phố Hồ Chí Minh (từ tháng đến tháng năm 2021), tháng giãn cách xã hội Thủ đô Hà Nội (từ tháng 10 đến tháng 11 năm 2021) gây nhiều thiệt hại nặng nề Trong giai đoạn phòng chống dịch kết hợp bình thường hóa hoạt động, bối cảnh học sinh, sinh viên quay trở lại trường học sau nhiều tháng nhà học online, tình hình dịch bệnh diễn biến phức tạp Để ngăn chặn dịch bệnh lây lan, cần tự có ý thức bảo vệ thân cách tuân thủ biện pháp phòng tránh dịch quy tắc 5K, đặc biệt đeo trang nơi cơng cộng Từ nhóm chúng em nảy ý tưởng thiết kế module sử dụng trí tuệ nhân tạo, gắn cổng vào quan trường học với mục đích kiểm sốt nhắc nhở người dân thực đeo trang nơi cơng cộng Với làm vừa kiểm soát người đeo trang, nhắc nhở phận nhỏ cịn có tâm lý chủ quan khơng đeo trang mà vừa làm giảm tiếp xúc người với người Sau này, có điều kiện phát triển module hơn, nhóm em mong đưa Module tích hợp vào Robot tự hành quan xí nghiệp, trường học, trung tâm thương mại, góp phần nhanh chóng đẩy lùi dịch bệnh Covid-19 Qua tìm hiểu kiến thức sách tài liệu mạng, nhóm em định sử dụng thuật toán học sâu deep learnig Yolo4 để nhận diện người đeo trang 1.2 Tổng quan YOLO Có lẽ vài năm trở lại đây, object detection đề tài hot deep learning khả ứng dụng cao, liệu dễ chuẩn bị kết ứng dụng nhiều Các thuật tốn object detection YOLO, SSD có tốc độ nhanh độ xác cao nên giúp cho Object Detection thực tác vụ dường real time, chí nhanh so với người mà độ xác khơng giảm Các mơ hình trở nên nhẹ nên hoạt động thiết bị IoT để tạo nên thiết bị thơng minh Ngồi ra, thuật tốn object detection tạo ứng dụng đa dạng như: Đếm số lượng vật thể, tốn tiền quầy hàng, chấm cơng tự động, phát vật thể nguy hiểm súng, dao,… nhiều ứng dụng khác Có thể nói dường lĩnh vực ứng dụng object detection Bên cạnh nguồn liệu ảnh lại vô đa dạng sẵn có cần google tìm tất cần Đó ưu điểm để huấn luyện model object detection 1.2.1 Mạng Yolo gì? Có nhiều bạn thắc mắc câu hỏi YOLO nghe giống slogan “You only live once” phải khơng? Nhưng YOLO object detection có nghĩa “You only look once” Tức cần nhìn lần phát vật thể Rất nhanh mạnh phải không nào? Thật vậy, độ xác YOLO khơng phải thuật tốn tốt thuật tốn nhanh lớp mơ hình object detection Nó đạt tốc độ gần real time mà độ xác khơng q giảm so với model thuộc top đầu YOLO thuật toán object detection nên mục tiêu mơ hình khơng dự báo nhãn cho vật thể toán classification mà cịn xác định location vật thể Do YOLO phát nhiều vật thể có nhãn khác ảnh thay phân loại nhãn cho ảnh Sở dĩ YOLO phát nhiều vật thể ảnh thuật tốn có chế đặc biệt mà chúng em tìm hiểu đề tài lần 1.2.2 Một số khái niệm: Nguyên lý hoạt động mạng nơ ron tích chập (Convolutional Neural Network): Đây mạng nơ ron áp dụng layer Convolutional kết hợp với Maxpooling để giúp trích xuất đặc trưng ảnh tốt Bạn đọc tham khảo Lý thuyết mạng tích chập neural Khái niệm bounding box, anchor box: Bounding box khung hình bao quanh vật thể Anchor box khung hình có kích thước xác định trước, có tác dụng dự đốn bounding box Feature map: Là khối output mà ta chia thành lưới vng áp dụng tìm kiếm phát vật thể cell Non-max suppression: Phương pháp giúp giảm thiểu nhiều bounding box overlap bounding box có xác suất lớn 1.3 Thuật toán YOLO 1.3.1 Kiến trục mạng YOLO - Kiến trúc YOLO bao gồm: base network mạng convolution làm nhiệm vụ trích xuất đặc trưng Phần phía sau Extra Layers áp dụng để phát vật thể feature map base network Base network YOLO sử dụng chủ yếu convolutional layer fully conntected layer Các kiến trúc YOLO đa dạng tùy biến thành version cho nhiều input shape khác Hình 1.1: Sơ đồ kiến trúc mạng YOLO Thành phần Darknet Architechture gọi base network có tác dụng trích suất đặc trưng Output base network feature map có kích thước 7x7x1024 sẽ sử dụng làm input cho Extra layers có tác dụng dự đốn nhãn tọa độ bounding box vật thể Trong YOLO version tác giả áp dụng mạng feature extractor darknet-53 Mạng gồm 53 convolutional layers kết nối liên tiếp, layer theo sau batch normalization activation Leaky Relu Để giảm kích thước output sau convolution layer, tác giả down sample filter với kích thước Mẹo có tác dụng giảm thiểu số lượng tham số cho mơ hình Hình 1.2: Các layer mạng darknet-53 Các ảnh đưa vào mơ hình scale để chung kích thước phù hợp với input shape mơ hình sau gom lại thành batch đưa vào huấn luyện Hiện YOLO hỗ trợ đầu vào là 416x416 và 608x608 Mỗi đầu vào có thiết kế layers riêng phù hợp với shape input Sau qua layer convolutional shape giảm dần theo cấp số nhân Cuối ta thu feature map có kích thước tương đối nhỏ để dự báo vật thể feature map Kích thước feature map phụ thuộc vào đầu vào Đối với input 416x416 thì feature map có kích thước là 13x13, 26x26 và 52x52 Và input là 608x608 sẽ tạo feature map 19x19, 38x38, 72x72 1.3.2 Output YOLO - Output mơ hình YOLO véc tơ bao gồm thành phần: ⟨ ⟩⟨ ⟩ y T =[ p0 , t⏟ p , p2 , p3 … pc ] x,t y,tw,th , ⏟ boundingbox scores of c classes Trong p0 xác suất dự báo vật thể xuất bounding box ⟨ ⏟⟩ giúp xác định bounding box Trong t x ,t y ,t w , t h bounding box t x ,t y tọa độ tâm t w ,t h kích thước rộng, dài bounding box ⟨ ⏟⟩ véc tơ phân phối xác suất dự báo classes p1 , p2 , p3 … pc scoresof c classes Việc hiểu output quan trọng để cấu hình tham số chuẩn xác huấn luyện model qua open source darknet Như output xác định theo số lượng classes theo công thức (n_class+5) Nếu huấn luyện 80 classes bạn có output 85 Trường hợp bạn áp dụng anchors/cell số lượng tham số output là: (n_class+5) x = 85 x = 255 Hình 1.3: Kiến trúc output model YOLO Hình ảnh gốc feature map kích thước 13x13 Trên cell feature map lựa chọn anchor boxes với kích thước khác là Box 1, Box 2, Box 3 sao cho tâm anchor boxes trùng với cell Khi output YOLO véc tơ concatenate bounding boxes Các attributes bounding box mô tả dịng cuối hình 1.3.3 Dự báo nhiều feature map - Cũng tương tự SSD, YOLOv3 dự báo nhiều feature map Những feature map ban đầu có kích thước nhỏ giúp dự báo object kích thước lớn Những feature map sau có kích thước lớn anchor box giữ cố định kích thước nên giúp dự báo vật thể kích thước nhỏ Hình 1.4: Các feature maps mạng YOLOv3 Với input shape là 416x416, output feature maps có kích thước là 13x13, 26x26 và 52x52 Trên cell feature map áp dụng anchor box để dự đoán vật thể Như số lượng anchor box khác mơ hình YOLO (3 featue map x anchor box) Đồng thời feature map hình vng S x S, mơ hình YOLOv3 sinh số lượng anchor box là: S x S x Như số lượng anchor boxes ảnh là: (13 x 13 + 26 x 26 + 52 x 52) x = 10647 (anchor boxes) Đây số lượng lớn nguyên nhân khiến q trình huấn luyện mơ hình YOLO vơ chậm cần dự báo đồng thời nhãn bounding box đồng thời 10647 bounding boxes Một số lưu ý huấn luyện YOLO: Khi huấn luyện YOLO cần phải có RAM dung lượng lớn để save 10647 bounding boxes kiến trúc Không thể thiết lập batch_size lớn mơ hình classification dễ Out of memory Package darknet YOLO chia nhỏ batch thành subdivisions cho vừa với RAM Thời gian xử lý step YOLO lâu rất nhiều lần so với mơ hình classification Do nên thiết lập steps giới hạn huấn luyện cho YOLO nhỏ Đối với tác vụ nhận diện classes, 5000 steps thu nghiệm tạm chấp nhận Các mơ hình có nhiều classes tăng số lượng steps theo cấp số nhân tùy bạn 1.3.4 Anchor box - Để tìm bounding box cho vật thể, YOLO cần anchor box làm sở ước lượng Những anchor box xác định trước bao annotation chúng (định dạng txt) Bên nội dung file annotation.txt Nội dung file annotation bao gồm: Trong đó: giá trị là tâm kích thước width, height bounding box chuẩn hóa cách chia cho width height ảnh, giá trị ngày ln nằm khoảng [0, 1]. là giá trị index đánh dấu classes Trong trường hợp ảnh có nhiều bounding box file annotation gồm nhiều dòng, bounding box dòng Cảc ảnh annotation phải để chung folder Bạn đọc tham khảo qua liệu mẫu Dữ liệu ảnh sản phẩm TMDT 4.2.2 Dự liệu thực hành Lệnh clone liệu folder traindata trong project Lưu ý: Không đặt tên folder traindata trùng với folder data mặc định darknet Nếu không xảy lỗi Cannot load image khi dự báo nhãn dự báo hình ảnh khơng hiển thị Dữ liệu folder img bao gồm file ảnh file annotation (có txt) chúng 4.2.3 Phân chia liệu train/validation 31 Ở bước ta tạo file train.txt valid.txt chứa liệu đường dẫn tới file hình ảnh nằm tập train validation Chúng ta sử dụng đoạn code bên để lựa chọn ngẫu nhiên 20 files làm liệu validation files lại làm liệu train 4.3 Cấu hình darknet 4.3.1 Tạo file object name Đây files chứa tên classes mà huấn luyện mơ hình Trên file này, thứ tự classes name cần phải đặt với index file label vật thể Đoạn code sử dụng lệnh echo của bash để tạo write nội dung vào file obj.names Sau đó, file obj.names được tạo thành project foler Bạn mở file để kiểm tra nội dung 4.3.2 Tạo file config data File config data khai báo số thông tin như: Số lượng classes Đường dẫn tới file train.txt, test.txt Đường dẫn tới file obj.names 32 Thư mục backup mơ hình huấn luyện Chạy lệnh bên để tạo file 4.3.3 Tạo file config model Đây bước quan trọng huấn luyện model YOLO Chúng ta sử dụng file yolov3.cfg để cấu hình mơ hình huấn luyện Các bạn download file máy điều chỉnh dòng: Tại dòng 610, 696, 783: Thay classes=80 thành classes=5 là số lượng classes huấn luyện Tại dòng 603, 689, 776: Thay số lượng filters=255 về filter=30 Đây layer cuối base network Do chúng có output shape thay đổi theo số lượng classes theo cơng thức trước là: (n_classes + 5)x3 = (5+5)x3 = 30 max_batches: dòng 20 số lượng steps tối đa để huấn luyện models YOLO Đối với liệu classes cần điều chỉnh max_batches=5000 là có nghiệm tốt burn_in: Tại dịng 19 số lượng steps ban đầu giữ cho learning_rate bé Giá trị tăng dần từ đến learning_rate Sau learning_rate giữ ổn định Thực nghiệm cho thấy thiết lập learning_rate bé steps đầu giúp cho thuật toán hội tụ nhanh Do số lượng max_batches chỉ 5000 nên cần điều chỉnh giảm burn_in = 100 steps: Tại dòng 22 Điều chỉnh về steps=4000,4500 Đây vị trí step mà bắt đầu giảm dần learning_rate thuật tốn đạt tới điểm hội tụ nên không cần thiết lập learning_rate cao Sau thực thay đổi xong, bạn save file lại push lên project darknetGoogleColab của google driver Trước đó, đổi tên lại thành yolov3-5c-5000-maxsteps.cfg để đánh dấu cấu hình cho yolo version với classes 5000 bước huấn luyện Các file config có sẵn github repo nên download sử dụng 33 4.4 Các hàm phụ trợ Để thuật lợi cho việc đọc ghi hiển thị hình ảnh, tơi xây dựng hàm phụ trợ có chức sau: imShow(): Hiển thị hình ảnh từ path upload(): Upload file từ local lên google drive download(): Download file từ path mạng 4.5 Huấn luyện mơ hình 4.5.1 Dowload pretrain model YOLO huấn luyện nhiều model pretrain Những mơ hình xây dựng liệu ảnh mẫu lớn như: COCO, Pascal VOC, Imagenet, CIFAR Đây liệu có định dạng format chuẩn, đảm bảo tổ chức viện nghiên cứu lớn giới nên hồn tồn n tâm chất lượng liệu List danh sách model pretrain bạn theo dõi tại Darknet YOLO 34 Ở ví dụ thực hành này, sử dụng pretrain model darknet53.conv.74 dược huấn luyện từ liệu ImageNet Trước tiên clone file weight google drive 4.5.2 Backup model 35 Tạo folder backup để lưu kết huấn luyện sau 1000 steps Folder backup phải trùng với tên với link folder backup khai báo step 4.3.3 tạo file config data Nếu để 1000 steps backup model lâu Để tránh lỗi phát sinh huấn luyện 1000 steps đầu tiên, project tơi điều chỉnh sẵn last model backup sau 100 steps 4.5.3 Huấn luyện model Để huấn luyện model ta cần thực lệnh detector train Tổng quát cú pháp: !./darknet detector train [data config file] [model config file] [pretrainmodel weights] -dont_show > [file log saved] Trong các [data config file], [model config file] là file config. [pretrain-model weights] là file model pretrain và [file log saved] là file log trình training Note: Khi save log vào [file log saved] thì mặc định mơ hình bạn khơng hiển thị log ngồi hình Nhiều bạn hiểu lầm mơ hình ngừng chạy Để hiển thị log trình huấn luyện bạn bỏ > [file log saved] ở cuối câu lệnh Nếu bạn gặp lỗi: CUDA Error: out of memory: File exists 36 Hãy quay trở lại file yolov3-5c-5000-max-steps.cfg và điều chỉnh tăng subdivisions=32 Sau train lại model từ đầu Tổng cộng trình train hết khoảng 5h đồng hồ Nếu bạn muốn ngồi đợi thành quả, kiên nhẫn chờ đợi Hoặc muốn có thành quả, download file pretrain nhận diện sản phẩm TMDT Một số lưu ý: Log chương trình khơng hình save vào file yolov3-5c.log Mục đích để lưu lại log nhằm visualize loss function (xem mục 4.5.4) Nếu bạn muốn monitor hình google colab chạy lệnh: !./darknet detector train obj.data yolov3-5c-5000-max-steps.cfg darknet53.conv.74 -dont_show Bạn mở google colab khác để thực mục 4.5.4 visualize loss function Đừng quên kiểm tra đường truyền internet thường xuyên Google Colab tự động kill session offline vòng 1h Tức bạn tắt colab bị disconnect internet thứ tiếp diễn 1h sau luồng training bị kill Google colab đồng thời cho phép độ dài tối đa session 12h Vì với liệu lớn huấn luyện mơ hình object detection google colab việc bất khả thi 4.5.4 Visualize hàm loss function Kết huấn luyện mơ hình qua step lưu vào file yolov35c.log Chúng ta sử dụng file để visualize hàm loss function Trong git project customize từ darknet tơi code sẵn file có tác dụng visualize loss function Ý tưởng xử lý khơng có khó, tìm log dịng có Average Loss và trích xuất giá trị loss function visualize Bạn đọc mở file nghiên cứu 37 Như đồ thị loss function cho thấy thuật toán hội tụ sau khoảng 7000 batches Loss function giai đoạn sau có xu hướng tiệm cận gần 4.6 Dự báo ước tính thời gian huấn luyện Sau huấn luyện xong mơ hình, kết sau lưu folder backup Để dự báo cho ảnh ta sử dụng cú pháp: !./darknet detector test [data config file] [model config file] [last-model weights] [image path] -dont_show 38 Do google colab suppress hàm graphic opencv nên ta show image trực tiếp mà phải save kết vào file predictions.jpg argument -dont_show để by pass lỗi graphic opencv Như hồn thành q trình huấn luyện dự báo mơ hình object detection google colab - Khi hiểu kỹ lý thuyết mơ hình YOLO bạn hiểu lý model YOLO lại huấn luyện lâu Từ ảnh đầu vào kích thước 418x418, YOLO cần dự đốn nhãn tọa độ tổng cộng (13x13+26x26+52x52)x3 = 10647 bounding boxes Giả sử batch có kích thước 64 ảnh số lượng max_batches = 5000 Như cần dự báo cho tổng cộng: 10647x5000x64 = 3.4 triệu bounding boxes Đây số khơng nhỏ nên q trình huấn luyện google colab tới vài h Google colab cho phép bạn huấn luyện 12h liên tục Do đó, trước huấn luyện cần ước lượng tổng thời gian huấn luyện để không vượt giới hạn time Tôi giới thiệu bạn số mẹo ước tính tiết kiệm thời gian huấn luyện Nên ước tính tổng thời gian huấn luyện dựa thời gian huấn luyện batch Nếu bạn huấn luyện batch hết 3.6s Như 5000 batches tiêu tốn bạn khoảng: (3.6x5000)/3600 = h huấn luyện Tất nhiên ước tính tương đối khơng phải batch huấn luyện với thời gian Nếu gặp batch có hình ảnh lỗi, format khơng tương thích tốn nhiều thời gian để chương trình gỡ lỗi Hãy save log trình huấn luyện vẽ biểu đồ loss function Biểu đồ loss function cho ta biết trình huấn luyện tới trạng thái hội tụ hay chưa? Có thể dừng sớm trình huấn luyện bạn quan sát thấy loss function dường hội tụ Huấn luyện nhiều GPU song song (cách áp dụng với bạn sở hữu nhiều GPU, không áp dụng google colab) Khi huấn luyện nhiều GPU nên giảm learning_rate xuống theo cấp số nhân Chẳng hạn bạn huấn luyện GPU cần thiết lập learning_rate 1/4 learning_rate mặc định GPU Quá trình huấn luyện nhanh nhiều Sử dụng pretrain model liệu gần giống với liệu huấn luyện Khi trọng số mơ hình pretrain mơ hình tối ưu cho liệu gần sát Chúng ta cần steps huấn luyện để đạt kết tốt so với lựa chọn pretrain model huấn luyện từ liệu khác biệt lớn 39 Update cuDNN version (đối với bạn huấn luyện máy tính cá nhân, mơi trường xịn sò google colab update sẵn cuDNN) Như giới thiệu mục cấu hình cuDNN Những kiến trúc cuDNN tối ưu nhiều giúp tăng tốc trình huấn luyện Sử dụng cuDNN version 7.6 tăng tốc gấp lần so với version 6.0 Do cập nhật cuDNN bạn sử dụng version cũ Nhưng lưu ý cuDNN cần tương thích version với CUDA để tránh lỗi phát sinh Cân nhắc sử dụng kiến trúc đơn giản Các kiến trúc YOLO khác đa dạng tùy thuộc vào base network Các bạn xem lại giới thiệu YOLO để hiểu rõ kiến trúc Nếu số tác vụ với classes chênh lệch độ xác mơ hình kiến trúc phức tạp đơn giản không lớn Bạn đặt trước cho tiêu chuẩn mAP mơ hình huấn luyện thử với model có kiến trúc đơn giản tiny YOLO Có thể mơ hình đạt tiêu chuẩn Hơn tốc độ dự báo nhanh triển khai thiết bị IoT cấu hình thấp điểm cộng cho mơ CHƯƠNG 5: KẾT QUẢ 40 41 42 CHƯƠNG KẾT LUẬN 43 TÀI LIỆU THAM KHẢO phamdinhkhanh - darknet git repo Bài 25 - YOLO You Only Look Once - Khanh blog pjreddie - darknet git repo AlexeyAB - darknet git repo 44 45 ... hiểu Yolov3 Yolov4 2.1 Tìm hiểu Yolov3 2.1.1 Cấu trúc Như tìm hiểu, YOLOv1 sử dụng 24 lớp chập, sang YOLOv2 sử dụng backbone darknet19 cộng với 11 lớp chập để nhận dạng Vậy YOLOv3 nào? YOLOv3 sử. .. nhóm em định sử dụng thuật toán học sâu deep learnig Yolo4 để nhận diện người đeo trang 1.2 Tổng quan YOLO Có lẽ vài năm trở lại đây, object detection đề tài hot deep learning khả ứng dụng cao,... xác suất lớn 1.3 Thuật toán YOLO 1.3.1 Kiến trục mạng YOLO - Kiến trúc YOLO bao gồm: base network mạng convolution làm nhiệm vụ trích xuất đặc trưng Phần phía sau Extra Layers áp dụng để phát