Từ đó đề tài “NGHIÊN CỨU VÀ XÂY DỰNG MODULE XỬ LÝ ẢNH NHẬN DẠNG MÀU SẮC CỦA VẬT THỂ” được thực hiện nhằm ứng dụng kết quả cho các đội robot tham gia giải Robocon trong thời gian tới..
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
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG
NGHIÊN CỨU VÀ XÂY DỰNG MODULE
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA CƠ KHÍ CHẾ TẠO MÁY
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG
NGHIÊN CỨU VÀ XÂY DỰNG MODULE XỬ LÝ ẢNH
NHẬN DẠNG MÀU SẮC CỦA VẬT THỂ
Mã số: T2010-35
Chủ nhiệm đề tài: ThS Trần Minh Thuận
TP HCM, 10/2010
Trang 3i
MỤC LỤC
Phần 1: Đặt vấn đề .1
I Đối tượng nghiên cứu 1
II Tình hình nghiên cứu trong và ngoài nước 1
III Những vấn đề còn tồn tại 2
Phần 2: Giải quyết vấn đề 3
I Mục đích đề tài 3
II Phương pháp nghiên cứu 3
III Nội dung 3
3.1 Cơ sở nghiên cứu 3
3.2 Phương pháp thực hiện 12
IV Kết quả đạt được 16
4.1 Tính khoa học 17
4.2 Khả năng ứng dụng vào thực tế 18
4.3 Hiệu quả kinh tế - xã hội 18
Phần 3: Kết luận 19
I Kết luận 19
II Đề nghị 19
Tài liệu tham khảo 20
Phụ lục: Mã lệnh tóm tắt 21
Trang 4ii
DANH MỤC HÌNH VẼ
Hình 1.1 - Camera VS724 của Siemens 1
Hình 2.1 - Sơ đồ khối của quá trình xử lý ảnh .3
Hình 2.2 - Không gian màu RGB .5
Hình 2.3 - Không gian màu HSV 6
Hình 2.4 - Hệ thống camera-computer .6
Hình 2.5 - Dãy quang phổ mà thị giác con người nhìn thấy được .7
Hình 2.6 - Webcam dùng trong lĩnh vực dân dụng .8
Hình 2.7 - Netbook của Acer .8
Hình 2.8 - Bus mở rộng PCI trong máy tính .9
Hình 2.9 - Chuẩn kết nối USB .10
Hình 2.10 - FireWire (IEEE-1394) 10
Hình 2.11 - Camera dùng giao tiếp Ethernet .11
Hình 2.12 - Công cụ lập trình Microsoft Visual Studio 2008 12
Hình 2.13 – Cấu trúc phần cứng .12
Hình 2.14 – Lưu đồ hoạt động của chương trình xử lý ảnh .14
Hình 2.15 – Lưu đồ giải thuật xử lý ảnh .15
Hình 2.16 – Kết quả hệ thống phần cứng .16
Hình 2.17 – Kết quả chương trình phần mềm .17
Trang 5iii
DANH MỤC BẢNG
Bảng 2.1 - Thông số kỹ thuật của Creative Optia 13 Bảng 2.2 - Thông số kỹ thuật của netbook Acer Aspire One: 13
Trang 6iv
TÓM TẮT ĐỀ TÀI
Mục đích của đề tài nghiên cứu là tạo ra một hệ thống hoàn chỉnh (phần cứng và phần mềm) có khả năng chụp ảnh của một vật để phân tích vật trong ảnh là màu nào trong danh sách các màu chuẩn Danh sách màu chuẩn có thể được thay đổi động Hệ thống ứng dụng được cho các đội robot tham gia giải đấu Robocon Về phần cứng, netbook và webcam được
sử dụng làm hai thành phần chính Về phần mềm, một chương trình chạy trên Windows được tạo ra để thực hiện chức năng xử lý ảnh, phân tích màu sắc Thuật giải phân tích màu chủ yếu dựa trên kiến thức về không gian màu HSV Kết quả thực nghiệm chứng tỏ được hệ thống hoạt động đúng với yêu cầu đặt ra và dễ dàng triển khai sử dụng thực tế, phần cứng gọn nhẹ, phần mềm ổn định, chính xác
Trang 7PHẦN 1 ĐẶT VẤN ĐỀ
I Đối tượng nghiên cứu
Thị giác máy (Machine vision) là một ứng dụng của thị giác máy tính (Computer vision) vào trong cộng nghiệp và trong cuộc sống Nhưng ngược lại, thị giác máy tính là qui tắc chung để máy tính có thể nhìn được Thị giác máy, là một qui tắc kỹ thuật, liên quan tới các thiết bị số vào/ra và mạng máy tính để điều khiển thiết bị sản xuất khác chẳng hạn như robot, cánh tay máy Thị giác máy là trường phụ kỹ thuật mà có liên quan tới khoa học máy tính, quang học, kỹ thuật chế tạo máy, và tự động hóa
Cùng với xu thế phát triển công nghệ thông tin mạnh mẽ, là xu thế phát triển các hệ thống hoạt động trên cơ sở nhận dạng bằng kỹ thuật xử lý ảnh Ảnh ở đây nhiều thông tin về màu sắc, hình dáng, kích thước…Với công cụ xử lý ảnh cho chúng ta các khả năng nhận biết chính xác các sự vật dựa trên các đặt tính trực quan bên ngoài của đối tượng
Thực tế là xử lý ảnh đã và đang được ứng dụng rộng rãi trong các lĩnh vực của cuộc sống Trong số các ứng dụng đó là thị giác cho robot tự hành mà các robot tham giam cuộc thi
Robocon đang tập trung phát triển Từ đó đề tài “NGHIÊN CỨU VÀ XÂY DỰNG MODULE
XỬ LÝ ẢNH NHẬN DẠNG MÀU SẮC CỦA VẬT THỂ” được thực hiện nhằm ứng dụng kết
quả cho các đội robot tham gia giải Robocon trong thời gian tới
II Tình hình nghiên cứu trong và ngoài nước
Trong thời gian gian gần dây xử lý ảnh có những bước phát triển rất lớn Các hãng chuyên về xử lý ảnh đã không ngừng đư ra các sản phẩm để đáp ứng nhu cầu của khách hàng Các công cụ ngày càng hiện đại, với tốc độ xử lý cao, nhiều công cụ xử lý và có khả năng kết nối với các thiết bị ngoại vi khác Trong mảng xử lý không thể không nhắc tới hai phần mềm
xử lý ảnh tốt nhất hiện giờ là Spectation của Siemen và Intellect của Cognex
Hình 1.1 - Camera VS724 của Siemens với chức năng và tốc độ xử lý ảnh rất cao nhưng rất đắt tiền
Trang 8Thị giác máy chưa được ứng dụng cho các đội robocon của trường ĐH Sư Phạm Kỹ Thuật Tp HCM Điều này làm giảm sức cạnh tranh của trường tại các cuộc thi robocon trong nước và quốc tế Trong khi đó, thực tế đã cho thấy sự vượt trội của các đội robot có ứng dụng thị giác máy trong thi đấu
Trang 9PHẦN 2 GIẢI QUYẾT VẤN ĐỀ
I Mục đích đề tài
Tạo ra một hệ thống (phần cứng và phần mềm) có chức năng nhận biết màu sắc của một đối tượng được chụp bằng camera Hệ thống cho phép thay đổi tiêu chuẩn màu sắc phù hợp với một ứng dụng, ngữ cảnh cụ thể
Hệ thống còn có thể phân biệt các đối tượng có màu sắc khác nhau dựa trên phương pháp đánh giá đặc tính màu
Phần cứng phải nhỏ gọn, linh hoạt
Phần mềm xử lý có khả năng chạy trên các PC nhỏ gọn như netbook, PC/104 mà các PC này có thể gắn trên các robot tự hành
II Phương pháp nghiên cứu
- Bước 1: Xác định yêu cầu nghiên cứu
- Bước 2: Xác định cơ sở khoa học (các công thức, thuật giải, phương pháp) dựa trên việc tổng hợp tài liệu chuyên môn có liên quan
- Bước 3: Tìm hiều phần cứng và công cụ phần mềm phù hợp với mục đích nghiên cứu
và kinh phí thực hiện
- Bước 4: Triển khai xây dựng hệ thống phần cứng và viết phần mềm phần mềm
- Bước 5: Kiểm tra thử nghiệm thực tế và chỉnh sửa
- Bước 6: Thử nghiệm, kết hợp với các robot
- Bước 7 Hoàn thiện, đóng gói sản phẩm
III Nội dung
3.1 Cơ sở nghiên cứu
3.1.1 Xử lý ảnh
Xử lý ảnh là quá trình chụp ảnh, phân tích nhận dạng ảnh và đưa ra các tín hiệu điều khiển hợp lý Thiết bị thu nhận (chụp ảnh) có thể là Scanner, camera, webcam,….Thực chất quá trình phân tích và nhận dạng ảnh bao gồm nhiều công đoạn nhỏ có thể hình hình dung quá trình xử lý ảnh thông qua sơ đồ khối sau
Hình 2.1 - Sơ đồ khối của quá trình xử lý ảnh
Đối sánh rut
ra kết luận
Hệ quyết định
Lưu giữ
Trang 103.1.2 Thu nhận ảnh
Thiết bị thu nhận ảnh là camera, scanner, webcam,… Các thiết bị thu nhận ảnh này có thể cho ảnh trắng đen B/W (Black and White), ảnh xám hoặc ảnh màu Với ảnh B/W mức màu z là 0 hoặc 1 Với ảnh đa cấp xám, mức xám biến thiên từ 0 đến 255 Ảnh màu, mỗi điểm ảnh lưu trữ trong 3 bytes và do đó ta có 2 8x3
= 2 24 màu (cỡ 16, 7 triệu màu) Một điểm ảnh màu thể hiện bằng 3 giá trị tương ứng với thành phần màu đỏ (Red), lục (Green) và lam (Blue)
Nhìn chung, các hệ thống thu nhận ảnh thực hiện 2 quá trình:
Biến đổi năng lượng quang học thành năng lượng điện
Tổng hợp năng lượng điện thành ảnh số
3.1.3 Nâng cao chất lượng ảnh
Một trong những kỹ thuật quan trọng trong xử lý ảnh là nâng cao chất lượng ảnh bằng biểu đồ tần suất sáng Histogram Biểu đồ tần suất của mức xám g của ảnh I là số điểm ảnh có giá trị g của ảnh I, ký hiệu là h(g)
i h i g t g
m
0)(.)(
1)
( ~ mômen quán tính TB có mức xám g
Hàm f: g f(g)
2
)1()()(
)()
g t n m
g t g
f
Tìm θ sao cho:
f(g) = max {f(g)}
0≤g≤G-1
3.1.4 Không gian màu
Không gian màu RGB (Red - Green - Blue)
Không gian màu RGB mô tả màu sắc bằng 3 thành phần chính là Red (đỏ)- Green (xanh lục) và Blue (xanh lam) Không gian này được xem như một khối lập phương 3 chiều với màu red là trục x, màu Green là truc y, và màu Blue là trục z Mỗi màu trong không gian này được xác định bởi 3 thành phần R, G, B Ứng với các tổ hợp khác nhau của 3 màu này sẽ cho ta một màu mới
Trang 11Hình 2.2 - Không gian màu RGB
Trong hình lập phương trên, mỗi màu gốc (R,G,B) có các gốc đối diện là các màu bù với nó Hai màu được gọi là bù nhau khi kết hợp hai màu này lại với nhau ra màu trắng Ví dụ : Green - Magenta, Red - Cyan, Blue - Yellow
HSV (Hue - Saturation – Value)
Thực chất của không gian này là sự biến đổi của không gian RGB Không gian HSV được mô tả bằng lệnh lập phương RGB quay trên đỉnh Black H (Hue) là góc quay trục V (value) qua 2 đỉnh Black và White
Các giá trị biến thiên của H, S, V như sau :
H (Hue) chỉ sắc thái có giá trị từ 00
- 3600
S (Saturation) chỉ độ bão hoà
V (Value) có giá trị từ 0 - 1 Các màu đạt giá trị bảo hòa khi s = 1 và v = 1
Trang 12Hình 2.3 - Không gian màu HSV
Trang 13Camera có chức năng ghi nhận hình ảnh từ ánh sáng bên ngoài Khung dữ liệu video được camera truyền về máy tính thông qua các kết nối tín hiệu tương tự hoặc tín hiệu số (phụ thuộc vào loại camera tương tự hay số)
Máy tính phải có phần cứng thu nhận dữ liệu video tương ứng với từng loại camera, sử dụng:
Card chức năng để chuyển đổi tín hiệu tương tự sang tín hiệu số
Hoặc các chuẩn giao tiếp máy tính với các thiết bị ngoại vi tốc độ cao như USB, IEEE-1394…
Camera
Camera là thiết bị ghi lại hình ảnh được tạo ra bởi sóng ánh sáng có trường điện từ có bước sóng 400nm đến 700nm, tương ứng với dãy màu từ đỏ đến tím mà mắt người nhìn thấy được
Hình 2.5 - Dãy quang phổ mà thị giác con người nhìn thấy được
Dưới khía cạnh kỹ thuật, camera được chia ra thành 2 loại là camera tương tự và camera số tùy thuộc vào tín hiệu video truy xuất dạng tỷ biến hay dạng kỹ thuật số Camera còn được phân loại dựa vào mục đích sử dụng: camera dân dụng, camera chuyên dụng và camera công nghiệp:
Camera dân dụng dùng cho gia đình và trong các sinh hoạt thường ngày Camera chuyên dụng có các tính năng cao cấp như độ phân giải rất cao, tốc độ chụp ảnh nhanh…được sử dụng nhiều trong các lĩnh vực quan trọng như nghiên cứu khoa học, quân sự và y học
Camera công nghiệp có tính năng gần giống như camera dân dụng Ngoài ra nó còn được bổ sung hoặc rút gọn các tính năng phù hợp để hoạt động hiệu quả trong môi trường công nghiệp khắc nghiệt
Trang 14Hình 2.6 - Webcam dùng trong lĩnh vực dân dụng
Máy tính
Máy tính là trung tâm xử lý của các ứng dụng camera-computer Sự phát triển mạnh
mẽ của ngành khoa học máy tính và các công nghệ liên quan đã và đang làm cho năng lực xử
lý cúa máy tính không ngừng được nâng cao
Ngày nay, máy tính có thể được thiết kế để thay thế một số thiết bị khác với tính năng thậm chí vượt trội hơn Các thiết bị như vậy thường đi kèm với thuật ngữ “computer-based” Kích thước của máy tính ngày càng thu gọn Tuy sức mạnh tính toán không sánh bằng các máy tính lớn, nhưng các máy tính nhỏ vẫn có đầy đủ tập lệnh và có thể xử lý các ứng dụng xử
Kênh truyền thông
Giao tiếp giữa camera và máy tính được thực hiện thông qua 2 loại kênh truyền thông chính: bus mở rộng và bus I/O Nhờ vào các đường bus này mà dữ liệu từ camera đến được
bộ xử lý và bộ nhớ chính của máy tính
Bus mở rộng
Trang 15Bus mở rộng là các đường dẫn điện tử và giao thức dùng để di chuyển thông tin trong
hệ thống máy tính, gồm có CPU, RAM và các thiết bị ngoại vi
Dựa vào một dãy các đường dẫn chạy song song trên board mẹ, người ta gắn vào một
số khe mở rộng (expansion slot) để cắm các card mở rộng (expansion card) Không chỉ là một
ổ nối bình thường, bus mở rộng còn cung cấp một loạt các chức năng điện tử phức tạp được đồng bộ với các chức năng của bộ xử lý trung tâm
Về phương diện camera-computer thì câu hỏi quan trọng là sử dụng bus mở rộng nào của máy tính Trong số các loại bus mở rộng hiện có thì PCI (Peripheral Component Interconnect) được sử dụng phổ biến hơn cả Có thể nói PCI là chuẩn bus mở rộng thống trị, chiếm ưu thế vượt trội so với các chuẩn khác trong việc giao tiếp giữa máy tính và thiết bị ngoại vi
PCI được giới thiệu đầu tiên vào năm 1993 PCI chuẩn có thông số kỹ thuật là xung clock hoạt động 33/66Mhz, độ rộng bus 32/64 bit, tốc độ truyền dữ liệu từ 132 MB/s đến 528 MB/s Tốc độ truyền dữ liệu này đáp ứng tốt việc truyền hình ảnh, video theo chuẩn SD (Standard Definition)
Hình 2.8 - Bus mở rộng PCI trong máy tính
Bus I/O
Bus I/O là các đường dẫn và giao thức được dùng cho các thiết bị nhập xuất (I/O) bên ngoài giao tiếp với bộ xử lý của máy tính Có 2 dạng giao tiếp I/O cơ bản là dữ liệu truyền song song và truyền nối tiếp
Giao tiếp I/O khá đa dạng và phong phú Camera dùng trong ứng dụng computer sử dụng 3 chuẩn sau đây:
USB
IEEE-1394
Ethernet
USB (Universal Serial Bus) là chuẩn kết nối I/O dạng nối tiếp rất phổ biến được thiết
kế dưới dạng các đầu cắm cho các thiết bị tuân theo chuẩn cắm-là-chạy (plug-and-play), với
tính năng gắn nóng thiết bị (hot swapping-cắm và ngắt các thiết bị không cần phải khởi động
Trang 16lại hệ thống), tạo sự dễ dàng cho người sử dụng kết nối camera và máy tính Một số đặc trưng
khác của USB:
Mở rộng tới 127 thiết bị có thể kết nối cùng vào một máy tính trên một cổng USB duy nhất (bao gồm các hub USB)
Các kết nối phải thông qua USB host controller
Sợi cáp USB riêng lẻ có thể dài tới 5 mét; với những hub, có thể kéo dài tới
30 mét (6 sợi cáp nối tiếp nhau thông qua các hub) tính từ đầu cắm trên máy tính
Với USB 2.0 (tốc độ cao), đường truyền đạt tốc độ tối đa đến 480 Mbps
(a)
Hình 2.9 - Chuẩn kết nối USB
(a) Biểu tượng chung (b) Biểu tương USB 1.1 (12 Mbit/s) (c) Biểu tương USB 2.0 (480 Mbit/s) (d) Biểu tương USB 3.0 (5 Gbit/s)
IEEE-1394 là chuẩn kết nối I/O dạng nối tiếp đẳng thời tốc độ cao dùng để truyền dữ
liệu thời gian thực, có tính năng gắng nóng Đây là được xem là giao tiếp chuẩn cho các thiết
bị dạng A/V (Audio/Visual) và máy tính, được trang bị ngày càng nhiều cho các thiết bị camera Chuẩn giao tiếp IEEE-1394 còn có các tên gọi thương mại như FireWire (hãng Apple), i.Link (Sony), Lynx (Texas Instrument) Một số đặc trưng khác của IEEE-1394:
Khả năng kết nối 63 thiết bị ngoại vi
Cho phép kết nối peer-to-peer giữa các thiết bị ngoại vi mà không cần máy tính
Hình 2.10 - FireWire (IEEE-1394)
IEEE-1394a (400 Mbit/s), IEEE-1394b (800 Mbit/s),
IEEE-1394c (giao tiếp với Ethernet)
Trang 17Ethernet là kết nối I/O theo chuẩn IEEE 802.3, được ứng dụng cho mạng LAN (Local Area Network), sử dụng các cặp dây xoắn kép, cáp đồng trục, hoặc cáo quang để truyền dữ liệu giữa các thiết bị giao tiếp Ethernet Dữ liệu truyền trên mạng Ethernet được đóng gói và gửi đến thiết bị tiếp nhận thông qua địa chỉ IP Camera sử dụng giao tiếp Ethernet do Ethernet
có các đặc trưng sau:
Khả năng kết nối số lượng thiết bị ngoại vi rộng lớn
Khoảng cách truyền tin giữa 2 thiết bị khi sử dụng cáp xoắn lên đến 500 mét khi nối trực tiếp, và không hạn chế khi dùng hub
Tốc độ truyền dữ liệu 10Mbit/s đến 1 Gbit/s (Gigabit Ethernet)
Thiết bị có thể truy xuất qua mạng internet
Hình 2.11 - Camera dùng giao tiếp Ethernet