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

báo cáo bài tập lớn điện tử tiên tiến đề tài thiết bị hỗ trợ bán hàng sử dụng nhận dạng hình ảnh trên nền tảng edge impulse

43 1 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

Đáp ứng nhu cầu này, nhóm đã phát triển một thiết bị hỗ trợ bán hàng mới sửdụng công nghệ nhận dạng hình ảnh trên nền tảng Edge Impulse để nhận diện vật phẩm và kết hợp với cảm biến Load

Trang 1

HÀ NỘI, 2023

Trang 2

MỤC LỤC

MỤC LỤC 1

DANH MỤC HÌNH ẢNH 3

LỜI MỞ ĐẦU 4

CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN 5

1.1.Tổng quan về ESP Cam 51.2.Cảm biến Loadcell 71.3.Web BLE 91.3.1 Giới thiệu về Web BLE 9

1.3.2 Các trình duyệt, thiết bị hỗ trợ Web BLE 9

1.4.Edge Impluse 10Chương 2: Triển khai hệ thống 13

2.1 Học máy có giám sát 132.2 Quy trình thực hiện model 142.2.1 Collect Images 14

2.3.2 Các bước tạo BLE Server 26

2.3.3 Giao diện, mô tả Web 28

2.4 Hiệu chỉnh thang đo Loadcell 29Chương 3: Thử nghiệm đánh giá hoạt động 35

3.1 Thử nghiệm hệ thống 353.2 Kết luận, đánh giá 40TÀI LIỆU THAM KHẢO 42

Trang 4

DANH MỤC HÌNH ẢNH

Hình 1 Tổng quan về esp cam 7

Hình 2 Cảm biến Loadcell 8

Hình 3 Strain gauge 9

Hình 4 Giới thiệu về Web BLE 10

Hình 5 Các trình duyệt hỗ trợ Web BLE 11

Hình 6 Edge Impulse là một công cụ dựa trên đám mây 12

Hình 7 Supervised learning 14

Hình 8 Collect image program 16

Hình 9 Web collect image 17

Hình 19 Build model thành công 23

Hình 20 Run example Program 24

Hình 28 chạy sản phẩm test camera 38

Hình 29 Test web thanh toán 40

Hình 30 Cổng thanh toán 40

Hình 31 Thông báo thanh toán thành công 41

Hình 32 Quản lý đơn hàng 41

Trang 5

LỜI MỞ ĐẦU

Trong bối cảnh thị trường bán lẻ đang ngày càng trở nên cạnh tranh và đòi hỏi sự đổi mới không ngừng, việc ứng dụng công nghệ vào quá trình bán hàng đã không còn là xu hướng mà là một yêu cầu thiết yếu Các thiết bị hỗ trợ bán hàng thông minh có khả năng cải thiện hiệu quả công việc, tối ưu hóa quy trình làm việc và nâng cao trải nghiệm khách hàng Đáp ứng nhu cầu này, nhóm đã phát triển một thiết bị hỗ trợ bán hàng mới sửdụng công nghệ nhận dạng hình ảnh trên nền tảng Edge Impulse để nhận diện vật phẩm và kết hợp với cảm biến Loadcell để cân vật phẩm, cùng khả năng truyền nhận dữ liệu qua Web BLE đồng thời tạo QR code để thanh toán Bài báo cáo này sẽ trình bày về quá trình nghiên cứu, thiết kế, xây dựng và thử nghiệm hệ thống này.

Bài báo cáo này sẽ chi tiết từng bước thực hiện, từ quá trình thu thập dữ liệu, huấn luyện mô hình, tích hợp cảm biến, đến việc triển khai và đánh giá hiệu suất hệ thống Quađề tài này, độc giả sẽ hiểu rõ hơn về tiềm năng và giá trị của việc áp dụng công nghệ AI và IoT vào ngành bán lẻ, mở ra những cơ hội mới để cải tiến và phát triển trong tương lai.

