Xây Dựng Mô Hình Phân Loại Trái Cây Để Ứng Dụng Trong Hệ Thống Tính Tiền Tự Động

Tài liệu nghiên cứu Xây dựng mô hình phân loại trái cây để ứng dụng trong hệ thống tính tiền tự động, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về kỹ thuật.

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2024

72
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: MỤC TIÊU ĐỀ TÀI

1.1. Mục tiêu đề tài

1.2. Giới hạn đề tài

1.3. Phương pháp nghiên cứu

1.4. Đối tượng và phạm vi nghiên cứu

1.5. Bố cục quyển báo cáo

1.6. Lý thuyết về mạng tích chập CNN mobileNet V2

1.6.1. Mạng tích chập CNN mobileNet V2

1.6.2. Cấu trúc mạng tích chập CNN mobileNetV2

1.6.3. Vi điều khiển và cảm biến được sử dụng trong hệ thống tính tiền tự động

1.6.3.1. Vi điều khiển ESP8266
1.6.3.2. Cảm biến cân nặng Load Cell với HX711

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG TỰ ĐỘNG TÍNH TIỀN VÀ PHÂN LOẠI TRÁI CÂY

3.1. Thiết kế phần cứng

3.2. Chức năng của phần cứng

3.3. Sơ đồ khối phần cứng

3.4. Thiết kế từng khối

3.5. Thiết kế phần mềm

3.6. Chức năng của phần mềm

3.7. Hoạt động của phần mềm quản lý và tính tiền

3.8. Thiết kế mô hình phân loại trái cây

3.8.1. Chức năng của mô hình nhận diện

3.8.2. Tập dữ liệu và tiền xử lý ảnh

3.8.3. Nghiên cứu, thiết kế và cải thiện mạng phân loại ảnh

3.9. Kết quả mô hình

3.9.1. Mô hình phân loại

3.9.2. Phần mềm quản lý

3.9.3. Phần mềm tính tiền

3.9.4. Kết quả mô hình phần cứng

3.9.5. Hoạt động của hệ thống tính tiền

3.9.6. Phân tích, đánh giá độ chính xác của hệ thống

3.9.6.1. Thiết bị cân
3.9.6.2. Mô hình phân loại

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

4.1. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về mô hình phân loại trái cây trong hệ thống tính tiền tự động

Mô hình phân loại trái cây ứng dụng trong hệ thống tính tiền tự động đang trở thành xu hướng mới trong ngành nông nghiệp và thương mại. Việc áp dụng công nghệ AI và học sâu giúp cải thiện độ chính xác trong việc nhận diện và phân loại trái cây, từ đó nâng cao hiệu quả kinh doanh. Hệ thống này không chỉ giúp tiết kiệm thời gian mà còn giảm thiểu sai sót trong quá trình tính tiền.

1.1. Khái niệm về mô hình phân loại trái cây

Mô hình phân loại trái cây sử dụng các thuật toán học máy để nhận diện và phân loại các loại trái cây khác nhau. Công nghệ này giúp tự động hóa quy trình tính tiền tại các cửa hàng trái cây, mang lại sự tiện lợi cho khách hàng.

1.2. Lợi ích của hệ thống tính tiền tự động

Hệ thống tính tiền tự động giúp giảm thiểu thời gian chờ đợi của khách hàng, đồng thời nâng cao độ chính xác trong việc tính toán giá trị sản phẩm. Điều này không chỉ cải thiện trải nghiệm khách hàng mà còn tối ưu hóa quy trình làm việc của nhân viên.

II. Thách thức trong việc phân loại trái cây bằng công nghệ AI

Mặc dù công nghệ AI mang lại nhiều lợi ích, nhưng vẫn tồn tại một số thách thức trong việc phân loại trái cây. Độ chính xác của mô hình phụ thuộc vào chất lượng dữ liệu đầu vào và điều kiện ánh sáng khi chụp ảnh. Ngoài ra, việc phân loại các loại trái cây tương tự nhau cũng gặp khó khăn.

2.1. Độ chính xác của mô hình phân loại

