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

[LUẬN VĂN THẠC SĨ] Giải pháp thanh toán nhanh món ăn ở căn tin trường học sử dụng thuật toán nhận dạng hình ảnh

95 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

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC BÀ RỊA – VŨNG TÀU

- -

PHẠM TẤN TUÂN

GIẢI PHÁP THANH TOÁN NHANH MÓN ĂN Ở CĂN TIN TRƯỜNG HỌC SỬ DỤNG THUẬT TOÁN NHẬN DẠNG HÌNH ẢNH

LUẬN VĂN THẠC SĨ

Bà Rịa – Vũng Tàu, tháng 09 năm 2023

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC BÀ RỊA – VŨNG TÀU

- -

PHẠM TẤN TUÂN

GIẢI PHÁP THANH TOÁN NHANH MÓN ĂN Ở CĂN TIN TRƯỜNG HỌC SỬ DỤNG THUẬT TOÁN NHẬN DẠNG HÌNH ẢNH

LUẬN VĂN THẠC SĨ

Chuyên ngành: Công nghệ Thông tin Mã số ngành: 8480201

CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS.TS TRẦN MẠNH HÀ

Bà Rịa – Vũng Tàu, tháng 09 năm 2023

Trang 3

LỜI CAM ĐOAN

Tôi là Phạm Tấn Tuân, MSSV 20110165, học viên lớp MIT20K2, Khoá 2,

chuyên ngành công nghệ thông tin Tôi xin cam đoan rằng luận văn: “Giải pháp thanh toán nhanh món ăn ở căn tin trường học sử dụng thuật toán nhận dạng hình ảnh” là công trình nghiên cứu của cá nhân tôi dưới sự hỗ trợ của giảng viên

hướng dẫn PGS.TS Trần Mạnh Hà Các dữ liệu, kết quả được trình bày và nêu trong Luận văn là trung thực và chưa từng được công bố trong bất kỳ công trình nào khác Tôi xin xác nhận rằng mọi sự giúp đỡ cho việc thực hiện Luận văn đã được cảm ơn và các nguồn thông tin trích dẫn trong Luận văn đều được ghi rõ nguồn gốc

Học viên thực hiện Luận văn

(Ký và ghi rõ họ tên)

Trang 4

LỜI CẢM ƠN

Trước hết, tôi xin gửi lời cảm ơn và bày tỏ sự biết ơn chân thành tới PGS.TS Trần Mạnh Hà – Giảng viên hướng dẫn khoa học đã trực tiếp hướng dẫn, hỗ trợ và định hướng cũng như giúp đỡ tôi trong quá trình tìm hiểu, nghiên cứu và hoàn thiện luận văn của mình

Tôi xin bày tỏ lòng biết ơn chân thành đến quý thầy cô giảng viên của trường Đại học Bà Rịa - Vũng Tàu, những người đã tạo điều kiện, hỗ trợ cho tôi trong suốt quá trình học tập và nghiên cứu khoa học Đặc biệt tôi xin cảm ơn đến Thầy chủ nhiệm lớp MIT20K2 thầy Phan Ngọc Hoàng đã gợi ý và đề xuất về ý tưởng thực hiện luận văn

Mặc dù đã cố gắng hết sức để hoàn thành luận văn nhưng chắc chắn sẽ không tránh khỏi sai sót Tôi kính mong nhận được sự góp ý tận tình của quý thầy cô và các bạn

Tôi xin gửi lời cảm ơn chân thành!

Học viên thực hiện Luận văn

(Ký và ghi rõ họ tên)

Trang 5

1.2.Mục tiêu nghiên cứu của đề tài 2

1.2.1 Nội dung nghiên cứu 3

1.2.2 Đối tượng nghiên cứu 3

1.2.3 Phương pháp nghiên cứu 4

1.2.4 Ý nghĩa đề tài 5

1.3.Cấu trúc luận văn 5

1.4.Tổng quan về đề tài 6

1.5.Các nghiên cứu liên quan 10

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

2.1.Computer Vision - Thị giác máy tính 12

2.2.Kỹ thuật mô tả đặc trưng (Histogram of Oriented Gradients – HOG) 12

2.3.Mạng noron tích chập 14

2.4.Kỹ thuật mô hình nơ-ron tích chập theo vùng (R-CNN) 18

2.5.Kỹ thuật mô hình nơ-ron tích chập theo vùng cải tiến (Faster R-CNN) 20

2.6.Mô hình YOLO v5 23

2.7.Đánh giá mô hình 30

2.7.1 Tỷ lệ vùng giao nhau trên tổng vùng (Intersection over Union - IOU) 30

Trang 6

2.7.2 - Precision và Recall 32

2.7.3 - Hàm mất mát 33

2.74 Lý do lựa chọn mô hình YOLOv5 cho đề tài 36

CHƯƠNG 3.THIẾT KẾ VÀ XÂY DỰNG MÔ HÌNH ỨNG DỤNG 37

3.1.Mô hình phát hiện vật thể bằng YOLOv5 37

3.2.Dữ liệu 38

3.2.1 Các yếu tố về mặt dữ liệu để mô hình đạt được kết quả tốt nhất 46

3.2.2 Các trường hợp nhận dạng sai: 47

3.3.Chọn mô hình 47

CHƯƠNG 4.THỰC NGHIỆM VÀ ĐÁNH GIÁ ỨNG DỤNG 51

4.1.Quy trình thực hiện thí nghiệm 51

4.2.Đánh giá 52

4.3.Tạo ứng dụng cho mô hình 64

4.3.1 Đề xuất kịch bản chạy thực nghiệm và phân tích nguyên nhân 66

4.3.2 Áp dụng mô hình tính tổng số tiền: 70

CHƯƠNG 5.KẾT LUẬN 76

5.1 Các kết quả luận văn làm được 76

5.3 Khả năng ứng dụng thực tiễn (nếu có): 77

5.4 Những hạn chế và định hướng phát triển trong nghiên cứu tiếp theo 77

5.5 Kết luận: 79

TÀI LIỆU THAM KHẢO 81

Trang 7

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

4 R-CNN Region-based Convolutional Neural Networks

6 CNN Mạng thần kinh tích chập (Convolutional Neural Network)

8 MLP Perceptron nhiều lớp (Multilayer Perceptron Classifier)

Trang 8

DANH MỤC CÁC BẢNG BIỂU

Bảng 3 1 Chi tiết nhóm đối tượng nhận dạng 39

Bảng 3 2 Tỉ lệ phân chia tổng số lượng hình ảnh huấn luyện 42

Bảng 4 1 Tỉ lệ kết quả từng nhóm đối tượng 52

Bảng 4 2 Bảng đơn giá các các đối tượng nhận dạng 71

Trang 9

DANH MỤC CÁC HÌNH VẼ

Hình 1 1 Mô hình máy bán tự động 7

Hình 1 2 Mô hình máy bán tự động 8

Hình 1 3 Minh Họa khay đồ ăn học sinh 9

Hình 2 1 Thuật toán Histogram of Oriented Gradients – HOG 13

Hình 2 2 Các lớp của mô hình mạng Noron tích chập 14

Hình 2 3 Mô hình Convolution Neural Network 16

Hình 2 4 Mô phỏng hình ảnh khi đi qua từng lớp (layer) 18

Hình 2 5 Kiến trúc mô hình R-CNN 20

Hình 2 6 Mô hình Fast R-CNN 22

Hình 2 7 Kim tự tháp tính năng (Feature Pyramid) 27

Hình 2 8 Kiến trúc của PAN 28

Hình 2 9 Tổng quan về YOLOv5 29

Hình 2 10 Hộp chứa (Box) 30

Hình 2 11 Hình ảnh minh họa cách tính IOU 31

Hình 2 12 Hình ảnh minh họa hiệu quả của IOU 31

Hình 2 13 Ảnh mô tả cách tính mAP 32

Hình 2 14 Mô tả threshold 33

Hình 2 15 Lưới cắt của hình ảnh 34

Hình 3 1 Mô tả quy trình thực hiện phát hiện vật thể 37

Hình 3 2 Một số hình ảnh dùng cho huấn luyện 40

Hình 3 3 Một số hình ảnh dùng cho huấn luyện 41

Hình 3 4 Mô tả dữ liệu 45

Hình 4 1 Biểu đồ thể hiện độ chính xác và thông số trên từng epoch 53

Hình 4 2 Ma trận nhầm lẫn 54

Trang 10

Hình 4 3 Đồ thị F1 – Confidence Curve 55

Hình 4 4 Đồ thị Precision – Confidence Curve 56

Hình 4 5 Đồ thị Precision – Recall Curve 56

Hình 4 6 Đồ thị Recall – Confidence Curve 57

