Báo cáo nghiên cứu nhận dạng đối tượng trong video, hình ảnh, webcam sử dụng YOLO. Gồm các phần chính: CHƯƠNG1: GIỚI THIỆU VỀ YOLO1. Lý do chọn đề tài.2. Mục đích nghiên cứu3. Đối tượng, phạm vi nghiên cứu4. Ý nghĩa khoa học và thực tiễn đề tài5. Khái quát về YOLO6. Cơ sở xử lý ảnh7. Tổng quan về Học máy (Machine Leaning)CHƯƠNG 2:HƯỚNG DẪN CÀI ĐẶT VÀ XÂY DỰNG CHƯƠNG TRÌNH1. Môi trường và công cụ sử dụng2. Google Colab và Google Drive3. Sử dụng Yolo để nhận diện đối tượng4. Đào tạo Yolo để phát hiện súngKẾT LUẬNTÀI LIỆU THAM KHẢO
Trang 1TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT
-0O0 -BÁO CÁO TỔNG KẾT
ĐỀ TÀI:
NGHIÊN CỨU NHẬN DẠNG ĐỐI TƯỢNG
TRONG VIDEO SỬ DỤNG YOLO
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT
Trang 3HÀ NỘI, 06/2020
Trang 4MỤC LỤC
Trang 5DANH MỤC CÁC HÌNH ẢNH
Trang 6LỜI MỞ ĐẦU
Trong quá trình học tập, nghiên cứu đề tài “Nghiên cứu nhận dạng đốitượng sử dụng YOLO.” nhóm em đã nhận được sự giúp đỡ, chỉ bảo nhiệt tìnhcủa các thầy giáo, cô giáo trường Đại học Mỏ Địa Chất Hà Nội để nhóm hoànthành đề tài nghiên cứu khoa học này
Đặc biệt, nhóm xin bày tỏ lòng biết ơn sâu sắc tới thầy GV.ThS.Phạm Đình Tân, thầy đã trực tiếp hướng dẫn, giúp đỡ trong quá trình thực hiện đề tài.
Do kiến thức và thời gian còn hạn chế, báo cáo nghiên cứu khoa học cònnhiều khiếm khuyết Nhóm mong được sự đóng góp ý kiến của các thầy, cô vàmọi người để đề tài nghiên cứu khoa học này hoàn thiện hơn
Trang 7CHƯƠNG 1: GIỚI THIỆU VỀ YOLO
1 Lý do chọn đề tài
Xã hội ngày càng phát triển thì công nghệ cũng ngày càng phát triển theo
từ các cuộc cách mạng công nghiệp đầu tiên đến bây giờ là cuộc cách mạngcông nghiệp 4.0 Là cuộc cách mạng mà cốt lõi là công nghệ thông tin với cácthiết bị thông minh như robot hay xe tự tái để tăng năng suất lao động và phục
vụ cho các nhu cầu đời sống con người Cùng với sự phát triển của khoa họccông nghệ, trí tuệ nhân tạo được xem là nhân tố định hình tương lai Với sự pháttriển nhanh chóng trong những năm gần đây, trí tuệ nhân tạo đã và đang đi vàothực tiễn của cuộc sống Hàng loạt các công nghệ mới sử dụng trí tuệ nhân tạo
đã ra đời giúp ích cho con người trong nhiều lĩnh vực như an ninh, y học, giáodục, bảo mật, …
Machine learning là một lĩnh vực con của trí tuệ nhân tạo (AI) Nguyêntắc cốt lõi của Machine learning là các máy tiếp nhận dữ liệu và tự học Machinelearning là một phương pháp phân tích dữ liệu mà sẽ tự động hóa việc xây dựng
mô hình phân tích Sử dụng các thuật toán lặp để học từ dữ liệu, cho phép máytính tìm thấy những thông tin giá trị ẩn sâu không được lập trình một cách rõràng nơi để tìm Một trong những kỹ thuật được sử dụng phổ biến trongMachine learning hiện nay là kỹ thuật Deep learning
Deep learning là một lĩnh vực chuyên sâu trong Machine learning Nó sửdụng một số kỹ thuật của Machine Learning để giải quyết các vấn đề thực tếbằng cách khai thác các mạng thần kinh nhân tạo và mô phỏng việc đưa ra cácquyết định của con người
Deep learning có ứng dụng sâu rộng trong các lĩnh vực của đời sống nhưtìm kiếm sự sai khác giữa các văn bản, phát hiện gian lận, phát hiện spam, nhậndạng chữ viết tay, nhận dạng hình ảnh, giọng nói, góp phần quan trọng trongviệc hỗ trợ con người trong nhiều lĩnh vực đời sống
Trang 8Từ những ứng dụng thực tế, lợi ích mà Deep learning đem lại và cơ sởdùng YOLOv3 trên môi trường Python, là cơ sở để thực hiện tìm hiểu đề tài:
“Nghiên cứu lý thuyết xử lý ảnh, kỹ thuật Deep Learning và xây dựng chươngtrình nhận dạng đối tượng qua webcam, video và hình ảnh sử dụng YOLO trênngôn ngữ lập trình Python” nhằm nghiên cứu và ứng dụng kỹ thuật Deeplearning trong nhận dạng đối tượng qua video sử dụng YOLO trên ngôn ngữ lậptrình Python
2 Mục đích nghiên cứu
• Nhận dạng được đối tượng trên video, webcam và hình ảnh
• Đào tạo YOLO để nhận dạng súng,
3 Đối tượng, phạm vi nghiên cứu
a Đối tượng nghiên cứu:
• Kỹ thuật Deep learning
• Thuật toán ứng dụng deep learning trong nhận dạng đối tượng
• Nghiên cứu về YOLO trên môi trường Python
b Phạm vi nghiên cứu:
• Phạm vi nghiên cứu các hình ảnh, video có sẵn và qua webcam
• Giới hạn ở mức độ thực nghiệm tạo hệ thống nhận dạng đối tượng sử dụngYOLO để hệ thống nhận biết được các đối tượng
4 Ý nghĩa khoa học và thực tiễn đề tài
• Xây dựng được chương trình thực nghiệm và đánh giá mức độ chínhxác của hệ thống nhận dạng được các đối tượng trong video, ảnh sửdụng YOLO
• Ứng dụng hệ thống nhận dạng đối tượng vào hệ thống giám sát an ninh,bảo mật, quản lý thông tin cá nhân tại cơ quan, doanh nghiệp, hộ giađình, ngân hàng
5 Khái quát về YOLO
5.1 Khái niệm
YOLO là viết tắt của You Only Look Once Đó là mô hình phát hiện đối
Trang 9của ảnh, còn full-connected layers sẽ dự đoán ra xác suất đó và tọa độ của đốitượng.
Thư viện sử dụng để hỗ trợ tính toán cho Yolo tận dụng phần cứng GPU làDarkflow trên nền tảng Windown và Darknet giành cho Linux
Ô lưới (Grid cell)
Cắt ảnh gốc YOLO chia hình ảnh đầu vào thành lưới S × S Mỗi ô lưới dự đoán chỉ một đối tượng
Ví dụ, ô lưới màu vàng bên dưới cố gắng dự đoán đối tượng người ở người có trung tâm (dấu chấm màu xanh) nằm trong ô lưới.
Mỗi ô lưới dự đoán một số hộp cố định Trong ví dụ này, ô lưới màu vàng đưa ra hai dự đoán hộp ranh giới (hộp màu xanh) để xác định vị trí của người đó.
Hình 2-1 Chia ô lưới dự đoán đối tượng
Trang 10Tuy nhiên, quy tắc một đối tượng giới hạn mức độ các đối tượng được phát hiện gần.
Vì thế, YOLO có một số hạn chế về mức độ gần gũi của các vật thể Hình dưới đây, có 9 Santas ở góc dưới bên trái nhưng YOLO chỉ có thể phát hiện 5.
Hình 2-2 Dự đoán nhiều khả năng hợp xanh để xác định đối tượng
Trang 11Đối với mỗi ô lưới:
Nó dự đoán boundary boxes (các hộp ranh giới) B và mỗi hộp có một điểm tự tin, nó chỉ phát hiện một đối tượng bất kể số lượng hộp B, nó dự đoán C xác suất của lớp có điều kiện (một cho mỗi lớp cho khả năng của lớp đối tượng).
Để đánh giá PASCAL VOC, YOLO sử dụng lưới 7 × 7 (S × S), 2 hộp ranh giới (B) và 20 lớp (C).
Mỗi hộp ranh giới chứa 5 yếu tố:
(x, y, w, h) và điểm tin cậy của hộp.
Điểm tin cậy phản ánh khả năng hộp
chứa đối tượng (tính đối tượng) và độ chính xác của hộp ranh giới Yolo bình thường hóa chiều rộng hộp giới hạn w và chiều cao h bằng chiều rộng và chiều cao hình ảnh x và y là độ lệch cho ô tương ứng Do đó, x, y, w và h đều nằm trong khoảng từ 0 đến 1
suất lớp có điều kiện là xác suất mà đối tượng được
phát hiện thuộc về một lớp cụ thể (một xác suất cho mỗi loại cho mỗi ô) Vì vậy, dự đoán của YOLO có hình dạng (S, S, B × 5 + C) = (7, 7, 2 × 5 + 20) = (7, 7, 30).
YOLO là xây dựng mạng CNN để dự đoán một tenor (7, 7, 30) Nó sử dụng mạng
CNN để giảm kích thước không gian xuống còn 7 × 7 với 1024 kênh đầu
ra tại mỗi vị trí YOLO thực hiện hồi quy tuyến tính bằng cách
sử dụng hai lớp được kết nối đầy đủ để đưa ra dự
đoán
hộp
Hình 2-3 Hạn chế mức độ gần gữi của YOLO
Hình 2-4 Đánh giá PASCAL VOC
Trang 12ranh giới 7 × 7 × 2 (hình giữa ở dưới) Để đưa ra dự đoán cuối cùng, Yolo giữ những người có điểm tin cậy hộp cao (lớn hơn 0,25) làm dự đoán cuối cùng của Yolo (hình ảnh bên phải).
Điểm tin cậy của lớp cho mỗi hộp dự đoán được tính là:
Điểm tin cậy của lớp = Điểm tin cậy của hộp x Xác xuất có điều kiện của lớp
Nó đo lường sự tin cậy đối với cả phân loại và localization (nội địa hóa) (nơi đặt một đối tượng).
Chúng ta có thể trộn lẫn các điều khoản ghi điểm và xác suất
Thiết kế của mạng
YOLO có 24 lớp chập theo sau là 2 lớp được kết nối đầy đủ (FC) Một số lớp
chập sử dụng xen kẽ các lớp giảm 1 × 1 để giảm độ sâu của bản đồ các
tính năng Đối với lớp chập cuối cùng, nó tạo ra một tenxơ
Hình 2-5 Kết quả nhận diện của YOLO
Trang 13tham số 7 × 7 × 30 và sau đó định hình lại thành (7, 7, 30), tức là 2 dự đoán hộp ranh giới cho mỗi vị trí Một phiên bản YOLO nhanh hơn nhưng kém chính xác hơn, được gọi là Fast YOLO, chỉ sử dụng 9 lớp chập với bản đồ tính năng nông hơn.
Hàm mất mát (Loss function)
YOLO dự đoán nhiều hộp giới hạn cho mỗi ô lưới Để tính toán tổn thất cho sự tích cực thực sự một trong số chịu trách nhiệm về đối tượng Với mục đích này, Yolo chọn một trong những IoU cao nhất (giao điểm trên liên minh) với sự thật nền tảng Chiến lược này dẫn đến
sự chuyên môn hóa trong số các dự đoán hộp giới hạn Mỗi dự đoán sẽ tốt hơn trong việc dự đoán kích thước và tỷ lệ khung hình nhất định.
YOLO sử dụng sai số bình phương giữa các dự đoán và sự thật nền tảng để tính toán tổn thất Hàm mất bao gồm: the classification loss, localization loss (errors between the predicted boundary box and the ground truth), confidence loss (the objectness of the box).
trong hộp lớn là giống nhau đối với hộp nhỏ Để giải quyết một phần điều này, YOLO dự đoán căn bậc hai của chiều rộng và chiều cao của khung giới hạn
thay vì chiều rộng và chiều cao Ngoài ra, để nhấn mạnh hơn vào độ chính xác của hộp biên, Yolo nhân hệ số tổn thất với λcoord (mặc định: 5)
Trang 14Confidence loss
Nếu một đối tượng được phát hiện trong hộp, mất niềm tin (đo lường tính đối tượng của hộp) là
Nếu một đối tượng không được phát hiện trong hộp, mất niềm tin là:
Hầu hết các hộp không chứa bất kỳ đối tượng Điều này gây ra vấn đề mất cân bằng lớp, tức là Yolo đào tạo mô hình để phát hiện
nền thường xuyên hơn là phát hiện các đối tượng Để khắc phục điều này, Yolo
giảm trọng lượng này xuống theo hệ số λnoobj
(mặc định: 0,5).
Loss
Sự mất mát cuối cùng thêm tổn thất nội địa hóa, sự tự tin và phân loại cùng nhau.
Inference: Non-maximal suppression
YOLO có thể thực hiện các phát hiện trùng lặp cho cùng một đối tượng Để khắc phục điều này, YOLO áp dụng triệt tiêu không tối đa để loại bỏ các bản sao với độ tin cậy thấp hơn.
Ức chế không tối đa thêm 2-3% trong mAP.
Trang 15Nhanh Tốt cho xử lý thời gian thực.
Dự đoán (vị trí đối tượng và các lớp) được thực hiện từ một mạng duy nhất Có thể được đào tạo từ đầu đến cuối để cải thiện độ chính xác
YOLO được khái quát hơn Nó vượt trội hơn các phương pháp khác khi khái quát hóa từ hình ảnh tự nhiên sang các lĩnh vực khác như tác phẩm nghệ thuật.
Phương pháp đề xuất khu vực giới hạn phân loại cho khu vực cụ thể YOLO truy cập vào toàn bộ hình ảnh trong việc dự đoán ranh giới Với bối cảnh bổ sung, YOLO thể hiện ít tích cực sai hơn trong các khu vực nền.
5.3.2 Yolo v2
SSD là đối thủ cạnh tranh mạnh mẽ của YOLO, tại một thời điểm chứng tỏ độ chính xác cao hơn để xử lý thời gian thực So sánh với các máy dò dựa trên khu vực, YOLO có lỗi nội địa hóa cao hơn và việc thu hồi (đo mức độ tốt để xác định vị trí của tất cả các đối tượng) thấp hơn YOLOv2 là phiên bản thứ hai của YOLO với mục tiêu cải thiện độ chính xác đáng kể trong khi làm cho nó nhanh hơn.
Cải thiện độ chính xác Chuẩn hóa hàng loạt Thêm chuẩn hóa hàng loạt trong các lớp chập Điều này loại bỏ sự cần thiết phải bỏ (dropouts and pushes) học và đẩy mAP lên 2% Phân loại độ phân giải cao Việc đào tạo YOLO bao gồm 2 giai đoạn Đầu tiên, Yolo đào tạo một mạng phân loại như VGG16 Sau đó, Yolo thay thế các lớp được kết nối đầy đủ bằng một lớp chập và giữ lại từ đầu đến cuối để phát hiện đối tượng YOLO huấn luyện bộ phân loại với các hình ảnh có kích thước 224 × 224, sau đó là các hình ảnh có kích thước 448 × 448
Hình 2-7 Độ chính xác của YOLO
Trang 16để phát hiện đối tượng YOLOv2 bắt đầu với các hình ảnh 224 × 224 cho đào tạo phân loại nhưng sau đó thử lại bộ phân loại một lần nữa với các hình ảnh 448 × 448 sử dụng ít kỷ nguyên hơn nhiều Điều này làm cho việc đào tạo máy dò dễ dàng hơn và di chuyển mAP lên 4%.
Kết hợp với hộp neo (Convolutional with Anchor Boxes)
việc đào tạo sớm dễ bị ảnh hưởng bởi độ dốc không ổn định Ban đầu, YOLO đưa ra những phỏng đoán tùy ý trên các hộp ranh giới Những dự đoán này có thể hoạt động tốt đối với một số đối tượng nhưng không tốt cho những đối tượng khác dẫn đến thay đổi độ dốc lớn Trong đào tạo sớm, các dự đoán đang chiến đấu với nhau về hình dạng để chuyên môn hóa.
Trong miền thực tế, các hộp ranh giới không phải là tùy ý Ô tô có hình dạng rất giống nhau và người đi bộ có tỷ lệ khung hình xấp xỉ 0,41.
Hình 2-8 Sự kết hợp Convolutional with Anchor Boxes
Trang 17Vì chúng ta chỉ cần một phỏng đoán là đúng, nên việc đào tạo ban đầu sẽ ổn định hơn nếu chúng ta bắt đầu với những phỏng đoán đa dạng thường thấy cho các đối tượng trong đời thực.
Hình 2-9 Hình ảnh thực tế, các hộp ranh giới không phải tùy ý
Trang 18chúng ta có thể tạo 5 hộp neo với các hình dạng sau
Thay vì dự đoán 5 hộp ranh giới tùy ý Yolo v2 dự đoán độ lệch cho từng hộp neo ở trên Nếu hạn chế các giá trị bù, chúng ta có thể duy trì tính đa dạng của các dự đoán và mỗi dự đoán tập trung vào một hình dạng cụ thể Vì vậy, việc đào tạo ban đầu sẽ ổn định hơn.
Dưới đây là những thay đổi yolo v2 thực hiện cho mạng: Loại bỏ các lớp được kết nối đầy đủ chịu trách nhiệm dự đoán hộp ranh giới.
Hình 2-10 Sự khác biệt của yolo 2 khi thực hiện cho mạng
Trang 19Chúng ta di chuyển dự đoán lớp từ cấp độ ô sang cấp độ hộp biên Bây giờ, mỗi dự đoán bao gồm 4 tham số cho hộp ranh giới, điểm tin cậy 1 hộp (tính đối tượng) và 20 xác suất của lớp tức là 5 hộp ranh giới với 25 tham số: 125 tham số trên mỗi ô lưới Giống như YOLO, dự đoán tính khách quan vẫn dự đoán IOU của sự thật mặt đất và hộp đề xuất.
Để tạo dự đoán với hình dạng 7 × 7 × 125, Yolo thay thế lớp chập cuối cùng bằng ba lớp chập 3 × 3 mỗi lớp xuất ra 1024 kênh đầu ra Sau đó, Yolo áp dụng lớp chập 1 × 1 cuối cùng để chuyển đổi đầu ra 7 × 7 × 1024 thành 7 × 7 × 125.
Trang 20Thay đổi kích thước hình ảnh đầu vào từ 448 × 448 thành 416 × 416 Điều này tạo ra kích thước không gian số lẻ (7 × 7 v.s ô lưới 8 × 8) Trung tâm của một bức tranh thường bị chiếm bởi một vật thể lớn Với một ô lưới số lẻ, chắc chắn hơn về vị trí của đối tượng.
Xóa một lớp gộp để làm cho đầu ra không gian của mạng thành 13 × 13 (thay vì 7 × 7) Các hộp neo giảm mAP một chút từ 69,5 xuống 69,2 nhưng việc thu hồi được cải thiện từ 81% xuống 88% tức là ngay cả độ chính xác cũng hơi giảm nhưng nó làm tăng cơ hội phát hiện tất cả các đối tượng sự thật mặt đất.
Dimension Clusters
Trong nhiều miền vấn đề, các hộp ranh giới có các mẫu mạnh
Ví dụ, trong lái xe tự trị, 2 hộp ranh giới phổ biến nhất sẽ là ô tô và người đi bộ ở các khoảng cách khác nhau
Để xác định các hộp ranh giới K hàng đầu có độ bao phủ tốt nhất cho dữ liệu huấn luyện, ta chạy K-mean là phân cụm trên dữ liệu đào tạo để xác định vị trí trung tâm của cụm
K hàng đầu.
Trang 21Vì chúng ta đang xử lý các hộp biên thay vì các điểm, chúng ta không thể sử dụng khoảng cách không gian thông thường để đo khoảng cách điểm dữ liệu Không có gì ngạc nhiên, Yolo sử dụng IoU.
Ở bên trái, Yolo vẽ sơ đồ IoU trung bình giữa các neo và các hộp sự thật mặt đất bằng cách sử dụng số lượng cụm (neo) khác nhau Khi số lượng neo tăng lên, các cao nguyên cải thiện độ chính xác Để có lợi nhuận tốt nhất, YOLO ổn định với 5 neo Ở bên phải, nó hiển thị
5 hình dạng neo neo Các hình chữ nhật màu xanh tím được chọn từ bộ dữ liệu COCO trong khi hình chữ nhật viền đen được chọn từ VOC2007 Trong cả hai trường hợp, chúng ta có các neo mỏng và cao hơn cho thấy các hộp ranh giới ngoài đời thực không phải là tùy ý.
Hình 2-11 Sơ đồ IoU trung bình giữa các neo và hộp sự thật mặt đất
Trang 22Dự đoán vị trí trực tiếp
Chúng ta đưa ra dự đoán về việc bù đắp cho các neo Tuy nhiên, nếu nó không bị ràng buộc, dự đoán của Yolo sẽ được chọn ngẫu nhiên một lần nữa YOLO dự đoán 5 tham số (tx,
ty, tw, th và to) và áp dụng hàm sigma để hạn chế phạm vi bù có thể có của nó
Đây là hình dung Hộp màu xanh bên dưới là hộp ranh giới dự đoán và hình chữ nhật chấm là mỏ neo.
Trang 23bx, by, bw, bh là tọa độ trung tâm x, y, chiều rộng và chiều cao dự đoán của Yolo tx, ty,
tw, th là những gì mạng đầu ra cx và cy là tọa độ trên cùng bên trái của lưới pw và ph là kích thước neo cho hộp.
Với việc sử dụng phân cụm k-mean (cụm kích thước) và cải tiến được đề cập trong phần này, mAP tăng 5%.
Các tính năng hạt mịn (Fine-Grained Features)
Các lớp kết hợp giảm dần kích thước không gian Khi độ phân giải tương ứng giảm, việc phát hiện các vật nhỏ sẽ khó khăn hơn Các trình phát hiện đối tượng khác như SSD xác định vị trí các đối tượng từ các lớp bản đồ đặc trưng khác nhau Vì vậy, mỗi lớp chuyên ở một quy mô khác nhau YOLO áp dụng một cách tiếp cận khác gọi là passthrough Nó định hình lại lớp 28 × 28 × 512 thành 14 × 14 × 2048 Sau đó, nó kết hợp với lớp đầu ra 14 × 14 × 1024 ban đầu Áp dụng các bộ lọc tích chập trên lớp 14 × 14 × 3072 mới để đưa ra dự đoán.
Hình 2-12 Mô tả thuật toán hàm sigma
Hình 2-13 Các tính năng hạt mịn ( Fine-Grained Features)
Trang 24Cứ sau 10 đợt, YOLOv2 chọn ngẫu nhiên một kích thước hình ảnh khác để huấn luyện
mô hình Điều này hoạt động như tăng dữ liệu và buộc mạng phải dự đoán tốt cho kích thước
và tỷ lệ hình ảnh đầu vào khác nhau Ngoài ra, chúng ta có thể sử dụng hình ảnh có độ phân giải thấp hơn để phát hiện đối tượng với chi phí chính xác Đây có thể là một sự đánh đổi tốt cho tốc độ trên các thiết bị có công suất GPU thấp Với 288 × 288 YOLO chạy ở tốc độ hơn
90 FPS với mAP gần như tương đương với Fast R-CNN Ở độ phân giải cao YOLO đạt được 78,6 mAP trên VOC 2007.
Độ chính xác Đây là những cải tiến chính xác sau khi áp dụng các kỹ thuật
So sánh độ chính xác cho các máy dò khác nhau:
Hình 2-14 So sánh độ chính xác
Trang 25Cải thiện tốc độ GoogLeNet VGG16 yêu cầu 30,69 tỷ thao tác dấu phẩy động cho một lần vượt qua hình ảnh 224 × 224 so với 8,52 tỷ thao tác cho một GoogLeNet tùy chỉnh Yolo
có thể thay thế VGG16 bằng GoogLeNet tùy chỉnh Tuy nhiên, YOLO trả giá cho độ chính xác top 5 cho ImageNet: độ chính xác giảm từ 90,0% xuống 88,0%.
Trang 26Hình 2-15 Mô tả mạng chi tiết
Yolo thay thế lớp chập cuối cùng (phần gạch chéo) bằng ba lớp chập 3 × 3 mỗi lớp xuất
ra 1024 kênh đầu ra Sau đó, Yolo áp dụng lớp chập 1 × 1 cuối cùng để chuyển đổi đầu ra 7 ×
7 × 1024 thành 7 × 7 × 125 (5 hộp ranh giới mỗi hộp có 4 tham số cho hộp, 1 điểm đối tượng
và 20 xác suất của lớp có điều kiện)
Trang 27Training YOLO
với bộ dữ liệu phân loại lớp ImageNet 1000 trong 160 epoch: sử dụng độ dốc dốc ngẫu nhiên với tốc độ học bắt đầu là 0,1, phân rã tỷ lệ đa thức với công suất 4, phân rã trọng lượng 0,0005 và động lượng 0,9 Trong khóa đào tạo ban đầu, YOLO sử dụng hình ảnh 224 × 224,
và sau đó thử lại nó với hình ảnh 448 × 448 cho 10 epoch với tốc độ học tập 10−3 Sau khóa đào tạo, bộ phân loại đạt được độ chính xác top 1 là 76,5% và độ chính xác top 5 là 93,3% Sau đó, các lớp được kết nối đầy đủ và lớp chập cuối cùng được loại bỏ cho một máy
dò YOLO thêm ba lớp chập 3 × 3 với 1024 bộ lọc, mỗi lớp tiếp theo là lớp chập 1 × 1 cuối cùng với 125 kênh đầu ra (5 hộp dự đoán mỗi hộp có 25 tham số) YOLO cũng thêm một lớp thông qua YOLO đào tạo mạng lưới trong 160 kỷ nguyên với tỷ lệ học bắt đầu là 10−3, chia cho 10 ở mức 60 và 90 kỷ nguyên YOLO sử dụng phân rã trọng lượng 0,0005 và động lượng 0,9.
Classification
Các bộ dữ liệu để phát hiện đối tượng có ít hơn các loại lớp so với các loại để phân loại.
Để mở rộng các lớp mà YOLO có thể phát hiện, YOLO đề xuất một phương pháp trộn hình ảnh từ cả bộ dữ liệu phát hiện và phân loại trong quá trình đào tạo Nó huấn luyện mạng đầu cuối với các mẫu phát hiện đối tượng trong khi truyền lại sự mất mát phân loại từ các mẫu phân loại để huấn luyện đường dẫn phân loại Cách tiếp cận này gặp một vài thách thức: Làm thế nào để chúng ta hợp nhất các nhãn lớp từ các bộ dữ liệu khác nhau? Cụ thể, các
bộ dữ liệu phát hiện đối tượng và các bộ dữ liệu phân loại khác nhau sử dụng các nhãn khác nhau.
Bất kỳ nhãn hợp nhất nào cũng có thể không loại trừ lẫn nhau, ví dụ, chó sục Norfolk trong ImageNet và chó trong COCO Vì nó không loại trừ lẫn nhau, Yolo không thể sử dụng softmax để tính xác suất.
Phân loại phân cấp(Hierarchical classification)
Không đi sâu vào chi tiết, YOLO kết hợp các nhãn trong các bộ dữ liệu khác nhau để tạo thành một cấu trúc giống như cây WordTree Những đứa trẻ hình thành một mối quan hệ tương tác với cha mẹ của nó như biplane là một mặt phẳng Nhưng các nhãn hợp nhất bây giờ không loại trừ lẫn nhau.
Trang 28Hình 2-16 Cấu trúc WordTree
Trang 29Một lợi ích của việc phân loại thứ bậc là khi YOLO không thể phân biệt loại máy bay,
nó sẽ cho điểm cao cho máy bay thay vì buộc nó vào một trong các loại phụ.
Khi YOLO nhìn thấy một hình ảnh phân loại, nó chỉ sao lưu mất phân loại để huấn luyện bộ phân loại YOLO tìm thấy hộp giới hạn dự đoán xác suất cao nhất cho lớp đó và nó tính toán tổn thất phân loại cũng như của phụ huynh (Nếu một đối tượng được dán nhãn là biplane, nó cũng được coi là được gắn nhãn là máy bay, không khí, phương tiện) Điều này khuyến khích mô hình trích xuất các tính năng phổ biến đối với chúng Vì vậy, ngay cả khi Yolo chưa bao giờ đào tạo một lớp đối tượng cụ thể để phát hiện đối tượng, Yolo vẫn có thể đưa ra dự đoán như vậy bằng cách khái quát hóa các dự đoán từ các đối tượng liên quan Trong phát hiện đối tượng, Yolo đặt Pr (đối tượng vật lý) bằng với điểm tin cậy của hộp
để đo xem hộp có đối tượng hay không YOLO đi ngang qua cây, đi theo con đường có độ tin cậy cao nhất ở mỗi lần phân tách cho đến khi đạt đến ngưỡng nào đó và YOLO dự đoán lớp đối tượng đó.
5.3.3 Yolo 9000
YOLO9000 mở rộng YOLO để phát hiện các đối tượng trên 9000 lớp bằng cách sử dụng phân loại phân cấp với một nút WordTree 9418 Nó kết hợp các mẫu từ COCO và 9000 lớp hàng đầu từ ImageNet YOLO lấy mẫu bốn dữ liệu ImageNet cho mỗi dữ liệu COCO Nó học cách tìm các đối tượng bằng cách sử dụng dữ liệu phát hiện trong COCO và phân loại các đối tượng này bằng các mẫu
Trong quá trình đánh giá, YOLO kiểm tra hình ảnh về các danh mục mà nó biết cách phân loại nhưng không được đào tạo trực tiếp để xác định vị trí của chúng, tức là các danh mục không tồn tại trong COCO YOLO9000 đánh giá kết quả của nó từ bộ dữ liệu phát hiện đối tượng ImageNet có 200 danh mục Nó chia sẻ khoảng 44 loại với COCO Do đó, bộ dữ liệu chứa 156 danh mục chưa bao giờ được đào tạo trực tiếp về cách định vị chúng YOLO trích xuất các tính năng tương tự cho các loại đối tượng liên quan Do đó, chúng ta có thể phát hiện 156 danh mục đó chỉ bằng cách từ các giá trị tính năng.
YOLO9000 có tổng thể 19,7 mAP với 16,0 mAP trên 156 danh mục đó YOLO9000 hoạt động tốt với các loài động vật mới không được tìm thấy trong COCO vì hình dạng của chúng có thể được khái quát hóa dễ dàng từ các lớp bố mẹ của chúng
Trang 305.3.4 Yolo v3
Trên Pascal Titan X, nó xử lý hình ảnh ở 30 FPS và có mAP là 57,9% trên thử nghiệm COCO
Dự đoán lớp
Hầu hết các phân loại giả định nhãn đầu ra là loại trừ lẫn nhau Đó là sự thật nếu đầu ra
là các lớp đối tượng loại trừ lẫn nhau Do đó, YOLO áp dụng chức năng softmax để chuyển đổi điểm thành xác suất tổng hợp thành một YOLOv3 sử dụng phân loại đa nhãn.
Ví dụ, các nhãn đầu ra có thể là các bộ dành cho người đi bộ đường dài và trẻ em không phải là độc quyền (tổng sản lượng có thể lớn hơn 1 ngay bây giờ.) YOLOv3 thay thế chức năng softmax bằng các phân loại logistic độc lập để tính toán khả năng của đầu vào thuộc về một nhãn cụ thể Thay vì sử dụng sai số bình phương trung bình trong tính toán tổn thất phân loại, YOLOv3 sử dụng tổn thất entropy chéo nhị phân cho mỗi nhãn Điều này cũng làm giảm độ phức tạp tính toán bằng cách tránh hàm softmax.
YOLOv3 dự đoán điểm số đối tượng cho mỗi hộp giới hạn sử dụng hồi quy logistic YOLOv3 thay đổi cách tính hàm chi phí Nếu hộp giới hạn trước (neo) chồng lên một đối tượng sự thật mặt đất nhiều hơn các đối tượng khác, thì điểm đối tượng tương ứng sẽ là 1 Đối với các linh mục khác có chồng chéo lớn hơn ngưỡng xác định trước (mặc định 0,5), chúng không phải trả chi phí Mỗi đối tượng sự thật mặt đất chỉ được liên kết với một hộp ranh giới trước Nếu một hộp giới hạn trước không được chỉ định, nó sẽ không bị mất phân loại và nội địa hóa, chỉ mất niềm tin vào tính khách quan Yolo sử dụng tx và ty (thay vì bx và by) để tính toán tổn thất.
bx, by, bw, bh là tọa độ trung tâm x, y, chiều rộng và chiều cao dự đoán của Yolo tx, ty,
tw, th là những gì mạng đầu ra cx và cy là tọa độ trên cùng bên trái của lưới pw và ph là kích thước neo cho hộp.
Trang 31+Trong lớp bản đồ tính năng cuối cùng
+Sau đó, nó quay trở lại 2 lớp và đảo ngược nó lên 2 YOLOv3 sau đó lấy bản đồ tính năng với độ phân giải cao hơn và hợp nhất nó với bản đồ tính năng được ghép lại bằng cách
sử dụng bổ sung phần tử YOLOv3 áp dụng các bộ lọc tích chập trên bản đồ được hợp nhất để tạo bộ dự đoán thứ hai.
+ Lặp lại 2 lần nữa để lớp bản đồ tính năng kết quả có thông tin cấu trúc cấp cao (ngữ nghĩa) tốt và thông tin không gian có độ phân giải tốt trên các vị trí đối tượng.
Để xác định các mục sư, YOLOv3 áp dụng cụm k-nghĩa Sau đó, nó chọn trước 9 cụm Đối với COCO, chiều rộng và chiều cao của neo là (10 × 13), (16 × 30), (33 × 23), (30 × 61), (62 × 45), (59 × 119), (116 × 90), (156 × 198), (373 × 326) 9 linh mục này được nhóm thành
3 nhóm khác nhau theo quy mô của chúng Mỗi nhóm được gán cho một bản đồ tính năng cụ thể ở trên trong việc phát hiện các đối tượng.
Feature extractor
Một Darknet-53 mới 53 lớp được sử dụng để thay thế Darknet-19 làm công cụ trích xuất tính năng Darknet-53 chủ yếu bao gồm các bộ lọc 3 × 3 và 1 × 1 với các kết nối bỏ qua như mạng còn lại trong ResNet Darknet-53 có ít BFLOP (tỷ hoạt động dấu phẩy động) so với ResNet-152, nhưng đạt được độ chính xác phân loại tương tự với tốc độ nhanh hơn gấp 2 lần.
Hiệu suất YOLOv3
Trang 32Chỉ số COCO AP của YOLOv3 ngang bằng với SSD nhưng nhanh hơn gấp 3 lần Nhưng
AP YOLOv3 vẫn đứng sau RetinaNet Cụ thể, AP@IoU=.75 giảm đáng kể so với RetinaNet, điều này cho thấy YOLOv3 có lỗi nội địa hóa cao hơn YOLOv3 cũng cho thấy sự cải thiện đáng
kể trong việc phát hiện các vật thể nhỏ.
5.3.5 Yolo v4
YOLOv4 mới được phát hành tháng 4/2020
YOLOv3 đã khá
phổbiến,mạnh mẽ và nhanh chóng, và bây giờ so với YOLOv4, đã
được nâng cấp đáng
kể về tốc độ và hiệu suất
• Mụ
c tiêu của YOLOv4
Theo các tác giả là thiết
kế một bộ phát
hiện
đối tượng vận hành nhanh cho các hệ thống sản xuất cũng được tối ưu hóa chocác tính toán song song Nó phải trở nên tốt hơn theo nhiều cách, nó phải cựcnhanh, chất lượng cao về độ chính xác và kết quả phát hiện đối tượng
6 Cơ sở xử lý ảnh
Hình 2-17 Kết quả YOLOv4 khi phát hiện đối tượng trên MS COCO