Hàm Loss Funtion

Một phần của tài liệu Ứng dụng YOLO trong nhận diện đối tượng từ hình ảnh (Trang 34)

Hàm mất mát Loss Function trong YOLO được tính toán dựa trên việc sai số dự đoán và gán nhãn mô hình để tính. Cụ thể hơn nó là tổng độ mất mát của 3 thành phần con sau :

• Classifycation loss : Đo lường sai số của việc dự đoán loại nhãn của object -

• Localization loss : Đo lường sai số của dự đoán tọa độ tâm, chiều dài, rộng của boundary box (x, y ,w, h)

• Confidence loss : Đo lường sai số của việc dự đoán bounding box đó chứa object so với nhãn thực tế tại ô vuông đó - Confidence loss

Classifycation loss

Hàm này chỉ tính trên những ô vuông có xuất hiện object, còn những ô vuông khác ta không cần quan tâm .

Classifycation loss có công thức tính là :

Localization loss

Giá trị hàm Localization loss được tính trên tổng giá trị lỗi dự đoán toạ độ tâm (x, y) và (w, h) của predicted bounding box với grouth-truth bounding box.

Công thức

Confidence loss

Hàm này tính dựa vào cả những ô vuông có xuất hiện object và không xuất hiện object.

Công thức :

Total loss

2.6. The Network

YOLO là một mô hình mạng CNN thông thường gồm các convolutional layers kết hợp maxpooling layers và cuối cùng là 2 lớp fully connected layers,với hàm kích hoạt cho layer cuối cùng là một linear activation function và tất cả các layers khác sẽ sử dụng leaky RELU :

2.7. Hạn chế của YOLO

YOLO áp đặt các ràng buộc về không gian trên những bounding box, mỗi grid cell chỉ có thể predict rất ít bounding box và duy nhất một class. Các ràng buộc này hạn chế khả năng nhận biết số object nằm gần nhau, cũng như đối với các object có kích thướcnhỏ.

YOLO sử dụng các feature tương đối thô để predict bounding box, do model sử dụng nhiều lớp downsampling từ ảnh đầu vào. Bởi các hạn chế này của model khi huấn luyện để predict bounding box từ data, dẫn đến YOLO không thực sự tốt trong việc nhận diện các object với tỉ lệ hình khối mới hoặc bất thường so với tập

data. YOLOv2 đã khắc phục phần nào vấn đề này, nhưng vẫn thua kém nhiều so với FRCNN.

Ngoài ra, trong quá trình training, loss function không có sự đánh giá riêng biệt giữa error của bounding box kích thước nhỏ so với error của bounding box kích thước lớn. Việc coi chúng như cùng loại và tổng hợp lại làm ảnh hưởng đến độ chính xác toàn cục của mạng. Error nhỏ trên box lớn nhìn chung ít tác hại, nhưng error nhỏ với box rất nhỏ sẽ đặc biệt ảnh hưởng đến giá trị IOU.

2.8. So sánh các phiên bản YOLO

Những người tạo ra YOLO đã thiết kế các phiên bản mới để thực hiện các cải tiến so với các phiên bản trước, chủ yếu tập trung vào việc cải thiện độ chính xác của phát hiện.

YOLOv1

Phiên bản đầu tiên của YOLO được giới thiệu vào năm 2015, nó sử dụng một khung Darknet giới hạn được đào tạo trên tập dữ liệu ImageNet-1000. Bộ dữ liệu này có nhiều hạn chế và hạn chế khả năng sử dụng của YOLO V1. Cụ thể, YOLO V1 đã vật lộn để xác định các đối tượng nhỏ xuất hiện dưới dạng một cụm và không hiệu quả trong việc tổng quát hóa các đối tượng trong hình ảnh có kích thước khác với hình ảnh được đào tạo. Điều này dẫn đến việc bản địa hóa các đối tượng trong hình ảnh đầu vào kém.

YOLOv2

YOLO V2 được phát hành vào năm 2016 với tên gọi YOLO9000. YOLO V2 đã sử dụng darknet-19, một mạng 19 lớp với 11 lớp nữa được sạc để phát hiện vật thể. YOLO V2 được thiết kế để sử dụng Máy dò đa hộp (SSD) R-CNN và Single Shot nhanh hơn, cho thấy điểm số phát hiện đối tượng tốt hơn.

Các nâng cấp của YOLO V2 so với YOLO V1 bao gồm:

Cải thiện độ chính xác trung bình trung bình (MAP) —công cụ phân loại độ phân giải cao hơn mới đã tăng kích thước đầu vào từ 224 * 224 trong YOLO V1 lên 448 * 448 và cải thiện MAP.

Phát hiện tốt hơn các đối tượng nhỏ hơn — chia hình ảnh thành các

