1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo đồ án Lập Trình Hệ Thống Bách khoa Đà Nẵng

34 233 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 3,6 MB

Nội dung

Báo cáo đò án lập trình hệ thống Đề tài: Nhận diện sản phảm trên băng chuyền Sử dụng các phần cứng: Raspberri Pi 4, Băng chuyền và các vật dụng kèm theo Sử dụng AI, Machine Learning với thuật toán chính là SVM để nhận diện sản phẩm bằng cách chụp ảnh Điểm số: 9.510

Báo cáo đồ án, HK2 năm học 2019-2020 TÓM TẮT ĐỒ ÁN Trong thời đại công nghệ phát triển, nhận diện sản phẩm ứng dụng sử dụng rộng rãi cơng nghiệp Nó tự động hóa phân loại sản phẩm, giúp người không cần phải thủ công phân biệt đánh dấu sản phẩm lượng sản phẩm lớn Đồ án hướng đến việc áp dụng nhận diện vào sản xuất cơng nghiệp, đặc biệt khía cạnh nhận diện phân loại sản phẩm băng chuyền sản phẩm lớn làm thủ cơng Ngồi ra, nhóm cịn có khả thống kê lại thông tin sản phẩm giúp cho việc quản lý công ty công nghiệp nhà máy, thông minh hơn, tiết kiệm thời gian, sức lao động nâng cao hiệu suất phát triển Nhóm 29, lớp HP: 17Nh14 Mục lục Nguyễn Tiến Văn, Huỳnh Hữu Phước, Trương Anh Vũ, Nguyễn Việt Cường I GIỚI THIỆU A ĐẶT VẤN ĐỀ Phân loại sản phẩm công đoạn thiếu mơi trường sản xuất cơng nghiệp, chí loại hình khác Trước đây, cơng việc triển khai cách thủ công Việc làm tốn nhiều thời gian cho hiệu suất không cao, đặc biệt lượng sản phẩm lên đến số lớn xảy nhầm lẫn, sai sót Trong thời đại cơng nghệ phát triển việc thực cách tự động, đáp ứng nhu cầu phân loại lượng lớn sản phẩm Nhận thấy nhu cầu trên, nhóm tiến hành nghiên cứu triển khai hệ thống nhận diện phân loại sản phẩm băng chuyền Hệ thống sử dụng cơng nghiệp ,nơng nghiệp, cho cơng ty tổ chức khác Vì loại mơ hình tự động nên dễ dàng triển khai tiến hành nhận diện phân loại sản phẩm Và sau liệu xử lý thống kê để thuận tiện cho việc theo dõi quản lý Hệ thống tự động tiết kiệm nhiều thời gian sức lao động, nâng cao hiệu công việc B BẢNG PHÂN CÔNG CÔNG VIỆC STT Họ tên Nguyễn Tiến Văn (Nhóm trưởng) Nhiệm vụ Đọc tài liệu, viết báo cáo cài đặt thuật toán Database Firebase , Servo G90 LCD 16x2 Huỳnh Hữu Phước Đọc tài liệu, viết báo cáo, cài đặt thuật toán SVM phân lớp vật thể chuẩn bị dataset Nguyễn Việt Cường Đọc tài liệu, viết báo cáo cài đặt thuật toán Camera, xây dựng luồng liệu thiết kế mơ hình đồ án Trương Anh Vũ Đọc tài liệu, viết báo cáo cài đặt thuật tốn trích xuất đặc trưng, xây dựng thuật toán giao tiếp với băng chuyền Nhóm 29, lớp HP: 17Nh14 II GIẢI PHÁP A SƠ ĐỒ KHỐI MODULE HỆ THỐNG Hình 1: Sơ đồ khối module hệ thống Nguyễn Tiến Văn, Huỳnh Hữu Phước, Trương Anh Vũ, Nguyễn Việt Cường B B SƠ ĐỒ KHỐI LUỒNG CHẠY CỦA HỆ THỐNG Hình 2: Sơ đồi khối luồng chạy hệ thống Nhóm 29, lớp HP: 17Nh14 C CHUẨN BỊ PHẦN CỨNG Danh sách linh kiện Tên phần cứng Chức phần cứng Giá tiền (VNĐ) Raspberry Pi Model B Trung tâm xử lý 1.800.000đ hệ thống Camera Logitech C310 Nguồn thu thập liệu đầu 900.000đ vào hệ thống Thẻ nhớ SD 32GB Lưu trữ hệ điều hành 250.000đ Raspbian LCD 16 x Hiển thị tên vật vừa 30.000đ nhận diện số lượng vật có database sau thêm vào Băng chuyền Băng chuyền tự động chạy 3.400.000đ dừng để nhận diện vật phẩm Servo G90 Phân luồng sản phẩm sau 35.000đ phân lớp Cơ sở lý thuyết phần cứng 2.1 Raspberry Pi Raspberry Pi máy tính kích thước nhỏ tích hợp nhiều phần cứng mạnh mẽ đủ khả chạy hệ điều hành cài đặt nhiều ứng dụng Raspberry Pi “Mini Computer” bật Ban đầu Raspberry Pi Foundation phát triển dự án Raspberry với mục tiêu dạy học cho trẻ em Nhưng Pi dành quan tâm đánh giá cao từ cộng đồng ứng dụng rộng rãi dự án nghiên cứu, thiết bị IOT, … Bởi khả xử lý mạnh mẽ, chi phí thấp tính di động cao [1] Nguyễn Tiến Văn, Huỳnh Hữu Phước, Trương Anh Vũ, Nguyễn Việt Cường Trong đồ án này, nhóm sử dụng Raspberry Pi Model B làm trung tâm xử lý hệ thống: Một số thơng số Raspberry Pi 4: • Vi xử lý: Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz • Ram: 4GB LPDDR4-3200 SDRAM • Kết nối: 2.4 GHz and 5.0 GHz IEEE 802.11ac wireless, Bluetooth 5.0, BLE, Gigabit Ethernet • Video âm thanh: cổng micro-HDMI ports ( hỗ trợ đến 4kp60), Cổng MIPI CSI Camera, cổng stereo output composite video chân • 40 cổng giao tiếp GPIO Hình 3: Hình ảnh module Raspberry Pi Model B 2.2 Camera Logitech C310 Một webcam định dạng hình rộng Có tính điều chỉnh ánh sáng tự động Nhóm 29, lớp HP: 17Nh14 - Thơng số kỹ thuật: + Độ phân giải tối đa: 720p/30Fps + Loại tiêu cự: Lấy nét cố định + Công nghệ thấu kính: Tiêu chuẩn + Trường ngắm: 60 độ Hình 4: Hình ảnh Camera Logitech C310 2.3 Băng chuyền Conveyor Băng chuyền sản phẩm hỗ trợ đắc lực nhà máy, giúp vận - chuyển, hỗ trợ chế tạo, lắp ráp, đóng gói, di chuyển vật từ khu vực A sang khu vực B Có nhiều loại băng chuyền sử dụng nhà máy Trong đồ án này, nhóm sử dụng băng chuyền ngắn để dễ dàng phục vụ mục đích nghiên cứu Băng - chuyền Conveyor sản xuất IMWI Technology Việt Nam Thông số kỹ thuật Accuracy 0.02 mm Length 500 mm Nguyễn Tiến Văn, Huỳnh Hữu Phước, Trương Anh Vũ, Nguyễn Việt Cường Width 120 mm Mass Kg Max track speed m/s Max acceleration m/s Power 12V/2A Connection UART Control Method G-code, Potentiometer - Băng chuyền sử dụng giao tiếp UART thông qua USBTOTTL sử dụng GCode để điều khiển băng chuyền theo ý muốn Hình 5: Hình ảnh Conveyor X 2.4 LCD text 1602 10 Nhóm 29, lớp HP: 17Nh14 - Một phương tiện phổ biến dùng để hiển thị text biểu tượng LCD (Liquid Crystal Display - Màn hình tinh thể lỏng) LCD thường sử dụng để hiển thị máy tính cầm tay đồng hồ báo thức Để sử dụng hiển thị LCD, ta cần chip driver để điều khiển nó; thường gắn kèm với hiển thị Một - dịng driver chip thơng dụng HD44780.[2] Các linh kiện cần thiết gồm điện trở LCD Chân điều khiển độ tương phản LCD phải nối với điện trở để điều chỉnh mức độ tương phản Trở kháng điện trở nên mức 10k Ôm Tùy vào điện mà đèn hình cần, thêm điện trở để cung cấp điện Trong hình sử dụng, hình LCD yêu cầu điện 4.2V Lắp điện trở thích hợp vào chân cấp nguồn chân +5V hình LCD.[3] Hình 6: Hình ảnh LCD text 1602 Servo Servo dạng động điện đặc biệt Không giống động thông 2.5 - thường cắm điện vào quay liên tục, servo quay điều khiển (bằng xung PPM) với góc quay nằm khoảng từ độ - 180 độ Mỗi loại servo có kích thước, khối lượng cấu tạo khác Có loại nặng 9g (chủ yếu dùng máy bay mô mình), có loại sở hữu momen lực tốt (vài chục - Newton/m), có loại khỏe nhông sắt chắn.[11] Động servo thiết kế hệ thống hồi tiếp vịng kín Tín hiệu động nối với mạch điều khiển Khi động quay, vận tốc vị trí 20 Nhóm 29, lớp HP: 17Nh14 Hình 15 Margin hai lớp lớn Như hình hai đường đen lục phân chia lớp cách công - Nhưng đường màu đen đem lại margin rộng hẳn đường màu lục Mục tiêu tối ưu thuộc tốn tìm siêu phẳng có lề tối đa, tức khoảng cách tối đa điểm liệu hai lớp Tối đa hóa khoảng cách lề cung cấp số củng cố để điểm liệu tương lai phân loại với độ tin cậy cao hơn, mang lại hiệu ứng phân lớp tốt phân chia hai lớp rạch rịi 2.1.3 Q trình Train bộ DataSet Dữ liệu ban đầu a) Đầu tiên, ta cung cấp tập liệu vật thể lớp cần nhận diện - Trong đồ án này, cần ảnh: vật thể cần nhận dạng: chìa khóa (key), chuột máy tính (mouse), thẻ sinh viên (card) ảnh trống (chỉ chứa mặt băng chuyền) Đặt ảnh vào folder khác nhau, tên folder nhãn tập liệu ảnh folder liệu tương ứng với nhãn Trích dẫn xử lý dữ liệu đầu vào b) Sau xác định model (VGG16), vấn đề cần phải đưa - liệu đầu vào với kích thước mà mơ hình mong muốn 224 x 224 Sau đó, hình ảnh cần phải convert sang Array ứng với nhãn mở rộng từ mảng chiều thành mảng chiều bao gồm: mẫu, hàng, cột, kênh có mẫu Các giá trị pixel cần thay đổi cách phù hợp với Model VGG Lúc lấy Đặc trưng Lúc ta có mảng numpy, mảng chứa Đặc trưng ảnh mảng chứa nhãn Chúng ta phải chuẩn hóa lại data mảng chứa Đặc trưng để thuận lợi cho việc tính tốn tăng tốc độ hội tụ Bước tiếp ta cần chỉnh sửa lại kích thước mảng với kích thước phù hợp để sử dụng với model SVM mà thư viện sklearn Python cung cấp Chúng ta lặp lại bước tương tự với liệu ảnh dùng để Test Và tất trình kết thúc, ta thu mảng numpy chiều: + listImages: data ảnh dùng để huấn luyện + test_data: data ảnh dùng để kiểm tra Nguyễn Tiến Văn, Huỳnh Hữu Phước, Trương Anh Vũ, Nguyễn Việt Cường 21 + labels: nhãn ứng với ảnh listImages c) Train dữ liệu Hình 16: Sơ đồ khối Train model nhận dạng vật thể 2.1.4 Quá trình nhận dạng vật thể: a) Dữ liệu cần được nhận dạng Ta nhận dạng vật thể camera chụp băng chuyền Camera chụp ảnh lưu vào thư mục output để xử lí b) Xử lý dữ liệu cần được nhận dạng Bước ta load ảnh từ thư mục output xử lí ảnh xử lí ảnh dùng để train Quá trình kết thúc ta thu mảng numpy chiều chứa đặc trưng ảnh chụp vật thể cần nhận dạng 22 Nhóm 29, lớp HP: 17Nh14 c) Sơ đờ khối trình nhận dạng Hình 17: Sơ đồ khối trình nhận diện 2.1.6 Kết quả đầu - Kết thu sau chạy chương trình Camera chụp ảnh có chứa vật sử dụng model huấn luyện để phân loại, khả nhận dạng Nguyễn Tiến Văn, Huỳnh Hữu Phước, Trương Anh Vũ, Nguyễn Việt Cường 23 cải thiện ảnh chụp có cùng điều kiện chụp (độ sáng, nền, ) giống với lúc chụp ảnh liệu Hình 18: Gửi tín hiệu đến băng chuyền Hình 19: Kết thu khơng có vật băng chuyền Hình 20: Kết thu phát chìa khóa Hình 21: Kết thu phát thẻ sinh viên 24 Nhóm 29, lớp HP: 17Nh14 Hình 22: Kết thu phát chuột 2.2 Firebase Realtime Database 2.2.1 Giới thiệu FireBase - Firebase dịch vụ sở liệu hoạt động tảng đám mây - cloud Kèm theo hệ thống máy chủ mạnh mẽ Google Chức giúp người dùng lập trình ứng dụng cách đơn giản hố thao tác với sở liệu Cụ thể giao diện lập trình ứng dụng API đơn giản Mục đích nhằm tăng số lượng người dùng thu nhiều lợi nhuận _ Trong đồ án này, nhóm sử dịch Firebase làm dịch vụ sở liệu thời gian thực lưu trữ thông tin bao gồm mã ID sinh lúc nhận diện vật thời gian mà hệ thống nhận diện vật Với khả đồng hoá liệu người dùng kể kết nối mạng giúp cho việc lưu trữ lấy liệu đồng thời trả kết xác 2.2.2 Cấu trúc của DataBase Nguyễn Tiến Văn, Huỳnh Hữu Phước, Trương Anh Vũ, Nguyễn Việt Cường Hình 23 : Cấu trúc Firebase Realtime Database III KẾT QUẢ A Các tính hệ thống Tên tính Mơ tả tính Phát nhận dạng vật Tương tác với Raspberry Pi để mở Camera thu nhận hình ảnh vật xử lý vật Thống kê vật Theo dõi số lượng, tên, ngày vật phân loại băng chuyền 25 26 Nhóm 29, lớp HP: 17Nh14 Kiểm tra có vật đưa vào băng chuyền có vật lạ Phân loại vật Sử dụng Servo G90 để đưa loại vật vừa phân lớp vào vị trí cố định Hiển thị thơng tin vật vừa nhận dạng Dựa vào kết thu từ tính phát nhận dạng vật kết hợp với số liệu thống kê từ Database giúp kiểm sốt viên nắm thơng tin ( Số lượng tổng, số lượng ngày, tên vật ) B Điều kiện kiểm thử Dữ liệu đầu vào - Các liệu huấn luyện để kiểm thử lấy từ Camera Logitech C310 - Độ phân giải ảnh: 720p/30fps - Kích thước ảnh: 1280 x 960 - Kích thước trung bình ảnh: - Kích thước tập + Tập huấn luyện: 200 - 300 vật + Tập kiểm thử: 25 cho vật thực điều kiện khác - Điều kiện tiến hành thử nghiệm Phần lớn độ xác hệ thống thuật toán phụ thuộc lớn vào điều kiện ánh sáng môi trường lúc lấy liệu huấn luyện lúc kiểm thử Do vậy, nhóm thực việc kiểm trử liệu môi trường: + Điều kiện sáng đầy đủ + Điều sáng sáng khơng đầy đủ + Điều kiện vật chiếm kích thước lớn so với khung ảnh + Điều kiện vật chiếm kích thước nhỏ so với khung ảnh Nguyễn Tiến Văn, Huỳnh Hữu Phước, Trương Anh Vũ, Nguyễn Việt Cường 27 C Quy trình kết quả kiểm thử - Quy trình Nhóm tiến hành kiểm thử hai điều kiện sáng khác nói với lớp đối tượng khác Một lớp đối tượng bao gồm vật có tập liệu hệ thống lấy ngẫu nhiên vật khơng có hệ thống Dựa vào kết thu này, ta thu độ xác model nhận dạng huấn luyện thực phân loại nhận dạng vật băng chuyền vật có hệ thống khơng có hệ thống Kết quả kiểm thử a) - Các vật có hệ thống Ma trận nhầm lẫn + Điều kiện sáng đầy đủ Keys Mouses Student_Card Nothing Unknown Keys 25 0 0 Mouses 13 0 17 Student_Card 0 25 0 Nothing 0 25 + Điều kiện thiếu ánh sáng Keys Mouses Student_Card Nothing Unknown Keys 25 0 0 Mouses 0 22 Student_Card 0 23 Nothing 0 25 28 Nhóm 29, lớp HP: 17Nh14 + Điều kiện vật chiếm diện tích lớn khung hình Keys Mouses Student_Card Nothing Unknown Keys 15 0 Mouses 0 22 Student_Card 0 24 Nothing 0 25 + Điều kiện vật chiếm diện tích nhỏ khung hình Keys Mouses Student_Card Nothing Unknown Keys 23 0 Mouses 0 16 Student_Card 0 25 0 Nothing 0 25 - Đợ xác của hệ thống Đầy đủ ánh sáng Tập liệu có hệ 88% Thiếu anh sáng 76% thống Vật chiếm kích thước nho Vật chiếm kích thước lớn Tập liệu có hệ 82% thống 44% Nguyễn Tiến Văn, Huỳnh Hữu Phước, Trương Anh Vũ, Nguyễn Việt Cường b) - 29 Các vật hệ thống Ma trận nhầm lẫn + Điều kiện sáng đầy đủ Keys Mouses Student_Card Nothing Unknown Unknown 0 0 25 Unknown2 0 25 Unknown3 0 25 Unknown4 0 20 Unknown5 0 20 + Điều kiện thiếu ánh sáng Keys Mouses Student_Card Nothing Unknown Unknown 0 20 Unknown2 0 20 Unknown3 0 0 25 Unknown4 0 0 25 Unknown5 0 20 + Điều kiện vật chiếm kích thước lớn khung hình Keys Mouses Student_Card Nothing Unknown 30 Nhóm 29, lớp HP: 17Nh14 Unknown 0 0 Unknown2 0 20 20 Unknown3 0 25 25 Unknown4 0 25 25 Unknown5 0 23 + Điều kiện vật chiếm kích thước nhỏ khung hình Keys Mouses Student_Card Nothing Unknown Unknown 0 0 25 Unknown2 0 16 Unknown3 0 0 25 Unknown4 0 0 25 Unknown5 0 10 10 - Đợ xác của hệ thống Đầy đủ ánh sáng Tập liệu khơng có 40% Thiếu ánh sáng 91.6% hệ thống Vật chiếm kích thước lớn Tập liệu khơng có 74.4% hệ thống Vật chiếm kích thước nho 80% Nguyễn Tiến Văn, Huỳnh Hữu Phước, Trương Anh Vũ, Nguyễn Việt Cường 31 32 Nhóm 29, lớp HP: 17Nh14 D Đánh giá hệ thống Độ xác - + Tập liệu nằm hệ thống: Bị ảnh hưởng nhiều ánh sáng kích thước nằm khung ảnh vật Đối với ánh sáng bình thường, tỉ lệ phần trăm nhận dạng vật tương đối cao (Trên 80%) Đối với môi trường ánh sáng lớn khả nhận diện bị giảm đáng kể Đối với môi trường thiếu ánh sáng khả nhận dạng khơng khác nhiều mơi trường ánh sáng bình thường (Trừ vật có độ tương phản cao tập liệu) Tập liệu nằm hệ thống: Hầu hết vật không nhận dạng được, + đánh giá khơng có băng chuyền (đối với vật nhỏ so với khung hình) - Độ ổn định: Vì chương trình nhận dạng hình ảnh vật (5 hình vật) nên thời gian để nhận dạng vật thấp (Khoảng giây hình) Ngồi ra, việc xử lý sở liệu nằm hệ thống nên giảm thiểu nhiều thời gian chạy chương trình Chỉ thời gian lấy liệu để hiển thị lên LCD - Tính mở rộng: Hệ thống mở rộng lên cấp cao cho phép người quản lý quản lý huấn luyện model với lượng liệu đa dạng Ngồi ra, hệ thống lắp ráp thêm nhiều hệ thống khác robot gắp vật, … Nguyễn Tiến Văn, Huỳnh Hữu Phước, Trương Anh Vũ, Nguyễn Việt Cường 33 IV KẾT LUẬN Qua trình làm việc nghiên cứu thuật tốn Nhóm rút kết luận sau: • Độ xác thuật tốn cịn phụ thuộc vào nhiều yếu tố sau: Lượng liệu thu thập vật chưa đa dạng mặt chất lượng Số lượng - hình ảnh huấn luyện cho thuật toán thực việc nhận dạng vật giống chung điều kiện môi trường Ánh sáng,màu sắc kích thước ảnh so với khung hình yếu tố - quan trọng ảnh hưởng đến độ xác vật Ngồi liệu đầu vào không đa dạng ảnh hưởng không nhỏ đến hệ thống, khiến hệ thống xảy sai sót lúc nhận dạng mơi trường thay đổi Thuật toán nhận diện chạy ổn định Raspberry Pi lại - nhiều thời gian cho việc nhận diện vật, làm chậm hệ thống Về hướng phát triển tương lai: • Về phần cứng Khả xử lý Raspberry Pi hạn chế cho thuật toán nhận - diện hay thuật tốn học sâu khác, gây q tải cho phần cứng Nhóm mong muốn triển khai máy tính nhúng hay hệ thống khác để tận dụng hết khả thuật toán tăng tốc độ xử lý thuật toán Cần thêm cảm ứng siêu âm để nhận biết có vật băng chuyền hay - khơng xử lý thuật tốn phần giảm độ xác hệ thống - Phát triển thêm robot để tự gắp vật bỏ vào băng chuyền khơng làm thủ cơng • Về phần mềm: - Thay thuật toán nhận diện thành thuật tốn khác có khả xử lý nhanh với độ xác cao 34 Nhóm 29, lớp HP: 17Nh14 - Thay từ xử lý hình ảnh thành xử lý video thời gian thực Hiện việc cài đặt xử lý video theo thời gian thực Raspberry Pi gần việc tiêu tốn lượng lớn tài nguyên mà Pi đáp ứng - Tăng liệu ảnh, thu thập thêm liệu làm cho liệu đa dạng hơn, thu thập điều kiện khác để mở rộng việc nhận dạng cách đa dạng V TÀI LIỆU THAM KHẢO [1]Link:https://mlab.vn/index.php?_route_=11025-raspberry-pi-la-gi-gioi-thieu-cac-ungdung-cua-raspberry-pi-3.html [2] Beginning Arduino - Michael McRoberts [3] Bài giảng Hệ thống nhúng - Khoa CNTT - ĐHBK Đà Nẵng [4]Link:https://maker.pro/raspberry-pi/tutorial/what-micro-sd-card-is-best-for-a-raspberrypi-4 [5]Link:https://machinelearningcoban.com/general/2017/02/06/featureengineering/ [6]Link:https://forum.machinelearningcoban.com/t/kien-truc-cac-mang-cnn-noi-tieng-phan1-alex-lenet-inception-vgg/2582 [7]Link:https://viblo.asia/p/gioi-thieu-ve-cac-pre-trained-models-trong-linh-vuc-computervision-3Q75wB1GlWb [8]Link:https://deepai.org/machine-learning-glossary-and-terms/feature-extraction [9]Link:https://towardsdatascience.com/support-vector-machine-introduction-to-machinelearning-algorithms-934a444fca47 [10]Link:https://machinelearningcoban.com/2017/04/09/smv/#-xay-dung-bai-toan-toi-uucho-svm [11]Link: http://arduino.vn/bai-viet/181-gioi-thieu-servo-sg90-va-cach-dieu-khien-bangbien-tro

Ngày đăng: 19/08/2020, 08:51

TỪ KHÓA LIÊN QUAN

w