Độ chính xác của mô hình phân loại trái cây phụ thuộc vào nhiều yếu tố như chất lượng hình ảnh, độ phân giải và điều kiện ánh sáng. Việc cải thiện độ chính xác là một trong những thách thức lớn nhất trong nghiên cứu này.

2.2. Khó khăn trong việc thu thập dữ liệu

Việc thu thập dữ liệu hình ảnh cho mô hình phân loại trái cây cần phải đảm bảo tính đa dạng và phong phú. Điều này đòi hỏi sự đầu tư thời gian và công sức để có được bộ dữ liệu chất lượng cao.

III. Phương pháp xây dựng mô hình phân loại trái cây hiệu quả

Để xây dựng mô hình phân loại trái cây hiệu quả, cần áp dụng các phương pháp học sâu như mạng nơ-ron tích chập (CNN). Mạng MobileNetV2 là một trong những lựa chọn tối ưu nhờ vào khả năng xử lý nhanh và chính xác. Việc tối ưu hóa mô hình cũng rất quan trọng để đạt được hiệu suất tốt nhất.

3.1. Sử dụng mạng nơ ron tích chập MobileNetV2

Mạng MobileNetV2 được thiết kế để hoạt động hiệu quả trên các thiết bị có tài nguyên hạn chế. Kiến trúc này giúp giảm thiểu số lượng tham số mà vẫn đảm bảo độ chính xác cao trong việc phân loại trái cây.

3.2. Tiền xử lý dữ liệu hình ảnh

Tiền xử lý dữ liệu hình ảnh là bước quan trọng để cải thiện độ chính xác của mô hình. Các kỹ thuật như chuẩn hóa, tăng cường dữ liệu và loại bỏ nhiễu sẽ giúp mô hình hoạt động tốt hơn.

IV. Ứng dụng thực tiễn của mô hình phân loại trái cây

Mô hình phân loại trái cây không chỉ dừng lại ở lý thuyết mà còn có nhiều ứng dụng thực tiễn trong các cửa hàng trái cây. Hệ thống này giúp tự động hóa quy trình tính tiền, từ đó nâng cao hiệu quả kinh doanh và trải nghiệm khách hàng.

4.1. Tính năng tự động cân và tính tiền

Hệ thống cho phép khách hàng tự cân trái cây và nhận hóa đơn tự động. Điều này giúp tiết kiệm thời gian và giảm thiểu sai sót trong quá trình tính tiền.

4.2. Quản lý dữ liệu và đơn giá

Hệ thống cũng cung cấp chức năng quản lý đơn giá và dữ liệu sản phẩm, giúp cửa hàng dễ dàng cập nhật thông tin và theo dõi doanh thu.

V. Kết luận và hướng phát triển tương lai của mô hình

Mô hình phân loại trái cây ứng dụng trong hệ thống tính tiền tự động có tiềm năng phát triển lớn trong tương lai. Việc cải tiến công nghệ và mở rộng khả năng phân loại sẽ giúp hệ thống ngày càng hoàn thiện hơn. Các nghiên cứu tiếp theo có thể tập trung vào việc mở rộng số lượng loại trái cây và cải thiện độ chính xác của mô hình.

5.1. Hướng phát triển công nghệ AI trong nông nghiệp

Công nghệ AI sẽ tiếp tục đóng vai trò quan trọng trong việc cải thiện quy trình sản xuất và kinh doanh nông sản. Việc áp dụng AI trong phân loại trái cây sẽ mở ra nhiều cơ hội mới cho ngành nông nghiệp.

5.2. Tương lai của hệ thống tính tiền tự động

Hệ thống tính tiền tự động sẽ ngày càng trở nên phổ biến, không chỉ trong các cửa hàng trái cây mà còn trong nhiều lĩnh vực khác. Việc cải tiến và mở rộng tính năng sẽ giúp hệ thống đáp ứng tốt hơn nhu cầu của thị trường.

10/07/2025
Xây dựng mô hình phân loại trái cây để ứng dụng trong hệ thống tính tiền tự động

Trích đoạn nội dung tài liệu

