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

bài tiểu luận kết thúc học phần trí tuệ nhân tạo trong kinh doanh đề tài ứng dụng computer vision nhận biết các loại bánh trong cửa hàng bánh ngọt breadtalk

56 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

GIỚI THIỆU CÁCH THỨC THU THẬP DỮ LIỆU, CÁC KIỂU DỮ LIỆUẢNH CẦN THU THẬP, SỐ LƯỢNG CỦA TỪNG KIỂU DỮ LIỆU ẢNH VÀCÁCH TỔ CHỨC LƯU TRỮ DỮ LIỆU TRÊN MÁY TÍNHNhóm thu thập dữ liệu ảnh về 10 lo

Trang 1

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

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

BÀI TIỂU LUẬN KẾT THÚC HỌC PHẦNHọc phần: Trí tuệ nhân tạo trong kinh doanh

ĐỀ TÀI: Ứng dụng Computer Vision nhận biết các loại bánhtrong cửa hàng bánh ngọt BreadTalk

Giảng viên hướng dẫn:Bùi Thị Hồng Nhung

Sinh viên thực hiện:

Hà Nội, ngày 20 tháng 6 năm 2022

Trang 2

Họ và tên Mã sinh viên Công việc thực hiện

Chu Thị Ngọc 22A4050095 Phần III, phần V, hỗ trợ thu thập dữ liệu, xâydựng nội dung, viết kịch bản

Vũ Thị Mai Huyền 22A4050329 Phần I, phần II, hỗ trợ thu thập dữ liệu, quátrình làm nội dung, lên ý tưởng kịch bảnNguyễn Thu Trang 22A4050228

Phần IV, tổng hợp và chỉnh sửa hình thứcbài báo cáo, hỗ trợ thu thập dữ liệu và lên ýtưởng kịch bản

Trang 3

MỤC LỤC

II GIỚI THIỆU CÁCH THỨC THU THẬP DỮ LIỆU, CÁC KIỂU DỮ LIỆUẢNH CẦN THU THẬP, SỐ LƯỢNG CỦA TỪNG KIỂU DỮ LIỆU ẢNH VÀ

III GIỚI THIỆU TỔNG QUAN THUẬT TOÁN CNN - CONVOLUTIONAL

Trang 4

I GIỚI THIỆU VỀ ĐƠN VỊ SỬ DỤNG1.1 Giới thiệu chung về thương hiệu BreadTalk

Người tạo cảm hứng cho nhãn hiệu cách mạng này là Người Sáng lập và Chủtịch Tập đoàn, Tiến sĩ George Quek (Singapore) Ông đã biến bánh mì từ một món ănkhiêm nhường thành một sản phẩm của phong cách sống hiện đại Kể từ năm 2000,Breadtalk đã giới thiệu với khách hàng một văn hóa bánh mì chưa từng có VớiBreadTalk, món ăn truyền thống hằng ngày đã được định nghĩa lại để biểu tượng hóagiá trị của cuộc sống hiện đại – sáng tạo, bất ngờ, vui tươi và thời thượng.

BreadTalk có được một khẩu vị tinh tế, hình thức đẹp và hương vị thơm ngon.Đặc biệt là bánh FLOSSS (bánh mì chà bông) – loại bánh đã gây được sự chú ý củagiới truyền thông và đã đẩy nhãn hiệu BreadTalk vào vị trí nổi bật Ngày nay, tuy cónhiều loại bánh biến thể như Cheese Flosss, nhưng bánh Flosss vẫn tiếp tục chiếmđược cảm tình của khách hàng, và nó vẫn là một loại bánh tiêu biểu của BreadTalk.

Kể từ khi ra đời cho đến nay, BreadTalk nhận được nhiều giải thưởng lớn trênthị trường quốc tế, tiêu biểu nhất là Giải thưởng Thiết kế cho Châu Á 2004 được tổchức bởi Trung tâm Thiết kế Hồng Kông về các Giải pháp Tổng thể cho Nhãn hiệunổi bật và thiết kế sản phẩm Giải thưởng này đã đưa BreadTalk lên hàng đầu, đánhdấu một bước ngoặt có ý nghĩa trong công cuộc phát triển của thương hiệu.

