BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸTHUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ỨNG DỤNG CAMERA 3D TRONG VIỆC PHÂN LOẠI SẢN PHẨ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ
THUẬT THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ỨNG DỤNG CAMERA 3D TRONG VIỆC PHÂN LOẠI SẢN PHẨM THEO HÌNH DẠNG VÀ KÍCH THƯỚC
GVHD: Ngô Bá Việt SVTH: Lê Văn Thái MSSV: 14141289
SKL006093
Tp Hồ Chí Minh, tháng 7/2019
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
-ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
Trang 3Tp Hồ Chí Minh - 07/2019
Trang 4TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
MSSV: 14141289
Tp Hồ Chí Minh - 07/2019
Trang 5TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
o0o Tp HCM, ngày 05 tháng 06 năm 2019
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
I TÊN ĐỀ TÀI: ỨNG DỤNG CAMERA 3D TRONG VIỆC PHÂN LOẠI SẢN
PHẨM THEO HÌNH DẠNG VÀ KÍCH THƯỚC
II NHIỆM VỤ
1 Các số liệu ban đầu:
Các tài liệu về Python và thư viện OpenCV, Giáo trình Xử lý
ảnh Các ví dụ về nhận dạng hình học cơ bản
2 Nội dung thực hiện:
Tìm hiểu phương pháp nhận dạng và phân loại sản
phẩm Tổng quan về xử lý ảnh
Tìm hiểu Camera 3D và các Module liên quan
Viết chương trình trên
Python Hoàn thành mô hình
Đánh giá kết quả thực hiện
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 05/06/2019
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Ngô Bá Việt
Trang 6BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
Ứng dụng camera 3D trong việc phân loại sản phẩm theo hình dạng và kích thước
GVHD
21-25/3 Viết đề cương chi tiết
26/3-05/4 Tìm hiểu phương pháp nhận dạng hình cơ bản
06/-09/4 Tìm hiểu thuật toán dán nhãn
10-17/4 Tìm hiểu camera 3D
18-21/4 Tìm hiểu thuật toán tính khoảng cách
22-28/4 Tìm hiểu thuật toán tính kích thước
29/5-04/5 Tìm hiểu về python
05-06/5 Thực hiện viết code python trên window
07-08/5 Làm các hình khối (sản phẩm) và chạy thử
13-20/5 Hoàn thành mô hình
Trang 721-29/5 Viết báo cáo
GV HƯỚNG DẪN
ThS Ngô Bá Việt
Trang 8Đề tài này là tôi tự thực hiện dựa vào một số tài liệu trước đó và không sao chép
từ tài liệu hay công trình đã có trước đó
Người thực hiện đề tài
Lê Văn Thái
Trang 9Tiếp theo tôi cũng xin cảm ơn tới các Anh, Chị khóa trên cùng các bạn sinh viên
đã tạo điều kiện giúp đỡ, từ những tài liệu liên quan tới đề tài cho tới những kinhnghiệm sống thực tế Nhờ họ mà tôi mới có thể phát triển được
Tôi cũng gửi lời đồng cảm ơn đến các bạn lớp 14141DT1A đã chia sẻ trao đổikiến thức cũng như những kinh nghiệm quý báu trong thời gian thực hiện đề tài, vàcũng là lớp học có nhiều kí ức nhất thời sinh viên của tôi
Cuối cùng là gửi lời cảm ơn đến Cha, Mẹ nếu không có hai đấng sinh thành thìngày hôm nay cũng không có ai hiện diện ở đây để thực hiện những việc mình muốn,
họ đã tạo mọi điều kiện để giúp con của mình hướng tới một tương lai tốt đẹp
Một lần cuối xin chân thành cảm ơn!
Người thực hiện đề tài
Lê Văn Thái
Trang 10Trang bìa i
Nhiệm vụ đồ án ii
Lịch trình iii
Cam đoan iv
Lời cảm ơn v
Mục lục vi
Liệt kê hình vẽ ix
Liệt kê bảng vẽ xi
Tóm tắt xii
CHƯƠNG 1: TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 1
1.3 NỘI DUNG NGHIÊN CỨU 1
1.4 GIỚI HẠN 2
1.5 BỐ CỤC 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4
2.1 TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ CÁC THƯ VIỆN LIÊN QUAN 4
2.1.1 Giới thiệu xử lý ảnh 4
2.1.2 Những vấn đề trong xử lý ảnh 4
2.2 PHƯƠNG PHÁP PHÂN LOẠI SẢN PHẨM THEO HÌNH DẠNG 11
2.2.1 Các hình dạng cơ bản của sản phẩm 11
2.2.2 Phương pháp nhận dạng sản phẩm theo hình dạng 11
2.2.3 Các bước thực hiện phân loại sản phẩm theo hình dạng 14
Trang 112.3 ÁP DỤNG KỸ THUẬT HIỆU CHỈNH STEREO CAMERA ĐỂ TÍNH KÍCH
THƯỚC SẢN PHẨM 18
2.3.1 GIỚI THIỆU KỸ THUẬT HIỆU CHỈNH STEREO CAMERA 18
2.3.2 STEREO CAMERA 19
2.3.3 PHƯƠNG PHÁP HIỆU CHỈNH CHUẨN 23
2.4 NGÔN NGỮ PYTHON 25
2.5 GIỚI THIỆU PHẦN CỨNG 28
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ 29
3.1 GIỚI THIỆU 29
3.2 THIẾT KẾ HỆ THỐNG PHẦN CỨNG 29
3.2.1 Khối xử lý 30
3.2.2 Khối thu tín hiệu 30
3.2.3 Khối hiển thị 32
3.2.4 Khối giao tiếp và điều khiển 32
3.2.5 Khối nguồn 32
3.3 CÁC TÍNH TOÁN TRONG NHẬN DẠNG 33
3.3.1 Giới thiệu đặc điểm của hình dạng 33
3.3.2 Phương pháp tính toán các đặc điểm 33
CHƯƠNG 4: THI CÔNG HỆ THỐNG 36
4.1 GIỚI THIỆU 36
4.2 THI CÔNG HỆ THỐNG 36
4.2.1 Các linh kiện và model cần thiết cho mô hình 36
4.2.2 Kết nối, lắp ráp và kiểm tra mô hình 36
4.3 THI CÔNG MÔ HÌNH 37
Trang 124.4.1 Lưu đồ giải thuật 38
4.4.2 Lập trình với ngôn ngữ Python cùng thư viện OpenCV 44
4.5 MÔ PHỎNG 45
4.5.1 Lưu đồ 45
4.5.2 Xử lý tín hiệu hay hình ảnh 46
4.6 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 48
4.6.1 Viết tài liệu hướng dẫn sử dụng 48
4.6.2 Quy trình thao tác 50
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 52
5.1 CAMERA 3D 52
5.2 XÁC ĐỊNH MÀU SẮC CỦA SẢN PHẨM 52
5.3 NHẬN DẠNG VÀ TÍNH KÍCH THƯỚC SẢN PHẨM 54
5.4 PHÂN LOẠI SẢN PHẨM 58
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 60
6.1 KẾT LUẬN 60
6.1.1 Kết quả đạt được 60
6.1.2 Những mặt hạn chế 60
6.2 HƯỚNG PHÁT TRIỂN 60
Trang 13LIỆT KÊ HÌNH VẼ
Hình 2.1: Lân cận 4 và lân cận 8 6
Hình 2.2: Hình tách biên 8
Hình 2.3: Bộ lọc Gaussian 9
Hình 2.4: Đặc điểm hình chữ nhật 12
Hình 2.5: Đặc điểm hình vuông 13
Hình 2.6: Đặc điểm hình tam giác 13
Hình 2.7: Sơ đồ các bước thực hiện phân loại sản phẩm 14
Hình 2.8: Xác định biên 16
Hình 2.9: Nhận dạng đường biên 17
Hình 2.10: Cấu hình chuẩn của hệ thống 2 camera 19
Hình 2.11: Hệ thống tọa độ của một stereo camera 19
Hình 2.12: Thuật toán SAD phân vùng 22
Hình 2.13: Qui tắc tam giác đồng dạng 23
Hình 2.14: Mô hình các thông số của camera 24
Hình 2.15: Sơ đồ khối của camera 28
Hình 3.1: Sơ đồ khối 30
Hình 3.2: Khối thu tín hiệu 31
Hình 3.3: Synchronization USB Stereo Webcam Dual lens camera OV9750 960P MJPEG 2560x960 with No distortion lens 3D usb camera module 31
Hình 3.4: Laptop 32
Hình 3.5: Đỉnh của hình 33
Trang 14Hình 3.7: Đường xấp xỉ 34
Hình 3.8: Độ dài cạnh 34
Hình 4.1: Kết nối Camera 37
Hình 4.2: Các khối hộp (Hình dạng sản phẩm) 38
Hình 4.3: Lưu đồ giải thuật chính 39
Hình 4.4: Ma trận không gian màu BGR 40
Hình 4.5: Sơ đồ khối chương trình con tách biên và lấp đầy biên 41
Hình 4.6: Lưu đồ con nhận dạng sản phẩm 43
Hình 4.7: Tìm kiếm Python 44
Hình 4.8: Tạo project mới 45
Hình 4.9: Lưu đồ mô phỏng 45
Hình 4.10: Kiểm tra các bước thực hiện 46
Hình 4.11: Ảnh xám 47
Hình 4.12: Tách biên 47
Hình 4.13: Lấp đầy biên 48
Hình 4.14: Kết quả nhận dạng phân loại sản phẩm 48
Hình 4.15: Kiểm tra thư viện 49
Hình 4.16: Kết quả sau khi bấm chạy chương trình 49
Hình 4.17: Quy trình vận hành 50
Hình 5.1: Kết quả ảnh đầu vào từ camera 52
Hình 5.2: Kết quả nhận dạng màu sắc sản phẩm của camera 53
Hình 5.3: Nhận dạng và tính kích thước sản phẩm hình chữ nhật 54
Hình 5.4: Nhận dạng và tính kích thước sản phẩm hình vuông 54
Trang 15Hình 5.5: Nhận dạng và tính kích thước sản phẩm hình tam giác 55
Hình 5.6: Camera chưa thể nhận dạng cùng lúc nhiều sản phẩm 57
Hình 5.7: Phân loại theo kích sản phẩm hình chữ nhật 58
Hình 5.8: Phân loại theo kích thước sản phẩm hình tam giác 58
Hình 5.9: Phân loại theo kích thước sản phẩm hình tam giác 59
Trang 16Bảng Trang
Bảng 2.1: Đặc điểm hình dạng sản phẩm 14
Bảng 4.1: Danh sách các model và linh kiện liên quan 36
Bảng 5.1: Thống kê kết quả nhận dạng màu sắc sản phẩm 53
Bảng 5.2: Kết quả khảo sát nhận dạng và tính kích thước đối với hình vuông 55
Bảng 5.3: Kết quả khảo sát nhận dạng và tính kích thước đối với hình chữ nhật 55
Bảng 5.4: Kết quả khảo sát nhận dạng và tính kích thước đối với hình tam giác 57
Trang 17TÓM TẮT
Hiện nay, nền Công nghiệp đang hướng tới Công nghiệp 4.0, là sự kết hợp cácCông nghệ lại với nhau, làm mờ ranh giới giữa Vật lý, Kỹ thuật số và Sinh học Từ đó,các thiết bị điện tử thông minh đang ngày càng xuất hiện phổ biến Không những nógiúp ích cho cá nhân hay gia đình, mà còn ứng dụng cả trong Chính trị, Y tế, Giáodục Điển hình là trong lĩnh sản xuất, vấn đề phân loại sản phẩm trong sản xuất làkhông thể thiếu ở khâu đóng gói Chính vì vậy, nhóm đã chọn đề tài “Ứng dụng camera3D trong việc phân loại sản phẩm theo hình dạng và kích thước”
Đề tài “Ứng dụng camera 3D trong việc phân loại sản phẩm theo hình dạng và kích thước” là phân loại sản phẩm theo hình dạng (hình tròn, hình vuông, hình chữ
nhật, hình tam giác) và kích thước dựa trên ngôn ngữ Python với thư viện chính làOpenCV Ở đây sử dụng các đặc điểm riêng biệt của từng hình dạng để đi nhận dạng vàsau đó phân loại từng sản phẩm Kết quả thực hiện của đề tài đã nhận dạng được nhữngsản phẩm có hình dạng (hình tròn, hình vuông, hình chữ nhật, hình tam giác) cùng vớiviệc biết được kích thước của từng sản phẩm
Trang 18CHƯƠNG 1: TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Cùng với sự phát triển ngày càng mạnh mẽ của khoa học kĩ thuật trong một vài
thập kỷ gần đây, xử lý ảnh tuy là một ngành khoa học còn tương đối mới mẻ so với
nhiều ngành khoa học khác nhưng hiện nay đang là một trong những lĩnh vực phát
triển rất nhanh và thu hút sự quan tâm đặc biệt từ các nhà khoa học, thúc đẩy các
trung tâm nghiên cứu, ứng dụng về lĩnh vực hấp dẫn này Xử lý ảnh đóng vai trò
quan trọng trong nhiều ứng dụng thực tế về khoa học kĩ thuật cũng như trong cuộc
sống thường ngày như: sản xuất và kiểm tra chất lượng, sự di chuyển của Robot,
các phương tiện đi lại tự trị, công cụ hướng dẫn cho người mù, an ninh và giám sát,
nhận dạng đối tượng, nhận dạng mặt, các ứng dụng trong y học, sản xuất, hiệu
chỉnh video
Camera 3D [1-2] hiện đang là loại camera có độ ứng dụng cao trong khoa học
kỹ thuật vì camera này có khả năng ghi nhận chiều sâu đối tượng, tương tự mắt con
người Dựa trên các nghiên cứu trước đây như “Phân loại sản phẩm dùng Kit
Raspberry” [3] là một ứng dụng sử dụng các thuật toán xử lý ảnh [4] trên nền tảng
Python kết hợp với phần cứng là Raspberry [5] để phân loại sản phẩm dựa trên hình
dạng Đề tài “Ứng dụng camera 3D trong việc phân loại sản phẩm theo hình dạng và
kích thước” đươc lựa chọn thực hiện để có thể phân loại theo hình dạng sản phẩm
và phân loại theo kích thước sản phẩm dựa trên các thông tin từ camera 3D
1.2 MỤC TIÊU
- Tìm hiểu về camera 3D và ngôn ngữ lập trình python với thư viện OpenCV
- Phân loại sản phẩm theo hình dạng và kích thước
1.3 NỘI DUNG NGHIÊN CỨU
Để tài “Ứng dụng camera 3D trong việc phân loại sản phẩm theo hình dạng và
kích thước” Có những nội dung sau:
Trang 19CHƯƠNG 1: TỔNG QUAN
NỘI DUNG 1: Tìm hiểu phương pháp nhận dạng và phân loại sản phẩm theo hìnhdạng và kích thước
NỘI DUNG 2: Tổng quan về xử lý ảnh
NỘI DUNG 3: Tìm hiểu camera 3D và các module liên quan
NỘI DUNG 4: Viết chương trình trên python
NỘI DUNG 5: Hoàn thành mô hình
NỘI DUNG 6: Đánh giá kết quả thực hiện
Chương này sẽ trình bày cơ bản về xử lý ảnh, phương pháp cơ bản để nhậndạng và phân loại ảnh, tính kích thước sản phẩm, giới thiệu cơ bản về camera 3D vàthư viện liên quan
Chương này sẽ đi tìm hiểu kỹ các thuật toán nhận dạng sản phẩm theo hình
dạng, thuật toán tính kích thước và thiết kế mô hình sản phẩm
Trang 20Nội dụng chương này là quá trình thi công cùng với việc chạy chương trình về
phân loại sản phẩm cũng như tính kích thước sản phẩm
Nội dụng chương này là tổng hợp các kết quả đạt được sau khi thi công mô
hình và kết quả đạt được khi phân loại sản phẩm
Kết quả nhận được khi hoàn thiện đề tài, đưa ra các hướng phát triển hoàn thiện
Trang 21CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ CÁC THƯ VIỆN LIÊN QUAN
2.1.1 Giới thiệu xử lý ảnh
Xử lý ảnh không còn là đề tài quá mới, nó được áp dụng từ trong các hoạt độngthường ngày cho đến việc nâng cao sản xuất Nó giúp ích cho cá nhân hay gia đình, mà cònứng dụng cả trong Chính trị, Y tế, Giáo dục…
Xử lý tín hiệu là một môn học trong kỹ thuật điện tử, viễn thông và trong toán học.Liên quan đến nghiên cứu và xử lý tín hiệu kỹ thuật số và analog, giải quyết các vấn đề vềlưu trữ, các thành phần bộ lọc, các hoạt động khác trên tín hiệu Các tín hiệu này bao gồmtruyền dẫn tín hiệu, âm thanh hoặc giọng nói, hình ảnh, và các tín hiệu khác…
Trong số các phương pháp xử lý tín hiệu kể trên, lĩnh vực giải quyết với các loại tínhiệu mà đầu vào là một hình ảnh và đầu ra cũng là một hình ảnh, sản phẩm đầu ra được thựchiện trong một quá trình xử lý Đó chính là quá trình xử lý ảnh Nó có thể được chia thành
xử lý hình ảnh tương tự và xử lý hình ảnh kỹ thuật số
Để có 1 bức ảnh số ta có quá trình thực hiện như sau: Chụp ảnh từ một máy ảnh làmột quá trình vật lý Ánh sáng mặt trời sử dụng như một nguồn năng lượng Một dãy cảmbiến được sử dụng cho việc thu lại của hình ảnh Vì vậy, khi ánh sáng mặt trời rơi trênngười đối tượng, sau đó số lượng ánh sáng phản xạ của đối tượng được cảm nhận từ cáccảm biến, và một tín hiệu điện áp liên tục được tạo ra bởi số lượng dữ liệu cảm biến đó Đểtạo ra một hình ảnh kỹ thuật số, chúng ta cần phải chuyển đổi dữ liệu này thành một dạng kỹthuật số Điều này liên quan đến việc lấy mẫu và lượng tử hóa Kết quả của việc lấy mẫu vàlượng tử hóa sau một quá trình xử lý là một hình ảnh kỹ thuật số
2.1.2 Những vấn đề trong xử lý ảnh
Điểm ảnh
Trang 22Là đơn vị cơ bản nhất để tạo nên một bức ảnh kỹ thuật số, địa chỉ của điểm ảnh đượcxem như là một tọa độ (x,y) nào đó Một bức ảnh kỹ thuật số - có thể được tạo ra bằng cáchchụp hoặc bằng một phương pháp đồ họa nào khác - được tạo nên từ hàng ngàn hoặc hàngtriệu pixel riêng lẻ Bức ảnh càng chứa nhiều pixel thì càng chi tiết Một triệu pixel thìtương đương với 1 megapixel.
Ảnh số
Ảnh số là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng để mô tả ảnhgần với ảnh thật Số điểm ảnh xác định độ phân giải của ảnh Ảnh có độ phân giải càng caothì càng thể hiện rõ nét các đặt điểm của tấm hình càng làm cho tấm ảnh trở nên thực và sắcnét hơn Một hình ảnh là một tín hiệu hai chiều Nó được xác định bởi hàm toán học f(x, y)trong đó x và y là hai tọa độ theo chiều ngang và chiều dọc Các giá trị của f(x, y) tại bất kỳđiểm nào là cung cấp các giá trị điểm ảnh (pixel ) tại điểm đó của một hình ảnh
Phân loại ảnh
Mức xám của điểm ảnh là cường độ sáng, gán bằng một giá trị tại điểm đó Các mứcảnh xám thông thường: 16, 32, 64, 128, 256 Mức được sử dụng thông dụng nhất là 256,tức là dùng 1byte để biểu diễn mức xám
Ảnh nhị phân: Là ảnh có 2 mức trắng và đen Chỉ có 2 giá trị 0 và 1 và chỉ sử dụng 1bit dữ liệu trên 1 điểm ảnh
Ảnh đen trắng: Là ảnh có hai màu đen, trắng (không chứa màu khác) với mức xám ởcác điểm ảnh có thể khác nhau
Ảnh màu: Là ảnh kết hợp của 3 màu cơ bản lại với nhau để tạo ra một thế giới màusinh động Người ta thường dùng 3byte để mô tả mức màu, tức là có khoảng 16,7 triệu mứcmàu
Quan hệ giữa các điểm ảnh
Lân cận điểm ảnh: được nói một cách hài hước như là hàng xóm của các điểm ảnh
Có 2 loại lân cận cơ bản là lân cận 4 và lân cận 8
Trang 23CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Điểm xét
Điểm xét
Điểm xét
Lân cận 4 hàng cột Lân cận 4 chéo Lân cận 8
Tập 8 điểm ảnh lân cận 8 là hợp của 2 tập trên: N8(p) = N4(p) + ND(p)
Liên kết ảnh [3][4]: Các mối liên kết của ảnh được xem như là mối liên kiết của 2điểm ảnh gần nhau, có 3 loại liên kết: liên kết 4, liên kết 8, lên kết m(liên kết hỗn hợp)
Trong ảnh đa mức xám, ta có thể đặt V chứa nhiều giá trị như V={tập con} Cho p
Lọc nhiễu
Ảnh thu nhận được thường sẽ bị nhiễu nên cần phải loại bỏ nhiễu Các toán tử khônggian dùng trong kỹ thuật tăng cường ảnh được phân nhóm theo công dụng: làm trơn nhiễu,nổi biên Để làm trơn nhiễu hay tách nhiễu [3-4], người ta sử dụng các bộ lọc tuyến tính (lọc
Trang 24trung bình, thông thấp) hoặc lọc phi tuyến (trung vị, giả trung vị, lọc đồng hình) Từ bảnchất của nhiễu (thường tương ứng với tần số cao) và từ cơ sở lý thuyết lọc là: bộ lọc chỉ chotín hiệu có tần số nào đó thông qua, để lọc nhiễu người ta thường dùng lọc thông thấp (theoquan điểm tần số không gian) hay lấy tổ hợp tuyến tính để san bằng (lọc trung bình) Để làmnổi cạnh (ứng với tần số cao), người ta dùng các bộ lọc thông cao, lọc Laplace.
Phương pháp lọc nhiễu Chia làm 2 loại: lọc tuyến tính, lọc phi tuyến
Làm trơn nhiễu bằng lọc tuyến tính
Khi chụp ảnh có thể xuất hiện nhiều loại nhiễu vào quá trình xử lý ảnh, nên ta cầnphải lọc nhiễu [4] Gồm các phương pháp cơ bản lọc trung bình, lọc thông thấp…
Lọc trung bình: Với lọc trung bình, mỗi điểm ảnh được thay thế bằng trung bìnhtrọng số của các điểm lân cận Lọc trung bình có trọng số chính là thực hiện chập ảnh đầuvào với nhân chập H Nhân chập H có dạng:
Lọc thông thấp: Lọc thông thấp thường được sử dụng để làm trơn nhiễu Về nguyên
lý của bộ lọc thông thấp giống như đã trình bày trên
Làm trơn nhiễu bằng lọc phi tuyến
Các bộ lọc phi tuyến cũng hay được dùng trong kỹ thuật tăng cường ảnh Một sốphương pháp lọc cơ bản bộ lọc trung vị, lọc ngoài… Với lọc trung vị, điểm ảnh đầu vào sẽđược thay thế bởi trung vị các điểm ảnh còn lọc giả trung vị sẽ dùng trung bình cộng của haigiá trị “trung vị” (trung bình cộng của max và min)
Lọc trung vị: Kỹ thuật này đòi hỏi giá trị các điểm ảnh trong cửa sổ phải xếp theo thứ
tự tăng hay giảm dần so với giá trị trung vị Kích thước cửa số thường được chọn sao cho
số điểm ảnh trong cửa sổ là lẻ
Trang 25BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7
Trang 26Phương pháp phát hiện biên
Biên là một trong những vấn đền ta cần quan tâm trong xử lý ảnh Vì ở giai đoạnphân đoạn ảnh chủ yếu dựa vào biên [4]
Hình 2.2: Hình tách biên
Điểm biên: Một điểm ảnh được coi là điểm biên nếu có sự thay đổi nhanh hoặc độtngột về mức xám Ví dụ trong ảnh nhị phân, điểm đen gọi là điểm biên nếu lân cận nó có ítnhất một điểm trắng
Đường biên: tập hợp các điểm biên liên tiếp tạo thành một đường biên
Ý nghĩa của đường biên trong xử lý: ý nghĩa đầu tiên của đường biên là một loại đặctrưng cục bộ tiêu biểu trong phân tích, nhận dạng ảnh Thứ hai, người ta sử dụng biên làmphân cách các vùng xám cách biệt Ngược lại, người ta cũng sử dụng các vùng ảnh để tìmđường phân cách Tầm quan trọng của biên: để thấy rõ tầm quan trọng của biên, xét ví dụsau: khi người họa sỹ muốn vẽ một danh nhân, họa sỹ chỉ cần vẽ vài đường nứt tốc họa màkhông cần vẽ một cách đầy đủ
Như vậy, phát hiện biên một cách lý tưởng là phát hiện được tất cả các đường biêntrong các đối tượng Định nghĩa toán học của biên ở trên là cơ sở cho các kỹ thuật phát hiệnbiên Điều quan trọng là sự biến thiên giữa các điểm ảnh thường nhỏ, trong khi đó biếnthiên độ sáng của điểm biên thường là khá lớn khi qua biên Xuất phát cơ sở này người tathường sử dụng hai phương pháp phát hiện biên như sau:
Tách biên theo đạo hàm bậc một [4]: Có 2 phương pháp cơ bản là: một là tạo
gradient của hai hướng và trực giao trong ảnh, hai là dùng tập đạo hàm có hướng
Trang 27CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Tách biên theo đạo hàm bậc hai [4]: được thực hiện trên một số dạng vi phân bậc 2
để làm xuất hiện biên Có hai dạng của phương pháp đạo hàm bậc hai đã được nghiên cứulà: phương pháp Lapplace và đạo hàm trực tiếp
Bộ tách biên Canny [4]: phương pháp phát hiện này được sử dụng phổ biến vì nó cónhiều ưu điểm hơn các phương pháp khác
Phương pháp gradient: Gradient là một vector có các thành phần biểu thị tốc độ thayđổi giá trị của điểm ảnh theo 2 hướng x và y, hay có thể nói là nó đại diện cho sự thay đổi
về hướng và độ lớn của một vùng ảnh Ảnh được làm mịn sau đó được lọc bằng hạt nhânSobel theo cả hướng ngang và dọc để lấy đạo hàm đầu tiên theo hướng nằm ngang (Gx) vàhướng dọc (Gy) Từ hai hình ảnh này, chúng ta có thể tìm gradient và hướng cạnh cho mỗipixel như sau:
Trang 29CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Phân đoạn ảnh
Phân đoạn ảnh là bước then chốt trong xử lý ảnh Giai đoạn này nhằm phân tích ảnhthành các vùng 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
Quá trình phân đoạn ảnh nhằm tách đối tượng cần khảo sát ra khỏi phần nội dungcòn lại của ảnh, hay phân chia các đối tượng trong ảnh thành những đối tượng riêng biệt,như vậy quá trình phân đoạn ảnh là quá trình giảm bớt số lượng thông tin trong ảnh và chỉgiữ lại những thông tin cần thiết cho ứng dụng Do đó phân đoạn ảnh là quá trình loại bỏ cácđối tượng không quan tâm trong ảnh
Có nhiều phương pháp phân đoạn ảnh khác nhau Trong đó quá trình phân đoạn ảnh
sử dụng một ngưỡng giá trị xám để phân đoạn ảnh ra thành các đối tượng và nền là phươngpháp đơn giản nhất Lúc này các điểm ở bên dưới ngưỡng giá trị xám thuộc về nền cònnhững điểm ảnh ở bên trên ngưỡng giá trị xám thuộc về đối tượng Phương pháp phân đoạnảnh này hiệu quả lớn đối với ảnh nhị phân, văn bản in hay đồ họa
Dựa vào đặc tính vật lý của vùng ảnh, các kỹ thuật phân đoạn vùng có thể được chialàm 3 loại:
Các kỹ thuật cục bộ: dựa trên các đặc tính cục bộ của các điểm ảnh và các lân cận củanó
Các kỹ thuật tổng thể: phân đoạn một ảnh dựa trên cơ sở của thông tin lấy từ tổng thểnhư sử dụng biểu đồ mức xám histogram
Các kỹ thuật chia, nối và phát triển: dựa trên các khái niệm tương đồng về hình dạng
và tính đồng nhất Hai vùng có thể được nối lại với nhau và liền kề bên nhau Các vùngkhông đồng nhất có thể được chia thành các vùng nhỏ Một vùng có thể được phát triểnbằng các nối các điểm ảnh sao cho nó đồng nhất với nhau
Trang 30công cụ để chúng ta lập trình ứng dụng vào thực tế, Như phải kể đến Matlap, hay ngôn ngữ Python…
2.2 PHƯƠNG PHÁP PHÂN LOẠI SẢN PHẨM THEO HÌNH DẠNG
Với để tài “Ứng dụng camera 3D trong việc phân loại sản phẩm theo hình dạng vàkích thước.” Thiết kế mô hình phân loại sản phẩm theo hình dạng (hình vuông, hình chữnhật, hình tam giác) và tính kích thước của chúng Ở phần này sẽ đi tìm hiểu chi tiếtphương pháp nhận dạng của từng hình dạng của sản phẩm, phương pháp tính kích thước vàphân loại sản phẩm theo từng hình dạng đã được nhận dạng
Khi kết quả phân loại sản phẩm rơi vào một trong những hình nhóm hình này thì kết quả sau nhận dạng chỉ ra đúng tên hình dạng của sản phẩm
Hình chữ nhật: Đặc điểm nhận dạng: Có 4 đỉnh, 4 cạnh, 4 góc vuông, 2 cạnh đối
diện đều bằng nhau, khác với so với hình vuông là 2 cạnh kề không bằng nhau…
Hình vuông: Đặc điểm nhận dạng: Có 4 đỉnh, 4 cạnh, 4 góc vuông, 2 cạnh đối diện
đều bằng nhau, 2 cạnh kề bằng nhau…
Hình tam giác: Đặc điểm nhận dạng: có 3 đỉnh và 3 cạnh là hình tam giác…
2.2.2 Phương pháp nhận dạng sản phẩm theo hình dạng
Nhận dạng ảnh là giai đoạn quan trọng cuối của một hệ thống xử lý ảnh Nhận dạng
là quá trình phân loại các đối tượng được biểu diễn theo một mô hình nào đó Ảnh đượcchụp sẽ được phân tích thành các đặc trưng riêng biệt, với những đặc trưng đó ta đem đitìm hiểu và nhận dạng
Trang 31CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Mô hình của tôi nhận dạng 3 hình cơ bản là: hình vuông, hình chữ nhật, hình tamgiác
Như đề cập ở trên các các hình dạng của sản phẩm có các đặc điểm đặc trưng Tuynhiên, thì vẫn có một số đặc điểm giống nhau, đặc điểm khác nhau, cùng với đó có thêmmột số đặc điểm bị dư thừa trong việc so sánh với các sản phẩm khác tức là một số đặcđiểm không liên quan đến nhau Nếu nhận dạng tất cả các đặc điểm của các hình thì điều đórất mất thời gian cùng với tiêu tốn tài nguyên dữ liệu lớn Chính vì vậy ở đề tài này, ta cầnchọn lọc ra từng đặc điểm riêng biệt của từng hình mà các hình không có và loại bỏ các đặcđiểm cần thiết
Như vậy, để nhận dạng được hình dạng của sản phẩm cần xác định các đặc điểm,đặc trưng riêng biệt của của từng hình dạng
Ở đây chỉ có 3 hình dạng sản phẩm (hình chữ nhật, hình vuông, hình tam giác) cần phân loại, chính vì vậy sẽ có một số đặc điểm hình dạng không cần xét tới
Hình chữ nhật là hình có 4 đỉnh, 4 cạnh, 4 góc vuông, 2 cạnh đối diện bằng nhau,
Từ đặc điểm đó ta đi so sánh với 2 hình còn lại và phân tích thấy: Đặc điểm thứ nhất
có 4 đỉnh, nhưng sản phẩm hình vuông cũng có 4 đỉnh Chính vì vậy ta có đặc điểm thứ hai
để so sánh sự khác biệt với hình vuông, đó là 2 cạnh kề không bằng nhau với hình chữ nhật,với hình vuông thì chúng bằng nhau
Như vậy, đặc điểm nhận dạng sản phẩm hình chữ nhật, gồm 4 đỉnh và 2 cạnh kềkhông bằng nhau
Trang 32ta có đặc điểm thứ hai để so sánh sự khác biệt với hình chữ nhật, đó là 2 cạnh bằng nhau.
Nhƣ vậy, đặc điểm nhận dạng sản phẩm hình vuông, gồm 4 đỉnh và 2 cạnh kề bằngnhau
Đặc điểm nhận dạng: có 3 đỉnh và 3 cạnh là hình tam giác
Từ đặc điểm đó ta đi so sánh với 2 hình còn lại và phân tích thấy: Chỉ có hình tam giác có 3 đỉnh, và đó chính là đặc điểm đặc trƣng riêng biệt của tam giác
A
Hình 2.6: Đặc điểm hình tam giác
Trang 33CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.2.3 Các bước thực hiện phân loại sản phẩm theo hình dạng
Hình 2.7: Sơ đồ các bước thực hiện phân loại sản phẩm Thu nhận ảnh
Thu thập ảnh là bước mà ảnh có thể nhận qua camera hoặc có thể lấy từ bộ nhớ của
Trang 34Y = 0.2126R + 0.7152G + 0.0722BTrong đó:
- Nếu I(x,y) - Itb(x,y) > θ thì I(x,y) = Itb(x,y) -Nếu I(x,y) - Itb(x,y) <= θ thì I(x,y)=I(x,y)
Chú ý: θ là một giá trị cho trước và có thể có hoặc không tùy thuộc vào mục đích
Trang 35CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Ảnh được làm mịn bằng bộ lọc tuyến tính nhằm mục đích loại bỏ những chi tiết nhỏ
ra khỏi ảnh trước khi tiến hành tách các thành phần lớn hơn ra khỏi, ảnh sau đó được lọcbằng hạt nhân Sobel tìm gradient và hướng cạnh cho mỗi pixel Hướng dốc luôn vuông gócvới các cạnh Nó được làm tròn thành một trong bốn góc đại diện cho hướng dọc, ngang vàhai đường chéo
Sau khi nhận được độ lớn và hướng gradient, việc quét toàn bộ hình ảnh được thựchiện để xóa bất kỳ pixel không mong muốn nào có thể không tạo thành cạnh Đối với điềunày, tại mỗi điểm ảnh, pixel được kiểm tra nếu nó là một cực đại cục bộ trong vùng lân cậntheo hướng gradient Kiểm tra hình ảnh dưới đây:
Hình 2.8: Xác định biên
Điểm A nằm trên cạnh theo hướng thẳng đứng Hướng dốc là bình thường cho cạnh.Điểm B và C theo hướng dốc Vì vậy, điểm A được so sánh với điểm B và C để xem nó có
là một cực đại hay không, nếu có thì nó thuộc đường biên
Loại bỏ dữ liệu không phải đường biên:
Giai đoạn này quyết định đó là tất cả các cạnh, biên có thực sự là cạnh hay không.Đối với điều này, chúng ta cần hai giá trị ngưỡng, minVal và maxVal Bất kỳ cạnh nào cógradient cường độ lớn hơn maxVal đều chắc chắn là các cạnh và các cạnh dưới minValchắc chắn là không có cạnh, do đó bị loại bỏ Những biên nằm giữa hai ngưỡng này đượcphân loại các cạnh liên tục hay không liên tục, nếu chúng được kết nối với các pixel "chắcchắn", chúng được coi là một phần của các cạnh Nếu không, chúng cũng bị loại bỏ
Trang 36Hình 2.9: Nhận dạng đường biên
Cạnh A nằm trên giá trị maxVal, do đó được coi là đường biên Mặc dù cạnh C làdưới maxVal, nó được kết nối với cạnh A, do đó cũng được coi đường biên hợp lệ vàchúng ta có được đường cong đầy đủ đó Nhưng cạnh B, mặc dù nó ở trên minVal và nằmtrong cùng một vùng với cạnh của C, nó không được kết nối với bất kỳ đường biên nào trêngiá trị maxval nên không phải cạnh do đó nó bị loại bỏ
Lấp đầy biên
Là quá trình lấp đầy các đường biên kín, không bị gián đoạn hay đứt khúc, để tạo rađược ảnh nhị phân có giá trị 0 và 1 Mức 1 là giá trị của hình dạng lấp đầy biên, và bênngoài biên được coi là giá trị 0 Như hình bên trên, đầu tiên phải sơn lại các vùng ở ngoàibiên từ ảnh ban đầu ảnh a tức là đổi giá trị 0 bên ngoài thành giá trị 1 thành ảnh b Sau đóđảo giá trị ảnh ngược lại của ảnh b ta được ảnh c
Cuối cùng ta dùng phép toán OR để giữa ảnh a và ảnh c thì ta có kết quả
so sánh từng hình một, từ hình vuông, đến hình chữ nhật, đến hình tam giác Nếu các
Trang 37CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
đặc điểm trùng khớp với đặc điểm được đề ra trước ở hình dạng nào thì ta kết luận ngay đó
là sản phẩm có hình dạng đó Ngược lại nếu không có đặc điểm nào khớp ta kết luận đó làmột sản phẩm nào đó khác mà không phải sản phẩm đã định sẵn
2.3 ÁP DỤNG KỸ THUẬT HIỆU CHỈNH STEREO CAMERA ĐỂ TÍNH KÍCH THƯỚC SẢN PHẨM
Khi sử dụng một camera thì rất khó xác định được khoảng cách từ camera đến vật
Do vậy muốn xác định được khoảng cách thì cần ít nhất từ hai camera trở lên Với hai haynhiều máy ảnh, chúng ta hoàn toàn có thể xác định được độ sâu nếu chúng ta xác định đượccác điểm tương đồng của hai ảnh mục tiêu và tham chiếu
Một xu hướng phát triển mới là sử dụng camera thị giác để quan sát như mắt người.Mặc dù việc chiết xuất dữ liệu từ ảnh thị giác là khó khăn hơn là dùng cảm biến nhưng bùlại thì cách thức này cung cấp cho con người những dữ liệu trực quan sinh động và đầy đủ
Khi xử lý tín hiệu ảnh stereo thị giác thường có hai khâu:
* Khâu đầu tiên là khâu tiền xử lý có nhiệm vụ lấy ra các dữ liệu có chứa thông tin hữu ích cho việc phát triển các ứng dụng thị giác stereo thời gian thực
* Khâu thứ hai các ứng dụng thị giác như ứng dụng tái tạo môi trường 3D, phát
hiện đối tượng…
Trong khâu tiền xử lý, có một đặc điểm chính là khối lượng dữ liệu thu thập bằngcamera rất lớn (lớn hơn nhiều lần so với dữ liệu thu thập bằng cảm biến) cần được xử lý.Mọi cách giải quyết mới đều phải được phát triển trên một nền tảng sẵn có Ở phần tiếp,các kỹ thuật cơ bản của xử lý ảnh 3D sẽ được đưa ra để làm cơ sở phát triển cho các thuậttoán về sau
2.3.1 GIỚI THIỆU KỸ THUẬT HIỆU CHỈNH STEREO CAMERA
Hiệu chỉnh stereo camera là phương pháp tính toán và thực nghiệm nhằm tìm ra cáctham số của camera để tái tạo không gian 3D của một cảnh, một vật thể nào đó trong thực tếbằng những ảnh mà camera đó ghi lại được
Trang 382.3.2 STEREO CAMERA
Stereo vision là kỹ thuật sử dụng hai camera để đo khoảng cách giữa hai đối tượng.Thông thường sử dụng hai camera cùng loại và thông số được đặt trên đường thẳng hoặcngang
Hình 2.10: Cấu hình chuẩn của hệ thống 2 camera
Sử dụng camera stereo này, chúng ta có thể thu được hình ảnh của đối tượng tại hai
vị trí khác nhau: ảnh bên trái và ảnh bên phải của đối tượng (sự chênh lệch) Các ảnh củacác camera được phân tích để tìm các điểm chung Sử dụng quy tắc tam giác đồng dạ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.11: Hệ thống tọa độ của một stereo camera
Trang 39CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Hình mô tả hệ thống tọa độ của một stereo camera, có thể được tính như trong hai phương trình sau:
xl là tọa độ x của camera bên trái
xr là tọa độ x của camera bên phải
b là chiều dài cơ sở của hai camera
f là tiêu cự của máy ảnh
z là khoảng cách từ đường cơ sở đến đối tượng Tính toán bản đồ chênh lệch:
Là một trong những vấn đề quan trọng trong thị giác máy tính 3D Một số lượng lớncác thuật toán đã được đề xuất để giải quyết vấn đề này Một trong những phương pháptương đối mới là “Tính toán bản đồ độ sâu” từ hình ảnh stereo Đối với các cặp hình ảnhstereo đã được chỉnh sửa epipolar, mỗi điểm trong hình ảnh bên trái nằm trên đường nằmngang (đường epipolar) có thể có điểm ảnh tương ứng trong hình ảnh bên phải Cách tiếpcận này được sử dụng để làm giảm không gian tìm kiếm chiều sâu bản đồ thuật toán tínhtoán Chiều sâu của một điểm ảnh là khoảng cách điểm không gian tương ứng tới trung tâmmáy ảnh Để ước tính bản đồ độ sâu và phát hiện các đối tượng 3D, các điểm ảnh tươngứng trong những ảnh trái và ảnh phải cần được phát hiện
Thuật toán là phần rất quan trong trong hệ thị giác máy tính 3D Tuy nhiên, hiện nay
có rất nhiều thuật toán đã được phát triển và hàng năm thì cũng có nhiều thuật toán mớiđược đề xuất Việc phân loại tất cả các thuật toán là một điều rất khó vì hầu hết các nhànghiên cứu chỉ đưa ra kết quả định tính hoặc là kết quả cuối cùng về hiệu quả của các thuậttoán của họ Các thuật toán truyền thống của thị giác máy tính 3D là SAD (sum of absolutediffirence), SSD (sum of squared diffirence) và NCC (normalized cross correlation) Các
Trang 40hàm giá trị phù hợp được kết hợp trên các vùng cung cấp Các vùng cung cấp thường nhậnđược như các cửa sổ được kết hợp có thể là hình vuông hoặc hình chữ nhật, kích thước cốđịnh hoặc thích nghi Việc xác định giá trị của kết hợp các hàm giá trị phù hợp, dẫn đến nềntảng của hầu hết các thuật toán thị giác nổi Các thuật toán truyền thống có thể được biểudiễn toán học như sau:
1) Phương pháp tổng bình phương khác biệt (SSD – Sum of Squared Differences):
d càng lớn thì số phép tính tăng Thông thường có thể thực tính SAD với cửa sổ 3x3, hoặc5x5 hoặc 7x7 hoặc 11x11 Phạm vi chênh lệch d thường chọn dưới 120 với các giá trị thamkhảo như 16, 50, 128
3) Phương pháp dựa trên sự tương quan chéo chuẩn (NCC)