You are on page 1of 34

HỌC VIỆN NGÂN HÀNG

KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

BÁO CÁO CUỐI KỲ


Học phần: Trí tuệ nhân tạo trong kinh doanh

ĐỀ TÀI:

Ứng dụng Computer Vision nhận diện các loại nước


ngọt trong cửa hàng Circle K

Giảng viên hướng dẫn: T.S.Vũ Trọng Sinh

Nhóm lớp: 221IS42A17

Nhóm: 1

Hà Nội, ngày 14 tháng 10 năm 2022


ĐÁNH GIÁ CÔNG VIỆC

STT Họ và tên Mã SV Công việc Đánh giá


1 Đoàn Nguyễn Trung 24A4012094 Xây dựng mô hình, Phần
Kiên (Nhóm trưởng) 2, viết nội dung, hỗ trợ 16,67%
thu thập dữ liệu và lên ý
tưởng mô hình.
2 Hoàng Mai Phương 24A4010118 Xây dựng mô hình, Phần
2, viết nội dung, tổng hợp
và chỉnh sửa hình thức 16,67%
bài báo cáo, hỗ trợ thu
thập dữ liệu.
3 Đinh Trà Phương 24A4010485 Phần 1, Phần 3, hỗ trợ thu
thập dữ liệu, xây dựng 16,67%
mô hình, viết nội dung.
4 Nguyễn Thanh Mai 24A4010040 Phần 1, phần 4, phần 5,
hỗ trợ thu thập dữ liệu, 16,67%
viết nội dung, xây dựng
mô hình.
5 Hà Kiều Trinh 24A4013196 Phần 1, phần 3, viết nội
dung, hỗ trợ thu thập dữ 16,67%
liệu, xây dựng mô hình,
hỗ trợ thu thập dữ liệu.
6 Nguyễn Thị Thuỳ Linh 24A4012332 Lên ý tưởng mô hình, hỗ
trợ quá trình làm nội
dung, viết nội dung, xây 16,67%
dựng mô hình, hỗ trợ thu
thập dữ liệu.

MÔ HÌNH
Mô hình gốc: https://bom.so/LUcrDC
Mô hình cải thiện lần 1: https://bom.so/OlDlAb
Mô hình cải thiện lần 2: https://bom.so/oSuDJ9
Mô hình cải thiện lần 3: https://bom.so/EoLA90
Mô hình cải thiện lần 4: https://bom.so/KByZ2u
Tệp dữ liệu: https://drive.google.com/drive/my-drive

2
MỤC LỤC
ĐÁNH GIÁ CÔNG VIỆC................................................................................... 2
MÔ HÌNH ............................................................................................................ 2
MỤC LỤC ............................................................................................................ 3
LỜI MỞ ĐẦU ...................................................................................................... 4
NỘI DUNG........................................................................................................... 5
Phần 1: Xác định vấn đề ............................................................................................5
1. Giới thiệu chung về Circle K ................................................................................5
2. Các vấn đề còn tồn tại trong doanh nghiệp: .........................................................5
3. Lựa chọn giải pháp ...............................................................................................6
Phần 2: Chuẩn bị dữ liệu ...........................................................................................7
1. Xác định dữ liệu cần thu thập. ..............................................................................7
2. Thuộc tính nhãn cần dự đoán................................................................................8
3. Cách thức thu thập dữ liệu ....................................................................................8
4. Cách thức tổ chức dữ liệu .....................................................................................9
Phần 3: Xây dựng mô hình, chạy thử nghiệm. ........................................................9
1. Giới thiệu tổng quan thuật toán sử dụng – CNN (CONVOLUTIONAL NEURAL
NETWORK ) ............................................................................................................9
2. Ý tưởng về mô hình ............................................................................................11
3. Xây dựng mô hình và chạy thử nghiệm..............................................................12
Phần 4: Đánh giá ......................................................................................................32
1. Ưu điểm ..............................................................................................................32
2. Nhược điểm ........................................................................................................32
Phần 5: Kết luận .......................................................................................................33
TÀI LIỆU THAM KHẢO ................................................................................ 34

3
LỜI MỞ ĐẦU
Trong thời đại kỹ thuật, công nghệ phát triển như hiện nay, trí tuệ nhân tạo (AI)
dần trở thành một thuật ngữ quen thuộc với mỗi chúng ta. Trí tuệ nhân tạo hay trí thông
minh nhân tạo (Artificial Intelligence - AI) là một ngành thuộc lĩnh vực khoa học máy
tính. Là trí tuệ do con người lập trình tạo nên với mục tiêu giúp máy tính có thể tự động
hóa các hành vi thông minh như con người.
Trí tuệ nhân tạo giúp máy tính có được những xử lý như trí tuệ của con người
như suy nghĩ, lập luận để giải quyết vấn đề, biết giao tiếp thông qua nhiều ngôn ngữ,…
nhờ đó mà nó dần được ưa chuộng và tích hợp trong rất nhiều những tiện ích công nghệ
hiện nay. Đặc biệt, một trong những ứng dụng nổi bật nhất trong thời gian gần đây của
trí tuệ nhân tạo là Thị giác máy tính (Computer vision).
Nhận thấy tầm quan trọng và tính thức thời trong việc ứng dụng trí tuệ nhân tạo
(Artificial Intelligence - AI) nói chung cũng như thị giác máy tính (Computer vision)
nói riêng, nhóm chúng em đã lựa chọn để nghiên cứu sâu hơn cho chuỗi cửa hàng tiện
lợi Circle K nhằm mục đích giúp chuỗi cửa hàng áp dụng được các công nghệ tiên tiến,
bắt kịp xu hướng công nghệ thời 4.0 với chủ đề: “Nhận diện các loại nước ngọt trong
cửa hàng tiện lợi Circle K” dưới sự hướng dẫn của thầy Vũ Trọng Sinh.
Chúng em xin đảm bảo phần bài làm dưới đây hoàn toàn là kết quả của quá trình
tự làm việc nhóm và không có bất cứ sự sao chép nào. Ngoài ra, dù đã cố gắng nhưng
với khả năng trong lĩnh vực tin học còn hạn chế, trong quá trình nghiên cứu nhóm không
tránh khỏi những sai sót. Chúng em rất mong sẽ nhận được sự thông cảm, cũng như
những ý kiến đóng góp, bổ sung của thầy để nhóm có thể rút ra những kinh nghiệm,
kiến thức, kĩ năng bổ ích cho những môn học sau.