Hình 4 7 Hình ảnh đưa vào huấn luyện được đánh số từ 0 đến 4 58

Hình 4 8 Hình ảnh gốc được gán nhãn đưa vào huấn luyện 60

Hình 4 9 Kết quả hình ảnh sau khi dùng để kiểm tra 62

Hình 4 10 Kết quả của các hình ảnh chứa nhiều vật thể sau khi kiểm tra 63

Hình 4 11 Kết quả nhận dạng đối tượng thông qua Camera 65

Hình 4 12 Kịch bản chạy đơn lẻ từng đối tượng 67

Hình 4 13 Kịch bản chạy 2 đối tượng tách rời nhau 68

Hình 4 14 Kịch bản chạy 3 đối tượng, trong đó có chứa vật thể không nằm trong bộ huấn luyện 68

Hình 4 15 Kịch bản chạy 3 -4 đối tượng, trong đó có chứa vật thể không nằm trong bộ huấn luyện 69

Hình 4 16 Kịch bản chạy 2 đối tượng, chứa vật thể không nằm trong bộ huấn luyện 70

Trang 11

CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN ĐỀ TÀI 1.1 Đặt vấn đề

Sau ba cuộc cách mạng công nghiệp, phát minh về công nghệ đã thay đổi cách làm việc cũng như tăng hiệu suất công việc.Với cuộc cách mạng lần đầu đã xảy ra vào những năm 1784 bằng việc phát minh và sử dụng động cơ hơi nước nhằm thay sức người đã đưa con người đến một kỷ nguyên mới về sự hiệu quả của các thiết bị, tạo nên kỷ nguyên phát triển chưa từng có trước đây Trong cách mạng thứ hai và thứ ba, năng lượng điện đã xuất hiện và được áp dụng, tạo cơ sở cho các dây chuyền sản xuất với quy mô đa dạng Đồng thời, công nghệ thông tin và tự động hóa cũng đã phát triển Trong thời kỳ này internet, cuộc đua tự động hóa đã giúp cho thế giới phẳng hơn, khi giao tiếp giữa người với người được dễ dàng hơn, dù ở đâu trên thế giới cũng như các công việc mới được sinh ra mà trước đó không hề có Bên cạnh đó, việc tự động hóa máy móc nhờ các phát minh trong cuộc cách mạng thứ 3 đã tăng hiệu quả lao động thông qua việc hoạt động chính xác và nhanh chóng hơn với sự giúp sức của máy móc Hiện tại, chúng ta đang có những bước đầu để đến với cách mạng 4.0, hứa hẹn là sẽ mở ra một kỷ nguyên cho nhân loại khi trí tuệ nhân tạo ra đời cùng với vạn vật kết nối Cuộc cách mạng này hứa hẹn là sẽ thay đổi rất nhiều đến xã hội từ những vấn đề chuyên sâu như khoa học cơ bản, tin sinh học, robot, công nghệ nano cho đến công việc thường ngày như việc quản lý, phân loại…

Các công nghệ ngày càng len lỏi đến khắp nơi trong cuộc sống hơn Dễ thấy, tại các hệ thống siêu thị trong trung tâm thương mại, đại lý phân phối hoặc các địa điểm bán lẻ đều sử dụng phương pháp quét mã vạch để thanh toán hóa đơn đang là một giải pháp phổ biến, mang lại lợi ích tối ưu về thời gian và công sức

Tuy nhiên tại các địa điểm buôn bán như căn tin trường học hoặc nhà máy sản xuất, món ăn lại không có mã vạch nhưng lại cần tạo hóa đơn thanh toán cho số lượng lớn học sinh hoặc công nhân trong thời gian giới hạn Vấn đề cần giải quyết là tạo ra giải pháp tự động và nhanh chóng để tạo hóa đơn thanh toán cho các món ăn

Trang 12

Hiện tại, hầu hết trường học đều có căn tin phục vụ học sinh, tuy nhiên các căn tin này đều khá đơn sơ và hoạt động theo phương pháp cơ bản là người tính tiền sẽ nhìn trực tiếp các món mà học sinh đặt hàng để tính toán ra số tiền mà học sinh đã mua Đặt điểm rõ rệt nhất của cách hoạt động này là việc hầu hết các trường chỉ có 1 - 2 căn tin và số lượng nhân viên, người bán trong căn tin cũng rất hạn chế Trong khi đó, số lượng học sinh lại là vô cùng nhiều từ vài trăm đến cả ngàn học sinh nên việc có thể đáp ứng vấn đề phục vụ cho học sinh nhanh chóng với khoảng thời gian như 20 phút ra chơi hoặc 5 - 10 phút chuyển tiết thì phải cần nguồn nhân lực nhiều, gây lãng phí Do đó, vấn đề đặt ra là cần cải thiện chất lượng phục vụ học sinh ở căn tin trường học trong giờ giải lao để tiết kiệm nguồn nhân lực, dựa vào những công nghệ tiên tiến của cách mạng 4.0 đã mang lại

Cụ thể, ở đề tài này sẽ tập trung tìm hiểu để hình thành giải pháp khắc phục vấn đề nêu trên bằng cách sử dụng thuật toán nhận dạng hình ảnh nhằm xác định được các món cơ bản, thường được bán trong các căn tin trường học Các món sẽ được phân loại một cách cơ bản dựa trên danh sách có sẵn nhằm tạo thuận tiện cho việc tính tiền và đơn giản hoá số lượng món Kết quả có được từ mô hình sẽ là căn cứ để tạo hóa đơn thanh toán nhanh cho các món ăn tại căn tin của trường học Dựa trên cơ sở này, giải pháp được phát triển để giải quyết vấn đề tự động tính tiền và thanh toán cho những món ăn, thức uống mà không cần sử dụng mã vạch Dữ liệu hình ảnh các món ăn, món hàng dùng để thử nghiệm và đánh giá giải pháp được lấy tại căn tin của một trường học cụ thể

1.2 Mục tiêu nghiên cứu của đề tài

- Mục tiêu tổng quát: đề tài nghiên cứu và phát triển giải pháp ứng dụng mô hình nhận dạng hình ảnh thông qua camera để tạo hóa đơn thanh toán nhanh và tự động các đồ ăn, thức uống cho người dùng tại căn tin trường học

- Mục tiêu cụ thể của đề tài bao gồm:

+ Xây dựng mô hình phát hiện các món ăn trên ảnh tĩnh, dữ liệu tự tạo và thu thập, dựa trên mạng thần kinh tích chập và mô hình nhận dạng đối tượng bằng YOLO

Trang 13

+ Áp dụng mô hình để nhận dạng món ăn, tạo hóa đơn thanh toán nhanh tại căn tin trường học

1.2.1 Nội dung nghiên cứu

- Nghiên cứu tổng quan về xử lý hình ảnh

- Các phương pháp nhận dạng hình ảnh và đối tượng:

+ Kỹ thuật mô tả đặc trưng (Histogram of Oriented Gradients – HOG) + Kỹ thuật mô hình nơ-ron tích chập theo vùng (R-CNN)

+ Kỹ thuật mô hình nơ-ron tích chập theo vùng cải tiến (Faster R-CNN) - Phương pháp sử dụng mô hình YOLO v5 với những nội dung:

Tổng quan về YOLO, kiến trúc mạng, nguyên lý hoạt động, kết quả đầu ra của YOLO, dự đoán bounding box, thuật toán sử dụng trong YOLOv5, cấu trúc của mô hình YOLOv5 trong việc nhận diện vật thể (Object Detection)

Trong luận văn này, đề xuất sử dụng máy học, thị giác máy tính trong đó giải pháp chủ yếu được sử dụng là mô hình YOLO để xác định được vật thể trong ảnh tĩnh, từ đó phân loại các vật thể xuất hiện trong ảnh Từ những kết quả có được, tôi sẽ so sánh, đưa ra nhận xét để chọn mô hình thích hợp cho vấn đề sử dụng mô hình trong thực tế cũng như là có một cơ sở cụ thể cho việc đề xuất sử dụng giải pháp thích hợp để nhận diện các đối tượng tương tự

1.2.2 Đối tượng nghiên cứu

- Những vấn đề liên quan đến phương pháp nhận dạng đối tượng, phát hiện và phân biệt các đối tượng cần quan tâm trong ảnh tĩnh cụ thể như:

+ Phát hiện các món ăn, món hàng được bán ở căn tin trường học + Nhận diện các món ăn, món hàng được bán tại căn tin trường học + Tự động tạo hóa đơn thanh toán nhanh

- Phạm vi nghiên cứu: Dữ liệu được xử lý là ảnh tĩnh được lấy trực tiếp từ Camera do người dùng chụp từ ứng dụng Camera được đặt tại căn tin trường học

