1. Trang chủ
  2. » Luận Văn - Báo Cáo

final project football players detection using detr

50 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Quá trình này tương tự như huấn luyện các mô hình object detectionkhác.Kiểm tra mô hình: Sau khi huấn luyện xong, ta sẽ đánh giá mô hình bằng cáchchạy nó trên tập dữ liệu kiểm tra.Phát h

Trang 1

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

KHOA CÔNG NGHỆ THÔNG TIN

FINAL PROJECT

FOOTBALL PLAYERS DETECTION USING DETR

Người hướng dẫn: THẦY LÊ ANH CƯỜNGNgười thực hiện: MAI BẢO THẠCH-520H0490

VÕ THANH DANH-520H0211

Lớp: 20H50302Khoá: 24

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2022

Trang 2

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

KHOA CÔNG NGHỆ THÔNG TIN

FINAL PROJECT

FOOTBALL PLAYERS DETECTION USING DETR

Người hướng dẫn: THẦY LÊ ANH CƯỜNGNgười thực hiện: MAI BẢO THẠCH-520H0490

VÕ THANH DANH-520H0211

Lớp: 20H50302Khoá: 24

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2022

Trang 3

LỜI CẢM ƠN

Tôi muốn gửi lời cảm ơn đến thầy Lê Anh Cường đã hỗ trợ tôi trong suốt quátrình làm việc trên dự án image captioning này Các đóng góp, ý kiến và sự giúp đỡ củacác thành viên trong nhóm cũng như là thầy Anh Cường đã giúp tôi hiểu rõ hơn về bàitoán Football Players Detection và hoàn thiện mô hình của mình

Tôi cũng muốn gửi lời cảm ơn đến Khoa Công nghệ thông tin đã hết lòng giúpđỡ, cung cấp các thiết bị, bài giảng để chúng em hoàn thiện đề tài giữa kỳ

Xin chân thành cảm ơn.

TP Hồ Chí Minh, ngày tháng năm 2022Tác giả

(ký và ghi rõ họ tên)

i

Trang 4

BÁO CÁO ĐƯỢC HOÀN THÀNHTẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướngdẫn khoa học của Thầy Lê Anh Cường Các nội dung nghiên cứu, kết quả trong đề tàinày là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệutrong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giảthu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo.

Ngoài ra, trong bài báo cáo còn sử dụng một số nhận xét, đánh giá cũng như sốliệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồngốc

Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệmvề nội dung bài báo cáo của mình Trường Đại học Tôn Đức Thắng không liên quan

đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếucó).

TP Hồ Chí Minh, ngày tháng năm 2022Tác giả

(ký và ghi rõ họ tên)

ii

Trang 5

PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊNPhần xác nhận của giảng viên hướng dẫn

TP Hồ Chí Minh, ngày tháng năm (kí và ghi rõ họ tên)

Phần đánh giá của giảng viên chấm bài

TP Hồ Chí Minh, ngày tháng năm (kí và ghi rõ họ tên)

iii

Trang 6

TÓM TẮT

DETR (Detection Transformer) là một mô hình object detection sử dụng kiếntrúc transformer để dự đoán các vật thể trong ảnh Quá trình sử dụng DETR cho việcphát hiện cầu thủ bóng đá bao gồm các bước sau:

Chuẩn bị dữ liệu: Bộ dữ liệu phát hiện cầu thủ bóng đá phải được chuẩn bị vàgắn nhãn trước khi đưa vào huấn luyện mô hình DETR.

Huấn luyện mô hình: Sử dụng bộ dữ liệu đã được chuẩn bị, ta có thể huấn luyệnmô hình DETR Quá trình này tương tự như huấn luyện các mô hình object detectionkhác.

Kiểm tra mô hình: Sau khi huấn luyện xong, ta sẽ đánh giá mô hình bằng cáchchạy nó trên tập dữ liệu kiểm tra.

Phát hiện cầu thủ bóng đá: Sử dụng mô hình đã được huấn luyện, ta có thể dựđoán vị trí và kích thước của các cầu thủ bóng đá trong ảnh.