4
NỘI DUNG
Phần 1: Xác định vấn đề
1. Giới thiệu chung về Circle K
Ở Hà Nội, chúng ta không khó để bắt gặp hình ảnh của những chiếc vòng tròn đỏ
ở trên các con phố. Với chuỗi cửa hàng gần 400 chi nhánh, Circle K đã và đang trở thành
địa điểm quen thuộc của những người dân Việt Nam, đặc biệt là thế hệ Gen Z. Vậy
Circle K là gì?
Circle K là chuỗi cửa hàng tiện lợi quốc tế ra đời vào năm 1951 tại Texas, Mỹ.
Trải qua gần 70 năm hình thành và phát triển, Circle K đã phủ sóng ở hầu hết các quốc
gia trên thế giới với hơn 14.000 cửa hàng trực tiếp điều hành và hơn 2.000 cửa hàng
nhượng quyền Circle K.
Sự đa dạng và độc đáo trong các mặt hàng kinh doanh được xem là một trong
những yếu tố hàng đầu khiến khách hàng ghé thăm và quay trở lại với các cửa hàng tiện
lợi Circle K. Không bó hẹp trong một loại sản phẩm nào, sự đa dạng về sản phẩm, xuất
xứ chắc chắn là điểm cộng rất lớn của chuỗi cửa hàng này.
Như một siêu thị thu nhỏ, các cửa hàng Circle K bán rất nhiều mặt hàng tiêu dùng
thiết yếu, hóa mỹ phẩm, thực phẩm khô và không thể không nhắc đến quầy đồ ăn nhanh
luôn “đông nghịt” khách hàng vào những giờ cao điểm.
2. Các vấn đề còn tồn tại trong doanh nghiệp:
Tính đến thời điểm hiện tại, Circle K đang là một tên tuổi nổi bật trong chuỗi cửa
hàng tiện lợi tại Việt Nam với gần 400 cửa hàng trải dài trên khắp các thành phố lớn,
nhằm đáp ứng nhu cầu của người dân nhờ sự tiện lợi và đa dạng.
Nhìn chung, do mục đích để duy trì chuỗi cửa hàng quá lớn nên đã dẫn đến hiện
trạng nguồn lực không đủ để phục vụ khách hàng. Phần lớn nhân viên ở cửa hàng tiện
lợi đều là những sinh viên có độ tuổi dao động từ 18-25 - độ tuổi dễ thay đổi công việc
nhất, khiến lượng nhân viên không ổn định, bộ phận chăm sóc khách hàng chưa hoàn
toàn làm hài lòng khách hàng. Nhiều cửa hàng bị giới hạn về nhân viên làm trì trệ thời
gian thanh toán của khách, lại có những cửa hàng chỉ có 1 nhân viên chuẩn bị đồ ăn sẵn,
điều này đã kéo dài quá trình đợi của khách hàng. Nếu Circle K không nhanh chóng
khắc phục vấn đề thời gian trong khâu thanh toán, trong tương lai, sẽ có nhiều ý kiến
trái chiều hơn về việc này, và làm ảnh hưởng trực tiếp đến tiến độ phát triển của doanh
nghiệp.
Hơn nữa, đối tượng chủ yếu Circle K mong muốn tiếp cận gần hơn là học sinh,
sinh viên và những người trẻ, vì vậy đa số các cửa hàng Circle K đều có vị trí gần trường
học, những nơi tụ tập nhiều người trẻ, ... dẫn đến tình trạng ùn tắc, quá tải vào những
5
khung giờ tan tầm. Điều này cũng ảnh hưởng đến sự hài lòng của khách hàng khi mua
hàng bởi phải chờ quá lâu trong quá trình xếp hàng thanh toán, dẫn đến sự khắt khe
trong việc đánh giá hương vị nước mà cửa hàng làm ra. Sự bất cập này đã phần nào kìm
hãm sự phát triển của chuỗi cửa hàng tiện lợi này. Ngoài ra, do có số lượng lớn khách
hàng nhưng lại hạn chế về nhân lực, cửa hàng không thể bao quát hết toàn bộ loại nước
trong cửa hàng, làm mất thời gian của khách hàng, lâu dần, sẽ khiến khách hàng giảm
mong muốn mua hàng ở Circle K.
3. Lựa chọn giải pháp
Từ những vấn đề tồn tồn tại, Circle K mong muốn có một công cụ hỗ trợ nhận
diện các loại nước ngọt để từ đó doanh nghiệp dễ dàng kiểm soát hàng hóa và nâng cao
tính tiện lợi để khách hàng được sử dụng những dịch vụ tốt nhất. Do đó, Computer
Vision là một sự lựa chọn hợp lý cho doanh nghiệp vì khách hàng vẫn có tâm lý là muốn
mua hàng nhanh và rút ngắn thời gian chờ đợi thì Computer Vision sẽ thay thế con người
để dễ dàng nhận diện được các loại nước ngọt khi khách hàng có nhu cầu mua và muốn
thanh toán tại cửa hàng. Điều đó giúp doanh nghiệp tăng doanh thu và nâng cao chất
lượng dịch vụ đặc biệt trong vấn đề hỗ trợ thanh toán và chăm sóc khách hàng. Mong
muốn của doanh nghiệp là đem lại cho khách hàng sự hài lòng tuyệt đối khi sử dụng các
sản phẩm và chất lượng phục vụ tại cửa hàng, đồng thời hỗ trợ họ một cách thuận tiện
trong việc chăm sóc khách hàng và bố trí nguồn nhân lực phù hợp.
Doanh nghiệp có thể đưa ra giải pháp cải thiện như tuyển thêm nhân viên phục
vụ hoặc nhân viên thu ngân nhưng khi lượng khách tăng lên trong giờ cao điểm thì vẫn
gặp phải những khó khăn và tồn tại trước đó. Vì vậy lựa chọn phương án ứng dụng trí
tuệ nhân tạo Computer Vision để nhận diện các loại nước ngọt trong cửa hàng để thanh
toán tự động sản phẩm của khách hàng là một phương án hợp lý. Ưu điểm của phương
án này là biết được sản phẩm là loại nước ngọt nào và với giá là bao nhiêu tiền để khách
có thể thanh toán nhanh chóng mà không cần chờ đợi. Nhưng phương án này có nhược
điểm là doanh nghiệp cần lắp đặt công nghệ nhận diện phức tạp, chi phí lớn.
Để tính tiện lợi được tối đa hóa và nhu cầu tiếp cận công nghệ số trong thời đại
4.0 thì Circle K nên lựa chọn phương án “Ứng dụng trí tuệ nhân tạo Computer Vision
để nhận diện các loại nước ngọt trong Circle K” là một giải pháp khả thi. Ứng dụng trí
tuệ nhân tạo tự động thanh toán sản phẩm của khách hàng thông qua khả năng nhận diện
các hình ảnh sẽ mang lại độ chính xác và phản hồi nhanh chóng, nhận diện với hình ảnh
chất lượng cao, tiết kiệm chi phí nhân sự, đồng thời tạo tâm lý an tâm dành cho khách
hàng khi cửa hàng gia tăng tỷ lệ khách hàng. Hiện nay đã có nhiều cửa hàng trong và

