Tải bản đầy đủ (.pdf) (31 trang)

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ể

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.94 MB, 31 trang )

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

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Ể
S

K

C

0

0

3

9
0

5
4

9
3

MÃ SỐ: T2010 - 35



S KC 0 0 3 0 8 5

Tp. Hồ Chí Minh, 2010


BỘ 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


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

i


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

ii


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

iii


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.

iv


PHẦ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

1


Thị 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.
III. Những vấn đề còn tồn tại
Với các chủ đề của cuộc thi Robocon sắp tới, việc trang bị cho các robot tự hành có khả
năng “nhìn” bằng thị giác là rất cần thiết, giúp cho các robot hoàn thành nhiệm vụ nhanh hơn
và chính xác hơn.
Yêu cầu đặt ra là phải có một module có chức năng nhận dạng màu sắc, mà các đội
robotcon của trường có thể áp dụng để trang bị khả năng thị giác cho các robot tham dự cuộc
thi robocon toàn quốc 2010.

2


PHẦ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ệ quyết định
Thu nhận ảnh
(Scanner, camera,
sensor, webcam)


Tiền
xử lý

Trích chọn
đặc điểm

Đối sánh rut
ra kết luận

Hậu
xử lý

Hình 2.1 - Sơ đồ khối của quá trình xử lý ảnh
Lưu giữ
3


3.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).
Kỹ thuật tách ngưỡng tự động:
Ngưỡng θ trong kỹ thuật tách ngưỡng thường được cho bởi người sử dụng. Kỹ thuật
tách ngưỡng tự động nhằm tìm ra ngưỡng θ một cách tự động dựa vào histogram theo nguyên
lý trong vật lý là vật thể tách làm 2 phần nếu tổng độ lệnh trong từng phần là tối thiểu.
Giả sử, ta có ảnh I ~ kích thước m × n
G ~ là số mức xám của ảnh kể cả khuyết thiếu
t(g) ~ số điểm ảnh có mức xám ≤ g
m( g )

1
t(g)

Hàm f: g

f (g)

g

i.h(i ) ~ mômen quán tính TB có mức xám

g

i 0

f(g)

t(g)
m( g ) m(G 1)
m n t(g)


2

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.

4


Hì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.

5


Hình 2.3 - Không gian màu HSV
3.1.5 Kiến trúc phần cứng
Để có khả năng tiếp nhận dữ liệu video, một hệ thống camera-computer bao gồm những
thành phần chủ yếu như sau:
Camera
Máy vi tính
Kênh truyền thông
Phần mềm

Hình 2.4 - Hệ thống camera-computer
6


Camera 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.


700nm

400nm

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.

7


Hì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ử

lý ảnh không quá phức tạp.

Hình 2.7 - Netbook của Acer, nhỏ gọn,
chạy Windows XP hoặc Windows 7
Bên cạnh tốc độ xử lý, máy tính dùng trong ứng dung camera-computer phải có các
bus mở rộng, kênh I/O phù hợp để giao tiếp với các loại camera khác nhau.
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
8


Bus 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 cameracomputer 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
9


lạ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)

(b)

(c)


(d)

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)
10


Ethernet 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
Phần mềm
Camera kết nối với máy tính bằng các kênh truyền thông. Đó là các yếu tố phần cứng
cần thiết của quá trình thu nhận ảnh từ thế giới bên ngoài vào bộ nhớ máy tính.
Tuy nhiên để cho các yếu tố phần cứng này hoạt động thì phải có thêm yếu tố phần
mềm, gồm có:
Phần mềm cấp cao: phần mềm ứng dụng (Application)
Phần mềm cấp thấp: trình điều khiển thiết bị (Driver)
Phần mềm ứng dụng camera-computer là phần mềm ở cấp độ người sử dung, thực
hiện một hay nhiều chức năng liên quan đến hình ảnh và video như xử lý ảnh, biên tập video,
lưu trữ…

11


