Công nghệ xử lý ảnh ngày nay không còn quá xa lạ với các thiết bị côngnghệ hiện đại ngày nay. Nhƣng việc ứng dụng công nghệ này vào trong thực tiểncuộc sống ngày càng trở nên quan trọng và cần thiết hơn hết. Vì vậy, luận văn sẽthực hiện việc ứng dụng thuật toán xử lý ảnh vào trong thiết bị cảnh báo ngủ gậttrên xe ô tô với mục đích đƣa công nghệ vào thực tiển nhằm giúp ngƣời tham giagiao thông đƣợc an toàn cũng nhƣ hạn chế các tai nạn đáng tiếc xảy ra.Nhƣng việc chọn lựa thuật toán để ứng dụng công nghệ xử lý ảnh rất đa dạng.Luận văn đã sử dụng LabVIEW với các thuật toán với các hàm truyền nhằm táchảnh, phân tích ảnh và cuối cùng là xử lý nhiễu nhằm phát hiện ra các dấu hiệu dẫnđến hiện tƣợng ngủ gật của con ngƣời trong khi đang lái xe và đƣa ra biện phápcảnh báo phù hợp.
Trang 2LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS NGUYỄN MINH THẠNH
TP HCM 12- 2013
Trang 3LỜI CAM ĐOAN
Tôi tên là: ĐỖ TÂN KHOA
Học viên lớp: Cao học khóa 2010-2012
Chuyên ngành: Kỹ thuật điều khiển và Tự động hóa Trường Đại Học Giao Thông Vận Tải TP.HCM
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc
Học viên thực hiện Luận văn
Đỗ Tân Khoa
Trang 4LỜI CÁM ƠN
Trong quá trình thực hiện luận văn, tuy gặp nhiều khó khăn, nhưng nhờ sự hướng dẫn tận tình của TS Nguyễn Minh Thạnh, tôi đã hoàn thành luận văn đúng thời gian quy định Để hoàn thành cuốn luận văn này, tôi xin bày tỏ lòng biết ơn sâu sắc đối với
TS Nguyễn Minh Thạnh, thầy là người tận tâm hết lòng vì học viên, hướng dẫn nhiệt tình và cung cấp cho tôi những tài liệu vô cùng quý giá trong thời gian thực hiện luận văn
Xin chân thành cám ơn tập thể thầy cô giáo trường Đại Học Giao Thông Vận Tải
TP Hồ Chí Minh, đã giảng dạy và truyền đạt kiến thức cho tôi, giúp tôi học tập và nghiên cứu trong quá trình học cao học tại trường
Xin chân thành cảm ơn Ban giám hiệu, Phòng quản lý khoa học - Đào tạo sau đại học trường Đại Học Giao Thông Vận Tải TP Hồ Chí Minh, đã giúp đỡ, tạo điều kiện thuận lợi cho tôi trong quá trình học tập và làm luận văn cao học tại trường
Xin chân thành cảm ơn các anh, chị đồng nghiệp đã hỗ trợ, giúp đỡ cho tôi trong quá trình thực hiện luận văn
Xin chân thành cảm ơn các anh, chị học viên cao học ngành “Tự động hóa” đã đóng góp ý kiến cho tôi trong quá trình thực hiện luận văn này
TP Hồ Chí Minh, tháng 12 năm 2013
Người Thực hiện
Đỗ Tân Khoa
Trang 5MỤC LỤC
Lời cam đoan 1
Lời cảm ơn 2
Mục lục 3
Danh mục các từ viết tắt 6
Danh mục các bảng biểu 7
Danh mục các sơ đồ, hình ảnh 8
Chương 1: Giới thiệu chung 11
1.1 Đặt vấn đề 11
1.2 Tính cấp thiết của luận văn 11
1.3 Nguyên nhân và các dấu hiệu của trạng thái ngủ gật 12
1.4 Mục tiêu của luận văn 13
1.5 Nội dung nghiên cứu 13
1.6 Phương pháp luận 13
1.7 Phương pháp nghiên cứu 14
1.8 Nội dung luận văn 14
Chương 2: Tổng quan về LabVIEW 15
2.1 LabVIEW là gì? 15
2.2 Các ứng dụng của LabVIEW 17
2.3 Toolkits thu thập hình ảnh NI Vision Acquisition Software 20
Trang 62.4 Toolkits xử lý ảnh 23
2.4.1 Vision Development Module (VDM) 23
2.4.2 Module Vision Assistant 24
2.4.3 Vision Builder for Automated Inspection (VBAI) 28
Chương 3: Xử lý ảnh và thuật toán điều khiển 30
3.1 Khái niệm về xử lý ảnh 30
3.2 Các phương pháp xử lý ảnh 31
3.3 Xử lý ảnh trong LabVIEW 35
3.4 Lý thuyết điều khiển PID 35
3.4.1 Khái niệm 35
3.4.2 Hiệu chỉnh thông số của bộ điều khiển PID dùng phương pháp Ziegler- Nichols 37
Chương 4: Thiết kế hệ thống cảnh báo ngủ gật trên xe ô tô 39
4.1 Tổng quan về hệ thống 39
4.2 Các thiết bị trong hệ thống 40
4.2.1 Thiết bị ngõ vào 40
4.2.2 Thiết bị xử lý tính hiệu ngõ ra 41
4.3 Thiết kế vị trí lắp đặt 57
4.4 Thiết kế mô hình 59
Chương 5: Xây dựng mô hình hệ thống cảnh báo ngủ gật trên xe ôtô 60
5.1 Thiết kế mô hình 61
5.2 Kết quả lập trình 61
Trang 75.3 Nhận xét 64
Chương 6: Kết luận và hướng phát triển của luận văn 65
6.1 Kết quả đạt được 65
6.2 Hạn chế của luận văn 65
6.3 Hướng phát triển của luận văn 65
Tài liệu tham khảo
Trang 8DANH MỤC CÁC TỪ VIẾT TẮT
ADC Analog to Digital Converter
DAC Digital to Analog Converter
LabVIEW Laboratory Virtual Instrumentation Engineering Workbend
NI National Instruments
NHTSA National Highway Traffic Safety Administration
PID Proportional Integral Derivative Controller
PWM Pulse Width Modulation
VDM Vision Development Module
VBAI Vision Builder for Automated Inspection
VISA Virtual Instrument Software Architecture
Trang 9DANH MỤC CÁC BẢNG BIỂU
Trang
Bảng 3.1: Ảnh hưởng của các tham số KP,KI,KD 37
Bảng 3.2: Thông số K của bộ điều khiển tỉ lệ 38
Bảng 4.1: Mô tả các chân của USB HDL 9090 42
Bảng 4.2: Bảng tổng hợp kết quả khảo sát vị trí lắp đặt webcam 58
Bảng 4.3: Bảng tổng hợp kết quả khảo sát loại cảnh báo 58
Trang 10DANH MỤC CÁC LƯU ĐỒ, HÌNH ẢNH
Trang
Hình 2.3: Giao diện điều khiển trong LabVIEW 16 Hình 2.4: Hệ thống đọc code tự động trong các dây chuyền sản
Hình 2.8: Sơ đồ kết nối các khối xử lý ảnh trong LabVIEW 19 Hình 2.9: Thực hiện hàm Vision Acquisition 20 Hình 2.10: Quá trình thu nhận ảnh trong Vision Acquisition 21 Hình 2.11: Chọn camera hoặc thư mục chứa ảnh 21 Hình 2.12: Lựa chọn phương pháp thu thập ảnh 22 Hình 2.13: Cài đặt các thông số thu nhận ảnh 22 Hình 2.14: Thiết lập các tín hiệu đầu vào/ra 23
Hình 2.16: Thực hiện hàm Vision Assistant 25 Hình 2.17: Giao diện module Vision Assistant 25
Hình 2.19: Kết quả sau khi xử lý ảnh đầu vào ở không gian đỏ 27
Hình 2.22: Ứng dụng VBAI trong hệ thống xử lý sản phẩm 29
Trang 11Hình 3.2:Sơ đồ xử lý ảnh trong công nghiệp 30
Hình 3.4: Các bước xử lý và phân tích ảnh biên 32 Hình 3.5: Cấu trúc xử lý ảnh cơ bản trong LabVIEW 35
Hình 4.1: Cấu trúc của hệ thống cảnh báo ngủ gật trên xe ôtô 39
Hình 4.6: Cài đặt driver cho card USB HDL 9090 43
Hình 4.13: Kiểm tra kết nối card 9090 với máy tính 47 Hình 4.14: Sơ đồ kết nối của card USB HDL 9090 48
Hình 4.16: Tạo tín hiệu ngõ ra trên lưu đồ 49 Hình 4.17: Giá trị thu về khi Encoder có tín hiệu 50 Hình 4.18: Dùng xung PWM của Encoder điều khiển động cơ 50
Hình 4.22: Thuật toán của bộ điều khiển PID 52 Hình 4.23: Giao diện người dùng điều khiển vị trí DC MOTOR 53
Trang 12Hình 4.24: Thông số cho bộ điều khiển PID điều khiển vị trí DC
Hình 4.25: Chương trình điều khiển tốc độ động cơ sử dụng PID 54 Hình 4.26: Giao diện người dùng điều khiển tốc độ DC MOTOR 55 Hình 4.27: Thông số cho bộ điều khiển PID điều khiển tốc độ DC
Hình 4.28: Hàm truyền ngõ ra cảnh báo màu đỏ 56
Hình 4.31: Vị trí có thể lắp đặt webcam trên thực tế 57 Hình 4.32: Quy trình hoạt động của mô hình 59 Hình 5.1: Trạng thái ngủ gật của người tham gia giao thông 60
Hình 5.4: Sơ đồ thiết kế bộ điều khiển PID cho động cơ DC 62 Hình 5.5: Hàm truyền điều khiển động cơ bám đối tượng 62 Hình 5.6: Hình ảnh của người có dấu hiệu ngủ gật 63
Hình 5.8: Hàm truyền cảnh báo bằng âm thanh 64
Trang 13Nhưng việc chọn lựa thuật toán để ứng dụng công nghệ xử lý ảnh rất đa dạng Luận văn đã sử dụng LabVIEW với các thuật toán với các hàm truyền nhằm tách ảnh, phân tích ảnh và cuối cùng là xử lý nhiễu nhằm phát hiện ra các dấu hiệu dẫn đến hiện tượng ngủ gật của con người trong khi đang lái xe và đưa ra biện pháp cảnh báo phù hợp
1.2 Tính cấp thiết của luận văn
Xử lý ảnh là một lĩnh vực khoa học đã xuất hiện từ lâu và được ứng dụng nhiều trong y học, khoa học vũ trụ và dự báo thời tiết Ngày nay, sự phát triển của
kỹ thuật điện tử đã cho ra đời nhiều loại camera và cảm biến hình ảnh có độ phân giải cao và tốc độ lấy ảnh nhanh, với giá cả phù hợp tùy hãng sản xuất và tùy mức
độ thông minh của thiết bị, chất lượng hình ảnh, từ đó đã cho phép xử lý ảnh được ứng dụng nhiều hơn vào công nghiệp, nhất là trong lĩnh vực quản lý chất lượng, nhận dạng lỗi sản phẩm và phân loại sản phẩm dựa vào các đặc tính có thể nhận dạng được bằng mắt thường và những đặc điểm bề ngoài không thể nhận dạng bằng mắt thường Với những đặc tính không thể nhận dạng bằng mắt thường do đặc điểm cần nhận dạng quá nhỏ hoặc hình dạng quá phức tạp, hoặc yêu cầu nhận diện nhiều
vị trí ở cùng một thời điểm, xử lý ảnh là một công cụ vô cùng hiệu quả với độ chính xác và độ tin cậy cao
Tuy nhiên, ở Việt Nam hiện nay, xử lý ảnh trong công nghiệp vẫn còn là một lĩnh vực khá mới mẻ và đang bắt đầu phát triển Vì vậy, việc nghiên cứu, khai thác
Trang 14các ứng dụng của xử lý ảnh sẽ mở ra nhiều cơ hội hơn trong việc phát triển với các nước phát triển khác trên thế giới
Vấn đề tự động hóa trong điều khiển và giám sát các thiết bị nói chung là một trong những giải pháp hàng đầu trong sự nghiệp công nghiệp hóa và hiện đại hóa ở Việt Nam hiện nay Do đó, luận văn này đưa ra một mô hình cảnh báo ngủ gật trên xe ô tô trong khi tham gia giao thông bằng các thuật toán, hàm truyền xử lý ảnh trong LabVIEW
1.3 Nguyên nhân và các dấu hiệu của trạng thái ngủ gật
Theo số liệu thống kê, tổng hợp từ một số Phòng Cảnh sát Giao thông (CSGT) Đường bộ-Đường sắt khu vực miền Trung thời gian qua cho thấy, 20% số
vụ tai nạn xảy ra về đêm đều rơi vào khoảng từ 2 đến 5 giờ sáng Đây là thời gian
mà nhịp sinh học cơ thể đòi hỏi được nghỉ ngơi nhất khi đã căng sức gần 20 tiếng trong ngày Đó cũng là múi giờ mà nghiều lái xe đường dài thú nhận là rất khó cưỡng lại được cảm giác thèm ngủ bởi họ đã phải căng sức trong suốt một ngày đường (rất cần được nghỉ ngơi để phục hồi sức khỏe)
Nhiều lái xe đã tìm cách “khắc chế” cơn buồn ngủ vào múi thời gian này đã tìm cách uống rất nhiều nước chè, cà phê trước khi ngồi sau vô lăng Có lái xe còn đóng cả nước chè, cà phê vào chai để lúc nào thèm ngủ lại uống vài ngụm để “cắt cơn” cho đầu óc tỉnh táo Nhưng không phải lái xe nào cũng vượt qua được cảm giác khó khăn này Và 20% số vụ tai nạn giao thông xảy ra về đêm kể trên là một minh chứng về tình trạng báo động
Tìm hiểu thực tế nguyên nhân phát sinh tình trạng TNGT do lái xe thường xuyên ngủ gật gây lên; chúng tôi được biết nguyên nhân căn bản vẫn là do áp lực về môi trường kinh doanh vận tải hiện nay; thực tế không ít doanh nghiệp vận tải hành khách (nhất là doanh nghiệp tư nhân) đã “phớt lờ” những cảnh báo về hậu quả “ép” lái xe làm việc quá sức, không được nghỉ ngơi để đạt bằng được mục đích lợi nhuận Nhiều doanh nghiệp đã tìm mọi cách tăng ca, tăng chuyến, thậm chí khoán, rút ngắn thời gian chạy… khiến lái xe, phụ xe lúc nào cũng ở trong tình trạng “căng như dây đàn” và dẫn đến tình trạng mệt mỏi, ngủ gật lúc nào không hay
Trang 15Tuy nhiên, nghiên cứu mới đây của Cục quản lý an toàn giao thông quốc gia
Mỹ (NHTSA) đã cho thấy 20% các vụ tai nạn và 12% các vụ “suýt tai nạn” là do tài
xế ngủ gật Một tài xế bị coi là đang “gà gật” khi anh ta nhắm mắt thay vì chớp mắt, đầu anh ta lắc lư về phía trước rồi gật gù về phía sau và thay vì đảo mắt quan sát đường đi hay nhìn gương, mắt anh ta thường đờ đẫn và chỉ tập chung về một điểm
cố định rồi sau đó nhắm mắt trong một thời gian ngắn 1 đến 1,8 giây
1.4 Mục tiêu của luận văn
Trong phạm vi của luận văn, tôi chủ yếu nghiên cứu về cách thức sử dụng phần mềm LabVIEW: cách tạo giao diện, xử lý ảnh, ứng dụng của LabVIEW trong điều khiển tự động Nghiên cứu các thuật toán xử lý ảnh từ đó kết hợp với phần mềm LabVIEW để tự thiết kế ra một hàm truyền nhằm đáp ứng được mục tiêu
“Nghiên cứu, thiết kế hệ thống cảnh báo ngủ gật trên xe ôtô”
1.5 Nội dung nghiên cứu
- Nghiên cứu các thuật toán xử lý ảnh khác nhau rồi so sánh, lựa chọn thuật toán
- Nghiên cứu phần mềm LabVIEW và các công phương pháp thu thập ảnh
- Dấu hiệu của hiện tượng ngủ gật
- Thiết kế mạch điều khiển và vị trí đặt webcam quan sát
- Thiết kế PID cho động cơ DC để tự động tìm, xác định khuôn mặt người láy
- Tìm hiểu xử lý ảnh trong LabVIEW
- Luận văn này cung cấp một mô hình cảnh báo ngủ gật trên xe ôtô bằng phần mềm xử lý ảnh trong LabVIEW có thể ứng dụng trong thực tiễn
Trang 161.7 Phương pháp nghiên cứu
- Thu thập và đọc hiểu các tài liệu liên quan từ cán bộ hướng dẫn, sách, các bài báo và internet.v.v…
- Nghiên cứu dấu hiệu ngủ gật của người láy xe ôtô
- Nghiên cứu phần mềm LabVIEW
- Xây dựng hàm truyền điều khiển hệ thống bằng phần mềm LabVIEW
- Lập trình phần mềm, kết nối phần cứng và chạy thử
- Đánh giá hiệu quả của việc điều khiển hệ thống
1.8 Nội dung luận văn
Nội dung luận văn gồm 6 chương:
Chương 1 : Giới thiệu chung
Chương 2 : Tổng quan LabVIEW
Chương 3 : Xử lý ảnh và thuật toán điều khiển
Chương 4 : Thiết kế hệ thống cảnh báo ngủ gật trên xe ô tô
Chương 5 : Thiết kế hàm truyền hệ thống cảnh báo ngủ gật trên xe ô tô
Chương 6 : Kết luận và hướng phát triển của luận văn
Trang 17Gọ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
Trang 18
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
Trang 19
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
Trang 20
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
Trang 21
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:
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
- 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
Trang 22
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
Trang 23
Quá trình thu nhận ảnh được thực hiện qua 4 bước:
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
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
Trang 24
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
Trang 25
- 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
Trang 26
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 đó
Trang 27
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
Trang 28là 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)
Trang 29
Ả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
Trang 30
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
Trang 31
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
Trang 32
CHƯƠNG 3
XỬ LÝ ẢNH VÀ THUẬT TOÁN ĐIỀU KHIỂN
3.1 Khái niệm về xử lý ảnh
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 3.1:Sơ đồ quá trình xử lý ảnh 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
Hình 3.2:Sơ đồ xử lý ảnh trong công nghiệp
HẬU XỬ
LÝ
KẾT LUẬN
LƯU TRỮ
XỬ LÝ ẢNH
Trang 33
Trong sơ đồ hình 3.2, 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ý ảnh 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 lọc, chọn lọc: 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, 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…) Sơ đồ xử lý ảnh trong công nghiệp được thể hiện ở hình 3.2
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
ẢNH
NHẬN DẠNG ẢNH
Trang 34
Phương pháp phát hiện biên:
Phát hiện biên là một phần trong phân tích ảnh, sau khi đã lọc ảnh (hay tiền
xử lý ảnh) Các bước của phân tích ảnh có thể mô tả theo sơ đồ dưới đây Việc dò
và tìm biên ảnh là một trong các đặc trưng thuộc khối trích chọn đặc trưng
Hình 3.4: Các bước xử lý và phân tích ảnh biên
- Phương pháp phát hiện biên trực tiếp: phương pháp này chủ yếu dựa vào
sự biến thiên độ sáng của điểm ảnh để làm nổi biên bằng kỹ thuật đạo hàm
• Nếu lấy đạo hàm bậc nhất của ảnh: ta có phương pháp Gradient
• Nếu lấy đạo hàm bậc hai của ảnh: ta có phương pháp Laplace Hai phương pháp này được gọi chung là phương pháp dò biên cục bộ
Ngoài ra, người ta còn sử dụng phương pháp “đi theo đường bao” dựa vào công cụ toán học là nguyên lý quy hoạch động và đượng gọi là phương pháp dò biên tổng thể Phương pháp dò biên trực tiếp có hiệu quả và ít bị tác động của nhiễu
- Phương pháp phát hiện biên gián tiếp: Nếu bằng cách nào đấy, chúng ta
thu được các vùng ảnh khác nhau thì đường phân cách giữa các vùng đó chính là biên Nói cách khác, việc xác định đường bao của ảnh được thực hiện từ ảnh đã được phân vùng Phương pháp dò biên gián tiếp khó cài đặt nhưng áp dụng tốt khi
sự biến thiên độ sáng nhỏ
Phương pháp phân vùng ảnh:
Phân vùng ảnh là bước then chốt trong xử lý ảnh Giai đoạn này nhằm phân tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biên hay các vùng liên thông Tiêu chuẩn để xác định các vùng liên thông có thể là cùng mức xám, cùng màu hay cùng độ nhám Trước hết cần làm rõ khái niệm "vùng ảnh" (Segment) và đặc điểm vật lý của vùng