6
ngoài nước đã ứng dụng công nghệ này nên có thể học tập từ kinh nghiệm của người đi
trước, giúp việc triển khai mô hình ứng dụng được hiệu quả hơn.
Phần 2: Chuẩn bị dữ liệu
1. Xác định dữ liệu cần thu thập.
Trong thời đại ngày này, con người luôn ưu tiên sự tiện lợi, nhanh gọn và đơn
giản khi thanh toán bất cứ thứ gì, đặc biệt là sản phẩm trong các cửa hàng tiện lợi do
đây là nơi mọi người luôn phải xếp hàng, chờ đợi đến lượt thanh toán của mình dù mua
ít hay nhiều đồ. Do đó, việc áp dụng trí tuệ nhân tạo AI trong lĩnh vực nhận diện sản
phẩm để thanh toán tự động là một giải pháp cần thiết nếu các doanh nghiệp, cửa hàng
tiện lợi muốn nhắm vào mục đích về lâu về dài, đó là nâng cao chất lượng dịch vụ, cải
thiện tốc độ trong quy trình thanh toán, từ đó nâng cao mức độ hài lòng của khách hàng
khi sử dụng dịch vụ của doanh nghiệp.

Vì vậy, nhóm đã ứng dụng Computer Vision để nhận diện các loại nước ngọt
trong cửa hàng tiện lợi Circle K, thông qua đó, quá trình thanh toán cho khách hàng khi
mua nước ngọt sẽ diễn ra tự động, nhanh hơn mà khách hàng không cần phải xếp hàng
đợi đến lượt, hay chờ đợi nhân viên phục vụ xong đồ ăn cho các khách hàng khác.

Dữ liệu mà nhóm cần thu thập là các hình ảnh về 10 loại nước ngọt có trong cửa
hàng tiện lợi Circle K, bao gồm: Coca, C2, Bò húc, Bí đao, Fanta, Mirinda, Strongbow,
Fuze, Ice +, Sting. Trong đó, chủ yếu quan tâm đến các hình ảnh tập trung vào bao bì,
tên loại nước, hình dáng chai, lon nước.

Trong dữ liệu mà nhóm thu thập được, có hơn 1600 ảnh minh họa cho 10 loại
nước ngọt khác nhau đã nêu ở trên. Dưới đây là một số dữ liệu hình ảnh mà nhóm thu
thập được:

7
2. Thuộc tính nhãn cần dự đoán
• Phân loại ảnh là bài toán học có giám sát, do đó dữ liệu huấn luyện và kiểm định
phải được gán nhãn. Thuộc tính cần dự đoán là tên chính xác loại nước ngọt mà
khách hàng chọn để có thể thanh toán đúng với mức giá của loại sản phẩm đó.
Nếu hình ảnh trải qua quá trình học máy.
• Ảnh được gán nhãn dựa theo tên thư mục chứa nó, ta có tên và thứ tự các nhãn
tương ứng với tên và thứ tự các thư mục chứa ảnh huấn luyện và kiểm định.
• Hình ảnh trải qua quá trình học máy dựa vào màu sắc, hình dáng, tên thương
hiệu, bao bì để nhận định được các loại nước ngọt mà khách hàng đã chọn và
thanh toán: Coca, C2, Sting, Fanta, Mirinda, Bò húc, Strongbow, Bí đao, Ice +,
Fuze.
3. Cách thức thu thập dữ liệu
Từ các đặc điểm xuất hiện trên bao bì của các sản phẩm, nhóm chúng em đã thu
thập được bộ dữ liệu phù hợp phục vụ cho quá trình nghiên cứu.
Bộ dữ liệu nhóm sử dụng được lấy trên các nền tảng công cụ tìm kiếm Google, Cốc cốc
và phần mềm cung cấp hình ảnh Pinterest dưới dạng dữ liệu dạng hình ảnh với nhiều
các kích thước và độ phân giải khác nhau, có thể tải về tại: https://bom.so/6cqYQ1
Bộ dữ liệu gồm có:
• Số bản ghi: Tập Train bao gồm hơn 1600 ảnh (chiếm 80% trên tổng số) và tập
Validation bao gồm hơn 400 ảnh (chiếm khoảng 20% trên tổng số). Dữ liệu bao
gồm hình ảnh có màu của 10 loại lon, chai nước ngọt hiện đang được bày bán tại
hệ thống cửa hàng tiện lợi Circle K Việt Nam.
• Số thuộc tính: Nhiệm vụ là phân loại từng từng loại nước dựa trên những yếu tố
ở bao bì của sản phẩm.

8
4. Cách thức tổ chức dữ liệu
Bộ dữ liệu được lưu trong thư mục “DulieuBTL” trên Google Drive:
Trong thư mục “DulieuBTL”, nhóm chia ra làm hai folder nhỏ khác đó là “Train”
và “Validation”. Trong mỗi folder sẽ được chia ra là các thư mục nhỏ hơn là thư mục:
“Coca”, “C2”, “Sting”, “Bohuc”, “Fuze”, “Bidao”, “Ice”, “Mirinda”, “Fanta”,
“Strongbow”. Trong mỗi thư mục nhỏ này sẽ chứa các tệp dữ liệu chứa ảnh minh họa
cho các loại nước ngọt gồm: Coca, C2, Sting, Bò húc, Fuze Tea, Bí đao, Ice +, Mirinda,
Fanta và Strongbow.
Phần 3: Xây dựng mô hình, chạy thử nghiệm.
1. Giới thiệu tổng quan thuật toán sử dụng – CNN (CONVOLUTIONAL
NEURAL NETWORK )
Convolutional Neural Network (CNNs – Mạng nơ-ron tích chập) là một trong
những mô hình Deep learning tiên tiến giúp xây dựng được những hệ thống thông minh
với độ chính xác cao như ngày nay. Mô hình này thường được sử dụng nhiều trong các
bài toán nhận diện hình ảnh. Mạng CNN là một tập hợp gồm có các lớp convolution
chồng lên nhau. Trong đó, khi hình ảnh qua mỗi lớp thông qua các hàm kích hoạt sẽ tạo
ra thông tin trừu tượng hơn vì đi tiếp đến các lớp sau đó. Mạng nơron tích chập có thể
lấy hình ảnh đầu vào, gán độ quan trọng (các trọng số - weights và độ lệch - bias có thể
học được) cho các đặc trưng khác nhau trong hình ảnh và có thể phân biệt được từng
đặc trưng này với nhau.
Convolutional layer