Hình 2.12 - Công cụ lập trình Microsoft Visual Studio 2008
hỗ trợ viết ứng dụng trên Windows
3.2 Phương pháp thực hiện
Dựa vào các cơ sở nghiên cứu trên, giải pháp cho hệ thống gồm có phần cứng và phần
mềm được mô tả như sau:
Cấu trúc hệ thống phần cứng

Camera thu nhận ảnh

USB


Máy tính xử lý ảnh

Phần mềm xử
lý ảnh

Giao tiếp RS-232

Hình 2.13 – Cấu trúc phần cứng
gồm có 2 phần chính: webcam và netbook
- Camera thu nhận ảnh: sử dụng webcam Optia chất lượng cao của hãng Creative để
màu sắc được phản ảnh một cách chính xác, hình ảnh sau khi chụp bằng webcam này
sẽ được truyền tới máy tính bằng cổng USB.

12


Bảng 2.1 - Thông số kỹ thuật của Creative Optia:
Bộ cảm ứng

Cảm ứng CCD

Thấu kính

Thấu kính chính xác (Thấu kính thủy tinh
chất lượng cao)

Độ phân giải hình ảnh tĩnh

1.3 Megapixel, 1280x960 (Software
enhanced)


Độ phân giải Video

640x480@30fps

Tiêu điểm

Vòng điều chỉnh tiêu điểm bằng tay

Kết nối

USB 2.0 tốc độ cao(tương thích ngược với
USB 1.1)

- Máy tính xử lý ảnh: nhận dữ liệu ảnh số từ camera, xử lý ảnh, sau đó xuất kết quả xử
lý ra cổng COM để robot xử lý. Dòng máy netbook Acer Aspire One được chọn do
kích thước gọn và trọng lượng nhẹ, CPU Atom hoạt động ở xung nhịp 1,6GHz đáp
ứng được đòi hỏi tính toán của phần mềm xử lý ảnh của hệ thống. Ngoài ra, một yếu
tố để lựa chọn là netbook này sử dụng đĩa cứng SSD làm bộ nhớ trong, thích hợp khi
netbook gắn vào các robot có sự va chạm cơ học mạnh như các robot tham gia khi thi
đấu giải robocon.
Bảng 2.2 - Thông số kỹ thuật của netbook Acer Aspire One:
Hãng sản xuất
Acer
Loại CPU
Intel Atom N270
Tốc độ CPU
1.6 GHz (533 MHz FSB)
CPU Cache
512 KB L2 Cache

Memory Type
DDR2 Bus 533MHz
Dung lượng bộ nhớ trong (RAM) 1GB
Loại ổ cứng , dung lượng ổ cứng SSD 8GB
VGA
Intel GMA 950
Độ lớn màn hình
8.9 inch
Độ phân giải màn hình
WSVGA (1024x600)
Kết nối mạng không dây
WLAN 802.11b/g
Hệ điều hành (OS)
Windows XP Home
Pin (Battery)
3 Cell
Thời lượng sử dụng pin
3 giờ
Trọng lượng (g)
998
Kích thước (mm)
249 x 170 x 27.9

Chương trình phần mềm xử lý ảnh
Chạy trên máy tính netbook. Có nhiệm vụ nhận lệnh kích hoạt yêu cầu xử lý từ robot
để ra lệnh chụp ảnh từ webcam. Sau đó, bức ảnh được xử lý, sàn lọc và nhận dạng
màu sắc. Kết quả sẽ được truyền đi cho robot bằng giao thức RS-232.
13



Bắt đầu

Nhận lệnh yêu cầu xử lý màu
sắc từ robot

Chụp ảnh tĩnh từ webcam và
lấy ảnh về bộ nhớ RAM máy
tính bằng giao cổng USB

Xử lý ảnh, lọc màu, nhận
dạng màu

Xuất kết quả ra cổng COM
máy tính