ô lưới 13 * 13 nhỏ hơn để cải thiện bản địa hóa và nhận dạng các đối tượng nhỏ hơn trong hình ảnh.

Cải thiện khả năng phát hiện trong các hình ảnh có kích thước khác nhau — đào tạo thuật toán với các hình ảnh ngẫu nhiên có kích

thước khác nhau để cải thiện độ chính xác dự đoán của mạng đối với các đối tượng từ các hình ảnh đầu vào có kích thước khác nhau.

Anchor boxes — cung cấp một khuôn khổ duy nhất để phân loại và

dự đoán các hộp giới hạn. Hộp neo được thiết kế cho các tập dữ liệu cụ thể bằng cách sử dụng phân cụm k-means.

YOLOv3

YOLO V3 là một bản nâng cấp gia tăng so với YOLOv2, sử dụng một biến thể khác của Darknet. Kiến trúc YOLOv3 này bao gồm 53 lớp được đào tạo trên ImageNet và 53 lớp khác có nhiệm vụ phát hiện đối tượng với số lượng lên đến 106 lớp. Mặc dù điều này đã cải thiện đáng kể độ chính xác của mạng, nhưng nó cũng đã giảm tốc độ từ 45 khung hình / giây xuống 30 khung hình / giây.

Các layer trong mạng DarkNet53

Các nâng cấp YOLOv3 so với YOLOv2 bao gồm:

Dự đoán hộp giới hạn được cải thiện — sử dụng hồi quy logistic để

dự đoán nhằm đưa ra điểm dự đoán cho tất cả các đối tượng trong mỗi hộp giới hạn.

Dự đoán lớp chính xác hơn — softmax đã được sử dụng cho YOLO V2 đã được thay thế bằng bộ phân loại hậu cần cho mỗi lớp cho mục đích đa nhãn.

Cải thiện khả năng ở các quy mô khác nhau — đưa ra 3 dự đoán

cho mọi vị trí trong hình ảnh đầu vào để cho phép lấy mẫu ngược từ các lớp trước để có được thông tin chi tiết và thông tin ngữ nghĩa đầy đủ và cải thiện chất lượng đầu ra.

2.9. Kết quả thực nghiệm

Kết luận

Với tốc độ phát triển của cuộc cách mạng công nghiệp 4.0 ngày này,việc tìm hiểu và ứng dụng các lĩnh vực Thị giác máy tính (Computer Vision) và Trí tuệ nhân tạo (Artificial Intelligence) là sự lựa chọn hết sức phù hợp và vô cùng cần thiết.

Thông qua quá trình thực hiện và nghiên cứu về đồ án :”Ứng dụng YOLO trong nhận diện đối tượng từ hình ảnh” em đã có thêm nhiều hiểu biết về Deep Learning : Nhận diện đối tượng, Mạng Nơ-rin Tích chập, Mô hình YOLO…Sử dụng YOLO trong Opencv để nhận diện đối tượng từ hình ảnh bằng python.

Từ những kết quả đạt được em có thêm những nền tảng kiến thức cho việc học tập sau này, nảy ra nhiều ý tưởng về những dự án phát triển tiếp theo để có thể áp dụng vào đời sống chúng ta hiện nay.Ví dụ như :Nhận diện xe cộ, con người, đèn giao thông trong lĩnh vực lái tự động hay AI quét thân nhiệt con người trong ngành y tế với tình hình Covid-19 hiện nay.

Em xin gửi lời cảm ơn chân thành đến cô Ngô Thị Hiền đã có nhiều góp ý,giúp đỡ và tạo điều kiện để em có thể hoàn thành được đồ án này.

Do điều kiện thời gian có hạn cùng với khả năng còn hạn chế nên không thể tránh khỏi những sai sót trong quá trình hoàn thành đồ án,em rất mong nhận được những chỉ bảo và thông cảm từ quý thầy cô.

Tài liệu tham khảo

http://www.wildml.com/2015/11/understanding-convolutional-neural-networks- for-nlp/

Deep Learning Cơ bản _ Nguyễn Thanh Tuấn Machine Learning Cơ bản _ Vũ Hữu Tiệp

Pham Dinh Khanh – YOLO You Only Look Once

YOLO object detection YOLO - forum machine learning cơ bản

https://www.mathworks.com/videos/introduction-to-deep-learning-what-are- convolutional-neural-networks--1489512765771.html http://deepmachinelearningai.com/yolo-deep-learning-you-only-look-once/ http://deepmachinelearningai.com/yolo-deep-learning-you-only-look-once/ https://hackernoon.com/understanding-yolo-f5a74bbc7967 https://arxiv.org/pdf/1506.02640.pdf https://ai.hblab.vn/2017/10/intersection-over-union-iou-cho-object.html

Một phần của tài liệu Ứng dụng YOLO trong nhận diện đối tượng từ hình ảnh (Trang 34)