Xử lý ảnh LabVIEW

Một phần của tài liệu Nghiên cứu thiết kế hệ thống nhận dạng chai bị lỗi trong dây chuyền sản xuất beer (Trang 84)

4.2.1 Tng quan v xnh

Trong những năm gần đây, với sự phát triển của phần cứng máy tính làm cho bộ nhớ máy tính có dung lượng lớn hơn, tốc độ của chip vi xử lý nhanh hơn, đã cho phép các ứng dụng đồ họa phát triển mạnh mẽ và có nhiều ứng dụng trong cuộc sống. Trong đó, xử lý ảnh là một trong những công cụ phát triển rất nhanh do nhu cầu ứng dụng trong công nghiệp.

Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn. Kết quảđầu ra của một quá trình xử lý ảnh có thể là một ảnh tốt hơn hoặc một kết luận.

Hình 4.23 :Sơđồ quá trình xnh

Tùy vào mục đích thực hiện mà kết quả xử lý ảnh là khác nhau. Trong xử lý

ảnh nghệ thuật, kết quả là một ảnh mới có nhiều cải thiện về chất lượng, độ sáng, độ

rõ nét…, trong công nghiệp, người ta sử dụng xử lý ảnh đểđưa ra một kết luận đối với ảnh thu được nhằm xuất tín hiệu điều khiển sang cơ cấu chấp hành.

Trong sơ đồ hình 3, quá trình lấy ảnh được thực hiện thông qua thiết bị thu nhận ảnh (camera, webcam, máy quét ảnh…), sau đó ảnh này được đưa lên máy tính và thực hiện quá trình xử lý. Quá trình xử lý bao gồm: tiền xử lý: là bước sơ

chế, cải thiện chất lượng ảnh đầu vào, nhằm làm nổi bật lên đặc điểm đặc trưng của

ảnh; trích chọn đặc điểm: là bước lấy ra các đặc điểm đặc bề ngoài trưng nhất của

ảnh để xử lý (hình dạng, màu sắc, kích thước, dấu vết, chữ viết trên sản phẩm…); hậu xử lý: là bước gán giá trị cho ảnh do người lập trình quy định để đưa ra kết quả

là kết luận (đúng, sai, tốt, xấu, loại A,B,C…).

Xử lý ảnh trong công nghiệp ngày nay được ứng dụng nhiều trong lĩnh vực quản lý chất lượng, phân loại sản phẩm và điều khiển thông minh. Do yêu cầu vềđộ

chính xác của chi tiết gia công ngày càng trở nên khắt khe nên những vết lỗi nhỏ

trên sản phẩm cũng làm cho sản phẩm thành phế phẩm. Hơn nữa tốc độ sản xuất trong công nghiệp đòi hỏi nhanh để nâng cao năng suất nên không thể nhận dạng bằng mắt thường.

Mặt khác, chi phí để thực hiện xử lý ảnh thông thường không cao, chỉ với một chiếc webcam giá rẻ, người sử dụng có thể tự tạo cho mình nhiều ứng dụng khác nhau. Robot tự hành, một sản phẩm của hocdelamgroup là một sản phẩm ứng dụng xử lý ảnh bằng LabVIEW điều khiển xe mô hình có khả năng tự tránh vật cản chỉ

bằng webcam của laptop.

4.2.2 Xnh LabVIEW

Trong mảng xử lý ảnh, hãng National Instruments cung cấp cho người sử dụng module NI Vision builder for Automated Inspection . Module này là một phần mềm hoàn toàn độc lập với LabView và chuyên biệt dành cho xử lý ảnh. Module này có thư viện các hàm lớn với nhiều công cụ cho phép người sử dụng thực hiện công việc nhận dạng và xử lý ảnh bằng nhiều cách khác nhau, cho phép xử lý ảnh với dung lượng lớn, tương thích với nhiều loại camera. Tuy nhiên, nhược điểm của module này nằm ở khâu giao tiếp và xuất tín hiệu giữa phần mềm với cơ cấu chấp hành. Để có thể lấy tín hiệu đã xử lý từ phần mềm xuất ra, phần mềm yêu cầu phải

có card giao tiếp chuyên biệt do chính hãnh National Instrument độc quyền cung cấp và có giá khá cao, do đó, nó không thích hợp với những cơ sở sản xuất có quy mô nhỏ.

Để giải quyết vấn đề này, hãng National Instruments cho phép việc xử lý ảnh

được thực hiện ngay trên môi trường LabVIEW , với LabVIEW là công cụ làm nền