Tối ưu hóa kết quả: Cuối cùng, ta có thể tinh chỉnh kết quả bằng cách sử dụngcác thuật toán để loại bỏ các kết quả trùng lặp và giữ lại kết quả chính xác nhất.

iv

Trang 7

MỤC LỤC

LỜI CẢM ƠN i

BÁO CÁO ĐƯỢC HOÀN THÀNH ii

PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN iii

TÓM TẮT iv

MỤC LỤC v

CONTENT OF THE REPORT 1

Chương 1: Mô tả bài toán và hướng giải quyết bài toán 1

Chương 2: Các mô hình sử dụng trong bài 2

2.1 Giới thiệu Datasets: 2

2.2.7 Learned positional encoding: 8

2.2.8 Object detection head: 8

2.2.9 Direct set prediction 9

Trang 9

CONTENT OF THE REPORT

Chương 1: Mô tả bài toán và hướng giải quyết bài toán

Bài toán Football Players Detection là bài toán phát hiện và định vị các cầu thủbóng đá trong một trận đấu bóng đá Đây là một bài toán quan trọng trong lĩnh vực thểthao và có thể được ứng dụng để phân tích tình huống trên sân bóng, đánh giá kĩ năngcủa các cầu thủ và cải thiện chiến thuật đội bóng.

Để giải quyết bài toán này, ta có thể sử dụng mô hình DETR (DetectionTransformer), một mô hình object detection sử dụng kiến trúc transformer để dự đoáncác vật thể trong ảnh Mô hình này có thể được huấn luyện để phát hiện và định vị cáccầu thủ bóng đá trong ảnh.

Để sử dụng mô hình DETR cho bài toán Football Players Detection, ta cầnchuẩn bị một bộ dữ liệu phù hợp, chứa ảnh các trận đấu bóng đá và nhãn tương ứng vớicác vị trí của các cầu thủ bóng đá trong ảnh Sau đó, ta có thể huấn luyện mô hìnhDETR với bộ dữ liệu này để nó có thể dự đoán vị trí và kích thước của các cầu thủbóng đá trong ảnh.

Sau khi huấn luyện xong, ta có thể sử dụng mô hình để phát hiện và định vị cáccầu thủ bóng đá trong ảnh mới Để tối ưu hóa kết quả, ta có thể sử dụng các thuật toánpost-processing như non-maximum suppression để loại bỏ các kết quả trùng lặp và giữlại kết quả chính xác nhất.

Sử dụng mô hình DETR cho bài toán Football Players Detection có thể cải thiệnhiệu quả và độ chính xác của việc phát hiện các cầu thủ bóng đá trong ảnh, đồng thờigiúp cho việc phân tích trận đấu bóng đá và đánh giá kĩ năng của các cầu thủ trở nên dễdàng hơn.

1

Trang 10

Chương 2: Các mô hình sử dụng trong bài2.1 Giới thiệu Datasets:

Dataset chúng em sử dụng có nguồn từ Roboflow Dataset này bao gồm tổng1cộng là 663 tấm hình về các trận đấu bóng đá chụp từ góc camera cao Trong đó có 612tấm hình thuộc Training Set, 38 tấm hình thuộc Validation Set và 13 tấm hình TestingSet

Dataset này có 4 versions, chúng em chọn version số 1 để áp dụng vào ModelDETR Để có thể sử dụng, chúng em sẽ import thư viện Roboflow, sau đó tải Datasetvề.

2.2 DETR model:

2.2.1 Tổng quát DETR model:

DETR là viết tắt của "DEtection TRansformer", là một mô hình máy học sửdụng kiến trúc Transformer để giải quyết bài toán phát hiện đối tượng trong ảnh Mô1 https://universe.roboflow.com/roboflow-jvuqo/football-players-detection-3zvbc

2

Trang 11

hình DETR giải quyết bài toán phát hiện đối tượng một cách đồng thời, bằng cách đưavào ảnh đầu vào và tạo ra đầu ra dưới dạng danh sách các đối tượng được phát hiện vàvị trí của chúng.