- Trong giới hạn nghiên cứu của đề tài, tập trung xử lý hình ảnh được trích xuất từ các hình chụp khay đồ ăn, được mua bởi các học sinh trong căn tin trường học Trong đó, các vật thể được đề cập cụ thể trong ảnh gồm:

Trang 14

+ Dạng Tô (Như tô phở, bún) + Dạng Sữa hộp

- Tìm hiểu về cách tạo và xuất hoá đơn thanh toán

Trang 15

1.2.4 Ý nghĩa đề tài

Về mặt khoa học: Đề tài đóng góp trong việc cung cấp thêm về vấn đề sử dụng mô hình cũng như việc áp dụng lý thuyết vào việc sử dụng các mô hình phát hiện vật thể hiện tại cho các đối tượng chưa từng được thực hiện nhận diện trước đây Về mặt thực tiễn: Các kết quả và mô hình mà đề tài thực hiện và mang lại được sẽ giúp cho các trường học cũng như là các doanh nghiệp, hộ kinh doanh có thể đưa vào nhằm tính tiền tự động mà khôn dùng mã QRCode và giảm thời gian chờ của học sinh, công nhân từ đó có thể tiết kiệm chi phí phục vụ Đối với các căn tin trường học thì có thể gia tăng được tính chính xác cũng như là tiết kiệm chi phí khi phục vụ học sinh.

1.3 Cấu trúc luận văn

Chương 1: Giới thiệu tổng quan đề tài

Nội dung chủ yếu của chương là tìm hiểu về các vấn đề hình thành nên đề tài Các ứng dụng tạo hóa đơn thanh toán tiền tự động cho những mặt hàng bán lẻ hiện nay Từ đó đề xuất phương pháp vận dụng thuật toán nhận dạng hình ảnh để tạo hóa đơn thanh toán cho các món ăn, món hàng được bán cho học sinh ở căn tin trường học Kèm theo nội dung của đề tài như: ý nghĩa, phương pháp nghiên cứu và đối tượng nghiên cứu

Chương 2: Cơ sở lý thuyết

Tìm hiểu và trình bày sơ lược về các kiến thức cơ sở, được đề tài sử dụng bao gồm: những kỹ thuật áp dụng để nhận dạng đối tượng, phát hiện đối tượng, mạng thần kinh tích chập, các kiến thức xử lý ảnh, các thuật toán nhận dạng hình ảnh liên quan Tiếp đến là mô hình CNN, một mô hình phổ biến và là mô hình nền tảng mà mô hình YOLO sử dụng Cuối cùng là tôi sẽ giới thiệu mô hình YOLO, cấu trúc, cách hoạt động và điểm khác biệt là gì khi so với mô hình CNN Đề xuất mô hình để giải quyết vấn đề được tạo ra, đánh giá mô hình, cũng như cách huấn luyện dữ liệu mới (dữ liệu tự tạo) trong YOLO

Chương 3: Thiết kế và xây dựng mô hình ứng dụng

Trang 16

Trong chương này chủ yếu thực hiện thiết kế mô hình tạo hoá đơn thanh toán tự động, mô tả hệ thống, mô tả dữ liệu thu thập, khai báo danh sách các đối tượng được nhận dạng trong mô hình, mỗi công đoạn đều có các dữ liệu cụ thể, các thuật toán và mô hình cũng được đề xuất và thực thi trên các ví dụ cụ thể

Mô tả quy trình thực hiện phát hiện vật thể, thiết kế hệ thống nhận diện bằng YOLO Lên kịch bản sử dụng tập dữ liệu mẫu tự tạo, các thông số của mô hình, huấn luyện dữ liệu tự tạo, quá trình kiểm tra và phân tích ưu nhược điểm để có kết quả tốt nhất khi sử dụng mô hình ứng dụng

Chương 4: Thực nghiệm và đánh giá ứng dụng

Trong chương này mô tả quá trình thực nghiệm, kết quả và đánh giá kết quả thực nghiệm của ứng dụng đã xây dựng Ứng dụng xây dựng trên một ngôn ngữ lập trình và trên một bộ dữ liệu tự đề xuất

Xây dựng ứng dụng cho việc phát hiện vật thể một cách trực tiếp và theo thời gian thực thông qua camera được kết nối với máy tính và sử dụng mô hình tốt nhất sau khi huấn luyện

Xây dựng kịch bản chạy thử nghiệm, quá trình chạy thử nghiệm, và phân tích kết quả

Chương 5: Kết luận

Tóm lược luận văn: những kết quả đạt được của đề tài so với mục tiêu đặt ra, những hạn chế, cải tiến mở rộng của giải pháp và hướng nghiên cứu và phát triển tiếp theo cho đề tài hiện tại

1.4 Tổng quan về đề tài

Hiện nay, tại nhiều hệ thống siêu thị, trung tâm thương mại, đại lý phân phối và điểm bán lẻ, việc sử dụng quét mã vạch để thanh toán sản phẩm đang trở thành lựa chọn phổ biến, tiết kiệm công sức và thời gian

Mặt khác, máy bán hàng tự động cũng đang dần rất phổ biến ở nhiều nơi, đặc biệt là các thành phố lớn hoặc ở các khu vực đông người của nhiều thành phố lớn nhỏ đều cũng đã xuất hiện máy bán hàng tự động Sự phổ biến của máy bán hàng tự động giúp cho mọi người tiện lợi hơn khi mua các thức uống hoặc thức ăn một cách gọn

Trang 17

nhẹ thông qua chức năng chọn và thanh toán Mỗi mặt hàng đều sẽ được đặt tại từng ô và sẽ được chọn dựa theo số Sau đó, người dùng sẽ phải bỏ số tiền tương ứng vào nhằm thanh toán sản phẩm mình đã chọn

Hình 1 1 Mô hình máy bán tự động

Nguồn ảnh: https://cafebiz.vn/

Trang 18

Hình 1 2 Mô hình máy bán tự động

Nguồn ảnh: tuoitre.vn

Tuy nhiên tại các địa điểm buôn bán như căn tin trường học hoặc nhà máy sản xuất, món ăn lại không có mã vạch nhưng lại cần tạo hóa đơn thanh toán cho số lượng lớn học sinh hoặc công nhân trong thời gian ngắn Ngoài ra, nếu sử dụng các máy bán hàng tự động trong trường hợp này thì máy bán hàng tự động cũng chỉ sẽ đáp ứng được cho học sinh hay công nhân đối với các sản phẩm như chai nước, sữa hay một số loại bánh nhất định Điều này có một số vấn đề sau: đầu tiên là các máy bán hàng tự động hiện tại còn gặp khá nhiều các vấn đề liên quan đến việc vận hành như máy hư, bị lỗi khi bán, tiếp đến là khi nhận tiền mặt thì các máy khá khó chịu với các tờ tiền không được thẳng, nhăn nheo, đặc biệt là không thối lại tiền thừa và cuối cùng là máy bán hàng tự động không đáp ứng được về mặt các thức ăn như bánh mì, phở, bún, các loại thức ăn chính nhằm cung cấp đủ dinh dưỡng cho học sinh hoặc người lao động có thể hoạt động một cách hiệu quả trong thời gian tiếp theo

Trang 19

Vấn đề đặt ra là cung cấp giải pháp để tạo hóa đơn thanh toán các món ăn một cách nhanh chóng và tự động Đề tài này nghiên cứu và xây dựng giải pháp giải quyết vấn đề nêu trên bằng cách áp dụng mô hình thuật toán nhận dạng hình ảnh món ăn để tạo hóa đơn thanh toán nhanh cho các các món ăn tại căn tin của trường học Dựa trên cơ sở đó, giải pháp được xây dựng giải quyết được vấn đề thanh toán tính tiền tự động cho các món hàng mà không cần gán mã vạch Dữ liệu hình ảnh các món ăn, món hàng dùng để thử nghiệm và đánh giá giải pháp được lấy tại căn tin của một trường học cụ thể

Ý tưởng của đề tài là học sinh sau khi chọn món và các thức ăn đã được chế biến xong hoặc các mặt hàng có sẵn như chai nước, sữa, đã được chọn và đưa lên khay, học sinh sẽ đặt khay vào khu vực được quy định để thanh toán Tại khu vực này, căn tin sẽ lắp một camera có chức năng chụp ảnh và đưa ra thông tin trong khay có những sản phẩm nào, từ đó phân loại và dựa vào kết quả đó sẽ tính toán được giá trị của khay và xuất ra hóa đơn Học sinh sẽ cầm hoá đơn này để thanh toán tại quầy Từ đó, sẽ giảm được khối lượng công việc của người bán cũng như là tăng độ chính xác và tốc độ phục vụ

Hình 1 3 Minh Họa khay đồ ăn học sinh