để thực hiện việc lập trình và giao tiếp, module NI Vision Acquisition hỗ trợ cho việc thu nhận ảnh, module NI Vision Assitant hỗ trợ cho việc xử lý ảnh và module NI VISA hỗ trợ giao tiếp, các module này được kết hợp với nhau trên nền LabVIEW. Theo một cách hiểu đơn giản, NI Vision Builder for Automated Inspection chính là một module tích hợp các công cụ xử lý ảnh trên LabVIEW.

Hình 4.25 :Giao din công c xnh NI Assitant trên LabVIEW (ng dng nhn dng bin s xe)

Việc lập trình xử lý ảnh trên LabVIEW phụ thuộc rất nhiều vào người lập trình, nghĩa là điều quan trọng nhất là người lập trình phải tìm ra công cụ và kết hợp

các công cụ để lập trình cho phần mềm nhận diện chính xác hình ảnh đồng thời lựa

chọn hàm tối ưu nhất trên LabVIEW để trích lọc, so sánh... các giá trị xuất ra, nó

không chỉ yêu cầu các kỹ năng sử dụng phần mềm mà đây còn là tư duy của người

(adsbygoogle = window.adsbygoogle || []).push({});

giảm chi phí cho camera vì thay vì sử dụng một camera đắt tiền có độ phân giải cao

để lấy ảnh chất lượng cao thì người lập trình có thể cải thiện chất lượng hình ảnh

ngay trên phần mềm. Yêu cầu khi thực hiện lập trình xử lý ảnh trên LabVIEW đó là

người lập trình phải đạt được các kỹ năng lập trình LabVIEW căn bản và có kiến

thức về lập trình. Sơđồ xử lý ảnh trên LabVIEW được thể hiện ở hình 4.25.

Hình 4.27 : Sơđồ ni dây trên LabVIEW

4.2.2.1 Thu nhn nh

Việc thu nhận ảnh trong môi trường LabVIEW được thực hiện riêng thông qua

module Vision Acquisition. Đây là một module mở rộng được lập trình với chức

năng thực hiện việc tìm kiếm camera đang liên kết với máy, thu nhận ảnh, xuất ảnh

nhận được về môi trường LabVIEW và đưa dữ liệu xuất sang môi trường xử lý ảnh

(Vision Assistant). Trong LabVIEW, module này tương ứng với hàm Vision Acquisititon nằm trong thư viện Vision Express.

Sau khi lấy hàm Vision Acquisitionđể lập trình thu nhận ảnh, double click vào biểu

tượng của hàm, giao diện lập trình sẽ mở ra và việc thực thi quá trình thu nhận ảnh

được thiết lập hoàn toàn riêng biệt trên module này. Quá trình thu nhận ảnh được

thực hiện qua 4 bước:

Bước đầu tiên trong quá trình thực hiện thu nhận ảnh là chọn địa chỉ để phần

mềm lấy ảnh, Select Acquisition Source . Vision Acquisition cho phép thực hiện xử

lý ảnh tĩnh, ảnh động (trực tiếp từ camera hoặc lấy từ file video định dạng .AVI ).

Bước 2, lựa chọn kiểu thu nhận ảnh, Select Acquisition type , là lựa chọn cách

thức mà phần mềm sẽ lấy ảnh bao gồm: lấy một ảnh, lấy ảnh liên tục, lấy ảnh liên tục sau một khoảng thời gian (lấy mẫu) ... với mỗi cách thức lấy ảnh, trên

LabVIEW sẽ sinh ra kiểu vòng lặp tương ứng.

Bước 3, cài đặt các thông số cho ảnh thu nhận, Configure Acquisition Setting

, là cài đặt các thông số cho ảnh sẽ thu nhận bao gồm: độ phân giải, chế độ chụp,

các thông số về độ sáng, độ tương phản, không gian màu... cho ảnh và kiểm tra các

thông số đã cài đặt bằng cách click vào nút testđể xem ảnh và quyết định tiếp tục

hoặc quay lại chỉnh sửa các thông số cho thích hợp.

Bước 4 là bước cuối cùng và là bước quan trọng nhất. Tại đây người lập trình sẽ lựa chọn các thông số để thiết lập đầu vào/ra cho ảnh, Select Control/Indicator . Các thông sốđầu vào (control) chính là các thông sốđã được cài đặt ở bước 3, khi lựa chọn nó, phần mềm sẽ cho phép sửa chữa các thông số này ngay trên LabVIEW, nghĩa là có thể thay đổi các thông số này mà không cần quay lại cửa sổ Vision (adsbygoogle = window.adsbygoogle || []).push({});

Acquisition. Các thông sốđầu ra (Indicator) là các yếu tố kết quả của quá trình thu

