Số hóa bởi trung tâm học liệu
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌ
ĐỖ VĂN CHUYÊN
ỨNG DỤNG XỬ LÝ ẢNH TRONG
ĐIỀU KHIỂN CÁNH TAY ROBOT CÔNG NGHIỆP
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01
LUẬN VĂN THẠ Ngƣ : TS. Phạm Đức Long
Thái Nguyên – 2013
Số hóa bởi trung tâm học liệu
i
và hoàn thành luận văn.
Thái Nguyên, ngày 19 tháng 11 năm 2013
HỌC VIÊN Đỗ Văn Chuyên Số hóa bởi trung tâm học liệu
iii
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v
DANH MỤC CÁC HÌNH v
Chƣơng 1: CƠ SỞ LÝ THUYẾT XỬ LÝ ẢNH 2
1.1. Lý thuyết về xử lý ảnh [1] 2
1.1.1. Hệ thống xử lý ảnh 2
1.1.2. Các vấn đề cơ bản trong xử lý ảnh 2
1.1.3. Thu nhận ảnh và số hóa 5
1.1.4. Phân tích ảnh 5
1.1.5. Hệ quyết định 5
1.2. Thu nhận ảnh và lƣu trữ ảnh 5
1.2.1. Thu nhận ảnh[7] 5
1.2.2. Lƣu trữ ảnh 7
1.3. Phân tích ảnh 11
1.3.1. Khái niệm pixel và pixel lân cận 11
3.3. Giới thiệu camera Eye-RIC 41
3.4. Xác định vị trí đối tƣợng bằng xử lý ảnh 45
3.4.1. Xác định vị trí đối tƣợng hình tròn 45
3.4.2. Xác định vị trí đối tƣợng hình vuông 47
3.4.3. Xác định vị trí đối tƣợng hình tròn lẫn với các đối tƣợng hình
vuông trong mặt phẳng chi chi tiết máy 48
3.4.4. Kết quả thực nghiệm 50
KẾT LUẬN 54
TÀI LIỆU THAM KHẢO 55
Số hóa bởi trung tâm học liệu
v
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
KÝ HIỆU/TỪ
VIẾT TẮT
Ý NGHĨA
CCD
Charge Coupled Device
CMOS
Conplementary Metal – Oxide – Semiconductor
BMP
Bitmap
PCX
Personal Computer Exchange
RLE
Run – Length – Encoded
TIFF
Số hóa bởi trung tâm học liệu
vi
DANH MỤC CÁC HÌNH
Hình 1.1 Hệ thống xử lý ảnh. 2
Hình 1.2: Tọa độ P và tọa độ các điểm lân cận 11
Hình 1.3: Mô hình màu RGB. 12
Hình 1.4: và biểu diễn một đƣờng thẳng. 16
Hình 1.5: Đƣờng thẳng Hough trong trục tọa độ. 18
Hình 1.6: a) Original image b) Image after gradiant filtering 20
Hình 1.7: c) Hough array visualization d) Image with detected lines 20
Hình 1.8: Hình chữ nhật có gốc tọa độ nằm ở giữa. 21
Hình 1.9: Hình chữ nhật trong không gian Hough. 22
Hình 1.10: Ảnh nhị phân 24
Hình 1.11: Hiển thị ma trận của phép biến đổi Hough. 25
Hình 1.12: Tâm của vòng tròn với bán kính R. 26
Hình 2.1. Các tọa độ suy rộng của robot. 30
Hình 2.2: Qui tắc bàn tay phải 30
Hình 2.4. Các thành phần chính của hệ thống robot. 32
Hình 2.5. Robot kiển tạo độ Đề các. 33
Hình 2.6. Robot kiểu tọa độ trụ. 34
Hình 2.7. Robot kiểu tọa độ cầu. 34
Hình 2.8. Robot hoạt động theo kiểu hệ tọa độ góc. 35
Hình 2.9. Robot kiểu SCARA. 36
Hình 3.1. a) Vòng bi b) Vòng đệm máy 47
Hình 3.2. a) Ốc máy b) Phụ tùng máy 40
Hình 3.3. Quá trình xử lý 40
Hình 3.4. Cánh tay robot điều khiển bằng thông tin chiết xuất từ hình ảnh 41
Hình 3.5. Sơ đồ hệ thống điều khiển cánh tay robot 50
mạnh mẽ trong đời sống nhƣ trong y học xử lý ảnh xử dụng trong nhận dạng khối u, cải
thiện ảnh X-quang. Trong cuộc sống gia đình xử lý ảnh dùng để cải thiện chất lƣợng ảnh
truyền hình. Trong Điều khiển và Tự động hóa xử lý ảnh đã có những đóng góp quan
trọng đặc biệt là trong lĩnh vực Robot. Robot thông minh ngày nay không thể thiếu xử lý
ảnh để thực hiện. Nhận dạng đối tƣợng ngoài môi trƣờng nói chung hay trong nhà máy
xí nghiệp. Từ việc nhận dạng có thể giải quyết rất nhiều bài toán nhƣ gắp vật, tránh vật
cản, dò đƣờng,…Các chƣơng trình ứng dụng nhƣ: nhận dạng mặt ngƣời, nhận dạng vân
tay trong điều tra hình sự, xử lý ảnh vệ tinh, kiểm soát giao thông, xử lý ảnh chụp cắt lớp,
MRI, chuẩn đoán tế bào trong y học, các chƣơng trình nhận dạng chữ viết đã đem lại
nhiều ứng dụng tiện ích cho con ngƣời.
Nhận dạng đối tƣợng trong ảnh là vấn đề đƣợc nhiều nhà khoa học quan tâm.
Mục đích chính nhằm tìm ra những đối tƣợng trong ảnh với thời gian nhỏ nhất.
Thuật toán tìm kiếm đối tƣợng dựa trên biến đổi Hough là một trong nhiều phƣơng
pháp tìm kiếm đối tƣợng trong ảnh.
Biến đổi Hough là một kỹ thuật có thể dùng để tách ra các đặc điểm của một
hình dáng cụ thể trong một ảnh nhị phân. Đối tƣợng có thể có hình dạng bất kỳ
miễn là có thể biểu diễn đƣợc bằng phƣơng trình toán. Các bài toán tìm kiếm từ
những mức đơn giản nhƣ tìm đƣờng thẳng tới các bài toán phức tạp hơn nhƣ tìm
hình tròn, hình elipse, hình vuông hoặc các hình phức tạp đều có thể thực hiện bằng
biến đổi Hough.
Luận văn bao gồm các nội dung chính nhƣ sau:
Chƣơng 1: Cở sở lý thuyết xử lý ảnh
Chƣơng 2: Giới thiệu chung về robot công nghiệp
Chƣơng 3: Điều khiển cánh tay robot bằng xử lý ảnh
Do thời gian và trình độ còn hạn chế nên luận văn khó tránh khỏi những
thiếu sót, kính mong nhận đƣợc sự đóng góp, chỉ bảo của các thầy giáo, cô giáo và
các bạn đồng nghiệp.
Số hóa bởi trung tâm học liệu
có 2 hƣớng tiếp cận.
+ Giảm số mức xám: thực hiện bằng cánh nhóm các mức xám gần nhau
thành một bó. Trƣờng hợp chỉ có 2 mức xám thì chính là chuyển về ảnh
đen trắng. Ứng dụng in ảnh màu ra máy in đen trắng.
+ Tăng số mức xám: thực hiện nội suy ra các mức xám trung gian bằng
kỹ thuật nội suy. Kỹ thuật này tăng cƣờng độ mịn cho ảnh.
Trích chọn đặc điểm
- Các đặc điểm của đối tƣợng đƣợc trích chọn tùy theo mục đích nhận dạng
trong quá trình xử lý ảnh. Có thể nêu ra một số đặc điểm của ảnh sau đây:
o Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên
độ, điểm uốn…
o Đặc điểm biến đổi: Các đặc điểm loại này đƣợc trích chọn bằng
việc thực hiện lọc vùng (zonal filtering). Các bộ vùng đƣợc gọi là
“mặt nạ đặc điểm” (feature mask) thƣờng là các khe hẹp với hình
dạng khác nhau (chữ nhật, tam giác, cung tròn…)
o Đặc điểm biên và đƣờng biên: rất hữu ích trong việc trích trọn các
thuộc tính bất biến đƣợc dùng khi nhận dạng đối tƣợng. Các đặc
điểm này có thể đƣợc trích chọn nhờ toán tử Gradient, toán tử la
bàn, toán tử Laplace,… Việc trích chọn hiệu quả các đặc điểm
giúp cho việc nhận dạng các đối tƣợng ảnh chính xác, tốc độ tính
toán cao và dung lƣợng nhớ lƣu trữ giảm xuống.
Nhận dạng[1][4].
- Nhận dạng tự động (automatic recognition), mô tả đối tƣợng, phân loại và
phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy, đƣợc
Số hóa bởi trung tâm học liệu
4
ứng dụng trong nhiều ngành khoa học khác nhau. Trong công việc này
một câu hỏi quan trọng đƣợc đặt ra là: mẫu (pattern) là gì? Watanabe,
dụng khi nhận dạng và nay đã có những kết quả có triển vọng dựa trên thiết kế các
hệ thống lai (hybrid system) bao gồm nhiều mô hình kết hợp.
Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh
trong cuộc sống không chỉ tạo ra những thách thức về thuật giải, mà còn đặt ra
những yêu cầu về tốc độ tính toán. Đặc điểm chung của tất cả những ứng dụng đó là
những đặc điểm đặc trƣng cần thiết thƣờng là nhiều, không thể do chuyên gia đề
xuất, mà phải đƣợc trích chọn dựa trên các thủ tục phân tích dữ liệu.
1.1.3. Thu nhận ảnh và số hóa
Thu nhận ảnh có thể thông qua camera. Các camera có thể là tƣơng tự hoặc
là camera số (loại camera kiểu CCD - Charge Coupled Device). Ảnh cũng có thể
đƣợc thu qua các thiết bị khác nhƣ máy quét… Nếu nhận ảnh đƣợc là tƣơng tự nó
phải đƣợc số hóa nhờ quá trình lấy mẫu và lƣợng tử hóa trƣớc khi phân tích, xử lý
hay lƣu trữ ảnh.
1.1.4. Phân tích ảnh
Ở giai đoạn này ảnh đƣợc xử lý theo nhiều công đoạn nhỏ nhƣ: cải thiện ảnh,
khôi phục ảnh để làm nổi bật một số đặc tính chính của ảnh hay làm ảnh gần với
trạng thái gốc.
1.1.5. Hệ quyết định
Cuối cùng tùy theo mục đích của ứng dụng sẽ là giai đoạn nhận dạng hay các
quyết định khác.
1.2. Thu nhận ảnh và lƣu trữ ảnh
1.2.1. Thu nhận ảnh[7]
Ảnh có thể đƣợc thu nhận qua camera ở đạng tín hiệu tƣơng tự với tần số
1/25, mỗi ảnh có 625 dòng hoặc ở dạng tín hiệu số là loại photodiode tạo ra cƣờng
độ sáng tại mỗi điểm ảnh. Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh qua các bộ
cảm biến, có thể quét ảnh từ ảnh chụp bằng máy tính quét ảnh.
Cấu tạo của camera (webcam).
Webcam là một loại thiết bị thu nhận ảnh dƣới dạng tín hiệu số cấu tạo
chung nhƣ sau.
Số hóa bởi trung tâm học liệu
7
+ Cảm biến CMOS:
Cũng giống nhƣ cảm viến CCD, CMOS cũng hấp thụ ánh sáng thông qua
mảng diode quang. Tuy nhiên, bên trong mỗi pixel diode này đƣợc tích hợp một
mạch khuếch đại, lọc nhiễu và mạch số hóa để có thể tự động dò tìm photon ảnh
sáng hấp thụ đƣợc chuyển đổi thành điện áp và trực tiếp truyền tính hiệu đến ngõ ra.
Vì thế tín hiệu điện ở ngõ ra là tín hiệu ở dạng số.
1.2.2. Lưu trữ ảnh
Ảnh trên máy tính là kết quả thu nhận theo các phƣơng pháp số hóa đƣợc
nhúng trong các thiết bị kỹ thuật khác nhau. Quá trình lƣu ảnh nhằm 2 mục đích:
+ Tiết kiệm bộ nhớ
+ Giảm thời gian xử lý
Việc lƣu trữ trông tin trong bộ nhớ có ảnh hƣởng rất lớn đến việc hiển thị, in
ấn và xử lý ảnh đƣợc xem nhƣ là một tập hợp các điểm với cùng kích thƣớc nếu sử
dụng càng nhiều điểm ảnh thì bức ảnh càng đẹp, càng mịn và càng thể hiện rõ hơn
chi tiết của ảnh ngƣời ta gọi đặc điểm ngày là độ phân giải.
Để lƣu trữ ảnh trên máy tính, một số định dạng ảnh nhƣ BMP, IMG, PCX, TIFF…
+ Định dạng ảnh BMP:
Trong đồ họa máy vi tính tập tin ảnh Windows bitmap, là một định dạng tập
tin hình ảnh khá phổ biến. Các tập tin đồ họa lƣu dƣới dạng BMP thƣờng có đuôi
là .BMP hoặc .DIB (Device Independent Bitmap).
Các thuộc tính tiêu biểu của một tập tin ảnh BMP (cũng nhƣ file ảnh nói
chung) là số bit trên mỗi điểm ảnh (bit per pixel), thƣờng đƣợc ký hiệu bởi n. Một
ảnh BMP n-bit có 2
n
màu. Giá trị n càng lớn thì ảnh càng có nhiều màu, và càng rõ
nét hơn. Giá trị tiêu biểu của n là 1 (ảnh đen trắng), 4 (ảnh 16 màu), 8 (ảnh 256
màu), 16 (ảnh 65536 màu) và 24 (ảnh 16 triệu màu). Ảnh BMP 24-bit có chất lƣợng
- 2 byte tiếp theo: chứa độ dài mẫu tin. Đó là độ dài của dãy các byte kề liền
nhau mà dãy này sẽ đƣợc lặp lại một số lần nào đó. Số lần lặp này sẽ đƣợc lƣu trong
byte đếm. Nhiều dãy giống nhau đƣợc lƣu trong một byte.
- 4 byte tiếp: mô tả kích cỡ pixel.
- 2 byte tiếp: số pixel trên một dòng ảnh.
Số hóa bởi trung tâm học liệu
9
- 2 byte cuối: số dòng ảnh trong ảnh.
Ảnh IMG đƣợc nén theo từng dòng, mỗi dòng bao gồm các gói (pack). Các
dòng giống nhau cũng đƣợc nén thành một gói. Có 4 loại gói sau:
Loại 1: Gói các dòng giống nhau. Quy cách gói tin này nhƣ sau: 0x00 0x00
0xFF Count. Ba byte đầu tiên cho biết số các dãy giống nhau, byte cuối cho biết số
các dòng giống nhau.
Loại 2: Gói các dãy giống nhau. Quy cách gói tin này nhƣ sau: 0x00 Count.
Byte thứ hai cho biết số các dãy giống nhau đƣợc nén trong gói. Độ dài của dãy ghi
ở đầu tệp.
Loại 3: Dãy các Pixel không giống nhau, không lặp lại và không nén đƣợc.
Quy cách gói tin này nhƣ sau: 0x80 Count. Byte thứ hai cho biết độ dài dãy các
pixel không giống nhau không nén đƣợc.
Loại 4: Dãy các Pixel giống nhau. Tuỳ theo các bít cao của byte đầu tiên
đƣợc bật hay tắt. Nếu bít cao đƣợc bật (giá trị 1) thì đây là gói nén các byte chỉ gồm
bít 0, số các byte đƣợc nén đƣợc tính bởi 7 bít thấp còn lại. Nếu bớt cao tắt (giá trị
0) thì đây là gói nén các byte gồm toán bít 1. Số các byte đƣợc nén đƣợc tính bởi 7
bít còn lại.
Các gói tin của file IMG rất đa dạng do ảnh IMG là ảnh đen trắng, do vậy chỉ
cần 1 bít cho 1 pixel thay vì 4 hoặc 8 nhƣ đã nói ở trên. Toàn bộ ảnh chỉ có những
điểm sáng và tối tƣơng ứng với giá trị 1 hoặc 0. Tỷ lệ nén của kiểu định dạng này là
khá cao.
- 1 byte: số bit plane mà ảnh sử dụng. Với ảnh 16 màu, giá trị này là 4, với
ảnh 256 màu (1pixel/8bits) thì số bít plane lại là 1.
- 1 byte: số bytes cho một dòng quét ảnh.
- 1 word: kiểu bảng màu.
- 58 byte: không dùng.
Định dạng ảnh PCX thƣờng đƣợc dùng để lƣu trữ ảnh và thao tác đơn giản, cho
phép nén và giải nén nhanh. Tuy nhiên, vì cấu trúc của nó cố định, nên trong một số
Số hóa bởi trung tâm học liệu
11
trƣờng hợp làm tăng kích thƣớc lƣu trữ. Cũng vì nhƣợc điểm này mà một số ứng
dụng sử dụng một kiểu định dạng khác mềm dẻo hơn: định dạng TIFF (Targed
Image File Format).
1.3. Phân tích ảnh
1.3.1. Khái niệm pixel và pixel lân cận
Pixel là phân tử nhỏ nhất cấu tạo nên hình ảnh. Mỗi pixel có một tọa độ (x,
y) và màu xác định.
P
1
(x-1,y-1)
P
2
(x-1,y)
P
3
(x-1,y+1)
P
4
(x,y-1)
1
(x-1,y-1) P
3
(x-1,y+1)
P
6
(x+1,y-1) P
8
(x+1,y+1)
Tập các pixel này đƣợc ký hiệu là ND(p). Bốn pixel này cùng với 4 pixel ở
trên tạo thành 8 pixel lân cận của P và đƣợc ký hiệu là N8(p). Tập hợp này cũng sẽ
có một số pixel ở bên ngoài hình ảnh nếu (x, y) nằm ở mép ngoài của hình ảnh.
1.3.2. Một số không gian màu
Không gian màu RGB:
Số hóa bởi trung tâm học liệu
12
+ Mô hình màu RGB sử dụng mô hình bổ sung trong đó ánh sáng đỏ, xanh
lá cây và xanh lam đƣợc tổ hợp với nhau theo nhiều phƣơng thức khác nhau để tạo
thành các màu khác. Từ viết tắt RGB trong tiếng Anh có nghĩa là đỏ (red), xanh lá
cây (green) và xanh lam (blue), là ba màu gốc trong các mô hình ánh sáng bổ sung.
Hình 1.3: Mô hình màu RGB
+ Cũng lƣu ý rằng mô hình màu RGB tự bản thân nó không định nghĩa thế
nào là “đỏ”, “xanh lá cây” và “xanh lam” một cách chính xác, vì thế với cùng các
giá trị nhƣ nhau của RGB có thể mô tả các màu tƣơng đối khác nhau trên các thiết
bị khác nhau có cùng một mô hình màu. Trong khi chúng cùng chia sẻ một mô hình
màu chung, không gian màu thực sự của chúng là dao động một cách đáng kể.
Mô hình màu CMY
màn hình máy tính) có các gam màu khác nhau. Mô hình màu RGB là mô
hình dựa trên cơ sở phát xạ ánh sáng (màu bổ sung) trong khi mô hình
CMYK làm việc theo cơ chế hấp thụ ánh sáng (màu loại trừ).
Mô hình màu HSV
+ Là một không gian màu dựa trên ba số liệu:
H: (Hue) Vùng màu
S: (Saturation) Độ bão hòa màu
V: (Value) Độ sáng
Số hóa bởi trung tâm học liệu
14
1.3.3. Một số kỹ thuật trợ giúp xử lý ảnh
Kỹ thuật lọc số.
o Chất lƣợng hình ảnh kém do rất nhiều nguyên nhân nhƣ do nhiễm
điện từ của máy thu hay chất lƣợng bộ số hóa kém. Nhiễu ảnh số
đƣợc xem nhƣ là sự dịch chuyển nhanh của tín hiệu thu nhận trên
một khoảng cách ngắn. Về mặt tần số, nhiễu ứng với các thành
phần tần số cao trong ảnh. Nhƣng vậy để xử lý nhiễu ta có thể lọc
các thành phần tần số cao. Việc lọc dựa vào tính dƣ thừa thông tin
không gian: các pixel lân cận có thể có ảnh gốc. Tùy theo cách tổ
hợp điểm đang xét với các điểm lân cận mà ta có kỹ thuật lọc
tuyến tính hay kỹ thuật lọc phi tuyến. Điểm ảnh chịu tác động của
biến đổi là điểm ở tâm của mặt nạ. Các kỹ thuật lọc này đƣợc trình
bày kỹ trong phần làm trơn ảnh.
1.3.4. Biên và các phương pháp phát hiện biên[1][4][7]
Biên là vấn đề quan trọng trong trích chọn đặc điểm nhằm tiến tới hiểu ảnh.
Cho đến nay chƣa có định nghĩa chính xác về biên, trong mỗi ứng dụng ngƣời ta
đƣa ra các độ đo khác nhau về biên, một trong các độ đo đó là một độ đo về sự thay
đổi đột ngột về cấp xám.
tìm đƣờng thẳng tới các bài toán phức tạp hơn nhƣ tìm hình tròn, hình elipse hoặc
các hình phức tạp đều có thể thực hiện bằng biến đổi Hough (với điều kiện các hình
dạng này biểu diễn toán học đƣợc).
- Biến đổi Hough tìm đƣờng thẳng
Không gian ảnh và không gian tham số trong biến đổi Hough Số hóa bởi trung tâm học liệu
16
Hình 1.4: và biểu diễn một đƣờng thẳng.
Mỗi một đƣờng thẳng có một bộ thông số ( , ).
Trên hệ toạ độ Đề các một đƣờng thẳng có hình dạng nhƣ trên hình 1.4
Mỗi một điểm sẽ có một toạ độ (x
i
, y
i
) trong trục toạ độ này. Nếu chúng ta
dùng tham số (độ dài đƣờng vuông góc từ gốc toạ độ đến đƣờng thẳng) và (góc
giữa đƣờng vuông góc với trục x) để biểu diễn đƣờng thẳng thì chúng ta đã biểu
diễn đƣờng thẳng qua thông gian tham số.
Chúng ta có quan hệ
)sin(
*
)sin(
)cos(
xy
hay = x*cos( )+y*sin( ) (1.1)
Các giá trị và có giới hạn trong giới hạn [0, 360
(1.2)
Chúng ta có 3 tham số. Nếu viết lại phƣơng trình trên chúng ta nhận đƣợc
a = x – r*cos( ) (1.3)
b = y - r*sin( ) (1.4)
Nhƣ vậy chúng ta cần một mảng cấu trúc dữ liệu accumulator 3 chiều (3D)
lấy trong giới hạn 360
0
. Sau khi ảnh toàn thể đã đƣợc xử lý, accumulator sẽ trông
giống nhƣ hình bên phải. Mảng accumulator thì đƣợc vẽ với r trên trục y và theta
cắt chéo qua trục x (across the x-axis). Các đƣờng trong đƣờng cong accumulator -
đƣờng vật lý mạnh nhất trong ảnh đầu vào tƣơng ứng với các vùng đen nhất trên
accumulator.
Ví dụ biến đổi Hough tìm đƣờng thẳng [10]
Ý tƣởng: Tìm các đƣờng thẳng trong một ảnh đƣợc thông số hoá ở
dạng: r = xcos + ysin , trong đó r là khoảng cách vuông góc từ gốc toạ độ
đến đƣờng thẳng và là góc của r với trục x. Với mọi điểm (x, y) trên đƣờng
này r và là hằng số. Với N điểm thẳng hàng trong toạ độ Đề các có phƣơng
trình r = xcos + ysin . Biến đổi Hough sẽ chuyển N điểm này thành N đƣờng
hình sin trong mặt phẳng (r, ), chúng giao nhau ở điểm (r, ).