1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Một phương pháp phát hiện phương tiện giao thông trong không ảnh

68 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Một Phương Pháp Phát Hiện Phương Tiện Giao Thông Trong Không Ảnh
Tác giả Phan Thị Hồng Cúc
Trường học Đại Học Quốc Gia Tp. Hồ Chí Minh
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Báo Cáo Đồ Án
Năm xuất bản 2021
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 68
Dung lượng 3,45 MB

Cấu trúc

  • Chương 1. TỔNG QUAN (0)
    • 1.1. Giới thiệu chung (0)
    • 1.2. Động lực nghiên cứu (11)
      • 1.2.1. Tính khoa học (11)
      • 1.2.2. Tính ứng dụng (12)
    • 1.3. Phát biểu bài toán (12)
    • 1.4. Phạm vi bài toán (13)
    • 1.5. Thách thức bài toán (13)
    • 1.6. Nội dung thực hiện (14)
    • 1.7. Kết quả của đề tài (14)
    • 1.8. Cấu trúc báo cáo đồ án (0)
  • Chương 2. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN (0)
    • 2.1. Computer Vision (16)
      • 2.1.1. Giới thiệu (16)
      • 2.1.2. Một số bài toán nổi bật (0)
    • 2.2. Object Detection (17)
      • 2.2.1. Giới thiệu (17)
      • 2.2.2. Phân loại (18)
    • 2.3. Neural Network (19)
    • 2.4. Convolutional Neural Network (21)
      • 2.4.1. Giới thiệu (21)
      • 2.4.2. Convolution Layer (21)
      • 2.4.3. Pooling Layer (25)
      • 2.4.4. Fully connected layer (25)
    • 2.5. ResNet (26)
      • 2.5.1. Giới thiệu (26)
      • 2.5.2. Vanishing Gradient (27)
      • 2.5.3. Kiến trúc mạng ResNet (27)
    • 2.6. Faster R-CNN (29)
      • 2.6.1. Tổng quan (29)
      • 2.6.2. RPN (30)
      • 2.6.3. Fast R-CNN (31)
      • 2.6.4. RoI pooling (31)
    • 2.7. RoIAlign (34)
    • 2.8. Deformable RoI Pooling (36)
    • 2.9. Feature Pyramid Networks (37)
    • 2.10. D2Det (39)
      • 2.10.1. Tổng quan (39)
      • 2.10.2. Dense local regression (39)
      • 2.10.3. Discriminative RoI pooling (41)
      • 2.10.4. Kết quả thực nghiệm (43)
  • Chương 3. THỰC NGHIỆM VÀ ĐÁNH GIÁ (0)
    • 3.1. Bộ dữ liệu UAVDT (0)
    • 3.2. Quá trình thực nghiệm (0)
      • 3.2.1. Xử lý dữ liệu (46)
        • 3.2.1.1. Thay đổi cách tổ chức của bộ dữ liệu (0)
        • 3.2.1.2. Thay đổi định dạng annotation của bộ dữ liệu (50)
      • 3.2.2. Chạy thực nghiệm D2Det (0)
        • 3.2.2.1. Thông tin chung (54)
        • 3.2.2.2. Chạy thực nghiệm (55)
    • 3.3. Phương pháp đánh giá (0)
      • 3.3.1. Intersection over Union (56)
      • 3.3.2. Confusion matrix (57)
      • 3.3.3. Precision và Recall (58)
      • 3.3.4. AP và mAP (59)
        • 3.3.4.1. Average Precision - AP (59)
        • 3.3.4.2. Mean Average Precision – mAP (60)
        • 3.3.4.3. AP của COCO API (60)
    • 3.4. Kết quả (60)
      • 3.4.1. Kết quả (60)
        • 3.4.1.1. Kết quả mô hình D2Det với backbone ResNet50 kết hợp FPN (60)
        • 3.4.1.2. Kết quả mô hình D2Det với backbone ResNet101 kết hợp FPN (61)
      • 3.4.2. Hình ảnh minh họa (62)
      • 3.4.3. Đánh giá mô hình (0)
  • Chương 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (0)
    • 4.1. Kết quả đạt được (65)
    • 4.2. Hạn chế (65)
    • 4.3. Hướng phát triển (0)

Nội dung

TỔNG QUAN

Động lực nghiên cứu

Bài toán phát hiện đối tượng trong không ảnh đang trở nên phổ biến trong giới nghiên cứu khoa học Nhiều bộ dữ liệu đã được công bố, bao gồm VEDAI (2016), UAVDT (ECCV 2018), VisDrone (2018), cùng với các cuộc thi như ODAI.

Cuộc thi VisDrone Challenge tại ICPR 2018 được tổ chức nhằm khuyến khích các nhà nghiên cứu phát triển các phương pháp mới để nâng cao độ chính xác và hiệu quả trong giải quyết các bài toán liên quan.

Phát hiện phương tiện giao thông trong không ảnh có thể được áp dụng vào nhiều lĩnh vực trong cuộc sống:

Giám sát giao thông đóng vai trò quan trọng trong việc phát hiện và theo dõi phương tiện, từ đó tính toán lưu lượng giao thông để cải thiện tình trạng ùn tắc và tai nạn Hệ thống này còn giúp phát hiện các hành vi bất thường của phương tiện như đi sai làn đường hoặc xâm phạm vào các khu vực cấm, góp phần nâng cao an toàn và hiệu quả trong quản lý giao thông.

Trong lĩnh vực quân sự, việc phát hiện phương tiện lạ xâm nhập vào khu vực trọng điểm và bí mật của quân đội là vô cùng quan trọng Bên cạnh đó, việc nhận diện phương tiện chiến đấu trên chiến trường cũng góp phần nâng cao khả năng ứng phó Hỗ trợ trong việc dự đoán hướng di chuyển của các phương tiện này sẽ giúp xây dựng phòng tuyến hiệu quả hơn.

Việc tính toán lưu lượng giao thông không chỉ giúp các doanh nghiệp xác định vị trí đặt bảng quảng cáo hiệu quả để tiếp cận đúng khách hàng mục tiêu, mà còn hỗ trợ các chủ cửa hàng, nhà hàng, khách sạn trong việc lựa chọn vị trí xây dựng cửa hàng một cách hiệu quả.

Phát biểu bài toán

Đồ án trình bày nội dung liên quan đến lĩnh vực thị giác máy tính và đô thị thông minh trong tương lai:

− Bài toán phát hiện phương tiện giao thông trong không ảnh (Vehicle detection in aerial images)

Đầu vào của hệ thống là các ảnh chụp giao thông đường bộ định dạng (.jpg, png) được thu thập từ camera của thiết bị bay không người lái Đầu ra sẽ cung cấp thông tin cơ bản về từng phương tiện trong ảnh, bao gồm vị trí và tên loại phương tiện quan tâm.

Hình 1.1 Input – output của bài toán.

Phạm vi bài toán

Trong nghiên cứu này, chúng tôi thực hiện thí nghiệm với phương pháp D2Det trên bộ dữ liệu UAVDT để phát hiện phương tiện giao thông trong không ảnh Chúng tôi tập trung vào giao thông đường bộ, bao gồm các loại phương tiện như xe ô tô, xe tải và xe buýt.

Thách thức bài toán

Bộ dữ liệu UAVDT chứa một số ảnh với mật độ đối tượng cao, bao gồm các đối tượng nhỏ và bị mờ do chuyển động nhanh của thiết bị bay Điều này đòi hỏi việc áp dụng các kỹ thuật tiền xử lý ảnh và rút trích đặc trưng phù hợp để cải thiện chất lượng hình ảnh và khả năng nhận diện đối tượng.

Hiện nay, có nhiều kiến trúc mạng CNN khác nhau như LeNet, AlexNet, VGG, ResNet và các mạng tùy chỉnh, mỗi loại có độ chính xác khác nhau Để đạt được kết quả tốt nhất, cần nghiên cứu và điều chỉnh kỹ lưỡng cho từng mạng Việc này đòi hỏi sự sâu sắc trong nghiên cứu để tìm ra phương pháp tối ưu nhất cho hiệu suất cao.

Việc phát hiện phương tiện giao thông trong thực tế gặp nhiều thách thức do phụ thuộc vào các yếu tố như kích thước, hình dạng phương tiện, thời tiết và ánh sáng Cụ thể, trong những điều kiện khó khăn như góc quay cao, trời tối hoặc sương mù, việc phân biệt đối tượng trở nên khó khăn hơn.