nhận ảnh mà người lập trình mong muốn lấy ra để tiếp tục xử lý, trong đó, quan trọng nhất là image out được chọn mặc định vì đây sẽ là yếu tố liên kết sang module xử lý ảnh và hiển thịảnh lên trên giao diện khi chạy phần mềm.

Chn camera hoc thư mc cha nh, file .avi để lp trình

Lựa chọn cách thức thu nhận ảnh

Cài đặt các thông số thu nhận ảnh

4.2.2.2 Xnh:

Công việc đầu tiên để thực hiện việc xửảnh là thu thập bộ mẫu gồm toàn bộ

Hình4.29 :Mu np chai Giao din module Vision Assistant

Ảnh sau khi thu nhận bằng Vision Acquisition sẽ được đưa sang module

Vision Assistant để xử lý. Đây là bước quan trọng vì toàn bộ các công việc chính

của xử lý ảnh đều tập trung ởđây. Xử lý ảnh là bước không chỉ yêu cầu người sử

dụng các kỹ năng về lập trình mà còn là vấn đề tư duy để giải quyết vấn đề chính xác và làm cho chương trình đơn giản nhất vì chương trình càng tinh gọn, tốc độ xử

lý càng nhanh. Trong LabVIEW, module này chính là hàm Vision Assistant nằm trong thư viện Vision Express, chung với Vision Acquisition.

Tùy vào từng trường hợp, từng đặc điểm cần nhận dạng, từng loại camera mà người lập trình sẽ sử dụng các công cụ khác nhau. Tuy nhiên, nhìn chung, quá trình xử lý ảnh sẽ trải qua các bước:

Đầu tiên, ảnh khi mới đưa vào sẽ có chất lượng không cao, vì vậy, cần phải cải thiện chất lượng hình ảnh để làm đặc điểm cần nhận diện nổi lên rõ nét nhất. Tùy vào ứng dụng mà lựa chọn công cụ thích hợp. khi nâng cao chất lượng hình ảnh và làm nổi bật đặc điểm nhận dạng bằng cách thay đổi không gian màu. Ảnh đầu vào là một ảnh ở không gian RGB, để nhận dạng chính xác màu của vật thể, ảnh sẽ được chuyển sang một không gian màu khác sao cho đặc điểm của ảnh là nổi bật nhất.

Đây là một ví dụđơn giản để nâng cao chất lượng để làm nổi bật đặc điểm cần nhận dạng. Những người có kinh nghiệm lập trình xử lý ảnh với Vision Assistant sẽ

có nhiều cách để cải thiện chất lượng hình ảnh bằng nhiều công cụ khác nhau trong phần mềm.

nh đầu vào có màu nâu trong không gian RGB

Qua ví dụ, có thể nhận thấy ở không gian màu đỏ làm ảnh nổi bật so với không gian màu xanh (vì màu vàng có giá trịđỏ trong không gian RGB cao).

nh đầu vào sau khi chuyn sang không gian màu đỏ RGB-Red Plane

Ngoài ra, ở bước này cũng cho phép người trích chọn một phần ảnh để nhận diện. Đa sốứng dụng trong xử lý ảnh công nghiệp không thực hiện trên toàn bộảnh nhận được mà chỉ cần nhận diện một đặc điểm ở một vị trí nào đó của ảnh, vì vậy phần mềm cho phép chọn ra một vùng nào đó gọi là ROI (Region Of Interest) của (adsbygoogle = window.adsbygoogle || []).push({});

ảnh để xử lý, điều này không chỉ giúp việc nhận diện được chính xác mà còn giúp giảm dung lượng chương trình giúp chương trình chạy nhanh hơn.

Tùy vào công cụ phần mềm sẽ cho phép xử lý trên ảnh có dung lượng lớn hoặc nhỏ, vì vậy phần mềm sẽ có công cụ để nén ảnh hoặc chuyển đổi kiểu ảnh tùy vào

đầu vào và đầu ra của mỗi bước trong quá trình xử lý.

Sau khi làm nổi bật đặc điểm cần nhận dạng, ảnh sẽ được xử lý tùy theo ứng dụng: nhận dạng, đo kích thước, đếm số lượng, nhận dạng chữ viết, đọc mã vạch... mà phần mềm hỗ trợ. Và tùy vào bước xử lý sẽ có những nội dung mà người lập trình phải quy định để gán kết luận cho ảnh.

Cuối cùng, các giá trị xử lý sẽ được lựa chọn qua bước select control, cũng giống như ở phần thu nhận ảnh, các giá trị của các bước trong quá trình xử lý sẽ được đưa ra để lập trình trên LabVIEW.

4.2.2.3 Xut tín hiu

Trước khi xuất tín hiệu, người lập trình phải chuyển đổi tín hiệu trên LabVIEW thông qua các hàm chuyển đổi, so sánh, trích chọn... Vì tín hiệu từ

