Ảnh đầu vào là mảng hai chiều. Sau đó qua bộ khuếch đại tín hiệu và chuyển đổi từ tín hiệu tƣơng tự sang tín hiệu số. Tiếp tục đến quá trình xử lý ảnh số. Kết quả cuối cùng là ảnh số 8-bit RGB (Red – Green – Blue) có 4096 mức màu khác nhau.
BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 29
CHƢƠNG 3: TÍNH TỐN VÀ THIẾT KẾ
3.1 GIỚI THIỆU
Ngày nay, phần lớn các thiết bị điện tử đều phát triển theo xu hƣớng tự động hóa, thơng minh, càng hiểu ý con ngƣời, chúng giao tiếp đƣợc với con ngƣời và hoạt động theo ý muốn con ngƣời, để làm đƣợc điều đó thì các thiết bị cảm biến, thuật toán hỗ trợ ra đời. Trong số đó có bài tốn “phân loại sản phẩm theo hình dạng và kích thƣớc” là một đề tài đáng để cho ta tìm hiể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”. Phân loại sản phẩm theo hình dạng (hình vng, hình chữ nhật, hình tam giác), có thể biết đƣợc kích thƣớc của sản phẩm. Mơ hình gồm bộ điều khiển trung tâm là laptop, khối thu tín hiệu hình ảnh từ bên ngoài là camera 3D.
Thiết kế mơ hình phân loại sản phẩm theo hình dạng (hình vng, hình chữ nhật, hình tam giác) và kích thƣớc có thời gian và tốc độ xử lý nhanh, tuy nhiên không chụp ảnh theo mong muốn ở điều kiện thiếu ánh sáng mà phải có màu sắc riêng biệt để tăng cƣờng độ chính xác của ảnh tránh nhiễu. Đề tải chỉ xây dựng với mơ hình nhỏ và gọn khơng làm thành dây chuyền sản xuất.
3.2 THIẾT KẾ HỆ THỐNG PHẦN CỨNG
Sơ đồ gồm : bộ điều khiển trung tâm là laptop, khối thu tín hiệu hình ảnh từ bên ngồi là stereo camera, sau đó đƣợc hiển thị kết quả trên màn hình máy tính, cùng với bộ phận để ngƣời giao tiếp và điều khiển.
Chức năng các khối:
Khối xử lý trung tâm: là bộ xử lý chính, nhận dữ liệu từ khối thu tín hiệu camera, sau đó xử lý và phân tích nhận dạng, phân loại sản phẩm để đƣa kết quả ra hiển thị.
Khối thu tin hiệu hình ảnh: thu thập tín hiệu hình ảnh từ thực tế chuyển về tín hiệu điện và gửi dữ liệu cho khối xử lý trung tâm. Ở đây dùng stereo camera làm khối thu tín hiệu hình ảnh.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 30 Khối hiển thị: hiển thị kết quả đƣợc nhận từ khối xử lý trung tâm.
Sử dụng màn hình của máy tính để hiển thị kết quả.
Khối giao tiếp và điều khiển: sử dụng bàn phím và chuột để giao tiếp với CPU.
Khối nguồn: cung cấp nguồn cho toàn bộ hệ thống.
Khối xử lý trung tâm Khối thu tín hiệu hình ảnh Khối hiển thị Khối nguồn Khối giao tiếp và điều khiển Gửi hình ảnh về trung tâm Đưa kết quả hiển thị Cung cấp điện áp Tín hiệu điều khiển Hình 3.1: Sơ đồ khối 3.2.1 Khối xử lý
Vì vấn đề xử lý ảnh cần nhiều tài nguyên và tốc độ xử lý cao, nên ta không sử dụng vi điều khiển thơng thƣờng để xử lý. Chính vì vậy, nhóm đã sử dụng laptop làm khối xử lý trung tâm.
Máy tính của nhóm có CPU core i5 tộc độ xử lý lên tới 3.4 GHz chính vì vậy việc sử dụng vào mơ hình là hợp lý. Máy tính hỗ trợ rất tốt việc giao tiếp các thiết bị ngoại vi và model từ bên ngồi.
BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 31 Khối thu tín hiệu là thành phần quan trọng của mơ hình. Có chức năng thu thập dữ liệu từ thực tế rồi gửi dữ liệu cho khối xử lý trung tâm.
Hình 3.2: Khối thu tín hiệu
Ở đây để có chất lƣợng hình ảnh tốt để xử lý ảnh dễ dàng ta dùng camera có độ phân giải cao, có khả năng ghi nhận chiều sâu đối tƣợng, tƣơng tự mắt con ngƣời nên chọn stereo camera làm khối thu tín hiệu hình ảnh.
Là thiết bị có ảnh hƣởng lớn đến chất lƣợng ảnh cùng với việc nhận dạng và phân loại sản phẩm. Nên “Synchronization USB Stereo Webcam Dual lens camera OV9750 960P MJPEG 2560X960 with No distortion lens 3D usb camera module” đƣợc chọn. Camera có độ phân giải cao, cùng với kích thƣớc nhỏ gọn phù hợp cho các hƣớng phát triển sau này.
Hình 3.3: Synchronization USB Stereo Webcam Dual lens camera OV9750 960P
MJPEG 2560x960 with No distortion lens 3D usb camera module Các tính năng và đặc điểm của camera:
Module Camera USB2.0 1.3MP HD 960P đƣợc đồng bộ hóa.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 32 Giao diện USB 2.0 tốc độ cao.
Tốc độ khung hình cao, có thể nhận MJPEG: 2560X960 @ 60fps / 2560X720 @ 60fps / 1280X480 @ 60fps / 640X240 @ 60fps.
Tiêu thụ điện năng thấp.
Sử dụng trong HĐH Windows, Linux, Android, Mac
3.2.3 Khối hiển thị
Có chức năng hiển thị kết quả đƣợc nhận từ Khối xử lý trung tâm. Sử dụng màn hình máy tính để hiển thị kết quả.
Hình 3.4: Laptop
3.2.4 Khối giao tiếp và điều khiển
Bàn phím
Về hình dáng, bàn phím là sự sắp đặt các nút, hay phím. Một bàn phím thơng thƣờng có các ký tự đƣợc khắc hoặc in trên phím; với đa số bàn phím, mỗi lần nhấn một phím tƣơng ứng với một ký hiệu đƣợc tạo ra.
Chuột máy tính
Chuột máy tính là một thiết bị ngoại vi của máy tính dùng để điều khiển và làm việc với máy tính. Để sử dụng chuột máy tính nhất thiết phải sử dụng màn hình máy tính để quan sát toạ độ và thao tác di chuyển của chuột trên màn hình.
3.2.5 Khối nguồn
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 33 Module camera với dịng tiêu thụ 220mA và điện áp 5V có thể sử dụng cổng USB 2.0 của máy tính.
Do sử dụng máy tính xách tay nên các thiết bị ngoại vi khơng đƣợc tính.
3.3 CÁC TÍNH TỐN TRONG NHẬN DẠNG
3.3.1 Giới thiệu đặc điểm của hình dạng
Nhƣ đã tìm hiểu phƣơng pháp nhận dạng ở cơ sở lý thuyết, từ đó rút ra rằng:
Đỉnh cùa hình dạng
Đầu tiên ta tìm số đỉnh của các hình. Có 3 hình dạng có đặc điểm liên quan tới đỉnh là hình chữ nhật, hình vng và hình tam giác.
Đặc điểm:
- Có 4 đỉnh là hình vng hoặc hình chữ nhật. - Có 3 đỉnh là hình tam giác.
Cạnh của hình dạng
Vấn đề về cạnh chỉ có 2 hình là liên quan tới chúng là: hình chữ nhật và hình vng.
Đặc điểm:
- Hai cạnh kề bằng nhau là hình vng.
- Hai cạnh kề khơng bằng nhau là hình chữ nhật.
3.3.2 Phƣơng pháp tính tốn các đặc điểm
Cách tìm đỉnh
Hình 3.5: Đỉnh của hình
Sử dụng thuật tốn Ramer-Douglas-Peucker để tìm đƣờng bao xấp xỉ, từ đƣờng bao ta có cạnh xấp xỉ và nhờ đó suy ra đƣợc đỉnh.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 34
Hình 3.6: Đoạn Ramer-Douglas-Peucker
Giả xử trên đƣờng viền của cạnh một đối tƣợng có các điểm lồi ra và lõm vào, chính vì thế ta cần phải đi tìm đƣờng xấp xỉ cho nó. Ở đây, sử dụng thuật tốn Ramer-Douglas-Peucker, tức là tìm đƣờng đi ngắn nhất từ điểm đầu đến điểm cuối.
Hình trên ta thấy đƣờng ngắn nhất đi từ A đến E chính là đoạn AE. Tƣơng tự nhƣ thế ta áp dụng lên hình dạng sản phẩm ta tìm đƣợc cạnh xấp xỉ là AH.
Hình 3.7: Đƣờng xấp xỉ
Từ đó ta có đƣờng bao xấp xỉ cho hình chữ nhật. Đỉnh ở đây là điểm đầu và điểm cuối trên một đoạn thẳng. Ví dụ trên cạnh AB thì đỉnh của nó là A và B.
Giả xử nó có tọa độ A(m,n) và B(x,y). Tƣơng tự làm với các cạnh cịn lại, nếu có các đỉnh giống nhau về tọa độ thì ở đây nó là 1 đỉnh.
Cách tìm độ dài cạnh
BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 35 Giả sử ta có tọa độ của 2 đỉnh tìm đƣợc ở bƣớc tìm đỉnh là A(m,n) và B(x,y)
Ta tìm cạnh với cơng thức: 2 2 n y m x AB (3.1) Tƣơng tự cạnh BC ta cũng tìm tƣơng tự Nếu AB = BC thì đó là hình vng AB khác BC thì đó là hình chữ nhật Xác định kích thƣớc của đối tƣợng
Từ các phƣơng pháp tìm đỉnh và độ dài các cạnh ở phía trên ta có thể tính tốn đƣợc chu vi của từng sản phẩm dựa vào hình dạng và độ dài các cạnh của chúng.
Ta tìm chu vi của chúng bằng cách xem chúng nhƣ một loại hình học cơ bản:
Hình chữ nhật
Chu vi bằng tổng hai cạnh kề nhân với 2:
P = (C + D) x 2 (3.2)
(với P là chu vi, C,D là 2 cạnh kề nhau)
Hình vng
Chu vi bằng độ dài một cạnh nhân với 4:
P = D x 4 (3.3)
(với P là chu vi, D là độ dài cạnh)
Hình tam giác
Chu vi bằng tổng độ dài 3 cạnh
P = A + B + C (3.4)
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 36
CHƢƠNG 4: THI CÔNG HỆ THỐNG 4.1 GIỚI THIỆU
Ở phần này thực thi trên laptop q trình lấy các hình mẫu có sẵn sau đó xử lý phân tích và nhận dạng sản phẩm.
Đề tải chỉ xây dựng với mơ hình nhỏ và gọn khơng làm thành dây chuyền sản xuất. Mơ hình đƣợc kết nối qua các dây tín hiệu nên sẽ khơng có phần thiết kế và thi cơng bo mạch
4.2 THI CƠNG HỆ THỐNG
4.2.1 Các linh kiện và model cần thiết cho mơ hình
Vì mơ hình có linh kiện và model do nhà sản xuất sẵn nên sẽ khơng có sơ đồ mạch in, nên có sơ đồ kết nối của mơ hình.
Bảng 4.1: Danh sách các model và linh kiện liên quan.
STT Tên Giá trị Chú thích
1 Laptop corei5 Tốc độ 3.4GHz Có vỏ bảo vệ
2 Stereo Camera Độ phân giải và
khung hình: 2560X960 @ 60fps
Có dây kết nối với cổng USB
3 Led 1W Màu trắng
4 Pin tiểu 3V Có vỏ bảo vể
4.2.2 Kết nối, lắp ráp và kiểm tra mơ hình
Mơ hình gồm bộ điều khiển trung tâm là bộ vi xử lý (CPU) của chiếc laptop, khối thu tín hiệu hình ảnh từ bên ngồi là Camera 3D đƣợc kết nối vào cổng usb của
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 37
laptop, sau đó kết quả hiển thị trên mà hình laptop, cùng với bộ phận để ngƣời giao tiếp và điều khiển là chuột máy tính.
Kết nối Camera với Laptop
Camera đƣợc kết nối với cổng USB của laptop.
Sau khi kết nối thì xem cổng USB laptop đã nhận tín hiệu của camera chƣa, sau đó ta chọn mở IDLE và chạy chƣơng trình kiểm tra đầu vào của camera xem kết quả xem có xuất đầu vào của camera hay khơng.
Để chiếu sáng cho mơ hình ta nối trực tiếp đèn led 1w, điện áp 3-3,7V màu trắng với pin tiểu 3V .
Hình 4.1: Kết nối Camera
4.3 THI CƠNG MƠ HÌNH
Mơ hình các khối hình hộp đƣợc gấp từ những tấm bìa cứng thành những hình hộp chữ nhật, hình vng, hình tam giác và đƣợc dán ở bên ngồi bằng những lớp giấy màu (đỏ) để dễ dàng hơn trong việc nhận dạng, tránh việc nhiễu màu. Mơ hình phải đƣợc thực hiện trong điều kiện có ánh sang đầy đủ để tránh những sai số, giúp cho ảnh có chất lƣợng tốt hơn cũng nhƣ tang cƣờng quá trình nhận dạng ổn định hơn và nhanh hơn.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 38 Hình 4.2: Các khối hộp (Hình dạng sản phẩm)
4.4 LẬP TRÌNH HỆ THỐNG
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 39 Hình 4.3: Lƣu đồ giải thuật chính
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 40
Lƣu đồ giải thuật chính gồm: Thu thập ảnh RGB từ camera 3D, tiền xử lý ảnh, nhận dạng màu sắc, tách biên, xác định các thông số 3D của môi trƣờng và giai đoạn quan trọng nhất là nhận dạng và tính kích thƣớc sản phẩm, cuối cùng là xuất kết quả. Trong đó:
Thu thập ảnh RGB từ camera 3D
Khi có một đối tƣợng di chuyển qua camera, đối tƣợng sẽ đƣợc chụp lại dƣới dạng ảnh RGB với khung và độ phân giải là 720x640, 30fps.
RGB là từ viết tắt tiếng Anh của cơ chế hệ màu cộng, thƣờng đƣợc sử dụng để hiển thị màu trên các màn hình TV, monitor máy tính và những thiết bị điện tử khác (chẳng hạn nhƣ camera kỹ thuật số). Với ba màu cơ bản gồm: đỏ, xanh lá và xanh dƣơng.
OpenCV xử lý ảnh và video ở định dạng 8 bit, số nguyên không dấu, định dạng BGR. Nói cách khác, hình ảnh đƣợc chụp có thể đƣợc coi là 3 ma trận: xanh dƣơng, xanh lá và đỏ (BGR) với các giá trị nguyên nằm trong khoảng từ 0 đến 255. Hình ảnh sau đây cho thấy hình ảnh màu đƣợc biểu diễn bằng 3 ma trận.
Hình 4.4: Ma trận khơng gian màu BGR Tiền xử lý ảnh
Bao gồm các bƣớc lọc nhiễu, nâng cao chất lƣợng ảnh để thuận tiện cho q trình nhận dạng ảnh.
BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 41
Ở bƣớc này, ảnh RGB đầu vào đƣợc sau khi đƣợc lọc nhiễu ta tiến hành chuyển đổi sang ảnh HSV. Trong không gian màu HSV ta so sánh từng pixel với ngƣỡng trên và ngƣỡng dƣới của màu đỏ. Mục đích là để bộ xử lý sẽ dễ dàng nhận biết hơn đó là đối tƣợng cần nhận dạng, hạn chế nhiễu.
Không gian màu HSV gồm ba ma trận: HUE, SATURATION and VALUE. Trong Opencv thì HUE có phạm vi từ 0-179 mang thông tin màu sắc, SATURATION từ 0-255 cho thông tin về độ thuần khiết của màu và VALUE từ 0-255 cho biết độ sang của điểm ảnh.
Thƣ viện OpenCV là một thƣ viện chuyên xử lý hình ảnh vì vậy nó hổ trợ rất nhiều hệ màu nhƣ RGB, ARGB, BRGA, YUV, HSV… và nó cũng có cung cấp cho chúng ta hàm cv.cvtColor (CV_BGR2HSV) để thực hiển chuyển đổi BGR sang HSV.
Tách biên và lấp đầy biên
Là q trình xác định đƣờng biên sau đó loại bỏ những dữ liệu khơng cần thiết, sau khi có đƣợc đƣờng biên ta lấp đầy biên để có đƣợc hình dạng của sản phẩm để đi nhận dạng.
Hình 4.5: Sơ đồ khối chƣơng trình con tách biên và lấp đầy biên
Sau khi có đƣợc ảnh ta tiếp tục xử lý chất lƣợng hình ảnh đầu vào để cho quá trình nhận dạng ảnh đƣợc tốt bao gồm việc chuyển đổi ảnh xám cũng nhƣ giãm nhiễu để có chất lƣợng ảnh tốt hơn.
Giảm nhiễu:Quá trình giảm nhiễu ở đây ta giải nhiễu thêm một lần nữa giúp ảnh chất lƣợng hơn. Vì phát hiện cạnh, đƣờng biên dễ bị nhiễu trong ảnh, bƣớc đầu tiên là loại bỏ nhiễu trong ảnh bằng bộ lọc Gaussian.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 42
Chuyển đổi ảnh xám là quá trình chuyển đổi hình ảnh dƣới dạng RGB (Red- Green-Blue) sang ảnh xám. Điều này có nghĩa là có ba ma trận xám tƣơng ứng cho màu Red, Green, Blue, vơng việc là tìm cách tổng hợp ba ma trận này về thành một ma trận duy nhất đó là ma trận xám.
Xác định đƣờng biên: Ảnh đƣợc lọc mịn đƣợc đem đi xác định biên tạo ra các đƣờng biên có giá trị là là một trong giá trị nhị phân của hình. Ở bƣớc này ta xác đinh đƣờng biên bằng các tìm điểm A ở giữa hai điểm lân cận C và B ta xác định đó có phải giái trị cực đại không tức là giá trị rất lớn so với các điểm lân cận. nếu nó đúng thì ta có thể có thể xác định tạm thời đó là một phần của đƣờng biên.
Tách biên: Là quá trình lọai bỏ các dữ liệu khơng phải là biên đƣợc xác định từ trƣớc, chỉ dữ lại những đƣờng biên.
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ên ngồi biên đƣợc coi là giá trị 0.
Nhận dạng và tính kích thƣớc sản phẩm
Ở đây bao gồm giai đoạn gán nhãn cho từng hình dạng rồi phân tích nhận dạng. Gán nhãn nói một cách tóm tắt là ta đi ghi chú cho từng hình để biết đó là hình gì, chu