Chương I Giới thiệu: Khái quát về thực trạng sử dụng hệ thống tính tiền tự động, các khái niệm thuật toán có liên quan và tên đề tài được thực hiện. Trình bày mục tiêu, giới hạn, phương pháp, đối tượng và phạm vi nghiên cứu của đề tài. Chương II Cơ sở lý thuyết: Trình bày những lý thuyết đã nghiên cứu và tổng hợp về thuật toán mạng tích chập CNN mobileNet và hệ thống tính tiền tự động. Chương III Thiết kế hệ thống: Ý tưởng, quy trình thiết kế hệ thống (phần cứng, phần mềm).

Chương IV Kết quả: Trình bày kết quả đạt được của đề tài, sản phẩm thực tế khi thi công và các chức năng hoạt động của hệ thống. Chương V Kết luận và hướng phát triển: Trình bày ưu, nhược điểm của đề tài đồng thời đề ra các hướng pháp triển xa hơn, giúp đề tài hoàn thiện hơn. LÝ THUYÊT VỀ MẠNG TÍCH CHẬP CNN MOBILENET V2 2. Mạng tích châp CNN mobileNet V2 Convolution Neural Network (CNN) là một loại mô hình học sâu được thiết kế đành cho việc xử lý ảnh và phân đoạn hình ảnh.

CNN chủ yếu được sử dụng để trích xuất đặc chưng từ bộ dữ liệu dạng lưới. Trong lĩnh vực học máy, các loại mạng nơ-ron đều được thiết kế cho những mục đích cụ thể như: xử lý dữ liệu hình ảnh, âm thanh, văn bản,… CNN được thiết kế để thực hiện việc phân loại hình ảnh. Trong đó tùy thuộc vào yêu cầu của đề tài, mạng CNN cũng được thiết kế cho từng mục đích khác nhau. Trong đó sau khi phân tích các yếu tố hiệu suất và tài nguyên hệ thống, tác giả chọn mạng mobileNetV2 [6].

Mạng MobileNet là một kiến trúc mạng nơ-ron tích chập được ra mắt vào năm 2017 do đội ngũ của Google Inc phát triển. Nó thiết kế một cách đặc biệt nhỏ gọn và hiệu quả để chạy trên các thiết bị có tài nguyên hạn chế, bao gồm điện thoại, máy tính nhúng hay một số thiết bị IOT yêu cầu hiệu suất thấp. Kiến trúc này sử dụng một cơ chế gọi là Depthwise Separable Convotutions để giảm tài nguyên tính toán, số lượng tham số mà lại có thể trích xuất được đặc trưng một cách tách biệt trên các đầu vào khác nhau [7]. Tuy nhiên, phiên bản MobileNetV1 vẫn còn những hạn chế về hiệu suất và khả năng học.

Năm 2018, phiên bản thứ 2 của nó cũng ra đời: MobileNetV2 là một bản cải tiến lớn so với MobileNetV1, mang lại hiệu suất cao hơn nhưng vẫn giữ được sự nhẹ nhàng và khả năng tương thích với các thiết bị. Cấu trúc mạng tích châp CNN mobileNetV2 Mô hình kiến trúc mạng CNN: Lớp tích chập (Convolution layer - Conv): Loại tích chập phổ biến nhất được sử dụng là lớp tích chập 2D và thường được viết tắt là conv2D. Tích chập là lớp đầu tiên để trích xuất các tính năng từ hình ảnh đầu vào. Tích chập duy trì sự gắn 4 kết giữa các pixel bằng cách tìm hiểu các tính năng hình ảnh bằng việc sử dụng các ô vuông nhỏ của dữ liệu đầu vào.1 Công thức và thuât toán tích châp[12] Như ví dụ ở hình trên, Kết quả (output) cho thấy vị trí trên ảnh đầu vào (input) giống với ảnh nhân (kernel).

Nhân còn được gọi là bộ lọc (filter) Khi bộ lọc có tính đối xứng thì phép tích chập trùng với phép tương quan chéo (cross-correlation). Trong các thư viện Học máy, phép tích chập được cài đặt bằng phép tương quan chéo:  ( f * g )[ x, y ]   f [i, j ]g[ x  i, y  j ] (1.3) i , j   Lớp Conv2D chứa C(out) bộ lọc (kích thước 3 x 3 x C(in), 5 x 5 x C(in),.) với C(in) là số kênh đầu vào. 5 Đầu vào được nhân chập với từng bộ lọc và cho qua hàm kích hoạt tạo ra các bản đồ đặc trưng (feature map). Ghép các bản đồ đặc trưng lại với nhau được ảnh đầu ra của lớp Conv2D gồm C(out) kênh.2 Output của lớp Conv2D[13] Các tham số cần thiết khi sử dụng Conv2D: Kernel size/shape: Kích thước/ kiểu của kernel quyết định phạm vi quét qua của phép tích chập.

