Phương pháp khử sương mờ

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 42)

2.4.1. Khử sương mờ đơn ảnh

Khử sương mờ đơn ảnh đóng vai trò như một bước tiền xử lý ảnh khi ta thực hiện các tác vụ xử lý ảnh khác. Trong thực tế, sự xuất hiện của sương, khói, bụi... gây ra rất nhiều khó khăn cho việc phân loại, phát hiện đối tượng... dẫn đến kết quả không như mong đợi.

Các nghiên cứu trước [10][11][12] đã đưa ra một công thức đơn giản để ước lượng ảnh hưởng sương mờ trên ảnh như sau:

𝑰(𝑧) = 𝑱(𝑧)𝑡(𝑧) + 𝑨(1 − 𝑡(𝑧)) (1)

Trong đó:

• 𝑰(𝑧): Ảnh sương mờ.

• 𝑨: Hệ số ánh sáng khí quyển. • 𝑡(𝑧): Medium transmission map. • 𝐽(𝑡): Ảnh không có sương mờ.

Dựa theo công thức này, việc khử sương mờ chỉ là việc tính toán giá trị của hai biến 𝑨và 𝒕(𝒛). Bởi vì từ công thức (1), ta có thể suy ra:

𝑱(𝑧) =(𝑰(𝒛) − 𝑨) 𝒕(𝒛) + 𝑨

Dark Prior Channel [13] là phương pháp cho kết quả tốt nhất khi ứng dụng mô hình này. Nhóm tác giả của phương pháp này dựa trên lý thuyết cho rằng các vùng ảnh của một bức ảnh không có sương mờ được chụp ngoài trời thường có ít nhất có một kênh màu có giá trị cường độ thấp. Tuy nhiên, các phương pháp này thường ước lượng sai giá trị của transmission map bởi vì các giá trị ưu tiên rất dễ bị ảnh hưởng trong thực tế. Vì vậy, trong các trường hợp áp dụng thực tế, chúng thường đạt kết quả không tốt.

Cùng với sự phát triển của Deep Learning, một hướng đi mới được mở ra cho tác vụ xử lý ảnh hưởng của sương mờ với sự ra đời của các phương pháp

25

DehazeNet [14], multi-scale CNN (MSCNN) [15]... Các phương pháp sử dụng Deep Learning cố gắng hồi quy trực tiếp transimission map 𝑡(𝑧). Với lượng lớn dữ liệu được dùng để huấn luyện, các phương pháp này đã đạt được những thành kết quả đáng mong đợi. Hai phương pháp Feature Fusion Attention Network và DW- GAN được trình bày sau đây là một trong số đó.

2.4.2. Feature Fusion Attention Network (FFA-Net)

Hình 2.13: Kiến trúc mạng FFA-Net từ bài báo gốc [16].

FFA-Net [16] là một phương pháp khử sương trực tiếp trong ảnh đầu vào. Các kết quả thí nghiệm đã chứng minh FFA-Net đã vượt qua các phương pháp SOTA trong khử sương ảnh trên bộ dữ liệu Synthetic Objective Testing Set (SOTS) indoor test với 30.23 dB tới 36.39 dB trên độ đo PSNR vào thời điểm tác giả đề xuất. Kết quả vượt trội này nhờ vào 3 thành phần chính được trình bày trong các mục sau.

2.4.2.1. Feature Attention

Mô-đun Feature Attention (FA) kết hợp cơ chế Channel Attention và Pixel Attention. FA xử lý các đặc trưng và điểm ảnh không đồng đều vì tác giả cho rằng sự phân bố sương mờ trên các vùng điểm ảnh khác nhau là khác nhau. Điều này tạo ra tính linh hoạt trong việc xử lý các vùng ảnh có mật độ sương dày mỏng khác nhau.

26

Hình 2.14: Feature Attention module [16].

2.4.2.2. Basic Block Structure

Basic Block Structure bao gồm Local Residual Learning (LRL) và Feature Attention làm cho quá trình huấn luyện trở nên ổn định hơn đồng thời cũng tăng hiệu quả khử sương. Điều này có được bởi vì LRL làm cho cấu trúc mạng chú ý đến các thông tin quan trọng và bỏ qua các vùng ít thông tin như vùng sương mỏng.

Hình 2.15: Ảnh minh họa Khối kiến trúc cơ bản [16].