Hình 1.2 Thách thức của bài toán

Nội dung thực hiện

Nội dung thực hiện của đồ án gồm:

− Tìm hiểu bài toán phát hiện phương tiện giao thông trong không ảnh

− Tìm hiểu bộ dữ liệu UAVDT [2]

Chúng tôi đã thực hiện thống kê các phương pháp phát hiện đối tượng thực nghiệm với bộ dữ liệu UAVDT [2] Trong nghiên cứu này, chúng tôi tập trung vào phương pháp D2Det [1], được công bố vào năm 2020, cho thấy kết quả khá tốt trên bộ dữ liệu UAVDT [2] với điểm số 56.92 theo độ đo PASCAL VOC AP.

− Huấn luyện mô hình phát hiện đối tượng D2Det [1] cho bài toán phát hiện phương tiện giao thông trong không ảnh

− Đánh giá mô hình trên tập test, tập ảnh có thuộc tính daylight, low-alt, bird- view của bộ dữ liệu UAVDT-Benchmark-M.

Kết quả của đề tài

Từ những nghiên cứu, chúng tôi đã thu được các kết quả như sau:

− Báo cáo về bộ dữ liệu UAVDT

− Báo cáo về phương pháp D2Det

− Báo cáo về kết quả thực nghiệm phương pháp D2Det trên bộ dữ liệu UAVDT

1.8 Cấu trúc báo cáo đồ án Đồ án được trình bày trong 4 chương, nội dung chính được tóm tắt như sau:

Chương 1 của đồ án cung cấp cái nhìn tổng quan về dự án, bao gồm động lực nghiên cứu, mục tiêu cụ thể, và xác định bài toán nghiên cứu Phạm vi nghiên cứu cũng được làm rõ, cùng với nội dung thực hiện và kết quả đạt được từ đồ án.

− Chương 2: Trình bày các cơ sở lý thuyết, nghiên cứu liên quan đến bài toán phát hiện phương tiện giao thông trong không ảnh được đề cập trong đồ án

− Chương 3: Trình bày quá trình, kết quả thực nghiệm và đánh giá

− Chương 4: Tổng kết kết quả đạt được trong đề tài, những hạn chế cũng như hướng phát triển trong tương lai.

CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN

Computer Vision

Thị giác máy tính (Computer Vision) là lĩnh vực cho phép máy tính nhận diện và trích xuất thông tin từ hình ảnh và video, từ đó thực hiện các hành động hoặc đưa ra đề xuất dựa trên thông tin đó Trong khi trí tuệ nhân tạo (AI) giúp máy tính suy nghĩ, thì thị giác máy tính mang lại khả năng cho chúng nhìn, quan sát và hiểu thế giới xung quanh.

Thị giác máy tính hoạt động tương tự như thị giác của con người, nhưng có những lợi thế nổi bật Trong khi con người cần thời gian để huấn luyện khả năng phân biệt các vật thể, khoảng cách, chuyển động và phát hiện sai sót trong hình ảnh, thị giác máy tính có thể thực hiện các chức năng này nhanh hơn Nhờ vào dữ liệu và thuật toán, hệ thống thị giác máy tính có khả năng kiểm tra sản phẩm hoặc theo dõi dây chuyền sản xuất, phân tích hàng nghìn sản phẩm hoặc quy trình trong một phút, phát hiện các lỗi và vấn đề mà con người có thể bỏ lỡ, do đó vượt trội hơn về tốc độ và hiệu quả.

Thị giác máy tính được ứng dụng rộng rãi trong nhiều ngành công nghiệp, từ năng lượng và tiện ích đến sản xuất chế tạo Thị trường trong lĩnh vực này vẫn đang trên đà phát triển mạnh mẽ, với dự đoán sẽ đạt giá trị 48,6 tỷ đô la vào năm 2022.

2.1.2 Một số bài toán nổi bật

Một số bài toán phổ biến trong lĩnh vực Computer Vision:

− Phân loại ảnh (Image classification): là một bài toán với mục đích dự đoán lớp của đối tượng trong ảnh

Định vị đối tượng là một bài toán quan trọng trong lĩnh vực nhận diện hình ảnh, với mục tiêu xác định vị trí của một hoặc nhiều đối tượng trong ảnh và vẽ bounding box xung quanh chúng.

Phát hiện đối tượng là một bài toán kết hợp giữa phân loại ảnh và định vị đối tượng, trong đó mục tiêu là xác định vị trí và vẽ bounding box cho một hoặc nhiều đối tượng trong ảnh, đồng thời phân loại chúng vào các lớp tương ứng.

Truy vết đối tượng trong video là một bài toán quan trọng nhằm xác định vị trí của một hoặc nhiều đối tượng trong từng khung hình của video.

Object Detection

Phát hiện đối tượng (Object detection) là thuật ngữ chỉ các nhiệm vụ thị giác máy tính nhằm xác định các đối tượng trong ảnh kỹ thuật số Quy trình này kết hợp hai bài toán chính: phân loại ảnh và định vị đối tượng, cho phép nhận diện một hoặc nhiều đối tượng trong cùng một hình ảnh Ba bài toán này có thể được phân biệt qua đầu vào và đầu ra của chúng.

− Phân loại ảnh (Image classification): dự đoán lớp của đối tượng trong ảnh o Input: Một hình ảnh với một đối tượng o Output: Nhãn lớp

Định vị đối tượng (Object localization) là quá trình xác định vị trí của các đối tượng trong ảnh và cung cấp thông tin về vị trí của chúng thông qua bounding box Đầu vào của quá trình này là một hình ảnh có một hoặc nhiều đối tượng, trong khi đầu ra là một hoặc nhiều bounding box được xác định bởi tọa độ tâm, chiều rộng và chiều cao.

Phát hiện đối tượng là quá trình xác định vị trí của các đối tượng trong hình ảnh thông qua việc sử dụng bounding box và cung cấp nhãn cho từng đối tượng Đầu vào của quá trình này là một hình ảnh có thể chứa một hoặc nhiều đối tượng, trong khi đầu ra là một hoặc nhiều bounding box cùng với nhãn tương ứng cho mỗi bounding box.

Hình 2.1 Ví dụ phân biệt 3 bài toán của Computer Vision 1

Các phương pháp giải quyết bài toán Phát hiện đối tượng được chia thành 2 nhóm chính:

Phương pháp phát hiện đối tượng một giai đoạn (one-stage object detection) không sử dụng phần trích xuất vùng có khả năng chứa đối tượng như RPN trong Faster-RCNN Thay vào đó, các mô hình này coi việc định vị đối tượng như một bài toán hồi quy với bốn thông số (x, y, w, h) và sử dụng các box định trước gọi là anchor để phát hiện đối tượng Mặc dù các mô hình one-stage thường nhanh hơn, nhưng độ chính xác của chúng thường kém hơn so với các mô hình hai giai đoạn (two-stage) và thường được sử dụng để nhận dạng đối tượng Một số mô hình tiêu biểu trong phương pháp này bao gồm You Only Look Once (YOLO), Single Shot MultiBox Detector (SSD) và RetinaNet.

Phương pháp phát hiện đối tượng hai giai đoạn (two-stage object detection) bao gồm hai phần chính: đầu tiên, mô hình trích xuất các vùng có khả năng chứa đối tượng từ ảnh thông qua anchor box; sau đó, nó phân loại đối tượng và xác định vị trí thông qua hai nhánh ở phần cuối của mô hình, bao gồm Phân loại Đối tượng và Hồi quy Bounding Box Các mô hình này thường được sử dụng để giải quyết các bài toán định vị trong lĩnh vực nhận diện hình ảnh.

1 Nguồn: http://tutorials.aiclub.cs.uit.edu.vn/index.php/2020/04/28/phan-biet-bai-toan-trong-cv/

Nhận diện vật thể tĩnh đòi hỏi độ chính xác cao nhưng không cần tốc độ quá nhanh, với các mô hình tiêu biểu như R-CNN (Region-Based Convolutional Neural Networks).

Neural Network

Mạng nơ-ron nhân tạo (ANN) hay còn gọi là mạng nơ-ron (NN) là một mô hình học máy được lấy cảm hứng từ cấu trúc và chức năng của hệ thần kinh ANN mô phỏng cách các nơ-ron trong não bộ kết nối và tương tác với nhau, giúp xử lý và phân tích thông tin một cách hiệu quả.