Phạm vi của bài nghiên cứu này hiện chỉ đang xét một số các mặt hàng cố định bao gồm:

- Dạng Tô (Như tô phở, bún)

Hình 2 SEQ Hình

Trang 20

- Dạng Sữa hộp - Dạng Hộp thức ăn

- Dạng Chai nước (pepsi, coca, …) - Dạng Bánh mì

Và các mặt hàng này sẽ được định giá là như nhau ở mỗi loại sản phẩm Điều này cũng thể xem như là một mặt hạn chế vì trong một số trường hợp thì các sản phẩm như phở hay bún hoặc các loại nước sẽ có giá khác nhau tùy thuộc vào đặc trưng Tuy nhiên ở đây chỉ đang sử dụng các hình dáng chung để có thể phân loại nên việc gộp các sản phẩm này thành chung một giá sẽ là hữu hiệu nhất

1.5 Các nghiên cứu liên quan

Kể từ khi mô hình học sâu về thị giác máy tính là Convolutional neural network (CNN) được đề xuất bởi Yann Lecun cùng với sự phát triển vượt bậc của sức mạnh tính toán thì các mô hình về thị giác máy tính đã bùng nổ một cách mạnh mẽ với nhiều mô hình và thuật toán mới được phát triển liên tục Các mô hình thị giác máy tính được ứng dụng phổ biến, rộng rãi với nhiều ngành nghề và nhiều thiết bị như xe tự hành, bảo mật, xử lý ảnh y tế cho đến những ứng dụng cho các thiết bị nhỏ như: ứng dụng trên Smartphone, các thiết bị IoT

Ở trên thế giới, các nghiên cứu về phát hiện và phân loại đối tượng bằng mô hình học sâu có khá nhiều Có thể kể đến như Zhang, Z., Zhang, S., He, Z., Zhang, Z., Xie, J., & Xie, L (2019) về “phát hiện vật thể xe tự lái” Jamshidi, M., Akbari, M., & Zarghami, A (2019) và Li, Y., Zhou, Y., Li, W., Wang, Y., & Lu, H cho mô hình học sâu về “sử dụng phát hiện và phân loại vật thể được sử dụng trong y khoa” Trong các hệ thống giám sát thì nghiên cứu của Rasheed, Z., & Shah, M có chỉ ra “mô hình phát hiện và phân loại đối tượng cho phép các hệ thống giám sát phát hiện và theo dõi các đối tượng quan tâm trong thời gian thực”, tăng cường khả năng giám sát và bảo mật Trong mảng robotics mô hình phát hiện và phân loại vật thể giúp hỗ trợ hệ thống robot tương tác với môi trường, “xác định các đối tượng và thực hiện các nhiệm vụ” như nắm bắt hoặc thao tác đối tượng theo nghiên cứu của Lowe, D G

Trang 21

Trong nước, các nghiên cứu đi sâu vào các trường hợp và ứng dụng cụ thể hơn như “hệ thống nhận dạng gương mặt trong video giám sát” của Trần Trung Kiên năm 2013 “Ứng dụng neural network để phân loại khuôn mặt” của Nguyễn Trường Tân, 2013 Nguyễn Thị Thủy, 2018 “Sử dụng mô hình học sâu để nhận dạng khuôn mặt người và ứng dụng trong quản lý nhân sự”

Như có thể thấy, phần lớn các nghiên cứu trên toàn cầu đều mang tính lý thuyết mà chưa đưa vào thực tiễn nhiều Trong nước cũng có số ít các nghiên cứu đưa vào thực tiễn, tuy nhiên lại ứng dụng khá nhiều vào khuôn mặt cũng như là giám sát hành động mà chưa có nhiều ứng dụng vào trường học Đặc biệt, việc áp dụng các ứng dụng vào thực tế nhằm cải thiện chất lượng cuộc sống của học sinh Vì khi các em có một sức khỏe tinh thần tốt thì khi đó mới có thể chuyên tâm vào công việc học tập Do đó, đây là động lực để tôi có thể tiến hành nghiên cứu này

Trang 22

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

2.1 Computer Vision - Thị giác máy tính

Thị giác máy tính là một mảng nhỏ trong công nghệ máy học với chức năng chính là trích xuất thông tin từ ảnh hoặc video để có thể hiểu được hoặc trình bày dưới dạng ngôn ngữ hoặc thông tin cần thiết cho người dùng Lĩnh vực thị giác máy tính bao gồm một số các mảng như phân loại ảnh, xác định vật thể, phát hiện vật thể và các mảng nhỏ khác tùy theo nhu cầu nhận diện hoặc trích xuất thông tin từ ảnh mà sẽ có những kỹ thuật khác nhau khi thực hiện Trong đó, phân loại hình ảnh chỉ đơn giản là gán cho hình ảnh một lớp dựa trên các đối tượng bên trong hình ảnh Xác định vật thể là xác định đối tượng trong ảnh bằng cách vẽ một hộp chứa (bounding box) xung quanh đối tượng và xuất ra hình ảnh phân loại của đối tượng Phát hiện đối tượng là một kỹ thuật kết hợp của cả hai trong đó nhiều đối tượng có thể được phát hiện trong một hình ảnh được cung cấp bởi một đầu ra chứa một số hộp chứa và nhiều lớp tích chập

Như đã được đề cập thì bằng việc sử dụng mạng nơ-ron học sâu và các thuật toán được xây dựng trên cơ sở mạng thần kinh tích chập, các hệ thống thị giác máy tính sử dụng hình ảnh 2D đã có được những thành tựu to lớn trong một số các tác vụ như phân loại hình ảnh (classification), phát hiện đối tượng (detection) và phân đoạn ngữ nghĩa (semantic segmentation) kể từ năm 2012 Trong nhiều trường hợp, các mô hình có thể đạt được hiệu suất tương tự hoặc thậm chí tốt hơn về phân loại/phát hiện hình ảnh 2D và phân đoạn ngữ nghĩa so với con người thực hiện

2.2 Kỹ thuật mô tả đặc trưng (Histogram of Oriented Gradients – HOG)

Trước khi các mô hình học sâu (deep learning) ra đời và phát triển mạnh mẽ thì các thuật toán xử lý ảnh cũng đã xuất hiện và được ứng dụng trong một số các trường hợp Trong đó, có một thuật toán cổ điển nhưng được sử dụng khá rộng rãi và hiệu quả là kỹ thuật mô tả đặc trưng Kỹ thuật HOG lần đầu tiên được Dalal và Triggs giới thiệu trong bài báo CVPR 2005 Ở thời điểm ban đầu, HOG được thiết kế với mục tiêu là phát hiện người (human detection) nhưng sau đó với hiệu suất và ưu điểm của mô hình thực hiện được nên đã được phát triển mở rộng thêm cho các bài toán phát

Trang 23

hiện nhiều đối tượng khác Cách hoạt động của phương pháp HOG một cách dễ hình dung, mô hình sẽ đếm số lượng hiện diện của các hướng đạo hàm (gradient orientation) tại các vùng cục bộ địa phương trong hình

Hình 2 1 Thuật toán Histogram of Oriented Gradients – HOG

Thuật toán HOG (Histogram of Oriented Gradients) là một kỹ thuật được sử dụng để mô tả hình dạng và đặc trưng của đối tượng trong ảnh HOG hoạt động bằng cách chia nhỏ ảnh thành các vùng nhỏ gọi là cell, sau đó tính histogram của các gradient hướng trong mỗi cell Histogram là một biểu đồ hiển thị sự phân bố của các giá trị trong một tập dữ liệu Trong trường hợp này, các giá trị là hướng của các gradient trong mỗi cell Các histogram của các cell được ghép lại để tạo thành một vector đặc trưng mô tả hình dạng và đặc trưng của đối tượng trong ảnh

Để nâng cao hiệu quả trong việc nhận dạng, việc chuẩn hóa các histogram cục bộ có thể được thực hiện bằng cách chuẩn hóa độ tương phản Quá trình này thực hiện việc tính toán ngưỡng cường độ trong các khu vực lớn hơn của ảnh, được gọi là các khối, và các ngưỡng này được sử dụng để chuẩn hóa tất cả các ô trong từng khối Kết quả của quá trình chuẩn hóa là một vector đặc trưng có sự bất biến cao, giúp tăng khả năng đáp ứng đối với các biến đổi về điều kiện ánh sáng

Có 5 giai đoạn cơ bản để tạo ra một vector HOG cho hình ảnh, bao gồm: • Tiền xử lý

• Tính gradient

• Tính HOG trong mỗi ô • Chuẩn hóa khối (blocks) • Tính toán vector HOG

Hình ảnh đầu vào

Normalize gamma & colour

Tính toán gradient