Nhóm em cũng xin bày tỏ lòng biết ơn tới thầy đã hỗ trợ tận tình và góp ý quý báu cho nhóm trong suốt quá trình nghiên cứu và phát triển đề tài này Trong quá trình đánh giá nhóm mong muốn có thể tiếp tục nhận được sự đóng góp và hỗ trợ trong tương lai từ thầy.

Nội dung chính của đề tài:

- Chương 1: Nghiên cứu tổng quan.- Chương 2: Triển khai hệ thống.

- Chương 3: Thử nghiệm, đánh giá hoạt động.

Dưới đây nhóm xin trình bày chi tiết các phần trong nội dung của đề tài.

Trang 6

CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN

Trong chương này, nhóm sẽ cung cấp một cái nhìn tổng quan về các công nghệ và thành phần chính được sử dụng trong hệ thống hỗ trợ bán hàng của nhóm Để hiểu rõ hơn về cơ sở của giải pháp công nghệ mà nhóm đã phát triển, chương 1 sẽ khám phá từng thành phần theo thứ tự, bao gồm ESP Cam, cảm biến Loadcell, Web BLE, và cuối cùng lànền tảng Edge Impulse.

1.1.Tổng quan về ESP Cam

Phần này giải thích lý do tại sao ESP Cam là lựa chọn phù hợp cho ứng dụng nhận dạng hình ảnh trong hệ thống của chúng tôi, cũng như các tính năng nổi bật và cách thức hoạt động của nó.

Thiết bị ngoại vi

ESP32-CAM đã tích hợp với Wi-Fi, Bluetooth và có thể được sử dụng với máy ảnh OV2640 hoặc OV7670 IC ESP32 có các giao thức ADC, SPI, I2C và UART độ phângiải cao để giao tiếp dữ liệu Module có cảm biến Hall, cảm biến nhiệt độ và cảm biến cảm ứng, và bộ hẹn giờ wtachdog

Ngoại vi RTC có thể hoạt động ở các chế độ khác nhau Module có tần số xung nhịp tối đa là 160 MHz cho khả năng tính toán lên đến 600 DMPIS Hơn nữa, nó khá bền và độ tin cậy cao khi kết nối internet.

Các ứng dụng

Module ESP32-CAM AI-Thinker có nhiều ứng dụng như tự động hóa trong nhà, thiết bị thông minh, hệ thống định vị, hệ thống an ninh và thích hợp cho các ứng dụng IoT.

Các thành phần AI-Thinker của ESP32-CAM

Bo mạch này là dạng bảng mạch PCB kiểu DIP 27x40,5x4,5 Hình dưới đây cho thấy các thành phần của bo mạch ESP32-CAM ở cả mặt trên và mặt dưới.

Trang 7

HÌNH 1 TỔNGQUANVỀESPCAM

Chip ESP32-S: Module này là một con chip chính có hai CPU LX6 hiệu suất cao 32-bit với một kiến trúc vi mạch đường dẫn 7 lớp và sử dụng trong tất cả các quá trình xử lý.

Đầu ra khối IPEX: IPEX được kết nối với ăng-ten GSM để truyền tín hiệu.Tụ tantal: Tụ tantal chủ yếu được sử dụng trên các module có kích thước nhỏ Chúng bền và cung cấp khả năng lọc nguồn điện cho ra tín hiệu ổn định.

Nút reset: Khi được nhấn, nút reset sẽ khởi động lại code được thực thi trên module.Chip điều chỉnh điện áp: Chip điều chỉnh điện áp trên module để duy trì đảm bảo ổn định điện áp đầu ra bất chấp sự thay đổi của nguồn cung cấp đầu vào Nó điều chỉnh điện áp ở 3,3V.

PSRAM: Bộ nhớ truy cập ngẫu nhiên “giả” công suất thấp 4MB được tích hợp trong module để có tốc độ xử lý nhanh Nó giúp máy ảnh chạy mượt mà.

Cổng nhận thẻ TF: Dòng ESP32 có một cổng nhận thẻ micro-SD để lưu trữ dữ liệu Tất cả quá trình truyền dữ liệu đều thông qua giao tiếp ngoại vi nối tiếp.