Kích thước này được xác định bằng số hàng và số cột của ma trận kernel và có thể thay đổi tùy theo bài toán cụ thể. Kernel lớn hơn có thể học các đặc trưng lớn hơn và thông tin tổng quát, trong khi kernel nhỏ hơn tập trung vào các đặc trưng nhỏ hơn và thông tin chi tiết hơn. Stride – Bước nhảy: Stride xác định số pixel mà kernel di chuyển qua trên đầu vào trong mỗi bước tích chập. Padding – Đường viền: Padding là việc thêm giá trị 0 hoặc các giá trị biên vào xung quanh hình ảnh ban đầu trước khi áp dụng phép tích chập.

Padding giúp bảo toàn thông tin ở các cạnh của hình ảnh và duy trì kích thước của đầu ra sau mỗi lớp tích chập trong mạng CNN. Dilation – Giãn nở: Dilation là một kỹ thuật cho phép mở rộng vùng nhìn thấy của kernel mà không làm thay đổi kích thước của kernel chính. Kỹ thuật này giúp mô hình nhận biết các đặc trưng lớn hơn hoặc tiếp cận thông tin từ các vị trí xa hơn trong ảnh. 6 Hàm phi tuyến - ReLU: Lớp ReLU này là một hàm kích hoạt trong mạng CNN, được gọi là hàm kích hoạt.

Nó mô phỏng sự truyền xung qua các nơ-ron giống như tỷ lệ truyền qua axon. Có nhiều hàm kích hoạt khác nhau như Leaky ReLU, Sigmoid, Leaky, Maxout, và nhiều loại khác. Lớp rút gọn - Pooling layer Hình 2.3 Lớp rút gọn - Pooling layer[14] Lớp liên kết đầy đủ (Fully Connected Layer – FC): Lớp này có nhiệm vụ xử lý kết quả sau khi lớp Convolutional và lớp Pooling đã nhận được ảnh đầu vào. Ta sẽ thu được một mô hình có chức năng đọc dữ liệu từ ảnh.

Để kết nối chúng cũng như tạo ra đầu ra phức tạp hơn, ta dùng lớp Fully Connected. Ngoài ra, nếu lớp này có dữ liệu hình ảnh, lớp này có thể biến chúng thành các vector chưa được phân loại để tìm ra các ảnh có chất lượng cao nhất.4 Ví dụ một mạng CNN đơn giản[15] Tổ hợp các khối gồm lớp conv và lớp pool nối tiếp nhau để tính toán đặc trưng ảnh, Các đặc trưng về sau càng có tính khái quát cao. 7 Sau cùng là các lớp FC để biến đổi đặc trưng và đầu ra (dùng để phân lớp, hồi quy). Mô hình kiến trúc mạng mobileNet: Như đã biết, CNN là một nền tảng quan trọng trong lĩnh vực Computer vision.

Có rất nhiều kiến trúc CNN khác nhau đã ra đời: LeNet, AlexNet, VGG, GoogLeNet, ResNet… Mỗi một kiến trúc CNN đều có điểm mạnh riêng, được điều chỉnh cho từng mục đích khác nhau. Song song với đó là sự nâng cấp, phát triển mạnh mẽ về phần cứng (GPU, CPU), điều này giúp cho các mô hình CNN ngày càng sâu hơn. Các kiến trúc từ đó cũng nhiều tham số hơn, độ phức tạp ngày càng lớn nhằm tăng độ chính xác lên nhiều hơn. Tuy nhiên, nếu chúng ta không đi theo xu hướng đó mà cần một mô hình nhỏ, nhẹ, nhanh và độ chính xác vẫn có thể đảm bảo (không cao) để có thể huấn luyện mô hình trong thời gian ngắn mà độ chính xác nằm trong mức chấp nhận.