Weighted vote into spatial & orientation cells

Contrast normalize over overlapping spatial blocks

Thu thập các HOG’s over detection window

Linear SVM

Người/ Không phải người

Hình 3 SEQ Hình_3 \* ARABIC 1 Tổng quan về

Trang 24

2.3 Mạng noron tích chập

Đầu tiên, trước khi đến với mạng thần kinh tích chập thì ta sẽ nhắc lại sơ về mạng lưới thần kinh trong máy học trước Mạng lưới thần kinh trong máy học đúng như tên gọi thì mô hình được xây dựng từ hình ảnh và cách vận hành của cấu trúc cơ quan thần kinh người Ở đó, mỗi điểm được đặc trưng như là các nơron thần kinh Các điểm nơron này chỉ hoạt động khi mà đạt một điều kiện nhất định và trong mạng nơron nhân tạo thì điều kiện để mạng hoạt động là dựa trên thuật toán hàm hoạt động (activation function) Có một số các hàm cơ bản thường được dùng như sigmoid, RELU,

Hình 2 2 Các lớp của mô hình mạng Noron tích chập

Như hình vẽ minh hoạ, ta có thể thấy được là hàm thường được chia ra làm 3 thành phần chính với “lớp đầu vào”, các “lớp ẩn” và “lớp kết quả” (Input layer; Hidden layer; Output layer) Ở lớp đầu vào thì chính là dữ liệu đầu vào của chúng ta, sau đó dữ liệu sẽ đi qua các lớp ẩn với mục đích chính là sẽ tìm ra các tham số nhằm tạo ra một hàm có thể dự đoán được và có tỷ lệ chính xác khi so với lớp kết quả là cao nhất

Mô hình mạng thần kinh nhân tạo được xem như là mô hình cơ bản nhất của máy học và được sử dụng rộng rãi trong nhiều trường hợp và dùng trong nhiều bài

Trang 25

toán khác nhau như bài toán dự đoán bao gồm cả hồi quy tuyến tính và hồi quy phi tuyến tính, bài toán phân loại Mô hình này còn có thể sử dụng trong cả việc phân loại ảnh, điển hình là bài toán phân loại số từ chữ viết tay được chạy trên mô hình