Trong quá trình liên tục của sự sáng tạo và đổi mới, phát triển và tăng trưởngBreadTalk của hơn 12 năm qua là ảnh chụp qua ba thế hệ đặc biệt Và bây giờ,BreadTalk tự hào công bố khái niệm thế hệ thứ 4, với chiến dịch " Get Talking", mộtsáng kiến toàn cầu nhằm mục đích thay đổi cách thức khách hàng nhìn thấy, cảm nhậnvà hương vị thương hiệu.

Hiện nay, BreadTalk có hơn 4000 cửa hàng, trải rộng khắp các quốc gia trên thếgiới như: Philippine, Malaysia, Đài Bắc, Hồng Kông, Ma Cao, Ấn Độ, Thái Lan,Trung Quốc và Hội đồng Hợp tác Vùng Vịnh của Trung Đông, và Việt Nam.1.2 Phát biểu bài toán và lý do chọn bài toán

Trong 2 năm vừa qua, dưới sự bùng phát của Covid-19, thế giới nói chung cũngnhư Việt Nam nói riêng đã và đang chịu ảnh hưởng một cách nặng nề từ đại dịch này.

Trang 5

Tất cả các ngành khác nhau trong nền kinh tế, từ hàng không, du lịch, bất động sản,sản xuất kinh doanh, và tất cả nhiều lĩnh vực khác đều bị hạn chế cũng như đóngbăng theo lệnh giãn cách của Chính Phủ Nhìn một cách tổng quát, đại dịch đã làm têliệt, đình trệ cũng như thay đổi thế giới của chúng ta Và ngành kinh doanh bánh ngọtcũng không phải ngoại lệ Đại dịch đã gây ra sự thiếu hụt về mặt nhân sự, cùng vớiquy định giãn cách nghiêm ngặt và tâm lý e ngại đám đông của khách hàng là nhữngyếu tố góp phần tạo nên một nền kinh tế ảm đạm chưa từng có trong lịch sử Thấuhiểu được điều đó, nhóm chúng em muốn đề xuất phương pháp computer vision trongcông nghệ AI để thực hiện tự động thanh toán sản phẩm của khách hàng thông quakhả năng nhận diện các hình ảnh Với mục tiêu đảm bảo an toàn trong thời gian giãncách xã hội, đồng thời bắt kịp xu thế chuyển đổi số của thế giới, công nghệ ComputerVision này sẽ giúp tiệm bánh hoạt động theo xu hướng tự động hoá Việc sử dụngcông nghệ mới này sẽ giúp các nhà quản lý có thể tiết kiệm chi phí nhân sự cũng nhưđảm bảo quy định giãn cách khi dịch bệnh còn đang diễn biến phức tạp, đồng thời tạotâm lý an tâm dành cho khách hàng giúp gia tăng tỷ lệ khách hàng của tiệm.

Bàitoánứngdụng:Xây dựng mô hình nhận dạng hình ảnh của 10 loại bánh cótrong menu của quán để thực hiện thanh toán.

II GIỚI THIỆU CÁCH THỨC THU THẬP DỮ LIỆU, CÁC KIỂU DỮ LIỆUẢNH CẦN THU THẬP, SỐ LƯỢNG CỦA TỪNG KIỂU DỮ LIỆU ẢNH VÀCÁCH TỔ CHỨC LƯU TRỮ DỮ LIỆU TRÊN MÁY TÍNH

Nhóm thu thập dữ liệu ảnh về 10 loại bánh có trong menu của cửa hàng bánhBreadTalk có trong các website, bao gồm: Bun, Cookies, Croissant, Dry Cake, Pizza,Sandwich, Sliced Cake, Tart, Toast, Whole Cake Dữ liệu ảnh sẽ được lưu trữ ở thưmục lớn Data (C:\Users\Asus\Downloads\Computer Vision BreadTalk\Data), bao gồm2 thư mục nhỏ là Train và Validation.

Trang 7

Mỗi món bánh được thu thập bao gồm 100 dữ liệu ảnh Train và 25 dữ liệu ảnh