Và đó là yêu cầu của bài toán nhận điện trái cây mà mô hình nhận diện trái cây cần huấn luyện dữ liệu mới liên tục và hoạt động trên một thiết bị có hiệu năng thấp. Và MobileNets như một giải pháp phù hợp được giới thiệu bởi google vào năm 2017, là một mạng nơ-ron CNN nhẹ tập trung vào các thiết bị di động và thiết bị nhúng, và yêu cầu sự nhanh chóng với ba phiên bản đã được giới thiệu: v1, v2 và v3. Đề tài chọn MobileNet V2 làm mô hình cho bài toán phân loại trái cây. So sánh với mạng CNN truyền thống, các thông số mô hình và tính toán được giảm đáng kể dưới tiền đề giảm nhẹ độ chính xác.

MobileNets có thể rút gọn lại vài triệu tham số nhưng vẫn giữ được độ chính xác ổn, đó là nhờ sử dụng một cơ chế gọi là Depthwise Separable Convolutions.5 Depthwise Separable Convolutions (Mobilenet)[10] Standard Convolutions 8 Hình 2.6 Standard Convolution layer [16][17] Đầu vào trong ví dụ về một Convolution layer thông thường ở trên là một Feature map 5x10x10 với bộ lọc có kích thước 5x3x3. Sau đó thực hiện phép nhân tích chập (padding = 1, stride=1) ra có output: 1x10x10. Ta cần thực hiện 3x3 = 9 phép nhân. Như vậy, số tính toán đã thực hiện là 5 x (3 x 3 x 10 x 10) = 4500.

Trong một lớp convolutional, ta sử dụng nhiều bộ lọc. Trong trường hợp này có 64 bộ lọc, vì thế số tính toán cần thực hiện là 64x4500 = 28800 phép tính. Nếu một hình ảnh được đưa vào tính toán với độ phân giải 3x1080x1080 thì con số cần phải tính lên tới khoảng 55,987,200 phép tính. Đây là một con số quá lớn.

Depthwise Separable Convotutions [9] Mạng MobileNets sử dụng Depthwise Separable Convotutions. Đây là một Depthwise convolution theo sau bởi một pointwise convolution: 9 Hình 2.7 Cấu trúc của Depthwise Separable Convotutions [8] Depthwise convolution: là một Channel-wise DK×DK spatial convolution. Như hình trên, có tổng 5 đầu vào input nên sẽ có 5 DK×DK spatial convolution. Pointwise convolution: là một convolution có kích thước 1x1.8 Depthwise Separable Convolution [16][17] Với M là số lượng kênh đầu vào, N là số lượng kênh đầu ra, Dk là Kernel size, Df là Feature map size (input có kích thước 244, nên Feature map ban đầu sẽ có Df là 224).

Chi phí tính toán của phép tính Depthwise convolution: ​ Dk  Dk  M  D f  D f (1) Chi phí tính toán = Số kênh đầu vào X Chiều cao X Chiều Rộng X Hệ số Đa Chiều Sâu Trong đó, Số kênh đầu vào (M) là số lượng kênh đặc chưng đầu vào; Chiều cao và Chiều rộng (Df) thể hiện kích thước đặc chưng đầu vào; Hệ số đa chiều sâu (Dk) là tỷ lệ mà convolution theo chiều sâu giảm chi phí tính toán so với convolution tiêu chuẩn. [7] 11 Phép convolution theo chiều sâu (depthwise convolution) đem lại kết quả rất tối ưu so với phép convolution tiêu chuẩn. Tuy nhiên, nó đơn giản chỉ lọc các kênh đầu vào mà không kết hợp chúng với nhau để tạo ra các đặc trưng mới. Do đó, cần bổ sung thêm lớp mới vào để cải thiện.

Vì thế, thực hiện sự kết hợp tuyến tính của đầu ra của phép convolution theo chiều sâu thông qua phép convolution 1 × 1 để tạo ra những đặc trưng mới này. Sự kết hợp giữa convolution theo chiều sâu và convolution 1 × 1 (pointwise) được gọi là convolution phân tách theo chiều sâu (Depthwise Separable Convolution).

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