2.4.2.3. Feature Fusion Attention

Kiến trúc Feature Fusion Attention (FAA) cho phép trọng số được học thích ứng từ mô-đun FA, mang lại trọng số có giá trị cao hơn cho các thông tin quan

27

trọng. Kiến trúc này cũng giữ lại được thông tin của các lớp ban đầu và truyền nó vào các lớp sâu hơn nhớ áp dụng Global Residual Learning.

Kiến trúc này cho phép chúng ta có thể thêm các khối cũng như gia tăng các layer một cách dễ dàng. Nhóm tác giả khuyến cáo nếu đáp ứng đủ điều kiện về phần cứng, ta có thể tăng số lượng các khối trong mô hình để tăng độ sâu của mạng cũng như có thể đạt được kết quả cao hơn so với mô hình mặc định của tác giả.

2.4.3. DW-GAN

DW-GAN là một phương pháp khử sương được đề xuất bởi Fu và các cộng sự [17] vào năm 2021 trong cuộc thi NITRE challenge [18]. Phương pháp này được thiết kế để giải quyết hai vấn đề mà một số phương pháp khử sương dựa trên CNN hiện có gặp phải khử sương có mật độ phân phối không đồng nhất, mặc dù chúng có đạt hiệu quả cao khi thực hiện trên các ảnh có phân phối sương đều.

Vấn đề đầu tiên mà các phương pháp dựa trên CNN gặp phải là mất mát các chi tiết kết cấu của hình ảnh khi quá trình khử sương diễn ra do sự phân bố sương mờ phức tạp. Thứ hai, quá trình thu thập các cặp dữ liệu sử dụng cho quá trình huấn luyện rất khó khăn khó khăn, vì thế việc huấn luyện các mô hình trên số lượng ảnh bị giới hạn có thể dẫn tới vấn đề overfitting vì thiếu dữ liệu đào tạo.

Vì hai lý do trên, Fu và các cộng sự [17] đã đề xuất kiến trúc một mạng hai nhánh sử dụng biến đổi wavelet rời rạc 2D. Đối với nhánh đầu tiên, được gọi là nhánh DWT, họ đề xuất ý tưởng đưa trực tiếp kiến thức high-frequency vào mạng dehazing bằng cách sử dụng phép biến đổi wavelet [19]. Nhờ đó, các thông tin quan trọng feature map có thể được giữ lại. Ở nhánh còn lại – nhánh knowledge adaption, Res2Net [20] được sử dụng với các trọng số ImageNet [21] được đào tạo trước để khởi tạo nhằm ngăn chặn vấn đề overfitting và đồng thời cải thiện khả năng tổng hợp của mạng. Cuối cùng, tác giả sử dụng một lớp chập 7 × 7 đơn giản có tác dụng một phép toán hợp nhất để kết hợp các đặc trưng của hai nhánh để tạo thành hình ảnh đã được khử sương.

28

Ngoài ra, họ cũng giới thiệu hàm kết hợp mất mát cuối cùng được hiển thị trong công thức dưới đây. 𝐿1là hàm mất mát L1, 𝐿𝑆𝑆𝐼𝑀 đại diện cho mất mát MS- SSIM [22], 𝐿perceptuallà hàm mất mát perceptual [23], đối với mất mát adversarial

𝐿ad, discriminator trong [24] được sử dụng.

𝐿𝑡𝑜𝑡𝑎𝑙 = 𝐿1 + α𝐿𝑆𝑆𝐼𝑀 + β𝐿perceptual+ 𝛾4𝐿ad

Trong đó: α = 0.2, β = 0.001, 𝛾 = 0.005 là các trọng số siêu tham số cho mỗi hàm mất mát.

Hình 2.16: Kiến trúc phương pháp khử sương DW-GAN từ bài báo gốc [17].

29

Chương 3. XÂY DỰNG BỘ DỮ LIỆU PHÁT HIỆN ĐỐI TƯỢNG TRONG KHÔNG ẢNH CHỨA SƯƠNG MỜ

Trong chương này, chúng tôi sẽ trình bày về quá trình xây dựng bộ dữ liệu UIT- DroneFog sau khi tiến hành khảo sát từ các bộ dữ liệu cùng ngữ cảnh đã được công bố trên thế giới, phương pháp tạo sương mờ bộ dữ liệu và các phân tích đánh giá chi tiết đối với bộ dữ liệu được.