(C:\Users\Asus\Downloads\Computer Vision BreadTalk\Data\Train) 250 ảnhValidation được lưu trữ tại thư mục (C:\Users\Asus\Downloads\Computer VisionBreadTalk\Data\Validation).

Trang 11

DữliệuảnhTrain

Trang 17

tra, mỗi hình ảnh đầu vào sẽ chuyển nó qua 1 loạt các lớp tích chập với các bộ lọc(Kernels), tổng hợp lại các lớp được kết nối đầy đủ (Full Connected) và áp dụng hàmSoftmax để phân loại đối tượng có giá trị xác suất giữa 0 và 1.Hiện nay vẫn chưa cóđịnh nghĩa một cách chính xác nhất về thuật toán CNN nhưng có thể hiểu mạng CNNđược thiết kế với mục đích xử lý dữ liệu thông qua nhiều lớp mảng.Dưới đây là toànbộ luồng CNN để xử lý hình ảnh đầu vào và phân loại các đối tượng dựa trên giá trị (Hình 1) Có thể thấy mạng CNN là một tập hợp gồm có các lớp convolution chồng lênnhau 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ọngsố - 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 Ngoài ra, CNN có thể tạora được hệ thống thông minh, phản ứng với độ chính xác tương đối cao.

Hình 1

Trong ba lớp của Convolutional Neural Network, Convolutional Layer đượcxem là lớp có vai trò quan trọng nhất, vì Convolutional Layer sẽ đại diện CNN thựchiện mọi phép toán.Các convolutional layer có các parameter (kernel) đã được huấnluyện để tự điều chỉnh lấy ra những thông tin chính xác nhất Nhìn vào hình 1, có thểthấy ma trận bên trái là một hình ảnh đượ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íchchậ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ừngphầ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ọilà 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.

Trang 18

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áccạ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 đặctrưng cấp thấp như màu sắc (colors), hướng dốc (gradient orientation), Mô hình vớiviệ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àndiệ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 này còn được gọi là activation function, có tác dụng mô phỏng các nơ roncó tỷ lệ truyền xung qua axon.Trong đó, hàm kích hoạt sẽ bao gồm các hàm cơ bảnnhư: Sigmoid, Tanh, Relu, Leaky Relu, Maxout Hiện nay, hàm Relu đang được sửdụng khá phổ biến và thông dụng Những ưu điểm của Relu có thể kể đến như việchỗ trợ tính toán nhanh nên rất được ưa chuộng sử dụng trong việc huấn luyện cácmạng Neuron.

Lớp gộp có hai loại: gộp cực đại (Max pooling) và gộp trung bình (Averagepooling) 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ễuthô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ảmkí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ộptrung bình Lớp pooling sẽ giảm bớt số lượng tham số khi hình ảnh quá lớn và khônggian pooling còn được gọi là lấy mẫu con hoặc lấy mẫu xuống làm giảm kích thướccủa nhưng vẫn giữ lại thông tin quan trọng.

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áctổ 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 phituyế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ạngnơ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

Trang 19

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úngbằ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:

IV MÃ LỆNH CHƯƠNG TRÌNH4.1 Đọc dữ liệu tiền xử lý dữ liệu4.1.1.Tạothưmụcdựán

Tại tài khoản Google Drive của tôi, chọn “Mới", “Tạo thư mục mới", đặt tênthư mục là “Computer Vision - BreadTalk” và nhấn nút “Tạo".

Trang 20

Kích đúp chuột để mở thư mục Computer Vision - BreadTalk vừa tạo, nhấn nútchọn “Tải thư mục lên" Ấn chọn data trong thư mục Computer Vision BreadTalk vànhấn “Tải lên" Toàn bộ dữ liệu ảnh trong tệp Data đã tạo ở bước 1 đã được tải lênDrive để tiến hành những bước tiếp theo.

Trang 23

Tại “Drive của tôi" nhấn chọn “Ứng dụng khác", chọn Google Colaboratory

Trang 24

Chỉnh sửa tên file là BreadTalk.ipynb

Chọn File, chọn Move, chọn Computer Vision - BreadTalk, nhấn Select folder FileBreadTalk.ipynb đã được chuyển tới thư mục Computer Vision - BreadTalk.

Trang 26

