Precision and recall

Một phần của tài liệu Phát hiện đối tượng trong không ảnh chứa sương mờ dựa trên học sâu (khóa luận tốt nghiệp) (Trang 63)

Precision và Recall ln có giá trị trong đoạn [0,1]. Đối với từng bài toán, các giá trị sẽ mang ý nghĩa khác nhau. Vì vậy, ta không thể dựa vào chỉ mỗi Precision hay Recall cao để đánh giá mơ hình.

4.3.3.Mean Average Precision (𝒎𝑨𝑷)

Mean Average Precision (𝑚𝐴𝑃) là trung bình điểm 𝐴𝑃 (𝐴𝑃 𝑠𝑐𝑜𝑟𝑒) của n class và được định nghĩa bằng công thức sau:

𝑚𝐴𝑃 = 1

𝑁∑ 𝐴𝑃𝑖

𝑁

𝑖=1

Độ đo 𝑚𝐴𝑃 được nhóm sử dụng để đánh giá kết quả thực nghiệm lấy từ COCO API. 𝑚𝐴𝑃 được tính tốn cho 10 IoU thay đổi trong phạm vi từ 50% tới 95% với các bước là 5%, thường được viết dưới dạng 𝐴𝑃@50: 5: 95. Giá trị điểm

𝑚𝐴𝑃 càng cao cho thấy mơ hình có hiệu quả dự đốn đúng càng cao. Ngồi ra, để đánh giá với các giá trị đơn lẻ của IoU, nhóm sử dụng hai giá trị phổ biến nhất là

46