Hình 2.2 Nơ-ron sinh học 1 Một mạng NN gồm 3 tầng:

− Tầng vào (input layer): Là tầng bên trái cùng của mạng thể hiện các đầu vào của mạng

− Tầng ra (output layer): Là tầng bên phải cùng của mạng thể hiện các đầu ra của mạng

− Tầng ẩn (hidden layer): Là tầng nằm giữa tầng vào và tầng ra thể hiện cho việc suy luận logic của mạng

1 Nguồn: https://cs231n.github.io/neural-networks-1/

20 a) Mạng NN với 1 tầng ẩn b) Mạng NN với 2 tầng ẩn

Hình 2.3 Kiến trúc Neural Network 1

Trong mạng nơ-ron (Neural Network), mỗi nút được biểu diễn như một nơ-ron sigmoid, mặc dù hàm kích hoạt có thể khác nhau Thông thường, để thuận tiện cho việc tính toán, người ta thường sử dụng cùng một dạng hàm kích hoạt cho tất cả nơ-ron Số lượng nơ-ron ở mỗi tầng có thể khác nhau tùy thuộc vào bài toán cụ thể và phương pháp giải quyết, nhưng thường thì các tầng ẩn sẽ có số lượng nơ-ron bằng nhau để đảm bảo tính đồng nhất trong mạng.

1 Nguồn: https://cs231n.github.io/neural-networks-1/

21 tầng thường được liên kết đôi một với nhau tạo thành mạng kết nối đầy đủ (full- connected network).

Convolutional Neural Network

Mạng nơ-ron tích chập (CNN) là một mô hình học sâu tiên tiến, chuyên dùng cho việc xử lý hình ảnh Khi một ảnh được đưa vào mạng CNN, nó sẽ đi qua các lớp Convolution với các bộ lọc (Kernels), tiếp theo là lớp Pooling và các lớp kết nối đầy đủ (fully connected layers - FC) Cuối cùng, hàm Softmax được áp dụng để phân loại đối tượng, cho ra xác suất trong khoảng từ 0 đến 1.

Hình 2.5 Convolutional Neural Network

Lớp tích chập là lớp đầu tiên trong mạng nơ-ron tích chập, có vai trò quan trọng trong việc trích xuất các đặc trưng từ ảnh đầu vào Lớp này duy trì mối quan hệ giữa các pixel bằng cách học các đặc trưng của ảnh thông qua việc sử dụng các ô vuông nhỏ của dữ liệu Quá trình này thực hiện phép toán với hai đầu vào, bao gồm ma trận ảnh và một bộ lọc (kernel).

Hình 2.6 Cấu trúc tổng quát của Convolution layer

Xét 1 ma trận 5 × 5 có giá trị pixel là 0 và 1 và ma trận bộ lọc 3 × 3 như hình bên dưới

Quá trình tích chập của ma trận hình ảnh 5 × 5 với ma trận bộ lọc 3 × 3 được minh họa trong hình 2.7 Kết quả thu được từ quá trình này được gọi là Feature Map.

Hình 2.8 Ví dụ minh họa quá trình hoạt động của Convolution layer

Tích hợp một bức ảnh với nhiều loại bộ lọc khác nhau có thể thực hiện nhiều chức năng như phát hiện cạnh, làm mờ và làm sắc nét, giúp nâng cao chất lượng hình ảnh và tạo ra những hiệu ứng độc đáo.

Bảng 2.1 Một số bộ lọc phổ biến

Lớp pooling thường được áp dụng ngay sau lớp convolution nhằm giảm kích thước của mỗi feature map, đồng thời vẫn giữ lại những thông tin quan trọng Có nhiều loại lớp pooling khác nhau, mỗi loại mang đến những ưu điểm riêng trong việc xử lý dữ liệu.

− Max Pooling: Lấy giá trị lớn nhất từ mỗi mẫu con của feature map

− Average Pooling: Lấy giá trị trung bình từ mỗi mẫu con của feature map

− Sum Pooling: Lấy tổng của các giá trị trong mỗi mẫu con của feature map

Hình 2.9 Ví dụ minh họa Max Pooling

Fully connected là phương pháp kết nối phổ biến trong mạng nơ-ron nhân tạo (ANN), nơi mà lớp sau kết nối hoàn toàn với lớp trước Trong mạng nơ-ron tích chập (CNN), lớp fully connected chuyển đổi ma trận đầu ra từ các lớp trước thành vector đặc trưng.

Hình 2.10 Fully connected layer

Trong hình trên, các feature map được chuyển đổi thành các vector đặc trưng (x1, x2, x3, x4) Qua các lớp fully connected, những đặc trưng này được kết hợp để xây dựng một mô hình Cuối cùng, một hàm kích hoạt như softmax hoặc sigmoid được sử dụng để phân loại đầu ra.

ResNet

Khi xây dựng mạng nơ-ron tích chập sâu, hiện tượng Vanishing Gradient có thể xảy ra, gây ảnh hưởng xấu đến hiệu quả học tập Để khắc phục vấn đề này, ResNet (Residual Network) đã được phát triển.

ResNet đã xuất sắc giành vị trí đầu tiên trong cuộc thi ILSVRC 2015 với tỷ lệ lỗi top 5 chỉ 3.57% Hơn nữa, nó cũng đã dẫn đầu trong các cuộc thi ILSVRC và COCO.

Năm 2015 đánh dấu sự phát triển quan trọng trong lĩnh vực nhận diện hình ảnh với các bài kiểm tra như ImageNet Detection, ImageNet Localization, Coco Detection và Coco Segmentation Hiện nay, có nhiều biến thể của kiến trúc ResNet với số lớp khác nhau, bao gồm ResNet-18, ResNet-34, ResNet-50, ResNet-101 và ResNet-152 Mỗi biến thể được đặt tên là ResNet kèm theo số lượng lớp cụ thể, phản ánh sự đa dạng trong thiết kế kiến trúc này.

Thuật toán Backpropagation là một kỹ thuật quan trọng trong quá trình huấn luyện mạng nơ-ron, nơi mà quá trình diễn ra từ lớp đầu ra đến lớp đầu vào để tính toán gradient của hàm chi phí cho từng tham số (trọng số) của mạng Sau đó, Gradient Descent được sử dụng để cập nhật các tham số này Quá trình này được lặp đi lặp lại cho đến khi các tham số của mạng hội tụ Một hyperparameter quan trọng, số Epoch, xác định số lần mà tập huấn luyện được duyệt qua và các trọng số được cập nhật Nếu số vòng lặp quá nhỏ, mạng có thể không đạt được kết quả tốt, trong khi nếu quá lớn, thời gian huấn luyện sẽ kéo dài.

Trong quá trình huấn luyện mạng nơ-ron, giá trị của Gradients thường giảm dần khi đi xuống các lớp thấp hơn, dẫn đến việc các cập nhật từ Gradient Descent không làm thay đổi nhiều trọng số của những lớp này Kết quả là, mạng không thể hội tụ và không đạt được hiệu suất tốt Hiện tượng này được gọi là Vanishing Gradients.

Giống như các mạng CNN truyền thống, ResNet bao gồm các lớp convolution, pooling và fully connected Tuy nhiên, để khắc phục hiện tượng Vanishing Gradient, ResNet sử dụng kết nối "tắt" đồng nhất, cho phép thông tin xuyên qua một hoặc nhiều lớp Một khối như vậy được gọi là Residual Block.

Trong hình 2.11, một mũi tên cong xuất phát từ đầu và kết thúc tại cuối Residual block, cho thấy việc bổ sung đầu vào X vào đầu ra của layer (dấu cộng trong hình) Điều này giúp ngăn chặn việc đạo hàm bằng 0, vì vẫn còn giá trị được cộng thêm.

X Giả sử ta có đầu vào của Residual block là x, H(x) là hàm phân phối thực và F(x) là hàm biểu diễn sự khác biệt giữa đầu ra và đầu vào Ta có: 𝐹(𝑥) = 𝑂𝑢𝑡𝑝𝑢𝑡 − 𝐼𝑛𝑝𝑢𝑡 = 𝐻(𝑥) − 𝑥 Từ đó, ta có: 𝐻(𝑥) = 𝐹(𝑥) + 𝑥

