Bài toán gi i quy t ả ếNgày nay, nh n dậ ạng và theo dõi đối tượng đang là một lĩnh vực mang tính ứng dụng cao và đang phát triển m nh hi n nay.. Giai đoạn 1, chúng em sẽ sử dụng mô hình
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
- □□&□□
BÁO CÁO TRÍ TU NHÂN T O VÀ NG D NG Ệ Ạ Ứ Ụ
TRONG PHÂN TÍCH TRẬN ĐẤU BÓNG ĐÁ
Sinh viên th c hi n ự ệ :
Giáp Thành Trung 20200639 Nguy n Tr ng Tu n ễ ọ ấ 20203892
Trang 2MỤC L C Ụ
1.1.BÀI TOÁN GIẢI QUYẾT 3
3.2.ÁP D NG B L C MÀU Ụ Ộ Ọ HSV 9
3.4.HIỂN THỊ K T QU Ế Ả 11
Trang 3M ĐU
Deep Learning là định nghĩa thuộc v mề ột ph n các thu t toán trong Machine ầ ậ Learning (máy h c) vọ ới đặc thù mang độ ph c tứ ạp cao hơn Vớ ựi s bùng n v dổ ề ữ liệu lớn như hiệ ạn t i, m t mô hình h c sâu có th giúp chúng ta phát hiộ ọ ể ện được các tri th c ti m n c a d li u Hi n nay, các ng dứ ề ẩ ủ ữ ệ ệ ứ ụng liên quan đến m ng h c sâu ạ ọ ngày càng nhi u, có th k ề ể ể đến như: Tính năng dịch real-time của Google Translate, Trợ lý ảo, Mô ph ng và nh n diỏ ậ ện hình nh, ng d ng xe t ả Ứ ụ ự động,…
Trong báo cáo bài t p l n môn h c này chúng em l a ch n xây d ng m t h th ng ậ ớ ọ ự ọ ự ộ ệ ố theo dõi và phân tích d li u trong m t tr n ữ ệ ộ ậ đấu bóng đá Nội dung của đề tài s cung ẽ cấp những kiến th c v vi c áp d ng mô hình nh n d ng và theo dõi ứ ề ệ ụ ậ ạ đối tượng trong việc phân tích m t tr n ộ ậ đấu bóng đá
Trang 41 GI I THI U BÀI TOÁN Ớ Ệ
1.1 Bài toán gi i quy t ả ế
Ngày nay, nh n dậ ạng và theo dõi đối tượng đang là một lĩnh vực mang tính ứng dụng cao và đang phát triển m nh hi n nay Nh vào s phát tri n m nh m c a ạ ệ ờ ự ể ạ ẽ ủ phần cứng, các mô hình mới đang được phát triển r t nhanh chóng Các mô hình ấ không chỉ được phát tri n nhanh chóng mà vi c ng dể ệ ứ ụng cũng đang được đưa vào nhiều khía cạnh trong cu c s ng Tuy nhiên, ộ ố ứng dụng trong lĩnh vực th thao c th ể ụ ể
là bóng đá thì còn hạn ch Trong h c ph n Trí tu nhân t o và ế ọ ầ ệ ạ Ứng d ng này, chúng ụ
em s tìm hi u và xây d ng m t h th ng theo dõi và phân tích trong m t trẽ ể ự ộ ệ ố ộ ận đấu bóng đá thông qua video tại một góc camera t i sân s d ng mô hình nh n dạ ử ụ ậ ạng đối tượng YOLOv5 và thuật toán theo dõi đối tượng ByteTrack
1.2 Phương pháp sử dụng
Hệ th ng c a chúng em ố ủ được chia làm ba giai đoạn bao g m nh n d ng ồ ậ ạ – theo dõi, phân lo i cạ ầu th ủ hai đội cùng tr ng tài và cu i cùng là tính toán t l ki m soát ọ ố ỉ ệ ể bóng Giai đoạn 1, chúng em sẽ sử dụng mô hình YOLOv5 kết hợp cùng thuật toán ByteTrack để nh n dậ ạng các đối tượng trong trận đấu và gán ID theo dõi cho chúng Giai đoạn 2, một bộ lọc màu HSV được sử dụng để phân loại cầu thủ giữa hai đội
và tr ng tài Cu i cùng, chúng em s tính toán t l ki m soát bóng c a hai ọ ố ẽ ỉ ệ ể ủ đội
1.3 T p d li u ậ ữ ệ
Ngu n d liồ ữ ệu chính được chúng em s dử ụng để hu n luyấ ện được trích l y ra ấ
từ video c a camera củ ủa 8 trận đấu tại giải đấu Bundesliga T các video, chúng em ừ lấy ra các khung hình để huấn luy n T ng cệ ổ ộng có 2.800 khung hình có kích thước 1280x720 được chúng em thu thập theo cách trên Sau đó chúng em ti n hành gãn ế nhãn th công s d ng ph n mủ ử ụ ầ ềm lưu trữ, chia s và gán nhãn d li u Roboflow ẻ ữ ệ
Hình 1 Các đối tượng được đánh nhãn bao gồm bóng, th môn, c u th , tr ng tàiủ ầ ủ ọ
Trang 5Chú thích và hình ảnh ví d ụ được hi n th t i hình 1 Có t ng cể ị ạ ổ ộng 4 đối tượng trong
bộ d li u c a chúng em bao g m qu bóng, th môn, c u th và tr ng tài Bên c nh ữ ệ ủ ồ ả ủ ầ ủ ọ ạ
đó chúng em còn sử dụng 30 ảnh nền để giảm thiểu những trường hợp FP Dữ liệu chính c a chúng em ủ được chia thành hai t p là t p hu n luy n và t p th nghi m ậ ậ ấ ệ ậ ử ệ theo t l x p s 8:2 v i 2182 nh cho hu n luy n và 618 nh cho th nghi m S ỉ ệ ấ ỉ ớ ả ấ ệ ả ử ệ ự phân b c a d liố ủ ữ ệu và kích thướ đối tượng được c th hi n hình 2 ể ệ ở
Từ biểu đồ phân b c a hình 2 có th thố ủ ể ấy đối tượng cầu th có s ủ ố lượng trường h p ợ nhiều hơn hoàn toàn so với ba đối tượng còn lại Còn ba đối tượng còn lại có số trường hợp tương đối ngang nhau
Hình 2 Phân b gi a các lố ữ ớp đối tượng và kích thước
Trang 62 MÔ HÌNH
2.1 L a ch n mô hình ự ọ
Lý do chúng em chọn mô hình YOLOv5 cho đề tài này do: đây là m ng tiên ti n ạ ế trong lĩnh vực phát hiện đối tượng nhanh; ki n trúc nhế ẹ, điều này cho phép chúng em hu n ấ luyện mô hình b ng cách s dằ ử ụng các tài nguyên tính toán nh và chi phí th p Hình 3 cho ỏ ấ thấy kh ả năng vượt tr i cộ ủa mô hình YOLOv5 so với các mô hình khác
Vì bài toán có yêu c u tính toán phầ ần trăm kiểm soát bóng vì v y chúng em quan ậ
Đây là mô hình YOLOv5 bản lớn nhất và mang lại kết quả tốt nhất so với các phiên bản khác
2.2 Hu n luy n mô hình ấ ệ
Với d li u là các hình ữ ệ ảnh có độ phân gi i 1280x720, n u hu n luy n mô ả ế ấ ệ hình với kích thước đầu vào mặc định là 640x640 s khiẽ ến cho đối tượng qu bóng ả trở nên quá nh ỏ để nhận d ng khi n k t qu không t t Vì v y chúng em ạ ế ế ả ố ậ đã thay đổi lại kích thước của ảnh đầu vào thành 1280x1280 khi huấn luyện Bên cạnh đó để làm gi m vả ấn đề overfitting c a mô hình, chúng em ủ cũng thay đổi các siêu tham s ố (hyper-parameter) Các hyper-parameter thay đổi bao g m: ồ lrf ỉ ệ ữ (t l gi a learning
Hình 3 So sánh gi a các phiên b n c a mô hình YOLOv5ữ ả ủ
Trang 7rate đầu và learning rate cuối), obj (hệ số tỉ lệ giữa kích thước ảnh và giá trị hàm
mất mát objectness), weight_decay (trọng số tiêu bi n) ế
Để đánh giá mô hình chúng em sử dụng 4 phương pháp đánh giá thông dụng trong nh n dậ ạng đối tượng: Precision, Recall, mAP và F1-Score Như đã nói ở trên,
chúng em quan tâm đế độn chính xác hơn vì v y chúng ậ em cũng có điều ch nh m t ỉ ộ chút hàm fitness dùng để tìm ra bộ tr ng s t t nh t v i t lọ ố ố ấ ớ ỉ ệ Precision: 0.3, Recall: 0.0, mAP_0.5: 0.1, mAP_0.5-0.95: 0.6
Chúng em chọn phương pháp học chuyển giao để hu n luy n mô hình H c ấ ệ ọ chuyển giao là k thu t phỹ ậ ổ bi n trong th giác máy tính b ng cách s d ng mế ị ằ ử ụ ột mô hình hu n luyấ ện trước Vì các mô hình YOLOv5 đều đã được hu n luyấ ện trướ ừc t tập d li u COCO có bao gữ ệ ồm đối tượng người và bóng, nên vi c áp d ng h c ệ ụ ọ chuyển giao sẽ giúp đẩy nhanh quá trình hu n luyấ ện và giữ cho mức độ ổng quát t hóa m c cao ở ứ
M t vài tham s hu n luyộ ố ấ ện khác được sử dụng : epoch 300, batch size -1 (tự động tính batch size), cache ram(lưu dữ ệ li u cache vào ram)
Chúng em s dử ụng môi trường Google Colab Pro để huấn luyện mô hình với CUDA 11.8 T t c các l n hu n luy n ph n lấ ả ầ ấ ệ ầ ớn được th c hi n trên card màn hình ự ệ GPU Tesla T4 16GB, m t s ít trên NVIDIA A100 40GB v i 25GB RAM Th i ộ ố ớ ờ gian hu n luy n cho m t l n (300 epochs) trên Tesla T4 là 55 ti ng và trên A100 là ấ ệ ộ ầ ế hơn 27 tiếng
Trang 82.3 K t qu ế ả
Sau khi hu n luy n mô hình, k t qu cho thấ ệ ế ả ấy độ chính xác trung bình là 93.5% Đối tượng quả bóng đạt độ chính xác th p nh t vấ ấ ới 79% do đây là đối tượng
có s ố lượng d li u ít nhất và có kích thước tương đối nhỏ hơn so với các đối tượng ữ ệ
khác K t qu ế ả ở hình 4 cho thấy đối tượng th ủ môn được phân lo i t t nh t tuy không ạ ố ấ phải đối tượng có nhi u d li u nh t ề ữ ệ ấ
Hình 4 Ma tr n confusion gi a các lậ ữ ớp đối tượng trên t p th nghiậ ử ệm
Trang 9Các k t qu khác bao g m giá tr 3 hàm loss, mAP_0.5, mAP_0.5-0.95, ế ả ồ ị Precision, Recal, F1-Score được th hi n ể ệ ở hình 5 và hình 6
Hình 5 Biểu đồ ề 3 hàm loss và các đại lượng đánh giá v
Trang 10Hình 7 cho th y k t qu ấ ế ả khi mang mô hình đi nhận d ng video thạ ực t cho thế ấy mô hình nh n dậ ạng các đối tượng với độ chính xác và t tin cao Tuy nhiên v n có nh ng ự ẫ ữ trường h p mô hình nhận diện nhầm lẫn trọng tài thành cầu thủ ợ
3 THI T K H TH NG Ế Ế Ệ Ố
Toàn b các bộ ước x lý dử ướ đi ây được b n em th c hi n trên môi trọ ự ệ ường Google
3.1 Theo dõi đối tượng
Sau khi đã có được mô hình với kết quả tốt, chúng em tiếp tục tiến hành sử dụng thuật toán theo dõi ByteTrack cho tác v ụ theo dõi Đây là thuật toán có tốc độ nhanh và đã từng đạt đến SOTA (State of the art) trong lĩnh vực theo dõi đối tượng Với mỗi khung
gồm: hộp gi i hớ ạn đối tượng (bounding box) có 4 giá tr là tị ọa x,y cđộ ủa nh trái trên và đỉ phải dưới, chỉ số lớp, mức độ tự tin và tên của lớp Từ các giá trị này chúng em đưa qua thuật toán ByteTrack để ạo ID theo dõi cho đối tượ t ng Từ đó với các khung hình ti p theo ế các đối tượng v i ID sớ ẽ được theo dõi tạo lên s liên k t gi a các khung hình trong video ự ế ữ
3.2 Áp d ng b l c màu HSV ụ ộ ọ
Chúng em s s d ng m t b lẽ ử ụ ộ ộ ọc màu HSV để phân loại các c u th giầ ủ ữa hai đội và
cả tr ng tài Vi c này không ch giúp tách biọ ệ ỉ ệt cầu thủ hai độ ới v i nhau và còn giải quyết được vấn đề nhầm l n gi a tr ng tài và c u th ẫ ữ ọ ầ ủ đã được nêu ở trên Để áp d ng b l c màu ụ ộ ọ HSV, các đối tượng người bao gồm thủ môn, cầu thủ, trọng tài sẽ được chúng em xử lý theo các bước sau:
1 C ắt và l y ấ ảnh các đối tượng trong khung hình
2 C ắt nửa trên của từng đối tượng
Hình 7 K t qu mô hình nh n d ng trong m t trế ả ậ ạ ộ ận đấu tr c tiự ếp
Trang 113 Chuyển nh v ả ề định d ng HSV và áp d ng b lạ ụ ộ ọc theo ngưỡng màu
4 Tính số lượng điể ảnh khác màu đenm
5 Ngưỡng màu nào có s ố lượng điểm ảnh khác màu đen nhiều nh t s i di n cho ấ ẽ đạ ệ màu tương ứ ng v i mớ ột trong hai đội ho c tr ng tài ặ ọ
Chúng em s s d ng nh ng ID theo dõi tẽ ử ụ ữ ừ bước trướ ại đây Bằc t ng cách s d ng quán ử ụ tình (inertia) t vi c theo dõi ID c a các ừ ệ ủ đố ượi t ng, các c u th c a tầ ủ ủ ừng đội không ch ỉ được xác đ nh trong khung hình hiện tại mà còn từ khung hình trước đó Việc này giúp n ị ổ định bộ lọc màu hơn
3.3 Tính toán t l ki m soát bóng ỉ ệ ể
Sau khi đã phân loại được hết các đối tượng, chúng em sẽ tính toán tỉ lệ kiểm soát bóng giữa hai đội Để tính được giá tr này, chúng em s ị ẽ xác định c u th ầ ủ nào đang có bóng dựa trên kho ng cách g n nh t v i bóngả ầ ấ ớ , sau đó xác định độ ủi c a c u thầ ủ đó Từ đó tính toán thời gian hai đội kiểm soát bóng và đưa ra tỉ ệ l Tuy nhiên trong các tình hu ng tranh ố chấp ho c bóng chặ ỉ vụt qua m t c u th thì cách tính tộ ầ ủ ỉ l trên s khó chính xác Vì v y ệ ẽ ậ ở bước này chúng em tiếp tục áp dụng inertia vào cách tính t lệ kiểm soát bóng Cụ thể, ỉ chúng em xem xét trường hợp một đội cần có ít nhất một lượng khung hình nhất định mà cầu th ủ đội đó có bóng thì đội đó mới được coi là đã có quyền kiểm soát bóng Vi c này s ệ ẽ được xem xét lại m i lỗ ần độ ủa cầu th có bóng b i c ủ ịthay đổ ất ngờ i b
Trang 123.4 Hi n th k t qu ể ị ế ả
Để hi n th k t qu d hi u, d nhìn ể ị ế ả ễ ể ễ hơn, chúng em có v thêm các chú thích Các ẽ chú thích giúp xác định: cầu thủ hai đội, trọng tài, bóng, cầu thủ có bóng và một bảng tỉ lệ kiểm soát bóng K t qu cế ả ủa toàn bộ quá trình trên được thể hi n ệ ở hình 8
Trong hình 8, các c u thầ ủ đội Manchester United (MUN) m c ặ áo màu đỏ được chú thích vòng màu xanh, c u thầ ủ đội Sevilla (SEV) m c áo màu trặ ắng được chú thình vòng màu cam và trọng tài áo màu đen được chú thích b ng vòng màu vàng Qu ằ ả bóng được xác định bằng mũi tên màu xanh còn c u th ầ ủ đang có bóng được xác định bằng mũi tên màu đỏ trên
đầu Bảng t lệ ỉ được để phía phải trên giúp theo dõi d dàng ễ
PHN KẾT LUẬN
Qua h c phọ ần “Trí tu nhân t o và ng dệ ạ Ứ ụng” chúng em đã tìm hiểu được các mô hình mạng học sâu, cấu trúc của các mạng học sâu phổ biến trong lĩnh vực thị giác máy tính trong bài toán nhận dạng đối tượng Trong quá trình thực hiện đề tài chúng
em còn có những sai sót, cảm ơn thầy và các bạn đã giúp đỡ chỉ ra sai sót để chúng
em rút kinh nghiệm và cải tiến trong các học phần sắp tới Nhóm chúng em xin cám
ơn
Hình 8 K t qu hi n th cu i cùngế ả ể ị ố
Trang 13TÀI LI U THAM KH O Ệ Ả
https://github.com/ultralytics/yolov5 [1]
Zhang, Yifu, et al "Bytetrack: Multi-object tracking by associating every detection
box." European Conference on Computer Vision Cham: Springer Nature
https://medium.com/neurosapiens/segmentation-and-classification-with-hsv-8f2406c62b39 [3]
http://karpathy.github.io/2019/04/25/recipe/ [4]