Hình 2.14 – Lưu đồ hoạt động của chương trình xử lý ảnh
Nhận lệnh yêu cầu xử lý màu sắc từ robot: chương trình ở trạng thái chờ, khi dữ
liệu nhận vào từ cổng COM trùng khớp với tín hiệu yêu cầu xử ly thì chương trình
bắt đầu chạy chức năng chụp ảnh.
Chụp ảnh tĩnh từ webcam và lấy ảnh về bộ nhớ RAM máy tính bằng giao
cổng USB: thông qua activeX VideoVina chương trình yêu cầu hệ điều hành
Windows điều khiển webcam (thông qua driver) để chụp ảnh và đưa ảnh này vào
bộ nhớ RAM của máy tính. Dữ liệu bức ảnh chiếm dung lượng khá cao
(~900KB/1 ảnh) nên việc truyền từ webcam về máy tính bằng giao thức USB 2.0
tốc độ cao sẽ có thời gian trễ không đáng kể.
Xử lý ảnh, lọc màu, nhận dạng màu: ở bước này, một loạt các thao tác xử lý ảnh
được chương trình thực hiện. Đây là bước xử lý chiếm nhiều tài nguyên xử lý nhất.
Hay nói cách khác, đây là bước tốn nhiều thời gian nhất. Nếu thuật giải hợp lý và
được tối ưu thì thời gian đáp ứng của toàn hệ thống sẽ thấp, robot có khả năng
“nhìn” nhanh hơn.

Việc nhận dạng màu sắc sẽ dựa trên không gian màu HSV. Lưu đồ giải thuật cho
bước này được mô tả như sau:

14


Chuyển đổi ảnh sang không
gian màu HSV

Lọc màu dựa trên danh sách
màu chuẩn

Loại bỏ những điểm ảnh có
độ bão hòa không phù hợp

Thống kê số lượng điểm ảnh
trùng với danh sách màu
chuẩn

Kết luận màu sắc của bức
ảnh dựa trên bảng thống kê

Hiển thị kết quả xử lý lên
màn hình
Hình 2.15 – Lưu đồ giải thuật xử lý ảnh
 Chuyển đổi ảnh sang không gian màu HSV: bức ảnh số nhận từ
camera là ở không gian màu RGB. Một sự chuyển đổi từ RGB sang
không gian màu HSV sẽ giúp cho việc phân tích màu sắc dễ dàng và
chính xác hơn.
 Lọc màu dựa trên danh sách màu chuẩn: danh sách màu chuẩn đã

được cấu hình cho robot. Trong bước này, giá trị màu của từng pixel
ảnh trong mặt phẳng H được so sánh để giữ lại nếu nằm trong danh
sách màu chuẩn.
 Loại bỏ những điểm ảnh có độ bão hòa không phù hợp: độ bão hòa
ánh sáng trắng của điểm ảnh thể hiện trong mặt phẳng S. Do đó, chỉ cần
so sánh cận trên và cận dưới để loại bỏ các điểm ảnh có độ bão hòa
không phù hợp (tùy theo điều kiện ánh sáng cụ thể).
 Thống kê số lượng điểm ảnh trùng với danh sách màu chuẩn: sau
khi lọc theo danh sách màu chuẩn và độ bão hòa ánh sáng trắng, các
15


điểm ảnh còn lại sẽ được phân loại theo nhóm màu chuẩn và đếm số
lượng.
 Kết luận màu sắc của bức ảnh dựa trên bảng thống kê: việc kết luận
chỉ đơn giản là lấy số lượng điểm ảnh cùng nhóm màu có số lượng
nhiều nhất. Hay nói cách khác, số lượng nhiều được kết luận là màu
của bức ảnh.
 Hiển thị kết quả xử lý lên màn hình: để cho người điều khiển theo
