Tải bản đầy đủ (.docx) (65 trang)

Nghiên cứu nhận dạng đối tượng trong video, hình ảnh, webcam sử dụng YOLO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.93 MB, 65 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜ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


HÀ NỘI, 06/2020

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜ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

Trưởng nhóm nghiên
cứu

Nguyễn Ngọc Hưng - 1721050323 - DCCTMM62B

Các thành viên tham
gia thực hiện

Đinh Việt Anh - 1721050496 - DCCTMM62B


Giảng viên hướng

Th.S Phạm Đình Tân

Lê Thế Quý - 1721050540 - DCCTMM62B


dẫn

HÀ NỘI, 06/2020


Báo cáo nghiên cứu khoa học

MỤC LỤC

4


Báo cáo nghiên cứu khoa học

DANH MỤC CÁC HÌNH ẢNH

5


Báo cáo nghiên cứu khoa học

LỜ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 đối

tượng sử dụng YOLO.” nhóm em đã nhận được sự giúp đỡ, chỉ bảo nhiệt tình
củ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àn
thà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òn
nhiề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.

6


Báo cáo nghiên cứu khoa học

CHƯƠ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ạng
cô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ác
thiế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ọc
công nghệ, trí tuệ nhân tạo được xem là nhân tố định hình tương lai. Với sự phát
triển nhanh chóng trong những năm gần đây, trí tuệ nhân tạo đã và đang đi vào
thự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áo
dụ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ên

tắ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. Machine
learning 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áy
tí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 trong
Machine 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ác
quyế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ận
dạng chữ viết tay, nhận dạng hình ảnh, giọng nói,... góp phần quan trọng trong
việc hỗ trợ con người trong nhiều lĩnh vực đời sống.

7


Báo cáo nghiên cứu khoa học

Từ 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ương
trình nhận dạng đối tượng qua webcam, video và hình ảnh sử dụng YOLO trên
ngôn ngữ lập trình Python” nhằm nghiên cứu và ứng dụng kỹ thuật Deep
learning trong nhận dạng đối tượng qua video sử dụng YOLO trên ngôn ngữ lập
trì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ụng
YOLO để 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ính
xá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
tượng sử dụng các tính năng được học bởi một mạng neural network chập sâu để
phát hiện một đối tượng.
Là một mô hình mạng CNN cho việc phát hiện, nhận dạng, phân loại đối
tượng. Yolo được tạo ra từ việc kết hợp giữa các convolutional layers và
connected layers. Trong đó các convolutional layers sẽ trích xuất ra các feature
8


Báo cáo nghiên cứu khoa học

của ảnh, còn full-connected layers sẽ dự đoán ra xác suất đó và tọa độ của đối

tượ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.
5.2. Lịch sử phát triển
Yolo đã trải qua rất nhiều phiên bản khác nhau, phiên bản mới nhất tính đến
hiện tại (tháng 6/2020) là Yolo v4.
5.3. Các phiên bản
5.3.1 Yolo v1
Ô 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.

Hình 2- 1. Chia ô lưới dự đoán đối tượng
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 đó.

9


Báo cáo nghiên cứu khoa học

Tuy 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.
Hình 2-2 Dự đoán nhiều khả năng hợp xanh để xác định đối tượng
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.

10



Báo cáo nghiên cứu khoa học
Hình 2-3 Hạn chế mức độ gần gữi của YOLO

Đố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
tượng

đối
(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.
Mỗi ô có 20 xác suất lớp có

điều kiện. Xác


suất lớp có điều kiện là xác suất mà đối

tượng

được

Hình 2- 4 Đánh giá PASCAL VOC
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

11


Báo cáo nghiên cứu khoa học
ranh 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).

Hình 2- 5 Kết quả nhận diện của YOLO

Đ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 dạng (7, 7, 1024). Các tenor sau đó được

làm
phẳng.
Sử dụng
đầy đủ như một hình thức hồi