Hình 2.12 Mạng CNN truyền thống và mạng ResNet [6]

Faster R-CNN

Hình 2.13 Kiến trúc của Faster R-CNN [7]

Faster R-CNN là phương pháp phát hiện đối tượng hai giai đoạn, bao gồm: Giai đoạn 1, sử dụng mạng đề xuất vùng (RPN) để xác định các vùng khả năng chứa đối tượng; Giai đoạn 2, áp dụng Fast R-CNN với các đề xuất thu được từ RPN để phân loại và định vị đối tượng.

Hình 2.14 Kiến trúc của RPN 1

− Đầu tiên, ảnh đầu vào được feed qua mạng CNN để thu được các feature map

Để tạo ra các proposal, một cửa sổ trượt kích thước 𝑛 × 𝑛 sẽ di chuyển trên bản đồ đặc trưng từ mạng CNN Mỗi cửa sổ trượt được chuyển đổi thành vector đặc trưng với số chiều giảm đi.

− Vector đặc trưng này được feed qua 2 fully connected layer riêng biệt: regression layer (reg) và classification layer (cls)

Tại mỗi vị trí của cửa sổ trượt, chúng ta dự đoán nhiều proposal, với 𝑘 là số lượng proposal có thể có Do đó, lớp reg sẽ có đầu ra là 4𝑘, tương ứng với 4 hệ số tọa độ của 𝑘 proposal, trong khi lớp cls sẽ cho ra 2𝑘 score, ước lượng xác suất các proposal chứa đối tượng.

1 Nguồn: https://towardsdatascience.com/faster-r-cnn-for-object-detection-a-technical-summary-

Hình 2.15 Fast R-CNN trong Faster R-CNN 1

− Đầu tiên, ảnh đầu vào được feed qua mạng CNN để thu được các feature map

− Sau đó, proposal từ RPN sẽ được sử dụng để pool feature từ feature map thu được từ mạng CNN Việc này được thực hiện tại RoI pooling layer

Đầu ra của lớp RoI pooling, sau khi được xử lý qua hai lớp fully-connected, sẽ được chia thành hai nhánh: nhánh phân loại và nhánh hồi quy Nhánh phân loại có C đơn vị tương ứng với C lớp trong bài toán phát hiện đối tượng, bao gồm cả lớp nền Các vector đặc trưng sẽ được truyền qua một lớp softmax để tính toán điểm phân loại, cho biết xác suất của proposal thuộc về mỗi lớp Trong khi đó, nhánh hồi quy sử dụng đầu ra để cải thiện độ chính xác của các bounding box thu được từ RPN.

Layer RoI pooling tạo ra một ma trận với kích thước cố định đã được xác định trước, điều này là cần thiết vì nó được theo sau bởi lớp fully connected, trong khi các RoI có kích thước khác nhau.

1 Nguồn: The Generalized R-CNN Framework for Object Detection - Ross Girshick tại https://sites.google.com/view/cvpr2018-recognition-tutorial

32 khác nhau nên ta cần pool chúng thành các ma trận có kích thước giống nhau) RoI Pooling được thực hiện như sau:

− Xác định vùng tương ứng với proposal trên feature map

− Chia proposal trên feature map thành các vùng với số lượng cố định (Số lượng vùng phụ thuộc vào kích thước của output)

Thực hiện max-pooling trên các cửa sổ con giúp thu được đầu ra với kích thước cố định bằng cách tìm giá trị lớn nhất của mỗi vùng Kết quả đầu ra sẽ là ma trận chứa các giá trị lớn nhất từ mỗi vùng.

− Giả sử ta có 1 proposal, feature map 8 x 8, kích thước output yêu cầu là 2 x 2

Hình 2.16 Feature map của ví dụ

− Ánh xạ proposal lên feature map

Hình 2.17 Ví dụ minh họa sau khi ánh xạ proposal lên feature map

− Ta chia proposal này thành 2 x 2 vùng: o Lưu ý: kích thước của proposal không cần thiết phải chia được chính xác cho kích thước của output

Hình 2.18 Ví dụ minh họa chia proposal thành các vùng tương ứng với kích thước của output cho trước

− Lấy giá trị lớn nhất của từng vùng, ta thu được kết quả như sau:

Hình 2.19 Kết quả thu được của ví dụ.

RoIAlign

RoIAlign và RoI Pooling đều nhằm mục đích lấy RoI (Region of Interest) từ các vùng đề xuất Tuy nhiên, RoIAlign thực hiện hai bước khác biệt so với RoI Pooling.

RoIAlign đề xuất chuyển đổi các vùng thành số vùng tương ứng với kích thước đầu ra đã chỉ định Điều này có nghĩa là không có pixel xác định nào có thể được lấy từ bản đồ đặc trưng, vì các thông số tọa độ mới là số thực.

Hình 2.20 Minh họa chia vùng của RoIAlign [8]

− Với mỗi vùng đã chia, RoIAlign sử dụng phép nội suy song tuyến (bilinear interpolation) để xác định 4 điểm mẫu

Từ bốn điểm mẫu đã xác định của mỗi vùng, chúng ta thực hiện max pooling hoặc average pooling để lấy giá trị đại diện từ vùng đó.

− Chia proposal thành các vùng bằng nhau tương ứng với kích thước cho trước

Hình 2.21 Ví dụ minh họa chia vùng của RoIAlign 1

− Thực hiện phép nội suy song tuyến để xác định 4 điểm mẫu:

Hình 2.22 Ví dụ minh họa quá trình xác định 4 điểm mẫu 1

− Từ 4 điểm mẫu đã xác định, thực hiện max pooling để thu kết quả cuối cùng

1 Nguồn: https://firiuza.medium.com/roi-pooling-vs-roi-align-65293ab741db

Hình 2.23 Ví dụ minh họa kết quả sau khi max pooling của RoIAlign 1

Deformable RoI Pooling

Hình 2.24 Deformable RoI Pooling [9]

Deformable RoI Pooling [9] được thực hiện như sau:

Đầu tiên, ở nhánh trên, cần sử dụng RoI Pooling (hoặc RoIAlign) để chuyển đổi bản đồ đặc trưng thành ma trận với kích thước cố định đã được xác định trước.

Sau đó, một lớp fully connected (FC) tạo ra các thông số được chuẩn hóa ∆𝑝̂ 𝑖𝑗 và được biến đổi thành thông số ∆𝑝 𝑖𝑗 tại 𝛾 = 0.1 Việc chuẩn hóa thông số là cần thiết để đảm bảo rằng thông số học được không bị ảnh hưởng bởi kích thước của RoI.

1 Nguồn: https://firiuza.medium.com/roi-pooling-vs-roi-align-65293ab741db

Cuối cùng, ở nhánh dưới, chúng ta thực hiện Deformable RoI Pooling, trong đó feature map đầu ra sẽ được pool dựa trên các vùng với các thông số đã được tăng cường (augmented offsets).

Feature Pyramid Networks

Mạng Nơ-ron Kim Tự Tháp Đặc Trưng (FPN) được giới thiệu bởi nhóm Facebook AI Research (FAIR) tại hội nghị CVPR năm 2017 FPN tạo ra các bản đồ đặc trưng đa tỉ lệ, giúp cải thiện khả năng phát hiện đối tượng trong ảnh khi kết hợp với các mạng phát hiện khác Trong mô hình Faster R-CNN, FPN có thể tích hợp với mạng RPN để nâng cao độ chính xác trong việc dự đoán xác suất xuất hiện của đối tượng trong các vùng đề xuất.

Hình 2.25 Feature Pyramid Network [10]

Đường đi từ dưới lên (Bottom-Up Pathway) là quá trình feedforward trong mạng nơ-ron tích chập (ConvNet), trong đó mỗi tầng tương ứng với một tầng trong "kim tự tháp" Đầu ra của lớp cuối cùng ở mỗi tầng sẽ được kết nối bên (Lateral Connection) tham khảo để cải thiện kết quả của đường đi từ trên xuống (Top-Down Pathway).

− Top-Down Pathway và Lateral Connection: Các đặc trưng được nhân với

Sử dụng phép toán 1 × 1 convolution để giảm kích thước và kết hợp đặc trưng theo chiều dọc Cụ thể, C1 được kết hợp với C2 bằng cách thực hiện upsampling C1 lên gấp 2 lần thông qua phương pháp nearest neighbors upsampling, nhằm đảm bảo C1 có cùng kích thước với C2.

