GIỚI THIỆU
GIỚI THIỆU
Ngày nay, thiết bị bay không người lái (UAV) ngày càng được sử dụng rộng rãi cho nhiều nhiệm vụ như thu thập và giám sát dữ liệu Tuy nhiên, nguồn dữ liệu từ UAV thường gặp phải nhiều thách thức như góc quay hạn chế, tỷ lệ nhỏ của vật thể so với ảnh, mất cân bằng giữa foreground và background, cũng như các yếu tố thời tiết như rung lắc, che chắn và mờ sương Những vấn đề này ảnh hưởng đến chất lượng hình ảnh và tạo ra khó khăn cho các nhiệm vụ thị giác máy tính, đặc biệt là trong việc phát hiện đối tượng Do đó, nâng cao chất lượng ảnh là nhiệm vụ thiết yếu để cải thiện khả năng phát hiện đối tượng.
Trong những năm gần đây, nghiên cứu về hiệu quả trong phát hiện đối tượng đã trở nên đa dạng, bao gồm việc thay đổi kiến trúc mạng, áp dụng các phương pháp tối ưu, điều chỉnh số lượng vật thể trong bộ dữ liệu và nâng cao chất lượng ảnh Những thực nghiệm này đã chứng minh tính hiệu quả của chúng trong phát hiện đối tượng Khóa luận này sẽ tập trung vào việc nâng cao chất lượng ảnh để tăng cường hiệu quả trong bài toán phát hiện đối tượng Mặc dù công nghệ camera đã có nhiều cải tiến đáng kể về chất lượng ảnh, nhưng chi phí vận hành và bảo trì cho các thiết bị tiên tiến vẫn là một thách thức Thay vì đầu tư vào những chi phí này, chúng ta có thể áp dụng công nghệ máy học để nâng cao chất lượng ảnh với chi phí thấp hơn Image Super Resolution (ISR) là một giải pháp học sâu hiện nay được sử dụng để cải thiện chất lượng ảnh.
Huấn luyện từ tập dữ liệu ảnh chất lượng cao và thấp giúp xây dựng mô hình chuyển đổi ảnh chất lượng thấp thành ảnh chất lượng cao Chất lượng hình ảnh tái tạo được đánh giá qua các chỉ số định lượng như PSNR và SSIM Ngoài ra, các phương pháp siêu phân giải có thể cải thiện hiệu suất phát hiện đối tượng, nhờ vào việc tăng độ phân giải, cung cấp nhiều đặc điểm dễ phân biệt hơn cho thuật toán phát hiện.
Bài khóa luận này đánh giá ảnh hưởng của phương pháp siêu phân giải ảnh đối với việc phát hiện đối tượng không ảnh, thông qua sự kết hợp giữa siêu phân giải và phát hiện đối tượng.
MỤC TIÊU
Xây dựng mô hình phát hiện đối tượng gồm nhiều phương pháp như: Faster R-CNN [3], Cascade R-CNN [4], DetectoRS [5], RetinaNet [6], SSD
Khóa luận này được huấn luyện từ bộ dữ liệu Visdrone2019, áp dụng thuật toán siêu phân giải ảnh để xử lý dữ liệu đầu vào cho mô hình Mục tiêu là đánh giá kết quả từ việc thực nghiệm trên bộ dữ liệu gốc (ảnh chất lượng cao - High Resolution) và bộ dữ liệu ảnh siêu phân giải (Super Resolution) Mô hình sẽ đề xuất việc thay thế ảnh chất lượng cao trong bài toán phát hiện đối tượng bằng ảnh chất lượng thấp được nâng cao thông qua kỹ thuật siêu phân giải.
PHƯƠNG PHÁP NGHIÊN CỨU
Phương pháp tổng luận được sử dụng để định hướng nghiên cứu về phát hiện đối tượng và ảnh siêu phân giải, giúp làm rõ kết quả phát hiện giữa ảnh chất lượng cao và ảnh siêu phân giải Bên cạnh đó, phương pháp này cũng chỉ ra một số hạn chế của ảnh siêu phân giải trong việc phát hiện đối tượng.
Phương pháp máy học đóng vai trò quan trọng trong nghiên cứu phát hiện đối tượng và ảnh siêu phân giải Bài viết này tổng hợp các lý thuyết cơ bản về máy học, đặc biệt là tổng quan về bài toán phát hiện đối tượng, nhằm cung cấp cái nhìn sâu sắc về ứng dụng của máy học trong lĩnh vực này.
▪ SSD[7] o Tổng quan về bài toán ảnh siêu phân giải:
▪ Giới thiệu ảnh siêu phân giải [12]
▪ Phương pháp RCAN (Residual channel attention network) [8] o Giới thiệu mạng nơ-ron tích chập
Phương pháp so sánh đóng vai trò quan trọng trong việc đánh giá hiệu quả của các phương pháp phát hiện đối tượng, đặc biệt là khi so sánh với phương pháp ảnh siêu phân giải Việc so sánh kết quả giúp đưa ra những nhận định rõ ràng về ưu nhược điểm của từng phương pháp, từ đó cải thiện chất lượng phát hiện đối tượng trong các ứng dụng thực tế.
Phương pháp thực nghiệm đóng vai trò quan trọng trong việc phân tích bộ dữ liệu, huấn luyện mô hình phát hiện đối tượng, thực hiện ảnh siêu phân giải và đánh giá hiệu quả của các mô hình này.
PHẠM VI NGHIÊN CỨU
Đề tài tập trung vào việc nghiên cứu độ ảnh hưởng của ảnh siêu phân giải đối với bài toán phát hiện đối tượng
BỐ CỤC KHÓA LUẬN
Chương 2: Tổng quan các công trình nghiên cứu
Tổng quan các công trình nghiên cứu liên quan đến bài toán phát hiện đối tượng và ảnh siêu phân giải Phân tích đặc điểm của từng phương pháp
Giới thiệu, phân tích bộ dữ liệu dùng trong thực nghiệm – Visdrone2019 Các độ đo được dùng trong 2 bài toán phát hiện đối tượng và ảnh siêu phân giải
Chương 4: Thực nghiệm và đánh giá kết quả
Trình bày các bước huấn luyện mô hình và tiến hành so sánh kết quả giữa các phương pháp
Trình bày những kết luận và đúc kết từ thực nghiệm
TỔNG QUAN CÁC CÔNG TRÌNH NGHIÊN CỨU CÓ LIÊN
TỔNG QUAN
Trong bộ dữ liệu không ảnh, đặc biệt là Visdrone2019, các đối tượng cần phát hiện bao gồm người đi bộ, xe hơi, xe tải, xe bán tải, và xe đạp Một khung ảnh có thể chứa từ hàng chục đến hàng trăm đối tượng cần được nhận diện Kết quả của các phương pháp phát hiện có thể khác nhau tùy thuộc vào hình dáng và kích cỡ của các đối tượng Việc áp dụng phương pháp ảnh siêu phân giải nhằm nâng cao khả năng nhận diện trong bài toán phát hiện đối tượng.
CÁC PHƯƠNG PHÁP PHÁT HIỆN ĐỐI TƯỢNG
Phát hiện đối tượng là nhiệm vụ cốt lõi trong lĩnh vực thị giác máy tính của học sâu, giúp nhận diện các vật thể như người, xe hơi, xe tải và động vật trong ảnh kỹ thuật số Mục tiêu chính của việc phát hiện đối tượng là phát triển các mô hình và thuật toán cung cấp thông tin cần thiết cho các bài toán thị giác máy tính như phân đoạn vật thể, chú thích ảnh và truy tìm vật thể Đầu vào thường là một bức ảnh, tập ảnh hoặc video, trong khi đầu ra là các khung ảnh đánh dấu vị trí và tên của các vật thể được phát hiện.
Trong 20 năm đầu thế kỷ 21, công nghệ phát hiện đối tượng đã có những cải tiến vượt bậc, nâng cao độ chính xác và tốc độ phát hiện Các phương pháp truyền thống như VJ Det, HOG Det, và DPM đã được thay thế bằng mạng thần kinh tích chập CNN, đánh dấu sự chuyển mình sang kỷ nguyên "Học sâu" (Deep Learning).
7 này thì bài toán phát hiện đối tượng lại được chia thành 2 nhánh thuật toán chính:
Mô hình phát hiện đối tượng CNN dựa trên hai giai đoạn chính: giai đoạn đầu tiên là tạo ra các vùng đề xuất (region proposals), và giai đoạn thứ hai là sử dụng các máy phân loại và hồi quy bounding box cho các vùng đề xuất đó Phương pháp này nổi bật với độ chính xác cao, tuy nhiên, thời gian cần thiết cho giai đoạn tạo vùng đề xuất là một nhược điểm lớn Một số thuật toán tiêu biểu trong nhóm này bao gồm R-CNN, Fast R-CNN, Faster R-CNN và FPN.
Các bộ phát hiện đối tượng một giai đoạn (one-stage detectors) như YOLO, SSD và RetinaNet đã tích hợp giai đoạn tạo vùng đề xuất vào trong quá trình phân lớp và hồi quy bounding box, giúp giảm thiểu thời gian xử lý so với các mô hình hai giai đoạn (two-stage) Mặc dù thời gian xử lý được rút ngắn đáng kể, nhưng độ chính xác của các mô hình này thường bị giảm.
Trong khóa luận chúng tôi sử dụng 5 phương pháp trong 2 nhóm trên bao gồm: Faster R-CNN, Cascade R-CNN, DetetoRS, RetinaNet, SSD
Hình 2.1 Mô hình Faster R-CNN [2]
Vào năm 2016, Ross B Girshick đã giới thiệu Faster-RCNN, một phương pháp tối ưu hơn về tốc độ và độ chính xác so với RCNN và Fast-RCNN Sự khác biệt lớn nhất của Faster-RCNN là việc sử dụng mạng đề xuất vùng (RPN), giúp cải thiện đáng kể thời gian xử lý và hiệu suất Phương pháp này kế thừa từ Fast-RCNN và đã giảm số lượng đề xuất vùng từ 2000 xuống.
Phương thức này sử dụng đầu vào là hình ảnh có kích thước bất kỳ và áp dụng CNN để trích xuất các đặc trưng Tiếp theo, RPN được sử dụng để tự động tạo các vùng đề xuất (Region Proposal) Sau khi các vùng đề xuất được tạo ra, chúng sẽ được đưa qua lớp RoI Pooling để định hình lại thành bản đồ đối tượng với kích thước cố định Cuối cùng, lớp softmax sẽ được sử dụng để thực hiện phân loại hồi quy.
R-CNN Fast R-CNN Faster R-CNN Test time per image (with proposal
Bảng 1 So sánh tốc độ giữa R-CNN, Fast R-CNN, Faster R-CNN [2]
Cấu trúc Cascade R-CNN được phát triển dựa trên Faster R-CNN, nhằm tối ưu hóa việc lựa chọn ngưỡng IoU trong quá trình huấn luyện và suy diễn, một vấn đề chưa được giải quyết trong các phương pháp R-CNN trước đó Việc tăng ngưỡng IoU có thể cải thiện chất lượng các đối tượng dương, nhưng cũng dẫn đến việc giảm số lượng vật thể và gây ra hiện tượng overfitting Hơn nữa, sự khác biệt giữa ngưỡng IoU trong quá trình huấn luyện và suy diễn có thể tạo ra tình trạng không khớp (mismatch).
Hình 2.2 Mô hình Cascade R-CNN [4]
Tác giả Zhaowei Cai đã phát triển một kiến trúc multi-stage mới nhằm nâng cao IoU threshold trong quá trình training mà vẫn duy trì số lượng đối tượng, từ đó tạo ra một detector chất lượng Cascade-RCNN bao gồm 1 RPN và 3 detector với các IoU threshold lần lượt là 0.5, 0.6 và 0.7 Đầu vào của mỗi detector là kết quả hồi quy bounding box từ detector trước đó.
Building on the success of Faster-RCNN and Cascade-RCNN with their two-stage and multi-stage designs, DetectoRS emerged as a leading object detection method in early 2020 Inspired by the "looking and thinking twice" mechanism, DetectoRS has significantly transformed the Feature Pyramid Network (FPN) into a Recursive Feature Pyramid (RFP) and replaced the standard 3x3 convolution layer with Switchable Atrous Convolution (SAC).
Hình 2.3 Recursive Feature Pyramid và Switchables Atrous Convolution [5]
Các phương pháp phát hiện vật thể two-stage, như RCNN, thường đạt được kết quả nhận diện cao hơn so với các phương pháp one-stage, vốn chú trọng vào tốc độ huấn luyện và đánh giá nhưng có hiệu suất thấp hơn RetinaNet, một trong những phương pháp one-stage hiện nay, đã chỉ ra nguyên nhân chính cho sự khác biệt này là sự mất cân bằng giữa các lớp background và foreground trong quá trình huấn luyện Để khắc phục vấn đề này, RetinaNet được phát triển cùng với Focal Loss, được thiết kế dựa trên CE Loss nhằm giải quyết sự không cân bằng giữa các lớp đối tượng Kiến trúc mạng của RetinaNet cũng kết hợp các yếu tố từ SSD và FPN.
So với các phương pháp RCNN như RCNN, FastRCNN và Faster-RCNN, SSD (Single Shot Multibox Detector) được phát triển để khắc phục những hạn chế của các phương pháp này, bao gồm việc huấn luyện cồng kềnh và tốn thời gian, cũng như quy trình huấn luyện hai giai đoạn SSD thực hiện huấn luyện mô hình chỉ trong một giai đoạn duy nhất, kết hợp giai đoạn kiểm tra vào mạng CNN để tiến hành phân lớp và hồi quy Bounding-Box Đầu vào của SSD là một bức ảnh cùng với các ground truth boxes cho mỗi lần huấn luyện, trong quá trình tích chập, nó sử dụng một lượng nhỏ các default box với tỷ lệ khác nhau tại mỗi vị trí.
Bài viết sẽ đánh giá 12 đặc điểm bản đồ với kích thước khác nhau Đối với mỗi hộp mặc định, chúng tôi sẽ dự đoán sự thay đổi hình dạng và mức độ tin cậy cho tất cả các lớp đối tượng Trong quá trình huấn luyện, các hộp mặc định này sẽ được kết hợp với các giá trị thực tế.
ẢNH SIÊU PHÂN GIẢI
2.3.1 Giới thiệu tổng quan bài toán ảnh siêu phân giải
Image Super Resolution (ISR) is a computational problem that utilizes a pre-trained neural network model to transform low-resolution images into high-resolution ones The architecture of the model includes four types: pre-upsampling, post-upsampling, progressive upsampling, and iterative up-and-down sampling The evaluation metrics for this task are categorized into two types: Peak Signal-to-Noise Ratio (PSNR) and Structural Similarity Index (SSIM).
RCAN là một trong những công nghệ tiên tiến nhất trong lĩnh vực siêu độ phân giải ảnh, được phát triển để khắc phục vấn đề xử lý không đồng đều giữa thông tin tần số thấp và tần số cao, từ đó nâng cao khả năng diễn đạt của mạng CNN.
Thiết kế mạng của RCAN dựa trên kênh chú ý, kết hợp với sự phát triển của ResNet, tác giả đã phát triển cấu trúc RIR (Residual in Residual), RG (Residual Group) và LSC (Long Skip Connection) Những cấu trúc này giúp mạng chính tập trung vào việc xử lý thông tin tần số cao và truyền tải thông tin tần số thấp đến các kênh chú ý.
Hình 2.5 Bài toán Image Super Resolution
MẠNG THẦN KINH TÍCH CHẬP
Kiến trúc VGG16, do Simonyan và Zisserman đề xuất, có kích thước đầu vào cố định là 224x224 và sử dụng các lớp convolution với bộ lọc 3x3 Mô hình này đạt được độ chính xác 92,7% trong kiểm tra top 5 trên bộ dữ liệu ImageNet, bao gồm hơn 14 triệu hình ảnh thuộc 1000 lớp khác nhau VGG16 là một trong những mô hình nổi bật được giới thiệu tại ILSVRC2014.
Hình 2.7 Kiến trúc mạng VGG-16 [10]
ResNet, được giới thiệu bởi Microsoft Research Asia vào cuối năm 2015, nhằm giải quyết những thách thức trong việc huấn luyện các kiến trúc mạng nơron sâu ResNet50, một phiên bản bao gồm 50 lớp của ResNet, sử dụng kích thước bộ lọc 3x3 và kích thước đầu vào 224x224 Mô hình này kết thúc bằng lớp average pooling và lớp kết nối 1000 hướng Chúng tôi đã áp dụng ResNet50 trong các phương pháp như faster-RCNN, cascade-RCNN, detectoRS và retinaNet Hơn nữa, phương pháp RCAN đã áp dụng ý tưởng Residual của ResNet để phát triển RIR (Residual in Residual) và RG (Residual Group).
Hình 2.8 Kiến trúc mạng Resnet-50 [10]
KIẾN TRÚC ĐỀ XUẤT
KIẾN TRÚC MÔ HÌNH BÀI TOÁN PHÁT HIỆN ĐỐI TƯỢNG
Hình 3.1 Cấu trúc mô hình bài toán phát hiện đối tượng
Huấn luyện các mô hình phát hiện đối tượng như Faster R-CNN, Cascade R-CNN, DetectoRS, RetinaNet và SSD sử dụng tập dữ liệu không ảnh Visdrone2019-train Kết quả là 5 mô hình phát hiện đối tượng hiệu quả được phát triển.
Mô hình thực nghiệm được đánh giá dựa trên tập dữ liệu Visdrone2019-train và Visdrone2019-val Đầu vào cho nghiên cứu này là tập dữ liệu không ảnh từ Visdrone2019-train và Visdrone2019-val Kết quả đầu ra là bảng so sánh hiệu quả thực nghiệm giữa năm phương pháp khác nhau.
KIẾN TRÚC MÔ HÌNH BÀI TOÁN ẢNH SIÊU PHÂN GIẢI
Hình 3.2 Cấu trúc mô hình bài toán ảnh siêu phân giải
Huấn luyện mô hình ảnh siêu phân giải RCAN sử dụng tập dữ liệu Visdrone2019-train, với đầu vào là các hình ảnh có độ phân giải cao (HR) và độ phân giải thấp (LR) Kết quả của quá trình này là mô hình ảnh siêu phân giải có khả năng nâng cấp độ phân giải lên gấp 2 và gấp 3 lần.
Chuyển đổi tập dữ liệu Visdrone2019-train từ định dạng LRx2 và LRx3 sang định dạng SRx2 và SRx3 Đầu vào là tập dữ liệu Visdrone2019-train LRx2 và LRx3, trong khi đầu ra sẽ là tập dữ liệu Visdrone2019-train SRx2 và SRx3.
• Đánh giá kết quả thực nghiệm mô hình o Đầu vào: tập dữ liệu Visdrone2019-train SRx2, SRx3 o Đầu ra: bảng thống kê PSNR/SSMI cho mô hình
KIẾN TRÚC MÔ HÌNH BÀI TOÁN KẾT HỢP
Hình 3.3 Mô hình thực nghiệm
Mô hình thực nghiệm của khóa luận được chia làm 4 giai đoạn chính:
• Huấn luyện mô hình phát hiện đối tượng bằng 5 phương pháp (Faster
R-CNN, Cascade R-CNN, DetectoRS, RetinaNet, SSD) o Đầu vào: Tập dữ liệu không ảnh Visdrone2019-train o Đầu ra: 5 mô hình phát hiện đối tượng
Tái huấn luyện mô hình ảnh siêu phân giải sử dụng phương pháp RCAN, với đầu vào là hai tập dữ liệu từ Visdrone2019-train, bao gồm tập dữ liệu chất lượng cao (HR) và chất lượng thấp (LR) Tập dữ liệu chất lượng cao được lấy từ tập train gốc, trong khi tập dữ liệu chất lượng thấp được tạo ra bằng cách áp dụng thuật toán giảm chất lượng ảnh với phương pháp blur-downscale degradation (BD).
19 o Đầu ra: mô hình chuyển đổi ảnh siêu phân giải bằng phương pháp RCAN cho tập dữ liệu không ảnh
Sử dụng mô hình ảnh siêu phân giải để tạo ra bộ dữ liệu không ảnh siêu phân giải (SRx2, SRx3) từ hai tập dữ liệu không ảnh Visdrone2019-val chất lượng thấp được scale lại với tỷ lệ 2 và 3 (LRx2, LRx3) Kết quả đầu ra sẽ là hai tập dữ liệu không ảnh siêu phân giải Visdrone2019-val (SRx2, SRx3).
Chúng tôi đã áp dụng 5 phương pháp phát hiện đối tượng đã được huấn luyện sẵn trên các tập dữ liệu không ảnh Visdrone2019-val, bao gồm HR, LRx2, LRx3, SRx2 và SRx3 Kết quả thu được được trình bày trong bảng so sánh, cho thấy hiệu suất phát hiện đối tượng của từng mô hình dựa trên các tập dữ liệu này.
ĐÁNH GIÁ VÀ THỰC NGHIỆM
BỘ DỮ LIỆU
4.1.1 Bộ dữ liệu không ảnh Đối với mục tiêu của khóa luận này là nhằm nhấn mạnh về tính ảnh hưởng của ảnh siêu phân giải với bài toán, nếu sử dụng các tập dữ liệu thông thường trong các bài toán phát hiện đối tượng như: COCO, VOC,… thì khả năng cao kết quả thu được giữa ảnh siêu phân giải (SR) và ảnh chất lượng cao (HR) không có sự khác biệt lớn; Do ở các tập dữ liệu thông thường thì số lượng vật thể chiếm trong ảnh rất ít và có tỷ lệ kích thước lớn trong ảnh Chính vì thế tôi sử dụng bộ dữ liệu không ảnh trong nghiên cứu này
Bộ dữ liệu không ảnh thông thường sẽ dựa vào đặc điểm của ảnh, hệ thống thu thập mà phân thành 3 loại cơ bản:
• Tập ảnh dữ liệu vệ tinh (Satellite Imagery datasets)
• Tập ảnh dữ liệu drone (Drone Datasets with Aerial Images)
• Tập ảnh dữ liệu gốc quay thứ nhất ( First Person Vision (FPV) Datasets)
Bộ dữ liệu Visdrone2019 được sử dụng trong nghiên cứu này có quy mô lớn và phong phú hơn so với Visdrone2018, với tổng cộng 8,599 ảnh và hơn 540,000 bounding box.
Bộ dữ liệu bao gồm 3 tập: 6,471 hình ảnh cho việc huấn luyện, 548 cho xác thực và 1,580 cho kiểm tra Các hình ảnh được thu thập trong điều kiện có nhiều góc độ chụp và môi trường tương tự Dữ liệu này được công bố trong cuộc thi "The VisDrone-DET2019 Challenge", do nhóm nghiên cứu bộ dữ liệu tổ chức Cuộc thi và bộ dữ liệu được phát triển dựa trên kết quả huấn luyện và thử nghiệm của 47 phương pháp nhận diện vật thể tiên tiến, trong đó 33 phương pháp đạt kết quả cao hơn so với tiêu chuẩn SOTA vào thời điểm đó.
ĐỘ ĐO
IoU - Intersection over Union là một hàm số quan trọng trong việc tính toán mAP, dùng để đánh giá chất lượng của mô hình phát hiện đối tượng IoU đo lường độ tập giao và toàn tập giữa bounding box dự đoán và bounding box thực tế.
4.2.1.2 Đặc điểm và lý do sử dụng Để đánh giá khả năng phát hiện đối tượng của một mô hình thì ta cần phải có các khung dự đoán đối tượng đem đi so sánh với các khung thật sự của đối tượng hay còn gọi là ground-truth Nhưng để hoàn toàn trùng khớp
Để đánh giá độ chính xác của các khung dự đoán, việc sử dụng IoU là rất cần thiết, vì việc so sánh với ground truth thường gặp khó khăn IoU càng cao cho thấy chất lượng của khung dự đoán càng tốt, ngược lại, IoU thấp chỉ ra rằng khung dự đoán kém hiệu quả.
Hình 4.4 Mức độ đánh giá IoU
Mean Average Precision (mAP) là một tiêu chuẩn phổ biến trong các bài toán phát hiện đối tượng, được tính toán dựa trên chỉ số IoU để đánh giá độ chính xác trung bình của các kết quả mà mô hình trả về.
4.2.2.1 True Positive(TP), False Positive(FP), False Negative(FN) and True Negative(TN) Để tính toán được mAP cần có 4 khái niệm hay còn là các kết quả trả về của một mô hình Chúng được miêu tả như sau (mô tả chỉ đúng với bài toán phát hiện đối tượng):
• True Positive (TP): các khung dự đoán đúng (khung dự đoán có IoU > 0.5)
• False Positive (FP): các khung dự đoán sai ( IoU < 0.5)
• False Negative (FN): những vùng có ground truth nhưng không được mô hình dự đoán tới
• True Negative (TN): những vùng không có khung grond truth và cũng không được mô hình dự đoán tới
4.2.2.2 Precision (độ chính xác) và Recall (độ gọi lại)
Độ chính xác, hay còn gọi là precision, là tỷ lệ giữa số kết quả phát hiện đúng và tổng số kết quả phát hiện đúng Công thức tính độ chính xác được thể hiện rõ ràng để đánh giá hiệu quả của các phương pháp phát hiện.
=𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒(𝑇𝑃) 𝐴𝑙𝑙 𝐷𝑒𝑡𝑒𝑐𝑡𝑖𝑜𝑛 Recall hay còn gọi là độ gọi lại dùng để tính tỷ lệ các kết quả phát hiện đúng thu được so với tất cả các grond truth
4.2.3 Peak Signal-to-Noise Ration (PSNR)/ Structural Similarity (SSIM) Đây là 2 độ đo thường dùng để đánh giá chất lượng của một bức ảnh đã qua chỉnh sửa thay đổi so với ảnh gốc Trong các bài toán ảnh siêu phân giải, độ đo này sẽ đánh giá được mô hình xem là tốt hay kém [12]
4.2.3.1 Peak Signal-to-Noise Ration (PSNR)
Tỷ lệ tín hiệu trên nhiễu đỉnh (PSNR) được định nghĩa là tỷ số giữa chất lượng điểm ảnh tối đa và chất lượng điểm ảnh bị nhiễu Công thức tính PSNR giúp đánh giá chất lượng hình ảnh một cách chính xác.
• I : Ảnh đầu vào, hay được xem là ảnh rõ nét
• MSE (Mean squared error): độ lỗi trung bình
• MAXI 2: Chỉ số lớn nhất của một pixel trong ảnh Thông thường 1 pixel sẽ có chỉ số lớn nhất tương ứng với thang đo 8 bit là 2 8 -1%5
• PSNR: Peak Signal-to-Noise Ration
Ngược lại với PSNR, SSIM là chỉ số dùng để đánh giá mức độ tương đồng giữa hai điểm ảnh SSIM thường được xác định thông qua việc so sánh ba thông số khác nhau.
ẢNH SIÊU PHÂN GIẢI
- Mã nguồn: source code được tải về tại https://github.com/yulunzhang/RCAN
- Tập dữ liệu: Visdrone2019-train
- Hệ thống: Ubuntu v18.04, 32GB RAM, RTX 2080 Ti; Windows 10
- Môi trường: Matlab (Win10), Conda (Ubuntu)
• Chạy Matlab trên hệ điều hành Win10
• Sử dụng file “Prepare_TestData_HR_LR.m” được tải ở source code RCAN để tiến hành chuyển đổi ảnh từ tập dữ liệu Visdrone2019-train
26 và Visdrone2019-val sang chất lượng thấp bằng thuật toán blur- downscale degradation với scale tương ứng
• Tập train sẽ được dùng cho huấn luyện mô hình RCAN và tập val sẽ được dùng để đánh giá mô hình
• Thu được các tập dữ liệu Visdrone2019-train (HR, LRx2, LRx3) và Visdrone2019-val (HR, LRx2, LRx3)
• Vận hành conda trên môi trường Ubuntu
• Cấu hình file option.py tại “./RCANTrain_Code/code/”
• Tải các pretrained model trên github của source code
• Run script python cho file main.py tại “./RCANTrain_Code/code/” như sau:
• Cấu hình file option.py tại “./RCANTest_Code/code/”
• Sửa đường dẫn trỏ vào tập dữ liệu LRx2 và LRx3 của Visdrone2019- val
• Chạy script python test main.py tại “./RCANTest_Code/code/” như sau:
• Ta thu được các tập dữ liệu ảnh Visdrone2019-val SRx2, SRx3
• Chạy file “Evaluate_PSNR_SSIM.m” trên Matlab để đánh giá kết quả của mô hình ảnh siêu phân giải
4.3.3.1 Kết quả huấn luyện (Loss và PSNR)
Hình 4.5 Biểu đồ đường Loss và PSNR trong huấn luyện mô hình RCAN scale 2
Hình 4.6 Biểu đồ đường Loss và PSNR trong huấn luyện mô hình RCAN scale 3
28 Hình 4.7 Kết quả đánh giá mô hình RCAN scale 2
Hình 4.8 Kết quả đánh giá mô hình RCAN scale 3
• Loss training của mô hình scale x2 từ 8,6 giảm dần xuống 6,5 sau 30 epochs
• Loss training của mô hình scale x3 từ 7,6 giảm dần xuống 7,35 sau 10 epochs
• PSNR cao nhất (test trên 5 hình) của mô hình scale x2 và x3 lần lượt là 32.4 và 31.11
• PSNR trung bình của mô hình scale x2 là 31.16, SSIM là 0.839
• SNR trung bình của mô hình scale x3 là 30.03, SSIM là 0.805
4.3.3.2 Kết quả ảnh thực nghiệm
Thao tác lại các bước 3, 4 của phần trên cho tập dữ liệu Visdrone2019-val Ta thu được các kết quả như sau:
Hình 4.9 Kết quả chuyển đổi ảnh SRx2 và SRx3
Hình 4.10 Kết quả chuyển đổi ảnh SRx2 và SRx3.
PHÁT HIỆN ĐỐI TƯỢNG
Mã nguồn cho công cụ phát hiện đối tượng là mã nguồn mở, được phát triển bởi phòng nghiên cứu MMLab thuộc Đại học Hồng Kông Bạn có thể tải mã nguồn này tại địa chỉ: [https://github.com/open-mmlab/mmdetection](https://github.com/open-mmlab/mmdetection).
- Tập dữ liệu: Visdrone2019-train, Visdrone2019-val
- Hệ thống: Ubuntu v18.04, 32GB RAM, RTX 2080 Ti
Bước 1: Chuyển đổi format annotation của tập dữ liệu Visdrone2019 thành chuẩn format annotation của tập dữ liệu COCO
The mmdetection framework only supports model training using COCO or VOC datasets Therefore, to train with the Visdrone2019 dataset, it is necessary to convert the Visdrone2019 annotations into the COCO format.
• Viết code chuyển đổi annotation của Visdrone2019 thành VOC2017 sau đó sử dụng code chuyển đổi format của VOC thành COCO
• Sử dụng thư viện PIL để trích xuất các bounding box của từng ảnh để kiểm tra độ chính xác của việc chuyển đổi
Hình 4.11 Ảnh trích xuất các bounding-box từ annotation dưới định dạng COCO
Bước 2: Huấn luyện mô hình phát hiện đối tượng của 5 phương pháp bằng tập dữ liệu Visdrone2019-train
• Đầu tiên ta phải viết lại config để huấn luyện cho từng mô hình từng phương pháp o File Config:
Hình 4.12 File config mẫu cho mô hình phát hiện đối tượng bằng phương pháp
▪ _base: đặt lại file config cơ bản của từng phương pháp được viết sẵn và lưu trong thư mục configs/_base_/models/
▪ classes: tùy chọn các lớp trong dataset để tiến hành huấn luyện Thực nghiệm sử dụng 4 lớp cơ bản của
Visdrone2019 để tiến hành huấn luyện
▪ data: kết nối với các đường dẫn tới tập dữ liệu
▪ load_form: thiết lập đường dẫn tới pretrained model o File config cơ bản trong configs/_base_/models/:
Hình 4.13 File config chi tiết cấu trúc mạng
▪ File được dùng để thiết lập các thông số cho huấn luyện và thử nghiệm mô hình o Chỉnh sửa đường dẫn đến tập dữ liệu
Hình 4.14 File config chi tiết datasets
▪ Chỉnh sửa đường dẫn đến thư mục ảnh và annotation của tập dữ liệu Visdrone2019
• Huấn luyện mô hình bằng lệnh :
Bước 3: Đánh giá mô hình phát hiện đối tượng bằng tập dữ liệu Visdrone2019- val
• Chạy lệnh thử nghiệm mô hình huấn luyện như sau:
Hình 4.15 Kết quả đánh giá mô hình phương pháp Faster R-CNN trên
Hình 4.16 Kết quả đánh giá mô hình phương pháp Cascade R-CNN trên
Hình 4.17 Kết quả đánh giá mô hình phương pháp DetectoRS trên Visdrone2019- val
Hình 4.18 Kết quả đánh giá mô hình phương pháp RetinaNet trên Visdrone2019-val
36 Hình 4.19 Kết quả đánh giá mô hình phương pháp SSD trên Visdrone2019-val
Method AP IOU=0.5:0.95| area =all
Bảng 2 Bảng so sánh kết quả huấn của 5 phương pháp phát hiện đối tượng (AP)
Bảng 3 Bảng so sánh kết quả huấn của 5 phương pháp phát hiện đối tượng (AR)
MÔ HÌNH KẾT HỢP GIỮA ẢNH SIÊU PHÂN GIẢI VÀ PHÁT HIỆN ĐỐI TƯỢNG
- Tập dữ liệu: Visdrone2019-train, Visdrone2019-val
- Hệ thống: Ubuntu v18.04, 32GB RAM, RTX 2080 Ti
Bước 1: Chuyển đổi annotation của tập dữ liệu Visdrone2019-val sang format VOC và COCO (4.3.1)
Bước 2: Tiến hành chạy thực nghiệm từng mô hình phát hiện đối tượng của từng phương pháp (Bước 3 mục 4.3.2) cho tập dữ liệu Visdrone2019-val (LRx2, SRx2, SRx3)
Bước 3: Ghi nhận các kết quả của từng mô hình và lập bảng so sánh với kết quả (4.3.4)
Bảng 4 Bảng so sánh kết quả thực nghiệm của 5 phương pháp phát hiện đối tượng trên các tập dữ liệu Visdrone2019-val (HR,
LRx2, SRx2, SRx3) trên độ đo AP
Bảng 5 Bảng so sánh kết quả thực nghiệm của 5 phương pháp phát hiện đối tượng trên các tập dữ liệu Visdrone2019-val (HR,
LRx2, SRx2, SRx3) trên độ đo AR
Theo bảng 3 và bảng 4, với thang đo (AP, AR) IOU=0.5:0.95| area =all, phương pháp SSD đạt tỷ lệ chính xác cao nhất với kết quả HR = 35,5% (AR = 29,4%), SRx2 đạt 34,4% (AR = 24,2%), và SRx3 đạt 24,9% (AR = 20,8%).
• Với thang đo (AP, AR) IOU=0.5:0.95| area =medium thì tỷ lệ chính xác cao nhất thuộc về phương pháp
DetectoRs với kết quả HR = 40% (53,1% AR), SRx24,6% (45,5% AR), SRx3= 30,3% (40,2% AR)
• Ở phương pháp SSD ta có các số AP cao hơn AR nhưng ở phương pháp DetetoRS thì ta có AP thấp hơn AR
• Khoảng cách AP và AR nhỏ nhất giữa các tập dữ liệu HR, SRx2, SRx3 thuộc về phương pháp RetinaNet
• Khoảng cách AP và AR lớn nhất giữa các tập dữ liệu HR, SRx2, SRx3 thuộc về phương pháp SSD