Các convolutional layer có các parameter (kernel) đã được huấn luyện để tự điều
chỉnh lấy ra những thông tin chính xác nhất. Trong hình ảnh ví dụ trên, ma trận bên trái
là một hình ảnh đen trắng được số hóa. Ma trận có kích thước 5×5 và giá trị của mỗi
pixel là 1 hoặc 0 là giao điểm của các hàng và cột. Convolution hay tích chập là nhân
từng phần tử trong ma trận 3. Sliding Window ( kernel ) là một ma trận có kích thước
nhỏ như trong ví dụ trên là 3×3. Convolution hay tích chập là nhân từng phần tử bên
trong ma trận 3×3 với ma trận bên trái. Kết quả thu được một ma trận gọi là Convoled
feature được sinh ra từ việc nhận ma trận F với ma trận ảnh 5×5 bên trái.

9
Mục đích của phép tính tích chập là trích xuất các đặc trưng cấp cao như các cạnh
từ hình ảnh đầu vào. Lớp tích chập đầu tiên thường phục vụ để nắm bắt các đặc trưng
cấp thấp như màu sắc (colors), hướng dốc (gradient orientation), v.v. Mô hình với việc
bổ sung các lớp tích chập được thêm vào để nắm bắt các đặc trưng cấp cao. Từ đó, cung
cấp cho người sử dụng một mạng lưới nơron tích chập có sự hiểu biết toàn diện về hình
ảnh trong tập dữ liệu, tương tự như cách chúng ta - con người hiểu về hình ảnh.
Hàm kích hoạt Relu layer
Hàm này còn được gọi là activation function, có tác dụng mô phỏng các nơ ron
có tỷ lệ truyền xung qua axon, có thể giúp việc tính toán trở nên nhanh hơn. Hiện nay,
hàm relu được sử dụng rộng rãi và phổ biến
Lớp gộp ( Pooling )
Lớp gộp có hai loại: gộp cực đại ( max pooling ) và gộp trung bình (Average
pooling). Gộp cực đại trả về giá trị lớn nhất từ phần hình ảnh được bộ lọc bao phủ. Mặt
khác, gộp trung bình trả về giá trị trung bình của tất cả các giá trị từ phần hình ảnh được
bộ lọc che phủ. Lớp gộp tối đa cũng hoạt động như một công cụ khử nhiễu thông qua
việc loại bỏ nguồn nhiễu và thực hiện khử nhiễu song song với việc giảm kích thước.
Trong khi đó, gộp trung bình chỉ thực hiện giảm kích thước như một cơ chế giảm nhiễu.
Vì thế, có thể nói rằng gộp cực đại hoạt động tốt hơn nhiều so với gộp trung bình.
Lớp kết nối đầy đủ (Fully connected layer)
Sử dụng mạng nơron được kết nối đầy đủ là cách làm phổ biến nhất để học các
tổ hợp phi tuyến tính từ các đặc trưng được trích xuất từ kết quả ma trận tích chập. Một
mạng nơron kết nối đầy đủ có thể học được các đặc trưng trong không gian phi tuyến
này. Hình ảnh đầu vào sẽ được chuyển đổi sang một dạng thích hợp cho mạng nơron
đa lớp. Trước khi đến với lớp này, ảnh sẽ chuyển từ dạng ma trận về mảng 1 chiều qua
lớp Flatten, hình ảnh đầu vào này được chuyển thành một vectơ cột. Vectơ đầu ra sau
khi được làm phẳng sẽ được đưa vào một mạng nơron suy luận tiến (feedforward) và
phương pháp truyền ngược (backpropagation) được áp dụng cho quá trình huấn luyện.
Thông qua một loạt các lần lặp lại, mô hình có thể phân biệt giữa các đặc trưng cốt lõi
và các đặc trưng không thiết yếu trong hình ảnh và phân loại chúng bằng kỹ thuật phân
loại Softmax (softmax classification).
Sơ đồ thuật toán có thể được biểu diễn như sau:

10
Các lớp tích chập được nối tiếp nhau để mô hình có thể trích xuất các đặc trưng
trừu tượng hơn của bức ảnh
2. Ý tưởng về mô hình
Bài toán sử dụng phương pháp học có giám sát, đây là phương pháp sử dụng dữ
liệu đã được gán nhãn từ trước để suy luận ra quan hệ giữa đầu vào và đầu ra. Các dữ
liệu này được gọi là dữ liệu huấn luyện và chúng là cặp các đầu vào - đầu ra. Học có
giám sát sẽ xem xét các tập huấn luyện này để từ đó có thể đưa ra dự đoán đầu ra cho 1
đầu vào mới chưa gặp bao giờ. Cụ thể nhóm chúng em sử dụng một nhánh của học máy
là phương pháp học sâu (Deep Learning) sử dụng mạng lưới thần kinh với nhiều lớp.
Mạng Deep Learning thường sẽ cải thiện khi tăng lượng dữ liệu được sử dụng để đào
tạo, cụ thể nhóm dùng loại mạng nơ - ron tích chập (Convolutional Neural Network -
CNN). Mô hình nhận diện các loại nước ngọt được trích xuất từ các đặc điểm hình ảnh
của loại nước ngọt đầu vào và so sánh chúng với các đặc điểm được gán nhãn trong cơ
sở dữ liệu. So sánh được thực hiện dựa trên số liệu về sự tương đồng của tính năng và
nhãn trong cơ sở dữ liệu tương tự được sử dụng để gán nhãn cho hình ảnh đầu vào.
Trong bài toán này, nhóm chúng em mong muốn đạt được kết quả là khi khách hàng
đến mua các sản phẩm nước ngọt của Circle K sẽ được nhanh chóng và hài lòng hơn,
rút ngắn thời gian chờ đợi, giúp Circle K ngày càng phát triển và phát huy được sự tiện
lợi tối đa. Mô hình được triển khai như sau: Sử dụng các thư viện tensorflow, keras,
matplotlib và numpy sử dụng cho quá trình học máy. Sau đó khi kết nối chương trình
với Google Drive, thực hiện tiền xử lý các dữ liệu ảnh đưa ảnh được chuẩn hóa về 0 - 1
giúp cho chương trình đọc dữ liệu train và validation được chính xác và dễ dàng. Khi
chuẩn bị xong các tệp dữ liệu đầy đủ, tiến hành xây dựng mô hình, cho máy học dữ liệu
qua nhiều lớp CNN, sau mỗi lớp CNN các thuộc tính của ảnh được phân loại rõ ràng
hơn. Huấn luyện mô hình qua các bước EPOCH (các bước epoch đảm bảo đủ lớn). Thiết
lập các tham số để huấn luyện mô hình tiền đề, giúp huấn luyện và sử dụng mô hình
hiệu quả và có độ chính xác cao nhất.