So với các phương pháp truyền thống cho bài toán phát hiện đối tượng, như CNN hoặc YOLO, DETR không sử dụng các giai đoạn tiền xử lý khác nhau và cũngkhông sử dụng các khu vực đề xuất (region proposals) hay các mạng tích chập(Convolutional Neural Networks - CNNs) để phát hiện đối tượng Thay vào đó, DETRsử dụng một mô hình Transformer để xử lý toàn bộ ảnh đầu vào và tạo ra các dự đoántrên toàn bộ ảnh, đồng thời phân biệt giữa các đối tượng và nền Điều này giúp DETRtiết kiệm được nhiều thời gian và tối ưu hóa quá trình phát hiện đối tượng.

R-Mô hình DETR bao gồm ba thành phần chính: Encoder, Decoder và Object DetectionHead.

Encoder: Encoder có trách nhiệm trích xuất đặc trưng từ ảnh đầu vào Thông

thường nó bao gồm một mạng nơ-ron tích chập (CNN) chuyển đổi giá trị pixel thôthành một tập hợp các bản đồ đặc trưng cấp cao.

Decoder: Decoder là một mạng dựa trên transformer xử lý đầu ra của Encoder

và tạo ra một tập hợp các truy vấn đối tượng, được sử dụng để quan sát các phần khácnhau của các bản đồ đặc trưng Decoder có thể được coi là một mô hình ngôn ngữ tạora một chuỗi các truy vấn đối tượng.

Object Detection Head: Object Detection Head nhận đầu ra của Decoder và

thực hiện các nhiệm vụ phân loại và suy luận cuối cùng Nó bao gồm một mạng nơ-rontruyền thẳng nhận các vector đặc trưng từ Decoder cùng với các truy vấn đối tượng vàtạo ra các đầu ra phát hiện cuối cùng.

Nhìn chung, mô hình DETR khác biệt trong việc thay thế các bước đề xuất vùngvà RoI pooling truyền thống được sử dụng trong các phương pháp phát hiện đối tượngtrước đó bằng một mô hình đào tạo từ đầu đến cuối Điều này đơn giản hóa quá trình

3

Trang 12

đào tạo và cho phép tốt hơn trong việc tổng quát hóa cho các lớp đối tượng khác nhauvà các kích thước ảnh khác nhau.

2.2.2 Pineline:

Giả sử hình ảnh đầu vào có kích thước là 3 x 800 x 960 (C x H x W) và mạngnền là ResNet50 Sau bước này, DETR sẽ tạo ra một tensor có kích thước là 2048 x 25x 30 Kích thước feature map kết quả được giảm đi 32 lần so với kích thước ban đầucủa ảnh vì mạng nền có năm lớp max-pooling Sau đó, DETR sử dụng một convolution1 x 1 để giảm chiều của feature từ 2048 xuống 256 Vì vậy, mỗi vị trí trong feature mapcó một vector gồm 256 giá trị Trong phần tiếp theo, tôi sẽ gọi số lượng phần tử trongmột vector feature là d_embed.

DETR làm phẳng feature map H x W thành HW vector feature và thêm các mãhóa vị trí cho mỗi vector feature Vì Transformer encoder không có tính chất biến đổihoán vị và không có cấu trúc tích hợp để xử lý thông tin vị trí, chúng ta phải bổ sungmã hóa vị trí cho mỗi vector feature (chi tiết hơn sẽ được giải thích ở phần tiếp theo).

Sau đó, DETR truyền các vector embedding đầu vào vào bộ mã hóa giải mã củaTransformer, từ đó tạo ra các vector embedding đầu ra Cuối cùng, DETR đưa mỗivector embedding đầu ra vào FFN phân loại và FFN hộp giới hạn để tạo ra các dự đoáncuối cùng.

Do đó, như bạn có thể thấy, DETR không có anchors hoặc NMS, khác vớiYOLO và Faster R-CNN, và pipeline khá đơn giản Tuy nhiên, tôi giải thích ở đây làmột cái nhìn tổng quan, bỏ qua các chi tiết như DETR thực hiện mã hóa vị trí 2D nhưthế nào, điều này sẽ được thảo luận ở phần tiếp theo.