IoU 50% và 75% lần lượt được viết dưới dạng 𝐴𝑃@50 (AP𝟓𝟎) , 𝐴𝑃@75 (AP𝟕𝟓). Chi tiết xem thêm tại MS-COCO (https://cocodataset.org/#detection-eval).

4.4.Kết quả thực nghiệm và đánh giá 4.4.1.Kết quả thực nghiệm 4.4.1.Kết quả thực nghiệm

MS-COCO API được chúng tơi sử dụng để tính toán độ đo 𝑚𝐴𝑃 cho 3 phương pháp phát hiện đối tượng SOTA trên bộ dữ liệu UIT-DroneFog. Kết quả chi tiết được thể hiện ở Bảng 4.1.

Kiến trúcPedestrianMotorCarBus mAP AP𝟓𝟎 AP𝟕𝟓

Cascade R-CNN 2.10 34.50 56.80 38.40 32.90 45.80 38.50

Guided

Anchoring 2.6035.10 56.10 33.80 31.90 46.50 36.70 Double-Head 1.60 33.20 58.7039.2033.2047.5038.90

Bảng 4.1: Bảng kết quả thực nghiệm với thông số mặc định trên các phương pháp phát hiện đối tượng. Kết quả tốt nhất được in đậm (%).

4.4.2.Trực quan hóa kết quả

Trường hợp model dự đốn tốt (good case)

(a) Guided Anchoring

47 (b) Double-

Head

(c) Cascade R-CNN

Hình 4.6: Ảnh kết quả dự đốn tốt khi chạy thực nghiệm với thông số mặc định. (a) Guided Anchoring, (b) Double-Head, (c) Cascade R-CNN.

Nhận xét: Phần lớn các lớp đối tượng được mơ hình phát hiện đúng, hiếm gặp tình trạng bị bỏ sót đối tượng hoặc chồng lắp Bounding box. Tuy nhiên, đối với phương pháp Guided Anchoring, các Bounding box lớp đối tượng kém hoàn hảo hơn so với hai phương pháp cịn lại và một vài đối tượng kích thước q nhỏ thì khơng được phát hiện.

48

Trường hợp model dự đoán xấu (bad case)

(a)

49 (c)

Hình 4.7: Ảnh kết quả dự đốn xấu khi chạy thực nghiệm với thông số mặc định (a) Guided Anchoring, (b) Double-Head, (c) Cascade R-CNN.

Nhận xét: Lớp đối tượng Car và Bus bị phát hiện thiếu bởi mơ hình Guided Anchoring và Double-Head và thường có Bounding box chưa hồn hảo ở mơ hình Cascade R-CNN. Ngồi ra, lớp đối tượng Pedestrian bị các mơ hình phát hiện nhầm thành đối tượng Motor và còn bị chồng lắp Bounding box.

4.4.3.Đánh giá kết quả

Từ bảng kết quả của ba phương pháp chạy thực nghiệm trên bộ dữ liệu UIT- DroneFog, ta có thể thấy rằng phương pháp Guided Anchoring có kết quả kém nhất với điểm 𝑚AP chỉ đạt 31.90%, tuy nhiên, phương pháp này lại đạt kết quả tốt nhất khi phát hiện hai lớp đối tượng Pedestrian (2.60%) và Motor (35.10%). Trong khi đó, Double-Head cho thấy kết quả tốt nhất khi phát hiện lớp đối tượng Car và Bus, đặc biệt kết quả với Bus là 39.20% (cao hơn 5.40% so với Guided Anchoring). Mặt khác, Cascade R-CNN mặc dù là phương pháp multi-stage nhưng chỉ đạt hiệu quả cao đối với lớp đối tượng Pedestrian còn đối với các điểm 𝑚AP, AP50, AP75 đều thấp hơn so với Double-Head. Điều này cho thấy, đề xuất sử dụng fully connected head cho tác vụ phân loại đối tượng và convolution head cho tác vụ xác định vị trí

50

đối tượng có hiệu quả hơn thay vì sử dụng fully connected head cho cả hai tác vụ như trong kiến trúc multi-stage của Cascade R-CNN.

Xét riêng về các lớp đối tượng:

Pedestrian: Đây là lớp đối tượng có điểm số 𝑚𝐴𝑃 dự đoán thấp nhất trong bộ dữ liệu mặc dù số lượng đối tượng trong cả ba tập dữ liệu khơng q ít. Lớp đối tượng này cũng dễ bị nhầm lẫn thành lớp Motor.

Motor: Đây là lớp đối tượng có số lượng đối tượng lớn nhất nhưng kết quả phát hiện khơng q cao bởi vì thường bị nhầm lẫn với đối tượng Pedestrian và bị phát hiện xó. Lý do cho vấn đề này là bởi vì ở một số bối cảnh quay tại nơi có mật độ Motor cao, các đối tượng này bị che khuất bởi nhau và đối với một số góc máy kích thước của lớp Motor quá nhỏ và đơi khi khơng có sự khác biệt đáng kể nào giữa Motor và Pedestrian. • Car: Là đối tượng có điểm số 𝑚AP cao nhất. Tuy nhiên, đối tượng này

vẫn hay bị phát hiện thiếu hoặc bị nhầm với một số phương tiện khác không là đối tượng được đề cập trong bộ dữ liệu.

Bus: Mặc dù phân phối lớp Bus thấp nhất trong bộ dữ liệu nhưng kết quả của phát hiện lại gần như ngang bằng với lớp Motor. Nguyên nhân chính dẫn tới kết quả khả quan của lớp Bus là bởi vì đặc trưng hình dạng và kích thước của các đối tượng Bus quá khác biệt, chúng thường to gấp nhiều lần so với cả ba loại đối tượng cịn lại. Điều này cho phép các mơ hình phát hiện đối tượng này dễ dàng hơn mặc dù dữ liệu huấn luyện ít.

51

Chương 5.ĐỀ XUẤT CẢI TIẾN VÀ ĐÁNH GIÁ KẾT QUẢ

5.1.Đề xuất cải tiến kết quả phát hiện đối tượng trong không chứa sương mờ

Kết quả thực nghiệm từ Chương 4 cho thấy Double-Head cho kết quả tốt nhất cho bài toán phát hiện đối tượng không ảnh chứa sương mờ. Với mong muốn cải thiện kết quả, chúng tôi đã đề xuất phương pháp gọi là CasDou bằng cách thực hiện kết hợp phương pháp Double-Head và phương pháp Cascade R-CNN. Lý do chúng tơi thực hiện sự kết hợp này là vì cả hai phương pháp đều được xây dựng trên nền tảng của Faster R-CNN vì thế chúng có khả năng kết hợp với nhau. Chúng tôi mong muốn kiến trúc multi-stage của Cascade R-CNN sẽ giúp cải thiện kết quả của Double-Head. Trong thực nghiệm mở rộng, nhóm chỉ sử dụng backbone 𝑅 − 50 − 𝑅𝑃𝑁 cho CasDou vì lý do giới hạn tài nguyên máy.

Hơn nữa, nhóm nhận thấy rằng các được sử dụng đang gặp khó khăn với tính chất mất cân bằng đặc trưng của bộ dữ liệu dữ liệu. Cụ thể là hai đối tượng Pedestrian và Motor chiếm tỉ lệ phân bố cao nhất (khoảng 13.31% và 77.84%) trên bộ dữ liệu UIT-DroneFog, thường dễ bị nhầm lẫn với nhau khi phát hiện trong hình ảnh.

“Trong bài tốn phát hiện đối tượng, hàm mất mát đóng vai trị quan trọng, ảnh hưởng đến độ chính xác trong phát hiện đối tượng” [31]. Trong quá trình huấn luyện, hàm mất mát được sử dụng để đánh giá tham số weights của mơ hình. Giá trị hàm mất mát càng nhỏ thì mơ hình dự đốn càng tốt. Do đó, chúng tơi tiếp tục thực hiện thay đổi hàm mất mát của phương pháp Double-Head và CasDou từ Cross Entropy (CE) (cấu hình mặc định của các phương pháp) sang Focal Loss (FL) với mong muốn giảm nhầm lẫn giữa các lớp khi dự đoán đối tượng.

5.1.1.Cross Entropy Loss

Hàm mất mát Cross Entropy (CE) [31] là một trong những hàm mất mát được sử dụng phổ biến nhất hiện nay. CE còn được gọi là mất mát logarit hoặc mất mát logistic. Mỗi xác suất của lớp dự đoán được so sánh với kết quả đầu ra mong

52

muốn của lớp thực tế là 0 hoặc 1 và điểm số/mất mát được tính để phạt đối với các trường hợp model dự đốn sai – tính dựa trên khoảng cách của dự đốn so với giá trị kỳ vọng thực tế.

Hình phạt có tính chất logarit mang lại điểm số lớn cho các chênh lệch gần bằng 1 và điểm số nhỏ cho các chênh lệch nhỏ có xu hướng bằng 0. Chính vì thế, hàm mất mát Cross Entropy phạt nặng đối với các dự đoán sai nhiều hơn là thưởng “điểm” cho các dự đoán đúng. Hàm mất mát CE [31] được định nghĩa theo cơng thức sau:

ℒ𝐶𝐸(𝑝𝑡) = − 𝑙𝑜𝑔(𝑝𝑡)

Trong đó: 𝑝𝑡 là xác suất xảy ra sự kiện của lớp 𝑡.

5.1.2.Focal Loss

Focal Loss [32] là hàm mất mát ra đời lần đầu được giới thiệu trong RetinaNet. Hàm mất mát này được đánh giá cao về tính hiệu quả vì có khả năng xử lý vấn đề mất cân bằng cho bài tốn có sự mất cân bằng nghiêm trọng giữa 2 lớp Positive (dự đoán đúng) và Negative (dự đốn sai). Thơng thường, các Bounding box của các trường hợp Negative rất nhiều so với Positive, nên nếu áp dụng hàm mất mát CE sẽ giảm đáng kể độ chính xác khi dự báo các Positive. Vì CE phạt các trường hợp Negative nặng hơn, nhưng lại cho điểm ít hơn với các trường hợp Positive.

Vì vậy FL là một cải tiến của CE, giúp cân bằng các lớp bằng cách gán nhiều trong số cho các mẫu khó hoặc dễ bị phân loại sai. Focal loss [32] được định nghĩa như sau:

ℒ𝐹𝐿(𝑝𝑡) = −𝛼(1 − 𝑝𝑡)𝛾𝑙𝑜𝑔(𝑝𝑡)

Trong đó:

• 𝛼 : là hệ số cân bằng cho Focal Loss, mặc định là 0.25. • 𝛾 : là hệ số chuyển đổi, mặc định là 2.0.

53

5.2.Đánh giá kết quả đề xuất 5.2.1.Kết quả đề xuất 5.2.1.Kết quả đề xuất Kiến trúc Hàm mất mát Pedest

rian Motor Car Bus mAP AP𝟓𝟎 AP𝟕𝟓

Double- Head CE 1.60 33.20 58.70 39.20 33.20 47.50 38.90 FL 2.20 34.10 57.70 41.00 33.70 49.30 39.00 CasDou CE 2.30 34.50 57.20 39.20 33.30 47.80 39.00 FL 2.70 34.20 59.30 42.50 34.70 50.20 40.30

Bảng 5.1: Bảng kết quả thực nghiệm mở rộng khi thay đổi hàm mất mát. Kết quả tốt nhất được in đậm (%).

5.2.2.Trực quan hóa kết quả

CE

FL

(a) Double-Head (b) CasDou

Hình 5.1 Ảnh kết quả dự đốn thử nghiệm Double-Head và CasDou với hàm mất mát Cross Entropy và Focal Loss.

54

5.2.3.Đánh giá kết quả

Khi tiến hành thực nghiệm phương pháp CasDou với hàm CE mặc định, kết quả lớp đối tượng Motor được cải thiện tới 34.50% nhưng kết quả 𝑚𝐴𝑃 chỉ tăng thêm được 0.1%. Điều này đã được lý giải bởi vì mơ hình gặp khó khăn với sự mất cân bằng giữa các lớp đối tượng trong bộ dữ liệu UIT-DroneFog.

Sau khi tiến hành thay thế hàm CE thành hàm FL, cả hai mơ hình Double- Head và CasDou đều đạt hiệu quả cao hơn ở mỗi lớp và điểm 𝑚𝐴𝑃, đặc biệt điểm

𝑚𝐴𝑃 của CasDou tăng lên 34.70% (cao hơn 1.00% so với cấu hình mặc định của phương pháp này, hơn 1.50% so với Double-Head mặc định và hơn 1.8% so với Cascade R-CNN). Việc phát hiện sai các đối tượng kích thước nhỏ và phát hiện thiếu đối tượng Car, Bus đã giảm đáng kể (thể hiện trong Hình 5.1). Nhìn chung, chúng tơi đã cải thiện hiệu quả ở ba lớp: Pedestrian, Car và Bus. Các kết quả và hình ảnh trực quan đã minh chứng rằng việc sử dụng hàm Focal Loss đạt kết quả tốt hơn trong vấn đề phát hiện đối tượng ở không ảnh giao thông chứa sương mờ.

Cuối cùng, dựa trên một số nghiên cứu về các phương pháp khử sương, chúng tôi quyết định thực hiện đề xuất thêm bước tiền xử lý dữ liệu bằng cách khử sương mờ sử dụng mơ hình pre-trained của hai phương pháp FFA-Net và DW-GAN với ảnh của bộ dữ liệu UIT-DroneFog trước khi thực hiện huấn luyện phương pháp có kết quả cao nhất hiện tại - CasDou. Kết quả thực nghiệm mở rộng được trình bày như sau:

Phương pháp

khử sương Pedestrian Motor Car Bus mAP AP𝟓𝟎 AP𝟕𝟓

Ảnh sương mờ 2.70 34.20 59.30 42.50 34.70 50.20 40.30 FFA-Net 2.10 33.40 58.40 46.20 35.00 49.60 41.90

DW-GAN 2.30 32.70 58.30 39.60 33.20 47.80 38.10

Bảng 5.2: Bảng kết quả thực nghiệm mở rộng với phương pháp CasDou khi thêm bước khử sương. Kết quả tốt nhất được in đậm (%).

55 (a) Ảnh gốc

(b) FFA-Net

(c) DW-GAN

Hình 5.2: Ảnh kết quả dự đoán thử nghiệm mở rộng với phương pháp CasDou khi thêm bước khử sương.

56

Kết quả thực nghiệm cho thấy FFA-Net có khả năng tăng hiệu quả phát hiện đối tượng, đặc biệt là các đối tượng Bus với điểm 𝐴𝑃 được tăng thêm tới 3.7% giúp điểm 𝑚𝐴𝑃 đạt 35.00% - cao nhất trong thử nghiệm. FFA-Net giúp CasDou hạn chế được các phát hiện nhầm các đối tượng khơng liên quan thành đối tượng Bus (ví dụ như xe bồn bị phát hiện nhầm thành đối tượng Bus thể hiện trong Hình 5.4) cũng như sinh ra các Bounding box hoàn hảo hơn cho đối tượng này. Mặt khác, phương pháp DW-GAN lại làm giảm giá trị tất cả các điểm 𝐴𝑃. Hơn nữa, khi trực quan hóa kết quả, ta có thể thấy rằng ảnh được khử sương bằng FFA-Net có màu sắc chân thực hơn và các chi tiết ảnh không bị biến đổi quá nhiều như ảnh được khử sương bằng DW-GAN. Điều này xảy ra có thể bởi vì mơ hình pre-trained DW-GAN được huấn luyện trên bộ dữ liệu NH-HAZE [33][34] và NH-HAZE2 [18] – bộ dữ liệu ảnh sương thật, trong khi mơ hình pre-trained FFA-Net được huấn luyện trên bộ dữ liệu ảnh sương nhân tạo RESIDE [28] – cùng đặc trưng với bộ sương nhân tạo UIT- DroneFog.

5.3.Ứng dụng Phát hiện đối tượng trong không ảnh chứa sương mờ 5.3.1.Giới thiệu 5.3.1.Giới thiệu

Ứng dụng Phát hiện đối tượng trong không ảnh chứa sương mờ (Aerial Object Detection) là ứng dụng cho phép người dùng sử dụng ảnh (được chụp hoặc tải từ thiết bị) để phát hiện đối tượng trong không ảnh gồm: Pedestrian, Motor, Car, Bus. Ứng dụng có thể được sử dụng trên nền tảng web hoặc nền tảng di động (Android và IOS).

Công nghệ sử dụng:

• Di động: Flutter, MobX. • Web: ReactJs.

• Back-end: Python 3, Flask.

Ứng dụng có thể được sử dụng thông qua đường link URL sau: https://aerialobjectdetection.netlify.app/

57

5.3.2.Phân tích thiết kế

5.3.2.1.Thiết kế usecase

Hình 5.3: Mơ tả usecase tổng quát ứng dụng Aerial Object Detection.

5.3.2.2.Thiết kế user-flow

58

5.3.2.3.Thiết kế kiến trúc

Ứng dụng được xây dựng trên kiến trúc client-server. Ở phía client, người dùng có thể sử dụng ứng dụng trên cả nền tảng di động và web. Phía server, hệ thống sử dụng Flask cùng Python 3 để các yêu cầu từ API, sau đó xử lý tác vụ phát hiện đối tượng và các chức năng liên quan.

Hình 5.5: Kiến trúc ứng dụng Aerial Object Detection.

5.3.2.4.Thiết kế giao diện

Chức năng 1: Dự đoán đối tượng.

Màn hình Tên màn hình

(a) Màn hình trang chủ

(b) Màn hình chụp/chọn ảnh

(c) Màn hình ảnh cần dự đốn

(d) Màn hình chờ dự đốn

(e) Màn hình kết quả dự đốn

(f) Màn hình chi tiết kết quả dự đốn

59

60

Hình 5.7: Chức năng Dự đốn đối tượng trên web.

Chức năng 2: Xem lịch sử ảnh dự đốn

Màn hình Tên màn hình

(a) Màn hình danh sách lịch sử ảnh

(b) Màn hình thơng tin chi tiết của 1 ảnh trong lịch sử ảnh

61

Hình 5.8: Chức năng Xem lịch sử ảnh dự đoán trên di động.

62

Chức năng 3: Xem thơng tin ứng dụng

Hình 5.10: Chức năng Xem thơng tin ứng dụng trên di động.

Hình 5.11: Chức năng Xem thông tin ứng dụng trên web.

5.3.3.Cài đặt và kiểm thử

63

• Hệ điều hành: Android 10 trở lên, trình duyệt Chrome. • Bộ nhớ tối thiểu: >80MB (được đề xuất)

64

Chương 6.KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1.Kết luận

6.1.1.Kết quả

Nội dung khóa luận tập trung tìm hiểu bài tốn Phát hiện đối tượng trong không ảnh chứa sương mờ, nghiên cứu và chạy thực nghiệm các phương pháp phát hiện đối tượng SOTA dựa trên học sâu. Dựa trên những mục tiêu đã đặt ra, khóa luận đã đạt được một số kết quả như sau.

− Chúng tôi đã xây dựng thành công bộ dữ liệu không ảnh chứa sương mờ UIT-DroneFog cho bài tốn Phát hiện đối tượng trong khơng ảnh chứa sương mờ với 4 lớp đối tượng Pedestrian, Motor, Car và Bus với tổng cộng 15,372 ảnh và khoảng 600,000 Bounding box tương ứng. Bộ dữ liệu khơng chỉ có tính đa dạng cao về bối cảnh, chất lượng hình ảnh tốt mà cịn chứa thách thức

Một phần của tài liệu Phát hiện đối tượng trong không ảnh chứa sương mờ dựa trên học sâu (khóa luận tốt nghiệp) (Trang 63)