11
3. Xây dựng mô hình và chạy thử nghiệm
Bước 1: Tạo thư mục cho bài thu hoạch
- Vào Google Chrome ( hoặc Cốc cốc, Microsoft Edge,.....), đăng nhập Gmail, truy
cập vào Google Drive
- Kích chọn “Drive của tôi” (My Drive), chọn “Mới” ở bên góc tay trái phía trên
màn hình và chọn “Thư mục mới” (New Folder)

- Đặt tên thư mục là “DulieuBTL” => Nhấn nút “Tạo”. Ta được thư mục như ảnh
sau:

Bước 2: Upload tập dữ liệu ảnh


- Nhấn đúp chuột trái để mở thư mục “DulieuBTL” vừa tạo, kích chuột phải tại
vùng trống chọn “Tải thư mục lên” (Upload Folder).

12
- Chọn đường dẫn tới 2 thư mục “Train” và “Validation” đã tạo trước đó (có sẵn
trong máy tính) và chọn tải lên. Sau khi thực hiện xong, ta có hai thư mục con như trong
ảnh sau:

Bước 3: Tạo file Colab trên Google Drive


- Tại thư mục “DulieuBTL”, kích chuột phải tại vùng trống, chọn “Ứng dụng
khác”, di chuột chọn “Google Colaboratory”.
- Đổi tên cho colab vừa tạo mới là “BTL - Trí tuệ nhân tạo - Nhóm 1 - Mô hình
gốc.ipynb”.

Bước 4: Xây dựng chương trình


a. Khai báo thư viện sẽ sử dụng
Nhóm sử dụng những thư viện sau:

- Tensorflow: Thư viện TensorFlow là thư viện mã nguồn mở dùng cho tính toán
số học sử dụng đồ thị luồng dữ liệu. Thư viện TensorFlow tích hợp sẵn rất nhiều các thư
viện machine learning. Đồng thời TensorFlow có khả năng tương thích và mở rộng tốt.
13
Điều này được Google phát triển cho học máy phục vụ cả nguyên cứu lẫn xây dựng các
ứng dụng thực tế
- Keras: thư viện mã nguồn mở được viết bằng Python dành cho DeepLearning.
Nó là một open source cho Neural Network, cũng là một API bậc cao có thể sử dụng
chung với các thư viện deep learning khác trong đó có Tensorflow. (cũng của anh chị)
- Matplotlib: giúp tối ưu việc thực hiện việc thống kê và trực quan hóa dữ liệu của
chương trình. Nó là một thư viện vẽ đồ thị rất mạnh mẽ và hữu ích đối với những người
sử dụng Python và NumPy. (của anh chị)
- Numpy: là một thư viện toán học phổ biến và mạnh mẽ của Python. Cho phép
làm việc hiệu quả với ma trận và mảng, đặc biệt là dữ liệu ma trận và mảng lớn với tốc
độ xử lý nhanh hơn nhiều lần khi chỉ sử dụng “core Python” đơn thuần.
b. Kết nối với Google Drive để đọc dữ liệu
- Chạy đoạn code sau để kết nối với Google Drive:

- Khi chạy xong thì hệ thống sẽ đưa ra nhắc nhở “Cho phép sổ tay này truy cập
vào các tệp trên Google Drive của bạn?”, nhấn chọn “Kết nối với Google Drive” và tiếp
tục làm theo các bước như ảnh.

Nhấn chọn tài khoản muốn kết nối.

14
Nhấn “Cho phép” đồng ý cho GG Colab truy cập vào Drive
Kết quả hiện ra như hình sau khi kết nối thành công với GG Drive

c. Khai báo đường dẫn tới thư mục “Dulieu” chứa tệp dữ liệu ảnh
Tạo sẵn lệnh code dự định sẽ chạy để khai báo đường dẫn đến thư mục chứa dữ
liệu ảnh để huấn luyện mô hình.

Để lấy đường dẫn tới tệp “Train” và “Validation”, nhóm thực hiện như sau:
- Đối với tệp Train: Nhấn vào biểu tượng tệp bên phía tay trái góc bên
trên của màn hình. Tiếp đó màn hình sẽ hiện ra thư mục “Drive” => Chọn
“Drive”=> tiếp tục chọn “My Drive” để làm xuất hiện thư mục “DulieuBTL”

15
=> Nhấn chọn thư mục “DulieuBTL” để hiện ra 2 thư mục Train và
Validation.

- Tại tệp Train, kích chuột vào dấu 3 chấm dọc bên cạnh => Chọn “Sao chép
đường dẫn” để có hướng dẫn: /content/drive/MyDrive/DulieuBTL/Train
- Đối với tệp “Validation”: Ta làm tương tự giống tệp “Train”, và có được
đường dẫn: /content/drive/MyDrive/DulieuBTL/Validation
- Sau đó, dán hai đường dẫn này vào trong dấu “” ở đoạn lệnh khai báo đường
dẫn tới thư mục chứa dữ liệu ảnh. Kết quả thu được:

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


Ta cần phải gán nhãn cho dữ liệu huấn luyện và dữ liệu kiểm định vì phân loại
ảnh là bài toán học có giám sát, khi đó quá trính học máy diễn ra sẽ cho kết quả chính
xác. Nhóm đã tạo một danh sách nhãn, ảnh được gán nhãn tương ứng dựa theo tên của
các thư mục chứa nó. Ở đây, nhóm có 10 tệp “Bidao”, “Bohuc”, “C2”, “Coca”, “Fanta”,
“Fuze”, “Ice”, “Mirinda”, “Sting”, “Strongbow” là tên của 10 loại nước ngọt: Bí đao,
Bò húc, C2, Coca, Fanta, Fuze, Ice +, Mirinda, Sting, Strongbow, tương ứng với tên và
thứ tự các nhãn của thư mục chứa dữ liệu ảnh huấn luyện và kiểm định.

e. Tiền xử lý dữ liệu hình ảnh với Imagedatagenerator


Ta sử dụng lệnh sau:

16
- Sử dụng thư viện có sẵn của Python - tensorflow để đọc ảnh từ thư mục
- ImageDataGenerator là lớp học của Keras để tổng hợp dữ liệu hình ảnh cho học
sâu. Nó cho phép dễ dàng truy cập vào hệ thống tệp cục bộ của bạn và nhiều phương
pháp khác nhau để tải dữ liệu từ các cấu trúc khác nhau. Nó cũng có một số khả năng
xử lý trước và tăng cường dữ liệu khá mạnh mẽ.
- Mọi hình ảnh kỹ thuật số được tạo thành bởi pixel có giá trị trong phạm vi 0 ~
255. 0 là màu đen và 255 là màu trắng. Đối với hình ảnh đầy màu sắc, nó chứa ba bản
đồ: Đỏ, Xanh lục và Xanh lam, và tất cả pixel vẫn nằm trong phạm vi 0 ~ 255. Vì 255
là giá trị pixel tối đa. Tham số Rescale 1/255 là chuyển đổi mọi giá trị pixel từ phạm vi
[0,255] thành cùng một phạm vi [0,1] sẽ làm cho hình ảnh đóng góp đồng đều vào
tổng tổn thất
f. Đọc dữ liệu ở tập Train và Test

- Sử dụng câu lệnh “train_image_files_path” và “valid_image_files_path” để dẫn


tới tệp ảnh “Train” và “Validation”.
- Nhóm chọn target_size = (50,50) để cho các ảnh được đồng bộ về kích thước
50x50 nhằm giảm độ phân giải của ảnh.
- Sử dụng class_mode = ‘categorical’ dùng để phân loại ảnh đa lớp (10 lớp)
- Sau khi chạy cell này, nhóm thu được kết quả có 1509 ảnh thuộc tập Train và
362 ảnh thuộc tập Validation.

g. Xây dựng mô hình

17
- Xây dựng mô hình có 5 tầng: Input image -> CNN1 -> CNN2 -> Fully connected
layer -> Output.
- Lớp CNN1 gồm 32 bộ lọc kích thước 3x3. Lớp này kết nối với input nên cần khai
báo đúng thông tin của input (input_shape), input_shape = (50,50,3) chính là kích thức
của dữ liệu ảnh đầu vào. Lớp CNN2 gồm 64 bộ lọc kích thước 3x3, tương tự như CNN1.
- Phép tính toán của hàm ReLU chỉ đơn giản là loại bỏ tất cả các giá trị âm. Lớp
ReLU được áp dụng ngay phía sau lớp tích chập, với đầu ra là một ảnh mới có kích
thước giống với ảnh đầu vào, các giá trị điểm ảnh cũng hoàn toàn tương tự, trừ các giá
trị âm đã bị loại bỏ.
- Hàm Maxpooling được dùng giữa các lớp CNN để giảm kích thước dữ liệu nhưng
vẫn giữ được các thuộc tính quan trọng của ảnh. Ở đây nhóm sử dụng lớp MaxPooling
có cửa sổ trượt size 2x2, bước dịch chuyển stride = 2 giúp giảm kích cỡ dữ liệu đi một
nửa.
- Hàm Flatten giúp đưa ảnh từ dạng ma trận điểm sang dạng vector 1 chiều.
- Lớp ẩn Dense thể hiện một fully connected layer, tức toàn bộ các unit của layer
trước đó được nối với toàn bộ các unit của layer hiện tại.
- Lớp output có 10 đầu ra tương ứng với 10 label.
h. Sử dụng thuật toán

18
Compile () để biên dịch mô hình, sử dụng khi code Python của bạn đang ở dạng
chuỗi hoặc AST và bạn muốn chuyển nó về một mã đối tượng. Thuật toán huấn luyện
mà nhóm sử dụng đó là RMSprop với tham số learning rate = 0,001. Hàm mất mát được
đặt là “categorical_crossentropy” dùng để tính toán sai số giữa các giá trị đã học so với
giá trị thực tế. Chỉ số đánh giá thành công (độ chính xác) được đặt là “acc”.
i. Huấn luyện mô hình

Số vòng lặp EPOCHS là số lần mô hình học và được đào tạo qua toàn bộ dữ liệu.
Nhóm lựa chọn EPOCHS = 50, số bước trên mỗi vòng lặp (steps_per_epoch) là 2 bước.
“steps_per_epoch” là lô mẫu để đào tạo. Nó được sử dụng để xác định có bao nhiêu lô
mẫu sẽ sử dụng trong một vòng lặp
Sau khi chạy cell, nhóm thu được kết quả như sau:

j. Đánh giá độ chính xác của tập Train và Validation.


Kết quả cho thấy tham số acc biểu thị độ chính xác với dữ liệu ảnh Train thường
đạt giá trị trong khoảng [40%-60%], và tại Epoch 46/50, độ chính xác đạt cao nhất là

19
75%. Tham số val_acc thể hiện độ chính xác với dữ liệu ảnh Validation thường nằm
trong khoảng [20% - 40%], và tại Epoch 39/50, độ chính xác cao nhất là 57,81%.
Để thấy rõ hơn kết quả của mô hình, nhóm sử dụng lệnh để vẽ biểu đồ thể hiện
độ chính xác của mô hình trên tập “Train” và “Validation”, và biểu đồ về khoảng cách
giữa vecto nhãn mô hình và vecto nhãn thực. Vì tham số val_acc, val_loss là độ chính
xác và sai số của dữ liệu tập Validation - nơi chứa dữ liệu ảnh mà mô hình không nhìn
thấy trong quá trình huấn luyện, cũng tức là không thể ghi nhớ được nên hai tham số
này sẽ có độ tin cậy cao khi nhóm đánh giá hoạt động của mô hình có hiệu quả hay
không.

20
k. Sử dụng mô hình
Chạy đoạn cell sau:

21
Hệ thống sẽ hiện ra lệnh (như ảnh) để chúng ta tải ảnh lên để chạy mô hình vừa
xây dựng. Nhấn vào “Chọn tệp” để tải lên hình ảnh bất kì mà ta muốn nhận biết.
Vì nhóm tập trung vào hai thông số val_acc và val_loss của tệp Validation nên ở
đây, nhóm đã tạo ra một thư mục có tên “Ảnh kiểm thử” gồm 30 ảnh lấy từ tệp
Validation, được đánh số thứ tự từ 1-30.
- Ảnh 1: C2
- Ảnh 2: Ice
- Ảnh 3: Fuze
- Ảnh 4: Ice
- Ảnh 5: Bohuc
- Ảnh 6: Bohuc
- Ảnh 7: Fuze
- Ảnh 8: Ice
- Ảnh 9: Fuze
- Ảnh 10: Bohuc
- Ảnh 11: Bidao
- Ảnh 12: Strongbow
- Ảnh 13: Strongbow
- Ảnh 14: Fanta
- Ảnh 15: Sting
- Ảnh 16: Fanta
- Ảnh 17: Fanta
- Ảnh 18: Strongbow
- Ảnh 19: Sting
- Ảnh 20: Sting
- Ảnh 21: Mirinda
- Ảnh 22: Mirinda
- Ảnh 23: Mirinda
- Ảnh 24: Bidao
- Ảnh 25: Coca
- Ảnh 26: C2
- Ảnh 27: Coca
- Ánh 28: C2
- Ảnh 29: Bidao
- Ánh 30: Coca

