Sự phát triển của hệ thống camera giám sát trong các thànhphố lớn đã mang lại một nhiều thuận lợi cho việc xây dựng một hệ thống theo dõi đốitượng thông qua áp dụng bài toán tái định dan
Trang 1ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA—————————————
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠITRƯỜNG ĐẠI HỌC BÁCH KHOA–ĐHQG-HCMCán bộ hướng dẫn khoa học: TS Lê Thành Sách
Cán bộ chấm nhận xét 1: PGS.TS Lê Hoàng TháiCán bộ chấm nhận xét 2: PGS.TS Nguyễn Văn SinhLuận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa,ĐHQG TP.HCM ngày 12 tháng 06 năm 2024
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:1 Chủ tịch: PGS.TS Thoại Nam
2 Thư ký: TS Nguyễn Quang Hùng3 Phản biện 1: PGS.TS Lê Hoàng Thái4 Phản biện 2: PGS.TS Nguyễn Văn Sinh5 Ủy viên: TS Lê Thành Sách
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoaquản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếucó).
VÀ KỸ THUẬT MÁY TÍNH
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
—————————–
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự Do - Hạnh Phúc—————————–
NHIỆM VỤ LUẬN VĂN THẠC SĨHọ và tên học viên: Lê Thanh Tùng
Ngày, tháng, năm sinh: 01/01/1997Chuyên ngành: Khoa học Máy Tính
MSHV: 2170585Nơi sinh: Bình ThuậnMã số: 8480101
I TÊN ĐỀ TÀI:
Phát triển kỹ thuật tìm kiếm đối tượng cho camera quan sátDevelop techniques for searching objects from surveillance camera
II NHIỆM VỤ VÀ NỘI DUNG:
• Tìm hiểu bài toán tìm kiếm đối tượng dựa trên nội dung ảnh.• Đề xuất và thực hiện cải tiến mô hình LightMBN bằng các phương pháp
khác nhau nhằm nâng cao hiệu quả tìm kiếm đối tượng trong hệ thốngcamera giám sát
• Đánh giá hiệu quả của mô hình đề xuất với những công trình nghiên cứuliên quan trong thời gian gần đây
III NGÀY GIAO NHIỆM VỤ: 15/01/2024IV NGÀY HOÀN THÀNH NHIỆM VỤ: 20/05/2024
Trang 4Lời cảm ơn
Em muốn bày tỏ lòng biết ơn sâu sắc đến Tiến sĩ Lê Thành Sách, người đã hướng dẫnvà hỗ trợ em suốt quá trình nghiên cứu cho luận văn thạc sĩ này Những chỉ dẫn và lờikhuyên của Thầy đã giúp em đi đúng hướng, nhận biết và khắc phục những khuyết điểmtrong quá trình làm việc Nhờ sự hướng dẫn của Thầy, em đã tiếp cận với các phươngpháp nghiên cứu khác nhau và cải thiện từng bước để đạt được kết quả tốt nhất
Ngoài ra, em cũng muốn bày tỏ lòng biết ơn đến gia đình và bạn bè đã luôn độngviên và ủng hộ em trong suốt thời gian làm việc và học tập
Cuối cùng, em muốn gửi lời cảm ơn đến toàn thể thầy cô và nhân viên trong khoaKhoa học và Kỹ Thuật Máy Tính đã hỗ trợ và chia sẻ kiến thức với em Những kiến thứcnày không chỉ giúp em hoàn thành luận văn mà còn là nền tảng quan trọng giúp em pháttriển trong tương lai
Em nhận thức rằng luận văn có thể không tránh khỏi những hạn chế và thiếu sót, vàem mong muốn nhận được sự đóng góp và phản hồi xây dựng từ các thầy cô, hội đồngvà độc giả để nâng cao chất lượng của đề tài và áp dụng nó vào thực tiễn một cách hiệuquả
TP Hồ Chí Minh, tháng 06 năm 2024
Lê Thanh Tùng
Trang 5Tóm tắt
Tìm kiếm đối tượng cho camera quan sát (Tái định danh đối tượng - ReID) là một bàitoán đầy thử thách nhằm truy xuất tất cả các hình ảnh khớp với hình ảnh truy vấn trongmột hệ thống nhiều camera quan sát Trong đó, vấn đề cốt lõi đến từ những thay đổi đángkể của góc nhìn camera, điều kiện môi trường và bản thân vật thể Luận văn tập trung vàoviệc cải tiến công trình LightMBN, đã được công bố trước đó, bằng nhiều phương phápkhác nhau như bổ sung thông tin vùng phân đoạn cơ thể người (Human Segment), thôngtin về thuộc tính người (Human Attribute), thông tin về ảnh khung xương người (HumanSkeleton), cũng như tìm cách đưa khối Multi-head Self Attention (MSA) vào mô hìnhLightMBN, với kỳ vọng cuối cùng là đạt độ chính xác cao tương đương các công trìnhgần đây nhưng có tốc độ thực thi nhanh hơn nhiều lần, đảm bảo có thể sử dụng trong
các hệ thống thực tiễn Mô hình của luận văn (MSAback) đạt kết quả rất tốt trên 3 tập
dữ liệu ReID người là CUHK03, DukeMTMC và Market1501 với mAP/rank1 lần lượtlà 85.9/88.6, 84.0/92.6 và 91.6/96.7 khi chưa Re-rank, sau khi Re-rank đạt 92.0/91.9,90.5/94.0 và 95.2/96.9, trong khi chỉ cần 2.4 GFLOPs
Trang 6Object search for surveillance cameras, also known as Object Re-Identification (ReID),is a challenging problem aimed at retrieving all images that match a query image withina multi-camera surveillance system The core issue arises from significant variations incamera viewpoints, environmental conditions, and the objects themselves This thesisfocuses on improving the previously published LightMBN framework by incorporatingvarious methods, such as adding information from human body-part segments, humanattributes, and human skeleton images It also explores integrating the Multi-head SelfAttention (MSA) block into the LightMBN model, with the ultimate goal of achievingaccuracy comparable to recent works but with much faster execution speed to ensure
practical usability in real-world systems The proposed model in this thesis (MSAback)
achieved excellent results on three human ReID datasets: CUHK03, DukeMTMC, andMarket1501, with mAP/rank1 scores of 85.9/88.6, 84.0/92.6, and 91.6/96.7 respectively,without re-ranking, and 92.0/91.9, 90.5/94.0, and 95.2/96.9 with re-ranking, while onlyrequiring 2.4 GFLOPs
Trang 7Lời cam đoan
Tôi là Lê Thanh Tùng, học viên cao học khoa Khoa Học và Kỹ thuật Máy Tính, Đạihọc Bách Khoa TP.HCM, MSHV là 2170585 Tôi xin cam đoan rằng luận văn thạc sĩ“Phát triển kỹ thuật tìm kiếm đối tượng cho camera quan sát” là kết quả tìm hiểu, nghiêncứu độc lập của chính bản thân dưới sự hướng dẫn trực tiếp của TS Lê Thành Sách Tôixin cam đoan:
1 Luận văn được thực hiện cho mục đích tìm hiểu và nghiên cứu ở bậc cao học2 Các công trình, bài báo tham khảo để xây dựng nên luận văn này đều được trích
dẫn, tham khảo Tất cả các tài liệu được trích dẫn và có tính kế thừa từ các tạp chívà các công trình nghiên cứu đã được công bố
3 Những công cụ, phần mềm cho quá trình thực hiện luận văn đều là phần mềm mãnguồn mở
4 Hình ảnh và số liệu được trích dẫn nguồn tham khảo rõ ràng5 Kết quả nghiên cứu được trình bày trung thực dựa trên số liệu thực tế khi chạy
chương trình
Học viên
Trang 81.7 Đối tượng nghiên cứu 4
1.8 Bố cục của luận văn 4
2 Cơ sở lý thuyết62.1 Mạng neuron tích chập 6
2.6.2 Chức năng trong Transformer 19
3 Các công trình liên quan213.1 Tổng quan 21
3.2 BPBreID 21
Trang 94.2 Thí nghiệm Segment 38
4.2.1 Thí nghiệm Segment Gray 38
4.2.2 Thí nghiệm Segment Color 40
4.3 Thí nghiệm Attribute 41
4.4 Thí nghiệm Skeleton 42
4.5 Thí nghiệm MSA 43
4.5.1 Thí nghiệm vị trí MSA 44
4.5.2 Thí nghiệm thành phần và siêu tham số MSA 45
4.5.3 Thí nghiệm kết hợp MSA vào Segment, Attribute và Skeleton 47
5 Kết quả thực nghiệm485.1 Dữ liệu 48
5.4.1 Thí nghiệm Segment Gray 54
5.4.2 Thí nghiệm Segment Color 55
5.4.3 Thí nghiệm Attribute và Skeleton 56
5.4.4 Thí nghiệm vị trí MSA 58
5.4.5 Thí nghiệm phương án Attention Core cho MSA 59
5.4.6 Thí nghiệm siêu tham số cho MSA 60
5.4.7 Thí nghiệm Tuning cho MSA 61
5.4.8 Thí nghiệm kết hợp MSA vào Segment, Attribute và Skeleton 63
5.5 Kết luận chọn mô hình giải pháp 64
5.6 So sánh với các công trình khác 65
5.7 Phân tích định tính 68
Trang 106 Kết luận72
6.1 Tổng kết kết quả 726.2 Hướng nghiên cứu tiếp theo 73
Trang 11Danh sách hình vẽ
1.1 Mô tả hệ thống tái định danh đối tượng 1
2.1 Sơ đồ hoạt động của CNN với bài toán phân loại chữ viết tay 7
2.2 Nhóm 3 ảnh trước và sau khi huấn luyện sử dụng triplet loss 9
2.3 So sánh BatchNorm và LayerNorm 10
2.4 ID loss kết hợp triplet loss 11
2.5 Sơ đồ BNNeck 12
2.6 Sơ đồ BNNeck 13
2.7 Trực quan kết quả ReID bằng rank-10 14
2.8 Ý tưởng K-reciprocal Nearest Neighbours cho việc tái xếp hạng 16
2.9 Tổng quan phương pháp được sử dụng trong K-reciprocal Re-ranking 17
2.10 Tổng quan các thành phần trong Transformer Encoder Block và Multi-headSelf Attention 18
3.1 Các vấn đề gặp phải khi thực hiện ReID và kết quả khi ứng dụng segment 22
3.2 Tổng quan phương pháp được sử dụng trong BPBreID 23
3.3 Những hạn chế của phương pháp trích xuất đặc trưng dựa trên CNN 24
3.4 Tổng quan phương pháp được sử dụng trong TransReID 25
3.5 Biểu diễn các điểm dữ liệu trong không gian DINO 26
3.6 Các bước tạo semantic label tự động 27
3.7 Tổng quan phương pháp được sử dụng trong SOLIDER 27
3.8 Tổng quan phương pháp được sử dụng trong PAMECA 29
3.9 Kiến trúc khối PAM trong PAMECA 30
3.10 Kiến trúc khối ECA trong PAMECA 30
3.11 Nhãn ID đối tượng được gán tự động trong LUPerson-NL 31
3.12 Tổng quan phương pháp được sử dụng trong PNL 32
3.13 Tổng quan kiến trúc LightMBN 34
3.14 Đồ thị giá trị learning rate theo số step của warmup cosine annealing 35
3.15 Mô tả kiến trúc các lớp trong mạng OSNet 35
3.16 Kiến trúc Omni-scale bottleneck (trái) và Lite 3x3 Conv (phải) 36
4.1 Tổng hợp các phương pháp thí nghiệm trong luận văn 37
Trang 124.2 Tổng quan thí nghiệm Segment Gray 39
4.3 Tổng quan thí nghiệm Segment Color 41
4.4 Tổng quan thí nghiệm Attribute 42
4.5 Kết quả nhận diện skeleton của OpenPifPaf 43
4.6 Tổng quan thí nghiệm Skeleton 43
4.7 Tổng quan thí nghiệm vị trí MSA 44
4.8 Tổng quan thí nghiệm thành phần và siêu tham số MSA 46
5.1 Một số ảnh trong tập dữ liệu DukeMTMC 48
5.2 Một số ảnh trong tập dữ liệu CUHK03 49
5.3 Một số ảnh trong tập dữ liệu Market1501 50
5.4 Một số ảnh Segment và Skeleton được tạo ra cho tập dữ liệu DukeMTMC 525.5 Ranking và Activation map của một trường hợp MSAback đã pass trên tậpCUHK03 69
5.6 Ranking và Activation map của một trường hợp MSAback đã fail trên tậpCUHK03 69
5.7 Ranking và Activation map của một trường hợp MSAback đã pass trên tậpDukeMTMC 70
5.8 Ranking và Activation map của một trường hợp MSAback đã fail trên tậpDukeMTMC 70
5.9 Ranking và Activation map của một trường hợp MSAback đã pass trên tậpMarket1501 71
5.10 Ranking và Activation map của một trường hợp MSAback đã fail trên tậpMarket1501 71
Trang 13Danh sách bảng
5.1 Kết quả thí nghiệm Segment Gray với dataset CUHK03 54
5.2 Kết quả thí nghiệm Segment Gray với dataset DukeMTMC 54
5.3 Kết quả thí nghiệm Segment Gray với dataset Market1501 54
5.4 Kết quả thí nghiệm Segment Color với dataset CUHK03 55
5.5 Kết quả thí nghiệm Segment Color với dataset DukeMTMC 55
5.6 Kết quả thí nghiệm Segment Color với dataset Market1501 56
5.7 Kết quả thí nghiệm Attribute và Skeleton với dataset CUHK03 57
5.8 Kết quả thí nghiệm Attribute và Skeleton với dataset DukeMTMC 57
5.9 Kết quả thí nghiệm Attribute và Skeleton với dataset Market1501 57
5.10 Kết quả thí nghiệm vị trí MSA với dataset CUHK03 58
5.11 Kết quả thí nghiệm phương án Attention Core cho MSA với dataset CUHK03 595.12 Kết quả thí nghiệm phương án Attention Core cho MSA với dataset DukeMTMC 59
5.13 Kết quả thí nghiệm siêu tham số cho MSA với dataset CUHK03 60
5.14 Kết quả thí nghiệm siêu tham số cho MSA với dataset DukeMTMC 60
5.15 Kết quả thí nghiệm siêu tham số cho MSA với dataset Market1501 60
5.16 Kết quả thí nghiệm tuning cho MSA với dataset CUHK03 61
5.17 Kết quả thí nghiệm tuning cho MSA với dataset DukeMTMC 62
5.18 Kết quả thí nghiệm tuning cho MSA với dataset Market1501 62
5.19 Kết quả thí nghiệm kết hợp MSA vào Segment, Attribute và Skeleton vớidataset CUHK03 63
5.20 Kết quả thí nghiệm kết hợp MSA vào Segment, Attribute và Skeleton vớidataset DukeMTMC 64
5.21 Kết quả thí nghiệm kết hợp MSA vào Segment, Attribute và Skeleton vớidataset Market1501 64
5.22 So sánh kết quả luận văn MSAback với các công trình gần đây khác 66
5.23 So sánh kết quả luận văn MSAback với các công trình gần đây khác có sửdụng tái xếp hạng 67
Trang 14Bảng thuật ngữ Anh - Việt
Thuật ngữ tiếng AnhThuật ngữ tiếng ViệtViết tắt
Trang 15Chương 1Giới thiệu
Tái định danh đối tượng (ReID) là một trong những lĩnh vực nổi bật trong lĩnh vực thịgiác máy tính, nhằm giải quyết vấn đề xác định và theo dõi một đối tượng trong các hệthống giám sát bằng camera Sự phát triển của hệ thống camera giám sát trong các thànhphố lớn đã mang lại một nhiều thuận lợi cho việc xây dựng một hệ thống theo dõi đốitượng thông qua áp dụng bài toán tái định danh đối tượng vào các dữ liệu thu thập được.Trong ngữ cảnh của con người, ReID đối tượng được áp dụng để nhận diện và phân biệtgiữa các cá nhân khác nhau dựa trên hình ảnh hoặc video được chụp từ các camera anninh hoặc giám sát
Qua việc quan sát tất cả các camera một cách thủ công, ta có thể định vị được đốitượng cần nhận diện Tuy nhiên, phương pháp thủ công này đòi hỏi nhiều công sức vàthời gian, đặc biệt là trong bối cảnh số lượng hệ thống thông tin và giám sát ngày càngtăng lên Thách thức được đặt ra là phát triển một giải thuật và hệ thống có khả năngtự động nhận diện để tìm kiếm một cách chính xác hoặc hạn chế phạm vi tìm kiếm đốitượng trong tập dữ liệu của các camera hệ thống
Hình 1.1: Mô tả hệ thống tái định danh đối tượng
Quá trình ReID thường bắt đầu với việc trích xuất các đặc trưng từ hình ảnh của đốitượng (gọi là ảnh query), như hình dạng cơ bản, đặc điểm nổi bật, hoặc các điểm quan
Trang 16trọng trên cơ thể Các thông tin đặc trưng này được biểu diễn dưới dạng một vectơ đặctrưng, đại diện cho đối tượng Sau đó, các thuật toán học máy được sử dụng để so sánhvectơ đặc trưng của ảnh query với các vectơ đặc trưng của các hình ảnh đối tượng khácnhau trong tập dữ liệu thu thập và lưu trong cơ sở dữ liệu trước đó (tập gallery) Từ đóxác định xem các ảnh nào trong gallery cùng thuộc về một đối tượng được chụp từ ảnhquery, sắp xếp theo chiều giảm dần độ tương tự, như Hình 1.1.
Việc tái định danh đối tượng trong một hệ thống gồm nhiều camera khác nhau tồntại rất nhiều thách thức Đặc biệt, trong môi trường thực tế, khả năng tái định danh càngthấp do các đối tượng có thể bị che khuất, các ảnh hưởng của ánh sáng, góc quay,
Với tính chất đặc biệt của loại dữ liệu, một vài sự nhập nhằng khi so sánh hai ảnh củahai đối tượng có thể xảy ra, ví dụ như hai đối tượng có định danh khác nhau nhưng cóngoại hình hoàn toàn tương đồng hay cùng một đối tượng có thể có thông tin thị giác rấtkhác nhau ở các góc chụp khác nhau, cũng là các vấn đề lớn cần giải quyết để tái địnhdanh các đối tượng một cách chính xác
Ngoài ra, những thách thức của bài toán để ứng dụng thành công trong thực tế như:• Một đối tượng có thể thay đổi hướng di chuyển liên tục trong tầm quan sát của
camera, tạo ra các hình ảnh khác nhau về phía trước, phía sau, bên trái và bên phải.Điều này tạo ra một thách thức trong việc nhận diện khi các đặc điểm về hình dángcủa đối tượng thay đổi
• Góc quay, độ cao, khoảng cách và hướng nhìn có thể tạo ra những hình ảnh đa dạngcủa đối tượng Hơn nữa, vị trí của camera cũng có thể dẫn đến việc che khuất mộtphần của đối tượng bởi vật cản
• Gắn nhãn dữ liệu là một vấn đề không chỉ trong việc xác định lại danh tính mà còntrong các bài toán học có giám sát nói chung Đối với các hệ thống camera lớn,việc gắn nhãn dữ liệu cho mỗi đối tượng một cách thủ công đòi hỏi nhiều thời gianvà công sức
• Điều kiện ánh sáng phụ thuộc vào thời gian trong ngày, thời tiết và một số yếu tốkhác Cùng một đối tượng nhưng khi được chiếu sáng từ các nguồn sáng khác nhaucó thể có màu sắc khác nhau
Trang 171.3Ý nghĩa
Giải pháp tái định danh đối tượng có ý nghĩa to lớn cả về mặt khoa học và thực tiễn.• Mặt khoa học:
– Việc phát triển các thuật toán và mô hình máy học để nhận diện và tái định
danh đối tượng từ dữ liệu hình ảnh là một phần quan trọng của nghiên cứutrong lĩnh vực trí tuệ nhân tạo và thị giác máy tính, từ đó góp phần phát triểnthêm những hướng đi và ý tưởng cho một chuỗi các bài toán liên quan đếnnhận diện, gom cụm, so trùng, hệ thống gợi ý
– Cung cấp cơ sở lý thuyết và phương pháp thực tiễn cho việc nghiên cứu và
phát triển các ứng dụng thị giác máy tính như giám sát an ninh.• Mặt thực tiễn:
– Trong lĩnh vực giám sát an ninh, giải pháp tái định danh đối tượng giúp nhận
biết và theo dõi các đối tượng quan trọng như người và phương tiện giao thông.Tiết kiệm công sức và thời gian cho việc tìm kiếm đối tượng trong hệ thốngcamera Điều này có thể cải thiện khả năng giám sát và đảm bảo an ninh trongcác khu vực công cộng và tư nhân, hỗ trợ tốt cho việc tìm kiếm người thất lạc,duy trì an ninh, truy bắt tội phạm, theo dõi đường dây phạm pháp
– Trong các ứng dụng thương mại, tái định danh đối tượng có thể được sử dụng
để theo dõi lưu lượng khách hàng trong các cửa hàng bán lẻ hoặc để cải thiệntrải nghiệm mua sắm trực tuyến thông qua gợi ý sản phẩm cá nhân hóa
Bài toán tái định danh đối tượng đã được ra đời từ cách đây gần một thập kỷ và pháttriển liên tục đến hiện tại, hầu hết đều sử dụng các kiến trúc mô hình học sâu Với tốcđộ công nghệ, trí tuệ nhân tạo cải tiến từng ngày, nhiều kỹ thuật mới được áp dụng đểnâng cao độ chính xác của việc ReID đối tượng, như sử dụng Transformer, Attention,Segmentation, Self-Supervised Learning, Contrastive Learning, và đạt được kết quảkhả quan Chi tiết về tình hình nghiên cứu được mô tả trong Mục 3
Trang 181.5Mục tiêu nghiên cứu
Mục tiêu của Luận văn tốt nghiệp là giải quyết những khó khăn còn tồn đọng ở nhữngnghiên cứu trước đó, đặc biệt tập trung vào việc ứng dụng những thành tựu mới của trítuệ nhân tạo, để đưa ra những giải pháp mới nhằm đạt được độ chính xác tốt hơn các giảipháp trước Ngoài ra, luận văn hướng đến việc thực thi và đưa giải pháp tái định danhứng dụng được vào thực tế, cân bằng được giữa độ chính xác và tốc độ thực thi
Phạm vi nghiên cứu được xác định là tái định danh người đi bộ trong hệ thống giámsát gồm nhiều camera Giả định rằng các camera này có các góc quay không trùng nhauvà được đặt ở các vị trí và độ cao khác nhau, và điều kiện ánh sáng cũng có thể thay đổiđối với mỗi camera Hệ thống giám sát này được đặt chủ yếu tại những nơi công cộng,ngoài trời, có thể phân biệt người với người dựa trên đặc điểm ngoại hình nổi bật (quầnáo, giày dép, phụ kiện, ) Ảnh chụp các đối tượng người đi bộ được đề xuất cắt sát vàođối tượng, hoặc có thể nhận ra đối tượng chính - phụ bằng thị giác con người trong mộtảnh chụp có nhiều đối tượng Các ảnh chụp của cùng một đối tượng ở các camera khácnhau cần có sự tương đồng thị giác, có các đặc điểm ngoại hình nổi bật để có thể phânbiệt bằng mắt người
Đối tượng nghiên cứu của Luận văn là các cách tiếp cận, các hướng cải tiến một môhình trích xuất đặc trưng, phục vụ cho bài toán ReID từ các công trình trước đó, bằngcác phương pháp học máy, học sâu như kết hợp thông tin hình dáng, đặc điểm nhận dạngđối tượng, các bộ phận của đối tượng, kết hợp các lớp attention, để giải quyết bài toántái định danh người trong tập camera quan sát
Cấu trúc của luận văn được tổ chức như sau:• Chương 1: Giới thiệu: Tổng quan về nội dung, mục tiêu và cấu trúc luận văn.• Chương 2: Cơ sở lý thuyết: Trình bày kiến thức nền tảng có liên quan đến đề tài
Trang 19• Chương 3: Các công trình liên quan: Trình bày các công trình gần đây có liên quan.• Chương 4: Phương pháp thí nghiệm: Trình bày các mô hình đề xuất và thí nghiệm.• Chương 5: Kết quả thực nghiệm: So sánh và đánh giá kết quả của các thí nghiệm
đã thực hiện, so sánh với các công trình gần đây.• Chương 6: Kết luận: Tổng kết kết quả đúc kết được trong quá trình nghiên cứu và
hướng phát triển tiếp theo trong tương lai
Trang 20Chương 2Cơ sở lý thuyết
Chương này sẽ giải thích về khái niệm, kiến trúc mạng neuron tích chập - CNN, hàmmất mát, các lớp chuẩn hoá, các phép đo, phương pháp tái xếp hạng thường dùng choReID và cấu tạo của khối Multi-head Self Attention (MSA)
Mạng neuron tích chập - Convolutional Neural Network (CNN) là một dạng mạngneuron nhân tạo được thiết kế để xử lý và nhận diện các hình ảnh và dữ liệu không gian.CNN đã trở thành công cụ cực kỳ mạnh mẽ trong lĩnh vực thị giác máy tính và xử lý ảnh,và cũng được sử dụng rộng rãi trong các ứng dụng khác như xử lý ngôn ngữ tự nhiên, dữliệu chuỗi
Các thành phần cơ bản của CNN (minh hoạ trong Hình 2.1):
1 Convolutional Layer: Convolutional layer là trái tim của CNN, sử dụng các bộ lọc
(kernel) để áp dụng phép tích chập trên dữ liệu đầu vào Mỗi bộ lọc nhận diện cácđặc trưng cụ thể trong hình ảnh, ví dụ như cạnh, góc, hoặc các đặc điểm nổi bật.Các bộ lọc này được di chuyển trên toàn bộ hình ảnh để tạo ra các feature map
2 Pooling Layer: Pooling layer thường được sử dụng sau các convolutional layer để
giảm kích thước của feature map và giảm lượng tính toán Các kỹ thuật phổ biếntrong pooling là max pooling và average pooling, trong đó max pooling chọn giátrị lớn nhất từ mỗi vùng cắt và average pooling tính trung bình của các giá trị
3 Activation Function: Activation function được áp dụng sau mỗi convolutional
để thêm tính phi tuyến tính cho mạng neuron Hàm kích hoạt phổ biến nhất làRectified Linear Unit (ReLU) do tính đơn giản và khả năng giải quyết vấn đềvanishing gradient
4 Fully Connected Layer: Sau khi thông tin đã được trích xuất thông qua các
con-volutional và pooling layer, fully connected layer (hoặc dense layer) được sử dụngđể kết hợp các đặc trưng này và tạo ra kết quả cuối cùng Đây là phần của mạngneuron chịu trách nhiệm cho việc phân loại hoặc dự đoán
Trang 215 Dropout Layer: Dropout layer là một kỹ thuật regularization phổ biến được sử
dụng để ngăn chặn overfitting trong mạng neuron, bằng cách ngẫu nhiên "tắt" mộtsố đơn vị (units) trong quá trình huấn luyện để giảm sự phụ thuộc vào các đặc trưngcụ thể
6 Output Layer: Output layer thường là một layer fully connected layer với số lượng
đơn vị tương ứng với số lượng lớp đầu ra Nếu mô hình làm việc trên một bài toánphân loại, output layer thường sử dụng softmax activation để tính toán xác suất chomỗi lớp
Hình 2.1: Sơ đồ hoạt động của CNN với bài toán phân loại chữ viết tay
2.2.1ID loss
ID loss là một thành phần quan trọng được sử dụng trong quá trình huấn luyện cácmô hình ReID Mục tiêu chính của hàm mất mát này là khuyến khích mô hình học cácđặc trưng phân biệt cho các đối tượng khác nhau để có thể phân biệt một cách hiệu quảcác đối tượng
Cách tính ID loss có thể thay đổi tùy thuộc vào kiến trúc cụ thể và chiến lược huấnluyện, nhưng mục tiêu chung vẫn là giảm thiểu các biến thể trong cùng một lớp (sự khác
Trang 22biệt giữa các hình ảnh của cùng một đối tượng) trong khi tăng cường các biến thể giữacác lớp khác nhau (sự khác biệt giữa các hình ảnh của các đối tượng khác nhau).
Một cách tiếp cận phổ biến cho ID loss là sử dụng hàm mất mát dựa trên entropy, với công thức như sau:
∑
j=1
yi jlog(pi j)
Trong đó:• N là tổng số lượng mẫu huấn luyện.• C là tổng số ID
• yi j là một hàm chỉ số nhị phân, có giá trị bằng 1 nếu mẫu i thuộc lớp j và bằng 0nếu không thuộc lớp j
• pi j là xác suất dự đoán rằng mẫu i thuộc lớp j.Hàm softmax thường được áp dụng để chuyển thành xác suất (zi j đại diện cho logitcho lớp j của mẫu i):
2.2.2Triplet loss
Triplet loss là một loại hàm mất mát được sử dụng rộng rãi trong ReID Cơ chế cơbản của triplet loss là so sánh các cặp hình ảnh theo từng bộ ba đối tượng Mỗi bộ gồmba hình ảnh: một hình ảnh gốc (anchor), một hình ảnh chứa đối tượng cùng ID với anchor(positive), và một hình ảnh chứa đối tượng khác ID với anchor (negative) Mục tiêu làđảm bảo rằng khoảng cách giữa ảnh anchor và ảnh positive nhỏ hơn so với khoảng cáchgiữa ảnh anchor và ảnh negative một lượng được gọi là margin (Hình 2.2)
Trang 23Hình 2.2: Nhóm 3 ảnh trước và sau khi huấn luyện sử dụng triplet lossCông thức cơ bản của triplet loss được biểu diễn như sau:
• pilà biểu diễn đặc trưng của ảnh positive.• ni là biểu diễn đặc trưng của ảnh negative.• d(·) là một hàm đo khoảng cách, thường sử dụng khoảng cách Euclid.• α là margin, một giá trị dương kiểm soát mức độ giữa các khoảng cách.Triplet loss được sử dụng trong quá trình huấn luyện để định hình không gian đặctrưng sao cho các biểu diễn đặc trưng của các ảnh của cùng một đối tượng gần nhau,trong khi các biểu diễn đặc trưng của các đối tượng khác nhau được phân biệt rõ ràng,cách xa nhau Điều này giúp cải thiện hiệu suất của các phương pháp ReID
2.3.1BatchNorm
Batch Normalization (BatchNorm) là một kỹ thuật chuẩn hóa đầu ra của các lớp ẩntrong deep neural network, giúp ổn định quá trình huấn luyện bằng cách đưa dữ liệu đầura của mỗi lớp về một phân phối chuẩn (mean = 0, variance = 1) trong quá trình lan
Trang 24truyền thuận (Hình 2.3) Điều này giúp cho việc huấn luyện mạng trở nên hiệu quả hơnvà giúp tránh hiện tượng vanishing/exploding gradient.
√σ2+ εTrong đó:
• ˆxi là giá trị đầu ra đã chuẩn hóa của mỗi điểm dữ liệu trong mini-batch.• ε là một hằng số nhỏ được thêm vào trong mẫu để tránh trường hợp chia cho 0.BatchNorm cũng có hai tham số học là γ (scale) và β (shift), được sử dụng để biếnđổi lại giá trị chuẩn hóa để có thể thay đổi vị trí và phạm vi của dữ liệu:
yi= γ ˆxi+ βTrong quá trình lan truyền thuận, BatchNorm áp dụng các phép biến đổi này cho đầura của mỗi lớp ẩn Trong quá trình lan truyền ngược, các gradient được tính toán theocách tương tự như trong các lớp thông thường, với thêm sự ảnh hưởng của các tham số γvà β
Trang 25Layer Normalization (LayerNorm) là một kỹ thuật chuẩn hóa đầu ra của các lớp trongdeep neural network tương tự như BatchNorm, nhưng khác biệt ở chỗ thay vì chuẩn hóatrên mini-batch, LayerNorm chuẩn hóa trên từng đặc trưng (feature) riêng lẻ, giúp cảithiện sự ổn định của quá trình huấn luyện (Hình 2.3
Công thức của LayerNorm cho một đặc trưng x trong một lớp ẩn:
√σ2+ ε + βTrong đó:
• x là giá trị đầu ra của một đặc trưng trong một lớp ẩn.• µ là giá trị trung bình của các giá trị đầu ra của đặc trưng trong một minibatch.• σ2 là phương sai của các giá trị đầu ra của đặc trưng trong một minibatch.• ε là một hằng số nhỏ được thêm vào trong mẫu để tránh trường hợp chia cho 0.• γ và β là các tham số học của LayerNorm, tương tự như BatchNorm, được sử dụng
để điều chỉnh vị trí và phạm vi của dữ liệu
2.3.3BNNeck
Hầu hết các mô hình đạt kết quả cao thường sử dụng cả triplet loss và ID loss, nhưđược minh họa trong Hình 2.4 Tuy nhiên, việc kết hợp hai loại hàm mục tiêu này đôikhi dẫn đến sự không nhất quán với mục tiêu ban đầu của mỗi hàm
Hình 2.4: ID loss kết hợp triplet loss
Trang 26ID loss nhằm tách biệt vector đặc trưng của mỗi lớp theo các hướng khác nhau trongkhông gian đặc trưng Do đó, việc áp dụng khoảng cách cosine thường phù hợp hơn sovới khoảng cách Euclidean Trong khi đó, triplet loss nhằm giảm thiểu khoảng cách giữacác mẫu trong cùng một lớp và tăng cường khoảng cách giữa các mẫu thuộc các lớp khácnhau, nên sử dụng khoảng cách Euclidean Trong quá trình học, có thể giá trị của mộtloss giảm đi lại làm tăng giá trị của hàm loss kia Sự ảnh hưởng của các yếu tố ID loss,triplet loss, lớp BN, lớp BNNeck được thể hiện ở Hình 2.5.
Hình 2.5: Sơ đồ BNNeck
BBNeck thêm lớp BatchNorm trước lớp FC để dễ dàng hội tụ ID loss hơn (Hình 2.6).Gọi vector ft và fi lần lượt là vector trước và sau lớp BN Vector ft sẽ được dùng choviệc học triplet còn vector fi sẽ qua thêm một lớp FC để dùng ID Loss Sau quá trìnhhuấn luyện, fisẽ được dùng làm vector đặc trưng và kiểm thử mô hình Ngoài ra bỏ biasở lớp FC để ràng buộc siêu phẳng phân lớp về tâm toạ độ
Trong bài toán ReID, các độ đo chính như Mean Average Precision (mAP) và Rank-nAccuracy (hay còn gọi là Top-n Accuracy) thường được sử dụng để đánh giá hiệu suấtcủa các mô hình Ngoài ra, mỗi một mô hình học sâu đều có thể sử dụng phép đo FLOPsđể ước lượng độ phức tạp tính toán của mô hình
Trang 27Hình 2.6: Sơ đồ BNNeck
2.4.1Mean Average Precision
mAP là một độ đo thường được sử dụng để đánh giá hiệu suất của hệ thống trong bàitoán ReID Độ đo này tính toán Precision cho mỗi query, sau đó tính Average Precision(AP) cho mỗi query mAP là trung bình của tất cả các AP của các query trong tập dữliệu
Precision (P):
Số lượng mẫu trong top-kAverage Precision (AP):
nk=1P(k) × Relk
Tổng số mẫu đúngTrong đó:
• n là tổng số mẫu trong tập dữ liệu• Relk là biến nhị phân (bằng 1 nếu mẫu ở vị trí k là mẫu đúng, bằng 0 nếu ngược
lại).Mean Average Precision (mAP):
Q
QTrong đó: Q là số lượng truy vấn trong tập dữ liệu
Trang 282.4.2Rank-n Accuracy
Rank-n đo lường khả năng của mô hình trong việc xếp hạng đúng những hình ảnh táiđịnh danh Ví dụ, rank-1 đo lường tỷ lệ số lượng các hình ảnh tái định danh đúng ở vịtrí xếp hạng đầu tiên so với tổng số lượng các hình ảnh Có thể đánh giá rank-1, rank-5,rank-10, v.v., tùy thuộc vào yêu cầu cụ thể của bài toán hoặc tập dữ liệu
Kết quả ranking có thể được trực quan bằng định dạng như Hình 2.7, trong đó, ảnhprobe là ảnh query, các ảnh liên quan đến ảnh probe được sắp xếp theo độ tương quangiảm dần Các ảnh gallery thực sự trùng ID với ảnh probe được đóng khung xanh, ngượclại thì đóng khung đỏ
Hình 2.7: Trực quan kết quả ReID bằng rank-10
2.4.3FLOPs
FLOPs là viết tắt của "Floating Point Operations" (phép tính dấu chấm động), là mộtđơn vị đo lường độ phức tạp tính toán của mô hình học sâu Thông thường, FLOPs đượctính bằng cách sử dụng số lượng phép nhân-cộng mà một mô hình thực hiện
Trang 29Các phép nhân-cộng ở đây là các phép tính bao gồm việc nhân và cộng của 2 hoặcnhiều biến Ví dụ, biểu thức a ∗ b + c ∗ d có 2 FLOPs trong khi biểu thức a ∗ b + c ∗ d +e∗ f + f ∗ h có 4 FLOPs.
Lấy ví dụ về một mô hình hồi quy tuyến tính đơn giản Giả sử mô hình này có 4weight w1, w2, w3, w4 và một bias b0 Với một dữ liệu đầu vào, X = [x1, x2, x3, x4] tạora Y = x1 ∗ h1 + x2 ∗ h2 + x3 ∗ h3 + x4 ∗ h4 + b0 Phép tính này có 4 FLOPs
Để đo FLOPs trong các mạng học sâu, cần biết kích thước của tensor đầu vào, bộlọc và tensor đầu ra cho mỗi lớp Từ đó, tính được số FLOPs cho mỗi lớp và cộng lạiđể có tổng số FLOPs của mô hình Ví dụ: ở VGG16, tensor đầu vào có kích thước224 × 224 × 3, 64 bộ lọc có kích thước 3 × 3 × 3 và kích thước đầu ra là 224 × 224 × 64.Mỗi phần tử trong đầu ra được tạo ra từ một phép nhân-cộng (3x3x3) giữa bộ lọc và tensorđầu vào Do đó, số FLOPs cho lớp đầu tiên của VGG16 là (3 × 3 × 3) × (224 × 224 × 64)= 86,704,128 FLOPs, hay xấp xỉ 87 MFLOPs
Cần phân biệt FLOPs với FLOPS là viết tắt của Floating Point Operations per second,dùng để chỉ tốc độ thực thi của một phần cứng tính toán
Hiện nay có các thư viện Python có thể hỗ trợ tính toán FLOPs tự động từ các môhình ở định dạng Pytorch, Keras, ONNX
Trong quá trình ReID, sau khi tính toán được sự tương đồng giữa ảnh query và cácảnh gallery, từ đó ta sẽ đưa ra danh sách top-k (k thường bằng 10) các ảnh gallery theođộ tương đồng giảm dần Tuy nhiên, vẫn có thể xếp hạng lại (re-ranking) danh sách nàyđể đạt kết quả tốt hơn nữa (các ảnh gallery thực sự cùng ID với ảnh query sẽ có độ tươngđồng cao và nằm trong danh sách top-k) Có nhiều phương pháp để re-ranking, trong đó,phương pháp K-reciprocal Re-ranking được sử dụng phổ biến hơn cả và trở thành chuẩnmực cho các bài toán ReID
Việc tái xếp hạng (re-ranking) đã được đề xuất trước đó, dựa trên việc phân cụm bằngk-NN, tuy nhiên, trong k ảnh gần nhất đó, vẫn xuất hiện nhiều ảnh khác ID so với ảnhquery, dẫn tới gây nhiễu và giảm hiệu quả của việc tái xếp hạng
Phương pháp này dựa trên một giả thuyết rằng, hai ảnh được xem là hai k-tương hỗhàng xóm gần (k-reciprocal nearest neighbors) với nhau nếu mỗi ảnh đều nằm trong kếtquả xếp hạng top-k khi lấy ảnh còn lại làm ảnh query (probe) Từ đó có thể suy ra trongcác ảnh top-k thu hồi được khi query một ảnh, ảnh nào là k-reciprocal NN (hay là xuấthiện ảnh query trong top-k của ảnh đó) với ảnh query thì đó là ảnh thực sự có cùng ID
Trang 30với ảnh query (Hình 2.8) Nhờ vậy, có thể lọc lại được một danh sách top-k chính xáchơn, đem lại kết quả tái định danh cao hơn.
Hình 2.8: Ý tưởng K-reciprocal Nearest Neighbours cho việc tái xếp hạng
Hình 2.9 trình bày tổng quan sơ đồ thực hiện của K-reciprocal Re-ranking Các ảnhtrong bộ dữ liệu so khớp cùng với ảnh truy vấn probe sẽ được đưa qua mô hình rút tríchđặc trưng nhận diện hình dạng (tuỳ vào từng bài toán hay dữ liệu sẽ chọn một mô hìnhphù hợp, không đặt nặng phần này), từ đó tính khoảng cách bằng phép đo Mahalanobisđể tính ra bộ vector khoảng cách theo hình dạng Song song đó, các ảnh này cũng đượcđưa qua bộ tính toán đặc trưng k-reciprocal, từ đó tính được bộ vector khoảng cáchJaccard thể hiện tính k-tương hỗ giữa các ảnh Hai bộ vector khoảng cách được kết hợpcó trọnng số lại để ra bộ vector khoảng cách cuối cùng
Để tính đặc trưng k-reciprocal, ta có tập hợp k-NN:
N(p, k) = {g01, g02, , g0k}, |N(p, k) = kTập hợp k-reciprocal-NN R(p, k) (mở rộng R(p, k) thêm gấp nửa để được tập R∗(p, k)):
R(p, k) = {gi|(gi∈ N(p, k)) ∧ (p ∈ N(gi, k))}
Trang 31Hình 2.9: Tổng quan phương pháp được sử dụng trong K-reciprocal Re-rankingHai ảnh càng giống nhau nếu tập k-reciprocal-NN của chúng càng giao nhau, do đó tadùng phép đo Jaccard để tính khoảng cách giữa ảnh probe và ảnh gallery thứ i dJ(p, gi):
dJ(p, gi) = 1 −|R
∗(p, k) ∩ R∗(gi, k)||R∗(p, k) ∪ R∗(gi, k)|Tính khoảng cách từ ảnh probe cho toàn bộ gallery, ta được vector đặc trưng k-reciprocal Vp cho ảnh probe:
Vp = [Vp,g1,Vp,g2, ,Vp,gN]
Vp,g1=
(e−d(p,gi), if gi∈ R∗(p, k)
K-reciprocal Re-ranking có thể tái xếp hạng tự động mà không cần phải can thiệp haygán nhãn thêm cho dữ liệu, mà lại tăng kết quả xếp hạng đáng kể Tuy nhiên, do cần phảithực hiện xếp hạng lại nên cũng làm tăng chi phí tính toán cho bài toán tái định danh đốitượng
Multi-head Self Attention là một phần quan trọng trong các mô hình Transformer,đặc biệt phổ biến trong lĩnh vực xử lý ngôn ngữ tự nhiên và thị giác máy tính, cho phép
Trang 32Hình 2.10: Tổng quan các thành phần trong Transformer Encoder Block và Multi-head
Self Attentionmô hình tập trung vào các phần quan trọng của dữ liệu đầu vào, thông qua việc tính toáncác trọng số attention từ các điểm dữ liệu, và tổ chức lại dữ liệu dựa trên các attentionđó
Hình 2.10 trực quan quá trình tính toán cho khối Multi-head Self Attention, cũng nhưvị trí của nó trong Transformer Encoder Block
2.6.1Quá trình tính toán
Giả sử đầu vào là một ma trận X với kích thước N × d, trong đó N là số lượng từ hoặcđiểm dữ liệu và d là số chiều của vector biểu diễn (đối với từ vựng trong xử lý ngôn ngữtự nhiên, d thường là số chiều của vectơ word embedding)
Ta bắt đầu bằng việc tạo ba ma trận Query, Key và Value WQ, WK, WV từ cùng mộtma trận đầu vào X (là ý nghĩa của cụm từ "self"):
Trang 33Attention(Q, K,V ) = softmax QKT
√dk
VTrong đó:
• QKT là dot product giữa ma trận Query và ma trận Key
dk là một hệ số chuẩn hóa, dựa trên kích thước của ma trận Key• Hàm softmax được áp dụng để chuẩn hóa các điểm tương quan thành trọng số
attentionMulti-head Self Attention sử dụng H heads, do đó ta có H cặp ma trận WhQ,WhK,WhV(với h = 1, 2, , H) Đầu ra của mỗi head là một ma trận Zh:
Zh = Attention(XWhQ, XWhK, XWhV)Kết quả cuối cùng Z là kết hợp của tất cả các ma trận Zhthông qua một ma trận trọngsố WO:
Z= Concat(Z1, Z2, , ZH)WO
2.6.2Chức năng trong Transformer
Multi-head Self Attention thường được sử dụng trong các khối Encoder và Decodercủa mô hình Transformer Hình 2.10 thể hiện vị trí của MSA trong khối Encoder Mộtkhối Encoder bao gồm hai phần chính: Multi-head Self Attention và mạng Feedforward(FFN)
Đầu ra của self-attention layer được đưa qua một mạng feedforward:
FFN(X ) = ReLU(XW1+ b1)W2+ b2Trong đó:
• W1và W2 là các ma trận trọng số được học.• b1 và b2 là các vector bias
Để tránh vấn đề biến mất đạo hàm và giúp việc học mô hình được ổn định hơn, mỗiencoder block thường sử dụng thêm residual connection và layer normalization
Trang 34OutputFFN = LayerNorm(OutputMSA+ Dropout(FFN(OutputMSA)))Trong đó:
• X là đầu vào của encoder block.• MSA là hàm multi-head self-attention.• FFN là hàm feedforward network.• LayerNorm là hàm chuẩn hóa theo layer.• Dropout là phép dropout, được áp dụng sau mỗi lớp để ngăn chặn việc quá khớp
Trang 35Chương 3Các công trình liên quan
Bài toán tái định danh đối tượng ban đầu được hướng tới con người, phục vụ cho cácbài toán theo dõi, giám sát trong nhà, ngoài trời trên một phạm vi rộng, cần dữ liệu từnhiều camera Các phương pháp dành cho tái định danh con người đã được ra đời từ cáchđây gần một thập kỷ và phát triển liên tục đến hiện tại, hầu hết đều sử dụng các kiến trúcmô hình học sâu
Hầu hết đóng góp của các công trình về học sâu đều quy về ba hướng: mô hình, dữliệu và hàm mất mát Một số công trình cải tiến nhiều hơn một trong ba hướng trên Ởlĩnh vực ReID cho người đi bộ, có một số hướng con kế thừa từ ba hướng trên trở nênnổi bật hơn cả Dựa trên các công trình được khảo sát trong thời gian gần đây, em tổnghợp và chia ra thành 5 nhóm, gồm:
• Sử dụng thông tin Segment Body-part: SPReID[1], BPSG[2], ISP[3], DROP[4],
• Bổ sung dữ liệu huấn luyện: LUPerson[17], LUPerson-NL[18]
• Chia đặc trưng thành các body part: BPBreID[5], SOLIDER[10], NL[18], PAMECA[16], LightMBN[19]
Công trình BPBreID có tên đầy đủ là Body Part-Based Representation Learning forOccluded Person Re-Identification[5] Đây là một trong những công trình tiêu biểu sử
Trang 36dụng thông tin từ segment (phân đoạn) các bộ phận của đối tượng (người đi bộ) để tăngthêm thông tin giải quyết bài toán ReID.
BPBreID chỉ ra bốn vấn đề gặp phải khi thực hiện ReID (Hình 3.1):1 Ảnh chụp bị che bởi vật cản hoặc người khác: làm mất đi một số thông tin của đối
tượng, đồng thời khiến mô hình bị nhầm lẫn thông tin đặc điểm đối tượng2 Cần có phương pháp so sánh từng cặp bộ phận người: do việc che khuất dẫn đến
không phải lúc nào cũng có đầy đủ các bộ phận của người trong ảnh, vì vậy cần cóphương pháp so sánh và loại trừ từng cặp bộ phận người tương ứng giữa hai ảnh đểđảm bảo việc đo độ tương đồng được ổn định
3 Hai đối tượng khác nhau có một phần bề ngoài giống hệt nhau: hai người khácnhau có thể mặc áo giống nhau nhưng quần khác nhau
4 Chưa có nhãn segment bộ phận người cho các bộ dữ liệu ReID: việc tự tạo nhãnsegment bằng các mô hình bên ngoài thường đem lại kết quả không cao, do khácmiền dữ liệu huấn luyện, và chất lượng ảnh của các bộ dữ liệu ReID khá thấp
Hình 3.1: Các vấn đề gặp phải khi thực hiện ReID và kết quả khi ứng dụng segment
Để giải quyết các vấn đề trên, các tác giả đã đề xuất mô hình BPBreID, với cơ chếhoạt động mô tả ở Hình 3.2 Cụ thể như sau:
• Ảnh đầu vào được đưa qua backbone (ResNet-50-ibn hoặc HRNet-W32) để tạo rama trận đặc trưng G
Trang 37Hình 3.2: Tổng quan phương pháp được sử dụng trong BPBreID• Module Body Part Attention nhận đầu vào là ma trận G, đưa qua lớp 1x1 conv
và softmax để biến đổi G thành tập hợp K mặt nạ segment bộ phận cơ thể người
luyện lớp 1x1 conv này được thực hiện nhờ hàm Body Part Attention Loss, so sánhpixelwise với ảnh ground truth segment Các ảnh ground truth này được tạo ra từviệc chạy mô hình PifPaf[20] trên các ảnh trong tập dữ liệu ReID
• Module Global-local Representation Learning nhận đầu vào là K + 1 segment đượcsinh ra ở module trên, và kết hợp K segment bộ phận người thành một segment mớilà segment foreground Các segment này được nhân và lấy trung bình gộp (globalweighted average pooling - GWAP) với ma trận G thành các vector đặc trưng đạidiện cho ý nghĩa của từng segment Ngoài ra, tạo thêm vector đặc trưng fc bằngcách concat các vector đặc trưng của bộ phận người, và vector đặc trưng fg bằngcách thực hiện global average pooling với ma trận G
• Visibility score được đo trên mỗi segment, bằng 1 nếu có ít nhất 1 pixel trongsegment có giá trị lớn hơn 0.4, ngược lại bằng 0 Visibility score sử dụng trong quátrình inference, nhằm xác định vùng cơ thể bị che khuất để loại bỏ vector đặc trưngcủa vùng đó đi trong khi so sánh hai ảnh
• Các vector toàn cục ( fc, ff, fg) được dùng để tính ID loss, trong khi các vector cụcbộ ( f1, f2, f3, f4) được dùng để tính triplet loss (đã được chỉnh sửa bằng cách lấytrung bình khoảng cách theo từng cặp vector cục bộ tương ứng với từng bộ phậncơ thể)
Trang 38Điểm mạnh của BPBreID nằm ở khả năng sử dụng và tối ưu kiến trúc mô hình choviệc ứng dụng segment các bộ phận của cơ thể người vào việc ReID, từ đó giải quyếtbài toán ReID đối tượng bị che khuất một phần Tuy nhiên, kết quả đạt được có cải thiệnnhưng chưa vượt trội so với các mô hình trước đó như kỳ vọng (chỉ tăng độ chính xáckhoảng 1%).
Công trình TransReID có tên đầy đủ là TransReID: Transformer-based Object Identification[8] Đây là công trình đầu tiên ứng dụng Transformer trong bài toán táiđịnh danh đối tượng
Re-Hình 3.3: Những hạn chế của phương pháp trích xuất đặc trưng dựa trên CNN
TransReID chỉ ra hai vấn đề chính của phương pháp dựa trên CNN:• Việc sử dụng cơ chế attention kết hợp với CNN chưa thực sự khai phá được những
đặc trưng cấu trúc đặc biệt, mang tính quyết định trong ảnh Các vùng tion thường trải liên tục trên ảnh, chưa tách bạch được các phần riêng biệt Hình3.3 phần trên mô tả hiện tượng này, ảnh thứ 2,3,4 lần lượt là attention map củaphương pháp CNN, CNN kết hợp attention, và transformer Cơ chế multi-headself-attention của transformer có thể giải quyết vấn đề này
atten-• Cơ chế downsampling (thường là pooling và stride) của CNN thường làm mấtnhững chi tiết có kích thước nhỏ nhưng có vai trò quan trọng trong ảnh Ở hình 3.3phần dưới, chi tiết nhỏ trên balo đã biến mất sau khi dùng phương pháp CNN, gâykhó khăn cho việc tái định danh Transformer không có cơ chế downsampling nênkhông bị ảnh hưởng
Trang 39Hình 3.4: Tổng quan phương pháp được sử dụng trong TransReIDHình 3.4 trình bày toàn bộ các phương pháp được sử dụng trong TransReID, gồm 3khía cạnh chính:
• Ảnh đầu vào được tách thành nhiều patch nhỏ có overlap với nhau bằng slidingwindow để giữ lại các đặc điểm cục bộ trên ảnh Phép nội suy 2D song tuyếntính được sử dụng để hỗ trợ cho position embedding cho những độ phân giải ảnhđầu vào khác nhau Hàm mất mát ID loss sử dụng cross entropy không có labelsmoothing, và dùng triplet loss với soft margin
• Cùng với position embedding, thông tin bên lề - Side Information Embedding gồmthông tin về ID của camera và viewpoint (hướng) của đối tượng cũng được thêmvào từng patch trước khi cho vào mô hình Transformer, các thông tin này giốngnhau trong một ảnh, do đó giống nhau giữa các patch
• Tầng cuối cùng chia thành hai nhánh, một nhánh đi qua một lớp Transformer đểtrích xuất các đặc trưng toàn cục, nhánh còn lại là Jigsaw Patch Module trộn và sắpxếp lại các patch thành các nhóm nhỏ, sau đó đưa vào một lớp Transformer chungkhác để học các đặc trưng cục bộ Tất cả đặc trưng toàn cục và cục bộ đều đượctính vào hàm mất mát tái định danh
Điểm mạnh của phương pháp này nằm ở hướng tiếp cận hoàn toàn mới, bằng cáchthay đổi mô hình backbone từ CNN sang Transformer nhằm loại bỏ những hạn chế vềattention trên CNN, cùng với việc sử dụng hai phương pháp Side Information Embeddingvà Jigsaw Patch Module để xử lý những thách thức riêng của bài toán tái định danh
Trang 40phương tiện Tuy nhiên, kết quả đạt được của TransReID chưa thật sự vượt trội so vớicác phương pháp trước đó, chưa tính đến độ nặng tính toán được tăng thêm khi dùngTransformer so với phương pháp CNN.
Công trình SOLIDER có tên đầy đủ là Beyond Appearance: a Semantic Controllable
hướng đến việc cải thiện mô hình self-supervised (tự học) DINO[21] cho các bài toánvề con người, bằng cách định nghĩa, gom cụm và gán nhãn tự động các bộ phận cơ thểtrong các semantic (tương tự như segment) từ DINO Bên cạnh đó, sử dụng bộ điều khiểnsemantic để tự động điều chỉnh mô hình đã huấn luyện, theo độ ưu tiên sử dụng semanticcho các bài toán cụ thể ở downstream
Hình 3.5: Biểu diễn các điểm dữ liệu trong không gian DINO
Yêu cầu cải thiện xuất phát từ việc, khi quan sát các điểm dữ liệu là kết quả của việcgom cụm các token của DINO, các điểm dữ liệu này có xu hướng gần nhau nếu chúngcó hình ảnh thị giác tương tự nhau, thay vì gần nhau do cùng thuộc một loại bộ phận cơthể người Ví dụ ở Hình 3.5, “quần xanh” (+) gần hơn “áo xanh” (△) vì cùng màu xanh,nhưng xa hơn “quần đen” (+) (nhãn bộ phận người được gán thủ công) Do đó, cần có cơchế để gán nhãn bộ phận cơ thể người (semantic label) một cách tự động và chính xác