dõi kết quả của quá trình xử lý ảnh.
Xuất kết quả ra cổng COM máy tính: sau khi việc kết luận màu của bước
ảnh hoàn tất, ký tự tương ứng với thông tin màu sắc được xuất ra cổng COM
theo giao thức RS-232 để thông báo cho robot. Hoàn tất một chu trình nhận
lệnh và thực hiện lệnh.

IV Kết quả đạt được
Hệ thống phần cứng: gồm có webcam Creative Optia và máy tính netbook Acer Aspire
One A110. Kết nối như hình sau:

Hình 2.16 – Kết quả hệ thống phần cứng

Phần mềm xử lý ảnh: là một ứng dụng được viết bằng công cụ Microsoft Visual Studio
2008. Chạy được trên tất cả các hệ điều hành có cài đặt Microsoft Framework .NET 3.5 trở
lên. Giao diện tổng quát như sau:

16


Hình 2.17 – Kết quả chương trình phần mềm
Giải thích:
 Danh sách màu chuẩn để xử lý sàn lọc.
 Điều chỉnh thông số lọc màu và độ bão hòa của ánh sáng trắng.
 Tùy chọn phương cách kích hoạt chu trình xử lý. Có thể chọn bộ định
thời hoặc tín hiệu yêu cầu xử lý của robot thông qua cổng COM1.
 Thông báo kết luận về màu sắc của bức ảnh và tùy chọn xuất kết luận ra
cổng COM1.
 Hiển thị hình ảnh gốc thu về từ webcam.
 Hiển thị hình ảnh kết quả của quá trình xử lý ảnh.
4.1 Tính khoa học
Hoàn thành được nguyên lý hệ thống nhận dạng và phân tích màu sắc sử dụng webcam
và máy tính xử lý netbook.
17


Làm cơ sở để phát triển các hệ thống nhận dạng và phân tích màu sắc thế hệ tiếp theo.
4.2 Khả năng ứng dụng vào thực tế
Kết quả có thể áp dụng cho các đội robot tham gia các cuộc thi robocon sắp tới.
Đối với phần cứng: phổ biến, giá cả vừa phải, dễ sử dụng, dễ triễn khai, dễ sửa
chữa. Có thể thay thế bởi nhiều loại thiết bị tương đương.
Về phần mềm: linh hoạt vì cho phép thay đổi nhiều thông số quan trọng khi
hoạt động, như danh sách màu chuẩn, sai số lọc màu… Thuật giải đã được

chúng minh tính đúng đắn nên có thể được viết lại bằng bất kì công cụ lập
trình nào khác.
Rộng hơn, có thể ứng dụng phương pháp này cho các ngành công nghiệp đang cần hệ
thống phân tích sản phẩm dựa trên màu sắc.
4.3 Hiệu quả kinh tế - xã hội
 Nâng cao khả năng thông minh của robot tham gia robocon.
 Góp phần vào hiện đại hóa công nghiệp (khâu kiểm phẩm).

18


PHẦN 3
KẾT LUẬN
I. Kết luận
Hệ thống có khả năng phân tích màu sắc với bảng màu tùy ý. Tùy biến điều khiển linh
hoạt với từng môi trường cụ thể. Tốc độ đáp ứng dưới 1s, thỏa mãn yêu cầu cho robot tham
gia robocon.
II. Đề nghị
Để làm cho hệ thống hoạt động tốt hơn, chính xác hơn thì cần phải cải tiến thêm các vấn
đề sau đây:
Thu nhận ảnh: sử dụng camera có cảm ứng nhạy màu chất lượng cao; kết nối
không dây để tăng tính cơ động.
Máy tính xử lý: thay thế bằng các thế hệ máy công nghệ mới hơn để có kích
thước nhỏ hơn và tốc độ xử lý nhanh hơn. Trong các ứng dụng công nghiệp
thì sử dụng máy tính PC/104.
Phần mềm xử lý ảnh: có thể cải tiến tốc độ bằng cách sử dụng các thư viện lập
trình chuyên biệt cho xử lý ảnh như OpenCV, Intel IPP…

19



×