Bối cảnh và vấn đề nghiên cứu
Sự phát triển của nền kinh tế hiện đại kéo theo nhu cầu mua sắm tại các siêu thị và chuỗi cửa hàng bán lẻ gia tăng nhanh chóng. Tuy nhiên, tình trạng khách hàng phải chờ đợi trong các hàng dài tại quầy thu ngân vẫn là một rào cản lớn đối với trải nghiệm mua sắm. Tác giả chỉ ra hai nguyên nhân chính dẫn đến vấn đề này:
- Vào giờ cao điểm, lượng khách mua sắm quá đông khiến các quầy thanh toán dù hoạt động hết công suất vẫn không đáp ứng kịp thời.
- Vào giờ thấp điểm, các siêu thị chủ động cắt giảm số lượng quầy thanh toán nhằm tiết kiệm chi phí nhân công thu ngân, dẫn đến việc số lượng khách ít nhưng thời gian chờ đợi thanh toán vẫn bị kéo dài.
Tại thị trường Việt Nam, hầu hết các điểm bán lẻ vẫn phụ thuộc vào thu ngân sử dụng thiết bị quét mã vạch truyền thống. Phương thức quét mã vạch bộc lộ nhược điểm rõ rệt khi xử lý các mặt hàng nông sản không đóng gói cố định, vốn được bán theo khối lượng thực tế thay vì tính theo đơn vị số lượng đóng gói sẵn. Từ bối cảnh thực tiễn này, tác giả đã lựa chọn đề tài "Ứng dụng xử lý ảnh và mô hình YOLO trong nhận diện hệ thống thanh toán sản phẩm" nhằm xây dựng một hệ thống tự thanh toán (self-checkout) có khả năng tự động nhận diện nông sản, đo khối lượng và hỗ trợ thanh toán không dùng tiền mặt.
Mục tiêu nghiên cứu của đồ án là thiết kế và chế tạo một mô hình trạm thanh toán tự động tích hợp công nghệ thị giác máy tính và hệ thống đo lường trọng lượng. Hệ thống có khả năng nhận dạng tự động các loại trái cây qua camera, quét mã vạch sản phẩm đóng gói, thu nhận dữ liệu khối lượng từ cảm biến tải trọng (loadcell), tính toán tổng tiền và tạo mã QR để khách hàng thanh toán trực tuyến.
Bốn nhiệm vụ nghiên cứu cụ thể được đặt ra trong đồ án:
- Hoàn thành đề tài đúng tiến độ thời gian quy định.
- Hệ thống đáp ứng đầy đủ các tiêu chuẩn kỹ thuật đã thiết lập, vận hành ổn định và chính xác theo yêu cầu.
- Giao diện hiển thị trên màn hình cung cấp thông tin rõ ràng, trực quan, hỗ trợ người dùng đọc và tương tác thuận tiện.
- Thiết kế phần cứng mô hình bảo đảm tính nhỏ gọn, thẩm mỹ, sạch sẽ và tối ưu hóa không gian bố trí linh kiện.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu phần cứng: Máy tính nhúng Raspberry Pi 4, vi điều khiển ESP32, Raspberry Pi Camera Module 3, cảm biến tải trọng Loadcell 5kg, mô-đun biến đổi tín hiệu tương tự sang số HX711, màn hình LCD 16x2 tích hợp mô-đun giao tiếp I2C, còi báo Buzzer 5V và đèn chỉ thị LED 10mm.
- Đối tượng nghiên cứu phần mềm: Ngôn ngữ lập trình Python, C, HTML, CSS, JavaScript; mô hình mạng nơ-ron tích chập YOLOv8; các thư viện xử lý ảnh OpenCV, Pyzbar; web framework Django (bao gồm Django REST Framework - DRF); nền tảng kiểm thử email Mailtrap; cùng các công cụ thiết kế, giả lập Proteus, Arduino IDE và Visual Studio Code.
- Phạm vi nghiên cứu: Giới hạn nhận diện 6 loại trái cây cụ thể (Cam vàng, Cam sành, Chuối, Mãng cầu xiêm, Táo, Xoài) và mã vạch sản phẩm thông dụng; triển khai trên một trạm mô hình phần cứng bán tự động có khả năng cân đo trọng lượng thực tế, kết nối mạng nội bộ và gửi hóa đơn điện tử qua email.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết của đề tài được xây dựng trên các nền tảng kỹ thuật chuyên ngành máy tính và xử lý tín hiệu:
- Xử lý ảnh số (Image Processing): Hệ thống sử dụng các kỹ thuật tiền xử lý ảnh gồm giảm nhiễu (bộ lọc Gaussian blur), cân bằng lược đồ màu (Histogram Equalization), chuẩn hóa kích thước ảnh, phát hiện đường biên (các thuật toán Sobel, Prewitt, Canny) và kỹ thuật tăng cường dữ liệu ảnh (Image Augmentation như lật, xoay, cắt xén, thêm nhiễu).
- Mạng nơ-ron tích chập và kiến trúc YOLO: Đồ án nghiên cứu quá trình phát triển của mạng You Only Look Once từ YOLOv1 đến YOLOv8. YOLO tiếp cận bài toán phát hiện đối tượng dưới dạng bài toán hồi quy đơn (single regression problem), dự đoán đồng thời tọa độ hộp bao (bounding box), xác suất phân lớp và độ tin cậy (confidence score) trong một lượt truyền thuận (single forward pass), kết hợp thuật toán triệt tiêu phi cực đại (Non-Maximum Suppression - NMS) để loại bỏ các hộp bao trùng lặp.
- Các công thức đánh giá hiệu năng mô hình YOLO được áp dụng trong nghiên cứu:
- Độ chính xác trung bình (Mean Average Precision - mAP):
$$AP = \frac{1}{N} \sum_{i=1}^{N} p(i) \times \Delta r(i)$$
Trong đó $p(i)$ là độ chính xác (Precision) và $\Delta r(i)$ là độ biến thiên độ thu hồi (Recall) tại điểm thứ $i$.
- Hệ số chồng lấn hộp bao (Intersection over Union - IoU):
$$IoU = \frac{A_{\text{intersection}}}{A_{\text{union}}}$$
Trong đó $A_{\text{intersection}}$ là diện tích giao nhau và $A_{\text{union}}$ là tổng diện tích hợp của hộp bao dự đoán với hộp bao nhãn chuẩn.
- Tốc độ khung hình (Frames Per Second - FPS):
$$FPS = \frac{1}{\text{Thời gian xử lý một khung hình (giây)}}$$
- Tốc độ phát hiện (Detection Speed):
$$\text{Detection Speed} = \frac{\text{Tổng thời gian xử lý}}{\text{Số lượng khung hình đã xử lý}}$$
- Chuẩn giao tiếp phần cứng:
- UART (Universal Asynchronous Receiver-Transmitter): Chuẩn truyền thông nối tiếp bất đồng bộ điểm-điểm giữa Raspberry Pi 4 và ESP32 thông qua 2 đường dữ liệu TX và RX với khung dữ liệu gồm bit Start, 8 bit dữ liệu, bit Parity tùy chọn và bit Stop.
- I2C (Inter-Integrated Circuit): Chuẩn truyền thông nối tiếp đồng bộ 2 dây (SDA, SCL) giữa ESP32 và màn hình hiển thị LCD 16x2.
- Kiến trúc phần mềm và IoT: Ứng dụng web máy chủ xây dựng trên nền tảng Django theo kiến trúc Model-View-Template (MVT), tích hợp hệ thống ORM (Object-Relational Mapping) để truy vấn cơ sở dữ liệu và hệ thống quản lý di trú (Migrations). Công cụ Mailtrap đóng vai trò máy chủ SMTP ảo phục vụ việc chặn bắt, gỡ lỗi và kiểm tra định dạng email hóa đơn thanh toán.
Phương pháp nghiên cứu thực hiện qua các giai đoạn:
- Nghiên cứu lý thuyết: Thu thập tài liệu chuyên sâu về kiến trúc vi điều khiển, nguyên lý biến dạng của cảm biến Wheatstone Bridge trong Loadcell, kiến trúc mạng YOLOv8 và các giao thức truyền thông nhúng. Phân tích ưu và nhược điểm của các giải pháp trạm thanh toán trên thị trường để đề xuất cấu hình phù hợp.
- Mô phỏng phần mềm và phần cứng: Thiết kế sơ đồ nguyên lý mạch trên phần mềm Proteus; viết mã nguồn điều khiển trên Arduino IDE và Visual Studio Code; tinh chỉnh các thông số kỹ thuật ngoại vi trước khi kết nối thực tế.
- Thực nghiệm và triển khai: Chế tạo mô hình cơ khí; lắp ráp các mạch phần cứng; thu thập dữ liệu ảnh thực tế cho 6 loại trái cây; huấn luyện mô hình YOLOv8; lập trình truyền nhận UART; cấu hình API trên máy chủ Django và tiến hành chạy thử nghiệm toàn bộ quy trình thanh toán.
Thiết kế và triển khai
Hệ thống được thiết kế theo cấu trúc module phân tán gồm hai khối xử lý chính: Khối điều khiển ngoại vi cấp thấp (ESP32) và Khối xử lý trung tâm cấp cao (Raspberry Pi 4).
| Thiết bị / Linh kiện |
Vai trò trong hệ thống |
Giao tiếp kỹ thuật |
| Raspberry Pi 4 (4GB RAM) |
Xử lý suy luận mạng YOLOv8, quét mã vạch qua Pyzbar, vận hành máy chủ Django, tạo mã QR thanh toán, điều khiển đèn/còi |
UART (kết nối ESP32), CSI (kết nối Camera), GPIO (nút bấm, LED, Buzzer), Wi-Fi |
| ESP32 |
Đọc dữ liệu biến dạng từ Loadcell qua HX711, tính toán khối lượng sản phẩm, điều khiển hiển thị màn hình LCD tại trạm |
SPI giả lập 2 dây (HX711), I2C (màn hình LCD 16x2), UART (truyền nhận dữ liệu với Raspberry Pi 4) |
| Loadcell 5kg + Mạch HX711 |
Chuyển đổi biến dạng cơ học của bàn cân thành tín hiệu điện áp vi sai và số hóa bằng ADC 24-bit |
Mạch cầu Wheatstone 4 dây (E+, E-, S+, S-) nối với cổng kênh A của HX711 (chân DT, SCK nối ESP32) |
| Raspberry Pi Camera Module 3 |
Cảm biến hình ảnh Sony IMX708 độ phân giải 12MP, hỗ trợ lấy nét tự động (Autofocus), chụp ảnh sản phẩm trên bàn cân |
Chuẩn MIPI CSI 2 làn cắm trực tiếp vào cổng camera của Raspberry Pi 4 |
| Màn hình LCD 16x2 I2C |
Hiển thị thông tin khối lượng và tên sản phẩm trực tiếp tại bàn cân cho người dùng |
Chuẩn I2C (SDA, SCL) kết nối trực tiếp với ESP32, sử dụng nguồn 5V DC |
| LED 10mm & Buzzer 5V |
Chỉ thị trạng thái nhận diện, báo hiệu quét mã thành công hoặc cảnh báo lỗi hệ thống |
Kết nối trực tiếp với các chân điều khiển GPIO của Raspberry Pi 4 |
Quy trình hoạt động phần mềm gồm các lưu đồ thuật toán chính:
- Thuật toán chương trình chính (Main Program Algorithm): Khởi tạo các ngoại vi và mô hình YOLOv8; liên tục kiểm tra tín hiệu từ camera và nút bấm; khi có vật phẩm được đặt lên bàn cân, camera ghi hình và truyền vào mô hình nhận diện; nếu phát hiện mã vạch, thư viện Pyzbar sẽ giải mã giá trị; nếu là trái cây, mô hình YOLOv8 trích xuất nhãn phân loại.
- Thuật toán chương trình ESP32: Đọc tín hiệu số từ mô-đun HX711 qua chân dữ liệu DT và xung nhịp SCK; tính toán trọng lượng thực theo gam; hiển thị thông tin lên màn hình LCD 16x2 qua giao thức I2C; đồng thời đóng gói dữ liệu khối lượng gửi sang Raspberry Pi 4 qua giao thức UART.
- Thuật toán xử lý yêu cầu API máy chủ (API Request Handling): Raspberry Pi 4 tổng hợp thông tin tên hàng (từ kết quả nhận diện hoặc mã vạch) cùng dữ liệu khối lượng (từ ESP32), tính tổng tiền dựa trên đơn giá trong cơ sở dữ liệu Django ORM; gửi dữ liệu qua API lên hệ thống backend; backend phản hồi đường dẫn giao dịch hoặc mã QR thanh toán hiển thị trên màn hình người dùng.
- Thuật toán ứng dụng Web: Quản lý phiên mua hàng, hiển thị danh sách giỏ hàng, cập nhật trạng thái thanh toán thời gian thực; khi khách hàng quét mã QR hoàn tất chuyển khoản, hệ thống kích hoạt dịch vụ Mailtrap để gửi hóa đơn điện tử chi tiết về hòm thư người mua.
Nội dung chính theo từng chương
Chương 1: Tổng quan (Overview)
Chương mở đầu phân tích bối cảnh tự động hóa trong ngành bán lẻ và nêu bật tính cấp bách của việc giải quyết tình trạng ùn tắc tại quầy thanh toán siêu thị. Tác giả trình bày mục tiêu xây dựng một trạm tự thanh toán kết hợp giữa công nghệ nhận diện thị giác máy tính và cân trọng lượng nhằm giảm thiểu chi phí nhân lực và hạn chế gian lận thương mại. Chương này cũng xác định rõ 4 nhiệm vụ nghiên cứu, đối tượng nghiên cứu phần cứng (ESP32, Raspberry Pi 4, cảm biến tải trọng, camera), đối tượng phần mềm (Python, Django, YOLOv8, OpenCV, Mailtrap), phạm vi nhận diện 6 loại quả và lập kế hoạch phương pháp nghiên cứu qua 2 bước lý thuyết và mô phỏng thực nghiệm.
Chương 2: Cơ sở lý thuyết (Theoretical Foundations)
Chương 2 cung cấp toàn bộ nền tảng lý thuyết kỹ thuật của đề tài. Tác giả trình bày chi tiết về:
- Các khái niệm xử lý ảnh: Cấu trúc điểm ảnh (pixel), phân loại ảnh xám/ảnh màu, các phương pháp biểu diễn ma trận điểm ảnh, vectơ và bitmap; các kỹ thuật phân đoạn ảnh, mạng nơ-ron tích chập (CNNs), tiền xử lý ảnh, cân bằng biểu đồ màu và các toán tử phát hiện biên Canny, Sobel, Prewitt.
- Khái niệm và quá trình phát triển của mạng YOLO: Phân tích cơ chế hoạt động coi việc phát hiện đối tượng là một bài toán hồi quy đơn, cấu trúc phân chia lưới ô (grid cells), dự đoán hộp bao kèm điểm tin cậy và kỹ thuật triệt tiêu phi cực đại (NMS). Lịch sử tiến hóa từ YOLOv1 đến YOLOv8 được tổng thuật đầy đủ kèm các cải tiến về Darknet-19, Darknet-53, CSPNet, Transformer backbone và cơ chế suy luận thích ứng.
- Chi tiết thông số phần cứng: Trình bày cấu hình phần cứng Raspberry Pi 4 (RAM 4GB LPDDR4, cổng CSI, Ethernet, USB 3.0), vi điều khiển ESP32 (chip Tensilica Xtensa LX6 dual-core 240 MHz, 520 KB SRAM, 4MB Flash), bộ chuyển đổi HX711 (ADC 24-bit), cảm biến Loadcell 5kg với sơ đồ cầu Wheatstone, màn hình LCD 16x2 tích hợp I2C, Camera Pi Module 3 (cảm biến Sony IMX708 12MP có Autofocus), còi 5V và đèn LED 10mm.
- Chuẩn giao tiếp và nền tảng hỗ trợ: Cơ chế truyền nhận nối tiếp UART, giao thức nối tiếp I2C, mô hình mạng kết nối vạn vật (IoT), kiến trúc Model-View-Template (MVT) của web framework Django, cơ chế xác thực người dùng, hệ thống ORM truy vấn dữ liệu, và nền tảng kiểm thử email Mailtrap. Đồng thời giới thiệu vai trò của các công cụ phát triển phần mềm Proteus, Arduino IDE và Visual Studio Code.
Chương 3: YOLOv8 và các thư viện OpenCV, Pyzbar
Chương 3 đi sâu vào cấu trúc và quy trình ứng dụng của mô hình YOLOv8 cùng các thư viện bổ trợ. Tác giả trình bày ưu điểm vượt trội của YOLOv8 trong khả năng trích xuất đặc trưng nhanh, hỗ trợ tốt cho các thiết bị biên (edge devices) và cơ chế phát hiện đối tượng không cần neo (anchor-free). Quy trình huấn luyện mô hình được phân tích từng bước: Chuẩn bị dữ liệu hình ảnh các loại quả, tiền xử lý và gán nhãn dữ liệu hộp bao, thiết lập các siêu tham số huấn luyện mạng, và kiểm thử độ chính xác thông qua các chỉ số mAP, IoU và tốc độ khung hình FPS. Bên cạnh đó, chương giới thiệu cách tích hợp OpenCV để thu nhận và xử lý luồng khung hình từ Camera Module 3, cùng thư viện Pyzbar phục vụ trích xuất dữ liệu chuỗi ký tự từ mã vạch dán trên bao bì sản phẩm.
Chương 4: Thiết kế và phát triển hệ thống (System Design and Development)
Chương 4 mô tả toàn bộ quá trình hiện thực hóa thiết kế hệ sinh thái trạm thanh toán:
- Xác định các yêu cầu phi chức năng về độ ổn định, tính thẩm mỹ và tốc độ phản hồi.
- Thiết kế sơ đồ khối toàn hệ thống và định nghĩa chức năng chi tiết cho từng khối: Khối cảm biến trọng lượng (Loadcell + HX711), khối hiển thị tại chỗ (LCD 16x2 I2C), khối thu nhận hình ảnh (Camera Pi Module 3), khối giao tiếp liên vi điều khiển (UART giữa Raspberry Pi 4 và ESP32), khối cảnh báo âm thanh - ánh sáng (Buzzer, LED).
- Bản vẽ sơ đồ kết nối mạch nguyên lý chi tiết cho từng module với chân điều khiển tương ứng của ESP32 và Raspberry Pi 4.
- Xây dựng 5 lưu đồ giải thuật hoàn chỉnh điều phối toàn bộ hệ thống: Lưu đồ thuật toán chương trình chính trên máy tính nhúng, lưu đồ gửi địa chỉ API, lưu đồ giải thuật xử lý trên vi điều khiển ESP32, lưu đồ chương trình tiếp nhận và xử lý yêu cầu API tới máy chủ, và lưu đồ vận hành của ứng dụng web bán lẻ.
Chương 5: Kết quả thực hiện hệ thống (System Implementation Results)
Chương 5 công bố các kết quả thực nghiệm sau khi tích hợp toàn bộ phần cứng và phần mềm vào mô hình vật lý hoàn chỉnh. Các kết quả cụ thể bao gồm:
- Mô hình trạm thanh toán thực tế với bố trí cơ khí gồm khung vỏ, mặt cân, camera gắn phía trên hướng thẳng xuống bàn cân và màn hình hiển thị.
- Kết quả nhận diện thị giác: Hệ thống nhận dạng chính xác 6 loại trái cây trong điều kiện thực tế gồm Cam vàng (Yellow Orange), Cam sành (Green Orange), Chuối (Banana), Mãng cầu xiêm (Soursop), Táo (Apple) và Xoài (Mango) với hộp bao và tên nhãn hiển thị trực tiếp trên khung hình.
- Kết quả quét mã vạch sản phẩm thông qua camera sử dụng thư viện Pyzbar, trích xuất tức thì mã định danh sản phẩm.
- Kết quả vận hành tích hợp: Màn hình LCD và giao diện máy tính hiển thị chính xác tên mặt hàng, khối lượng đo được từ loadcell, đơn giá và tổng số tiền phải trả.
- Giao diện thanh toán Web: Hệ thống sinh mã QR thanh toán trực tuyến tương ứng với hóa đơn; giao diện chuyển đổi trạng thái khi giao dịch thành công; hệ thống tự động xuất và gửi hóa đơn điện tử về email người dùng qua máy chủ Mailtrap; thiết bị đầu cuối (terminal) hiển thị các thông báo xác nhận trạng thái truyền dữ liệu API và gửi email thành công.
- Giao diện quản trị máy chủ Django: Trang quản lý sản phẩm (Product Management Interface) và trang thông tin chi tiết mặt hàng cho phép người quản lý cập nhật danh mục, giá bán và kiểm tra lịch sử giao dịch.
Chương 6: Kết luận và hướng phát triển (Conclusion and Future Directions)
Chương cuối tổng kết toàn bộ các tính năng phần cứng và phần mềm đã đạt được so với mục tiêu đề ra ban đầu. Đồng thời, tác giả thẳng thắn chỉ ra các hạn chế kỹ thuật hiện hữu của mô hình thử nghiệm và vạch ra các hướng nghiên cứu nâng cấp nhằm đưa hệ thống vào ứng dụng thương mại thực tế.
Kết quả và đóng góp
Kết quả thực nghiệm chính của đề tài:
- Chế tạo thành công mô hình trạm thanh toán tự động kết hợp phần cứng máy tính nhúng Raspberry Pi 4 và vi điều khiển ESP32 với kết cấu cơ khí hoàn chỉnh.
- Xây dựng tập dữ liệu và huấn luyện mô hình YOLOv8 nhận diện thành công 6 loại trái cây thương phẩm gồm: Cam vàng (Yellow Orange), Cam sành (Green Orange), Chuối (Banana), Mãng cầu xiêm (Soursop), Táo (Apple) và Xoài (Mango).
- Tích hợp thành công thư viện Pyzbar trên luồng video của Camera Module 3 để quét và giải mã mã vạch các mặt hàng công nghiệp đóng gói sẵn.
- Thu thập và chuẩn hóa dữ liệu khối lượng từ cảm biến Loadcell 5kg qua mô-đun ADC 24-bit HX711 với độ ổn định cao, hiển thị tức thời lên màn hình LCD 16x2 thông qua bus I2C và truyền đồng bộ sang Raspberry Pi 4 qua giao diện UART.
- Thiết kế hoàn chỉnh ứng dụng web quản lý và thanh toán trên nền tảng Django: Tự động tính toán tổng giá tiền dựa trên khối lượng và đơn giá cơ sở dữ liệu, sinh mã QR phục vụ thanh toán trực tuyến, gửi hóa đơn điện tử tự động qua nền tảng email Mailtrap, và cung cấp bảng điều khiển quản trị sản phẩm.
Các giải pháp và kiến nghị tác giả đề xuất:
- Kiến nghị áp dụng mô hình cân đôi (two operational scales) trong quy trình thiết kế trạm tự thanh toán thương mại để vừa đo lường sản phẩm vừa kiểm tra đối trọng an toàn, hạn chế tối đa nguy cơ gian lận hàng hóa.
- Tự động hóa khâu xuất hóa đơn bằng cách chuyển sang hóa đơn điện tử gửi thẳng qua email của người tiêu dùng, giúp giảm chi phí in ấn giấy nhiệt và bảo vệ môi trường.
Đóng góp của đồ án:
- Giải quyết bài toán thanh toán cho các mặt hàng nông sản bán theo trọng lượng tại các điểm bán lẻ, khắc phục triệt để điểm nghẽn của hệ thống quét mã vạch truyền thống vốn chỉ xử lý hiệu quả các mặt hàng tính theo số lượng đóng gói.
- Đề xuất mô hình kiến trúc phân tầng kết hợp giữa vi điều khiển thời gian thực phụ trách thu thập cảm biến (ESP32) và máy tính nhúng biên xử lý trí tuệ nhân tạo (Raspberry Pi 4), tối ưu hóa tài nguyên phần cứng và chi phí chế tạo cho một trạm self-checkout.
Hạn chế và hướng nghiên cứu tiếp
Các hạn chế được văn bản đề tài thừa nhận:
- Đồ án được triển khai trong điều kiện thời gian và nguồn lực vật chất có giới hạn.
- Cơ sở dữ liệu hình ảnh nhận diện mới chỉ dừng lại ở phạm vi hẹp gồm 6 loại trái cây, chưa bao quát được toàn bộ các chủng loại nông sản phong phú trong siêu thị.
- Quy trình thanh toán mới thử nghiệm gửi thông báo hóa đơn qua nền tảng ảo Mailtrap và tạo mã QR mô phỏng, chưa tích hợp API cổng thanh toán ngân hàng trực tiếp trong môi trường sản xuất thực tế.
Hướng phát triển tiếp theo được đề xuất:
- Mở rộng tập dữ liệu huấn luyện để nhận diện thêm nhiều chủng loại trái cây, rau củ và các mặt hàng nông sản tươi sống khác.
- Tối ưu hóa mô hình học sâu để nâng cao tốc độ suy luận và cải thiện độ chính xác trong các điều kiện môi trường ánh sáng phức tạp hoặc khi sản phẩm bị che khuất một phần.
- Hoàn thiện cơ chế cân kép (hệ thống kiểm tra trọng lượng giỏ hàng sau thanh toán) để phát hiện và ngăn chặn hành vi cố tình gian lận khối lượng.
- Tích hợp cổng thanh toán trực tuyến chính thức với các ứng dụng ngân hàng và ví điện tử thương mại.
Giá trị tham khảo
Đồ án là tài liệu tham khảo kỹ thuật hữu ích đối với:
- Sinh viên chuyên ngành Công nghệ Kỹ thuật Máy tính, Hệ thống Nhúng, Kỹ thuật Điều khiển - Tự động hóa và Khoa học Dữ liệu đang thực hiện đồ án tốt nghiệp hoặc các dự án nghiên cứu về ứng dụng AI trên thiết bị biên (Edge AI).
- Các kỹ sư phát triển hệ thống IoT và bán lẻ tự động (Smart Retail): Cung cấp tài liệu tham khảo chi tiết về thiết kế phần cứng tích hợp nhiều giao thức truyền thông đồng thời (UART, I2C, SPI, CSI).
- Các phần có giá trị tham khảo cao:
- Bản vẽ thiết kế nguyên lý ghép nối giữa mạch chuyển đổi ADC HX711, cảm biến Loadcell và vi điều khiển ESP32.
- Cấu hình truyền thông nối tiếp UART chuẩn xác giữa hệ điều hành Linux trên Raspberry Pi 4 và vi điều khiển ESP32.
- Quy trình tích hợp mô hình thị giác YOLOv8 cùng thư viện Pyzbar lên bo mạch nhúng để giải quyết đồng thời hai tác vụ: Nhận diện vật thể và giải mã mã vạch.
- Kiến trúc ứng dụng Django MVT kết nối API với phần cứng nhúng và dịch vụ gửi hóa đơn Mailtrap.
Câu hỏi thường gặp
1. Hệ thống trong đồ án nhận diện được chính xác những loại trái cây nào?
Hệ thống được huấn luyện và nhận diện thành công 6 loại trái cây cụ thể gồm: Cam vàng (Yellow Orange), Cam sành (Green Orange), Chuối (Banana), Mãng cầu xiêm (Soursop), Táo (Apple) và Xoài (Mango).
2. Hai vi điều khiển/máy tính nhúng trong đồ án giao tiếp với nhau bằng giao thức nào?
Raspberry Pi 4 và ESP32 giao tiếp và trao đổi dữ liệu với nhau thông qua giao thức truyền thông nối tiếp bất đồng bộ UART (Universal Asynchronous Receiver-Transmitter) qua 2 dây tín hiệu TX và RX.
3. Thành phần nào đảm nhận việc đo khối lượng sản phẩm và thông số kỹ thuật là bao nhiêu?
Khối lượng sản phẩm được đo bằng cảm biến tải trọng Loadcell dạng thanh chịu tải tối đa 5kg (kết cấu cầu điện trở Wheatstone 4 dây), kết hợp với mô-đun chuyển đổi tín hiệu tương tự sang số ADC 24-bit chuyên dụng HX711 nối với vi điều khiển ESP32.
4. Dịch vụ nào được sử dụng để kiểm thử chức năng gửi hóa đơn điện tử qua email?
Tác giả sử dụng nền tảng máy chủ ảo đám mây Mailtrap để bắt giữ, kiểm tra nội dung và gỡ lỗi các email hóa đơn thanh toán được gửi ra từ ứng dụng web Django mà không gửi nhầm tới người dùng thật.
5. Camera sử dụng trong hệ thống có thông số kỹ thuật như thế nào?
Hệ thống sử dụng Raspberry Pi Camera Module 3 trang bị cảm biến ảnh Sony IMX708, độ phân giải 12 Megapixel (4608 x 2592 điểm ảnh), hỗ trợ lấy nét tự động (Autofocus), dải tương phản động mở rộng (HDR) và kết nối trực tiếp với Raspberry Pi 4 qua giao tiếp cáp dẹt MIPI CSI 2 làn.
Kết luận
Đồ án tốt nghiệp của tác giả Nguyễn Thành Huy đã thiết kế và hiện thực hóa thành công mô hình trạm thanh toán tự động ứng dụng mô hình YOLOv8 và kỹ thuật xử lý ảnh số. Hệ thống giải quyết hiệu quả bài toán tự động nhận diện 6 loại trái cây phổ biến kết hợp quét mã vạch và tự động đo lường khối lượng sản phẩm thông qua cảm biến tải trọng Loadcell 5kg. Mô hình tích hợp đồng bộ giữa máy tính nhúng Raspberry Pi 4, vi điều khiển ESP32 và máy chủ web Django, cung cấp giải pháp thanh toán qua mã QR tiện lợi và tự động xuất hóa đơn điện tử. Kết quả nghiên cứu thể hiện tính khả thi cao trong việc ứng dụng công nghệ trí tuệ nhân tạo biên vào hiện đại hóa quy trình bán lẻ tại các siêu thị.