Tải bản đầy đủ (.pdf) (86 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.37 MB, 86 trang )

ĐẠ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Ĩ

TP. HỒ CHÍ MINH, tháng 6 năm 2023


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ó).
CHỦ TỊCH HỘI ĐỒNG

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


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.
Triển khai phát hiện, thêo dõi đối tượng trong khung hình, phát hiện việc
bỏ sản phẩm vào và ra khỏi giỏ trên nhiều camera.
i



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

Tp. HCM, ngày . . . . tháng .. . . năm 20....
CÁN BỘ HƯỚNG DẪN

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

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

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

TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ
(Họ tên và chữ ký)

ii


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 ý q 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

Trần Cơ Tâm

iii


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.
Kết quả thử nghiệm cho thấy hệ thống cơ bản có thể nhận biết sản phẩm
được lấy vào và bỏ ra khỏi kệ hàng. Bên cạnh đó, hệ thống cịn nhiều hạn chế
khi khách hàng cầm sản phẩm di chuyển quá nhanh hoặc cầm nhiều sản phẩm
chồng chéo nhau hoặc khi sản phẩm ở quá xa vùng quan sát camera thì hệ
thống nhận dạng thiếu chính xác.

iv


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.
The experimental results show that the basic system is capable of
recognizing when products are picked up from or put back onto the shelves.
However, the system has limitations when customers move products too
quickly, handle multiple overlapping items, or when the products are too far
from the camera's observation range, resulting in less accurate recognition.

v


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

Tra n Cơ Ta m

vi


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


3.2

Xây dựng mơ hình YOLOv7 phát hiện đối tượng .......................................32
vii


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
TÀI LIỆU THAM KHẢO ................................................................................ 69

viii


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] . 3
Hì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 tồn cục sử dụng homography .......................................23
Hình 2.20 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 ..........................................................................24
ix


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
Hình 4.1 Đồ 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 ...................................................................................................................................49

x


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
Hình 4.15 Hai người trả sản phẩm liên tiếp ..................................................................61

xi


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

xii


DANH MỤC TỪ VIẾT TẮT
Số thứ tự

Tên viết tắt

Tên đầy đủ

1

IOU

2

ID

3

WRN

Wide Residual Network

4


Colab

Colaboratory

5

GPU

Graphics Processing Unit

6

CPU

Central Processing Unit

7

BoF

Bag-of-freebies

Intersection Over Union
identification

xiii


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ẽ
nhận dạng các sản phẩm và xuất hóa đơn. Tác giả dựa trên thị giác máy bằng
cách sử dụng YOLOv4 để nhận dạng 34 đối tượng trong tập dữ liệu MS COCO,
những đối tượng này thường xuất hiện trong siêu thị, từ đó xác định xem
những mặt hàng có trong một bức ảnh, sau đó đếm số lượng các mặt hàng
tương tự có trong danh mục mặt hàng, xuất ra hóa đơn trên giao diện bằng
Flask web framework. Sau khi thực hiện, tác giả tiến hành đánh giá các sản


1


phẩm chạy trên băng chuyền, các đối tượng nhận diện được đều có confidence
score lớ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 quá trình thanh
toá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
hàng bán lẻ không có quy trình thanh tốn. Khách hàng đơn giản chỉ cần lấy
2



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ẻ.
Ở trên là các phương pháp đang được áp dụng thực tế cho việc bán hàng
tự động. Sau khi tìm hiểu, tơi nhận thấy các phương pháp trên đều có ưu và
nhược điểm. Tuy nhiên mơ hình nổi trội hơn cả là mơ hình tính tiền tự động

3


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.
Sử dụng mơ hình thêo dõi đối tượng DêêpSORT để thêo dõi các đối tượng
đã phát hiện theo thời gian. Gán ID cho các đối tượng sản phẩm, ID của mỗi
đối tượng cần đảm bảo luôn không đổi qua các frame, khi đối tượng biến mất
hệ thống vẫn cần đảm bảo nhận diện được đúng ID đối tượng khi xuất hiện.
4


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.
Khảo sát thực nghiệm và đánh giá.

5


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.
Input layêr là đầu vào của ảnh. Nó có thể là một mảng hai chiều với ba kênh
màu đỏ, xanh lá cây và xanh dương. Nó cũng có thể là đầu vào video với mỗi
khung hình của video.

6


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
Vai trò cần thiết của neck là thu thập các feature map từ các giai đoạn khác
nhau. Thông thường, neck bao gồm một số phần bottom-up và một số phần
top-down để tăng cường tính năng. Chúng ta sử dụng FPN, RFB và PAN để
tăng cường. Neck của Yolov7 chủ yếu bao gồm các khối: SPPCSPC, PANet,
RepConv.

7



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 q 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
Sparse prediction giúp giảm số lượng dự đốn khơng cần thiết, tăng tốc độ
tính tốn và cải thiện độ chính xác của mơ hình. Thay vì dự đốn cho tất cả các
ơ vng trên hình ảnh, mơ hình chỉ dự đốn một số lượng nhỏ các bounding
box thơng qua chỉ số thưa thớt (sparse index). Chỉ số thưa thớt được tính dựa

8


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.

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

9


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.

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


×