2.2.3 2D Positional Encoding:

Trong mô hình DETR transformer, mã hóa vị trí 2D được sử dụng để tích hợpthông tin không gian vào các embedding đặc trưng Điều này là do mạng transformerkhông có cấu trúc tích hợp để xử lý thông tin không gian.

4

Trang 32

Mã này khởi tạo một thể hiện của lớp Detr với các siêu tham số lr, lr_backbone,và weight_decay được truyền vào Sau đó, nó lấy một lô dữ liệu từTRAIN_DATALOADER bằng cách sử dụng next(iter( )) và đưa nó vào mô hình đểtính toán đầu ra Đầu ra chứa các thông tin về phát hiện đối tượng, được sắp xếp dướidạng tensor và được trả về dưới dạng đối tượng Outputs

Trong code này, một đối tượng model được khởi tạo bằng cách gọi lớp Detr vớiba tham số:

lr: learning rate (tỷ lệ học) cho bộ tối ưu hóa AdamW được sử dụng để tốiưu hóa mô hình.

lr_backbone: learning rate cho phần backbone của mô hình (vì có thểmuốn giảm tốc độ học cho các phần được huấn luyện trước đó).

weight_decay: hệ số suy giảm trọng lượng (hay còn gọi là regularization)được sử dụng trong quá trình tối ưu hóa mô hình.

Sau đó, một đối tượng batch được lấy từ tập dữ liệu huấn luyện (được đưa vàoqua TRAIN_DATALOADER) bằng cách gọi hàm next(iter(TRAIN_DATALOADER)).Đây là một batch dữ liệu, bao gồm các tensor có kích thước và kiểu tương tự nhau, baogồm các giá trị pixel của hình ảnh (được đưa vào qua pixel_values) và mặt nạ của cácpixel không bị trống (được đưa vào qua pixel_mask).

Cuối cùng, đầu vào của batch này được đưa vào mô hình bằng cách gọimodel(pixel_values=batch['pixel_values'], pixel_mask=batch['pixel_mask']) Mô hìnhtrả về một đối tượng outputs mà có thể được sử dụng để tính toán giá trị của hàm mấtmát hoặc đánh giá kết quả.

24

Trang 33

3.3 Training Model:

Code thiết đặt một số cài đặt huấn luyện, bao gồm số lượng tối đa các epoch đểhuấn luyện (MAX_EPOCHS), số lượng thiết bị (GPU) để sử dụng (devices=1), kiểuaccelerator để sử dụng (accelerator="gpu"), giá trị cực đại của gradient để cắt(gradient_clip_val=0.1), số lượng batch để tích lũy gradient trước khi cập nhật trọng số(accumulate_grad_batches=8), và tần suất ghi lại tiến trình huấn luyện(log_every_n_steps=5)

25

Trang 34

3.4 Tạo các box bao quanh vật thể:

Đường dẫn ảnh được chỉ định và được tải lên bằng thư viện Image của PIL Sau đó,ảnh được chuyển đổi thành một mảng NumPy để tiếp tục xử lý.

26

Trang 35

Biến categories được thiết lập cho các loại đối tượng của bộ dữ liệu, id2label là một từđiển ánh xạ các ID loại đối tượng đến nhãn tương ứng của chúng, và box_annotator là mộtphiên bản của lớp tiện ích BoxAnnotator.

Các chú thích cho ảnh đã tải được lấy bằng cách sử dụng phương thức imgToAnns củabộ dữ liệu COCO.

Ảnh được đọc lại bằng phương thức cv2.imread của OpenCV.