− Cuối cùng, mỗi feature map đã hợp nhất sẽ được đưa qua một 3 × 3 convolution để giảm hiệu ứng răng cưa của việc upsampling

Hình 2.26 Minh họa đường đi theo bottom-up và top-down P2, P3, P4, P5 là các pyramid của các feature map 1

1 https://www.phamduytung.com/blog/2018-12-06-what-do-we-learn-from-single-shot-object-detection/

D2Det

D2Det [1] được công bố tại hội nghị CVPR 2020 bởi các tác giả: Jiale Cao, Hisham Cholakkal, Rao Muhammad Anwer, Fahad Shahbaz Khan, Yanwei Pang, Ling Shao

Hình 2.27 Kiến trúc của D2Det

D2Det [1] là phương pháp phát hiện đối tượng 2 giai đoạn (two-stage object detector) dựa trên Faster R-CNN [7]:

− Giai đoạn 1: Sử dụng region proposal network (RPN) để thu được các vùng có khả năng chứa đối tượng

Giai đoạn 2 của D2Det đề xuất sử dụng hồi quy cục bộ dày đặc và pooling RoI phân biệt thay cho hồi quy bounding box và phân loại đối tượng trong Faster R-CNN Hồi quy cục bộ dày đặc giúp giải quyết vấn đề định vị đối tượng, trong khi pooling RoI phân biệt tập trung vào việc phân loại chính xác các đối tượng.

Mục tiêu của phương pháp hồi quy bounding-box trong các kỹ thuật phát hiện đối tượng hai giai đoạn là xác định vị trí của đối tượng bằng cách sử dụng bounding box Tương tự, mục tiêu của hồi quy cục bộ dày đặc cũng nhằm định vị chính xác vị trí của đối tượng trong hình ảnh.

Hình 2.28 Dense local regression [1]

Dense local regression sử dụng đặc trưng RoI 𝑘 𝑥 𝑘 chiều, được lấy từ quá trình RoI Pooling hoặc RoIAlign, để tạo ra 𝑘² đặc trưng cục bộ liên tiếp trong không gian Mỗi đặc trưng cục bộ được biểu diễn là 𝑝𝑖, và các thông số ground-truth tương ứng với 𝑝𝑖, bao gồm 𝑙𝑖, 𝑟𝑖, 𝑡𝑖, và 𝑏𝑖, được tính toán theo một công thức cụ thể.

Trong bài viết này, chúng ta sẽ xem xét các tọa độ liên quan đến các đối tượng trong không gian Cụ thể, 𝑥 𝑖 và 𝑦 𝑖 đại diện cho tọa độ vị trí của 𝑝 𝑖, trong khi 𝑥 𝑙 và 𝑦 𝑡 là tọa độ của góc trái trên của hộp ground-truth G Đồng thời, 𝑥 𝑟 và 𝑦 𝑏 thể hiện tọa độ của góc phải dưới của hộp ground-truth G Cuối cùng, 𝑤 𝑃 và ℎ 𝑃 biểu thị chiều rộng và chiều cao của đề xuất P.

Số lượng đặc trưng cục bộ của proposal P thuộc về ground-truth box G được xác định dựa vào phần giao nhau giữa proposal và ground-truth tương ứng Tuy nhiên, ngay cả khi đa số các đặc trưng cục bộ của P thuộc về G, vẫn có những đặc trưng không cần thiết như nền, dẫn đến kết quả không chính xác Để giải quyết vấn đề này, D2Det sử dụng ma trận nhị phân 𝑚̂ (binary overlap prediction) để phân loại.

41 mỗi đặc trưng cục bộ thuộc về ground-truth (có giá trị bằng 1) hay thuộc về nền (có giá trị bằng 0)

− Lưu ý: o Ở đây ta xem như toàn bộ vùng bên trong G là đối tượng o 𝑚̂ = {𝑚̂ 𝑖 : 𝑖 ∈ [1, 𝑘 2 ]} o 𝑚 = {𝑚 𝑖 : 𝑖 ∈ [1, 𝑘 2 ]}

Trong quá trình huấn luyện, 𝑚̂ 𝑖 được truyền qua hàm chuẩn hóa sigmoid (𝜎) để tính toán binary cross-entropy loss với nhãn ground-truth 𝑚 𝑖

Trong quá trình tính toán, dense local regression dự đoán 5 giá trị (𝑙̂ 𝑖 , 𝑡̂ 𝑖 , 𝑟̂ 𝑖 , 𝑏̂ 𝑖 , 𝑚̂ 𝑖 ) tại mỗi đặc trưng cục bộ 𝑝 𝑖 ∈ 𝑃

Các thông số của dense box tại các vị trí 𝜎(𝑚̂ 𝑖 ) > 0.5 được sử dụng để xác định vị trí góc trái trên và góc phải dưới của predicted box Cuối cùng, các predicted box được tính bằng cách lấy trung bình của nhiều đặc trưng cục bộ để thu được một bounding box cuối cùng, được biểu diễn bằng vị trí góc trái trên và góc phải dưới.

Discriminative RoI pooling lấy cảm hứng từ Deformable RoI pooling [9] và cải thiện nó để dùng cho bài toán phân lớp bằng 2 cách:

Hình 2.29 Discriminative RoI Pooling [1]

− Ở nhánh trên, tác giả thực hiện RoIAlign với kích thước 𝑘

Lightweight offset prediction replaces RoIAlign with a standard offset size of \( k \times k \) in Deformable RoI pooling, followed by three fully connected layers to obtain enhanced offsets.

Thay vì sử dụng RoI pooling hoặc RoIAlign để lấy mẫu từ các vùng có thông số được tăng cường, Discriminative RoI pooling đề xuất phương pháp Adaptive Weighted Pooling (AWP) Phương pháp này gán trọng số cao hơn cho các điểm mẫu phân biệt, giúp cải thiện hiệu quả trong việc xử lý và phân tích dữ liệu.