Đầu nối FPC: Để gắn máy ảnh, module ESP32 có một đầu nối mạch linh hoạt Chiều cao của đầu nối tỷ lệ với độ tin cậy của tín hiệu.

Trang 8

Trong phần tổng quan này, chúng ta đã khám phá các đặc điểm kỹ thuật và tính năng của module ESP32-CAM, từ việc sử dụng các thành phần như chip ESP32-S cho đến các tính năng phụ trợ như cổng nhận thẻ TF và đầu nối FPC Khả năng tích hợp Wi-Fi và Bluetooth cùng với các giao tiếp ngoại vi như ADC, SPI, I2C, và UART cung cấp cho module này sự linh hoạt cao và khả năng thích ứng trong nhiều ứng dụng IoT khác nhau, từ tự động hóa trong nhà đến các hệ thống an ninh.

Thêm vào đó, sự bao gồm của cảm biến Hall, nhiệt độ, cảm ứng, và bộ hẹn giờ watchdog cho thấy module này không chỉ là một giải pháp đơn thuần cho ứng dụng máy ảnh mà còn là một nền tảng mạnh mẽ cho phát triển các hệ thống thông minh tích hợp Sựdụng cụ PSRAM 4MB cung cấp khả năng xử lý tín hiệu nhanh và ổn định, làm nền tảng cho các chức năng xử lý hình ảnh phức tạp và nâng cao hiệu suất chung của module.

Cuối cùng, với khả năng tương thích cao và thiết kế bền vững, ESP32-CAM khôngnhững đáp ứng nhu cầu hiện tại của thị trường IoT mà còn mở ra hướng đi mới cho sự phát triển của công nghệ thiết bị ngoại vi trong tương lai Dựa trên những điểm mạnh đã nêu, ESP32-CAM thực sự là một lựa chọn hấp dẫn cho bất kỳ nhà phát triển hoặc nhà thiết kế hệ thống nào đang tìm kiếm một giải pháp hiệu quả và đa năng cho các dự án IoT.

1.2.Cảm biến Loadcell

Tại đây, nhóm sẽ phân tích về cảm biến Loadcell, một công cụ đo lường trọng lượng chính xác, và vai trò của nó trong việc đảm bảo tính minh bạch và chính xác của các giao dịch bán hàng.

Cảm biến trọng lượng (Loadcell) là một loại cảm biến được sử dụng để đo trọng

lượng hoặc lực tác động lên một đối tượng Nó chuyển đổi lực vào một tín hiệu điệntương ứng, cho phép đo trọng lượng với độ chính xác cao.

HÌNH 2 CẢMBIẾN LOADCELL

Trang 9

Nguyên lý hoạt động

Cảm biến Loadcell thường được thiết kế dưới dạng một cấu trúc cơ học, bao gồm mộtthanh kim loại hoặc một bề mặt phẳng có khả năng chịu tải Khi một lực tác động lên cảmbiến, nó gây ra biến dạng hoặc uốn cong trong cấu trúc đó Điều này dẫn đến thay đổi vềđiện trở trong cảm biến, và thay đổi này được chuyển đổi thành tín hiệu điện tương ứng.

Cảm biến Loadcell thường sử dụng các yếu tố cảm biến như strain gauge (cảm biến đobiến dạng) để đo sự biến dạng cơ học trong cấu trúc của nó Strain gauge là một thànhphần điện tử nhạy cảm với biến dạng và thay đổi điện trở khi có lực tác động lên nó.Thông qua sự thay đổi điện trở trong strain gauge, cảm biến Load cell có thể xác địnhtrọng lượng hoặc lực tác động.

HÌNH 3 STRAINGAUGE

Các cảm biến Loadcell được sử dụng rộng rãi trong các ứng dụng đo lường trọnglượng và kiểm soát lực tác động, chẳng hạn như trong các thiết bị cân điện tử, thiết bịkiểm tra tải trọng, thiết bị kiểm tra mô-men xoắn và nhiều ứng dụng công nghiệp khác.