(http://neuralnetworksanddeeplearning.com/about.html)

Tuy nhiên, đặc điểm của mô hình này là độ chính xác của mô hình là tăng theo số lượng lớp ẩn và các nút trên lớp, đồng nghĩa với việc là đối với các dữ liệu ảnh thì số lượng đầu vào tương ứng với số điểm ảnh, do đó, ảnh có chất lượng càng cao và để tăng độ chính xác lên tốt nhất thì mô hình sẽ càng to ra Một ví dụ điển hình có thể thấy là trong bộ dữ liệu CIFAR-10 với kích thước ảnh là 32x32x3 (rộng 32, cao 32, 3 kênh màu) Từ dữ liệu trên ta có thể tính toán được rằng một nơ-ron được kết nối đầy đủ sẽ có trọng số 32x32x3 = 3072 trong lớp ẩn đầu tiên của Mạng nơ-ron thông thường Số lượng này thông thường thì các mô hình và các hệ máy cơ bản vẫn có thể xử lý một cách tốt nhưng khi gia tăng kích thước ảnh khi tăng số lượng điểm ảnh thì việc xử lý ngày càng khó và tốn nhiều tài nguyên hơn Ví dụ: một hình ảnh có kích thước phù hợp hơn, ví dụ: 200x200x3, sẽ dẫn đến các nơ-ron có trọng số 200x200x3 = 120.000 Hơn nữa, đối với các mô hình học sâu thì số lớp của mô hình ngày càng tăng và do đó các nút sẽ tăng lên rất nhiều

Do đó, đến một mức độ thì mô hình là quá lớn để huấn luyện và cũng quá nhiều tham số dẫn đến không hiệu quả Dựa trên đặc điểm này thì mô hình mạng tích chập được tạo ra để khắc phục được tình trạng tạo quá nhiều lớp ẩn cũng như là quá nhiều các nút trên từng lớp

Mạng thần kinh tích chập (CNN) là một mô hình học máy được thiết kế đặc biệt để xử lý ảnh CNN có cấu trúc hiệu quả hơn các mô hình học máy khác, vì nó có thể học các đặc điểm của ảnh một cách trực tiếp từ dữ liệu Điều này làm cho CNN dễ dàng đào tạo hơn và có thể đạt được độ chính xác cao hơn Mô hình hoạt động bằng cách quét qua ảnh với một bộ lọc Bộ lọc là một ma trận số có thể xác định các đặc điểm cụ thể trong ảnh Khi bộ lọc quét qua ảnh, nó sẽ tính toán tích chập của giá trị điểm ảnh với các trọng số của bộ lọc Tích chập là một phép toán toán học cho phép

Trang 26

tìm hiểu các xu hướng trong dữ liệu Mô hình có thể học các đặc điểm khác nhau của ảnh, chẳng hạn như cạnh, góc và cấu trúc Các đặc điểm này sau đó có thể được sử dụng để phân loại ảnh hoặc xác định các đối tượng trong ảnh

Đặc biệt, không giống như mạng nơ-ron thông thường, kiến trúc của mô hình CNN có cấu trúc tương tự như cách tổ chức của Visual Cortex - khu vực xử lý hình ảnh của bộ não con người Các nơ-ron trong Visual Cortex chỉ đáp lại các kích thích trong một phạm vi hẹp của trường thị giác, gọi là trường tiếp nhận Những trường đó chồng lên nhau tạo thành một tập hợp có nhiệm vụ bao phủ toàn bộ khu vực trực quan

Hình 2 3 Mô hình Convolution Neural Network

Trong mô hình CNN, các lớp của mạng thần kinh tính chập có các nơ-ron được sắp xếp theo 3 chiều: chiều rộng, chiều cao, chiều sâu Trong đó chúng ta cũng cần phải hiểu rằng từ độ sâu ở đây đề cập đến chiều thứ ba đồng nghĩa với các nút kích hoạt, không phải độ sâu của mạng nơ-ron Ví dụ: hình ảnh đầu vào trong bộ ảnh nhận diện số viết tay từ 0 đến 9 của bộ dữ liệu CIFAR- 10 có kích thước 32x32x3 (với chiều rộng, chiều cao, chiều sâu hay còn có thể xem là màu sắc của ảnh tương ứng) Các nơ-ron trong một lớp kết nối với một vùng nhỏ của lớp trước, thay vì kết nối với toàn bộ các điểm ảnh của bức ảnh Hơn nữa, lớp đầu ra cuối cùng cho CIFAR-10 sẽ có kích thước 1x1x10, bởi vì ở phần cuối của kiến trúc của mạng CNN, mạng sẽ giảm toàn bộ hình ảnh thành một véc-tơ duy nhất gồm các điểm số của lớp, được sắp xếp dọc theo chiều sâu

Trang 27

Cấu trúc mạng thần kinh tích chập được xây dựng với cấu trúc có các thành phần như sau: lớp tích chập (Convolution layers), lớp tổng hợp (Pooling layers), lớp kết nối đầy đủ (fully connected)

Lớp tích chập (Convolution layers): những lớp tích chập được tạo thành từ các bộ lọc (còn gọi là hạt nhân) để áp dụng đối với một hình ảnh đầu vào Lớp tích chập tạo ra các ma trận đặc trưng biểu diễn của hình ảnh đầu khi đi qua các bộ lọc được áp dụng Các lớp tích chập thường được xếp chồng lên nhau để mô hình có thể tìm hiểu các đặc tính phức tạp hơn từ hình ảnh

Lớp tổng hợp (Pooling layers): Các lớp tổng hợp là một loại lớp tích chập được sử dụng trong học sâu Các lớp gộp làm giảm kích thước không gian của đầu vào, giúp xử lý dễ dàng hơn và giảm số lượng bộ nhớ Pooling cũng giúp giảm số lượng tham số và giúp đào tạo nhanh hơn Có hai loại chính: tổng hợp tối đa và tổng hợp trung bình Trong đó, tổng hợp trung bình lấy giá trị trung bình, trong khi tổng hợp tối đa lấy giá trị tối đa từ mỗi bản đồ tính năng Các lớp tổng hợp được sắp xếp sau lớp tích chập để giảm kích thước của đầu vào trước khi nó được đưa vào một lớp được kết nối đầy đủ

Lớp kết nối đầy đủ: là loại lớp cơ bản trong mạng thần kinh tích chập (CNN) Từng nơ-ron trong một lớp sẽ kết nối với toàn bộ các nơ-ron khác trong lớp trước đó Các lớp kết nối đầy đủ thường được sử dụng ở phần cuối của CNN- khi mục tiêu là lấy các tính năng mà các lớp trước đó đã học và sử dụng để thực hiện dự đoán Ví dụ: để phân loại hình ảnh của động vật, lớp kết nối đầy đủ sẽ lấy các đặc điểm đã học được bởi các lớp trước đó và sử dụng chúng để phân loại hình ảnh có chứa chó, mèo, chim, v.v

Qua những gì đề cập ở trên thì mô hình CNN hoạt động trên cơ chế trích xuất đặc trưng của dữ liệu trên từng vùng dữ liệu, điều này vô hình chung phù hợp với cách hoạt động của não người khi bộ não cũng sẽ nhận diện một đồ vật, vật thể dựa trên từng đặt điểm của vật đó Lấy ví dụ là để nhận diện được khuôn mặt thì não người sẽ nhận diện được các góc cạnh của khuôn mặt, rồi đến các cơ quan như mắt mũi miệng, từ đó sẽ cho ra kết quả hình ảnh mà mắt nhìn được là mặt người Mô hình

Trang 28

CNN có cơ chế tương tự như vậy Hình vẽ bên dưới sẽ cho thấy được khi đi qua từng lớp ẩn thì đặc trưng dữ liệu được học ra sao

Hình 2 4 Mô phỏng hình ảnh khi đi qua từng lớp (layer)

2.4 Kỹ thuật mô hình nơ-ron tích chập theo vùng (R-CNN)

R-CNN (Region-based Convolutional Neural Networks) là kiến trúc xây dựng cho bài toán phát hiện đối tượng cổ điển sử dụng học sâu để phát hiện đối tượng Nó được đề xuất bởi Girshick et al vào năm 2014 R-CNN hoạt động theo cách thức hai giai đoạn, liên quan đến đề xuất khu vực và phân loại đối tượng Dưới đây là kiến trúc R-CNN:

Đề xuất khu vực (Region Proposal):

- Hình ảnh đầu vào (Input Image): Kiến trúc bắt đầu với một hình ảnh đầu vào - Tìm kiếm có chọn lọc (Selective Search): thuật toán Tìm kiếm có chọn lọc được sử dụng trong mô hình nhằm tạo một tập hợp các đề xuất khu vực, là các các vùng hộp chứa đối tượng tiềm năng trong hình ảnh Tìm kiếm chọn lọc xác định các vùng dựa trên việc giống về màu sắc, kết cấu và các đặc điểm hình ảnh cấp thấp khác

Trang 29

- Nhóm khu vực (Region Pooling): Mỗi đề xuất khu vực được cắt từ hình ảnh đầu vào và thay đổi kích thước thành kích thước cố định để tạo thành một khu vực quan tâm (ROI) Lớp tổng hợp ROI biến đổi ROI có kích thước thay đổi thành bản đồ đối tượng có kích thước cố định, căn chỉnh các đối tượng được trích xuất với ranh giới ROI

Trích xuất tính năng tích chập (Convolutional Feature Extraction):

- CNN được đào tạo lại (Pretrained CNN): Các đề xuất khu vực được chuyển qua mạng thần kinh tích chập (CNN), thường được đào tạo trước cho nhiệm vụ phân loại hình ảnh quy mô lớn (ví dụ: ImageNet) CNN trích xuất các đặc trưng cấp cao từ mỗi ROI, cung cấp thông tin đại diện phong phú về khu vực được bản địa hóa (localized region)

Phân loại đối tượng (Object Classification):

- Lớp kết nối đầy đủ (Fully Connected Layers): Mô hình CNN sẽ trích xuất ra các đặc trưng từ lớp kết nối đầy đủ để thực hiện phân loại đối tượng Lớp này ánh xạ các tính năng thành xác suất của lớp bằng cách sử dụng các hàm kích hoạt softmax hoặc sigmoid, dự đoán sự hiện diện và danh mục của các đối tượng trong mỗi đề xuất khu vực

Hồi quy hộp chứa (Bounding Box Regression):

- Hồi quy hộp chứa: Ngoài phân loại đối tượng, R-CNN thực hiện hồi quy hộp chứa để tinh chỉnh tọa độ của hộp chứa đối tượng Các lớp được kết nối đầy đủ xuất ra các tọa độ hộp chứa bao gồm vị trí và kích thước được tinh chỉnh để phù hợp hơn với thực tế

Ngăn chặn không tối đa (NMS - Non-Maximum Suppression):

- Xử lý hậu kỳ (Post-processing): Các đề xuất khu vực được xếp hạng dựa trên điểm số đối tượng thu được từ nhánh phân loại đối tượng Loại bỏ không tối đa (NMS) được áp dụng để loại bỏ các hộp chứa không phù hợp và chồng chéo, chọn các phát hiện đáng tin cậy nhất cho từng phiên bản đối tượng R-CNN đã cho thấy sự vượt trội đáng kể so với các phương pháp trước đó bằng cách tận dụng sức mạnh của học sâu cho bài toán phát hiện vật thể Tuy nhiên, nó có

Trang 30

tốc độ suy luận chậm do nhu cầu chuyển tiếp riêng biệt cho từng đề xuất khu vực Hạn chế này đã dẫn đến những cải tiến tiếp theo, chẳng hạn như Faster R-CNN và Fast R-CNN, nhằm cải thiện hiệu quả và đào tạo từ đầu đến cuối của quy trình phát hiện đối tượng

Điều đáng chú ý là R-CNN đóng vai trò là nghiên cứu tiên phong trong việc sử dụng học sâu vào phát hiện vật thể và mở đường cho những tiến bộ tiếp theo trong lĩnh vực này

Mạng xương sống:

- Hình ảnh đầu vào (Input image): Kiến trúc bắt đầu với một hình ảnh đầu vào, hình ảnh này thường được thay đổi kích thước thành một kích thước cố định

Trang 31

- Các lớp tích chập (Convolutional Layers): Mạng thần kinh tích chập (CNN) đóng vai trò là mạng đường trục Phần này có chức năng trích xuất các đặc trưng phân cấp từ hình ảnh đầu vào, ghi lại cả chi tiết cấp thấp và thông tin ngữ nghĩa cấp cao

Mạng đề xuất khu vực (RPN):

- Các lớp tích chập được chia sẻ (Shared Convolutional Layers): RPN chia sẻ các lớp tích chập của mạng xương sống, cho phép nó tận dụng các tính năng được trích xuất

- Hộp neo (Anchor Boxes): RPN đề xuất các hộp chứa tiềm năng được gọi là hộp neo, là các hộp được xác định trước có kích thước và được định vị trên bản đồ đặc trưng (feature map) với các tỷ lệ khung hình khác nhau được tạo bởi các lớp tích chập được chia sẻ

- Đầu phân loại và hồi quy (Classification and Regression Heads): RPN áp dụng các lớp tích chập riêng biệt để dự đoán xác suất của một hộp neo chứa một đối tượng và để tinh chỉnh tọa độ của các hộp chứa được dự đoán, căn chỉnh chúng với giá trị thật (ground truth)

Khu vực quan tâm (RoI - Region of Interest) Tổng hợp:

- Tạo đề xuất (Proposal Generation): RPN tạo các đề xuất khu vực bằng cách xếp hạng các hộp neo dựa trên điểm số đối tượng của chúng Các đề xuất được xếp hạng cao nhất, thường là vài trăm đề xuất, được chọn để xử lý thêm - Tổng hợp RoI (RoI Pooling): Mỗi đề xuất khu vực được gộp chung từ bản đồ

đặc trưng do mạng đường trục tạo bằng cách sử dụng tổng hợp RoI Quá trình này chuyển đổi các đề xuất khu vực có kích thước thay đổi thành các bản đồ đối tượng có kích thước cố định, căn chỉnh các vùng đối tượng được trích xuất với khu vực quan tâm tương ứng

Bộ phát hiện Faster R-CNN (Fast R-CNN Detector):

- Các lớp chập được chia sẻ: Tương tự như RPN, bộ phát hiện Fast R-CNN chia sẻ các lớp chập của mạng đường trục với RPN, cho phép sử dụng lại đặc trưng

Trang 32

- RoI Align hoặc RoI Pooling: Các đề xuất khu vực gộp từ RPN được xử lý thông qua RoI Align hoặc RoI pooling, trích xuất các vectơ đặc trưng có kích thước cố định từ mỗi đề xuất khu vực

- Lớp kết nối đầy đủ (Fully Connected Layers): Các vectơ đặc trưng được đưa vào một tập hợp các lớp được kết nối đầy đủ, thực hiện phân loại đối tượng và hồi quy hộp chứa

- Đầu phân loại và hồi quy (Classification and Regression Heads): Xác suất lớp đầu ra của các lớp được kết nối đầy đủ cho từng vùng được đề xuất, cho biết sự hiện diện và danh mục của các đối tượng Họ cũng dự đoán các tọa độ hộp chứa được tinh chỉnh, điều chỉnh vị trí và kích thước của các đề xuất

Hình 2 6 Mô hình Fast R-CNN

Trong quá trình đào tạo, cả RPN và trình dò Fast R-CNN đều được tối ưu hóa thông qua sử dụng lan truyền ngược và chức năng mất mát đa tác vụ xem xét phân loại và hồi quy hộp chứa

R-CNN nhanh hơn đã cải thiện đáng kể tốc độ phát hiện đối tượng bằng cách thống nhất quy trình đề xuất khu vực trong kiến trúc mạng, loại bỏ nhu cầu sử dụng các thuật toán tìm kiếm chọn lọc riêng biệt được sử dụng trong R-CNN Sự tích hợp này dẫn đến khả năng phát hiện vật thể chính xác và nhanh hơn, khiến nó trở thành một trong những kiến trúc có ảnh hưởng trong lĩnh vực này

Trang 33

2.6 Mô hình YOLO v5

Khi nói đến mô hình YOLOv5 thì phải nhắc đến mô hình nền tảng là mô hình YOLO (viết tắt của từ “You only look once”), đây là mô hình phát hiện vật thể trong ảnh thông qua hai bước với bước đầu tiên là mô hình sẽ nhận diện vật thể và sau đó phân loại vật thể đã được nhận diện Dưới mạng CNN, chức năng của việc phát hiện, nhận dạng, phân loại các vật thể trong hình chụp trở nên khả thi Mô hình YOLO đặc trưng bởi việc kết hợp convolutional layers - các lớp tích chập và connected layers - lớp kết nối đầy đủ Trong đó, lớp tích chập giúp trích xuất các đặc trưng quan trọng từ ảnh, trong khi các lớp kết nối đầy đủ (connected layers) thực hiện chức năng dự đoán xác suất cùng với tọa độ của đối tượng Mô hình YOLO lần đầu tiên được giới thiệu vào năm 2016 bởi Joseph Redmon và đồng nghiệp qua bài báo “You Only Look Once: Unified, Real-Time Object Detection” Mô hình này khi xuất hiện đã khắc phục hầu hết các yếu điểm của mô hình trước đó là mô hình R-CNN

Hiện nay, có khá nhiều các mô hình nổi trội đang và đã được phát triển, tuy nhiên khi so sánh giữa tốc độ xử lý hình ảnh và độ chính xác thì mô hình YOLO đạt hiệu quả nhất trong số mô hình phát hiện đối tượng (object detection) Mô hình có thể chạy theo thời gian thực mà độ chính xác không chênh lệch nhiều khi so sánh với các mô hình khác Đi sâu hơn thì vì đây là mô hình phát hiện đối tượng nên mục tiêu của mô hình là phân loại (classification) và xác định vị trí (location) của vật thể trong khu vực ảnh Do đó, YOLO không chỉ phân loại các bức ảnh, mà còn có thể xác định vị trí của các vật thể trong các bức ảnh Một ưu điểm khác là YOLO được xây dựng theo kiểu end-to-end, có nghĩa là nó được huấn luyện trực tiếp để dự đoán các hộp chứa và độ tin cậy kiểu end-to-end Do đó YOLO dễ dàng huấn luyện hơn các mô hình phát hiện đối tượng khác, đồng thời đạt độ chính xác cao hơn

Nghiên cứu của đề tài, hướng vào phân tích mô hình YOLOv5 thay vì toàn bộ các phiên bản bởi vì có sự khác biệt khá nhiều giữa phiên bản v1 cho đến hiện tại và trong bài toán lần này tôi sẽ sử dụng mô hình YOLOv5

Một nguyên nhân khác mà nghiên cứu này đang tập trung vào phiên bản YOLOv5 của mô hình mà không phải là phiên bản v8 của mô hình là bởi hai lý do

Trang 34

chính Đầu tiên là đối với mô hình YOLOv8 là phiên bản mới nhất và cũng là mạnh mẽ nhất, tuy nhiên với bộ dữ liệu chưa mang tính chất phức tạp cũng như các vật thể còn khá là đơn giản để nhận diện thì nếu so sánh giữa mức độ tốc độ và tính chính xác cũng như là độ lớn của mô hình thì YOLOv5 là hoàn toàn đáp ứng được và thích hợp hơn nhiều khi đưa vào thực tế vì các máy tại các trường học là khá yếu Thứ 2 là mô hình YOLOv5 hiện đang là một mô hình ổn định và thích hợp khi đưa vào kết nối với các ứng dụng theo thời gian thực, và đây cũng là một trong những lý do quan trọng mà tác giả sử dụng để đưa ra quyết định lựa chọn mô hình

Cũng tương tự như YOLOv1 đến YOLOv4 về sự kế thừa các phương pháp cơ bản của mô hình trước đó thì YOLOv5 cũng như vậy, đặc biệt là phiên bản v5 được xem như là có cấu trúc khá giống với phiên bản v4 Tuy nhiên, khác với các phiên bản trước đó, YOLOv5 sử dụng một số thuật toán phát hiện vật thể mới và cải tiến, cũng như tối ưu hóa các phép toán thực hiện song song, giúp mô hình tăng tốc độ nhận diện và giảm thời gian huấn luyện

YOLOv5 là một kiến trúc phổ biến để phát hiện đối tượng được xây dựng dựa trên các phiên bản trước của dòng YOLO (You Only Look Once) YOLOv5 giới thiệu một số cải tiến để cải thiện tính hiệu quả và độ chính xác của việc phát hiện Mô hình sử dụng phương pháp phát hiện một giai đoạn, nghĩa là nó dự đoán trực tiếp các hộp chứa và xác suất của lớp mà không cần sử dụng tạo đề xuất Dưới đây là tổng quan về kiến trúc YOLOv5:

Mạng xương sống (Backbone Network): YOLOv5 thường sử dụng mạng thần kinh tích chập (CNN) làm xương sống Mạng đường trục chịu trách nhiệm trích xuất các tính năng cấp cao từ hình ảnh đầu vào YOLOv5 cung cấp các tùy chọn xương sống khác nhau như CSPDarknet, EfficientNet hoặc MobileNetV3, cho phép người dùng cân bằng giữa độ chính xác và tốc độ suy luận dựa trên yêu cầu của họ

Trong đó, CSPDarknet53 thường được sử dụng nhất trong nhiều trường hợp CSPDarknet53 là một kiến trúc bắt nguồn từ kiến trúc Darknet, được sử dụng rộng rãi cho các tác vụ phát hiện và phân loại đối tượng Mô hình kết hợp khái niệm "cross-stage partial network" (CSP) để tăng tính hiệu quả và cải thiện hiệu suất của mạng

Trang 35

Kiến trúc bao gồm các khối phần dư (residual blocks) và các kết nối tắt (shortcut connections), cho phép trích xuất tính năng hiệu quả và luồng thông tin Tổng quan kiến trúc của CSPDarknet53 như sau:

- Lớp đầu vào: Lớp đầu vào lấy một hình ảnh làm đầu vào, thường được thay đổi kích thước thành một kích thước cố định

- Lớp tích chập: Kiến trúc bắt đầu với một số lớp tích chập thực hiện trích xuất tính năng ban đầu Việc nắm bắt các đặc tính cấp thấp như các cạnh và kết cấu sẽ được lớp này xử lý

- Khối CSP: Thành phần cốt lõi của CSPDarknet53 là khối CSP Khối này chia các bản đồ tính năng (feature map) thành hai nhánh: nhánh chính (main branch) và nhánh tắt (shortcut branch) Nhánh chính đi qua một loạt các lớp tích chập, trong khi nhánh tắt bỏ qua các lớp này và trực tiếp hợp nhất với nhánh chính đằng sau Cấu hình này cho phép sự lan truyền hiệu quả các đặc trưng của ảnh sau khi bị biến đổi mà hạn chế việc mất mát thông tin thông qua mạng này

- Khối dư: Khối CSP thường được theo sau bởi một số các khối dư Mỗi khối còn lại bao gồm một loạt các lớp tích chập và các kết nối nhảy (skip connections) Các kết nối nhảy cho phép độ dốc (gradient) được tính toán trong quá trình đào tạo diễn ra dễ dàng hơn và giúp giải quyết vấn đề độ dốc biến mất (vanishing gradient)

- Spatial Pyramid Pooling (SPP): SPP thường được thêm vào kiến trúc để nắm bắt thông tin đa quy mô SPP sẽ chia feature map thành các lưới khác nhau và áp dụng các hoạt động tổng hợp một cách độc lập trên mỗi lưới Điều này cho phép mạng xử lý các đối tượng có kích cỡ khác nhau

- Tổng hợp trung bình toàn cục (Global Average Pooling): Sau mô-đun SPP, lớp tổng hợp trung bình toàn cục được áp dụng để giảm kích thước không gian của các bản đồ đối tượng trong khi vẫn giữ lại thông tin theo kênh

- Các lớp kết nối đầy đủ (Fully connected layer): Phần kết thúc của kiến trúc là các lớp được kết nối đầy đủ để trích xuất ra được đặc trưng của ảnh nhằm đưa

Trang 36

ra kết quả ở lớp đầu ra Các hàm kích hoạt như softmax hoặc sigmoid thường được áp dụng để xác định xác suất lớp hoặc điểm tin cậy

CSPDarknet53 thường có hiệu quả cao trong các tác vụ thị giác máy tính khác nhau, bao gồm phát hiện và phân loại đối tượng Kiến trúc cũng tạo ra sự cân bằng giữa độ chính xác và hiệu quả phù hợp với các ứng dụng thời gian thực

Cổ (Neck): Cổ của YOLOv5 thường là các lớp hoặc mô-đun bổ sung được chèn vào giữa mạng xương sống và đầu phát hiện Mục đích của cổ là hợp nhất các tính năng ở các tỷ lệ khác nhau và nắm bắt thông tin theo ngữ cảnh YOLOv5 sử dụng mô-đun PAN (Mạng tổng hợp đường dẫn - Path Aggregation Network) làm cổ nhằm kết hợp các đặc trưng từ các giai đoạn khác nhau của mạng xương sống để tạo ra sự trình bày của dữ liệu tốt hơn (rich representation)

Làm rõ hơn về mô-đun PAN thì mô-đun này nhằm mục đích tăng cường tính trình bày của dữ liệu của mạng bằng cách kết hợp các đặc trưng từ các cấp độ khác nhau của mạng xương sống Mục tiêu chính của mô-đun PAN là giải quyết các vấn đề về phát hiện các đối tượng ở các tỷ lệ khác nhau Các đối tượng trong ảnh thường xuất hiện ở các kích cỡ khác nhau và yêu cầu các đặc trưng từ nhiều trường tiếp nhận khác nhau có thể phát hiện chính xác Mô-đun PAN giải quyết vấn đề này bằng cách kết hợp các đặc trưng từ nhiều cấp độ của mạng xương sống và tạo ra một biểu diễn toàn diện hơn có thể nắm bắt cả thông tin theo ngữ cảnh địa phương và toàn cục Dưới đây là tổng quan về hoạt động của mô-đun PAN:

Kim tự tháp tính năng (Feature Pyramid): Mô-đun PAN lấy bản đồ đặc trưng từ các tỷ lệ hoặc cấp độ khác nhau của mạng xương sống làm đầu vào Các bản đồ đặc trưng này chứa thông tin ở các độ phân giải không gian khác nhau, trong đó các cấp thấp hơn nắm bắt được nhiều chi tiết hơn và các cấp cao hơn thu được nhiều thông tin theo ngữ cảnh hơn

Trang 37

Hình 2 7 Kim tự tháp tính năng (Feature Pyramid)

Đường dẫn từ trên xuống (Top-Down Pathway): Mô-đun PAN bắt đầu với bản đồ đặc trưng có độ phân giải cao nhất và sử dụng một loạt các hoạt động tăng mẫu (upsampling) để phù hợp với độ phân giải của bản đồ đặc trưng lớn hơn Đường dẫn từ trên xuống này cho phép thông tin từ các tính năng cấp cao hơn được truyền tới các tính năng cấp thấp hơn

Lộ trình từ dưới lên (Bottom-Up Pathway): Đồng thời, mô-đun PAN lấy từng bản đồ đặc trưng có độ phân giải thấp hơn và áp dụng lớp tích chập 1x1 để giảm số lượng kênh Việc giảm này giúp giảm độ phức tạp tính toán Sau đó, các bản đồ đặc trưng giảm được tăng mẫu để phù hợp với độ phân giải của các bản đồ đặc trưng lớn hơn

Kết hợp tính năng (Feature Fusion): Mô-đun PAN kết hợp các bản đồ đặc trưng được tăng mẫu từ đường dẫn từ dưới lên với các bản đồ đặc trưng tương ứng từ đường dẫn từ trên xuống Hoạt động hợp nhất này cho phép các tính năng từ các quy mô khác nhau được hợp nhất, ghi lại cả chi tiết địa phương và thông tin theo ngữ cảnh toàn cục

Đầu ra: Mô-đun PAN tạo ra một tập hợp các bản đồ đặc trưng hợp nhất từ bước trước, sau đó được chuyển đến các lớp tiếp theo, chẳng hạn như đầu phát hiện để xử lý thêm Các bản đồ đặc trưng hợp nhất này chứa thông tin đa dạng từ nhiều tỷ lệ, cung cấp biểu diễn toàn diện hơn để phát hiện đối tượng

Trang 38

Mô-đun PAN giải quyết hiệu quả thách thức phát hiện các đối tượng ở nhiều tỷ lệ khác nhau bằng cách tổng hợp các tính năng từ các cấp độ khác nhau của mạng đường trục Nó cho phép mạng nắm bắt cả thông tin theo ngữ cảnh địa phương và toàn cầu, cải thiện hiệu suất tổng thể của các mô hình phát hiện đối tượng

Cần lưu ý rằng các chi tiết triển khai cụ thể của mô-đun PAN có thể khác nhau tùy thuộc vào kiến trúc hoặc tài liệu nghiên cứu Mô-đun PAN là một khái niệm chung và các khung phát hiện đối tượng khác nhau có thể sử dụng các biến thể và tối ưu hóa của riêng chúng

Hình 2 8 Kiến trúc của PAN

Phần đầu (Head): Phần đầu của YOLOv5 chịu trách nhiệm dự đoán tọa độ hộp chứa, xác suất lớp và bất kỳ thuộc tính liên quan nào khác để phát hiện đối tượng Phần đầu thường bao gồm các lớp tích chập theo sau là một tập hợp các lớp phát hiện YOLOv5 sử dụng các hộp neo, là các hộp được xác định trước với nhiều kích cỡ và tỷ lệ khung hình khác nhau, để dự đoán vị trí và hình dạng của đối tượng

Đầu ra (Output): Đầu ra của YOLOv5 bao gồm các dự đoán hộp chứa và xác suất lớp liên quan Mỗi dự đoán hộp chứa bao gồm tọa độ (x, y) của tâm hộp, chiều rộng (w), chiều cao (h) và điểm tin cậy cho biết khả năng chứa đối tượng Xác suất lớp biểu thị điểm tin cậy cho các loại đối tượng khác nhau

Trang 39

- Suy luận đa tỷ lệ (Multi-Scale Inference): Trong khi suy luận, YOLOv5 thực hiện phát hiện trên nhiều tỉ lệ hình ảnh, cho phép phát hiện các đối tượng ở các kích thước khác nhau

- Chỉ định neo động (Dynamic Anchor Assignment): YOLOv5 sử dụng chiến lược gán neo động, trong đó các hộp neo được gán cho các đối tượng được dự đoán dựa trên sự chồng lấp tốt nhất, thay vì ngưỡng khớp cố định Điều này cải thiện độ chính xác nội địa hóa

YOLOv5 cung cấp các phiên bản khác nhau như YOLOv5s, YOLOv5m, YOLOv5l và YOLOv5x, trong đó mỗi phiên bản khác nhau về kích thước mô hình và độ phức tạp tính toán, cung cấp sự đánh đổi giữa tốc độ và độ chính xác

Điều quan trọng cần lưu ý là YOLOv5 đã được phát triển và cải thiện bởi cộng đồng nguồn mở, đồng thời có thể tồn tại nhiều phiên bản và triển khai khác nhau với những khác biệt nhỏ về kiến trúc hoặc tối ưu hóa Bạn nên tham khảo kho lưu trữ

Trang 40

YOLOv5 chính thức hoặc các tài liệu nghiên cứu liên quan để biết thêm thông tin chi tiết về phiên bản cụ thể và cách triển khai phiên bản đó

2.7 Đánh giá mô hình

Đầu tiên ta sẽ đến với hộp chứa Trong bài toán phát hiện vật thể, thì ước tính kích thước hộp chứa vô cùng quan trọng Ước tính hộp chứa 2D chỉ tập trung vào các hộp được căn chỉnh theo trục Phương pháp mã hóa hộp chỉ đơn giản dựa trên tọa độ tâm đơn giản của hộp chứa (x, y) và độ lệch của hộp chứa: chiều rộng: W và chiều cao: H

Ngày đăng: 19/08/2024, 05:25

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w