22
- Sau khi tải tệp 30 ảnh lên, nhóm thu được kết quả trả về như sau:
- Số ảnh nhận diện chính xác là 13/30, chiếm 43,33% trên tổng số ảnh thử.
- Do số ảnh nhận diện chính xác chưa cao, và độ chính xác cao nhất với dữ liệu
ảnh Validation mới chỉ đạt 57,81% nên nhóm vẫn chưa hài lòng về kết quả này và quyết
định cho thay đổi các thông số và thuật toán trong mô hình để tìm kiếm một kết quả tốt
hơn.
l. Tìm mô hình tối ưu
Vì mục tiêu tìm được mô hình tối ưu, nhóm quyết định sử dụng nhiều phương
pháp để cải thiện độ chính xác của mô hình như: Bổ sung lớp CNN, thay đổi số bộ lọc
trong từng lớp CNN, tăng số EPOCH, tăng số bước chạy trong mỗi EPOCH, thay đổi
kích thước ảnh, thay đổi thuật toán huấn luyện ... để tìm ra một kết quả tốt hơn.
• Mô hình cải thiện lần 1
Nhóm thay đổi bắt đầu từ kích thước ảnh từ 50x50 lên 100x100 đồng thời tăng
số lớp CNN từ 2 lớp lên 5 lớp với số bộ lọc từng lớp lần lượt là 32, 32, 64, 64, 128. Tăng
số EPOCH lên 80 và steps_per_epoch và validation_steps lên 3. Thuật toán vẫn giữ
nguyên là RMSprop.

23
Đánh giá tổng quát mô hình, nhóm thể hiện qua đồ thị:

24
Nhóm vẫn sử dụng 30 ảnh từ thư mục “Ảnh kiểm thử” để đánh giá chuẩn xác
nhất mô hình với mong muốn mô hình nhận diện hình ảnh chính xác hơn. Sau khi chạy
thử loạt 30 ảnh thì nhóm thu được kết quả như sau:
- Kết quả cho thấy tham số acc biểu thị độ chính xác với dữ liệu ảnh Train đạt giá
trị trong khoảng [30% - 60%], và tại Epoch 71/80, độ chính xác đạt cao nhất là 61,46%.
Tham số val_acc thể hiện độ chính xác với dữ liệu ảnh Validation thường nằm trong
khoảng [30%-50%], và tại Epoch 80/80, độ chính xác cao nhất là 59,38%.
- Số hình ảnh nhận diện đúng là 14/30, chiếm 46,66% trên tổng số ảnh thử.

25
- Kết quả này cho thấy mô hình đã được cải thiện, tăng 3,33% so với mô hình ban
đầu.
- Do số ảnh nhận diện chính xác chưa được cải thiện đáng kể, và độ chính xác cao
nhất với dữ liệu ảnh Validation mới chỉ đạt 59,38% nên nhóm vẫn thử nghiệm thêm các
mô hình khác bằng cách tiếp tục thay đổi các tham số và thuật toán.
• Mô hình cải thiện lần 2
Nhóm tiếp tục tăng EPOCH lên 200, thay đổi thuật toán huấn luyện từ RMSprop
sang Adam. Kích thước ảnh (100x100), số lớp CNN và số bộ lọc vẫn giữ nguyên (5
lớp), steps_per_epoch và validation_steps giữ nguyên là 3.

Đánh giá tổng quát mô hình, nhóm thể hiện qua đồ thị:

26
Khi chạy thử mô hình được cải thiện lần 2 để nhận diện 30 ảnh từ thư mục “Ảnh kiểm
thử”, nhóm thu được kết quả như sau:
- Kết quả cho thấy, tham số acc biểu thị độ chính xác với dữ liệu ảnh Train đạt giá
trị trong khoảng [50% - 80%], và tại Epoch 173/200, 194/200 và 199/200, độ chính xác
đạt cao nhất là 94,79%. Tham số val_acc thường sẽ nằm trong khoảng [50%-70%], và
tại Epoch 193/200, độ chính xác cao nhất là 86,46%.
- Số hình ảnh nhận diện đúng thay đổi rõ rệt là 21/30, chiếm 70% trên tổng số ảnh
thử. Kết quả đã cải thiện đáng kể.
- Với độ chính xác cao nhất với dữ liệu ảnh Validation đạt 86,64%, dù độ chính
xác có cải thiện hơn nhiều và khá cao, nhóm vẫn mong muốn có một mô hình tốt hơn
nên sẽ tiếp tục thay đổi tham số.
• Mô hình cải thiện lần 3

27
Nhóm quyết định giữ nguyên các tham số khác và tăng steps_per_epoch,
validation_steps từ 3 lên 5, thay đổi learning_rate từ 0.001 xuống 0.0001, hy vọng sẽ
cải thiện được mô hình.

Đánh giá tổng quát mô hình, nhóm thể hiện qua đồ thị:

28
Khi chạy thử mô hình được cải thiện lần 3, nhóm thu được kết quả như sau:
- Kết quả cho thấy, tham số acc đạt giá trị trong khoảng [60% - 80%], và tại Epoch
189/200, độ chính xác cao nhất là 82,5%. Tham số val_acc thường sẽ nằm trong khoảng
[40%-60%], và tại Epoch 196/200, độ chính xác cao nhất là 69,38%.
- Số hình ảnh nhận diện đúng thay đổi ít nhưng tích cực hơn là 22/30, chiếm 73,3%
trên tổng số ảnh thử.
- Độ chính xác ở đây đã giảm hơn so với mô hình trước. Vì thế, nhóm sẽ tiếp tục
tìm thêm một mô hình nữa tốt hơn.
• Mô hình cải thiện lần 4
Nhóm quyết định giữ nguyên các tham số của mô hình được cải thiện lần 3, và
thay đổi số layer trong từng lớp CNN (số layer cho từng lớp CNN lần lượt là 32, 64, 64,
128, 128).

29
Đánh giá tổng quát mô hình, nhóm thể hiện qua đồ thị:

30
Khi chạy thử mô hình được cải thiện lần 4, nhóm thu được kết quả như sau:
- Tham số acc đạt giá trị trong khoảng [80% - 90%], và tại Epoch 159/200, độ
chính xác đạt cao nhất là 100%. Tham số val_acc thường sẽ nằm trong khoảng [70%-
80%], và tại Epoch 158/200, độ chính xác cao nhất là 85,62%.
- Số hình ảnh nhận diện đúng thay đổi nhẹ và tích cực hơn là 27/30, chiếm 90%
trên tổng số ảnh thử. Kết quả đã cải thiện hơn so với mô hình trước.
Như vậy, với mô hình được cải thiện lần 4, độ chính xác cao nhất của tập
Validation là 85,62%, qua các vòng lặp EPOCH, nhóm nhận thấy val_acc, val_loss được
cải thiện tương đối tốt. Tuy nhiên nhóm vẫn chưa hài lòng về độ chính xác này, và cho
rằng nguyên nhân chính là do bộ dữ liệu ảnh đầu vào huấn luyện của nhóm chưa được
chất lượng.

31
Dù vậy, nhóm quyết định giữ mô hình được cải thiện lần 4 để sử dụng vì đây là
mô hình mang lại hiệu quả cao nhất mà nhóm nhận được.
Phần 4: Đánh giá
1. Ưu điểm
• Lợi thế:
Trong cuộc sống hiện đại, hàng loạt các chuỗi cửa hàng tiện lợi mọc lên như:
GS25, Ministop, 7-eleven,... nhằm phục vụ nhu cầu sống của người dân. Do đó, hệ thống
nhân viên chăm sóc khách hàng đóng góp một phần vô cùng quan trọng trong quá trình
cạnh tranh của doanh nghiệp. Khi áp dụng AI vào việc nhận diện các loại nước ngọt,
Circle K sẽ có thể cải thiện và nâng cao chất lượng phục vụ cũng như uy tín của doanh
nghiệp với khách hàng.
• Tính thực tế:
Ứng dụng Computer Vision nhận diện các loại nước ngọt trong Circle K mang
tính ứng dụng thực tế cao khi phân tích hình ảnh của từng loại nước ngọt để tính tiền mà
không cần phụ thuộc vào nhân viên vừa có thể tiết kiệm tiền thuê nhân công vừa giúp
khách hàng giảm thời gian chờ đợi. Hình ảnh được cho phép nhận diện dưới nhiều góc
độ và không gian khác nhau nhằm nâng cao sự tiện lợi cho khách hàng khi sử dụng dịch
vụ tại Circle K.
• Xu hướng phát triển:
Triển khai Computer Vision nhận diện các loại nước ngọt trong Circle K là công
cụ được đánh giá là cần thiết và hữu ích nhằm tiết kiệm nhân lực, thời gian và chi phí
cho cả doanh nghiệp và khách hàng trong thời kỳ cạnh tranh như hiện nay.
• Các lợi ích khác:
Ngoài việc giúp phân tích các loại nước ngọt, nhận diện hình ảnh còn giúp doanh
nghiệp nhận biết loại đồ uống được ưa chuộng, từ đó phát triển và đáp ứng phù hợp với
nhu cầu của khách hàng.
2. Nhược điểm
• Lượng dữ liệu đầu vào:
Dù tính ứng dụng cao, vẫn có nhiều vấn đề mà Computer Vision không thể bao
quát như: dữ liệu đầu vào hạn chế, chất lượng hình ảnh không tốt, không đa dạng được
các loại nước,... dẫn tới độ chính xác chưa cao.
• Chất lượng hình ảnh:
Khi xử lý hình ảnh khách hàng có thể gặp những bất trắc về ánh sáng, góc chụp,
vật cản, không gian, độ tương đồng quá cao giữa các loại nước.... dẫn tới máy khó phân
tích được chính xác loại nước mà khách hàng muốn sử dụng.

32
Phần 5: Kết luận
Với mục đích đáp ứng nhu cầu của khách hàng trong giờ cao điểm về dịch vụ
cũng như chất lượng sản phẩm, ứng dụng Computer Vision vào việc nhận diện nước tại
Circle K đã phần nào đáp ứng những khó khăn mà khách hàng cũng như doanh nghiệp
đang gặp phải. Việc thu thập dữ liệu trực tiếp qua ứng dụng tại cửa hàng, hình ảnh loại
nước mà khách hàng muốn mua sẽ được ghi lại một cách nhanh chóng và chính xác
nhất. Nhóm chúng em đã chạy thử từ thuật toán đơn giản nhất, khi đó mô hình đã đưa
ra kết quả khá thấp: chỉ nhận diện được 13 trên 30 ảnh (30 ảnh là những ảnh đã được
lựa chọn trong 400 ảnh ở mục validation). Sau khi qua nhiều lần thử nghiệm bằng cách
tăng kích thước ảnh, tăng lớp CNN, thay đổi thuật toán, tăng EPOCHS và tăng Step,
nhóm đã thu được kết quả chính xác nhất tiệm cận 100% (27/30 ảnh). Dù nhóm chưa
thực sự hài lòng với kết quả này do chưa đạt độ chính xác tối đa, và cho rằng nguyên
nhân chính là do bộ dữ liệu ảnh đầu vào chưa chất lượng. Tuy nhiên, nhóm chúng em
vẫn quyết định giữ lại mô hình này vì đó là mô hình hiệu quả nhất mà nhóm nhận được.
Có thể thấy, trong thời đại công nghệ ngày càng phát triển như hiện nay, việc áp dụng
công nghệ AI vào hoạt động kinh doanh không chỉ giúp giảm chi phí, nhân công, thời
gian cũng như tăng hiệu suất làm việc của doanh nghiệp mà còn không làm mất quá
nhiều thời gian và sự hài lòng của khách hàng.

33
TÀI LIỆU THAM KHẢO
1. Admin (28/07/2021), “Cửa hàng tiện lợi Circle K - “Đế chế” kinh doanh 24/7
chinh phục mọi người trẻ”
https://www.sapo.vn/blog/cua-hang-tien-loi-circle-k [Truy cập: 10:32 PM, 11/10/2022]
2. “Topdev, Thuật toán CNN – Convolutional Neural Network”
https://topdev.vn/blog/thuat-toan-cnn-convolutional-neural-network/ [Truy cập: 11:48
PM, 14/10/2022]
3. khanh_48 (14/05/2020), “Tìm Hiểu Thư Viện NumPy Trong Python”, CODE
LEARN
https://codelearn.io/sharing/tim-hieu-thu-vien-numpy-trong-python [Truy cập: 1:10
AM, 15/10/2022]
4. Thanh Hoa Tourism Trade (01/06/2021), “Tensorflow là gì? Những điều cơ bản
về thư viện Tensorflow”, Trường Trung cấp nghề Thương mại Du lịch Thanh Hoá.
https://tmdl.edu.vn/tensorflow-la-gi-nhung-dieu-co-ban-ve-thu-vien-tensorflow/ [Truy
cập: 1:50 AM, 15/10/2022]

34

You might also like