3.1. Khảo sát bộ dữ liệu 3.1.1. Khảo sát 3.1.1. Khảo sát

Bộ dữ liệu Số lượng

hình ảnh Ngữ cảnh Loại sương mờ Năm

FRIDA [25] 90 Ngoài trời Nhân tạo 2010

FRIDA2 [26] 330 Ngoài trời Nhân tạo 2012

Foggy Cityscapes &

Foggy Driving [27] 20,651 Ngoài trời Nhân tạo 2016 RESIDE [28] 429,292 Ngoài trời &

Trong nhà

Nhân tạo &

Thực tế 2018 UAVDT-

Benchmark-M [29] 25,565 Ngoài trời Thực tế 2018

UIT-DroneFog 15,370 Ngoài trời Nhân tạo 2021

Bảng 3.1: Tóm tắt các bộ dữ liệu tài liệu dạng ảnh hiện có. Bộ dữ liệu đề xuất UIT-DroneFog được in đậm

Phát hiện đối tượng trong ảnh chứa sương mờ là một bài toán nhận được sự quan tầm của cộng đồng nghiên cứu. Hiện tại, có rất nhiều bộ dữ liệu sương mờ với những đặc trưng khác nhau bao gồm bộ dữ liệu thực tế hoặc tổng hợp được chụp trong nhà lẫn ngoài trời. Chi tiết các bộ dữ liệu được mô tả ở Bảng 3.1.

Bộ dữ liệu FRIDA [25] được giới thiệu vào năm 2010 gồm 90 hình ảnh tổng hợp được từ 18 cảnh đường phố trong khu vực đô thị. Những hình ảnh này được sử

30

dụng để kiểm tra các thuật toán nâng cao liên quan đến khả năng hiển thị và cải thiện độ tương phản. FRIDA2 [26] được giới thiệu hai năm sau đó gồm 66 con đường các loại với 330 hình ảnh tổng hợp và 10 cảnh quay.

Hình 3.1: Hình ảnh minh họa bộ dữ liệu FRIDA [25].

Bộ dữ liệu Foggy Cityscapes và Foggy Driving [27] có góc nhìn người lái xe trong các thành phố với lần lượt 20,550 và 101 ảnh sương mờ. Tuy nhiên, hai bộ dữ liệu này bị lặp lại các đối tượng.

31

Hình 3.2: Hình ảnh minh họa bộ dữ liệu Foggy Driving [27].

32

Bộ dữ liệu REalistic Single-Image DEhazing (RESIDE) [28] là bộ dữ liệu lớn nhất chứa 5 tập con với 429,292 hình ảnh thu được trong nhà, ngoài trời với sương mờ thực lẫn tổng hợp. Mỗi tập con của bộ dữ liệu này được tạo ra cho các mục đích khác nhau.

Bộ dữ liệu UAVDT-Benchmark-M [29] bao gồm 25,565 không ảnh với 5,179 ảnh sương mờ ở định dạng JPG với các kích thước ảnh không giống nhau. Bộ dữ liệu này được thu thập với nhiều góc máy, tại các thời điểm khác nhau trong ngày.

Hình 3.4: Hình ảnh minh họa bộ dữ liệu UAVDT-Benchmark-M [29].

3.1.2. Lý do xây dựng bộ dữ liệu

Sau khi tiến hành khảo sát các bộ dữ liệu ảnh sương mờ đã được công bố trên thế giới, chúng tôi nhận thấy rằng một số thiếu sót như sau.

Đầu tiên, đa phần các bộ dữ liệu được thu thập ở góc nhìn từ xe ô tô hoặc được chụp cố định từ một góc máy đặt trên mặt đất. Điều này làm cho góc nhìn của hạn bị giới hạn và đôi khi chỉ thu thập được rất ít đối tượng trong một khung ảnh. Hơn nữa, góc chụp này không cho phép chúng ta có góc quan sát toàn cảnh về một khu vực có nhiều đối tượng.

33

Tiếp theo, số lượng của các đối tượng trong một ảnh của các bộ dữ liệu này không quá lớn. Điều này được thể hiện rõ nhất trong bộ dữ liệu UAVDT- Benchmark-M khi bối cảnh chủ yếu được quay ở các con đường lớn với mật độ giao thông thưa thớt. Việc này làm cho hiệu quả phát hiện đối tượng giảm xuống khi ta ứng dụng các mô hình này vào thực tế ở các khu vực có giao thông đông đúc như Việt Nam.

