CHƯƠNG 1: TỔNG QUAN Trình bày các cơ sở lý thuyết để thực hiện đề tài như xử lý ảnh, mạng máy tính YoloV4 và giới thiệu các linh kiện, thiết bị sử dụng trong hệ thống. Chương 3: Tính toán và thiết kế hệ thông. Thiết kế sơ đồ khối của hệ thống, đưa ra sơ đồ nguyên lý, sơ đồ kết nối của các khối và thực hiện tính toán. Thiết kế giao diện, mạng máy tính.
Chương 4: Thi công hệ thống Trình bày quá trình thiết kế mô hình hệ thống, vẽ lưu đồ giải thuật và viết chương trình điều khiển. Chương 5: Kết quả, nhận xét, đánh giá Đưa ra những kết quả đạt được về kiến thức, mô hình thi công và hiệu suất đạt được của hệ thống. Rút ra nhận xét, đánh giá kết quả đạt được so mới mục tiêu đề ra. Chương 6 kết luận và hướng phát triển Đưa ra những kết luận về những ưu điểm, nhược điểm của hệ thống và đề ra hướng phát triển cho đề tài.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Các mô hình và hệ thống băng chuyền Với những phát triển tích cực cuộc sống cũng như quy trình vận hành sản xuất đã thúc đẩy những những nghiên cứu mới của khoa học và kỹ thuật. Xử lý ảnh được dùng trong hầu hết các ứng dụng trong băng chuyền nhà máy đặc biệt là khâu phân loại sản phẩm. Giúp phân tích được cấu tạo bên ngoài từ những hình ảnh thu được từ camera và được xử lý thông tin chính xác bằng nhưng hình ảnh đã được phân tích và sao chép dữ liệu trước đó. Điều đó hướng chúng ta đến với sự công nghệ hóa và hiện đại hóa.
Mô hình sử dụng board Arduino Uno R3 để làm bộ điều khiển trung tâm. Sử dụng Camera để lấy hình ảnh từ băng chuyền đưa về máy tính để xử lý thông tin sau đó được truyền lại cho Arduino để điều khiển servo để phân loại sản dựa trên hình thống tin lấy được dựa trên hình ảnh đã được học trước đó để phân loại 2.2 Phân loại sản phẩm Với phương pháp phân loại thủ công trước đây, để phân loại được 1 sản phẩm lỗi ta cần một đến hai nhân công chịu trách nhiệm về chất lượng của hàng hóa ví dụ như một người phân loại sản phẩm lỗi hoặc không lỗi, người tiếp theo sẽ phân loại lỗi sản phẩm dẫn đến quy trình vận hành của khâu khá phức tạp. Ngoài ra, chính xác và tốc độ còn bị ảnh hưởng bởi con người. Trung bình người nhìn bằng mắt thường sẽ từ một đến hai giấy ta có thể nhận biết được sản phẩm lỗi hay không sau đó sẽ phân loại chúng.
Còn về việc xử lý thông tin tự động hóa ta có thẻ tiết kiệm được nhân công và xử lý thông tin nhanh hơn tốc độ sản xuất cũng có thể nâng cao hơn. Việc thiết kế mô hình cho hệ thống phân loại phụ thuộc vào sản phẩm cần phân loại. Ở đề tài “Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm” của Nguyễn Hiền Minh, Phan Thanh Phong năm 2019 [2] phân loại các sản phẩm theo màu sắc đỏ xanh vàng dựa trên ngôn ngữ Python với thư viện chính là OpenCV và được thực hiện trên Kit Raspberry và Kit Arduino Uno R3. Sử dụng điểm riêng biệt của từng màu sắc để có thể nhận dạng và sau đó phân loại từng sản phẩm.
Ngoài ra với một thiết kế khác “Ứng dụng xử lý ảnh trong hệ thống băng truyền phân loại sản phẩm” của Lê Thanh Phong, Đặng Hoài Vũ [3] phân loại các sản phẩm theo hình dạng thông qua quá xử lý trên máy tính, điều khiển bằng Kit Arduino Uno bằng ngôn ngữ Python. Sử dụng đông cơ Servo để làm tay gạt sản phẩm sau khi nhận tín hiệu từ Camera đã được xử lý thông qua bộ xử lý trung tâm là máy tính. Giới thiệu về OpenCV BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 4 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Sau khi thu thập được hình ảnh từ camera để được thực hiện yêu cầu xử lý ảnh ta cần sử dụng thư viên chuyển phân tích và xử lý dữ liệu hình ảnh. Từ đề tài “ Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm” [3] tác giả đã sử dụng thư viện OpenCV để nhận dạng về màu sắc, để phân biệt màu sắc người thường dùng không gian màu HSV.
Và dùng hàm cv2.cvtColor để thực hiện chuyển đổi giữa các hệ màu này. Cần chuyển từ RGB sang HSV, sau đó từ các giá trị HSV của các màu mong muốn sẽ so sánh để xác định được ảnh đang xét có màu gì hsv_img=cv2.cvtColor(img, cv2,COLOR_BGR2HSV) Với khả năng ứng của OpenCV mang lại ta có thể sử dụng nó để áp dụng vào đề của mình. Từ các hình ảnh được đã được huấn luyện trước đó ta có thể so sánh với hình ảnh được thu thập từ camera để phát hiện nhãn chai có lỗi hay không. OpenCV (Open Copmputer Vision) là một thư viện mã nguồn mở hàng đầu xử lý về thị giác máy tính, machine learning, xử lý ảnh.
OpenCV được viết bằng C/C++, vì vậy tốc độ tính toán rất nhanh, có thể sử dụng với các ứng dụng liên quan đến thời gian thực. OpenCV có thể hỗ trợ cho C/C++, Python Java vì vậy hỗ trợ được cho Window, Linux, MacOs lẫn Android, iOS. OpenCV có cộng đồng hơn 47 nghìn người dùng và số lượng Dowload vượt quá 6 triệu lần và vẫn mở rộng. OpenCV có rất nhiều ứng dụng như: • Nhận dạng ảnh.
• Xử lý hình ảnh. • Phục hổi hình ảnh/video. • Thực tế ảo. Opencv vẫn đang được đóng góp và phát triển liên tục, nó đặt biệt phù hợp cho những ứng dụng xử lý hỉnh ảnh đơn giản vì thư viện dễ sử dụng và nhiều hỗ trợ từ cộng đồng.3 Mô hình mạng huấn luyện ảnh Huyến luyện ảnh là hình thức thu thập tập hình ảnh bảo của sản phẩm trên mô hình thực tế, từ đó huấn luyện ảnh thông qua bất kì một mô hình mạng nào đó.
Yolo được viết tắt của cụm từ “you only look once”, tức là chỉ cần nhìn một lần, điều đó chứng minh được hiệu quả và tốc độ xử lý của Yolo khi sử dụng trong bài toán. Yolo có thể nhận diện được nhiều nhãn khác nhau mà còn xác định được vị trí trong một khung hình. Đồng thời Yolo được đánh giá là “Không phải mô hình chính xác nhất nhưng chắc chắn là mô hình nhanh nhất” Yolo là một mô hình mạng CNN cho việc phát hiện, nhận dạng, phân loại đối tượng. Yolo được tạo ra từ việc kết hợp các “convolutional layer” và “connected BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 5 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT layers”.
Trong đó các convolution layers sẽ được trích dẫn từ các đặc tính của ảnh. Phương pháp chính dựa trên một mạng neutural network duy nhất được huấn luyện dạng end-to-end model. Mô hình lấy input là một bức ảnh và dự đoán bounding box và nhãn lớp cho mỗi bounding box. Yolo được áp dụng vào sử dụng các bài toán object detection – có thể nhận diện được vật thể ngay khi vẫn di chuyện trong khung hình.
Vì thế khi ta đưa vào đề tài bài toán “nhận biết nhãn chai bị lỗi” khi chai trên băng truyền đi qua buồng sẽ được lưu lại hình ảnh với tốc độ cao và xử lý chúng theo yêu cầu của bài toán.1: Minh hoạ về Bounding box Bounding box sẽ là một khung viền bao quanh vật thể với 4 thông tin tọa: điểm trên cùng (x, y), chiều cao(width), chiều rộng(height).4 Giới thiệu phần cứng 2.1 Vi điều khiển Hiện nay Arduino được biết đến rất rộng rãi ở Việt Nam. Từ học sinh trung, đến sinh viên hay người đi làm đều sử dụng. Những dự án nhỏ, lớn đều được thực hiện một cách rất nhanh, các mã nguồn mở được chia sẻ rất nhiều trên các diễn đàn trong và ngoài nước. Trên thị có rất nhiều phiên bản Arduino như Arduino Uno R3, Arduino Uno R3 CH340, Mega2560, Nano, Arduino Pro Mini.
Trong đó các đề tài [1-3] cũng áp dụng và sử Arduino để làm bộ xử lý trung tâm cho đề tài của họ. Cụ thể trong đề tài [2] sử dụng Arduino để điều khiển các ngoại vi như động cơ DC, Servo, màn hình LCD đồng thời kết nối Rasberry bi qua chuẩn giao tiếp UART. Theo như yêu của hệ thống và tham khảo khảo của các đề tài trước đó, tôi lựa chọn board Arduino Uno R3 bởi sự linh hoạt và giá thành phù hợp. Arduino Uno R3 là một board vi mạch được phát triển bởi Arduino.cc, một nền tảng điện tử mã nguồn mở chủ yếu dựa trên vi điều khiển AVR Atmega328P.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 6 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Arduino được kết nối với máy tính thông quá USB để giao tiếp với phần mềm Arduino IDE, phù hợp với Window, Mac và cả Linux Systems, nhưng Window vẫn được đánh giá cao hơn đối với người dùng. Để viết được chương trình cho hệ thống điều khiển trong IDE cần sử ngôn C hoặc C++. Khi sử dụng USB có thể cấp nguồn cho vi điều khiển hoặc sử dụng nguồn điện ngoài.2 Động cơ servo Quá trình nền sản xuất công nghiệp phát triển đi đôi với sự phát triền của các hệ thống điều khiển. Công nghệ ngày càng hiện đại đỏi hỏi các hệ thống điều khiển ngày càng phải tinh vi hơn, chính xác hơn và có thể đáp ứng nhanh hơn để đảm bảo được quá trình sản xuất hiệu quả đạt tối đa.
Từ những yêu cầu trên, các nhà máy sản xuất tự động đã chuyển từ máy móc lạc hậu và phương thức điều khiển, vẫn hành cũ sang Robot, CNC,… đang dần thay thế các laoij máy móc lạc hậu và phương thức điều khiển, vận hành cũ. Xu hướng này kéo theo nhu cầu sử dụng Servo trong điều khiển tự động ngày càng phát triền. Phần lớn các đề tài đã tham khảo trước đó, các nhóm đều sử dụng Servo để gạt sản phẩm như bút chì theo màu sắc [1], phân loại trái cây [4-5], đai ốc [6]. Vì thế mà Servo MG996R sẽ là sự lựa chọn an toàn, phù hợp nhất cho đề tài Phân loại chai bị lỗi tem nhãn.3 Giao tiếp UART UART ( universal Asynchronous Receiver – Transmitter- bộ truyền nhận dữ liệu nối tiếp bất đồng bộ) là một trong những giao thức truyền thống giữa thiết bị được sử dụng nhiều nhất.
Trong đề tài “ Ứng dụng xử lý ảnh trong hệ thống phân loại” của Nguyễn Hiền Minh, Phan Thanh Phong thực hiện nằm 2019 [2] sử dụng Rasberry Pi và Arduino truyền nhận dữ liệu bằng giao tiếp UART (hay còn được biết đến với tên gọi là Serial) thông qua 2 chân Rx và Tx. Raspberry sẽ thực hiện quá trình xử lý ảnh và gửi liên kết nhận dạng đến Arduino.