Trang 10

1.3.Web BLE

Phần này được chia thành hai mục Mục đầu tiên, 1.3.1, sẽ giới thiệu về Web BLE - một công nghệ cho phép truyền thông Bluetooth Low Energy qua trình duyệt web Mục thứ hai, 1.3.2, đi sâu vào các trình duyệt và thiết bị hỗ trợ Web BLE, từ đó phác thảo khuôn khổ tương thích cho hệ thống.

1.3.1 Giới thiệu về Web BLE

Web Bluetooth (đôi khi còn được gọi là Web BLE) là công nghệ cho kết nối vàđiều khiển các thiết bị hỗ trợ BLE, trực tiếp từ trình duyệt web bằng JavaScript.

Với Web BLE, ta có thể tạo các ứng dụng web tương tác với thiết bị hỗ trợ BLE quaBluetooth, cho phép bạn điều khiển các chân GPIO, trao đổi dữ liệu và quản lý thiết bịcủa mình từ xa thông qua giao diện web.

HÌNH 4 GIỚITHIỆUVỀ WEB BLE

Web BLE mở rộng khả năng tương tác của trình duyệt web với thiết bị BLE, đồngthời hỗ trợ tích hợp thông tin từ các thiết bị này vào ứng dụng web, tạo ra môi trường pháttriển đa dạng trong lĩnh vực IoT và di động.

1.3.2 Các trình duyệt, thiết bị hỗ trợ Web BLE

Một trong những ưu điểm chính của Web BLE là khả năng tương thích đa nềntảng Ứng dụng Web BLE dựa trên web và có thể chạy trên mọi thiết bị có trình duyệtweb hiện đại hỗ trợ API Web Bluetooth.

-Các trình duyệt hỗ trợ:

Trang 11

HÌNH 5 CÁCTRÌNHDUYỆTHỖTRỢ WEB BLE

API Web Bluetooth vẫn đang được phát triển nhưng nhìn chung nó được coi là ổn

định và có thể sử dụng được Nó đã được triển khai trong Chrome, Edge, Opera và đượchỗ trợ trên Android và Windows Tuy nhiên, nó vẫn chưa được hỗ trợ trên iOS.

-Các thiết bị hỗ trợ:

BLE được sử dụng rộng rãi trong nhiều loại thiết bị: đồ công nghệ cá nhân, thiết bịy tế, thiết bị di động, thiết bị IoT, v.v

Để ứng dụng nhiều vào việc nghiên cứu ta quan tâm đến các loại vi điều khiển hỗ

trợ BLE như: các dòng vi điều khiển ESP32, Raspberry Pi, Arduino Nano 33BLE, Còn đối với các loại vi điều khiển chưa hỗ trợ BLE như Arduino Uno, ArduinoNano, ta có thể sử dụng module JDY-33 để biến chúng thành thiết bị có BLE.

Khả năng tương thích đa nền tảng này giúp người dùng không cần tải xuống và càiđặt các ứng dụng dành riêng cho thiết bị di động, đơn giản hóa trải nghiệm người dùng

Điều này có nghĩa là có thể sử dụng điện thoại thông minh, máy tính bảng hoặcmáy tính để bàn để kết nối và điều khiển các thiết bị bằng Web BLE.

1.4.Edge Impluse

Edge Impulse, một trong những nền tảng hàng đầu về Trí tuệ nhân tạo, đã chứng tỏsức mạnh và tầm quan trọng của mình qua nhiều năm Trong phần một này, chúng ta sẽ đào sâu vào những nền tảng cơ bản của Edge Impulse và tại sao nó trở thành lựa chọn hàng đầu trong lĩnh vực này.

Trang 12

HÌNH 6 EDGE IMPULSELÀMỘTCÔNGCỤDỰATRÊNĐÁMMÂY

Mô Hình Học Máy Dựa Trên Thiết Bị