ChuyểnfileBreadTalk.ipynbtớithưmụcComputerVision-BreadTalk.

Trang 27

4.1.4.ViếtlệnhCodechạychươngtrình• Khai báo thư viện sử dụng.

• Kết nối với Google Drive để đọc và lưu dữ liệu.

Khi ấn chạy code thì hệ thống sẽ đưa ra nhắc nhở để chúng ta cho phép file colab nàycó thể truy cập vào dữ liệu Google Drive của mình Nhấn chọn “Connect to GoogleDrive".

Khi hiện ra thông báo như vậy nhấn “Cho phép".

Trang 28

• Khai báo đường dẫn đến thư mục chứa ảnh để Huấn luyện và Kiểm định mô hình:

Trang 29

Đường dẫn chứa thư mục chứa dữ liệu ảnh Train và Validation sẽ được đưa vào nhưsau:

Nhấp chọn biểu tượng thư mục được khoanh tròn.

Chọn “Drive", chọn “MyDrive" Tại thư mục Computer Vision - BreadTalk, kích chọnthư mục Data.

Trang 30

Để khai báo đường dẫn chứa dữ liệu ảnh Train, tại thư mục nhỏ Train thuộc thư mụcData, kích chuột vào dấu ba chấm bên cạnh thư mục Train, chọn “copy path", sau đódán vào lệnh code “train_image_files_path".

Trang 31

Thực hiện tương tự với dữ liệu ảnh Validation, ta thu được kết quả như sau:

Trang 32

Một file ảnh JPG sẽ được lưu dưới dạng một ma trận dữ liệu số có giá trị trong khoảng[0, 255], do đó chúng ta sẽ cần ma trận có kích thước 256 x 256 chiều để biểu diễnmột bức ảnh 256 x 256 pixel, mà mỗi phần tử trong ma trận sẽ có giá trị từ 0 đến 255.Số kênh tương ứng với mỗi bức ảnh sẽ phụ thuộc vào việc đó là ảnh màu hay ảnhxám Thông thường ảnh màu sẽ có 3 kênh, tương ứng với 3 ma trận còn ảnh xám thìchỉ cần 1 kênh hay 1 ma trận mà thôi Tham số rescale = 1/255 có tác dụng chuẩn hóadữ liệu ảnh về các giá trị nằm trong khoảng [0,1].

4.2 Kịch bản 1: Mô hình CNN kích thước chuẩn hoá ảnh từ 50x50; 2 lớp mạngCNN, tham số optimizer RMSprop, số vòng lặp EPOCHS là 100.

class_mode = ‘categorical' dùng để phân loại ảnh đa lớp (4 lớp).

Kết quả thu được ta có 997 ảnh Train thuộc 10 lớp và 249 ảnh Validation cùng thuộcsố lớp như ảnh Train Do có 3 ảnh Train có kích thước nhỏ hơn 50 x 50 nên khi đọcdữ liệu cho ra kết quả 997 ảnh Train và 249 ảnh Validation.

Trang 33

Compile là hàm được dùng để chọn các tham số huấn luyện mô hình Tham sốoptimizer được sử dụng là RMSProp.

Trang 34

4.2.4.Huấnluyệnmôhình

Trang 35

Số vòng lặp chạy mô hình được chọn là 100 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 [60%-70%] Tham sốval_acc thể hiện độ chính xác với dữ liệu ảnh Validation thường sẽ nằm trong khoảng[70%-80%].

Trang 36

Kết quả thu được đó là máy đã nhận biết được đây là loại bánh PIZZA.

Trang 37

Ta vừa thực hiện nhận biết loại bánh với mô hình CNN bao gồm kích thước chuẩn hoáảnh 50x50; 2 lớp mạng CNN với lớp CNN1 gồm 32 bộ lọc kích thước 3x3, lớp CNN2gồm 64 bộ lọc kích thước 3x3; tham số optimizer RMSprop; số vòng lặp chạy môhình EPOCHS là 100 Kết quả thu được mô hình có độ chính xác nằm trong khoảng70%- 80% Độ chính xác này là tương đối cao, tuy nhiên mục tiêu là xây dựng môhình có độ chính xác cao nhất để đưa ra lựa chọn vào sử dụng trong thực tế nên nhómtiến hành xây dựng các kịch bản nâng cấp mô hình tiếp theo.