Cuối cùng, một số bộ dữ liệu có sương mờ được xây dựng chủ yếu để phục vụ cho tác vụ khử sương, vì vậy, số loại đối tượng và bối cảnh bị hạn chế và lặp lại nhiều lần.

Với những kết quả khảo sát từ các bộ dữ liệu trên thế giới, đánh giá được những thiếu sót của các bộ dữ liệu này khi so sánh với điều kiện giao thông tại Việt Nam, chúng tôi đã quyết định xây dựng bộ dữ liệu UIT-DroneFog – bộ dữ liệu không ảnh chứa sương mờ dựa trên bộ dữ liệu UIT-Drone21. Lý do chúng tôi lựa chọn bộ dữ liệu UIT-Drone21 làm nền tảng vì đây là bộ dữ liệu thể hiện được đặc trưng mật độ giao thông đông đúc tại Việt Nam với nhiều bối cảnh tại nhiều thành phố đông dân.

3.2. Bộ dữ liệu UIT-Drone21

3.2.1. Tổng quan về bộ dữ liệu UIT-Drone21

Bộ dữ liệu UIT-Drone218 bao gồm 15,370 không ảnh và tập tin nhãn định dạng .txt tương ứng được chụp bởi máy bay không người lái với khoảng 600,000 bounding box của phương tiện giao thông và người đi bộ. Bộ dữ liệu này được chia thành 3 tập: Training set (8,580 ảnh), Validation set (1,061 ảnh) và Testing set (5,729 ảnh) với tổng cộng 4 lớp đối tượng: Pedestrian, Motor, Car và Bus. Trước khi đưa vào model chạy thực nghiệm Các tập dữ liệu này sẽ được chuyển đổi từ định dạng gốc (.txt) sang định dạng COCO (.json).

34

Hình 3.5: Hình ảnh minh họa của bộ dữ liệu UIT-Drone21.

3.2.2. Định dạng nhãn dữ liệu của bộ dữ liệu UIT-Drone21

Nhãn dữ liệu của bộ dữ liệu UIT-Drone21 được lưu trữ ở định dạng COCO (.json) trong 3 tập tin tương ứng với 3 tập dữ liệu bao gồm train.json, val.json và test_all.json.

Mỗi tập tin nhãn bao gồm 3 khối chính:

• “categories”: khối chứa danh sách các lớp đối tượng xuất hiện trong bộ dữ liệu.

"categories": [

{"id": 0,"name": "pedestrian","supercategory": "none"}, ...

]

Trong đó:

Thuộc tính Ý nghĩa

<id > Mã định danh của lớp đối tượng

35

<supercategory > Tên lớp đối tượng cha (nếu có)

Bảng 3.2: Mô tả ý nghĩa giá trị các thuộc tính trong khối “categories” (.json). • “images”: khối chứa thông tin của ảnh.

"images": [ { "file_name": "VIS_0359_1p00s_2p00s_124.jpg", "height": 2160 , "id": 2878, "width": 3840 }, ... ] Trong đó: Thuộc tính Ý nghĩa

<id > Mã định danh của ảnh

<name> Tên tập tin ảnh

<height > Chiều cao ảnh

<width > Chiều rộng ảnh

Bảng 3.3: Mô tả ý nghĩa giá trị các thuộc tính trong khối “image” (.json).