Một trong những điểm độc đáo và quan trọng nhất của Edge Impulse là khả năng xây dựng và triển khai mô hình học máy trực tiếp trên thiết bị Điều này giúp giảm độ trễ và tăng hiệu suất cho các ứng dụng yêu cầu thời gian phản ứng nhanh như trong Internet of Things (IoT).

Tích Hợp Dữ Liệu Một Cách Hiệu Quả

Edge Impulse không chỉ giới hạn ở việc xây dựng mô hình mà còn cung cấp khả năng tích hợp dữ liệu một cách an toàn và hiệu quả Điều này giúp người dùng tận dụng tối đa dữ liệu của họ để đào tạo mô hình một cách dễ dàng.

Tương Thích Đa Dạng với Cảm Biến và Thiết Bị

Edge Impulse được thiết kế để tương thích với nhiều loại cảm biến và thiết bị khác nhau Điều này mở ra nhiều cơ hội ứng dụng, từ y tế đến sản xuất và các lĩnh vực khác.

Sử Dụng Trực Tiếp trên Nền Tảng Đám Mây

Với khả năng sử dụng trực tiếp trên nền tảng đám mây, Edge Impulse mang lại sự linh hoạt và thuận tiện cho người dùng Việc này giúp dễ dàng quản lý và theo dõi các dự án Trí tuệ nhân tạo của họ mọi nơi.

Trang 13

Cộng Đồng Hỗ Trợ Mạnh Mẽ

Edge Impulse không chỉ là một công cụ, mà là một cộng đồng mạnh mẽ Người dùng có thể chia sẻ kiến thức, kinh nghiệm và tìm kiếm sự giúp đỡ từ cộng đồng này, tạo nên môi trường học tập và phát triển tích cực.

Bảo Mật Dữ Liệu Tích Hợp Sẵn

Một trong những ưu điểm quan trọng của Edge Impulse là sự chú trọng đặc biệt vào bảo mật dữ liệu Việc tích hợp sẵn các tiêu chuẩn bảo mật giúp đảm bảo rằng thông tin của người dùng được bảo vệ một cách an toàn.

Dễ Dàng Sử Dụng và Tích Hợp

Khả năng sử dụng và tích hợp dễ dàng là một yếu tố quan trọng khi chọn nền tảng Trí tuệ nhân tạo Edge Impulse đáp ứng điều này thông qua giao diện người dùng thân thiện và khả năng tích hợp linh hoạt.

Trang 14

Chương 2: Triển khai hệ thống

Sau khi đã giới thiệu và phân tích tổng quan về các công nghệ và thành phần liên quan đến hệ thống hỗ trợ bán hàng của nhóm trong Chương 1, Chương 2 này sẽ tập trung vào việc triển khai thực tế các giải pháp đã nêu Nhóm sẽ đi sâu vào các chi tiết kỹ thuật, bao gồm cả phát triển mô hình học máy, triển khai truyền nhận dữ liệu, thiết lập và điều chỉnh các thành phần phần cứng.

2.1 Học máy có giám sát

Phần này sẽ giải thích các khái niệm cơ bản và lý do tại sao chọn hình thức học máy này cho việc nhận dạng sản phẩm.

Học có giám sát (Supervised Learning): Đây là phương pháp phổ biến nhất được

