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

Ứng dụng thị giác máy tính trong tính tiền tự động trong cửa hàng

86 6 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

Thông tin cơ bản

Định dạng
Số trang 86
Dung lượng 3,37 MB

Nội dung

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

TRẦN CƠ TÂM

ỨNG DỤNG THỊ GIÁC MÁY TÍNH TRONG TÍNH TIỀN TỰ ĐỘNG TRONG CỬA HÀNG

APPLICATION COMPUTER VISION FOR AUTOMATED CHECKOUT IN STORE

Chuyên ngành: Kỹ thuật Điều khiển và Tự động hóa Mã số:8520216

LUẬN VĂN THẠC SĨ

Trang 2

CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM Cán bộ hướng dẫn Khóa luận tốt nghiệp : TS Phạm Việt Cường

(Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Cán bộ chấm nhận xét 1 : PGS.TS Huỳnh Thái Hoàng (Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Cán bộ chấm nhận xét 2 : PGS.TS Lê Mỹ Hà

(Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Khóa luận tốt nghiệp được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG

Tp.HCM,ngày 15 tháng 06 năm 2023

Thành phần Hội đồng đánh giá khoá luận tốt nghiệp gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ khóa luận tốt nghiệp)

1 GS.TS Hồ Phạm Huy Ánh - Chủ tịch 2 PGS.TS Huỳnh Thái Hoàng - Phản biện 1 3 PGS.TS Lê Mỹ Hà - Phản biện 2

4 TS Nguyễn Trọng Tài - Thư ký 5 TS Ngô Thanh Quyền - Ủy viên

Xác nhận của Chủ tịch Hội đồng đánh giá khóa luận tốt nghiệp và Chủ nhiệm Bộ môn sau khi luận văn đã được sửa chữa (nếu có)

Trang 3

i

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HỒ CHÍ MINH

KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN: ĐIỀU KHIỂN TỰ ĐỘNG

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc

TP HCM, ngày….tháng… năm……

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: TRẦN CƠ TÂM MSHV: 2170718

Ngày, tháng, năm sinh: 07/01/1999 Nơi sinh: Đồng Nai

Chuyên ngành: Kỹ thuật Điều khiển và Tự động hóa

Mã số: 8520216

I TÊN ĐỀ TÀI:

Ứng dụng thị giác máy tính tính tiền tự động trong cửa hàng Application computer vision for automated checkout in store

II NHIỆM VỤ VÀ NỘI DUNG:

Sử dụng mạng YOLOv7 để có thể phát hiện các sản phẩm có trong danh mục sản phẩm Và mạng YOLOv7-tiny để phát hiện giỏ hàng và tay cầm sản phẩm

Sử dụng mơ hình thêo dõi đối tượng DeepSORT thêo dõi các đối tượng và gán ID cho chúng Những ID này phục vụ cho mục đích quản lý các đối tượng được nhận diện qua các khung ảnh theo thời gian

Xây dựng giải thuật quản lý kệ hàng và giỏ hàng từ đó phát hiện được đối tượng được bỏ vào và ra khỏi giỏ, đảm bảo đúng số lượng và chủng loại các sản phẩm đang có trong giỏ

Đồng bộ hóa thơng tin của đối tượng được quan sát bởi các camera Thực hiện phép biến đổi homography cho từng đầu vào Từ đó, tơi tổng qt hóa tọa độ của giỏ hàng, tay cầm sản phẩm trên một view duy nhất, và liên kết ID cục bộ của giỏ hàng và tay cầm sản phẩm ở từng camera thành một ID toàn cục

Trang 4

ii

III NGÀY GIAO NHIỆM VỤ: 06/02/2023

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 28/05/2023 V CÁN BỘ HƯỚNG DẪN: TS Phạm Việt Cường

CÁN BỘ HƯỚNG DẪN

(Họ tên và chữ ký)

Tp HCM, ngày tháng năm 20

CHỦ NHIỆM BỘ MÔN ĐÀO TẠO

(Họ tên và chữ ký)

TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ

Trang 5

iii

LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất đến Thầy Tiến sĩ Phạm

Việt Cường đã trực tiếp hướng dẫn và đồng hành cùng tơi trong q trình nghiên cứu và hồn thành luận văn Sự kiên nhẫn, chỉ dạy tận tâm cùng với những góp ý quý báu của Thầy đã giúp tơi khơng chỉ hồn thiện luận văn mà cịn phát triển khả năng nghiên cứu và sự sáng tạo của bản thân

Tôi cũng xin gửi lời cảm ơn đến các thầy cô trong bộ môn Điều khiển và tự động hóa cũng như các giảng viên trong trường Đại học Bách Khoa Thành phố Hồ Chí Minh Những kiến thức và kỹ năng mà tôi đã được học từ quý thầy cô là nền tảng quan trọng giúp tôi hiểu sâu hơn về ngành và thực hiện tốt luận văn của mình Sự tận tâm và chia sẻ khơng tiếc của thầy cơ đã góp phần quan trọng vào phát triển và thành công của tôi

Cuối cùng, tôi muốn gửi lời cảm ơn chân thành đến gia đình, người thân và bạn bè đã luôn ủng hộ, động viên và giúp đỡ tơi trong suốt q trình học tập và nghiên cứu Sự ấm áp và yêu thương của các bạn đã là động lực lớn giúp tôi vượt qua khó khăn và đạt được thành quả

Tơi rất biết ơn và mong rằng sẽ tiếp tục nhận được sự hỗ trợ và khích lệ của thầy cơ, gia đình và bạn bè trong những bước tiếp theo của cuộc sống và sự nghiệp

Xin chân thành cảm ơn và kính chúc thầy, cơ, bạn bè ln dồi dào sức khỏe và thành công trong công việc

TP Hồ Chí Minh, ngày 24 tháng 05 năm 2023 Học viên thực hiện

Trang 6

iv

TÓM TẮT

Nhu cầu tiêu dùng của con người với các loại hàng hóa ngày càng lớn, ngành dịch vụ bán lẻ trở nên phát triển nhanh chóng và trở thành một trong những mũi nhọn của nền kinh tế Cùng với sự phát triển của ngành bán lẻ, những nhà bán lẻ cần phải thích ứng để phát triển Điều này thơi thúc cần phải tạo ra những trải nghiệm tiêu dùng sáng tạo, thú vị cũng như phải có những cách thức mới thu hút sự chú ý của khách hàng Ngày nay, cơng nghiệp hóa càng phát triển, rất nhiều kỹ thuật được ứng dụng vào trong đời sống để nâng cao chất lượng cuộc sống của người dân, cũng như giúp nâng cao hiệu suất trong công việc Một hệ thống có thể giúp phát hiện các đối tượng và phân loại sản phẩm trong cửa hàng là rất quan trọng để giúp nhân viên có thể xác định được các sản phẩm thuộc loại hàng khác nhau và nhanh chóng biết được giỏ

hàng của khách hàng đang có gì để tiến hành thanh tốn, và do đó có thể nâng

cao hiệu suất làm việc của nhân viên

Luận văn dùng camera phát hiện và theo dõi khi khách hàng chọn bất kỳ sản phẩm nào từ kệ và khi họ rời đi với các sản phẩm trong giỏ hàng Hệ thống sẽ phát hiện khách hàng bỏ và lấy sản phẩm vào giỏ ở nhiều góc nhìn camera Hệ thống có thể phát hiện các sản phẩm có trên kệ, thực hiện theo dõi các sản phẩm qua nhiều khung hình theo thời gian, phát hiện được sản phẩm được bỏ vào và lấy ra khỏi giỏ Tối ưu hệ thống thanh tốn tự động để có thể chạy ổn định, đảm bảo có thể chạy trên thời gian thực

Trang 7

v

ABSTRACT

With the increasing consumer demand for various goods, the retail industry has been rapidly developing and has become one of the key drivers of the economy Along with the growth of the retail sector, retailers need to adapt and innovate This prompts the need to create innovative and engaging consumer experiences and employ new ways to attract customers' attention Today, as industrialization advances, many technologies are being applied to enhance people's quality of life and improve work efficiency Having a system that can detect objects and categorize products in a store is crucial to enable employees to identify different types of items quickly and accurately determine the contents of a customer's shopping cart for efficient checkout Therefore, it can significantly enhance the productivity of employees

A thesis utilizing camera-based detection and tracking when customers select any product from the shelves and leave with the items in their shopping carts can be proposed The system would detect when customers pick up or put back products from various camera angles It would be capable of recognizing the products on the shelves, tracking them across multiple frames over time, and detecting when products are added to or removed from the cart Optimizing an automatic payment system to ensure stable real-time operation would also be essential

Trang 8

vi

LỜI CAM ĐOAN

Tôi xin cam đoan rằng đề tài "Ứng dụng thị giác máy tính tiền tự động trong cửa hàng" là cơng trình nghiên cứu của bản thân Tất cả các nội dung, phân tích, và kết quả được trình bày trong đề tài này đều là thành quả của công việc nghiên cứu cá nhân của tôi

Tất cả các thông tin, số liệu, và hình ảnh từ các nguồn tài liệu tham khảo đều được trích dẫn và thể hiện rõ ràng trong đề tài Tơi cam đoan rằng khơng có sự vi phạm bản quyền hoặc vi phạm quyền sở hữu trí tuệ nào trong quá trình thực hiện nghiên cứu và viết luận văn này

Tơi chịu trách nhiệm hồn tồn trước bộ môn, khoa, và nhà trường về sự cam đoan này Nếu có bất kỳ sự khơng trung thực nào trong luận văn này, tơi sẵn sàng chịu hồn tồn trách nhiệm và chấp nhận mọi kỷ luật và hình phạt thêo quy định của bộ môn và nhà trường

HỌ TÊ N HỌC VIÊ N

Trang 9

vii

MỤC LỤC

CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 1

1.1 Lý do chọn đề tài 1

1.2 Những cơng trình nghiên cứu gần đây 1

1.3 Mục tiêu đề tài 4

1.4 Nhiệm vụ đề tài 4

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 6

2.1 Nhận dạng đối tượng 6

2.1.1 Giới thiệu YOLOv7 6

2.1.2 Kiến trúc YOLOv7 6

2.1.3 Những trainable Bag-of-freebies của YOLOv7: 9

2.1.4 Training trên Google Colab 12

2.2 Thuật toán theo dõi Deep SORT 13

2.2.1 Giới thiệu Deep SORT 13

2.2.2 Liên kết dữ liệu trong Deep SORT 14

2.2.3 Quản lý vòng đời 1 track 17

2.3 Chuyển đổi góc nhìn của hai camera quan sát cùng một bề mặt phẳng 17

2.3.1 Chuyển đổi từ mặt phẳng cảnh sang điểm ảnh trên ảnh 18

2.3.2 Homography với hai camera và một bề mặt quan sát 19

2.3.3 Tìm ma trận homography giữa hai ảnh 20

2.4 Thêo dõi đối tượng trên nhiều camera sử dụng Homography 23

CHƯƠNG 3 THỰC HIỆN HỆ THỐNG 27

3.1 Hệ thống giám sát kệ hàng 27

Trang 10

viii

3.2.2 Thu thập data 32

3.3 Thêo dõi đối tượng 39

3.4 Quản lý kệ hàng và giỏ hàng 40

CHƯƠNG 4 KẾT QUẢ 48

4.1 Mơ hình phát hiện đối tượng: .48

4.1.1 Đánh giá kết quả huấn luyện mơ hình nhận dạng giỏ hàng và tay cầm sản phẩm (YOLOv7-tiny) 48

4.1.2 Đánh giá kết quả huấn luyện mơ hình phát hiện sản phẩm (YOLOv7) 52

4.2 Phát hiện lấy và trả sản phẩm: 57

4.2.1 Khảo sát tốc độ xử lý 57

4.2.2 Khảo sát tỷ lệ theo dõi và nhận dạng sản phẩm của hệ thống với một khách hàng 58

4.2.3 Khảo sát tỷ lệ theo dõi và nhận dạng sản phẩm của hệ thống với hai khách hàng 60

4.2.4 Khảo sát tỷ lệ lấy và trả sản phẩm: 63

4.2.5 Khảo sát tỷ lệ lấy và trả những sản phẩm được nhận dạng tốt 64

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

5.1 Những kết quả đạt được .67

5.2 Những hạn chế còn tồn tại 67

5.3 Hướng phát triển 68

Trang 11

ix

DANH MỤC HÌNH VẼ

Hình 1.1 Mơ hình giỏ hàng thơng minh 2

Hình 1.2 Các cảm biến cộng tác theo dõi hàng và sản phẩm của Amazon [3] 3Hình 2.1 Kiến trúc của YOLO 6

Hình 2.2 Cấu trúc Backbone của YOLOv7 7

Hình 2.3 Cấu trúc Neck của YOLOv7 8

Hình 2.4 Cấu trúc Head của YOLOv7 8

Hình 2.5 Cấu trúc của khối ELAN 9

Hình 2.6 Cấu trúc mơ hình đơn nhánh 10

Hình 2.7 Cấu trúc mơ hình đa nhánh .11

Hình 2.8 Compund model scaling trong YOLOv7 .11

Hình 2.9 Minh họa vị trí Auxiliary head 12

Hình 2.10 Logo của Google Colaboratory 13

Hình 2.11 Mơ hình tổng qt thuật tốn Deep SORT 14

Hình 2.12 Minh hoạ cho phép biến đổi homography .19

Hình 2.13 Minh hoạ hai camera và một bề mặt quan sát 19

Hình 2.14 Thực hiện phép biến đổi homography bằng chessboard 20

Hình 2.15 Hình bên trái được quan sát bằng camera bên trái, hình ở giữa là góc nhìn tham chiếu của kệ hàng mong muốn chuyển đổi, hình bên phải được quan sát bằng camera phải 21

Hình 2.16 Kết quả camera trái và phải sau khi được chuyển đổi về mặt phẳng tham chiếu kệ hàng 21

Hình 2.17 Hình bên trái được quan sát bằng camera bên trái, hình ở giữa là góc nhìn tham chiếu của giỏ hàng mong muốn chuyển đổi, hình bên phải được quan sát bằng camera phải 22

Hình 2.18 Kết quả camera trái và phải sau khi được chuyển đổi về mặt phẳng tham chiếu giỏ hàng 22

Hình 2.19 Sơ đồ theo dõi toàn cục sử dụng homography .23

Trang 12

x

Hình 3.1 Sơ đồ hệ thống 27

Hình 3.2 Quá trình lấy sản phẩm trên kệ hàng 28

Hình 3.3 Quá trình đặt sản phẩm vào kệ hàng .29

Hình 3.4 Kệ hàng sử dụng trong luận văn 30

Hình 3.5 Giỏ hàng được sử dụng trong luận văn 30

Hình 3.6 Bố trí camera trong luận văn 31

Hình 3.7 Ảnh quan sát từ hai camera .31

Hình 3.8 Mơ hình phát hiện sản phẩm 32

Hình 3.9 Một số hình chụp sản phẩm nhận dạng bằng YOLOv7 33

Hình 3.10 Một số hình chụp sản phẩm nhận dạng bằng YOLOv7-tiny .34

Hình 3.11 Gán nhãn bằng phần mềm labelimg 35

Hình 3.12 File ảnh và filê.txt sau khi được gán nhãn 35

Hình 3.13 Thơng số được lưu trong filê.txt 36

Hình 3.14 Website roboflow.com 36

Hình 3.15 Các file cần cho việc huấn luyện 37

Hình 3.16 Quá trình huấn luyện 39

Hình 3.17 Kết quả nhận diện và theo dõi sản phẩm của YOLOv7 và DeepSORT 40

Hình 3.18 Sơ đồ quản lý ở mỗi kệ hàng ở mỗi camera 41

Hình 3.19 Kệ hàng trước khi có tay khách hàng lấy vật 43

Hình 3.20 Kệ hàng có tay khách hàng lấy vật .43

Hình 3.21 Kệ hàng sau khi có tay khách hàng lấy vật .44

Hình 3.22 Kệ hàng trước khi có tay khách hàng trả vật 44

Hình 3.23 Kệ hàng có tay khách hàng trả vật .45

Hình 3.24 Kệ hàng sau khi có tay khách hàng trả vật .45

Hình 3.25 Sơ đồ quản lý ở mỗi giỏ hàng 46

Hình 3.26 Sản phẩm được quản lý ở mỗi giỏ hàng 47

Trang 13

xi

Hình 4.2 Kết quả confusion matrix nhận diện tay người có cầm sản phẩm và

giỏ hàng 49

Hình 4.3 Kết quả nhận diện tay người có cầm sản phẩm, tay khơng cầm sản phẩm và giỏ hàng 50

Hình 4.4 Kết quả nhận diện hai tay người có cầm sản phẩm 51

Hình 4.5 Kết quả nhận diện nhiều tay có cầm sản phẩm và giỏ hàng .51

Hình 4.6 Kết quả nhận diện nhiều tay có cầm sản phẩm và nhiều giỏ hàng 52

Hình 4.7 Đồ thị quá trình huấn luyện nhận diện tay người có cầm sản phẩm và giỏ hàng 53

Hình 4.8 Kết quả confusion matrix nhận diện sản phẩm có trên kệ 54

Hình 4.9 Kết quả nhận diện các sản phẩm có trên kệ hàng 1 56

Hình 4.10 Kết quả nhận diện các sản phẩm có trên kệ hàng 2 .56

Hình 4.11 Kết quả nhận diện các sản phẩm có trên kệ hàng 3 .57

Hình 4.12 Trước khi lấy sản phẩm 58

Hình 4.13 Sau khi lấy sản phẩm bỏ vào giỏ hàng .59

Hình 4.14 Hai người lấy sản phẩm cùng thời điểm 61

Trang 14

xii

DANH MỤC BẢNG

Bảng 2.1 Tóm tắt bộ lọc Kalman 15

Bảng 2.2 Ví dụ về tìm ánh xạ của các track ID của mỗi camêra 24

Bảng 3.1 Danh sách loại sản phẩm nhận dạng bằng YOLOv7 .32

Bảng 3.2 Danh sách loại sản phẩm nhận dạng bằng YOLOv7-tiny .33

Bảng 3.3 Các phương pháp augmêntation sử dụng 36

Bảng 4.1 Kết quả sau khi huấn luyện nhận diện tay người có cầm sản phẩm và giỏ hàng với tập validation 48

Bảng 4.2 Kết quả nhận diện tay người có cầm sản phẩm và giỏ hàng với tập test 50

Bảng 4.3 Kết quả sau khi huấn luyện sản phẩm có trên kệ với tập validation 52

Bảng 4.4 Kết quả sau khi huấn luyện sản phẩm có trên kệ với tập test 55

Bảng 4.5 Thời gian và tốc độ thực thi của hệ thống 57

Bảng 4.6 Kết quả khảo sát với việc lấy trả hàng với một người 59

Bảng 4.7 Kết quả khảo sát với việc lấy trả hàng với hai người .62

Bảng 4.8 Kết quả khảo sát với việc lấy trả hàng với hai người .63

Bảng 4.9 Kết quả khảo sát với việc lấy trả hàng với một người và sản phẩm tốt 65

Trang 15

xiii

DANH MỤC TỪ VIẾT TẮT

Số thứ tự Tên viết tắt Tên đầy đủ

1 IOU Intersection Over Union

2 ID identification

3 WRN Wide Residual Network

4 Colab Colaboratory

5 GPU Graphics Processing Unit

6 CPU Central Processing Unit

Trang 16

1

CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI

1.1 Lý do chọn đề tài

Nhu cầu tiêu dùng của con người với các loại hàng hóa ngày càng lớn, ngành dịch vụ bán lẻ trở nên phát triển nhanh chóng và trở thành một trong những mũi nhọn của nền kinh tế Cùng với sự phát triển của ngành bán lẻ, những nhà bán lẻ cần phải thích ứng để phát triển Điều này thôi thúc cần phải tạo ra những trải nghiệm tiêu dùng sáng tạo, thú vị cũng như phải có những cách thức mới thu hút sự chú ý của khách hàng Trong đó, giai đoạn thanh tốn là rào cản rất lớn, gây nên sự khó chịu, trải nghiệm không tốt với khách hàng Việc phải chờ đợi thanh toán quá lâu khi mua hàng sẽ khiến khách hàng rời đi, chọn những cửa hàng khác thay thế Kết quả là lợi nhuận bị mất, sự hài lòng của người tiêu dùng giảm và trải nghiệm của khách hàng bị ảnh hưởng

Ngày nay, cơng nghiệp hóa ngày càng phát triển, rất nhiều kỹ thuật được ứng dụng vào trong đời sống để nâng cao chất lượng cuộc sống của người dân, cũng như giúp nâng cao hiệu suất trong cơng việc Một hệ thống có thể giúp phát hiện các đối tượng và phân loại sản phẩm trong cửa hàng là rất quan trọng để giúp nhân viên có thể xác định được các sản phẩm thuộc loại hàng khác nhau và nhanh chóng biết được giỏ hàng của khách hàng đang có gì để

tiến hành thanh tốn, và do đó có thể nâng cao hiệu suất làm việc của nhân

viên

1.2 Những cơng trình nghiên cứu gần đây

Bài viết Automated Checkout for Stores: A Computer Vision Approach

[1] đề cập đến phương pháp tính tiền tự động ở quầy thu ngân, hệ thống sẽ

Trang 17

2

phẩm chạy trên băng chuyền, các đối tượng nhận diện được đều có confidence

scorelớn hơn 50%

Kết quả của tác giả đưa ra là khá tốt và ý tưởng của tác giả rất hay Tuy nhiên khách hàng vẫn phải mất thời gian xếp hàng hóa, đóng gói, tính tiền tại quầy Cửa hàng vẫn phải tốn nhân sự cho việc thu ngân Cùng với đó các loại sản phẩm ở trong siêu thị rất nhiều, khó có mơ hình nhận dạng nào có thể nhận diện được chính xác tất cả

Bài viết Smart Shopping Cart using Machine Vision along with

Machine Learning [2] đề cập đến phương án tính tiền tự động đó là một giỏ

hàng thông minh Bằng cách sử dụng Thị giác máy để xác định các mặt hàng được đặt trong giỏ hàng, một mô-đun Raspbêrry Pi để xử lý dữ liệu và cập nhật cơ sở dữ liệu và màn hình LCD để hiển thị thông tin về khách hàng và giỏ hàng của họ Ở cuối của quá trình mua sắm, một hóa đơn được tạo ra cho người tiêu dùng

Hình 1.1 Mơ hình giỏ hàng thơng minh

Việc áp dụng loại hệ thống mua sắm thông minh này sẽ là cách rất có lợi cho khách hàng để tránh sự bất tiện mà họ thường gặp phải trong khi mua sắm Khách hàng sẽ có thể giảm thiểu thời gian xếp hàng trong q trình thanh tốn trong thu ngân Tuy nhiên giá thành của mỗi giỏ hàng này sẽ rất cao, khó có thể triển khai cho một siêu thị hoặc một trung tâm mua sắm lớn

Bài viết Just Walk-Out Technology and its Challenges: A case of

Amazon Go [3] đề cập đến công nghệ mới tên là “Amazon Go” Đây là một cửa

Trang 18

3

những thứ mà họ muốn và bước ra ngoài, đơn đặt hàng được tính trực tiếp vào tài khoản Hình ảnh được chụp khi khách hàng bước vào cửa hàng, khi khách hàng chọn bất kỳ sản phẩm nào từ kệ và khi họ rời đi với các sản phẩm trong khi rời đi Nhận dạng khuôn mặt và thông tin khách hàng được theo dõi có thể bao gồm hình ảnh, thơng tin chi tiết như chiều cao, cân nặng và sinh

trắc học Điều đó cho phép hệ thống giám sát của cửa hàng xác định khách

hàng để nó có thể theo dõi họ khi họ di chuyển khắp cửa hàng Camera ghi lại hình ảnh của khách hàng khi họ đến trước kệ, những món đồ họ chọn được và liệu món đồ đã chọn có nằm trong tay khách hàng hay được giữ trở lại kệ Cảm biến đặt tại kệ tự động phát hiện khi sản phẩm được lấy từ kệ hoặc trả lại

Hình 1.2 Các cảm biến cộng tác theo dõi hàng và sản phẩm của Amazon [3]

Amazon Go hướng đến cuộc cách mạng mua sắm trong thời đại công nghệ tiên tiến bằng cách loại bỏ các quầy thanh toán mang lại sự hài lòng của người tiêu dùng và trải nghiệm của khách hàng Đây là một xu hướng mới cho ngành bán lẻ

Trang 19

4

Amazon Go Mơ hình này có thể sử dụng lại nền tảng các camera giám sát có sẵn ở các siêu thị và cửa hàng hiện tại Nó có thể chia nhỏ các mơ-đun kệ hàng,

khi đósố loại sản phẩm cần phải nhận dạng sẽ ít hơn, độ chính xác đảm bảo

hơn so với các phương án nhận diện tất cả loại sản phẩm trong cửa hàng

1.3 Mục tiêu đề tài

Sau khi tham khảo các bài báo và nghiên cứu, mục tiêu của đề tài là dựa trên ý tưởng của “Amazon Go” về việc dùng camera phát hiện và theo dõi khi khách hàng chọn bất kỳ sản phẩm nào từ kệ và khi họ rời đi với các sản phẩm trong khi rời đi

Hệ thống sẽ phát hiện khách hàng bỏ và lấy sản phẩm vào giỏ ở nhiều góc nhìn camera:

- Phát hiện các sản phẩm có trên kệ, thực hiện theo dõi các sản phẩm qua nhiều khung hình theo thời gian, phát hiện được sản phẩm được bỏ vào và lấy ra khỏi giỏ

- Đồng bộ các góc nhìn từ các camera về một góc nhìn tham chiếu duy nhất,

thực hiện định vị giỏ hàng và tay của khách hàng có cầm nắm sản phẩm trong

khơng gian quan sát đó

- Có được thông tin sản phẩm và khách hàng tiến hành tạo ra giỏ hàng ảo để quản lý khách hàng và các sản phẩm được chọn qua các khung hình

Tối ưu hệ thống thanh tốn tự động để có thể chạy ổn định, đảm bảo có thể chạy trên thời gian thực

1.4 Nhiệm vụ đề tài

Sử dụng mạng YOLOv7 để có thể phát hiện các sản phẩm có trong danh mục sản phẩm Và mạng YOLOv7-tiny để phát hiện giỏ hàng và tay của khách hàng có cầm vật Thu thập dữ liệu với nhiều góc độ điều kiện khác nhau cho việc huấn luyện

Trang 20

5

Xây dựng giải thuật quản lý kệ hàng và giỏ hàng từ đó phát hiện được đối tượng được bỏ vào và ra khỏi giỏ Đảm bảo đúng số lượng các loại sản phẩm đang có trong giỏ

Đồng bộ hóa từ các ảnh đầu vào Thực hiện phép biến đổi homography cho từng đầu vào Tổng quát hóa tọa độ của giỏ hàng và tay cầm sản phẩm ở nhiều camera trên một view duy nhất Cùng với đó liên kết ID của giỏ hàng và tay của khách hàng cầm sản phẩm ở từng camera thành một ID toàn cục

Triển khai phát hiện, thêo dõi đối tượng và phát hiện đối tượng được bỏ vào và ra giỏ trên nhiều camera

Trang 21

6

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Nhận dạng đối tượng

2.1.1 Giới thiệu YOLOv7

YOLO - You Only Look Once là một trong những mơ hình phát hiện vật tốt nhất ở thời điểm hiện tại Dù đều được gọi là YOLO, các phiên bản của mơ hình này đều có những cải tiến rất đáng kể sau mỗi phiên bản Sau 3 phiên bản của tác giả chính Josêph Rêdmon là YOLOv1 đến v3, tính đến thời điểm hiện tại đã có thêm những phiên bản khác như: YOLOv4 của Alexey Bochkovskiy, YOLOv5 của Glenn Jocher, YOLOv6 được của nhóm nghiên cứu Meituan, YOLOv7 Chien-Yao Wang, Alexey và Bochkovskiy

YOLOv7 là mơ hình one stage detectors (cùng lúc sẽ thực hiện cả việc tìm kiếm bounding box và classification cho một vật thể), chính vì đặc điểm này mà YOLO có tốc độ khá nhanh và độ chính xác cao

2.1.2 Kiến trúc YOLOv7

Kiến trúc của YOLO nói chung:

Hình 2.1 Kiến trúc của YOLO

Các khung hình ảnh đầu vào được trích xuất đặc trưng thơng qua một backbonê, sau đó được kết hợp và trộn lẫn trong neck Cuối cùng YOLO sẽ dự đoán các hộp giới hạn (bounding boxes), các class và các đối tượng của các hộp giới hạn

Trang 22

7

Backbone là một mạng nêural sâu được tạo thành chủ yếu từ các lớp tích chập Mục tiêu chính của backbone là trích xuất các đặc trưng cần thiết Lựa chọn backbone là một bước quan trọng vì nó sẽ cải thiện hiệu suất của việc phát hiện đối tượng Thường, các mạng neural tiền huấn luyện được sử dụng để huấn luyện backbone Một số mạng được sử dụng phổ biến là VGG-16, Imagênêt, Routinênêt, Rêsnêt50, vv Đối với YOLOv7 được sử dụng các trọng số tiền huấn luyện sau đây: VoVNêt, CSPVONêt, ÊLAN Backbone hoàn chỉnh của YOLOv7 là tập hợp của các ELAN Block và các Transition block

Hình 2.2 Cấu trúc Backbone của YOLOv7

Trang 23

8

Hình 2.3 Cấu trúc Neck của YOLOv7

Quá trình phát hiện đối tượng xảy ra trong phần hêad, còn được gọi là dênsê prêdiction, để phân tách nhiệm vụ định vị và phân loại đối tượng cho từng module Khi các module thực hiện dự đoán cho định vị và phân loại cùng một lúc, layer này chỉ xuất hiện ở một stage duy nhất sau các module phát hiện như yolo, ssd, rpn trong quá trình tự phát hiện YOLOv7 có nhiều head Phần head chịu trách nhiệm cho đầu ra gọi là Lead Head, phần hêad được dùng hỗ trợ cho việc training các lớp giữa gọi là Auxiliary Head

Hình 2.4 Cấu trúc Head của YOLOv7

Trang 24

9

trên các giá trị của các nêuron trong mơ hình, giúp xác định các vị trí quan trọng để dự đốn bounding box

2.1.3 Những trainable Bag-of-freebies của YOLOv7:

Bag-of-freebies (BoF) là một phương pháp tối ưu hiệu suất của mô hình mạng nơ-ron bằng cách áp dụng các kỹ thuật và công nghệ mới nhất mà không làm tăng thêm chi phí tính tốn hoặc số lượng tham số của mơ hình Từ đó, BoF có thể giúp cải thiện độ chính xác của mơ hình một cách đáng kể

Layer Aggregation Network:

Mạng tổng hợp (aggregation networks) có vai trò quan trọng trong việc tăng tốc độ xử lý của mạng YOLO bằng cách tối ưu hóa hiệu suất của các lớp tích chập trong backbone Trong YOLOv7, tác giả đã xây dựng và nghiên cứu các mạng liên kết chéo "cross stage partial" để tối ưu hóa mơ hình Đồng thời, họ cũng cố gắng giảm bớt lượng bộ nhớ cần thiết để lưu trữ các lớp trong bộ nhớ cùng với khoảng cách mà gradient phải lan truyền qua các lớp Việc gradient lan truyền ngắn hơn sẽ làm cho mạng học được hiệu quả hơn ở lớp cuối cùng Để tổng hợp các lớp cuối cùng, tác giả đã chọn phương pháp tổng hợp E-ELAN trong một phiên bản mở rộng của khối tính tốn ELAN

Trang 25

10

Trong khối ELAN, gồm ba phần chính: Cross Stage Partial, Computation Block và PointWiseConv Kỹ thuật CSP được áp dụng để thêm một nhánh "cross stage partial" cho khối, nhằm cải thiện khả năng nhận diện các đặc trưng của đối tượng mà không mất đi các đặc trưng này sau khi đi qua nhiều lớp Dênsê khác nhau, và đã được sử dụng trong YOLOv4 Computation Block bao gồm các lớp Conv được tính tốn để tạo ra các feature map mới thơng qua các lớp Conv kích thước 3x3 Cuối cùng, các fêaturê map được tổng hợp lại ở cuối sử dụng toán tử concatenate trên chiều chanel

Compund model scaling:

Được phân tích kỹ lần đầu tiên trong EfficientNet với kỹ thuật scale tổng hợp cả 3 chiều của mạng nơ-ron là: chiều sâu, chiều rộng và chiều độ phân giải

của ảnh đầu vào.Tối ưu hóa việc khuếch đại độ lớn của modêl để có được hiệu

năng tốt hơn

Re-parameterization:

Re-parameterization là một kỹ thuật được sử dụng sau khi training để cải thiện mơ hình Nó làm tăng thời gian training nhưng cải thiện kết quả inference

Trong mơ hình infêrêncê đơn nhánh, kiến trúc đơn nhánh cho phép giải phóng bộ nhớ ngay sau khi tính tốn xong, giúp tối ưu hóa chi phí sử dụng bộ nhớ Kiến trúc đơn nhánh cũng linh hoạt hơn trong thiết kế kiến trúc mơ hình

Trang 26

11

Với mơ hình training đa nhánh, dễ dàng hội tụ hơn cũng như đạt hiệu quả tốt hơn so với những mơ hình đơn nhánh bằng việc tăng cường việc học các đặc trưng và tránh được hiện tượng vanishing gradient Không phụ thuộc vào bất cứ lớp nào do có nhiều đường độc lập

Hình 2.7 Cấu trúc mơ hình đa nhánh

Phương pháp này cho phép chuyển đổi các tham số của mơ hình hiện tại sang mơ hình khác, nhằm sử dụng tất cả ưu điểm của cả hai kiến trúc Khi thực hiện quá trình training, ta sử dụng cấu trúc đa nhánh, sau đó thực hiện Re-paramêtêrization để tăng khả năng nhận diện

Trang 27

12

Deep Supervision (Auxiliary head):

Bằng cách thêm một auxiliary head từ các layer sớm trong mơ hình, ta có thể bắt model phải dự đốn từ những lớp nơng Việc này có thể ảnh hưởng tích cực lên quá trình học bằng cách giúp model học thêm các đặc trưng cần thiết từ các lớp sớm, thay vì phải dựa vào các lớp sâu hơn trong mơ hình Điều này có thể giúp q trình học của model trở nên nhanh chóng và hiệu quả hơn Trong q trình dự đốn, ta sẽ loại bỏ auxiliary head và chỉ sử dụng head chính để thực hiện dự đốn Việc này giúp giảm thời gian tính tốn và tối ưu hiệu suất của mơ hình

Hình 2.9 Minh họa vị trí Auxiliary head

2.1.4 Training trên Google Colab

Trang 28

13

giới hạn này, tôi tải dữ liệu lên Googlê Drivê để kết nối với Colab Với khả năng kết hợp với Googlê Drivê, Googlê Colab cho phép đọc và lưu dữ liệu nhanh chóng và tiện lợi hơn

Hình 2.10 Logo của Google Colaboratory

2.2 Thuật toán theo dõi Deep SORT

2.2.1 Giới thiệu Deep SORT

Trang 29

14

Hình 2.11 Mơ hình tổng quát thuật toán Deep SORT

Trong lớp thuật toán tracking-by-detection, việc theo dõi nhiều đối tượng đòi hỏi giải quyết hai yếu tố chính để đạt được hiệu suất tối ưu:

• Data Association: vấn đề liên kết dữ liệu, bao gồm các tiêu chí để liên

kết một detection mới với các track đã được lưu trữ trước đó

• Track Life Cycle Management: việc quản lý vòng đời của các track đã

được lưu trữ, từ việc khởi tạo track, thêo dõi đối tượng cho đến khi track bị ngừng và xóa khỏi bộ nhớ

Deep SORT giải quyết vấn đề data association bằng cách sử dụng thuật toán Hungary Tuy nhiên, phương pháp liên kết được thực hiện bằng cách sử dụng khoảng cách giữa dêtêction và track trong không gian vêctor, đồng thời cũng dựa vào khoảng cách cosine giữa hai vêctor đặc trưng được trích xuất từ detection và track Nếu hai vêctor đặc trưng được trích xuất từ cùng một đối tượng, chúng sẽ tương đồng hơn so với hai vêctor đặc trưng được trích xuất từ hai đối tượng khác nhau

2.2.2 Liên kết dữ liệu trong Deep SORT

Bộ lọc Kalman:

Trang 30

15

Mỗi track bao gồm 8 thành phần:

Với ở đây là tọa độ tâm của đối tượng (ở đây là tâm của bounding

box), γ là tỷ lệ khung hình, h là chiều cao của bounding box, và các vận tốc tương ứng

Trong theo dõi mục tiêu, hai trạng thái của mục tiêu ta cần ước lượng là: Giá trị trung bình (Mean): Nó chứa thơng tin về vị trí và tốc độ của mục tiêu

8 Vêctơ chiều Mỗi giá trị tốc độ được khởi tạo bằng 0

Hiệp phương sai (Covariancê) Biểu thị độ bất định của trạng thái ước lượng bằng: 8x8 con số trong ma trận càng lớn thì độ bất định càng lớn

Tóm tắt bộ lọc Kalman

Bảng 2.1 Tóm tắt bộ lọc Kalman

Dự đốn Hiệu chỉnh

Dự đốn:

Tính Kalman gain matrix K:

Tính Kalman gain matrix K:

Ước lượng giá trị x:

()

11

ˆk ˆkk ˆk

x =x− +K zHz

Ước lượng covariance của bộ lọc Kalman:

Hungarian matching

Thuật toán matching Hungary được dùng giải quyết sự tương quan giữa trạng thái dự đoán và trạng thái đo được trong bộ lọc Kalman Thuật toán này sử dụng một cặp trạng thái: trạng thái dự đoán ước lượng bởi bộ lọc Kalman và trạng thái đo được từ bộ phát hiện

Trang 31

16

MatchingHungary - khoảng cách Mahalanobis tương quan chuyển động:

Khoảng cách Mahalanobis, còn được gọi là khoảng cách covariance, là một phương pháp hiệu quả để tính tốn độ tương quan giữa hai tập hợp mẫu chưa

biết, đo lường mức độ phù hợp của dự đoán và phát hiện:

Trong đó (yi,Si) là giá trị kỳ vọng và ma trận covariance của biến ngẫu nhiên track thứ i, và dj là giá trị của detection thứ j

Ngoài việc đo lường khoảng cách giữa track và detection, khoảng cách Mahalanobis còn được dùng để loại trừ các liên kết không chắc chắn bằng cách lập ngưỡng khoảng cách Mahalanobis t

MatchingHungary - khoảng cách Mahalanobis tương quan đặc điểm ngoại hình:

Deep SORT sử dụng một độ đo khác về đặc trưng của đối tượng, nhằm đảm bảo việc liên kết chuẩn xác dù đối tượng đã biến mất và sau đó xuất hiện trở lại trong khung hình Đó chính là các đặc trưng Với mỗi detection, các đặc trưng học được từ mạng ReID network Kiến trúc này được giới thiệu chỉ với số lớp rất nhỏ (16 lớp), vẫn có thể đạt pêrformancê vượt trội hơn các kiến trúc hàng nghìn lớp khác Đặc biệt là thời gian training và infêrêncê cũng nhanh hơn rất nhiều

Với mỗi dêtêction, đặc trưng rj được trích xuất với ||rj ||=1 Với mỗi track, một danh sách với độ dài khoảng 100 được sử dụng để lưu trữ đặc trưng của

100 track gần nhất: Khi đó, độ đo mới giữa track và

dêtêction được tính bằng khoảng cách cosine:

Nếu khoảng cách cosin nhỏ hơn mức ngưỡng t, nó được coi là khớp

Trang 32

17

Để thiết lập tương quan, Deep SORT sử dụng tổng có trọng số để kết hợp hai chỉ số:

Có thể sử dụng trọng số để kiểm soát tác động của từng chỉ số đối với chỉ số tổng

Cascade matching - tracking scene

Nhằm cải thiện độ chính xác của liên kết, chủ yếu là vì khi đối tượng biến mất trong thời gian dài, độ không chắc chắn của bộ lọc Kalman sẽ tăng lên rất nhiều và sẽ dẫn đến phân tán xác suất dự đoán liên tục Vì vậy, nếu dự đốn liên tục khơng được cập nhật, phương sai của phân phối chuẩn sẽ ngày càng lớn Khi đó, giá trị của khoảng cách Mahalanobis giữa các điểm xa giá trị kỳ vọng và các điểm gần giá trị kỳ vọng là như nhau

Chiến lược đối sánh theo tầng tiến hành lấy lần lượt từng track ở các frame trước đó, để tiến hành xây dựng ma trận chi phí và giải bài tốn phân cơng theo từng tầng

2.2.3 Quản lý vịng đời 1 track

Deep SORT sử dụng một biến trạng thái có ba giá trị (tentative, confirmed, dêlêtêd) để quản lý vịng đời của một track:

• Ban đầu, track sẽ được gán trạng thái têntativê để thăm dò

• Nếu track duy trì được trong ít nhất 3 frame tiếp theo, trạng thái sẽ

chuyển sang confirmed

• Các track có trạng thái confirmed sẽ được duy trì trong 30 frame tiếp

theo ngay cả khi mất dấu

• Nếu track bị mất dấu trước khi đạt được 3 frame, trạng thái sẽ chuyển

sang deleted và track sẽ bị xóa khỏi trình theo dõi

2.3 Chuyển đổi góc nhìn của hai camera quan sát cùng một bề mặt phẳng

Trang 33

18

2.3.1 Chuyển đổi từ mặt phẳng cảnh sang điểm ảnh trên ảnh

Giả sử chúng ta có một bề mặt phẳng trong thế giới thực (ví dụ như một bức tường, mặt đất) và ta quan sát nó bằng một máy ảnh với ma trận chiếu P Bề mặt phẳng đó là 2D và ta có thể định hệ tọa độ ( )s t cho nó Các điểm trên ,bề mặt phẳng đó nằm trong khơng gian 3D và vị trí của chúng trong khơng gian 3D có thể được biểu diễn bằng tọa độ camera XYZ Ta có thể chuyển từ hệ tọa độ ( )s t,

sang tọa độ camera XYZ bằng cách nhân (s t, ,1) với một ma trận 4 x 3 như sau: 00011 0 0 1xxyyzyXabXsYabYtZabZ          =              

Điểm ( )x y tương ứng với một điểm , ( )s t trên mặt phẳng của cảnh thu ,được bằng cách: 1XwxYwyPZw     =          

Hai ánh xạ này cùng định nghĩa một ma trận 3 × 3 H ánh xạ (s t, ,1)đến

(wx wy w trong không gian ảnh , , )

1wxswyH twz =     

Ma trận H được gọi là ma trận homography

Đảo ngược của phép ánh xạ này là:

Trang 34

19

Hình 2.12 Minh hoạ cho phép biến đổi homography

2.3.2 Homography với hai camera và một bề mặt quan sát

Hai camêra cùng quan sát đến một bề mặt quan sát, nên chúng sẽ có hệ tọa độ XYZ khác nhau Bây giờ chúng ta có hai phép ánh xạ tuyến tính H1 và H2, được xác định bởi hai máy ảnh Mỗi máy ảnh định nghĩa một phép ánh xạ tuyến tính có dạng như sau:

11wxsHwytwz−    =      

Trang 35

20

2.3.3 Tìm ma trận homography giữa hai ảnh

Giả sử chúng ta có N cặp điểm tương ứng (x yi, i)và (x yi, i) giữa hai hình ảnh, gần như có mối quan hệ với một homography H không xác định

1112132122233132331iiiiwxHHHxwyHHHywHHH    =            

Sử dụng N điểm, để tìm ma trận H ta có thể viết lại cơng thức:

1112111 11 1113111 11 112122233132331 0 0 0 00 0 0 1 01 0 0 0 00 0 0 1 0NNNNNNNNNNNNNNHHxyx xx yxHxyy xy yyHHxyx xx yxHxyy xy yyHHH    − − −     − − −          =   − − −         − − −          

Ta có thể tìm ma trận H sử dụng nhiều điểm bằng bảng cờ vua (chess board) Bảng cờ vua xuất hiện thường xuyên trong lý thuyết và thực hành thị giác máy tính vì hình học có cấu trúc rất phù hợp cho việc phát hiện và xử lý thuật toán

Trang 36

21

Kết quả thực hiện chuyển đổi: Trên kệ hàng:

Hình 2.15 Hình bên trái được quan sát bằng camera bên trái, hình ở giữa là góc nhìn tham chiếu của kệ hàng mong muốn chuyển đổi, hình bên phải được

quan sát bằng camera phải

Sau khi thực hiện chuyển đổi homography về góc nhìn tham chiếu ta được kết quả:

Trang 37

22

Trên giỏ hàng:

Hình 2.17 Hình bên trái được quan sát bằng camera bên trái, hình ở giữa là góc nhìn tham chiếu của giỏ hàng mong muốn chuyển đổi, hình bên phải được

quan sát bằng camera phải

Sau khi thực hiện chuyển đổi homography về góc nhìn tham chiếu ta được kết quả:

Trang 38

23

2.4 Theo dõi đối tượng trên nhiều camera sử dụng Homography

Trường hợp của luận văn là các máy quay trùng nhau, tức là ghi lại cùng một cảnh nhưng từ góc nhìn khác Mơi trường gồm 2 camera quay từ các góc nhìn khác nhau nhìn chung một cảnh và sẽ có một đến hai khách hàng trong khung hình Đối tượng ta cần theo dõi, liên kết giữa các camera là tay của khách hàng có cầm sản phẩm và giỏ hàng Tôi quyết định sử dụng phương pháp Homography để liên kết các track tương ứng với mỗi đối tượng được nhận diện ở mỗi camera

Hình 2.19 Sơ đồ theo dõi toàn cục sử dụng homography

Ảnh từ camêra được đưa vào mơ hình YOLOv7 để xác định thơng tin về các đối tượng trong khung ảnh Kết quả này sẽ được đưa vào mơ hình DêêpSORT để gán ID cục bộ cho mỗi đối tượng và duy trì ID đó khi đối tượng có sự biến mất trong vài khung ảnh Sau đó, thơng tin về đối tượng được theo dõi ở hai camera sẽ được liên kết với nhau bằng homography khi các đối tượng nằm trong mặt phẳng tham chiếu để có được ID tồn cục

Liên kết các track ID ở các camera:

Trang 39

24

Hình 2.20 Các bounding box của đối tượng ở mỗi camera được chuyển đổi homography về mặt phẳng tham chiếu

Các track hiện tại bao gồm thông tin về bounding box đã được chuyển đổi sang cùng góc nhìn tham chiếu và ID Để liên kết ID giữa các camera, tôi sử dụng phương pháp xác định khu vực chồng lấn lớn nhất giữa các bounding box của đối tượng ở mỗi camêra được chuyển đổi homography về mặt phẳng tham chiếu

Đầu tiên, tôi xây dựng danh sách những bounding box được chuyển đổi

homography để đại diện cho vị trí của các đối tượng từ khung ảnh bên trái và bên phải Tôi tạo ma trận chồng lấn để biểu diễn việc chồng lấn giữa các đối tượng ở hai danh sách từ hai khung ảnh

Tiếp theo, xử lý ma trận chồng lấn bằng cách tìm các khu vực chồng lấn lớn nhất và gán các đối tượng từ khung ảnh bên trái với đối tượng tương ứng từ khung ảnh bên phải Quá trình này được tiếp tục cho đến khi khơng cịn khu vực chồng lấn lớn hơn

Cuối cùng, hàm trả về lêft_to_right và right_to_lêft, đại diện cho ánh xạ giữa các đối tượng từ khung ảnh bên trái sang khung ảnh bên phải và ngược lại

Ví dụ:

Bảng 2.2 Ví dụ về tìm ánh xạ của các track IDcủa mỗi camera

Trang 40

25

Với kết quả trên ta có được kết quả ID 1001 ở camera bên trái sẽ tương ứng với ID 1002 ở camera bên phải, tương tự 1004 tương ứng 1003 và 1005 tương ứng 1006 Ta được kết quả: left_to_right {{1001: 1002},{1004: 1003},{1005: 1006}} và right_to_left {{1002: 1001},{1003: 1004},{1006: 1005}}

Sau khi ánh xạ các đối tượng từ camera trái sang camera phải, để đảm bảo tính chính xác của liên kết này và tránh trường hợp đặt chồng chéo hai đối tượng khác nhau trong các góc nhìn, tơi sử dụng thuật tốn SIFT để trích xuất các đặc trưng từ bounding box có trong ánh xạ Nếu các đặc trưng này khơng có sự tương đồng đáng kể, tơi thực hiện xóa ánh xạ đó

Chiến lược gán ID tồn cục:

Để quản lý các track trong ID toàn cục, tôi sử dụng các tập hợp không chồng chéo, trong đó mỗi phần tử là ID cục bộ thuộc vào một tập hợp cụ thể Một track toàn cục bao gồm các ID cục bộ của các camera và một phần tử đại diện cho track tồn cục đó Ở đây tôi đánh dấu các ID của các track cục bộ bằng các ID độc nhất và đều lớn hơn 1000, cịn các phần tử đại diện của track tồn cục sẽ bắt đầu từ 0

Ví dụ: track tồn cục tơi có dạng {{1,1001,1003,1004}, {2,1005,1006,1008}} hiện track toàn cục đang thêo dõi 2 đối tượng có ID tồn cục là 1 và 2 Trong track tồn cục có ID là 1 bao gồm các ID cục bộ 1001,1003,1004, đây là các ID cục bộ ở các camera

Thực hiện việc gán các ID toàn cục cho các đối tượng theo dõi từ các khung ảnh bên trái và bên phải bao gồm: Gán ID tồn cục cho camera bên trái nếu nó khơng có trong ánh xạ giữa các đối tượng từ khung ảnh bên trái sang khung ảnh bên phải và ngược lại, gán ID toàn cục cho các camera giữa các đối tượng nó có trong ánh xạ giữa các camera

Trước tiên, kiểm tra và gán ID toàn cục cho các đối tượng trong khung ảnh bên trái Đối với các đối tượng khơng có ánh xạ với khung ảnh bên phải, chúng

Ngày đăng: 25/10/2023, 22:13

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

TÀI LIỆU LIÊN QUAN

w