Hình 2.30 Adaptive Weighted Pooling [1] o Tại đây, các điểm mẫu ban đầu, 𝐹 ∈ 𝑅 2𝑘×2𝑘 (tương ứng với mỗi giá trị của ma trận đặc trưng 𝑘

Từ RoIAlign, chúng ta thu được 4 điểm mẫu gốc, được sử dụng để dự đoán các trọng số tương ứng (𝑊 ∈ 𝑅 2𝑘×2𝑘) Các trọng số này phản ánh khả năng phân biệt của chúng trong toàn bộ không gian vùng con Sau đó, các ma trận đặc trưng Weighted RoI 𝐹̃ được tính toán theo công thức cụ thể.

• 𝐹: Ma trận các điểm mẫu ban đầu của ma trận 𝑘

Trọng số tương ứng với mỗi điểm mẫu của 𝐹 được tính thông qua lớp convolution Sau đó, tác giả áp dụng average pooling với stride bằng 2 trên 𝐹̃ để thu được ma trận đặc trưng discriminative RoI có kích thước 𝑘×𝑘 Cuối cùng, ma trận đặc trưng discriminative RoI được coi như một vector toàn cục, tương tự như trong Faster R-CNN, và vector này được truyền qua các bước tiếp theo.

2 lớp fully connected để thu được classification score

D2Det được thực nghiệm trên bộ dữ liệu MS COCO và UAVDT, trong đó:

− MS COCO: 80 lớp với độ đo AP của MS COCO

− UAVDT: 3 lớp (car, truck, bus) với độ đo AP của PASCAL VOC với IoU 0.7

Bảng 2.2 Kết quả trên bộ dữ liệu MS COCO test-dev

Bảng 2.3 Kết quả trên bộ dữ liệu UAVDT

Chương 3 THỰC NGHIỆM VÀ ĐÁNH GIÁ

Chúng tôi tập trung vào bộ dữ liệu UAVDT [2] do tính đa nhiệm và các yếu tố phức tạp như ánh sáng, độ cao và góc quay, phù hợp cho việc thực hiện bài toán.

Hình 3.1 Một số ảnh của bộ dữ liệu UAVDT 1

Bảng 3.1 trình bày các thuật ngữ quan trọng trong lĩnh vực nhận diện và theo dõi đối tượng, bao gồm D = DET (Phát hiện đối tượng), S = SOT (Theo dõi một đối tượng) và M = MOT (Theo dõi nhiều đối tượng).

1 https://sites.google.com/view/grli-uavdt/%E9%A6%96%E9%A1%B5

Bảng 3.1 Tóm tắt các bộ dữ liệu liên quan [2]

Bộ dữ liệu gồm khoảng 80.000 ảnh được lấy từ các video có tổng thời lượng

10 tiếng với khoảng 0,84 triệu bounding box và hơn 2.700 phương tiện giao thông, được chia làm 2 bộ dữ liệu (mỗi bộ gồm 50 video):

− UAVDT-Benchmark-M: 40.735 ảnh, gồm 24.143 ảnh train (từ 30 video) và

Bộ dữ liệu gồm 16,592 ảnh test được trích xuất từ 20 video, với 3 nhãn chính là ô tô, xe tải và xe buýt, phục vụ cho bài toán phát hiện và theo dõi nhiều đối tượng Các thư mục ảnh được phân loại theo các thuộc tính như ánh sáng ban ngày, ban đêm và sương mù.

− UAVDT-Benchmark-S: 37.085 ảnh (từ 50 video), dành cho bài toán theo dõi một đối tượng

3.2 Quá trình thực nghiệm

Trong nghiên cứu này, chúng tôi chỉ sử dụng bộ dữ liệu UAVDT-Benchmark-M để thực hiện thí nghiệm liên quan đến bài toán phát hiện phương tiện giao thông trong không ảnh.

3.2.1.1 Thay đổi cách tổ chức của bộ dữ liệu

Cách tổ chức của bộ dữ liệu ban đầu:

Bộ dữ liệu UAVDT-Benchmark-M được tổ chức theo từng thư mục, mỗi thư mục chứa một video riêng biệt Các khung hình trong video được lưu dưới định dạng tên img*.jpg, trong đó * là một chuỗi gồm 6 ký tự thể hiện số thứ tự của khung hình.

Hình 3.2 Minh họa cách tổ chức theo thư mục của bộ dữ liệu

1 Tải bộ dữ liệu tại: https://sites.google.com/view/grli-uavdt/%E9%A6%96%E9%A1%B5

Hình 3.3 Thư mục M1401 của bộ dữ liệu

THỰC NGHIỆM VÀ ĐÁNH GIÁ

Quá trình thực nghiệm

3.2 Quá trình thực nghiệm

Trong nghiên cứu này, chúng tôi tập trung sử dụng bộ dữ liệu UAVDT-Benchmark-M để thực hiện thí nghiệm phát hiện phương tiện giao thông trong không gian 3 chiều.

3.2.1.1 Thay đổi cách tổ chức của bộ dữ liệu

Cách tổ chức của bộ dữ liệu ban đầu:

Bộ dữ liệu UAVDT-Benchmark-M được tổ chức thành các thư mục riêng biệt, mỗi thư mục chứa một video cụ thể Các khung hình trong video được lưu trữ dưới định dạng tên img*.jpg, trong đó dấu * đại diện cho 6 ký tự chỉ số thứ tự của từng khung hình.

Hình 3.2 Minh họa cách tổ chức theo thư mục của bộ dữ liệu

1 Tải bộ dữ liệu tại: https://sites.google.com/view/grli-uavdt/%E9%A6%96%E9%A1%B5

Hình 3.3 Thư mục M1401 của bộ dữ liệu

Bộ dữ liệu UAVDT-Benchmark-M bao gồm 30 video train và 20 video test, tuy nhiên, các video này không được phân chia sẵn trong thư mục bộ dữ liệu Thay vào đó, chúng được ghi lại trong thư mục M_attr dưới định dạng Tên thư mục_attr.txt, nơi mô tả các thuộc tính của từng video.

Hình 3.4 Thư mục M_attr của bộ dữ liệu

Hình 3.5 Thư mục train trong M_attr

Hình 3.6 Thư mục test trong M_attr

Cách tổ chức của bộ dữ liệu sau khi thay đổi:

− Đầu tiên, chúng tôi lấy 15% trên tổng số lượng ảnh ứng với mỗi thư mục train để làm validation set

Chúng tôi đã thực hiện việc thay đổi tên tất cả các bức ảnh trong mọi thư mục, theo định dạng: Tên thư mục + 6 ký tự thể hiện số thứ tự của khung hình + jpg.

− Cuối cùng, chúng tôi di chuyển toàn bộ ảnh trong toàn bộ thư mục sang thư mục train, val, set tương ứng

Hình 3.7 Thư mục train

Hình 3.8 Thư mục val

Hình 3.9 Thư mục test

Chúng tôi đã tạo thêm các thư mục daylight, low-alt, bird-view, và daylight – lowalt – birdview để lưu trữ các ảnh test tương ứng Sau khi thay đổi, bộ dữ liệu UAVDT-benchmark-M hiện có 7 thư mục.

3.2.1.2 Thay đổi định dạng annotation của bộ dữ liệu Định dạng annotation ban đầu của bộ dữ liệu:

− Annotation của UAVDT-benchmark-M cho bài toán phát hiện đối tượng được lưu dưới tên *_gt_whole.txt, * là tên thư mục, gồm 50 tệp ứng với 50 video

− Nội dung của một tệp *_gt_whole.txt gồm nhiều dòng, mỗi dòng là một dãy số nguyên theo thứ tự như sau:

Hình 3.10 Định dạng annotation ban đầu

Trong video, các thông số quan trọng bao gồm: để xác định thứ tự của frame, là ID của đối tượng giúp liên kết các bounding box qua các frame khác nhau Thông tin về bounding box được dự đoán gồm: (hoành độ góc trái), (tung độ góc trái), (chiều rộng tính theo pixel) và (chiều cao tính theo pixel) Ngoài ra, cho biết mức độ bên ngoài khung hình của đối tượng với các giá trị từ 1 đến 3, và thể hiện mức độ bị che phủ với các giá trị từ 1 đến 4 Cuối cùng, xác định nhãn của đối tượng, với các giá trị như 1 cho ‘car’, 2 cho ‘truck’ và 3 cho ‘bus’.

Hình 3.11 Minh họa nội dung annotation (video M1401) Định dạng annotation của bộ dữ liệu sau khi thay đổi 1 :

Chúng tôi sử dụng định dạng annotation COCO (.json) nhưng chỉ tập trung vào ba khóa chính do tính phức tạp của định dạng này Các khóa này bao gồm: 'image', chứa danh sách thông tin của ảnh; 'annotations', chứa danh sách thông tin của bounding box; và 'categories', chứa danh sách nhãn cùng với ID của chúng.

1 Chúng tôi đơn giản hóa định dạng annotation của COCO theo hướng dẫn tại: https://mmdetection.readthedocs.io/en/latest/tutorials/customize_dataset.html

Hình 3.12 Minh họa định dạng annotation sau khi thay đổi

− Trong đó: o Với khóa ‘images’:

▪ ‘file_name’: Tên ảnh, kiểu chuỗi (String)

▪ ‘height’: Chiều cao của ảnh, kiểu số nguyên (Integer)

▪ ‘width’: Chiều rộng của ảnh, kiểu số nguyên (Integer)

▪ ‘id’: ID của ảnh trong bộ dữ liệu, kiểu số nguyên (Integer) o Với khóa ‘annotations’:

▪ ‘segmentation’: Chúng tôi mặc định giá trị này bằng [] do đây là giá trị không dùng cho bài toán phát hiện đối tượng

▪ ‘area’: Diện tích bounding box của đối tượng, kiểu số thực (float)

▪ ‘iscrowd’: Chỉ có thể là giá trị 0 hoặc 1

• 0: bounding box chứa 1 đối tượng

• 1: bounding box chứa nhiều đối tượng

▪ ‘image_id’: ID ảnh chứa đối tượng, kiểu số nguyên (Integer)

▪ ‘bbox’: Tọa độ và kích thước bounding box của đối tượng, kiểu danh sách (List) với định dạng [x, y, width, height], trong đó:

• x, y: tọa độ góc trái trên của bounding box

• width: chiều rộng của bounding box

• height: chiều cao của bounding box

▪ ‘category_id’: ID nhãn của đối tượng, ID này phải tương ứng với ID trong khóa ‘categories’, kiểu số nguyên (Integer)

▪ ‘id’: ID của đối tượng, kiểu số nguyên (Integer) o Với khóa ‘categories’:

▪ ‘id’: ID duy nhất của nhãn, kiểu số nguyên (Integer)

▪ ‘name’: Tên của nhãn, kiểu chuỗi (String)

Sau khi hoàn tất quá trình chuyển đổi, chúng tôi sẽ có 7 tệp json tương ứng với các tập dữ liệu train, val, test, daylight, low-alt, bird-view và daylight – lowalt – birdview, tất cả sẽ được lưu trữ trong thư mục anno.

Mô hình D2Det được huấn luyện trên bộ dữ liệu COCO với 80 lớp đối tượng, cho phép phát hiện các đối tượng không phải phương tiện giao thông Để cải thiện khả năng phát hiện trong phạm vi đề tài, chúng tôi đã tiến hành huấn luyện lại mô hình D2Det trên bộ dữ liệu UAVDT-benchmark-M, sử dụng backbone ResNet50 và ResNet101 kết hợp với FPN.

− Phiên bản D2Det mà chúng tôi thực nghiệm là phiên bản D2Det dùng trên môi trường mmdetection 2.1.0 1

− Yêu cầu: o Linux or macOS (Windows is not currently officially supported) o Python 3.7+ o PyTorch 1.4.0+ o CUDA 10.0+ o mmcv 0.6.1+ o GCC 5+

− Cài đặt môi trường: conda create -n open-mmlab python=3.7 -y conda activate open-mmlab conda install pytorch torchvision -c pytorch pip install -r requirements/build.txt pip install

"git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAP I" pip install -v -e # or "python setup.py develop" git clone https://github.com/open-mmlab/mmcv.git cd mmcv

MMCV_WITH_OPS=1 pip install -e

Chỉnh sửa tệp coco_detection.py trong đường dẫn …/D2Det-mmdet2.1/configs/_base_/datasets/ bằng cách thay đổi đường dẫn của biến data_root thành đường dẫn tới bộ dữ liệu Tạo một biến classes kiểu Tuple chứa các nhãn của đối tượng và điều chỉnh các tham số img_prefix, ann_file để tương ứng với đường dẫn của bộ dữ liệu, cụ thể là: train=dict(img_prefix='./train_model/data/images/train/', classes=classes, ann_file='./train_model/data/annotations/train.json/').

1 Nguồn: https://github.com/JialeCao001/D2Det-mmdet2.1

Phương pháp đánh giá

The validation and test datasets are structured with specific configurations, including image prefixes and annotation files For validation, images are sourced from './train_model/data/images/val/' with corresponding annotations located in './train_model/data/annotations/val.json' Similarly, the test dataset retrieves images from './train_model/data/images/test/' and uses annotations from './train_model/data/annotations/test.json', ensuring that both datasets are organized and accessible for effective model training and evaluation.

− Tiến hành huấn luyện mô hình: python tools/train.py o Với :…/configs/d2det/D2Det_detection_r101_fpn_2x.py/

Chúng tôi sử dụng độ đo AP với IoU khác nhau để đánh giá mô hình

Intersection over Union (IoU) là chỉ số quan trọng để đánh giá độ chính xác của các phương pháp phát hiện đối tượng (object detection) IoU có khả năng đánh giá mọi thuật toán dự đoán bounding box Công thức tính IoU được thể hiện rõ ràng qua hình ảnh minh họa.

Hình 3.13 Minh hoạ cách tính IoU

− Area of Overlap là diện tích phần giao giữa bounding box được dự đoán và bounding box ground-truth

− Area of Union là diện tích phần giao giữa 2 bounding box trên

IoU (Intersection over Union) được sử dụng phổ biến trong đánh giá các phương pháp phát hiện đối tượng vì trong thực tế, tọa độ x, y của bounding box dự đoán thường không hoàn toàn chính xác so với tọa độ của bounding box thực tế (ground-truth) Do đó, cần một phương pháp đánh giá dựa trên mức độ trùng lặp giữa hai bounding box này Thông thường, một dự đoán có IoU lớn hơn 0.5 được coi là một dự đoán tốt.

Ma trận nhầm lẫn (confusion matrix) là công cụ hữu ích để đánh giá hiệu suất của mô hình phân loại, cho thấy cách mỗi lớp được phân loại Nó giúp xác định lớp nào được phân loại chính xác nhất và lớp nào thường bị nhầm lẫn với lớp khác.

Ma trận nhầm lẫn (confusion matrix) trong bài toán phân loại với 3 lớp được thể hiện qua hình 3.14, trong đó trục dọc biểu thị lớp thực tế của đối tượng và trục ngang là lớp được dự đoán Ma trận này có kích thước 𝑛 × 𝑛, với 𝑛 là số lớp trong bài toán, và tổng giá trị của tất cả các phần tử trong ma trận tương ứng với tổng số điểm trong tập kiểm thử.

Số điểm dự đoán chính xác trong tập kiểm thử là 58, nằm trên đường chéo chính Giá trị tại hàng i và cột j đại diện cho số điểm dữ liệu thuộc lớp i, được dự đoán là lớp j.

Giả sử ta xét kết quả phân loại với 1 lớp C trong bài toán phân loại bằng confusion matrix, ta sẽ được ma trận như sau:

Hình 3.15 Cách tính Precision và Recall

Dựa vào confusion matrix trên, ta có:

− TP là những điểm thuộc lớp C, được dự đoán là lớp C

− FP là những điểm không thuộc lớp C, nhưng được dự đoán là lớp C

− TN là những điểm thuộc lớp C, nhưng được dự đoán không phải lớp C

FN là những điểm không thuộc lớp C và được dự đoán không phải thuộc lớp C Trong đó, TP và FN là những điểm được dự đoán chính xác trong lớp C, trong khi FP là những điểm bị dự đoán sai.

TN là những điểm được dự đoán sai Theo công thức, Precision là tỷ lệ các điểm thực sự thuộc lớp C trên tổng số điểm được dự đoán là lớp C, trong khi Recall là tỷ lệ các điểm thuộc lớp C trên tổng số điểm được dự đoán đúng.

Một mô hình phân lớp tốt là mô hình có cả Precision và Recall đều cao, tức càng gần 1 càng tốt

Dựa vào các giá trị Precision và Recall, chúng ta có thể đánh giá hiệu quả của mô hình phân loại Ví dụ, bảng theo dõi giá trị Precision và Recall của một lớp trong bài toán phân loại sẽ cung cấp cái nhìn rõ ràng về khả năng dự đoán chính xác và khả năng phát hiện các trường hợp dương tính của mô hình.

Hình 3.16 Bảng quan sát giá trị Precision và Recall

Ta có AP là diện tích phần phía dưới đường theo dõi trên Và thường được tính xấp xỉ bằng công thức:

Công thức trên tính diện tích phần phía dưới đường màu xanh như hình bên dưới:

Hình 3.17 Minh họa vùng mà AP tính toán

AP chỉ có thể đánh giá độ chính xác của mô hình phân loại cho một lớp duy nhất Đối với các bài toán phân lớp nhiều lớp, người ta tính trung bình giá trị AP của tất cả các lớp để đánh giá toàn bộ mô hình Giá trị trung bình này được gọi là mAP.

Chúng tôi thực hiện đánh giá dựa trên chỉ số Average Precision (AP) theo tiêu chuẩn COCO API Cụ thể, giá trị AP trung bình được tính cho 10 mức IoU từ 0.5 đến 0.95 với bước nhảy 0.05 Bên cạnh đó, chúng tôi cũng đánh giá độ chính xác tại các giá trị IoU xác định, bao gồm AP tại IoU = 0.5 và AP tại IoU = 0.75.

Kết quả

3.4.1.1 Kết quả mô hình D2Det với backbone ResNet50 kết hợp FPN

61 daylight 14.6 23.0 17.1 lowalt 43.7 59.6 53.6 birdview 11.1 17.8 12.0 daylight – lowalt – birdview 57.4 76.9 75.0

Bảng 3.2 Kết quả dự đoán của D2Det sử dụng backbone ResNet50 kết hợp FPN trên bộ dữ liệu UAVDT-benchmark-M

Mô hình D2Det sử dụng backbone ResNet50 kết hợp với FPN đã được huấn luyện trong khoảng 28 giờ Mô hình này đạt kết quả tốt trong các trường hợp ảnh có ba thuộc tính: daylight, low-alt, bird-view và tập low-alt Tuy nhiên, kết quả dự đoán của mô hình trên tập test và các trường hợp khác không đạt yêu cầu cao.

3.4.1.2 Kết quả mô hình D2Det với backbone ResNet101 kết hợp FPN

AP AP@0.5 AP@0.75 test 12.3 23.2 11.8 daylight 12.0 22.1 11.9 lowalt 21.4 35.4 24.3 birdview 12.6 24.3 12.0 daylight – lowalt – birdview 45.5 71.1 55.3

Bảng 3.3 Kết quả dự đoán của D2Det sử dụng backbone ResNet101 kết hợp FPN trên bộ dữ liệu UAVDT-benchmark-M

Mô hình D2Det, sử dụng backbone ResNet101 kết hợp với FPN, đã được huấn luyện trong khoảng 34 giờ và đạt kết quả tốt trong các trường hợp ảnh có ba thuộc tính: daylight, low-alt và bird-view Tuy nhiên, mô hình này không hiệu quả trong các trường hợp còn lại.

3.4.2 Hình ảnh minh họa test – ResNet50 test – ResNet101 daylight – ResNet50 daylight – ResNet101 lowalt – ResNet50 lowalt – ResNet101 birdview – ResNet50 birdview – ResNet50

63 daylight - lowalt - birdview – ResNet50 daylight - lowalt - birdview – ResNet101

Hình 3.18 Hình ảnh minh họa kết quả dự đoán của 2 mô hình

3.4.3 Đánh giá mô hình

Từ kết quả thực nghiệm cho thấy cả 2 mô hình D2Det với backbone ResNet

Mô hình D2Det sử dụng ResNet50 cho thấy hiệu quả tốt hơn với thời gian huấn luyện ngắn hơn so với ResNet101 trên bộ dữ liệu UAVDT-benchmark-M Tuy nhiên, trong trường hợp bird-view, ResNet101 lại đạt kết quả cao hơn Cả hai mô hình ResNet50 và ResNet101 kết hợp FPN đều không mang lại hiệu quả tối ưu cho bộ dữ liệu này.

Tập test UAVDT-Benchmark-M chứa đầy đủ các thuộc tính phức tạp, nhưng kết quả dự đoán của cả hai mô hình D2Det đều thấp Nguyên nhân chính là do mô hình được huấn luyện để nhận diện các đối tượng như xe hơi, xe tải và xe buýt, những phương tiện giao thông dễ bị nhầm lẫn trong không ảnh, dẫn đến việc nhiều đối tượng bị gán nhãn nhiều lần Thêm vào đó, các ảnh có góc quay quá cao làm cho các đối tượng trở nên rất nhỏ, cùng với các điều kiện phức tạp khác, đã ảnh hưởng đến độ chính xác của dự đoán.

Khi phân tích từng tình huống thực nghiệm (daylight, low-alt, bird-view), kết quả dự đoán của cả hai mô hình đều cho thấy hiệu suất thấp, ngoại trừ trường hợp low-alt với mô hình ResNet50 đạt AP = 43.7%, AP@0.5 = 59.6% và AP@0.75 = 53.6% Đặc biệt, kết quả ở tình huống low-alt tốt hơn so với daylight và bird-view, có thể do kích thước của đối tượng khi quay ở độ cao thấp lớn hơn, giúp dễ nhận diện hơn Trong tình huống daylight, các đối tượng được chụp vào ban ngày, dẫn đến sự ảnh hưởng của các yếu tố như màu sắc.

Hình dạng phương tiện dễ phân biệt hơn trong điều kiện thời tiết sương mù hoặc ban đêm, nhưng vẫn bị hạn chế bởi kích thước đối tượng ảnh hưởng từ độ cao của camera Trong tập bird-view, sự tương quan giữa các phương tiện như xe ô tô, xe tải, xe buýt và các đối tượng nền khi chụp từ trên xuống trong các điều kiện thời tiết khác nhau có thể gây nhầm lẫn hơn Mô hình cho kết quả tốt nhất với độ cao thấp cho thấy kích thước đối tượng ảnh hưởng nhiều đến hiệu quả của bài toán hơn các yếu tố khác Thực nghiệm với tập ảnh có cả ba đặc điểm daylight, low-alt, bird-view cho thấy đây là tập đạt kết quả tốt nhất, giúp cải thiện các hạn chế hiện có.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Ngày đăng: 08/03/2022, 21:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Cao, J., Cholakkal, H., Anwer, R. M., Khan, F. S., Pang, Y., & Shao, L. (2020). D2det: Towards high quality object detection and instance segmentation. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition (pp. 11485-11494) Sách, tạp chí
Tiêu đề: Proceedings of the IEEE/CVF conference on computer vision and pattern recognition
Tác giả: Cao, J., Cholakkal, H., Anwer, R. M., Khan, F. S., Pang, Y., & Shao, L
Năm: 2020
[2] Du, D., Qi, Y., Yu, H., Yang, Y., Duan, K., Li, G., ... & Tian, Q. (2018). The unmanned aerial vehicle benchmark: Object detection and tracking. In Proceedings of the European Conference on Computer Vision (ECCV) (pp.370-386) Sách, tạp chí
Tiêu đề: Proceedings of the European Conference on Computer Vision
Tác giả: Du, D., Qi, Y., Yu, H., Yang, Y., Duan, K., Li, G., ... & Tian, Q
Năm: 2018
[3] Razakarivony, S., & Jurie, F. (2016). Vehicle detection in aerial imagery: A small target detection benchmark. Journal of Visual Communication and Image Representation, 34, 187-203 Sách, tạp chí
Tiêu đề: Journal of Visual Communication and Image Representation
Tác giả: Razakarivony, S., & Jurie, F
Năm: 2016
[5] Ding, J., Zhu, Z., Xia, G. S., Bai, X., Belongie, S., Luo, J., ... & Zhang, L. (2018, August). Icpr2018 contest on object detection in aerial images (odai-18). In 2018 24th International Conference on Pattern Recognition (ICPR) (pp. 1-6).IEEE Sách, tạp chí
Tiêu đề: 2018 24th International Conference on Pattern Recognition
Tác giả: Ding, J., Zhu, Z., Xia, G. S., Bai, X., Belongie, S., Luo, J., ... & Zhang, L
Năm: 2018
[6] He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778) Sách, tạp chí
Tiêu đề: Proceedings of the IEEE conference on computer vision and pattern recognition
Tác giả: He, K., Zhang, X., Ren, S., & Sun, J
Năm: 2016
[7] Ren, S., He, K., Girshick, R., & Sun, J. (2016). Faster R-CNN: towards real- time object detection with region proposal networks. IEEE transactions on pattern analysis and machine intelligence, 39(6), 1137-1149 Sách, tạp chí
Tiêu đề: IEEE transactions on pattern analysis and machine intelligence, 39
Tác giả: Ren, S., He, K., Girshick, R., & Sun, J
Năm: 2016
[8] He, K., Gkioxari, G., Dollár, P., & Girshick, R. (2017). Mask r-cnn. In Proceedings of the IEEE international conference on computer vision (pp.2961-2969) Sách, tạp chí
Tiêu đề: Proceedings of the IEEE international conference on computer vision
Tác giả: He, K., Gkioxari, G., Dollár, P., & Girshick, R
Năm: 2017
[9] Dai, J., Qi, H., Xiong, Y., Li, Y., Zhang, G., Hu, H., & Wei, Y. (2017). Deformable convolutional networks. In Proceedings of the IEEE international conference on computer vision (pp. 764-773) Sách, tạp chí
Tiêu đề: Proceedings of the IEEE international conference on computer vision
Tác giả: Dai, J., Qi, H., Xiong, Y., Li, Y., Zhang, G., Hu, H., & Wei, Y
Năm: 2017
[10] Lin, T. Y., Dollár, P., Girshick, R., He, K., Hariharan, B., & Belongie, S. (2017). Feature pyramid networks for object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 2117-2125) Sách, tạp chí
Tiêu đề: Proceedings of the IEEE conference on computer vision and pattern recognition
Tác giả: Lin, T. Y., Dollár, P., Girshick, R., He, K., Hariharan, B., & Belongie, S
Năm: 2017
[4] Zhu, P., Wen, L., Du, D., Bian, X., Hu, Q., & Ling, H. (2020). Vision meets drones: Past, present and future. arXiv preprint arXiv:2001.06303 Khác

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w