Đối với Việt Nam, cùng với quá trình đổi mới, việc thực hiện các chủ trương, đường lối về công nghiệp hóa, hiện đại hóa đã góp phần quan trọng trong quá trình phát triển, đưa đất nước th
Trang 1ĐẠ I H C BÁCH KHOA HÀ N I Ọ Ộ
BÀI T P L Ậ ỚN
Xây dựng chương trình giao tiếp với hệ cơ
điệ n t ng dụng x lý ảnh ử ứ ử
NHÓM 19
Trường Cơ Khí
Giảng viên hướng dẫn: TS Nguy n Thành Hùng ễ
Sinh viên: Lương Văn Sơn
Bùi Hoàng Anh Trịnh Thị Thu Uyên
MSSV: 20184606 MSSV: 20184335 MSSV: 20184668
HÀ N I, 2/2022Ộ
Trang 2Đánh giá của giảng viên hướng d ẫn
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
K t qu ế ả đánh giá Hà N i, ngày 19 tháng 2 ộ năm 2022 Giảng viên hướng d n ẫ Nguy n Thành Hùng ễ Họ và tên Điểm
Lương Văn
Sơn
Bùi Hoàng
Anh
Trịnh Thị Thu
Uyên
Trang 3MỤC LỤC
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 Giới thiệu chung 1
1.2 Nguyên lý hoạt động của hệ thống 1
1.3 Các thành phần cơ bản của hệ thống 2
CHƯƠNG 2 THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN 6
2.1 Thuật toán xử lý ảnh 6
2.2 Thiết kế giao diện 8
CHƯƠNG 3 MÔ HÌNH THỰC NGHIỆM VÀ PHÂN TÍCH 9
3.1 Mô hình dự kiến 9
3.2 Mô hình và kết quả thực nghiệm thực nghiệm 9
3.3 Thảo luận kết quả thực nghiệm 12
CHƯƠNG 4 KẾT LUẬN 13
4.1 Kết luận 13
4.2 Hướng phát triển của đề tài trong tương lai 13
REFERENCES 14
Trang 41
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu chung
Hiện nay, cách mạng công nghiệp 4.0 đưa tới nền kinh tế thông minh và đang phát triển rất mạnh mẽ, tạo cơ hội phát triển cho mọi quốc gia, nhất là các nước đang phát triển Đây sẽ là bước ngoặt, bước tiến lớn trong lịch sử phát triển của nhân loại Việc ứng dụng khoa học kỹ thuật vào các lĩnh vực kinh tế và đời sống đang ngày càng rộng rãi, phổ biến mang lại hiệu quả cao
Đối với Việt Nam, cùng với quá trình đổi mới, việc thực hiện các chủ trương, đường lối về công nghiệp hóa, hiện đại hóa đã góp phần quan trọng trong quá trình phát triển, đưa đất nước thoát nghèo và lạc hậu, nâng cao mức sống của người dân.Quá trình công nghiệp hóa, hiện đại hóa chuyển đổi căn bản, toàn diện các hoạt động sản xuất, kinh doanh, dịch vụ và quản lí kinh tế xã hội, từ sử dụng sức lao động thủ công là chính sang sử dụng một cách phổ biến sức lao động với công nghệ, phương tiện, phương pháp tiên tiến hiện đại, dựa trên sự phát triển của công nghiệp và tiến bộ khoa học – công nghệ, tạo ra năng suất lao động xã hội cao Quá trình này dẫn đến việc hình thành các hệ thống tự động sản xuất linh hoạt và tính chuyên biệt trong các thành phần của hệ thống dần dần được nâng cao, cải tiến Trong đó , ứng dụng xử lý ảnh để phân loại sản phẩm đang ngày càng phát triển Nó khắc phục được rất nhiều hạn chế so với việc sử dụng con người để phân loại vì có rất nhiều ưu điểm như có thể hoạt động trong quá trình lâu dài, liên tục và ít sai sót Do đó dựa trên nền tảng kiến thức đã học trong môn
Xử lý ảnh và sự hướng dẫn của thầy Nguyễn Thanh Hưng , nhóm em đã làm đề tài về : “Ứng dụng của hệ thống xử lý ảnh trong hệ thống phân loại pin”
1.2 Nguyên lý hoạt động của hệ thống
Pin được đưa vào trong module nhận diện thông qua băng tải của hệ thống Tại đây module xử lý ảnh có nhiệm vụ chụp và xử lý ảnh qua các cộng đoạn như tiền xử lý (làm mịn ảnh, … ), nhận diện màu sắc, hình dáng Qua các kết quả xử
lý được gửi thông tin về cho bộ điều khiển
Dựa vào các thông tin đầu vào từ module xử lý ảnh, bộ điều khiển đưa ra tín hiệu điều khiển cho các cơ quan chấp hành thực hiện phân loại sản phẩm
Trang 52
1.3 Các thành phần cơ bản của hệ thống
1.3.1 Ph n c ng ầ ứ
Giới thiệu các thành phần cơ bản của hệ thống và các thông số chính 1.3.1.1 Module nhận diện
a Hệ thống thu nhận ảnh:
Là hệ thống có chức năng tiếp nhận hình ảnh và chuyển hình ảnh thành các tín hiệu mà hệ thống điều khiển có thể xử lý được
Camera công nghiệp
b Hệ thống chiếu sáng:
Hệ thống chiếu sáng sử dụng với mục đích đảm bảo hình ảnh của đối tượng cần kiểm tra thể hiện được các đặc điểm mong muốn và điều kiện chiếu sáng đó phải được duy trì không đổi cho các lần kiểm tra khác, thậm chí khi môi trường sáng xung quanh thay đổi
Led chiếu sáng
1.3.1.2 Cơ cấu chấp hành
a Động cơ servo
Đây chính là một loại động cơ chuyên dùng, chúng được sử dụng để cung cấp cơ năng cho một số thiết bị, dây chuyền hay cơ cấu hoạt động nào đó trong quy trình
Trang 63
sản xuất và chế tạo Chúng có nhiệm vụ chủ yếu là đầu tàu cung cấp lực kéo cho các dây chuyền hay các cơ cấu khác được hoạt động theo
Động cơ servo
b Băng chuyền
Là thiết bị dùng để vận chuyển vật liệu hàng hóa từ vị trí này đến vị trí kia
Băng chuyền 1.3.1.3 Mạch điều khiển
Arduino Uno R3 : Arduino UNO R3 là kit Arduino UNO thế hệ thứ 3, với khả năng lập trình cho các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh cho các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C)
Trang 74
1.3.2 Ph n m m ầ ề
1.3.2.1 Visual Studio
Microsoft Visual Studio là một môi trường phát
triển tích hợp (IDE) từ Microsoft Microsoft
Visual Studio còn được gọi là "Trình soạn thảo mã
nhiều người sử dụng nhất thế giới ", được dùng để
lập trình C++ và là chính Nó được sử dụng để
phát triển chương trình máy tính cho Microsoft
Windows, cũng như các trang web, các ứng dụng
web và các dịch vụ web Visual Studio sử dụng
nền tảng phát triển phần mềm của Microsoft như
Windows API, Windows Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight Nó có thể sản xuất cả hai ngôn ngữ máy và mã số quản lý
1.3.2.2 Arduino IDE
Đây là một phần mềm chính thức được giới
thiệu bởi Arduino.cc, chủ yếu được sử dụng để
viết, biên dịch và tải mã vào trong thiết bị
Arduino Hầu hết tất cả các module Arduino
đều tương thích với phần mềm này Nó là một
mã nguồn mở để cài đặt và biên dịch mã
Trong bài viết này Điện Tử Tương Lai sẽ giới
thiệu về phần mềm, cách cài đặt và chuẩn bị sẵn sàng cho module Arduino 1.3.2.3 Thư viện Open CV
Project OpenCV được bắt đầu từ Intel năm 1999 bởi Gary Bradsky OpenCV viết tắt cho Open Source Computer Vision Library OpenCV là thư viện nguồn mở
Trang 85
hàng đầu cho Computer Vision và Machine Learning, và hiện có thêm tính năng tăng tốc GPU cho các hoạt động theo real-time
OpenCV được phát hành theo giấy phép BSD, do đó nó miễn phí cho cả học tập và sử dụng với mục đích thương mại Nó có trên các giao diện C++, C, Python
và Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android OpenCV được thiết kế để hỗ trợ hiệu quả về tính toán và chuyên dùng cho các ứng dụng real-time (thời gian thực) Nếu được viết trên C/C++ tối ưu, thư
viện này có thể tận dụng được bộ xử lý đa lõi (multi -core processing)
Trang 96
CHƯƠNG 2 THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN
2.1 Thuật toán xử lý ảnh
a) Lưu đồ thuật toán trên máy tính
Trang 107
Mô tả sơ đồ:
Trong chương trình nhận diện pin và gửi tín hiệu về arduino
- Đầu tiên chương trình cần phải khai báo các thư viện cần dùng, ở đây là OpenCv, Iostream, String và một số thư viện khác Cùng với đó là các thông
số khởi tạo như là màu sắc, kích thước của từng loại pin
- Sau đó là viết các câu lệnh để thực hiện lấy ảnh từ camera
- Ảnh sau khi lấy được chuyển sang không gian màu HSV
- Ảnh HSV được xử lý như là cân bằng histogram, cắt vùng có pin để hạn chế
đi các nhiễu từ môi trường
- Sau đó, ảnh được so sánh với các bộ giá trị Max, Min của thông số màu H,S,V
+ Nếu giá trị nằm trong khoảng [Min* , Max*] thì vật thể được tách ra và tính toán kích thước, giá trị kích thước đó nằm trong khoảng [MinS_*, MaxS_* ] thì chương trình gửi tín hiệu cho arduino và kết thúc
+ Nếu giá trị không nằm trong khoảng [Min* , Max*] thì chương trình sẽ gửi tín hiệu không xác định cho arduino
b) Lưu đồ thuật toán trên arduino
Mô tả sơ đồ
- Arduino nhận tín hiệu từ chương trình trên máy tính
- Đem tín hiệu đó đi so sánh với các tín hiệu được qui định sẵn cho các loại pin
- Nếu tín hiệu đó trùng với tín hiệu pin lipo thì bật đèn đỏ, trùng với pin Lipo nhỏ thì bật đèn vàng, trùng với pin Lion thì bật đèn xanh, còn nếu không trùng thì bật đèn trắng
Trang 118
2.2 Thiết kế giao diện
Giao diện được thiết kế trên CLI C++ với các chức năng chính bao gồm Phần điều khiển hệ thống: Sẽ cho phép ta bật tắt hệ thống dùng để khởi động quá trình x lý nh, phân lo i s n ph m và g i d liử ả ạ ả ẩ ử ữ ệu đến Arduino
Phần hi n thể ị số lượng các lo i pin: D li u sạ ữ ệ ẽ được g i t quá trình x lý nh ử ừ ử ả đến phần này để thông báo loại pin
Phần giao ti p v i arduino bao g m vi c thi t tế ớ ồ ệ ế ốc độ truy n nh n d li u, c ng ề ậ ữ ệ ổ COM và đóng mở kết nối arduino
Trang 129
CHƯƠNG 3 MÔ HÌNH THỰC NGHIỆM VÀ PHÂN TÍCH
3.1 Mô hình dự kiến
- Tìm hiểu nghiên cứu các giải thuật xử lý ảnh, môi trường để thực hiện xử
lý ảnh( đảm bảo độ sáng, lọc nhiễu, )
- Tiếp cận, sử dụng ngôn ngữ lập trình C++ , sử dụng công cụ hỗ trợ OpenCV, công cụ hỗ trợ tạo giao diện Windownform
- Xây dựng hệ thống có khả năng phân loại pin theo kích thước
3.2 Mô hình và kết quả thực nghiệm thực nghiệm
Trang 1310
Sau khi hoàn thành lắp ráp mạch điều khiển, các modul, tiến hành bố trí ta thu được hình ảnh như trên
Mô hình thực nghiệm
Hệ thống chiếu sáng
Trang 1411
Bên trong các hệ thống điều khiển gồm có: Modul nhận diện, modul điều khiển arduino, và hệ thống đèn led
- Hệ thống tiến hành xử lý đưa ra kết luận về kích thước, sau khi có kết quả của quá trình xử lý ảnh được đọc từ bộ xử lý trung tâm sẽ quyết định pin thuộc loại nào theo lưu đồ của chương trình
Kết quả thực nghiệm
Trong quá trình thực nghiệm, nhận thấy sau khi phân ngưỡng thì ảnh vật thể thu được xuất hiện các
lỗ hổng (ảnh bên trái) Vì vậy, chúng em sử dụng các thêm các biện pháp xử lý hình thái học và thu được ảnh như hình bên phải
Trang 1512
3.3 Thảo luận kết quả thực nghiệm
Nhóm đã đạt được mục tiêu đề ra, phân loại thành công các loại pin phổ biến trên thị trường hiện này:
- Làm quen với hệ điều hành arduno,…
- Thành thạo ngôn ngũ C++, thư viện OpenCV, hoàn thiện các thuật toán đáp ứng yêu cầu đề ra
- Sau nhiều lần thực nghiệm mô hình nhóm thiết kế tương đối ổn định, thời gian đọc giá trị nhanh chóng, loại bỏ nhiễu tốt trong môi trường ổn định
- Đây là lần đầu nhóm thực hiện mô hình nên còn nhiều thiếu xót, cũng như chưa hoàn thiện các thiết bị về hệ thống cơ khí, kết nối các thiết bị,
Trang 1613
CHƯƠNG 4 KẾT LUẬN
4.1 Kết luận
Sau thời gian nghiên cứu đưới sự hướng dẫn của thầy Nguyễn Thành Hùng hệ thống đã đáp ứng các yêu cầu đề ra Các khối chức năng hoạt động đúng, đảm bảo cập nhật chính xác, hệ thống chạy ổn định trong thời gian dài không phát sinh lỗi Phân biệt được 3 loại pin là pin Lipo lơn, pin Lipo nhỏ và pin Li-on
Hệ thống thu được k t qu vế ả ới độ chính xác cao nhưng vẫn chưa xử lý được h t ế các nhiễu do môi trường xung quanh gây nên Nhu c u thu gom và phân lo i rác ầ ạ thải pin đang ngày càng cấp thiết, hệ thống này tuy còn sơ khai nhưng là bước đầu để xây dựng nên một hệ thống phân loại pin hoàn chỉnh với cấp độ phân loại cao và nhiều loại pin hơn
Ưu điểm của sản phẩm:
- Giá thành thấp phù hợp cho thương mại hóa sản phẩm
- Tính an toàn cao, thân thiện với môi trường
- Kích thước nhỏ gọn, dễ lắp đặt
- Độ chính xác cao trong môi trường ổn định
- Dễ dàng nghiên cứu và mở rộng thêm
- Phân loại nhanh chóng, thuận tiện cho công nghiệp hóa
Nhược điểm của sản phẩm:
- Thiết bị chưa ổn định trong môi trường trong các môi trường ánh sáng khác nhau
- Chưa kết nối được nhiều thiết bị
- Hệ thống cơ khí chưa được triển khai, còn nhiều hạn chế đặc biệt mặt thẩm mỹ
- Chưa có tính bảo mật cao
4.2 Hướng phát triển của đề tài trong tương lai
- Xử lý nhiễu với các luồng sáng khác nhau
- Nhận biết nhiều loại pin đặc biệt hơn trên thị trường
- Thiết kế hệ thống cơ khí, băng truyền cho toàn bộ hệ thống
- Phát triển, kết hợp với các kết nối TIA Portal và NX để hoàn thiện hệ thống
- Tìm hiểu áp dụng các hệ thống xi lanh, xi lanh khí nén giúp hệ thống nhanh gọn và chính xác
- Xử dụng các công nghệ học sâu như YOLO, CNN, để nâng cao độ chính xác và khả năng phân biệt được nhiều loại pin cho hệ thống
Trang 1714
REFERENCES https://www.youtube.com/watch?v=2FYm3GOonhk&t=12882s
Slide bài giảng
https://opencv.org/
“Ung dung xu ly anh trong thuc te voi thu vien OpenCV”