Hình minh họa loss function của YOLOv1

Một phần của tài liệu Tìm hiểu phương pháp rút trích thông tin hóa đơn tiếng việt (Trang 28 - 31)

Hàm mất mát của YOLOv1 sử dụng tổng bình phương lỗi (sum-squared error – SSE) giữa kết quả dự đốn từ model và giá trị thực tế để tính độ mất mát, bao gồm:

− Mất mát trong việc phân loại (Classification loss)

− Mất mát trong việc xác định vị trí (Localization loss)

− Mất mát trong độ tin cậy (Confidence loss)

25 (vi) Khuyết điểm

Tuy đạt nhiều kết quả khả quan trong việc phát hiện đối tượng trong ảnh thời gian thực, nhưng YOLOv1 vẫn tồn tại những khuyết điểm như:

− Số lượng đối tượng nhận dạng được ở mỗi ảnh rất ít: với thuật tốn chia ảnh thành 7x7 ơ lưới, model chỉ detect được nhiều nhất là 49 đối tượng (mỗi ơ chỉ dự đốn 1 đối tượng).

− Nếu 1 ô lưới chứa trọng tâm của nhiều đối tượng, model sẽ chỉ nhận dạng đối tượng có độ chính xác cao nhất.

− Nếu vật thể quá lớn so với ảnh, nó sẽ bị nhận dạng nhiều lần (do có trọng tâm nằm trong nhiều ô lưới khác nhau).

− Các giá trị xác định tọa độ của bounding box (x, y, w, h) được dự đốn ra trực tiếp. Trong khi đó trong hầu hết các dataset, các bouding box có kích cỡ khơng q đa dạng mà tuân theo những tỷ lệ nhất định.

(b) YOLOv2

(i) Tổng quan

Nối tiếp sự thành công của YOLOv1, và cũng để khắc phục những khuyết điểm của YOLOv1, Joseph Redmon và các cộng sự tiếp tục cho ra đời bài báo YOLO9000: Better, Faster, Stronger[12] nhằm giới thiệu về phương pháp YOLOv2 được cải tiến từ YOLOv1.

(ii) Điểm mới

Nhằm cải thiện những khuyết điểm của YOLOv1, YOLOv2 có những thay đổi sau:

− Sử dụng các anchor box: Người ta nhận thấy rằng, trong hầu hết các bộ dataset, các bbox thường có hình dạng tuân theo những tỉ lệ và kích cỡ nhất định. Nhóm tác giả sử dụng phương pháp K-mean để phân cụm các bounding box có trong bộ dữ liệu từ đó chọn ra 5 kích thước để chọn làm anchor box. Như vậy, thay vì dự đốn trực tiếp vị trí của bounding box (x, y, w, h), ta dự đoán ra bộ offset (độ lệch) giữa groundtruth với các anchor box. Các offset này được giới hạn

26

trong khoản từ 0 đến 1 để giới hạn các bounding box nằm ở vị trí gần các ơ lưới chứa nó, từ đó làm tăng độ ổn định trong quá trình train của model.

− Thay đổi kích thước ảnh đầu vào: thay vì chia bức ảnh thành ơ lưới như YOLOv1, YOLOv2 chia bức ảnh thành ơ lưới để có thể nhận dạng được nhiều bounding box hơn, vì vậy nên kích thước đầu vào của ảnh cũng được đổi thành 416 để sau khi các lớp convolution giảm mẫu ảnh xuống 32 lần ta thu được output có kích thước . Tuy nhiên, kiến trúc của YOLOv2 cho phép nó có thể thích ứng với nhiều kích thước ảnh đầu vào khác nhau, nhóm tác giả đã huấn luyện model trên nhiều ảnh có kích thước khác nhau để tăng khả năng thích ứng này của model.

− Thêm lớp BatchNorm vào model: Hành động này giúp tăng 2% mAP của model.

− Bỏ đi các fully connected ở cuối model: giúp giảm độ phức tạp của model.

− Mỗi bounding box có class_distribution riêng: trong cùng một ơ lưới có thể nhận dạng được nhiều loại đối tượng khác nhau.

− Giới hạn tâm bounding box nằm trong ơ lưới: giảm tình trạng nhiều bounding box dự đoán cùng một đối tượng.

− Dự đoán ở nhiều tầng khác nhau để tận dụng feature map ở các kích thước khác nhau: tăng khả năng nhận dạng những đối tượng có kích thước nhỏ.

27 (iii) Kiến trúc mạng

Một phần của tài liệu Tìm hiểu phương pháp rút trích thông tin hóa đơn tiếng việt (Trang 28 - 31)