Thị giác máy là một lĩnh vực đa dạng và đang rất phát triển. Khái niệm thị giác máy (Computer vision) có liên quan tới rất nhiều ngành học và hướng nghiên cứu khác nhau. Từ những năm 1970 khi mà năng lực tính toán của máy tính ngày càng trở nên mạnh mẽ hơn, các máy tính lúc này có thể xử lý được những tập dữ liệu lớn như các hình ảnh các đoạn phim thì khái niệm và kỹ thuật về thị giác máy ngày càng được nhắc đến và nghiên cứu nhiều hơn cho tới ngày nay. Hiện nay lĩnh vực này được các chuyên gia đánh giá là còn rất nhiều mới mẻ và có rất nhiều thay đổi trong thời gian tới. Lĩnh vực nghiên cứu của thị giác máy rất rộng, và đặc điểm chung là các bài toán về thị giác máy tính đều không có một đề bài chung và cách giải duy nhất. Mỗi giải pháp giải quyết vấn đều được một kết quả nhất định cho những trường hợp cụ thể. Ta có thể thấy sự tương quan giữa thị giác máy với các lĩnh khác. Kỹ thuật thị giác máy là một kỹ thuật mới xuất hiện đã và đang phát triển mạnh mẽ trên thế giới hiện nay. Khái niệm về thị giác máy có liên quan tới nhiều ngành học và có xu hướng nghiên cứu khác nhau. Kể từ những năm 70 của thế kỉ 20, khi mà khả năng tính toán của máy tính trở lên mạnh mẽ, nó có thể giải quyết được những công việc cần tới công nghệ cao như xử lý các tập ảnh hay các đoạn video thì thị giác máy tính được nhắc đến, nghiên cứu và phát triển cho đến nay. Những năm gần đây thị giác máy tính được nghiên cứu và ứng dụng khắp trong nhiều lĩnh vực như công nghiệp, nông nghiệp, y học quân sự. Kỹ thuật thị giác máy tính được nghiên cứu ứng dụng trong sản xuất nông nghiệp từ thập kỷ 80 của thế kỷ 20, chủ yếu dùng trong dám định chủng loại thực vật, kiểm tra chất lượng sản phẩm và phân loại nông sản... theo sự phát triển của các thiết bị phần cứng, các kỹ thuật phần mềm máy tính, kỹ thuật xử lý ảnh cũng phát triển rất nhanh,nghiên cứu ứng dụng kỹ thuật thị giác máy tính trong sản xuất nông nghiệp có nhiều phát triển. Hiện nay lĩnh vực nghiên cứu này đang là một vấn đề nóng hổi của sản xuất nông nghiệp, ở một nước phát triển như Nhật Bản, Mỹ... trong sản xuất nông nghiệp đã từng bước ứng dụng hệ thống thị giác máy tính, như quản lý chủng loại và chất lượng tài nguyên nông nghiệp, thu nhận thông tin trạng thái sinh trưởng của cây trồng, tự động hóa thu hoạch nông sản phẩm, nghiên cứu bảo vệ thực vật, kiểm định chất lượng nông sản phẩm.
Trang 1Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆP Khoa: Điện – Điện Tử
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Hưng Yên, ngày….tháng…năm 2013
Giáo viên hướng dẫn
Đoàn Văn Tuấn
Trang 2NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Hưng Yên, ngày….tháng…năm 2013
Giáo viên phản biện
Trang 3Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
Trên thế giới lĩnh vực công nghiệp, nghiên cứu đã ứng dụng xử lý ảnh phát triển vôcùng mạnh mẽ và có được những bước tiến kinh ngạc Ở Việt Nam lĩnh vực này cònđang rất phát triển, tuy nhiên việc sử dụng xử lý ảnh trong công nghiệp còn rất mới mẻ
và non yếu do thiếu thiết bị hỗ trợ,tài liệu nghiên cứu Vì vậy đây sẽ là một hướngphát triển mới đầy hứa hẹn và cũng không ít thách thức Với mong muốn tham gia vàolĩnh vực còn mới này và góp phần vào sự phát triển xử lý ảnh ở Việt Nam, em thực
hiện đề tài “Nghiên cứu, mô phỏng kĩ thuật thị giác nổi và ứng dụng dùng phần
mềm OpenCV”.
LỜI CẢM ƠN
Trang 4dùng OpenCV em cảm thấy lo lắng bởi xử lý ảnh là lĩnh vực mới mẻ ở Việt Nam vàbản thân cũng lần đầu tiên tiếp xúc với lĩnh vực này Em rất vui vì cuối cùng đã hoànthành sơ lược được đề tài này.
Trước hết , em xin gửi lời cảm ơn trân thành tới thầy ĐOÀN VĂN TUẤN tuy
không có điều kiện làm việc trực tiếp với thầy nhiều nhưng qua những lần tiếp xúcngắn ngủi đó chính thầy đã cho chúng em những lời động viên, những lời khuyên quýbáu đã giúp chúng em rất nhiều
Qua đây, em xin cảm ơn đến thầy cô giáo trong khoa ĐIỆN- ĐIỆN TỬ đã giúp
đỡ tạo điều kiện cho đồ án của chúng em, em xin trân thành cảm ơn!
MỤC LỤC
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN -1NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN -2
Trang 5Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆP
Khoa: Điện – Điện Tử
LỜI MỞ ĐẦU -3
LỜI CẢM ƠN -4
CHƯƠNG 1: MỞ ĐẦU -7
1.1 Lý do chọn đề tài -7
1.2 Mục tiêu nghiên cứu -7
1.3 Phương pháp nghiên cứu -7
1.4 Dự kiến kết quả nghiên cứu -7
1.5 Điều kiện thực nghiệm -8
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT -9
2.1 Tìm hiểu về thị giác máy tính -9
2.1.1 Ứng dụng của thị giác máy. -11
2.2 Tổng quan về thị giác nổi -14
2.2.1 Thế nào là thị giác nổi -14
2.2.2 Tổng quan về hệ thống thị giác nổi Stereo Vision. -16
2.2.3 Ứng dụng của thị giác nổi -28
2.2 Tổng quan về phần mềm mô phỏng OpenCv -31
2.2.1 Thư viện OpenCV -31
2.3 Tổng quan về visual 2010 -38
2.3.1 Giới thiệu visual studio 2010 -38
2.3.2 Ứng dụng visual studio -40
CHƯƠNG 3: THỰC HIỆN MÔ PHỎNG THỊ GIÁC NỔI VÀ ỨNG DỤNG -45
3.1 Tổng quan hệ thống đo khoảng cách -45
3.1.1 Giới thiệu chung -45
3.1.2 Mô hình hệ thống -45
3.1.5 Bài toán đo khoảng cách -45
3.1.5.1 Giới thiệu chung -45
3.1.5.2 Các phương pháp -45
3.1.6 Thuật toán tách đối tượng -47
3.1.6.1 Thuật toán MeanShift. -47
3.1.6.2 Thuật toán Camshift. -48
3.1.6.3 Thuật toán lọc Kalman. -48
3.1.7 Các kỹ thuật được áp dụng trong đề tài -50
3.1.7.1 Thuật toán trừ nền. -50
3.1.8 Công thức tính khoảng cách -53
3.2 Mô phỏng đo khoảng cách -54
Trang 63.2.1 Tiến hành đo khoảng cách -57
CHƯƠNG 4: KẾT LUẬN -58
4.1 Những mục tiêu đạt được -58
4.2 Những mục tiêu chưa đạt -58
4.3 Hướng nghiên cứu trong tương lai -58
PHỤ LỤC -59
TÀI LIỆU THAM KHẢO -72
Trang 7Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆP Khoa: Điện – Điện Tử
DANH MỤC HÌNH VẼ
Hình 2.1 Cấu tạo hệ thống thị giác máy 12
Hình 2.2 Cấu hình chuẩn của hệ thống 2 camera 17
Hình 2.3 Ví dụ về thị giác 2 mắt của con người 17
Hình 2.4 Sơ đồ khối của hệ thống thị giác nổi 18
Hình 2.5 Các bước thực hiện hệ thống Stereo Vision 19
Hình 2.6 Mẫu bàn cờ 20
Hình 2.7 Ví dụ về hình ảnh bị méo 21
Hình 2.8 Hình ảnh bị méo và sau khi sửa méo 21
Hình 2.9 Âm mưu bóp méo xuyên tâm cho một ống kính đặc biệt 22
Hình 2.10 Các thông số nội tại của máy ảnh 22
Hình 2.11 Cặp âm thanh nổi (trên) và cặp sửa chữa (dưới) Những hình ảnh trên vẽ các đường epipolar tương ứng với các điểm đánh dấu trong hình ảnh bên dưới 23
Hình 2.12 Hình ảnh hình học Stereo 24
Hình 2.13 Bản đồ chiều sâu 26
Hình 2.14 Ví dụ về bản đồ chiều sâu 26
Hình 2.15 Bản đồ chiều sâu sử dụng thuật toán SAD 27
Hình 2.16 Bản đồ chiều sâu sử dụng thuật toán SSD 28
Hình 2.17 Bản đồ chiều sâu sử dụng thuật toán NCC 28
Hình 2.18 Quá trình đưa ra bản đồ độ sâu 29
Hình 2.19 Hệ thống robot phẫu thuật DaVinci trong y tế 30
Hình 2.20 Robot di động trong nhà 31
Hình 2.21 Xe không người lái 31
Hình 2.22 Kinect 32
Hình 2.23 Chơi game với Kinect 32
Hình 2.24 Quá trình phát triển của OpenCV 33
Hình 2.25 Cấu trúc cơ sở của OpenCV 34
Hình 2.26 cấu trúc visual 2010 40
Hình 2.27 Thiết lập cấu hình 43
Hình 3.1: Sơ đồ tổng thể đo khoảng cách 47
Hình 3.2: Ví dụ phương pháp trừ nền 48
Hình 3.3: Sơ đồ hệ thống phát hiện đối tượng chuyển động 52
Hình 3.4: Ví dụ phương pháp trừ nền 53
Hình 3.6: Các phép liên thông 54
Trang 8Hình 3.7: Ví dụ sự khác biệt các phép liên
thông 54
Hình 3.8: Phép bóc tách các blob 55
Hình 3.9: Hình ảnh minh họa công thức 56
Hình 3.10 Tìm tiêu cự camera và hiệu chỉnh camera 57
Hình 3.11 Ví dụ về khử nhiễu 58
Hình 3.12: Kết quả thu được 59
Trang 9Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
CHƯƠNG 1: MỞ ĐẦU 1.1 Lý do chọn đề tài
Ứng dụng của xử lý ảnh đã được sử dụng để phân loại, nhận dạng hình ảnh,…trongquá trình sản xuất và cuộc sống của chúng ta Các tiến bộ trong khả năng tính toán,phổ biến của các thiết bị lưu trữ dung lượng lớn, và sự ra đời của rất nhiều các phươngpháp và thuật toán được cải tiến để nâng cao hiệu quả và tốc độ tính toán đã mở đườngcho các ứng dụng này phát triển mạnh hơn
Xuất phát từ đó, em quyết định chọn đề tài “Nghiên cứu,mô phỏng kĩ thuật thị giác nổi
và ứng dụng dùng OpenCV” Mong muốn của em là được nghiên cứu, tìm hiểu những
kỹ thuật tiên tiến trong lĩnh vực thị giác nổi - ứng dụng trong hệ thống kiểm tra và đềsuất một số cải tiến mới nhằm góp phần làm cho lĩnh vực này trở nên phong phú vàphát triển hiệu quả với những ứng dụng thực tiễn hơn nữa
1.2 Mục tiêu nghiên cứu
+ Nghiên cứu thị giác nổi và ứng dụng
+ Nghiên cứu phần mềm OpenCV
+ Mô phỏng đo khoảng cách từ camera đến vật
+ Đánh giá hiệu quả
1.3 Phương pháp nghiên cứu
+ Tìm hiểu kiến thức về xử lý ảnh thông qua các giáo trình Xử lý ảnh, các bài viết về
xử lý ảnh trên các diễn đàn – song song với việc tham khảo các tài liệu do giáo viên hướng dẫn cung cấp
+ Tham khảo các mã nguồn mở về xử lý ảnh, phát hiện chuyển động sourceforge.net, github.com… Nhằm mục đích tìm hiểu quá trình cài đặt các thuật toán xử lý ảnh cơ bản và nâng cao trên ngôn ngữ lập trình C/C++ và C#
+ Nghiên cứu dựa trên các bài báo, tạp chí khoa học
+ Từng bước nghiên cứu, đánh giá và đề xuất các kỹ thuật cải thiện cho nội dung nghiên cứu
Thực nghiệm dựa trên xây dựng ứng dụng và đánh giá các kết quả nghiên cứu
1.4 Dự kiến kết quả nghiên cứu
+ Hoàn thiện quá trình nghiên cứu thị giác nổi, phần mềm OpenCV, đánh giá về các
kỹ thuật đo khoảng cách
+ Đề xuất một kỹ thuật cải tiến
+ Đánh giá hiệu quả của đề xuất
1.5 Điều kiện thực nghiệm
+ Phải có ít nhất 1 Laptop hoặc PC
Trang 10+ Các môi trường như: Nhà ở, phòng học, phòng thực hành,
+ Ánh sáng vừa đủ
+ Không có khói bụi nhiều
+ Yếu tố màu sắc
- Ảnh nền không có nhiều vật chuyển động mạnh như quạt trần
- Màu nền không có quá nhiều màu sắc và vùng màu
+ Thiết bị ghi hình hoặc file video
- Thiết bị ghi hình có độ phân giải ≥ 1,3Mp
- File video : Kích thước lớn hơn 320 x 320 pixel
+ Cấu hình máy tính
- CPU tối thiểu : Pentium 1.0 GHz
- RAM tối thiều : 512 Mb
( đó là điều kiện cài đặt Net Framework 4.0 )
+ Khoảng cách thực nghiệm
Thiết bị ghi hình cách vật không quá 1m ( tùy thuộc vào thiết bị ghi hình)( Khoảng cách đề nghị trên thông dụng cho các camera )
Trang 11Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tìm hiểu về thị giác máy tính
Thị giác máy là một lĩnh vực đa dạng và đang rất phát triển Khái niệm thị giácmáy (Computer vision) có liên quan tới rất nhiều ngành học và hướng nghiên cứu khácnhau Từ những năm 1970 khi mà năng lực tính toán của máy tính ngày càng trở nênmạnh mẽ hơn, các máy tính lúc này có thể xử lý được những tập dữ liệu lớn như cáchình ảnh các đoạn phim thì khái niệm và kỹ thuật về thị giác máy ngày càng được nhắcđến và nghiên cứu nhiều hơn cho tới ngày nay Hiện nay lĩnh vực này được các chuyêngia đánh giá là còn rất nhiều mới mẻ và có rất nhiều thay đổi trong thời gian tới
Lĩnh vực nghiên cứu của thị giác máy rất rộng, và đặc điểm chung là các bàitoán về thị giác máy tính đều không có một đề bài chung và cách giải duy nhất.Mỗi giải pháp giải quyết vấn đều được một kết quả nhất định cho những trường hợp
cụ thể Ta có thể thấy sự tương quan giữa thị giác máy với các lĩnh khác
Kỹ thuật thị giác máy là một kỹ thuật mới xuất hiện đã và đang phát triển mạnh
mẽ trên thế giới hiện nay Khái niệm về thị giác máy có liên quan tới nhiều ngành học
và có xu hướng nghiên cứu khác nhau Kể từ những năm 70 của thế kỉ 20, khi mà khảnăng tính toán của máy tính trở lên mạnh mẽ, nó có thể giải quyết được những côngviệc cần tới công nghệ cao như xử lý các tập ảnh hay các đoạn video thì thị giác máytính được nhắc đến, nghiên cứu và phát triển cho đến nay Những năm gần đây thịgiác máy tính được nghiên cứu và ứng dụng khắp trong nhiều lĩnh vực như côngnghiệp, nông nghiệp, y học quân sự Kỹ thuật thị giác máy tính được nghiên cứu ứngdụng trong sản xuất nông nghiệp từ thập kỷ 80 của thế kỷ 20, chủ yếu dùng trong dámđịnh chủng loại thực vật, kiểm tra chất lượng sản phẩm và phân loại nông sản theo
sự phát triển của các thiết bị phần cứng, các kỹ thuật phần mềm máy tính, kỹ thuật xử
lý ảnh cũng phát triển rất nhanh,nghiên cứu ứng dụng kỹ thuật thị giác máy tính trongsản xuất nông nghiệp có nhiều phát triển Hiện nay lĩnh vực nghiên cứu này đang làmột vấn đề nóng hổi của sản xuất nông nghiệp, ở một nước phát triển như Nhật Bản,Mỹ trong sản xuất nông nghiệp đã từng bước ứng dụng hệ thống thị giác máy tính,như quản lý chủng loại và chất lượng tài nguyên nông nghiệp, thu nhận thông tintrạng thái sinh trưởng của cây trồng, tự động hóa thu hoạch nông sản phẩm, nghiêncứu bảo vệ thực vật, kiểm định chất lượng nông sản phẩm
Thị giác máy tính đôi khi còn được gọi là thị giác bằng máy,là sử dụng camerathu nhận hình ảnh từ thực tế, sau đó sử dụng máy tính tự động phân tích ảnh Qua đónhận biết các đối tượng miêu tả cảnh vật hoặc tiến hành điều khiển hoạt động hệthống theo một số dữ kiện yêu cầu nào đó Đây là lĩnh vực khoa học và kỹ thuật
Trang 12nghiên cứu dùng máy tính mô phỏng bề ngoài cảnh vật hoặc công năng thị giác vĩ mô.Thị giác máy tính là sự đan xen và kết hợp của nhiều ngành học, liên quan tới nhiềulĩnh vực như toán học, quang học, trí tuệ nhân tạo, thần kinh sinh vật học, tâm
lý vật lý học, khoa học máy tính, xử lý ảnh, hiểu hình ảnh, phân biệt màu Thị giácmáy tính đã có quá trình phát triển nghiên cứu và ứng dụng 40 năm theo sự phát triểncủa máy tính, kỹ thuật xử lý ảnh, kỹ thuật nhận dạng, lý thuyết điều khiển, trí tuệ nhântạo Thị giác máy tính được ứng dụng trong người máy kiểm tra đo lường côngnghiệp, phân biệt vật thể, phân tích hình ảnh vệ tinh, trợ giúp chuẩn đoán y học, đo vẽbản đồ hàng không và kỹ thuật quân sự Phương pháp nghiên cứu cũng từ 2Dchuyển sang 3D, từ tuần tự đến song song, từ trực tiếp dựa vào tín hiệu thu nhận qua
xử lý tầng thấp tới tầng cao dựa vào đặc trưng, kết cấu, quan hệ và tri thức
Hình 2.1 Cấu tạo hệ thống thị giác máy.
Cấu tạo hệ thống thị giác máy tính thông thường được biểu diễn trên hinh dưới.Máy tính quay phim CCD có thể ghi lại các đối tượng cần nhận biết và phân tích dướidạng hình ảnh Về bản chất máy quay phim CCD là một cảm biến quang điện thunhận các tín hiệu quang học phần ảnh đối với đối tượng, bối cảnh rồi chuyển thành tínhiệu điện để ghi lại bộ phận thu nhận hình ảnh có thể hoạt động được độc lập hoặcđược gắn trực tiếp trong máy tính ở dạng card thu nhận hình ảnh có thể chuyển tínhiệu điện của máy quay phim thu nhận được thành tín hiệu số, số hóa hình ảnh đểmáy tính tiến hành xử lý các loại yêu cầu Hệ thống chiếu sáng cho phép nâng cao độchiếu sáng phù hợp với hình ảnh thu nhận được, làm lợi cho xử lý và phân tích hìnhảnh
2.1.1 Ứng dụng của thị giác máy.
a Khái niệm
Cảm biến thị giác là một thành phần quan trọng đối với quá trình sản xuất công
Trang 13Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
nghiệp, giúp tối ưu hóa năng suất và cải thiện chất lượng sản phẩm thông qua việc pháthiện các bộ phận bị lỗi trước khi chúng rời dây chuyền sản xuất
Cảm biến thị giác theo dõi, phân tích và diễn giải thông tin trong kiểm tra thịgiác phức hợp, bao gồm việc xác minh, đo lường, định hướng, phát hiện lỗi, và phânloại các bộ phận Cảm biến thị giác đặc biệt quan trọng trong quá trình sản xuất thựcphẩm, cung cấp chức năng theo dõi, giám sát một sản phẩm từ giai đoạn phát triển sảnphẩm ban đầu cho đến khâu đóng gói cuối cùng
Cảm ứng thị giác cho phép các nhà sản xuất điều khiển qua nhiều quy trình từcác máy công cụ và robot cho đến chất lượng và kiểm tra sản phẩm Bắt đầu với mộtcamera xác định lượng tính năng và hiệu suất của sản phẩm, và một hệ thống điềukhiển được dùng để liên kết giữa bộ cảm biến và bộ điều khiển máy, cảm biến thị giáccho phép người sử dụng thiết lập thông số cụ thể của sản phẩm để kiểm tra Công đoạnkiẻm tra gồm 3 bước: Camera thu lại hình ảnh của bộ phận đó; Bộ vi xử lý phân tíchhình ảnh; Và cuối cùng, quyết định sản phẩm có đạt yêu cầu kiểm tra hay không rồithông báo kết quả đến cho dây chuyền sản xuất
Cảm biến thị giác là công cụ phát hiện siêu việt trong sản xuất do khả năng xử
lý được dây chuyền lắp ráp tốc độ cao, cho phép cảm biến kiểm tra sản phẩm với độchính xác 100%, so sánh với kiểm tra bằng mắt thường chỉ đạt được độ chính xác caonhất là 80% Thêm vào đó, cảm biến thị giác có thể kiểm tra vật thể (giống hoặc khác nhau) liên tục, lặp đi lặp lại, nhiều vật thể cùng một lúc và giữ tính ổn định cao, cungcấp kết quả đáng in cậy Với ứng dụng thân thiện với người sử dụng, dễ cài đặt, chứcnăng được nâng cao, cộng thêm liên kết ổn định với thiết bị hoạt động, cảm biến thịgiác ngày nay cung cấp giải pháp gần như toàn năng, hiệu quả về kinh tế, mạnh mẽ vàkhả năng kiểm soát bằng thị giác cho các nhà sản xuất
Cảm biến thị giác là công cụ sử dụng và giải mã ánh sáng (hoặc khi không cóánh sáng), kiểm soát các máy móc và quy trình để phát hiện sản phẩm lỗi Khônggiống như hoạt động đơn giản của các cảm biến quang điện truyền thống phát hiện khi
có mặt sản phẩm, cảm biến thị giác còn có thể phân tích màu sắc, hình dạng, kíchthước, hoặc vị trí của chi tiết trên một đối tượng Cảm biến thị giác không dựa vào đốitượng để kích hoạt kiểm tra, thay vào đó, nó sử dụng ánh sáng chuyên dụng để chiếusáng và nắm bắt được toàn bộ thông tin hình ảnh để cho phản hồi đầy đủ Một cảmbiến thị giác duy nhất có thể kiểm tra nhiều điểm trên một đối tượng, giảm yêu cầudùng đến thiết bị trong khi mở rộng phạm vi kiểm tra Các cảm biến thị giác "nhìnthấy" một khu vực, và hàng ngàn điểm riêng biệt (hay pixels) trong một khu vực cụthể Hơn nữa, người dùng có thể thay đổi ống kính của cảm biến, làm cho phần xem
Trang 14nhỏ hơn hoặc lớn hơn, để có được chi tiết chính xác, ngay cả ở mức độ vi mô nếu cần.Khi thu thập hình ảnh, cảm biến thị giác cung cấp kết quả đầu ra nhị phân với tínhnăng liên kết nâng cao, cho phép người sử dụng gửi số lượng lớn các dữ liệu về các bộphận hay tính năng của vật thể liên tiếp hoặc thông qua giao thức máy tính nhưEthernet Điều này cho phép dữ liệu được truyền đạt đến toàn bộ doanh nghiệp sảnxuất.
Ví dụ, trong quá trình sản xuất thực phẩm, một bộ cảm biến thị giác có thể xácminh các nhãn chính xác trên bao bì của sản phẩm thực phẩm bằng cách đọc mã matrận dữ liệu 2D hoặc phù hợp với khuôn mẫu trên nhãn Điều này không chỉ ngăn chặncác bao bì lỗi mà còn hiệu quả cho việc theo dõi và tìm ra các sản phẩm trong suốt quátrình sản xuất Ngoài ra, một cảm biến thị giác có thể đảm bảo rằng ngày và mã số đãđược in rõ ràng, loạt sản phẩm chính xác có thể dễ dàng được xác định nếu xảy ratrường hợp thu hồi
b Khả năng giao tiếp được nâng cao
Hầu hết các bộ cảm biến thị giác có phương pháp đa truyền thông để giao tiếpvới hệ thống điều khiển, từ I / O đơn giản rời rạc đến giao tiếp liên tục đến Ethernet
I / O rời rạc được sử dụng cho các bộ phận của hệ thống đòi hỏi tốc độ cao hơn hoặcđiều khiển đơn giản, chẳng hạn như kích hoạt hoặc kết quả đạt hay không đạt Cáchliên lạc nối tiếp và qua Ethernet được sử dụng cho việc truyền dữ liệu và thông tin hệthống, bao gồm cả tên mô hình, đếm kết quả đạt hay không đạt, và lựa chọn chươngtrình Khi giao tiếp tốc độ cao là cần thiết, chẳng hạn như khi gửi hình ảnh thì Ethernet
là phương pháp chính Kết nối Ethernet cho phép dễ dàng thiết lập cấu hình và kết nốimạng trong quá trình sản xuất Với sự ra đời của giao thức chuẩn cho Ethernet, bộ cảmbiến thị giác có khả năng trao đổi dữ liệu đầu vào và đầu ra trực tiếp tới PLC, HMI,hoặc các thiết bị nhà máy thay thế bằng các lệnh lập trình tối thiểu, cho phép ngườivận hành sản xuất lấy dữ liệu một cách nhanh chóng và dễ dàng Ví dụ, người dùng cóthể truy cập dữ liệu kiểm tra như thời gian kiểm tra, trạng thái đạt hay không đạt, lỗi
hệ thống, khởi động (hoặc không khởi động được), tín hiệu sẵn sàng, và các dữ liệukiểm tra bổ sung trực tiếp từ các thiết bị nhà máy Ngoài ra, dữ liệu được sử dụng đểxác thực có thể được truy cập và cập nhật từ xa, bao gồm cả các biến thể mô hình cậpnhật đến từng phút, cho phép kiểm soát sản xuất tốt hơn Trong các ứng dụng mã vạch,Ethernet truyền thông cũng cho phép các giá trị tham khảo mã vạch được tải lên tựđộng vào bộ cảm biến
c Cải thiện việc kiểm soát
Các thành tựu gần đây cho phép việc sử dụng cảm biến thị giác dễ dàng hơn
Trang 15Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
Những tiến bộ trong tính năng của màn hình cảm ứng và các thuật toán kiểm soát chophép các bộ cảm biến không phải phụ thuộc vào máy tính, do đó giảm thiểu nhu cầu sửdụng các loại cáp Ví dụ, một số cảm biến thị giác có tính năng như kiểm tra khớp, sựtrầy xước, loại hay đọc mã vạch một cách hiệu quả nhưng cài đặt cấu hình đơn giản.Cài đặt và thiết lập cấu hình dễ dàng hơn bằng cách sử dụng trình công cụ điều khiểntrên menu, hướng dẫn người sử dụng thông qua lựa chọn chỉ định kiểm tra cụ thể chotừng sản phẩm Điều này cho phép kỹ thuật viên nhà máy thiết lập cấu hình để sắp xếpkiểm tra giữa nhiều sản phẩm cho các dây chuyền sản xuất mà không cần phải mangtheo máy tính xách tay Với một số cảm biến thị giác tiên tiến có khả năng lưu trữ lênđến 100 kết quả kiểm tra tại một thời điểm, làm việc với các dây chuyền lắp ráp tốc độcao một cách đơn giản Cấu hình và thử nghiệm có thể được thực hiện từ xa bằng cách
sử dụng bộ mô phỏng cảm biến, cho phép cập nhật và sửa đổi offline, rút ngắn thờigian thiết lập trên các thiết bị sản xuất thực tế
Cảm biến thị giác giờ đây có cả chức năng giám sát từ xa, kết nối cảm biến vàmàn hình cảm ứng riêng biệt để hỗ trợ việc kiểm tra tại các khu vực khó giám sát Mộtkhi các bộ cảm biến thị giác đã được cài đặt, người dùng có thể vận hành các tính năng
từ xa để thiết lập cấu hình, theo dõi, và cập nhật các yêu cầu kiểm tra cho tất cả cáccảm biến thị giác, cho phép kiẻm soát sản phẩm một cách toàn diện
Đối với sản xuất thực phẩm và các môi trường rửa trôi khác, cảm biến thị giác
có thể được đi kèm với thùng nhựa hoặc thép không gỉ đạt tiêu chuẩn xếp hạng IP67hoặc lớn hơn để thích ứng với những điều kiện khắc nghiệt
d Ứng dụng tại hiện trường
Cảm biến thị giác có thể thực hiện các chức năng chuyên dụng trong đóng góibao bì thực phẩm và ứng dụng phân phối, từ việc đọc mã vạch trên các thùng giấy đến xác minh nhãn bao bì Ví dụ, nhiều hoạt động chế biến thực phẩm yêu cầu mã sốngày / lô sản xuất trên bao bì Để xác minh mỗi gói thông tin đó, một bộ cảm biến thịgiác có thể sử dụng một chức năng kiểm tra phù hợp, nắm bắt hình ảnh của mã ngày /
lô sản xuất Khi đang kiểm tra, nếu cảm biến phát hiện một gói thiếu mã, cảm biến sẽgửi kết quả không đạt đến hệ thống kiểm soát để loại bỏ sản phẩm ra khỏi dây chuyền.Điều này đảm bảo rằng các sản phẩm có thể được dễ dàng xác định nếu xảy ra thu hồi Chức năng truy lỗi sản phẩm cũng rất quan trọng để đảm bảo tính xác thực củasản phẩm Ví dụ, một cảm biến thị giác hiệu quả có thể kiểm tra và xác thực chai rượuthông qua việc đọc mã vạch Một cảm biến thị giác đầu tiên đọc các mã ma trận dữliệu 2D, thường được in trên nhãn của chai Các thông tin được quét sau đó, hoặc kiểmtra bằng công cụ cảm biến thị giác, so sánh dữ liệu bên trong hoặc gửi ra bên ngoài
Trang 16đến một cơ sở dữ liệu bảo mật từ xa Nếu một mã vạch bị đóng sai cho sản phẩm, nó
sẽ không được công nhận bởi hệ thống, hoặc có thể giả, sản phẩm sẽ bị từ chối và tách
ra để kiểm tra Cảm biến thị giác được thiết lập cấu hình với khả năng đọc mã ma trận
dữ liệu 2D thường được sử dụng để đọc và kiểm tra tính chính xác của mã vạch matrận dữ liệu 2D để theo dõi sản phẩm trong quá trình từ sản xuất đến phân phối
Do công nghệ cảm biến thị giác tiếp tục phát triển, quy trình sản xuất sẽ đượccải thiện đáng kể về ngăn ngừa lỗi và tăng năng suất, tạo ra một sản phẩm không chỉchất lượng cao nhất, mà còn đáp ứng các mong đợi khắt khe của ngành công nghiệp
2.2 Tổng quan về thị giác nổi
2.2.1 Thế nào là thị giác nổi
Một trong số những thuộc tính quan trọng nhất của thế giới vật chất xung quanh
ta là sự tồn tại của không gian 3 chiều Con người có thể trực tiếp cảm nhận khônggian 3 chiều thông qua các giác quan (thị giác, xúc giác, các cảm giác bản thể ),trong đó thị giác thu nhiều thông tin nhất Khi quan sát xung quanh bằng mắt, có 2 yếu
tố làm ta cảm nhận được chiều sâu hay khoảng cách, đó là sự điều tiết của thủy tinhthế và góc chập của 2 mắt Ấn tượng chìm hay nổi của không gian và các đối tượng cóđược nhờ sự tổng hợp của não bộ từ các hình ảnh ghi nhận đồng thời từ mắt trái vàmắt phải Hãy thử làm một thí nghiệm nhỏ: Nhắm 1 mắt lại rồi cầm 2 cây bút chì ở 2tay rồi thử tìm cách chạm 2 đầu chì vào nhau từ nhiều hướng Bạn sẽ thấy rõ sự khácbiệt của thế giới quan cảm thụ bằng một mắt và hai mắt Nhờ tiếp thu được thông tin
từ 2 góc nhìn khác nhau, thị giác hai mắt giúp chúng ta định được khoảng cách xa gần
và do đó, nhận thức được tính vô tận và liên tục của 3 chiều không gian
Nguyên lý căn bản của hầu hết các thể loại hình ảnh nổi là sự mô phỏng thị giáchai mắt đối với đối tượng sự vật Nói cách khác, hiệu ứng 3D ở các loại ảnh nổi hayphim nổi đều giống nhau ở bản chất: nhằm gửi đến mắt trái và mắt phải người quansát một cách tách biệt hai hình ảnh tương ứng với góc lệch bên trái và bên phải của đốitượng (nếu tách biệt không tốt sẽ có hiện tượng nhòe hình) Sự chập ảnh vô thức củanão bộ sẽ gây nên ấn tượng chìm hay nổi của đối tượng sự vật Đó là sự khác biệt lớnnhất đối với hình ảnh 2D truyền thống - khi người quan sát dù đứng ở bất kỳ góc nàothì mắt trái và phải cũng chỉ nhìn thấy một khuôn hình giống hệt nhau
Thị giác nổi là kỹ thuật sử dụng hai camera để đo khoảng cách giữa các đốitượng Cấu hình đơn giản nhất (cấu hình stereo chuẩn) sử dụng hai camera thẳng hàng
và cách nhau theo phương ngang
Trang 17Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
Hình 2.2 Cấu hình chuẩn của hệ thống 2 camera
Sử dụng hai camera này chúng ta có thể thu được hai hình ảnh của đối tượng tạihai vị trí khác nhau: Anh bên trái và ảnh bên phải của đối tượng (sự chênh lệch) Cácảnh của các camera được phân tích các điểm chung Sử dụng quy tắc tam giác đồngdạng và độ lệch của các điểm chung để xác định khoảng cách (độ sâu) so với camera
Hình 2.3 Ví dụ về thị giác 2 mắt của con người.
Con người có hai mắt, mỗi mắt nắm bắt quan điểm riêng của nó và hai hình ảnhriêng biệt được gửi vào não để xử lý Khi hai hình ảnh đến cùng một lúc ở mặt sau củanão, chúng được liên kết thành một bức tranh Tâm kết hợp hai hình ảnh bằng cách kếthợp các điểm tương đồng và thêm vào sự khác biệt nhỏ Sự khác biệt nhỏ giữa hai bộảnh thêm lên đến một sự khác biệt lớn trong hình ảnh cuối cùng! Hình ảnh kết hợp lànhiều hơn tổng của các bộ phận của nó Nó là một hình ảnh âm thanh nổi ba chiều Trong một hệ thống thị giác nổi, máy ảnh được liên kết theo chiều ngang và cách
Trang 18nhau bằng một khoảng cách được gọi là đường cơ sở Hình 2.2 cho thấy một ví dụ về
hệ thống thị giác âm thanh stereo với bốn máy ảnh đặt trên một thanh Sử dụng mộttrong những máy ảnh bên trái và một trong những máy ảnh trên bên phải sẽ cung cấphai hình ảnh cần thiết để trích xuất một bản đồ chênh lệch, cung cấp các dữ liệu cầnthiết cho 3-D xây dựng lại
2.2.2 Tổng quan về hệ thống thị giác nổi Stereo Vision.
Trong tầm nhìn truyền thống âm thanh stereo, hai máy ảnh, theo chiều ngang từ mộtngười khác được sử dụng để có được hai quan điểm khác nhau trên một cảnh, mộtcách tương tự như con người nhìn bằng hai mắt Bằng cách so sánh hai loại hình ảnh,thông tin chi tiết liên quan có thể đạt được, dưới hình thức của sự khác biệt, đó là tỷ lệnghịch với sự khác biệt về khoảng cách đến các đối tượng
Để so sánh những hình ảnh, hai quan điểm phải được chồng trong một thiết bị nổi,hình ảnh từ máy ảnh phải được hiển thị trên mắt phải của người quan sát và từ một trái
để mắt trái
Sơ đồ khối cuả hệ thống thị giác nổi
Hình 2.4 Sơ đồ khối của hệ thống thị giác nổi
Các bước thực hiện hệ thống thị giác nổi:
Trang 19Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
Hình 2.5 Các bước thực hiện hệ thống Stereo Vision Calibration ( hiệu chỉnh camera )
Để áp dụng các kỹ thuật khác nhau, âm thanh stereo với một mức độ hợp lý chính xác,điều quan trọng là để hiệu chỉnh hệ thống camera Quá trình hiệu chỉnh cung cấp cácgiá trị số cho các thông số máy ảnh thực chất như chiều dài tiêu cự, và các thông sốbên ngoài như góc độ định hướng tương đối giữa hai máy ảnh Về nguyên tắc, bất kỳđối tượng đặc trưng có thể được sử dụng như là một mục tiêu hiệu chuẩn Có nhiềuphương pháp hiệu chuẩn mà sử dụng các đối tượng ba chiều, chẳng hạn như một hộpbao phủ với các dấu hiệu, nhưng mẫu bàn cờ phẳng là dễ nhất để hiệu chỉnh
Kỹ thuật hiệu chuẩn giả định việc sử dụng một mẫu hình bàn cờ như thể hiện trong
hình 2.6 Các máy ảnh được đặt để mô hình này xuất hiện trong cả hai hình ảnh Hệ
thống tự động phát hiện góc, sau khi chu vi của hội đồng quản trị được lựa chọn bằngtay, trong bàn cờ trong cả hai hình ảnh, sử dụng một đoán ban đầu tại bóp méo xuyêntâm nếu cần thiết Xem nhiều của bàn cờ cùng được thực hiện bởi một trong hai dichuyển máy ảnh hoặc di chuyển các bảng kiểm tra Để đạt được kết quả chất lượngcao, đó là khuyến cáo rằng ít nhất mười hình ảnh Nó cũng là cần thiết để di chuyểnbàn cờ hoặc máy ảnh để có được hình ảnh của mục tiêu chuẩn ở nhiều góc độ Tọa độ3D của các góc được cung cấp cho hệ thống Sử dụng kiến thức của các địa điểm này3D cùng với các tọa độ góc phát hiện trong những hình ảnh, hiệu chuẩn giải quyết chovòng xoay và dịch vector có liên quan các máy ảnh trái và phải cũng như các thông số
Trang 20máy ảnh bên trong.
Hình 2.6 Mẫu bàn cờ
Chiếu quan điểm có thể được biểu diễn như là q = MQ, trong đó Q là một điểm cảnh3D được đưa ra với máy ảnh trung tâm tọa độ, q là các điểm ảnh thu 2D, và M đượcgọi là ma trận máy ảnh Ma trận 3x3 M chứa các thông số nội tại cho máy ảnh:
M=[fx 0 cx 0 fy cy
0 0 1]
Các thông số cx và cy đại diện cho trung tâm hình ảnh, được xác định bởi các trụcchính của thấu kính, và thường là khác nhau từ các trung tâm của các mảng cảm biếnCCD Lý tưởng nhất, các trục giao nhau nên các trung tâm chính xác của bộ cảm biến,nhưng trong thực tế các bộ cảm biến được thay thế bởi một vài điểm ảnh Các thông số
fx và fy đại diện cho yếu tố quy mô ngang và dọc, tương ứng Hai tham số là cần thiếtbởi vì hầu hết các bộ cảm biến có hình chữ nhật (không vuông) pixel Hai tham số nàykết hợp các độ dài tiêu cự ống kính, f, với kích thước vật lý của các yếu tố cá nhân trêncác mảng cảm ứng: 𝑓𝑥 = 𝑓 * sx và 𝑓𝑦 = 𝑓 * sy, đó là chiều dài tiêu cự vật lý thực tếnhân với kích thước mỗi phần tử trên cảm biến trong pixel (điểm ảnh mỗi mm)
Khi sử dụng một ống kính thủy tinh tiêu chuẩn, như trái ngược với một ống kính lỗkim, các đường thẳng trong thế giới 3D đôi khi sẽ xuất hiện để được uốn cong theohình ảnh Hiệu quả là rõ rệt hơn ở gần biên giới của hình ảnh Điều này được gọi làhình ảnh bị méo hoặc biến dạng pincushion hay, nói chung, biến dạng xuyên tâm
Hình ảnh bị méo được minh họa trong Hình 2.7 Hình 2.8 cho thấy một hình ảnh thực
tế có chứa hình ảnh bị méo cùng với hình ảnh sửa chữa
Trang 21Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
Hình 2.7 Ví dụ về hình ảnh bị méo Hình ảnh sửa chữa trong Hình 2.8 thu được bằng cách "cong vênh" hay "kéo dài" hình
ảnh ban đầu theo phương trình sau:
𝑥𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑=(1+ k1r2+k2r2+k3r6)𝑦𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑=(1+ k1r2+k2r4+k3r6)
Hình 2.8 Hình ảnh bị méo và sau khi sửa méo
Ở đây, (x, y) là vị trí của một điểm ảnh trong hình ảnh ban đầu và (xcorrected,ycorrected) là vị trí mới của điểm ảnh này trong hình ảnh sửa chữa R biến đại diệncho khoảng cách từ trung tâm hình ảnh Các hằng số ki được lấy từ một loạt Taylor mởrộng xung quanh r = 0, nơi chỉ có các hệ số sức mạnh thậm chí là cần thiết để giữ chocác chức năng đối xứng Một mục tiêu của một quá trình hiệu chỉnh máy ảnh là để giảiquyết cho các giá trị kia
Trang 22Một ví dụ về một âm mưu bóp méo xuyên tâm cho một ống kính máy ảnh cụ thể được
thể hiện trong Hình 2.9 Mũi tên màu xanh hiển thị như thế nào điểm bị bóp méo và
làm thế nào họ được chuyển khi sửa chữa các hình ảnh
Hình 2.9 Âm mưu bóp méo xuyên tâm cho một ống kính đặc biệt.
Các thông số nội tại của hai máy ảnh (chiều dài tiêu cự, trung tâm hình ảnh,parametersof ống kính biến dạng)
Các thông số ngoại sinh (R và T mà gắn hai máy ảnh) Hiệu chuẩn được thực hiện thuthập và xử lý 10 cặp âm thanh stereo của một mô hình được biết đến (thường là mộtbàn cờ)
Hình 2.10 Các thông số nội tại của máy ảnh.
Rectification (hiệu chuẩn).
Trang 23Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
Hình 2.11 Cặp âm thanh nổi (trên) và cặp sửa chữa (dưới) Những hình ảnh trên vẽ các đường epipolar tương ứng với các điểm đánh dấu trong hình ảnh bên dưới.
Hiệu chuẩn của một cặp ảnh nổi là quá trình chuyển đổi ("cong vênh") hai hình ảnhsao cho các điểm tương ứng nằm trên các hàng cùng một hình ảnh Chính thức hơn,việc chuyển đổi gây ra dòng epipolar (xem bên dưới) để trở thành thẳng Cải chínhthường được thực hiện để cải thiện tốc độ của việc tìm kiếm các thư từ âm thanhstereo
Bằng cách sử dụng thông tin từ hiệu chuẩn từ các bước trên ta thu được dạng hiệuchỉnh như sau: Tất cả các dòng epipolar là song song trong mặt phẳng ảnh sửa chữathiết lập âm thanh stereo tiêu chuẩn
Hình học hình ảnh âm thanh nổi được minh họa trong Hình 2.12a Một cảnh dự án P
điểm vào pl và pr trong hai hình ảnh Theo hai quan điểm chiếu, Ol và Or, cùng với Pxác định một mặt phẳng epipolar Máy bay epipolar cắt mỗi mặt phẳng hình ảnh để tạothành hai đường epipolar Tầm quan trọng của hình học epipolar là bất kỳ điểm ảnh,
nói XL từ trong hình ảnh bên trái (Hình 2.12b), xác định một đường epipolar (màu đỏ)
trong hình ảnh ngược lại rằng, phải có các điểm tương ứng nếu nó hiện diện Này
"ràng buộc epipolar" là quan trọng để giảm thời gian tính toán trong việc tìm kiếm cácthư tín, vì nó có hiệu quả làm giảm tìm kiếm để tìm kiếm một chiều chứ không phảitìm kiếm các khu vực hình ảnh 2D Hạn chế này cũng làm giảm số lượng các trận đấukhông chính xác
Trang 24Hình 2.12 Hình ảnh hình học Stereo.(a) máy bay Epipolar, nó là mặt phẳng hình thành bởi các điểm 3D (b) máy bay Epipolar với nhiều điểm 3D cùng bên phải đường
epipolar tương ứng với một điểm trên đường epipolar trái.
Hình 2.12 cũng minh họa nhiều điểm trong 3D có thể được ánh xạ như một điểm
duy nhất trong hình ảnh bên trái và như nhiều điểm dọc theo đường epipolar tronghình ảnh bên phải Xem xét một điểm XL từ trong hình ảnh bên trái, nó không phải là
có thể xác định các điểm, X3, X2, X1, hoặc X là tương ứng, từ độ sâu của các điểmkhông thể được xác định từ một điểm thuận lợi duy nhất Tìm kiếm sự tương ứngchính xác cho XL trong hình ảnh bên phải, tuy nhiên, trên thực tế sẽ xác định vị trí 3Dcủa đối tượng
Để xác định các đường epipolar, hai ma trận cần phải được xác định, ma trận thiết yếu
và các ma trận cơ bản Sự khác biệt là ma trận thiết yếu, điện tử, liên quan các máyảnh trái và phải trong 3D không gian vật lý (bản đồ pl để pr), trong khi ma trận cơ bản
F, liên quan hai quan điểm cùng một máy ảnh, nhưng trong hệ tọa độ điểm ảnh (bản đồcác ql biến qr) Ma trận cần thiết có vòng xoay và thông tin dịch từ máy ảnh bên trái đểchiếc máy ảnh trong tọa độ vật lý Ma trận cơ bản có hai thông số mô tả epipoles trái
và phải cũng như ba tham số cho các homography có liên quan mặt phẳng ảnh tráisang phải
Để xác định các máy bay epipolar, định nghĩa của một chiếc máy bay liên quanđến việc bình thường với mặt phẳng n và một điểm được định nghĩa trong một máybay được sử dụng, mà giữ cho tất cả các điểm trên mặt phẳng x với:
(x-a) * n
Trang 25Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
Kể từ khi các vectơ Pl và T (vector kết nối trung tâm của dự) được chứa trong mặtphẳng epipolar, bình thường với các vec tơ này có thể được sử dụng như là các vector
n Đơn giản chỉ cần dùng sản phẩm qua các vector sẽ cho chúng ta một vector bìnhthường với mặt phẳng epipolar Ở đây tất cả các điểm quan sát có thể cho Pl có thể
được đưa vào, thể hiện trong hình 3.11 bên phải ở độ sâu khác nhau, thông qua các
điểm T, nơi OlOr vector cắt máy bay epipolar là:
(Pl – T)T (T x Pl ) = 0
Kể từ khi tập trung với việc tìm kiếm các ma trận cơ bản để hiệu chuẩn, mối quan
hệ giữa nhu cầu ql và qr được tìm thấy Điều này có thể được thực hiện bằng cách đầutiên liên quan tọa độ vật lý của dự Pl và Pr Pr có thể được thay thế trong bằng cách sửdụng phương trình trên có liên quan Pl để Pr Giải quyết cho Pl, cho những điều sauđây:
Disparity map (bản đồ chiều sâu).
Nhằm mục đích tìm kiếm tương đồng điểm trong cặp stereo
Mọi người có thể nhìn thấy chiều sâu bởi vì họ nhìn vào cùng một cảnh tại hai góc độhơi khác nhau (một từ mỗi mắt) Bộ não của chúng tôi sau đó tìm ra cách điều gần làbằng cách xác định xa nhau họ đang có trong hai hình ảnh từ mắt chúng ta Ý tưởng ởđây là để làm điều tương tự với một máy tính Kiểm tra này đối với một số thông tin
về hình học và toán học của tầm nhìn âm thanh stereo Thứ nhất, đây là những hìnhảnh tôi sẽ sử dụng để hiển thị kết quả Trong ảnh nổi chúng tôi có 2 máy ảnh ở mộtkhoảng cách cố định từ mỗi vị trí khác nhau, có một hình ảnh của một cảnh Hình ảnh
mà chúng tôi nhận được từ mỗi máy ảnh hơi khác nhau, nếu chúng ta đặt cả hai cùngnhau chúng ta sẽ thấy rằng họ là một chút mờ, một số đối tượng trong khung cảnh sẽ
nhìn liên kết, giữa hình ảnh trái và phải Nếu các liên kết của một đối tượng trong cảnh
này là rất lớn, sau đó các đối tượng gần gũi hơn với của máy ảnh nếu đối tượng là ít
phù hợp hoặc rõ ràng hoặc lót lên tốt hơn, điều đó có nghĩa hơn nữa của nó ra khỏi
máy ảnh
Trang 26Hình 2.13 Bản đồ chiều sâu
Hình 2.14 Ví dụ về bản đồ chiều sâu
Một số thuật toán có thể được sử dụng để tính toán sự tương quan và tìm thấy sựkhác biệt là một khối kỹ thuật phù hợp với nơi mà tổng khoảng cách tuyệt đối (SAD)cửa sổ được sử dụng để tìm thấy sự tương ứng
Đây là thư tín của các điểm trong hình ảnh bên trái để những người trong hình ảnhbên phải được tìm thấy Sau khi cải chính, các hàng trong những hình ảnh được liên
Trang 27Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
kết để các điểm tương ứng về mặt lý thuyết nên nằm dọc theo các số cùng một dòngtrong cả hai hình ảnh Cửa sổ SAD được đặt ở một điểm ảnh trong hình ảnh bên trái vàmột số điểm được tính toán Các thuật toán sau đó tìm kiếm các hình ảnh bên phải bắtđầu với các tọa độ tương tự như bên trái và di chuyển sang bên trái, dọc theo trục x,tính điểm cho mỗi vị trí điểm ảnh cho đến khi nó đạt đến sự chênh lệch tối đa Sự khácbiệt là số lượng điểm ảnh bù đắp từ các điểm ảnh ban đầu đang được xem xét cho một
sự tương ứng Giá trị SAD được tính bằng công thức sau đây:
số điểm thấp nhất được coi là phù hợp nhất cho các điểm trong hình ảnh bên trái
Thuật toán SAD
Là một trong những đơn giản nhất của các biện pháp tương tự được tính bằng cách trừđiểm ảnh giữa các hình ảnh tham khảo I1 và I2 Hình ảnh là tập hợp của các sự khácbiệt tuyệt đối trong cửa sổ vuông và tối ưu hóa với chiến lược người thắng được tất cả.Nếu những hình ảnh trái và phải phù hợp chính xác, các kết quả sẽ bằng không
Hình 2.15 Bản đồ chiều sâu sử dụng thuật toán SAD
Thuật toán SSD
SSD= ∑ ¿ ¿2
Trang 28Hình 2.16 Bản đồ chiều sâu sử dụng thuật toán SSD
Trang 29Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
Hình 2.18 Quá trình đưa ra bản đồ độ sâu.
Trong tầm nhìn máy tính, sự khác biệt được sử dụng như phương pháp duy nhất đểxác định độ sâu Không giống như con người cũng sử dụng kiến thức về quy mô củamột đối tượng, vị trí của di chuyển mắt của chúng tôi, cũng như kiến thức về tập trung,tức là như ống kính được thành lập thế nào để đạt được trọng tâm Một bức ảnh củamột cái nhìn từ hai quan điểm khác nhau cho phép ước lượng khoảng cách đến một đốitượng, hoặc theo khu vực dựa trên mối tương quan và chiều sâu bản đồ hoặc tính năngdựa trên mối tương quan và mốc tam giác Mối quan hệ giữa một điểm trong một hìnhảnh cặp stereo và môi trường được tính theo phương trình sau:
d= f Z b
px= f X Z
py= f Y Z
Trong đó: d là sự chênh lệch (tách trên mặt phẳng ảnh)
b là đường cơ sở (táchgiữa hai máy ảnh)
f là tiêu cự của ống kính máy ảnh và X,
Y và Z là tọa độ không gian 3 chiều liên quan đến máy ảnh
px, py, phối hợp hình ảnh trong máy ảnh tham khảo, thường là bên trái.Điều này đòi hỏi máy ảnh chỉ được tách ra, hoặc theo chiều dọc hoặc chiều ngang, bởi
Trang 302.2.3 Ứng dụng của thị giác nổi
Các ứng dụng của thị giác nổi:
- Giao thông vận tải : Dựa vào dữ liệu thu camera thu được để xác định lỗi
vi phạm khoảng cách tối thiểu cho phép các đối tượng tham gia giao thông, đặc biệt là trong hệ thống đường hầm
- Y tế : Sử dụng camera giám sát để giám sát hoạt động uống thuốc , giám sát hành vi ăn tối của người cao tuổi, từ đó có thông báo kịp thời cho nhân viên y tế
- Công nghệ sản suất tự động : ứng dụng điều khiển robot dựa trên công nghệ xử lý ảnh , nhận biết khoảng cách vật cản
- Công nghệ Robot : Ứng dụng trong các robot trong công nghiệp, y tế, giáo dục đào tạo, giải trí và trong an ninh quốc phòng
- Giải trí : Nổi bật nhất là bộ Kinect dùng cho chơi game trên các loại máy Xbox Người chơi sẽ thấy rất thú vị khi trả nghiệm game
Một số hình ảnh về ứng dụng của thị giác nổi:
Hình 2.19 Hệ thống robot phẫu thuật DaVinci trong y tế
Trang 31Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
Hình 2.20 Robot di động trong nhà
Hình 2.21 Xe không người lái
Trang 32Hình 2.22 Kinect
Hình 2.23 Chơi game với Kinect
Trang 33Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
2.2 Tổng quan về phần mềm mô phỏng OpenCv
2.2.1 Thư viện OpenCV
Kể từ khi được giới thiệu vào tháng 1 năm 1999, OpenCV đã được sử dụngtrong rất nhiều ứng dụng, các sản phẩm và các nghiên cứu Ví dụ trong lĩnh vựchàng không vũ trụ, bản đồ web, sử dụng giảm nhiễu trong y học, phân tích đốitượng, an ninh, hệ thống dò tìm, theo dõi tự động và hệ thống bảo mật, quản lý hệthống sản xuất, xử lý camera, ứng dụng trong quân sự, hệ thống hàng không khôngngười lái, trên mặt đất, các tàu ngầm Ngoài ra, nó còn được sử dụng trong nhậndạng âm thanh OpenCV còn là một chìa khóa quan trọng trong các rô bốt sửdụng thị giác máy như Stanford, Asimo
Hình 2.24 Quá trình phát triển của OpenCV
Trang 34b Vì sao lựa chọn OpenCV?
Thị trường thị giác máy đang ngày càng mở rộng và liên tục phát triển Thưviện tiêu chuẩn sẽ tạo ra các ứng dụng mới và các giải pháp xử lý dễ dàng hơn đặcbiệt tối ưu khi sử dụng cấu trúc của Intel Tạo ra các mẫu ứng dụng bằng các thưviện được cập nhật thường xuyên và thực hiện được các thuật toán rất nặng như dòtìm khuôn mặt
Có rất nhiều công nghệ hiện đại và các công ty lớn sử dụng thư việnOpenCV trong ứng dụng của mình (điển hình như Intel, Microsoft, IBM, Siemens,Google v v.) và các trung tâm nghiên cứu như (Stanford, MIT, CMU, Cambridge,INRIA…)
Hơn 14000 thành viên trên forum OpenCVyahoogroups.com với trung bình
10 đến 20 bức thông điệp được trao đổi hàng ngày
Điều đó có thể khẳng định OpenCV thực sự đã góp phần vô cùng lớn tronglĩnh vực thị giác máy
c Cấu trúc và nội dung OpenCV như thế nào?
Hình 2.25 Cấu trúc cơ sở của OpenCV
Để hiểu OpenCV làm việc như thế nào chúng ta bắt đầu từ sự phân chia cấutrúc và nội dung của OpenCV ở 5 phần Cấu trúc của OpenCV được chia thành 5phần chính, 4 trong số đó được chỉ ra trong hình 6
CV (computer vision) là thành phần chứa những xử lý ảnh cơ sở và thuật toánthị giác máy ở mức cao
MLL (machine learning library) là thư viện machine learning, cái này baogồm rất nhiều lớp thống kê và gộp các công cụ xử lý
HighGui chứa các thủ tục vào ra và các hàm dùng cho việc lưu trữ và tải
Trang 35Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
ảnh video
CXCore chứa cấu trúc và nội dung dữ liệu cơ sở
d Các hàm I/O trong OpenCV
OpenCV cung cấp các hàm mà cho phép chúng ta tương tác trực tiếp với hệđiều hành, các file hệ thống, các phần cứng như Webcam Các hàm này nằm trongthư viện HighGUI, HighGUI cho phép mở một window, hiển thị bức ảnh, đọc cácfile liên quan đến đồ hoạ (ảnh, video) các file ảnh như jpg, bmp v v các file videonhư avi, wma, mp4, dat v v Ngoài ra nó còn xử lý các sự kiện chuột, bàn phím,OpenCV còn cho phép chúng ta lựa chọn thuật toán linh động hơn bằng cáchcung cấp các hàm tạo thanh trượt slider, switch v v Để làm việc với OpenCVtrước hết phải học các hàm trong thư viện này
Thư viện HighGUI có thể chia thành 3 phần: phần cứng, phần file hệ thống
và phần GUI (Graphical User Interface) chúng ta có thể xem xét các phần trong thưviện HighGUI như sau
Phần cứng: là phần thiết yếu nhất, liên quan đến hoạt động của Camera,trong phần lớn hệ điều hành việc tương tác với phần cứng rất khó khăn và thực sự rấtkhó nhưng OpenCV cung cấp hàm đơn giản để thực hiện việc tương tác này
ví dụ: cvCaptureFromCAM()
Phần file hệ thống: là khái niệm liên quan đến việc tải và lưu ảnh, một đặcđiểm rất tuyệt vời trong thư viện HighGUI là cho phép chúng ta làm việc với ảnhtương tự khi làm việc với video Vì vậy chúng ta có thể nhanh chóng tiếp cận vớiviệc xử lý ảnh mà không mất nhiều thời gian cho việc tải, lưu ảnh, video
Phần GUI: là hệ thống cửa sổ (Window), thư viện cung cấp một số hàm đơngiản mà cho phép chúng ta mở một window hiển thị ảnh trên window này Ngoài ra
nó còn cho phép chúng ta thực thi các sự kiện nhận được từ chuột và bàn phím.Một số hàm đơn giản thường xuyên sử dụng trong thư viện HighGUI như sau:
- Đầu tiên chúng ta cần học cách làm thế nào để đọc và viết các files ảnh, chụpvideo chuyển đổi giữa các định dạng màu, và truy cập dữ liệu điểm ảnh tất cả quagiao diện OpenCV
Trang 36quyết định file định dạng, để sử dụng từ tên file mở rộng.
- Cả cvLoadImage và cvSaveImage đều nằm trong module HighGUI
- Khi bạn sử dụng xong bức ảnh đầu vào nhận được từ cvLoadImage(), loại bỏ nóbằng hàm cvReleaseImage() Hàm này đưa ra một địa chỉ của con trỏ giống đầuvào của nó bởi việc nó làm là loại bỏ an toàn (Safe Release) Nó chỉ loại bức ảnhnày khi bức ảnh là non-null Sau khi loại bỏ xong nó đặt giá trị con trỏ về 0
- Làm việc với Video tương tự như là việc với ảnh
- Nhận các frame từ một webcam, hay các thiết bị video số khác thì dễ dàng như tải
nó lên từ một file có sẵn Để nhận một khung từ camera ta chỉ việc thaycvCreateFileCapture() bằng hàm cvCreateCameraCapture()
- Chúng ta có thể tạo cvCapture*Object với cvCreateFileCapture() Chúng ta sửdụng cvQueryFrame () để nhận từng frame và cvWaitkey(33) để chờ 33ms giữatừng frame Chúng ta sử dụng cvReleaseCapture() để loại bỏ capture khi ngừng sửdụng
- Copy một bức ảnh
- Lưu trữ bức ảnh trong OpenCV
- OpenCV lưu bức ảnh giống cấu trúc C, IplImage, Ipl viết tắt của imageprocessing library
Kiểu dữ liệu IplImage được định nghĩa trong CXCORE Thêm vào dữ liệuảnh thực, nó chứa một số đặc điểm để mô tả như sau:
- Width - độ rộng bức ảnh tính theo pixel
- Height - độ cao bức ảnh tính theo pixel
- Depth - một kiểu tiền định nghĩa chỉ rõ lượng bits/pixel/channel
Ví dụ : Depth=IPL_DEPTH_8U, dữ liệu cho mỗi pixel kênh ảnh được lưu giữnhư 8-bits không dấu
- nChannel – số lượng của dữ liệu channel ảnh (từ 1- 4) Mỗi một channel chứamột kiểu của pixel dữ liệu
ví dụ: bức ảnh RGB có 3 kênh R (đỏ), G (xanh lá cây), B (xanh da trời)
- Grayscale là bức ảnh chỉ chứa một kênh điểm ảnh sáng nhất
- Truy cập giá trị điểm ảnh
- Chúng ta có thể tạo ra rất nhiều hàm truy cập điểm ảnh mà không cần tác độngtrực tiếp đến dữ liệu ảnh thô
Cách dễ nhất để đọc từng điểm ảnh riêng lẻ là sử dụng hàm cvGet2D
- cvScalar cvGet2D(const *CvArr, int row, int col)
- Hàm này có 3 thuộc tính: một pointer trỏ đến dữ liệu chứa trong CvArr*, một
Trang 37Trường ĐHSPKT Hưng Yên ĐỒ ÁN TỐT NGHIỆPKhoa: Điện – Điện Tử
mảng chỉ rõ vị trí hàng và cột Hàng topmost của điểm ảnh là row=0, vàbottommost là row=height-1
e Các hàm thực hiện xử lý ảnh
Thư viện HighGUI chỉ cung cấp các hàm thực hiện vào ra bức ảnh tuy nhiênvấn đề xử lý ảnh mới thực sự là quan trọng và khó khăn OpenCV cung cấp các hàmthực hiện xử lý ảnh nằm trong thư viện cv Một bức ảnh không chỉ đơn giản làmột mảng giá trị màu sắc khi chúng ta đề cập đến xử lý ảnh thì nó đã bao gồmcác hàm xử lý liên quan đến cấu trúc của bức ảnh
Một số hàm xử lý ảnh thường xuyên sử dụng như sau:
- Smoothing (làm mịn)
Smoothing hay còn gọi là blurring nó là một thuật toán xử lý ảnh đơn giản vàthường xuyên sử dụng Có rất nhiều nguyên nhân chúng ta dùng đến smoothingnhưng nó thường dùng để loại bỏ nhiễu do máy ảnh sinh ra Smoothing quan trọngkhi bạn muốn giảm độ phân giải của một bức ảnh theo rất nhiều cách khác nhau.Bằng việc thay thế kiểu smooth và các thông số sẽ có các bức ảnh tương đốikhác nhau tuy theo mục đích sử dụng nhưng thường dùng nhất vẫn làCV_GAUSSIAN
- Image morphology (hình thái học bức ảnh)
OpenCV cung cấp hàm chuyển đổi morphology nhanh chóng và tiện lợi khi làmviệc với bức ảnh Cơ bản của morphology là dilation (giãn) và erosion (co) chúngngày càng được sử dụng rộng rãi trong việc loại bỏ nhiễu, cô lập những thành phầnriêng rẽ, và liên kết các thành phần với nhau
- Theshold (ngưỡng)
Chúng ta thường làm rất nhiều bước xử lý ảnh khác nhau và đưa ra những quyếtđịnh cuối cùng về điểm ảnh trên một bức ảnh hay nói cách khác là loại bỏ giá trịphía trên hoặc dưới một ngưỡng nào đó giữ lại nhưng điểm ảnh nằm trong khoảnggiá trị mong muốn lúc đó ta dùng hàm threshold
f Các hàm Histograms and Matching
- Histogram
Trong việc phân tích hình ảnh thông tin về đối tượng và video, chúng tathường muốn biểu diễn chúng giống như là một histogram Histogram có thể sửdụng để biểu diễn rất nhiều dạng khác nhau như phân bố màu của đối tượng, độdốc mẫu cạnh của một đối tượng, hay xác suất phân bố vị trí của đối tượng
Tìm histogram được sử dụng rất nhiều trong các chương trình ứng dụng thịgiác máy tính Histogram được sử dụng để dò tìm sự thay đổi giữa các cảnh trong