Đoạn mã thực hiện suy luận bằng cách sử dụng một mô hình được huấn luyện trước.Ảnh đã tải được tiền xử lý và đưa vào đầu vào của mô hình Đầu ra kết quả được xử lý saubằng phương thức post_process_object_detection, loại bỏ các phát hiện có độ tin cậy thấp vàáp dụng phương pháp non-maximum suppression (NMS) để loại bỏ các hộp chồng chéo Kếtquả được lưu trong biến results Phương pháp này hoạt động bằng cách chọn ra phát hiện cóđộ tin cậy cao nhất cho mỗi đối tượng và loại bỏ các phát hiện khác có độ tin cậy thấp hơn vàtrùng với phát hiện cao nhất Việc loại bỏ các phát hiện trùng lắp này giúp giảm thiểu số lượngphát hiện giả, tăng độ chính xác và hiệu suất của hệ thống phát hiện đối tượng.

Lớp sv.Detections được sử dụng để định dạng các phát hiện thành một định dạngchuẩn Phương thức with_nms áp dụng NMS cho các phát hiện và đặt một ngưỡng tối thiểucho điểm tin cậy.

Biến labels được tạo bằng cách nối các nhãn được dự đoán cho mỗi phát hiện bằngcách sử dụng từ điển id2label.

Bước cuối cùng là chú thích ảnh bằng các hộp giới hạn và nhãn của các đối tượng pháthiện được sử dụng phương thức box_annotator.annotate Ảnh kết quả được hiển thị bằngphương thức sv.show_frame_in_notebook.

Chương 4: Kết quả4.1 Phương pháp đánh giá Models:

4.1.1 IoU (Intersection over Union):

IoU (Intersection over Union) là một phép đo độ chính xác của các mô hìnhphân đoạn và phát hiện đối tượng trong Computer Vision IoU đo độ chồng lấp giữa dựđoán của mô hình và thực tế trong hình ảnh Nó được tính bằng cách chia diện tích

27

Trang 36

phần chung giữa dự đoán và thực tế cho diện tích phần tổng của hai vùng đó IoUthường được sử dụng để đánh giá chất lượng các phân đoạn và phát hiện đối tượng, vàlà một trong những metric phổ biến trong lĩnh vực Computer Vision.

IoU có giá trị trong khoảng từ 0 đến 1, với giá trị càng gần 1 thì độ chính xáccủa việc phát hiện đối tượng càng cao Tuy nhiên, giá trị IoU tốt phụ thuộc vào loại vậtthể cần phát hiện, cụ thể là kích thước, hình dáng và độ khó của đối tượng Với một sốloại đối tượng như người, ô tô, xe đạp thì IoU tốt phải cao hơn, ít nhất là 0.5 đến 0.7.Nhưng với các đối tượng nhỏ hơn, như chó mèo, IoU có thể thấp hơn một chút Tuynhiên, cần lưu ý rằng chỉ có thể so sánh giá trị IoU giữa các phương pháp phát hiện đốitượng khác nhau khi chúng được đánh giá trên cùng một tập dữ liệu và cùng một tiêuchí.

4.1.2 Average Precision:

Average Precision (AP) là một chỉ số đánh giá độ chính xác của mô hình objectdetection Chỉ số này tính toán độ chính xác của mô hình trong việc dự đoán vị trí vàđộ chắc chắn của các đối tượng được phát hiện trong bức ảnh.

Trong bài toán football players detection, mô hình DETR có thể được sử dụngđể phát hiện và phân loại cầu thủ trong bức ảnh Khi thực hiện đánh giá với các bứcảnh kiểm tra, một số đối tượng cầu thủ sẽ được phát hiện và định vị trên ảnh Tuynhiên, không phải tất cả các dự đoán này đều chính xác, do đó cần có một chỉ số đánhgiá để xác định độ chính xác của mô hình.

Trong trường hợp này, AP được sử dụng để đánh giá độ chính xác của mô hìnhDETR trong việc phát hiện cầu thủ trong bức ảnh AP tính toán tổng trung bình diệntích phủ lên các đối tượng (cầu thủ) với giá trị ngưỡng IoU được chọn, sau đó tính toándiện tích dưới đường cong Precision-Recall từ các kết quả dự đoán đó Giá trị AP càngcao thì mô hình phát hiện và định vị đối tượng càng tốt.

28

Ngày đăng: 07/05/2024, 18:24

Xem thêm:

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

TÀI LIỆU LIÊN QUAN

w