Vision Assistant xuất ra là không giống nhau, đó có thể là tín hiệu dạng số, dạng chuỗi, hoặc dạng tương tự... Vì vậy tùy vào ứng dụng và tùy vào cơ cấu hiển thị, chấp hành mà chuyển đổi tín hiệu cho thích hợp.

Tín hiệu sau khi được chuyển đổi sẽđược xuất sang mạch giao tiếp thông qua module NI VISA. Đây là một module hỗ trợ giao tiếp giữa LabVIEW với mạch

điện, tùy vào mạch giao tiếp mà sẽ có các hàm giao tiếp đi kèm. Chức năng của NI VISA là tìm kiếm các mạch điện kết nối với máy tính để người lập trình lựa chọn xuất ra. Trong đề tài sử dụng card giao tiếp HDL 9090 cung cấp bởi

Chương 5

XÂY DỰNG MÔ HÌNH HỆ THỐNG NHẬN DẠNG CHAI BỊ LỖI 5.1 Thiết kế trong ti

5.1.1 Mô t cơ khí

Chú thích:

(1)Khung mô hình: Được làm bằng sắt và sơn bạc. (2)Motor dẫn động băng tải.

(3)Motor gạt beer lỗi.

(4)Biến trở : Phản hồi vị trí thanh gạt.

(5)Buồng tối: Bên trong có camera và hệ thống đèn led chiếu sang (6)Đế đặt máy tính.

(7)Chai bia text. (8)Thanh gạt beer lỗi. (9)Băng tải. (10) Hộp điện. 5.1.2 Sơđồ mch đin - Sơđồ mạch kết nối điều khiển động cơ gạt

Sơđồ mạch kết nối điều khiển dẫn động băng tải

5.1.3 Mô hình thc tế

Card HDL 9090 có nhiệm vụ điều khiển động cơ gạt nhận tín hiệu phản hồi từ biến trở chuyển đến chân ADC1,và điều khiển motor dẫn động băng tải

- Trên băng tải động sẽ gắn hộp chứa camera để nhận tín hiệu chai bị lỗi, và chai không bị lỗi tín hiệu này được đến Card HDL 9090.

Dây chuyền hoạt động băng tải

Nơi đặt vị trí chai beer text

- Motor gạt beer lỗi có nhiệm vụđưa chai bị lỗi vào đúng vị trí băng truyền thông qua thuật toán PID, nguyên lý hoạt động nhận tín hiệu từ nơi gá buồng đặt camera

được đưa đến card HDL 9090 và máy tính xử lý ảnh để lấy tín hiệu điều khiển và xuất tín hiệu điều khiển motor gạt bia

5.2 Kết qu lp trình (adsbygoogle = window.adsbygoogle || []).push({});

Lp trình điu khin motor gt beer

Màn hình giao din hin th nhn dng và x lý li

5.3 Nhn xét

Trong quá trình thực hiện mô hình phần cứng và phần mềm, tôi không thể

tránh khỏi những khó khăn vì kiến thức còn giới hạn. Nhưng nhờ sự giúp đỡ của giáo viên hướng dẫn và các bạn đồng nghiệp, tôi đã hoàn thành được yêu cầu đặt ra của đề tài.

Tuy nhiên, trong bước đầu mô phỏng có xảy ra những sai số hay bị nhiễu, nhưng dần dần đã khắc phục được và hệ thống hoạt động tương đối ổn định.

Thông qua đề tài này, tôi cũng được cung cấp thêm nhiều kiến thức về xử lý

ảnh trong LabVIEW điều thiết bị v.v… có thể giúp ích cho công việc của tôi. Đồng thời đây cũng là tài liệu tham khảo bổ ích cho các bạn học viên đang học tập và nghiên cứu về xử lý ảnh.

Chương 6

KT LUN VÀ HƯỚNG NGHIÊN CU PHÁT TRIN

Đây là một đề tài có tính chất thực tế cao, có thểứng dụng trong dây chuyền sản xuất điều khiển và giám sát thiết bị. Trong đề tài này, tôi chỉ thực hiện một phần trong hệ thống nhận dạng chai bị lỗi trong quá trình sản xuất. Ngoài ra với hệ thống đã được thiết kế - chế tạo còn có thể ứng dụng để nhận dạng chai bị dơ chưa qua khâu xử lý, chai chưa có beer vào v.v…

Tuy nhiên, để hoàn thiện một hệ thống nhận dạng chai bị lỗi trong quá trình sản

Một phần của tài liệu Nghiên cứu thiết kế hệ thống nhận dạng chai bị lỗi trong dây chuyền sản xuất beer (Trang 84)