4.3 Kịch bản 2: Mô hình CNN nâng cấp kích thước chuẩn hoá ảnh từ 50x50 lên100x100; những yếu tố còn lại giữ nguyên (2 lớp mạng CNN, tham số optimizerRMSprop, số vòng lặp EPOCHS là 100).

4.3.1.ĐọcdữliệuTrainvàValidation

Trang 38

4.3.3.Thiếtlậpthamsốđểhuấnluyệnmôhình

Trang 39

Độ chính xác mô hình nằm trong khoảng [45%-50%].

Trang 41

[45%- 50%] Kịch bản 2 có độ chính xác trung bình Vì vậy nhóm tiếp tục thực hiệnkịch bản 3.

4.4 Kịch bản 3: Bổ sung thêm lớp mạng CNN, thay đổi số lượng và kích thướcbộ lọc, các yếu tố khác không đổi (kích thước chuẩn hoá ảnh 50x50, tham sốoptimizer RMSprop, số vòng lặp chạy mô hình 100) Mô hình được nâng cấpgồm 3 lớp mạng CNN, trong đó số lượng bộ lọc ở mỗi lớp là 64, kích thước bộ lọc5x5.

4.4.2.Xâydựngmôhình

Trang 42

4.4.4.Huấnluyệnmôhình

Trang 43

Độ chính xác của mô hình năm trong khoảng [15%-20%].4.4.5.Sửdụngmôhình

Trang 44

Mô hình đã nhận biết chính xác đây là loại bánh TOAST.4.4.6.Kếtluậnkịchbản3

Kịch bản 3 sau khi nâng cấp mô hình lên 3 lớp CNN, trong đó mỗi lớp gồm 64 bộ lọc,mỗi bộ lọc có kích thước 5x5, các yếu tố khác không đổi, ta thu được mô hình có độchính xác nằm trong khoảng [15%-20%] Độ chính xác này là chưa cao nên nhóm tiếptục triển khai kịch bản 4.

Trang 45

4.5 Kịch bản 4: Thay đổi tham số optimizer RMSprop thành Adam, các yếu tốkhác không đổi (chuẩn hóa kích thước ảnh 50x50, 2 lớp mạng CNN, số vòng lặpchạy mô hình EPOCHS 100).

4.5.3.Thiếtlậpcácthamsốđểhuấnluyệnmôhình

Trang 46

Độ chính xác của mô hình nằm trong khoảng [90%-95%].

Trang 48

hơn rõ rệt so với những kịch bản trước Tuy nhiên, để khẳng định được đây đã là kịchbản tối ưu hay chưa, ta tiếp tục thực hiện kịch bản 5.

4.6 Kịch bản 5: Nâng cấp số vòng lặp chạy mô hình EPOCHS từ 100 lên 200, cácyếu tố khác giữ nguyên (kích thước chuẩn hoá ảnh 50x50, 2 lớp mạng CNN,tham số optimizer RMSprop).

4.6.2.Xâydựngmôhình

Trang 49

4.6.4.Huấnluyệnmôhình

Trang 50

Độ chính xác mô hình nằm trong khoảng [80%-90%].4.6.5.Sửdụngmôhình

Trang 51

Mô hình đã nhận biết chính xác đây là bánh SANDWICH.4.6.6.Kếtluậnkịchbản5

Sau khi nâng cấp số vòng lặp chạy mô hình EPOCHS từ 100 lên 200, ta thu được môhình có độ chính xác [80%-90%] Đây là độ chính xác khá cao.

4.7 Kịch bản 6: Nâng cấp mọi yếu tố: chuẩn hóa kích thước ảnh từ 50x50 lên100x100, 3 lớp mạng CNN với 64 bộ lọc và mỗi bộ lọc có kích thước 5x5, thay đổitham số optimizer RMSprop thành Adam, số vòng lặp chạy mô hình epochs từ100 lên 200.

4.7.1.ĐọcdữliệuTrainvàValidation

Ngày đăng: 21/06/2024, 18:21

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

TÀI LIỆU LIÊN QUAN

w