sử dụng trên Edge Impulse, cho phép người dùng huấn luyện mô hình dựa trên dữ liệu đã được gán nhãn Nó bao gồm các tác vụ như phân loại (ví dụ, phân loại âm thanh hoặc ảnh) và hồi quy (ví dụ, dự Trong tập dữ liệu huấn luyện, mỗi điểm dữ liệu thường được gọi là một ví dụ, và nó bao gồm một hoặc nhiều đặc trưng đầu vào (input features) và mộtnhãn (label) tương ứng Nhãn này có thể là một số (trong trường hợp của học máy dự đoán) hoặc một lớp/cấp (trong trường hợp của phân loại).

HÌNH 7 SUPERVISEDLEARNING

Các bước cơ bản trong học có giám sát bao gồm:

Trang 15

Chuẩn bị dữ liệu: Thu thập và xử lý dữ liệu để đảm bảo nó phù hợp cho mô hình Dữ

liệu cần được chia thành hai phần: tập huấn luyện và tập kiểm thử.

Lựa chọn mô hình: Chọn một mô hình học máy phù hợp dựa trên bài toán cần giải quyết

(ví dụ như mạng neuron, máy vector hỗ trợ, cây quyết định, v.v.).

Huấn luyện mô hình: Sử dụng tập dữ liệu huấn luyện để "dạy" mô hình cách dự đoán

nhãn từ các đặc trưng Trong quá trình này, các tham số của mô hình được điều chỉnh để tối ưu hóa hiệu suất của mô hình.

Đánh giá mô hình: Sử dụng tập dữ liệu kiểm thử để đánh giá hiệu suất của mô hình

Điều này giúp kiểm tra liệu mô hình có khả năng tổng quát hóa tốt trên dữ liệu mới không.

Tinh chỉnh và cải thiện: Dựa trên kết quả đánh giá, các điều chỉnh có thể được thực hiện

để cải thiện mô hình, bao gồm điều chỉnh tham số, lựa chọn đặc trưng, hoặc thay đổi cáchtiền xử lý dữ liệu.

Học có giám sát được áp dụng rộng rãi trong nhiều ứng dụng thực tế như nhận diệnkhuôn mặt, phát hiện gian lận, dự đoán giá cả, phân loại văn bản, và hơn thế nữa Các ví dụ phổ biến của các mô hình học có giám sát bao gồm hồi quy tuyến tính, hồi quy logistic, mạng neuron nhân tạo, và cây quyết định.

2.2 Quy trình thực hiện model

Đây là phần chính của chương, được chia thành năm bước chính - thu thập hình ảnh, gán nhãn, huấn luyện mô hình, xuất mô hình và cuối cùng là chạy mô hình Mỗi bước sẽ được trình bày chi tiết, từ cách thu thập dữ liệu cho đến cách triển khai mô hình đã huấn luyện vào hệ thống.

2.2.1 Collect Images

Cài đặt thư viện EloquentEsp32cam

Đây là thư viên hỗ trợ nhiều tính năng cho Esp32 Cam

Sketch > Include Library > Manage Libraries > Tìm kiếm “ EloquentEsp32cam” và cài đặt

Trang 16

HÌNH 8 COLLECTIMAGEPROGRAM

Chọn chương trình 26_Collect_ImagesThay thông tin Wifi vào chương trình

// replace with your SSID and PASSWORD

while (!cam.connect("Xuong", "68686868")) Serial.println(cam.getErrorMessage());Lấy ip để truy cập Web Server

Điều chỉnh các góc của vật thể để thu thập

Trang 17

HÌNH 9 WEBCOLLECTIMAGE

Download tệp file ảnh về máy (1)

2.2.2 Label Images

Tạo project tại : https://edgeimpulse.com/

Tại mục Data Acquisition

Dataset upload ảnh từ mục 1 lên

HÌNH 10 DATAACQUISTION

Trang 18

Chọn "Automatically split between training and testing" sẽ chia tỉ lệ giữa train-test là 20

80-HÌNH 11 AUTOMATICALLYSPLITBETWEENTRAININGANDTESTING

Label queue thực hiện khoanh vùng đối tượng như hướng dẫn

HÌNH 12 LABELQUEUE

2.2.3 Train Model

Tại mục Impulse Design

Để phù hợp với bộ nhớ nhỏ của Esp32

Trang 19

Creat impulse: Điều chỉnh size ảnh xuống 48x48 lựa chọn các khối như ảnh và save

Trang 20

HÌNH 15 GENERATEFEATURE

Kết quả thu được 2 màu tách biệt (không xen lẫn nhau) => kết quả tốt

Object detection: cài đặt các thông số train

Ngày đăng: 22/06/2024, 12:39

Xem thêm:

w