Tải bản đầy đủ (.pdf) (15 trang)

NGHIÊN cứu, THIẾT kế hệ THỐNG CẢNH báo NGỦ gật TRÊN XE ô tô

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.71 MB, 15 trang )

15

CHƢƠNG 2
TỔNG QUAN VỀ LabVIEW
2.1 LabVIEW là gì
LabVIEW (viết tắt của Laboratory Virtual Instrumentation Engineering
Workbench) là môi trƣờng ngôn ngữ đồ họa hiệu quả trong việc giao tiếp đa kênh
giữ con ngƣời, thuật toán và các thiết bị.
Gọi LabVIEW là ngôn ngữ đồ học hiệu quả vì về cách thức lập trình, LabVIEW
khác với các ngôn ngữ C (hay Python, Basic, vv.). Thay vì sử dụng các từ vựng (từ
khóa) cố định, LabVIEW sử dụng các khối hình ảnh sinh động và các dây nối để tạo
ra các lệnh và các hàm nhƣ trong hình 2.2. Đặc biệt, LabVIEW rất phù hợp đối với
kỹ sƣ, nhà khoa học, hay giảng viên. Chính vì vậy LabVIEW trở thành một trong
những công cụ phổ biến trong các ứng dụng thu thập dữ liệu từ các cảm biến, phát
triển các thuật toán, và điều khiển thiết bị tại các phòng thí nghiệm trên thế giới.

Hình 2.1: Giao diện LabVIEW


16

Hình 2.2: Hàm truyền trong LabVIEW

Hình 2.3: Giao diện điều khiển trong LabVIEW
Về ý nghĩa kỹ thuật, LabVIEW cũng đƣợc dùng để lập trình ra các chƣơng
trình (source code: mã nguồn) trên máy tính tƣơng tự các ngôn ngữ lập trình dựa
trên chữ (text – bassed language) nhƣ C, Python, Java, Basic, vv
Đồng thời, LabVIEW hỗ trợ các kỹ sƣ, nhà khoa học và sinh viên, vv. Xây
dựng (thực thi) các thuật toán một cách nhanh, gọn, sáng tạo, và dễ hiểu nhờ các
khối hình ảnh có tính gợi nhớ và cách thức hoạt động theo kiểu dòng dữ liệu (date
flow) lần lƣợt từ trái qua phải. Các thuật toán này đƣợc áp dụng lên các mạch điện


và cơ cấu chấp hành thực nhờ vào việc kết nối hệ thống thật với LabVIEW thông
qua nhiều chuẩn giao tiếp nhƣ chuẩn giao tiếp RS232 (giao tiếp qua cổng COM),
chuẩn USB, chuẩn giao tiếp mạng TCP/IP, UDP, chuẩn GBIB, ... Vì vậy LabVIEW
là một ngôn ngữ giao tiếp đa kênh.


17
2.2. Các ứng dụng của LabVIEW
LabVIEW đƣợc sử dụng trong các lĩnh vực đo lƣờng, tự động hóa, cơ điện
tử, robotics, vật lý, toán học, sinh học, vật lý, ôtô, ... Nhìn chung:
- LabVIEW giúp kỹ sƣ kết nối bất kỳ cảm biến và bất kỳ cơ cấu chấp hành
nào với máy tính.
- LabVIEW có thể đƣợc sử dụng để xử lý các kiểu dữ liệu nhƣ tín hiệu tƣơng
tự (analog), tín hiệu số (digital) hình ảnh (vision), âm thanh (audio).
- LabVIEW hỗ trợ các giao thức giao tiếp khác nhau nhƣ RS232, RS485,
TCP/IP, PCI, PXI, và nhƣ vậy.
- LabVIEW cũng có thể tạo ra các thực thi độc lập và các thƣ viện chia sẽ
(ví dụ nhƣ viên liên kết động DLL), bởi vì LabVIEW là một trình biên dịch 32 – bit.

Hình 2.4: Hệ thống đọc code tự động trong các dây chuyền sản xuất.


18

Hình 2.5: Hệ thống quét bằng lƣới để phân tích dòng chảy cho sản phẩm nhựa.

Hình 2.6: Hệ thống phân loại sản phẩm trong sản xuất của công ty Bosch.


19

 Với tất cả những ứng dụng trên thì phƣơng pháp xử lý ảnh trong
LabVIEW đều theo lƣu đồ sau:
THU NHẬN ẢNH
(Vision
Acquisition)

XỬ LÝ ẢNH
(Vision Assistant)

XUẤT TÍN
HIỆU
(NI VISA)

- Giao tiếp camera,
webcam.
- Lựa chọn nguồn
ảnh.
- Thiết lập thông số
ảnh.
- Chọn thông số
xuất ra.

- Lấy tín hiệu từ
Vision Acquisition.
- Phân tích, chỉnh
sửa ảnh.
- Trích chọn đặc
điểm ảnh.
- Chọn thông số
xuất ra.


- Lấy tín hiệu sau
khi xử lý ảnh.
- Giao tiếp với
mạch điều khiển.
- Đƣa tín hiệu
điều khiển vào cơ
cấu chấp hành.

