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

Hệ thống thị giác máy tính phục vụ thanh toán tự độ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 (2.98 MB, 140 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA

PHẠM VĂN HUY

HỆ THỐNG THỊ GIÁC MÁY TÍNH PHỤC VỤ
THANH TỐN TỰ ĐỘNG

COMPUTER VISION SYSTEM FOR
AUTONOMOUS CHECKOUT

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

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 06 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 khoa học : TS. Phạm Việt Cường

Cán bộ chấm nhận xét 1 : PGS.TS Huỳnh Thái Hoàng

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

Luậ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 15 tháng 06 năm 2023.
Thành phần Hội đồng đánh giá luận văn thạc sĩ 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. TS. Nguyễn Trọng Tài
3. PGS.TS Huỳnh Thái Hồng
4. PGS.TS Lê Mỹ Hà
5. TS. Ngơ Thanh Quyền

- Thư ký
- Phản biện 1
- Phản biện 2
- Uỷ viên

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý
chuyên ngành 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Ử


i

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA 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ọ tên học viên: Phạm Văn Huy

MSSHV: 2070685
Ngày, tháng, năm sinh: 08/11/1998
Nơi sinh: BR-VT
Chuyên ngành: Kỹ Thuật Điều Khiển và Tự Động Hoá Mã số: 8520216
I. TÊN ĐỀ TÀI:
HỆ THỐNG THỊ GIÁC MÁY TÍNH PHỤC VỤ THANH TỐN TỰ ĐỘNG
COMPUTER VISION SYSTEM FOR AUTONOMOUS CHECKOUT
NHIỆM VỤ VÀ NỘI DUNG:
Huấn luyện mơ hình Deep Learning (DL) để phát hiện được các sản phẩm trên kệ
hàng với độ chính xác cao. Đề xuất ra quy trình xử lý phát hiện sản phẩm được lấy đi
hay trả lại kệ hàng, liên kết sản phẩm được chuyển giao với khách hàng tương tác.
Tối ưu để chương trình có thể xử lý thời gian thực.
II. NGÀY GIAO NHIỆM VỤ: 06/02/2023
III. NGÀY HOÀN THÀNH NHIỆM VỤ: 11/06/2023
IV.CÁN BỘ HƯỚNG DẪN: TS. Phạm Việt Cường
TP. HCM, ngày 15 tháng 06 năm 2023
CÁN BỘ HƯỚNG DẪN

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

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


ii

LỜI CẢM ƠN


Đầu tiên, tôi xin gửi lời cảm ơn đến gia đình, người thân đã ln động viên, hỗ
trợ và thúc đẩy tơi trong suốt q trình thực hiện luận văn này. Những lời khuyên và
giúp đỡ của gia đình đã giúp tơi vượt qua khó khăn và tiếp tục trong q trình triển
khai luận văn này.
Tiếp đến, tơi muốn gửi lời cảm ơn chân thành đến thầy Phạm Việt Cường, người
đã dành thời gian và giúp đỡ tôi về mặt ý tưởng giải quyết bài toán. Thầy đã cung cấp
cho tôi định hướng và kiến thức cần thiết để hoàn thành đề tài này. Tôi đã học hỏi
được thêm từ sự chỉ dẫn của thầy.
Tôi cũng muốn bày tỏ lời cảm ơn đến những người bạn và đồng nghiệp của tơi,
trong đó có anh Nguyễn Hoàng Phi Long, là người đã dành thời gian giải đáp một số
thắc mắc và gợi ý cho tôi ý tưởng tối ưu hóa mơ hình, anh Nguyễn Văn Anh, đang
theo học nghiên cứu sinh tại trường Đại học Soonchunhyang, đã hỗ trợ tơi phần cứng
máy tính trong phịng nghiên cứu của anh cho tôi thử nghiệm để kiểm tra tốc độ xử
lý bài toán. Cũng biết ơn bạn Võ Thị Thanh Ngân giúp đỡ tơi quay cảnh thử nghiệm
bài tốn trường hợp hai khách hàng cùng lấy sản phẩm. Ngoài ra còn cho tôi những
lời khuyên hỗ trợ về mặt tinh thần trong khoảng thời gian thực hiện.
Một lần nữa, tôi muốn gửi lời cảm ơn chân thành đến những người anh, người
bạn, những đóng góp của họ đã đóng vai trị không thể thiếu trong việc hoàn thành
nghiên cứu này.
TP. Hồ Chí Minh, ngày 11 tháng 06 năm 2023

Học viên
Phạm Văn Huy


iii

TÓM TẮT LUẬN VĂN BẰNG TIẾNG VIỆT
Trong ngành bán lẻ, đã xuất hiện nhiều cơng nghệ có tác động đáng kể đến quy
trình thanh tốn. Các ví dụ bao gồm thanh toán tự quét, nơi khách hàng sử dụng điện

thoại để quét mã QR và tự thanh toán, cũng như hệ thống cửa quét tự động ở Trung
Quốc. Đặt hàng trực tuyến trên các trang thương mại điện tử và thanh tốn khơng tiếp
xúc là những cơng nghệ khác nhằm thay thế tương tác con người.
Trong những năm gần đây, công ty bán lẻ lớn nhất thế giới Amazon ra mắt công
chúng công nghệ "Just Walk Out", đã thành công trong việc loại bỏ bước cuối cùng
trong quy trình mua hàng thực tế - quy trình thanh tốn. Điều này đáp ứng yêu cầu
của người tiêu dùng hiện đại với hạn chế thời gian. Người mua hàng không muốn
phải đứng xếp hàng trong 10 phút, tháo rời sản phẩm từ giỏ hàng và đặt lên băng
chuyền, vì thời gian của mỗi người rất quý giá. Công nghệ "Just Walk Out" của
Amazon đã thực hiện thành công việc loại bỏ yếu tố cuối cùng này, giúp người mua
hàng tiết kiệm thời gian trong quá trình mua sắm.
Dựa trên vấn đề thực tiễn đó, đề tài Luận Văn này nhằm tìm hiểu và triển khai
một hệ thống sử dụng thị giác máy tính để phục vụ tự động hố q trình thanh tốn.
Trong hệ thống này, các mơ hình Deep Learning được huấn luyện để nhận dạng và
phân loại các sản phẩm, cũng như mơ hình ước tính tư thế con người.
Với mục tiêu tăng tính hiệu quả và tiện lợi trong việc thanh tốn, đề tài tập trung
vào hai khía cạnh chính. Thứ nhất, xây dựng được một hệ thống giúp phát hiện sản
phẩm nào được lấy ra hay đặt trở lại kệ hàng, thêm nữa cần phải kết hợp mặt hàng
được lấy hay trả lại đó tương ứng với khách hàng để phục vụ thanh toán tự động. Thứ
hai, nghiên cứu tối ưu hóa mơ hình Deep Learning đã được huấn luyện để đảm bảo
tích hợp dễ dàng với phần cứng và tăng tốc độ xử lý dữ liệu. Các hành động trong
môi trường mua sắm diễn ra rất nhanh, do đó yêu cầu địi hỏi cần phải có hệ thống
thực hiện trên thời gian thực.


iv

ABSTRACT

In the retail industry, several technologies have significantly impacted the

payment process. Examples include self-scanning payment, where customers use
their phones to scan QR codes and make self-payments, as well as automated
checkout systems in China. Online ordering on e-commerce platforms and contactless
payments are other technologies aimed at replacing human interaction.
In recent years, the world's largest retail company, Amazon, introduced the "Just
Walk Out" technology, successfully eliminating the final step in the actual shopping
process - the payment process. This meets the requirements of modern consumers
who value time. Shoppers don't want to wait in line for 10 minutes, to unload products
from their carts or baskets onto conveyor belts, as each person's time is valuable.
Amazon's "Just Walk Out" technology has successfully removed this final element,
saving shoppers time during the shopping process.
Based on this practical issue, this thesis aims to study and implement a computer
vision system to automate the payment process. In this system, Deep Learning models
are trained to recognize and classify products, as well as human pose recognition
models.
With the goal of increasing efficiency and convenience in payment, the thesis
focuses on two main aspects. Firstly, developing a system to detect which products
are taken from or returned to the shelves and associate them with corresponding
customers for automatic payment. Secondly, optimizing the trained Deep Learning
models to ensure easy integration with hardware and improve data processing speed.
Actions in the shopping environment occur rapidly, therefore real-time execution is
required for the system.


v

LỜI CAM ĐOAN TÁC GIẢ

Tôi xin cam đoan đây là cơng trình nghiên cứu của riêng tơi, dưới sự hướng dẫn
của TS. Phạm Việt Cường.

Các số liệu, những kết quả nêu trong luận văn là hoàn toàn trung thực và chưa
được cơng bố trong bất kỳ cơng trình nào khác. Tôi xin chịu hoàn toàn trách nhiệm
về lời cam đoan này.
Tác giả luận văn
Phạm Văn Huy


vi

MỤC LỤC
LỜI CẢM ƠN ........................................................................................................... ii
TÓM TẮT LUẬN VĂN BẰNG TIẾNG VIỆT ..................................................... iii
LỜI CAM ĐOAN TÁC GIẢ ....................................................................................v
MỤC LỤC ............................................................................................................... vi
DANH MỤC HÌNH VẼ .......................................................................................... ix
DANH MỤC BẢNG ................................................................................................ xi
DANH MỤC TỪ VIẾT TẮT................................................................................. xii
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI........................................................................1
1.1. Tổng quan đề tài .............................................................................................1
1.2. Tình hình nghiên cứu hiện nay .....................................................................2
1.3. Mục tiêu và nhiệm vụ .....................................................................................2
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT .........................................................................4
2.1. Mơ hình YOLOv8 ..........................................................................................4
2.2. Đánh giá mơ hình nhận dạng đối tượng (Object Detection) ......................8
2.2.1.

Intersection over Union (IoU) .............................................................9

2.2.2.


Precison and Recall ...........................................................................10

2.2.3.

Average Precision (AP) .....................................................................10

2.3. Mơ hình ước tính tư thế (Pose Estimation) ................................................11
2.3.1.

Ước tính tư thế một người .................................................................11

2.3.2.

Ước tính tư thế nhiều người ..............................................................12

2.3.3.

Các mơ hình ước tính tư thế ..............................................................14

2.3.3.1. AlphaPose ......................................................................................14
2.3.3.2. OpenPose .......................................................................................14


vii

2.3.3.3. OpenPifPaf ....................................................................................15
2.3.4.

Chọn mơ hình ước tính tư thế để triển khai .......................................16


2.4. Phương pháp theo dõi đối tượng (Tracking Method) ..............................17
2.5. Tối ưu hố mơ hình Deep Learning bằng TensorRT ...............................21
2.5.1.

TensorRT là gì ...................................................................................21

2.5.2.

Các ưu điểm của TensorRT ...............................................................21

2.5.3.

Cơ chế tối ưu của TensorRT .............................................................22

2.6. Phép chiếu .....................................................................................................23
CHƯƠNG 3. CÁC THIẾT BỊ VÀ CÔNG CỤ THỰC HIỆN ĐỀ TÀI ..............26
3.1. Kệ hàng .........................................................................................................26
3.2. Đèn chiếu sáng ..............................................................................................27
3.3. Camera IP giám sát ......................................................................................29
3.4. Switch PoE HIKVISION .............................................................................30
3.5. Kết nối phần cứng ........................................................................................31
3.6. Giải mã luồng camera (RTSP – Real Time Streaming Proctocol) ..........32
3.7. Nền tảng GPU đám mây hỗ trợ Deep Learning ........................................33
CHƯƠNG 4. QUÁ TRÌNH THỰC HIỆN ............................................................35
4.1. Ý tưởng giải quyết đề tài .............................................................................35
4.2. Quy trình chuyển giao sản phẩm trên kệ hàng sang khách hàng ...........42
4.3. Huấn luyện mơ hình nhận dạng đối tượng ................................................47
4.3.1.

Chuẩn bị dữ liệu ................................................................................47


4.3.2.

Gán nhãn dữ liệu ...............................................................................50

4.3.3.

Chọn mơ hình huấn luyện .................................................................51

4.4. Tối ưu mơ hình nhận dạng đối tượng.........................................................52


viii

4.5. Mơ hình ước tính tư thế con người .............................................................53
4.5.1.

Chuẩn bị dữ liệu ................................................................................54

4.5.2.

Cấu trúc phần bổ trợ ..........................................................................57

4.5.2.1. Mô đun dữ liệu ...............................................................................57
4.5.2.2. Đăng ký phần bổ trợ ......................................................................58
4.5.2.3. Mơ đun Constants ..........................................................................59
4.5.3.

Huấn luyện mơ hình ước tính tư thế con người.................................60


CHƯƠNG 5. KẾT QUẢ VÀ ĐÁNH GIÁ .............................................................61
5.1. Kết quả huấn luyện mơ hình nhận dạng đối tượng ..................................61
5.2. Kết quả sau khi tối ưu mơ hình nhận dạng đối tượng ..............................64
5.2.1.

Phương pháp đánh giá .......................................................................64

5.2.2.

Kết quả đánh giá ................................................................................65

5.3. Kết quả huấn luyện mơ hình ước tính tư thế con người ..........................66
5.4. Kết quả thử nghiệm bài toán phục vụ thanh toán tự động ......................71
5.4.1.

Phương pháp đánh giá .......................................................................71

5.4.2.

Các kịch bản kiểm thử .......................................................................72

5.4.3.

Kết quả đánh giá trên kịch bản kiểm thử...........................................76

CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN......................................80
6.1. Tóm tắt các cơng việc đã thực hiện.............................................................80
6.2. Kết luận .........................................................................................................80
6.3. Hướng phát triển ..........................................................................................82
TÀI LIỆU THAM KHẢO ......................................................................................85

PHỤ LỤC ...............................................................................................................92


ix

DANH MỤC HÌNH VẼ

Hình 1.1 Vị trí lắp đặt camera theo dõi kệ hàng .........................................................3
Hình 2.1 Kiến trúc mạng YOLOv8 .............................................................................6
Hình 2.2 Trực quan hóa anchor box trong YOLO ......................................................7
Hình 2.3 Mosaic augmentation of chess board photos ...............................................8
Hình 2.4 Ground Truth và Predict bounding box .......................................................9
Hình 2.5 Đồ thị Precision – Recall............................................................................11
Hình 2.6 Quy trình của OpenPose. (a) Tồn bộ hình ảnh được cung cấp dưới dạng
đầu vào để cùng dự đoán cả (b) Bản đồ độ tin cậy của bộ phận cơ thể (c) Trường ái
lực của bộ phận. (d) Các phần được so khớp dựa trên PAF. (e) Tư thế tồn thân.
Hình ảnh từ [34]. .......................................................................................................15
Hình 2.7 Minh họa về sự khác biệt giữa (a) Trường ái lực một phần và (b) Trường
liên kết tổng hợp. Các vòng tròn màu xám biểu thị các khớp. (a) chỉ đơn giản chỉ ra
hướng tới khớp nối tiếp theo. (b) cả hai đều bắt nguồn từ khớp nguồn cũng như biểu
thị khớp đích. (b) cũng chỉ ra kích thước của mỗi khớp, như được thấy bởi các ô
vuông màu xanh. Các mơ tả được lấy từ [35]. ..........................................................16
Hình 2.8 Luồng xử lý của SORT ..............................................................................18
Hình 2.9 Kết hợp các hộp giới hạn có ngưỡng tin cậy cao .......................................19
Hình 2.10 Kết hợp các hộp giới hạn có ngưỡng tin cậy thấp cịn lại ........................20
Hình 2.11 Tối ưu hố model bằng TensorRT ...........................................................21
Hình 2.12 Mơ hình pinhole camera...........................................................................23
Hình 3.1 Kích thước kệ 4 tầng 71x34x125 cm .........................................................26
Hình 3.2 Tấm bìa mơ hình Formex ...........................................................................27
Hình 3.3 Vị trí bóng đèn được lắp đặt trong phịng ..................................................28

Hình 3.4 Camera IP HIKVISION DS-2CD1143G0-IUF .........................................29
Hình 3.5 PoE Switch 4-Port Gigabit HIKVISION DS-3E0505P-E/M.....................30
Hình 3.6 Sơ đồ kết nối camera IP với laptop thơng qua PoE switch ........................31
Hình 3.7 Real Time Streaming Protocol ...................................................................32
Hình 3.8 Các GPU cho phép người dùng thuê trên Vast.ai ......................................34


x

Hình 4.1 Sơ đồ lắp đặt camera trong cơng nghệ Just Walk Out của Amazon ..........37
Hình 4.2 Góc nhìn của camera trên kệ và hình ảnh dãy camera phía trên kệ ...........37
Hình 4.3 Góc nhìn camera giám sát trong cửa hàng Amazon Go [39] .....................38
Hình 4.4 Quy trình theo dõi sản phẩm trên kệ hàng .................................................42
Hình 4.5 Quy trình con xác định các mặt hàng đã lấy ra hay trả lại .........................43
Hình 4.6 Sơ đồ chuyển giao giữa sản phẩm với khách hàng ....................................45
Hình 4.7 Hình ảnh tổng hợp các trường hợp bối cảnh khác nhau khi lấy mẫu ........49
Hình 4.8 Thực hiện gán nhãn dữ liệu ảnh bằng công cụ LabelImg ..........................50
Hình 4.9 Số lượng hộp giới hạn chú thích tương ứng với mỗi lớp cần nhận dạng ...51
Hình 4.10 Biểu đồ tương quan giữa các mơ hình YOLOv8 theo số lượng tham số
của mơ hình và tốc độ xử lý FP16.............................................................................52
Hình 4.11 Q trình tối ưu hóa YOLOv8 .................................................................53
Hình 4.12 Minh họa kết quả các điểm chính trên hai bộ dữ liệu hiện tại. (a) Điểm
chính trên tập dữ liệu MPII. (b) Điểm chính trên tập dữ liệu MSCOCO .................55
Hình 4.13 Minh họa kết quả các điểm chính MPII sau khi đổi qua COCO format ..56
Hình 5.1 Giá trị mAP50-95 của các mơ hình sau khi tối ưu trên tập đánh giá .........65
Hình 5.2 Tốc độ suy luận của các mơ hình khi triển khai trên RTX3080 ................65
Hình 5.3 Biểu đồ hàm mất mát của tập huấn luyện và tập đánh giá qua các epoch .68
Hình 5.4 So sánh kết quả ước tính tư thế con người của mơ hình pretrained và mơ
hình sau khi huấn luyện.............................................................................................69
Hình 5.5 Trường hợp một khách hàng lấy sản phẩm ................................................73

Hình 5.6 Trường hợp một khách hàng trả mặt hàng vào nơi có sản phẩm khác đang
trưng bày trên kệ .......................................................................................................74
Hình 5.7 Trường hợp một khách hàng đứng sát kệ giấu hành động lấy sản phẩm...74
Hình 5.8 Trường hợp hai người cùng mua hàng .......................................................75
Hình 6.1 Xử lý khi phát hiện tay người mua hàng đi qua vạch kẻ sẵn .....................83
Hình 6.2 Ảnh chụp khu vực xung quanh bàn tay khách hàng khi qua vạch .............83


xi

DANH MỤC BẢNG

Bảng 4-1 So sánh các thuật toán phát hiện chuyển động hay dùng ..........................41
Bảng 5-1 So sánh keypoints left hand và right hand với hai model pretrained và mơ
hình được huấn luyện trên 10 clip ngắn ngẫu nhiên .................................................70
Bảng 5-2 Các kịch bản kiểm thử bài toán phục vụ thanh tốn tự động ....................72
Bảng 5-3 Các tình huống điển hình trong các kịch bản kiểm thử .............................76
Bảng 6-1 Kết quả kịch bản kiểm thử TS01 ...............................................................93
Bảng 6-2 Kết quả kịch bản kiểm thử TS02 ...............................................................95
Bảng 6-3 Kết quả kịch bản kiểm thử TS03 ...............................................................96
Bảng 6-4 Kết quả kịch bản kiểm thử TS04 ...............................................................97
Bảng 6-5 Kết quả kịch bản kiểm thử TS05 ...............................................................98
Bảng 6-6 Kết quả kịch bản kiểm thử TS06 ...............................................................99
Bảng 6-7 Kết quả kịch bản kiểm thử TS07 .............................................................100
Bảng 6-8 Kết quả kịch bản kiểm thử TS08 .............................................................101
Bảng 6-9 Kết quả kịch bản kiểm thử TS09 .............................................................102
Bảng 6-10 Kết quả kịch bản kiểm thử TS10 ...........................................................103
Bảng 6-11 Kết quả kịch bản kiểm thử TS11 ...........................................................104



xii

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

AI

Artificial Intelligence

DL

Deep Learning

CLI

Command Line Interface

YOLO

You Only Look Once

IoU

Intersect over Union

GPU

Graphics Processing Unit

CPU


Central Processing Unit

TP

True Positive

TN

True Negative

FP

False Positive

FN

False Negative

AP

Average Precesion

mAP

Mean Average Precesion

CUDA

Compute Unified Device Architecture


FPS

Frame per Second

RTSP

Real Time Streaming Protocol

LSTM

Long Short Term Memory


1

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
1.1. Tổng quan đề tài
Chúng ta đã thấy những công nghệ khác ảnh hưởng tới nền cơng nghiệp bán lẻ, ví
dụ như thanh tốn tự quét, nơi mà khách hàng vào cửa hàng và dùng điện thoại của
mình qt mã QR và tự thanh tốn, hay như cửa quét tự động ở bên Trung Quốc, đặt
hàng trực tuyến trên các trang thương mại điện tử và thanh tốn khơng tiếp xúc là
những cơng nghệ nhằm giúp thay thế tương tác con người.
Tuy nhiên với các cơng nghệ kể trên thì chưa có một cơng nghệ nào thực sự loại
bỏ được dòng người xếp hàng chờ thanh toán. Một quảng cáo đáng nhớ của IBM vào
đầu những năm 2000 đã cho người ta hình dung ra một cửa hàng bán lẻ trong tương
lai, nơi người mua sắm chỉ cần bước vào, lấy thứ họ muốn và bước ra ngoài. Khơng
cịn các hàng chờ thanh tốn nữa.
Vào năm 2018, Amazon đã khai trương cửa hàng bán lẻ tự động công khai đầu
tiên tại Seattle. Được mệnh danh là Amazon Go, người mua hàng có thể bước vào,
lấy đồ và rời đi mà không cần đến quầy thanh toán. Một hệ thống máy ảnh và AI trực

quan sẽ xác định những gì họ đã mua và tính phí vào thẻ của họ. Tới nay, khái niệm
'Just Walk Out' của Amazon đã được triển khai nhiều cửa hàng hơn và thậm chí cịn
cho phép khách hàng thanh tốn bằng dấu vân tay của họ.
Bên cạnh đó, với Amazon Go, bạn không phải đợi đến lượt xếp hàng, không phải
đợi nhân viên thu ngân quét từng sản phẩm, không phải đợi quẹt thẻ ở máy quét
RFID, và bạn cũng không' không đợi nhân viên hậu cần chất đầy túi hàng tạp
hóa. Bằng cách xóa tất cả các bước này, quy trình thanh tốn mang lại hiệu quả và sự
tiện lợi cho khách hàng ở mức cao nhất - tất cả những gì chúng tơi có thể nói, khơng
xếp hàng, khơng đăng ký, khơng thanh tốn.
Khơng ai muốn đứng xếp hàng trong 10 phút, dỡ tất cả các sản phẩm từ xe đẩy
hoặc giỏ của họ lên băng tải, vì thời gian của mỗi người là rất quý giá. Công nghệ
Just Walk Out của Amazon đã thành công trong việc loại bỏ chút vướng mắc cuối
cùng trong quá trình mua hàng thực tế; hệ thống thanh toán - nghĩa là Amazon Go đã
đáp ứng được yêu cầu của người tiêu dùng hiện đại hạn chế về thời gian.


2

1.2. Tình hình nghiên cứu hiện nay
Đề tài này rất hay, tuy nhiên lại có rất ít những cơng bố liên quan đến ứng dụng
của xử lý ảnh và học sâu trong việc phục vụ thanh toán tự động. Sau đây là nội dung
của một số bài báo liên quan mà em tìm hiểu được
Các đề tài em tìm hiểu được đều chỉ đang tập trung vào phát hiện hành động của
người mua hàng trong mơi trường mua sắm. Có thể kể đến như bài báo A MultiStream Bi-Directional Recurrent Neural Network for Fine-Grained Action Detection,
trong nghiên cứu này cố gắng giải quyết vấn đề phát hiện các hành động cụ thể xảy
ra trong video sử dụng mạng thần kinh tích chập hai luồng, gồm một luồng là khung
ảnh và luồng chuyển động bởi thuật toán optical flow. Và một số bài báo khác như A
Real-Time System for Shoppers’ Action Recognition và Follow the Attention:
Combining Partial Pose and Object Motion for Fine-Grained Action Detection, thì họ
sử dụng mơ hình ước tính tư thế con người, và lấy đó làm đầu vào cho mạng LSTM

để phần loại hành động.
Cũng có một số các công ty tư nhân ở các nước khác nhau cũng đang nghiên cứu
thử nghiệm và đưa ra thực tế mơ hình giống với cửa hàng Amazon Go, tuy nhiên hiện
tại thì họ cũng khơng hề có những tiết lộ nào về công nghệ mà họ đang sử dụng, vì
lợi ích.
Cho đến nay, Amazon chỉ tiết lộ rằng họ đã kết hợp học sâu, thị giác máy tính và
kết hợp cảm biến (loadcells, RFID) mà khơng có bất kỳ chi tiết nào khác, khả năng
bởi vì tiết lộ sẽ ảnh hưởng tới khả năng bản quyền của họ. Và may mắn trong lúc thực
hiện đề tài, em có tìm ra được bằng sáng chế của Amazon có liên quan tới công nghệ
Just Walk Out này. Tuy vậy, chúng ta cũng chỉ có thể đốn những gì đang được sử
dụng, vì chưa từng có cơng ty nào tiết lộ cơng nghệ của mình trong các bằng sáng
chế, để tránh bị các cơng ty khác nhân bản thành cơng như chính nó.
1.3. Mục tiêu và nhiệm vụ
Mục tiêu chính của đề tài này là dựa vào hệ thống camera giám sát được gắn cố
định trong cửa hàng bán lẻ, ta sẽ xây dựng một hệ thống giám sát giúp
-

Phát hiện sản phẩm nào được lấy ra khỏi kệ hàng hoặc được đặt trở lại kệ.
Chuyển giao mặt hàng đó sang khách hàng để phục vụ thanh toán tự động.


3

Hình 1.1 Vị trí lắp đặt camera theo dõi kệ hàng

Những nhiệm vụ cần thực hiện bao gồm:
-

Nhiệm vụ 1: Huấn luyện mơ hình Deep Learning (DL) để phát hiện được các
sản phẩm trên kệ hàng với độ chính xác cao.


-

Nhiệm vụ 2: Đề xuất ra quy trình xử lý dùng thị giác máy tính giúp phát hiện
ra sản phẩm nào được lấy hay sản phẩm nào vừa được đặt trở lại kệ hàng.
Nhiệm vụ 3: Huấn luyện mơ hình ước tính tư thế con người trong mơi trường
mua sắm, với góc máy camera giám sát cao từ trên nhìn xuống.
Nhiệm vụ 4: Đề xuất quy trình chuyển giao mặt hàng đã phát hiện được lấy ra
hay đặt trở lại kệ hàng sang khách hàng tương ứng.
Nhiệm vụ 5: Tối ưu để chương trình có thể xử lý thời gian thực.

-


4

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1. Mơ hình YOLOv8
Mơ hình YOLO (You Only Look Once) đã trở nên nổi tiếng trong thế giới thị giác
máy tính. Sự nổi tiếng của YOLO là do độ chính xác của nó trong khi vẫn duy trì
kích thước mơ hình nhỏ.
YOLO được cộng đồng thị giác máy tính chú ý đến và phát triển kể từ lần ra mắt
đầu tiên năm 2015 bởi Joseph Redmond. Trong những ngày đầu (từ phiên bản YOLO
v1 đến YOLO v4), YOLO được triển khai và giữ nguyên với framework deep
learning được viết bởi Redmond bằng ngôn ngữ C, với tên gọi Darknet.
Tác giả của YOLOv8, Glenn Jocher tại Ultralytics, đã phát triển âm thầm chuyển
đổi toàn bộ YOLOv3 từ Darknet sang PyTorch (một khung học sâu từ Facebook).
Sau khi xây dựng lại toàn bộ YOLOv3 từ DarkNet sang Pytorch, tác giả đã có nhiều
cải tiến khi thêm vào PA-Net và CSP backbone giúp giảm thông số của mạng, tốc độ
tính tốn giảm đi đáng kể vả độ chính xác tăng. Khi kết quả quá trình đào tạo trở nên

tốt hơn, Ultralytics cuối cùng đã ra mắt mơ hình của riêng mình: YOLOv5.
YOLOv5 nhanh chóng trở thành repo hiện đại nhất (SOTA hay state-of-the-art)
nhờ cấu trúc Pythonic linh hoạt của nó. Cấu trúc này cho phép cộng đồng phát minh
ra các cải tiến mơ hình mới và nhanh chóng chia sẻ chúng trên khắp kho lưu trữ bằng
các phương pháp PyTorch tương tự.
Trong hai năm qua, nhiều mơ hình phân nhánh từ repo YOLOv5 Pytorch, bao
gồm Scaled-YOLOv4, YOLOR và cả YOLOv7. Các mơ hình khác đã ra mắt toàn thể
cộng đồng từ các triển khai dựa trên Pytorch của riêng họ, như YOLOX và YOLOv6.
Đồng thời, mỗi mơ hình YOLO đã mang đến các kỹ thuật mới để tiếp tục nâng cao
độ chính xác và hiệu quả của mơ hình.
Trong sáu tháng qua, Ultralytics đã nghiên cứu phiên bản hiện đại nhất (SOTA)
mới nhất của YOLO, YOLOv8. YOLOv8 được ra mắt vào ngày 10/01/2023.


5

Sau đây là một vài lý do khiến cho em chọn YOLOv8 để thực hiện trong đề tài
luận văn của mình, thay cho mơ hình YOLOv4 đã thực hiện ở đề cương.
-

YOLOv8 có tỷ lệ chính xác cao được đo bằng thang đo COCO

-

YOLOv88 đi kèm với nhiều tính năng thuận tiện cho người phát triển/ người
dùng. Từ CLI (command line interface) dễ sử dụng đến thư viện Python được
cấu trúc tốt.

-


-

-

YOLOv8 đang được phát triển tích cực tại thời điểm này, trên repo Ultralytics
hoạt động sôi nổi với các tính năng mới và phản hồi từ cộng đồng. Tổ chức
này làm việc với cộng đồng để làm cho mô hình của họ trở nên tốt nhất có thể.
YOLOv8 đạt được độ chính xác cao trên thang đo COCO. Có một thách thức
liên quan đến MS COCO với chỉ số đánh giá mới, tính trung bình mAP trên
các ngưỡng IoU khác nhau, từ 0,5 đến 0,95 (được viết là “0,5:0,95”) [1]. Ví
dụ, đối với YOLOv8m – mơ hình trung bình (medium) – đạt được 50.2% mAP
khi đo trên COCO (ký hiệu là mAP@[.5:.95])
Hơn nữa, các tính năng tiện lợi dành cho nhà phát triển trong YOLOv8 rất
quan trọng. Trái ngược với các mơ hình khác nơi các tác vụ được phân chia
thành nhiều tệp Python khác nhau. YOLOv8 đi kèm với CLI giúp đào tạo một
mơ hình trực quan hơn. Đây là phần bổ sung cho gói Python cung cấp trải
nghiệm viết mã liền mạch hơn so với các mô hình trước đó.

Vậy điều gì khiến cho YOLOv8 khác biệt so với các mơ hình YOLO trước đây?
Chúng ta cần đi qua tìm hiểu những thay đổi trong kiến trúc của YOLOv8
Hình ảnh sau đây hiển thị trực quan chi tiết về kiến trúc của mạng


6

Hình 2.1 Kiến trúc mạng YOLOv8

Các điểm đổi mới và cải tiến trong YOLOv8 so với YOLOv5
-


Thay thế lớp tích chập đầu 6x6 bằng tích chập 3x3 trong BackBone
Thay đổi mô đun C3 bằng C2f.
Phần BottleNeck cũng giống như phiên bản YOLOv5 nhưng kích thước kernel
lớp tích chập đầu tiên được chuyển đổi từ 1x1 sang 3x3.
Xóa hai tích chập (convolution) số 10 và số 14 trong cấu hình YOLOv5.
Phát hiện không dùng Anchor:


7

YOLOv8 phát hiện không dùng anchor. Điều này nghĩa là khi mơ hình phát hiện
đối tượng dự đốn trực tiếp tâm của đối tượng thay vì phần bù từ hộp neo đã biết.

Hình 2.2 Trực quan hóa anchor box trong YOLO

Các hộp neo là một phần nổi tiếng phức tạp của các mơ hình YOLO trước đó, vì
chúng có thể đại diện cho việc phân phối các hộp của điểm chuẩn mục tiêu nhưng
không phải là phân phối của tập dữ liệu tùy chỉnh.
Tính năng phát hiện khơng neo làm giảm số lượng hộp dự đoán, giúp tăng tốc
phần non-max suppression (NMS), một bước xử lý hậu kỳ phức tạp sàng lọc các phát
hiện ứng viên sau khi suy luận.
-

Sự kết hợp làm giàu Mosaic:

Nghiên cứu học sâu có xu hướng tập trung vào kiến trúc mơ hình, nhưng thói quen
đào tạo trong YOLOv5 và YOLOv8 cũng là một phần thiết yếu trong thành cơng của
chính nó.
YOLOv8 tăng cường hình ảnh trong quá trình đào tạo. Tại mỗi thời điểm, mơ
hình sẽ thấy một biến thể hơi khác nhau của hình ảnh mà nó đã được cung cấp.



8

Một trong những phần làm giàu đó được gọi là mosaic augmentation. Điều này
liên quan đến việc ghép bốn hình ảnh lại với nhau, buộc mơ hình tìm hiểu các đối
tượng ở các vị trí mới, che khuất một phần và dựa trên các pixel xung quanh khác
nhau.

Hình 2.3 Mosaic augmentation of chess board photos

Tuy nhiên, sự gia tăng này được chứng minh bằng thực nghiệm là làm giảm hiệu
suất nếu được thực hiện trong toàn bộ quá trình luyện tập. Sẽ thuận lợi nếu bạn tắt nó
đi trong 10 giai đoạn huấn luyện gần nhất.
2.2. Đánh giá mơ hình nhận dạng đối tượng (Object Detection)
Độ chính xác mAP là một độ đo thường dùng để đánh giá các mô hình nhận dạng
đối tượng. Để tìm hiểu về mAP, trước tiên ta cần hiểu một số khái niệm về IoU,
Precision và Recall.


9

2.2.1. Intersection over Union (IoU)
Intersection over Union là chỉ số đánh giá được sử dụng để đo độ chính xác của
phát hiện đối tượng trên tập dữ liệu cụ thể. Chỉ số này thường được gặp trong các
Object Detection Challenge. IOU thường được đánh giá hiệu năng của các bộ phát
hiện đối tượng như HOG + Linear SVM và mạng nơ ron tích chập (R-CNN, FastRCNN, YOLO,…).
Để áp dụng được IoU để đánh giá cần:
-


Đường bao thực (ground-truth bounding box): là đường bao mà chúng ta

-

gán cho vật thể.
Đường bao dự đoán (predicted bouding box): là đường bao chúng ta sử
dụng file trọng số (weights) sau khi huấn luyện để dự đốn.

Dưới đây là ví dụ về đường bao thực (ground truth) và đường bao được dự đoán
(predict bounding box). Đường bao được dự đoán được vẽ bằng màu vàng, trong khi
đó đường bao thực được vẽ bằng màu xanh lá. Mục tiêu ta là tính tốn IoU
(Intersection over Union) giữa hai đường bao.

Hình 2.4 Ground Truth và Predict bounding box
Tỷ lệ này là IoU (Intersection over union) là tỉ lệ giữa đo lường mức độ giao nhau
giữa hai đường bao (thường là đường bao dự đoán và đường bao thực) để nhằm xác
định hai khung hình có bị đè chồng lên nhau khơng. Tỷ lệ này được tính dựa trên
phần diện tích giao nhau gữa 2 đường bao với phần tổng diện tích giao nhau và khơng
giao nhau giữa chúng.


10

Các tiêu chí được dùng để đánh giá:
-

Đối tượng được nhận dạng đúng với tỉ lệ IOU> 0.5 (True positive: TP)
Đối tượng được nhận dạng sai với tỉ lệ IOU < 0.5 (False positive: FP)

-


Đối tượng không được nhận dạng (False negative: FN)
2.2.2. Precison and Recall

Precision được định nghĩa là tỉ lệ số điểm True Positive trong tổng số những điểm
được phân loại là Positive (TP + FP). Còn Recall được định nghĩa là tỉ lệ số điểm
True Positive trong số những điểm thật sự là Positive (TP +FN).
TP
TP + FP
TP
=
TP + FN

Precision =
Recall

Precision cao đồng nghĩa với việc độ chính xác của các điểm tìm được là cao.
Recall cao đồng nghĩa với việc True Positive Rate cao, tức tỉ lệ bỏ sót các điểm thực
sự positive là thấp.
Khi Precision = 1, mọi điểm tìm được đều thực sự là positive, tức khơng có điểm
negative nào lẫn vào kết quả. Tuy nhiên, Precision = 1 khơng đảm bảo mơ hình là tốt,
vì liệu mơ hình đã tìm được tất cả các điểm positive hay chưa? Nếu một mơ hình chỉ
tìm được đúng một điểm positive mà nó chắc chắn nhất thì ta khơng thể xem nó là
một mơ hình tốt.
Khi Recall = 1, mọi điểm positive đều được tìm thấy. Tuy nhiên, đại lượng này
lại khơng đo liệu có bao nhiêu điểm negative bị lẫn trong đó. Nếu mơ hình phân loại
mọi điểm là positive thì chắc chắn Recall = 1. Tuy nhiên, dễ nhận ra đây là một mơ
hình cực tồi.
2.2.3. Average Precision (AP)
Giả sử có N ngưỡng để tính precision và recall, mỗi ngưỡng có 1 cặp giá trị

(𝑃𝑛 , 𝑅𝑛 ) với n = 1,2,…,N. Precision-Recall curve được vẽ bằng cách vẽ từng điểm có
toạ độ trên trục toạ độ (𝑃𝑛 , 𝑅𝑛 ) và nối chúng với nhau.


11

Hình 2.5 Đồ thị Precision – Recall.

Average precision được định nghĩa là diện tích phần phía dưới đường biểu diễn
mối quan hệ của precision và recall. AP thường được tính xấp xỉ bằng công thức như
sau:
𝐴𝑃 = ∑(𝑅𝑛 − 𝑅𝑛−1 )𝑃𝑛
𝑛

Trong bài tốn Object Detection ta có nhiều class khác nhau, mỗi class ta sẽ tiến
hành tính giá trị AP và sau đó lấy trung bình của tất cả giá trị AP của các class để
được chỉ số mAP của cả mơ hình. Trong tập data COCO, AP được tính với 101 điểm
Interpolated Precision và sau đó tính AP trung bình với các ngưỡng IoU từ [0.5- 0.95].
2.3. Mơ hình ước tính tư thế (Pose Estimation)
Các kỹ thuật ước tính tư thế hơi khác nhau dựa trên việc nhiệm vụ là ước tính các
cá nhân hay nhiều người. Dưới đây là tổng quan về các kỹ thuật được sử dụng để thực
hiện cả hai nhiệm vụ vừa nêu.
2.3.1. Ước tính tư thế một người
Ước lượng tư thế khi áp dụng cho các cá nhân hoạt động theo cách truyền thống
bằng cách tìm các quan sát về các bộ phận cơ thể trong ảnh và sau đó mơ hình hóa
mối quan hệ giữa các chi dưới dạng biểu đồ cấu trúc cây (a tree-structured
graph)[2][3][4][5][6][7], được gọi là các mơ hình cấu trúc hình ảnh. Mỗi nút trong
biểu đồ đại diện cho một bộ phận và mỗi cạnh đại diện cho một phân bố xác suất có



×