o “annotations”: Khối chứa thông tin nhãn của từng đối tượng có trong ảnh của bộ dữ liệu. "annotations": [ { "area": 1116.0, "bbox": [ 2327, 1839, 31, 36 ], "category_id": 0, "id": 157, "ignore": 0,

36 "image_id": 4, "iscrowd": 0, "segmentation": [ [ ... ] ] }, Trong đó: Thuộc tính Ý nghĩa

<area > Diện tích Bounding box

<bbox> Tọa độ Bounding box bao gồm x, y, width, height.

<category_id > Mã định danh của nhãn

<id> Mã định danh của nhãn

<image_id > Mã định danh của ảnh

< segmentation> Thông tin về tọa độ đa giác bao quanh đối tượng

<iscrowd>

Giá trị thông tin ở trường segmentation là của 1 đối tượng riêng lẻ (iscrowd = 0) hoặc của cả 1 nhóm đối tượng (iscrowd = 1)

Bảng 3.4: Mô tả ý nghĩa giá trị các thuộc tính trong khối “annotations” (.json).

3.3. Quy trình tạo sương mờ cho ảnh

Để tạo sương mờ cho ảnh, chúng tôi đã sử dụng sử dụng lớp Fog của thư viện imgaug9. Với các tham số có các giá trị mặc định, lớp này có khả năng mô phỏng một lớp sương mờ khá dày đặc trên ảnh với mật độ không đều. Mỗi không ảnh của bộ dữ liệu UIT-Drone21 sẽ lần lượt được truyền vào hàm xử lý tạo sương để tạo ra được một không ảnh chứa sương mờ tương ứng trong bộ dữ liệu UIT- DroneFog.

9 https://imgaug.readthedocs.io/en/latest/source/api_augmenters_weather.html#imgaug.augmenters.wea

37

Tuy nhiên, nhận thấy rằng các giá trị mặc định của thư viện này không quá phù hợp với ảnh có độ phân giải lớn, chúng tôi đã quyết định tiến hành điều chỉnh hai tham số 𝑎𝑙𝑝ℎ𝑎_𝑚𝑖𝑛 = 0.75, 𝑑𝑒𝑛𝑠𝑖𝑡𝑦_𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑖𝑒𝑟 = 0.7 và giữ nguyên các thông số khác với giá trị mặc định của thư viện nhằm tạo ra lớp sương mờ phù hợp với bối cảnh nhất có thể.

38

Trong đó, thông số 𝑎𝑙𝑝ℎ𝑎_𝑚𝑖𝑛 (giá trị mặc định trong khoảng (0.7 − 0.9)) cho biết mức tối thiểu của giá trị alpha khi mô phỏng sương mờ lên hình ảnh. Việc tăng giá trị này giúp sương mờ phân bố đều hơn. Mặc khác, thông số

density_multiplier (giá trị mặc định (0.4 − 0.9)) là hệ số nhân cho lớp alpha mask. Khi tăng giá trị tham số này sẽ dẫn tới việc sương mờ trở nên dày đặc hơn ở những nơi mà chúng xuất hiện. Kết quả mô phỏng sương mờ được thể hiện trong Hình 3.6.

3.4. Phân tích bộ dữ liệu

Hình 3.7: Hình ảnh minh họa bộ dữ liệu UIT-DroneFog

UIT-DroneFog có thể được xem như là phiên bản sương mờ của bộ dữ liệu UIT-Drone21 với 15,370 không ảnh chứa sương khoảng 600,000 bounding box của 4 lớp đối tượng gồm: Pedestrian, Motor, Car, Bus. Ngoài ra, bộ dữ liệu UIT- DroneFog có những điểm nổi bật riêng sau:

(1)Hình ảnh đa dạng và chất lượng cao: Quá trình mô phỏng sương mờ sử dụng hình ảnh được chụp lại từ máy bay không người lái cao cấp với 3 độ phân giải khác nhau (3840x2160, 1920x1080, 1440x1080) dẫn đến hình ảnh

39

sương mờ của bộ dữ liệu không bị mờ, biến dạng mà vẫn giữ được chất lượng ban đầu của bộ dữ liệu UIT-Drone21.

(2)Bối cảnh đa dạng: Mỗi hình ảnh trong bộ dữ liệu của nhóm là duy nhất. Chúng khác nhau về phân bố sương mờ, góc chụp và độ cao. Hơn nữa, nhóm đã mô phỏng sương mờ không chỉ ở một địa điểm nhất định mà ở nhiều nơi khác nhau ở các thành phố khác nhau tại Việt Nam

(3)Thách thức từ các lớp dữ liệu: Bởi vì bộ dữ liệu này được thực hiện trên đường phố Việt Nam nên phần lớn là đối tượng xuất hiện trong ảnh là Motor trong khi đó lớp đối tượng Bus xuất hiện cực kì ít mặc dù. Sự mất cân bằng này là một thách thức để việc phát hiện hoạt động hiệu quả. Bên cạnh đó, xe

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 42)

Tải bản đầy đủ (PDF)

(105 trang)