Hình 2.7: Lƣu đồ xử lý ảnh trong LabVIEW

Hình 2.8: Sơ đồ kết nối các khối xử lý ảnh trong LabVIEW


20
2.3 . Toolkits thu thập hình ảnh NI Vision Acquisition Software
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.

 Cách lấy hàm Vision Acquisition trong LabVIEW

Hình 2.9: Thực hiện hàm Vision Acquisition
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.



21
Quá trình thu nhận ảnh đƣợc thực hiện qua 4 bƣớc:
CHỌN ẢNH
NGUỒN

PHƯƠNG
PHÁP THU
THẬP ẢNH

CÀI ĐẶT
THÔNG
SỐ CHO
ẢNH

THIẾT LẬP
TÍN HIỆU
VÀO/RA

Hình 2.10: Quá trình thu nhận ảnh trong Vision Acquisition
- Bƣớc đầu tiên: là chọn địa chỉ để lấy ảnh nguồn, 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 ).

Hình 2.11: Chọn camera hoặc thƣ mục chứa ảnh.
- Bƣớc 2: lựa chọn phƣơng pháp thu thập ả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.



22

Hình 2.12: Lựa chọn phƣơng pháp thu thập ảnh
- 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.

Hình 2.13: Cài đặt các thông số thu nhận ảnh.


23
- 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 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.

Hình 2.14: Thiết lập các tín hiệu đầu vào/ra.

2.4 . Toolkits xử lý ảnh
2.4.1 Vision Development Module (VDM)
Đây là công cụ chung nhất cho việc tạo các hàm truyền xử lý các hình ảnh.
Ngoài ra VDM còn cho phép ngƣời dùng cài đặt thêm các công cụ xử lý ảnh mở

rộng thêm từ tất cả nhà cung cấp phần mềm của LabVIEW.


24

Hình 2.15: Các công cụ trong VDM
Trong VDM còn cung cấp cho ngƣời sử dụng nhiều driver cho các loại camera
vision trong các dây chuyền sản xuất. Hay rất nhiều công cụ hỗ trợ nhƣ:
- Vision Utilities: cung cấp cho ngƣời dùng các tiện ích tách màu, sao chép
điểm màu, chọn vùng cần phân tích màu,…
- Image Processing: xử lý tất cả các màu và hình ảnh đã phân tích ở công cụ
tiện ích.
- Machine Vision: cung cấp cho ngƣời sử dụng tất cả các công cụ tính năng của
các camera vision trong dây chuyền sản xuất nhƣ: đếm sản phẩm, tính diện tích bề
mặt,…
- Ngoài ra còn có các công cụ của NI nhằm cung cấp cho tất cả dòng sản phẩm
mà công ty NI đang có trên thị trƣờng để tạo nên sự tƣơng thích nhằm nâng cao
hiệu suất, tính ổn định trong các dây chuyền tự động hóa.
2.4.2 Module Vision Assistant.
Sau khi xử lý các hình ảnh bằng VDM thì chúng ta bắt đầu thực hiện các
bƣớc tạo code cho các hình ảnh mà ta đã phân tích và xử lý trƣớc đó.


25

Hình 2.16: Thực hiện hàm Vision Assistant

Hình 2.17: Giao diện 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.


26
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

Hình 2.18: Xử lý ảnh đầu vào
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).


27

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

Hình 2.19: Kết quả sau khi xử lý ảnh đầu vào ở không gian đỏ
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
ả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.


28
Lựa chọn yếu tố đầu vào và đầu ra để kiểm soát quá trình xử lý ảnh

Hình 2.20: Chọn lựa tín hiệu đầu ra
2.4.3 Vision Builder for Automated Inspection (VBAI).
Hai công cụ trên đã giúp việc lập trình xử lý ảnh nhanh và hiệu quả cao trong
LabVIEW. Trong trƣờng hợp bạn cần tạo ứng dụng mà hoàn toàn không muốn lập
trình thì VBAI là công cụ để làm việc này.
VBAI là một chƣơng trình độc lập với LabVIEW, dùng để tạo ứng dụng xử

lý ảnh hoàn toàn bằng tùy chỉnh. Mục tiêu của VBAI là đƣa ra ứng dụng kiểm tra tự
động hoàn chỉnh, từ thu ảnh đến xử lý đến kết quả. (khác với mục tiêu của Vision
Assistant là lập trình nghiên cứu và phân tích ý nghĩa từng công việc của xử lý ảnh).

Hình 2.21: Giao diện VBAI


29
Màn hình làm việc của VBAI khác Vision Assistant ở 3 điểm chính:
 Tích hợp chức năng thu ảnh vào cửa sổ các bƣớc xử lý.
 Flowchart tổng quan chƣơng trình: cửa sổ này dùng để ra quyết định.
Ví dụ: nếu tìm thấy vật thể A thì làm gì tiếp theo, không thấy A thì
làm gì tiếp theo.
 Khung các bƣớc xử lý thể hiện các giá trị Pass/Fail và kết quả của
từng bƣớc xử lý và kết quả tổng kết.

Hình 2.22: Ứng dụng VBAI trong hệ thống xử lý sản phẩm



×