2 lớp được kết nối
quy tuyến tính, nó tạo ra các
Hình 2-612
Thiết kế của mạng


Báo cáo nghiên cứu khoa học
tham 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).
Classification loss
Nếu một đối tượng được phát hiện, mất phân loại tại mỗi ô là lỗi bình phương của xác
suất có điều kiện của lớp cho mỗi lớp:

Localization loss
localization loss đo các

lỗi trong vị trí và kích

thước hộp ranh giới dự đoán.

Chúng ta chỉ đếm hộp chịu trách

nhiệm phát hiện đối tượng

Chúng ta không muốn trọng số
lỗi tuyệt đối trong các

hộp lớn và hộp

nhỏ như nhau.

tức là lỗi 2pixel

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)

13


Báo cáo nghiên cứu khoa học

Confidence 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.
Đây là một trong những triển khai triệt tiêu không tối đa có thể: Sắp xếp các dự đoán
theo điểm số niềm tin. Bắt đầu từ điểm số cao nhất, bỏ qua mọi dự đoán hiện tại nếu Yolo tìm
thấy bất kỳ dự đoán nào trước đó có cùng lớp và IoU> 0,5 với dự đoán hiện tại. Lặp lại bước
2 cho đến khi tất cả các dự đoán được kiểm tra
Lợi ích của Yolo:

14


Báo cáo nghiên cứu khoa học
Nhanh. 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.

Hình 2-7 Độ chính xác của YOLO
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

15


Báo cáo nghiên cứu khoa học
để 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.

Hình 2-8 Sự kết hợp Convolutional with Anchor Boxes
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.

16


Báo cáo nghiên cứu khoa học


Hình 2-9 Hình ảnh thực tế, các hộp ranh giới không phải tùy ý
Vì 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.

17


Báo cáo nghiên cứu khoa học
chú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

18


Báo cáo nghiên cứu khoa học
Chú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.

19


Báo cáo nghiên cứu khoa học
Thay đổ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.

20


Báo cáo nghiên cứu khoa học

Vì 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.

Hình 2-11 Sơ đồ IoU trung bình giữa các neo và hộp sự thật mặt đất
Ở 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 ý.

21


Báo cáo nghiên cứu khoa học
Dự đ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.

22


Báo cáo nghiên cứu khoa học

Hình 2- 12 Mô tả thuật toán hàm sigma
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.
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- 13 Các tính năng hạt mịn ( Fine-Grained Features)

23


Báo cáo nghiên cứu khoa học
Multi-Scale Training
Sau khi loại bỏ các lớp được kết nối đầy đủ, YOLO có thể chụp ảnh với các kích cỡ
khác nhau. Nếu chiều rộng và chiều cao được nhân đôi, chúng ta chỉ tạo các ô lưới đầu ra 4x
và do đó dự đoán 4x. Do mạng YOLO hạ thấp đầu vào của 32, chúng ta chỉ cần đảm bảo
chiều rộng và chiều cao là bội số của 32. Trong quá trình đào tạo, YOLO chụp ảnh có kích
thước 320 × 320, 352 × 352, Lọ và 608 × 608 (với một bước 32).
Cứ 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

Hình 2-14 So sánh độ chính xác
So sánh độ chính xác cho các máy dò khác nhau:

24


Báo cáo nghiên cứu khoa học

Cả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%.
DarkNet
Chúng ta có thể đơn giản hóa hơn nữa CNN xương sống được sử dụng. Darknet chỉ yêu
cầu 5,58 tỷ hoạt động. Với DarkNet, YOLO đạt được 72,9% độ chính xác top-1 và 91,2% top5 trên ImageNet. Darknet sử dụng hầu hết các bộ lọc 3 × 3 để trích xuất các tính năng và bộ
lọc 1 × 1 để giảm các kênh đầu ra. Nó cũng sử dụng tổng hợp trung bình toàn cầu để đưa ra
dự đoán. Dưới đây là mô tả mạng lưới chi tiết:

25


×