Kết quả khảo sát hiệu quả của giải thuật KMCC cải tiến thông qua chương trình Object Recognizer... Kết quả dịch ảnh trên các loại đối tượng khác nhau.[r]
(1)ĐỒ ÁN MÔN HỌC
Đề tài:
D
DỊỊCCHH TTỰỰ ĐĐỘỘNNGG TTỪỪ Ả
ẢNNHH SSAANNGG TTỪỪ
Giảng viên hướng dẫn:ThS Lý Quốc Ngọc
Sinh viên thực hiện:
Đặng Nguyễn Đức Tiến, MSSV: 0212312
(2)LỜI CẢM ƠN
Em xin chân thành cảm ơn ThS Lý Quốc Ngọc đã tận tình hướng dẫn giúp đỡ em trình học tập thực đề tài
Xin cảm ơn khoa Công nghệ thông tin, trường Đại học Khoa học Tự nhiên giúp đỡ, tạo nhiều điều kiện thuận lợi cho em học tập nghiên cứu
Em xin chân thành cảm ơn quý Thầy Cô Khoa tận tình giảng dạy, trang bị cho em kiến thức quý báu năm học vừa qua
Xin cảm ơn tất bạn sinh viên lớp cử nhân tài khóa 2002 đóng góp nhiều ý kiến quý giá, đồng thời, động viên tạo thuận lợi cho để đề tài hoàn thành
(3)(4)Giới thiệu
Ước mơ chế tạo sản phẩm mang dáng vóc trí tuệ người ln thách thức khát khao cháy bỏng loài người từ ngàn xưa đến Trong năm gần đây, với phát triển máy tính mong muốn
đang ngày trở nên thực tế hơn, thúc đẩy mạnh nghiên cứu để đạt đến mục tiêu cuối Nếu khoảng vài thập kỷ
trước việc máy tính thực hàng tỉ phép tính giây
điều không tưởng tượng ngày việc bình thường Do so sánh người máy tính đua tốc độ tính tốn khả ghi nhớ khoảng thời gian gần khơng cịn ý nghĩa quan tâm tới, lẽ máy tính vượt xa người khả Ngay tư phức tạp chơi cờ, người bị máy tính qua mặt Đó điều đáng mừng tự
hào cho sản phẩm
Tuy nhiên, với khả thông thường, chí gần bẩm sinh người khả phân biệt âm thanh, nhận hình ảnh màu sắc, khả cảm nhận xúc giác, vị giác… máy tính lại thách thức to lớn Vài thập kỷ gần lồi người tập trung khơng biết chất xám cho việc giải vấn đề sau mn vàn khó khăn thách thức mon men đến bên rìa việc chinh phục khó khăn Đó hệ thống máy học, trình dịch tựđộng ngơn ngữ, hệ thống nhận dạng vân tay, nhận dạng âm thanh, điều khiển thiết bị
bằng giọng nói… Đó cịn q ít, bước đệm tạm thời cho chinh phục dài với tương lai đầy thử thách
Đồ án tiếp bước vào đường ấy, khía cạnh đề tài hình
(5)quả khả quan (như hệ thống [18] và [19]), mang lại nhiều hi vọng hứa hẹn Bản thân đồ án nghiên cứu bước đệm cho việc phát triển tiếp tương lai, nhiên kết đạt đồ án khả quan tạo tảng vững cho nghiên cứu nối tiếp
Đồ án thực việc dịch ảnh cách phân đoạn ảnh, sau thơng qua sở liệu tri thức học trước đặc trưng vùng ảnh sau phân đoạn để xác định vùng vùng Kết tổng hợp cuối từ vùng kết việc dịch ảnh Giải thuật phân đoạn
ảnh sử dụng trình bày ởđây giải thuật cải tiến từ giải thuật KMCC Giải thuật KMCC (K-Means with Connectivity Constraint) [14] trình bày chi tiết, cải tiến từ giải thuật K-Means thông dụng [12]
Các trình nhận dạng vấn đề liên quan trình bày đồ án
Bố cục đồ án gồm phần sau:
Phần Tổng quan: Giới thiệu nhìn tổng quan tốn dịch
ảnh với ứng dụng Đồng thời phần giới thiệu hệ thống tiếng giới mơ hình dịch ảnh
Phần Cơ sở lý thuyết: Trình bày chi tiết sở lý thuyết liên quan đến toán dịch ảnh giải thuật KMCC, cách rút trích đặc trưng Phần trọng tâm toàn bộđồ án
Phần Xây dựng chương trình dịch ảnh: Trình bày cách xây dựng chương trình dịch ảnh dựa lý thuyết trình bày phần Cách thức xây dựng chương trình cách tạo chương trình Object Recognizer (phiên 1.00), chương trình đồ án
Phần Kết hướng phát triển: Trình bày kết có
(6)khuyết điểm cách thực đề xuất xu hướng, cải cách để phát triển tương lai
Mặc dù nổ lực nhiều, nhiên trình thực chắn khơng tránh khỏi thiếu sót hình thức trình bày nội dung thể Do vậy, tác giả mong lượng thứ thiếu sót hi vọng nhận ý kiến đóng góp cho đồ án để tương lai tiếp tục phát triển ngày hồn thiện
Thành phố Hồ Chí Minh, tháng năm 2005
(7)Mục lục
Giới thiệu i
Mục lục iv
Danh sách hình vi
Danh sách bảng vii
Phần Tổng quan
1.1 Bài toán dịch ảnh
1.2 Ứng dụng dịch ảnh
1.3 Mơ hình dịch ảnh
1.4 Các hệ thống dịch ảnh tiếng
Phần Cơ sở lý thuyết
2.1 Vấn đề chọn đặc trưng
2.1.1 Màu sắc
2.1.2 Vân
2.1.3 Khơng gian 12
2.1.4 Hình dạng 13
2.2 Phân đoạn ảnh giải thuật KMCC 14
2.2.1 Rút trích đặc trưng điểm ảnh 15
2.2.2 Giải thuật Maximin 16
2.2.3 Lọc ảnh theo điều kiện với lọc trung bình 18
2.2.4 Giải thuật K-Means with Connectivity Constraint 19
2.3 Máy học dịch ảnh 21
2.3.1 Các phương pháp để máy học ảnh 21
2.3.2 Giải thuật EM 22
2.3.3 Dịch ảnh 24
Phần Xây dựng chương trình dịch ảnh 25
3.1 Chọn lựa đặc trưng cơng thức tính khoảng cách 25
3.1.1 Đặc trưng 25
3.1.2 Cơng thức tính module khoảng cách 26
(8)3.2.2 DKMCC - Giải thuật KMCC cải tiến 28
3.3 Học ảnh dịch ảnh 30
Phần Kết hướng phát triển 31
4.1 Các kết thí nghiệm 31
4.1.1 Về thời gian xử lý tính tốn 31
4.1.2 Về hiệu việc phân đoạn ảnh 32
4.1.3 Hiệu nhận dạng 32
4.2 Kết luận 34
4.2.1 Ưu khuyết điểm 34
4.2.2 Hướng phát triển 34
Phụ lục A Chương trình Object Recognizer 36
A.1 Giới thiệu 36
A.2 Các chức 36
A.3 Ví dụ cách sử dụng chương trình 37
Phụ lục B Vấn đềđọc hiển thịảnh với VC++ 41
Phụ lục C Các công thức chuyển đổi hệ màu 43
(9)Danh sách hình
Hình Ví dụ việc dịch ảnh với chương trình Object Recognizer
Hình Mơ hình hệ dịch ảnh
Hình Lược đồ hai hệ màu CIE XYZ CIE L*ab
Hình Decomposition ảnh để tạo frequency bands biến đổi wavelet 12
Hình Các giai đoạn trình phân đoạn 15
Hình Các điểm mầm tìm thơng qua giải thuật Maximin với chương trình Object Recognizer 16
Hình Ví dụ lọc ảnh theo điều kiện qua lọc trung bình 19
Hình Ví dụ nguyên lý hoạt động giải thuật EM 23
Hình Một số ví dụ dịch ảnh với chương trình Object Recognizer 33
Hình 10 Màn hình giao diện chương trình Object Recognizer 36
Hình 11 Toolbar chương trình chức nút lệnh 37
Hình 12 Ví dụ chức đọc hiển thịảnh 38
Hình 13 Ví dụ chức dịch ảnh 38
Hình 14 Bảng nhập tên vùng 39
Hình 15 Phân đoạn ảnh (nhưng khơng dịch nghĩa) 39
Hình 16 Bảng hiệu chỉnh tham số 40
(10)Danh sách bảng
(11)Phần Tổng quan
1.1 Bài toán dịch ảnh
Với phát triển nhanh chóng tốc độ xử lý, khả lưu trữ, chi phí sử dụng tốc độ truy cập Internet máy tính ngày nay, nhu cầu tìm kiến thơng tin sốđang ngày trở nên phổ biến cần thiết hết Trong đó, việc tìm kiếm thơng tin sở liệu lớn ảnh số
thật thách thức
Việc tựđộng trích dẫn ý nghĩa ảnh, hay nói cách khác việc dịch ảnh tâm điểm ý hầu hết nghiên cứu
sở liệu ảnh (Image Databases) Ý nghĩa ảnh chia thành nhiều cấp độ, theo thứ tự từ thấp lên cao sau:
1 Dạng ảnh (ví dụ: ảnh phong cảnh tự nhiên, ảnh đô thị hay thiệp…) Đối tượng ảnh (ví dụ: có xe đậu bãi biển) Ý nghĩa trừu tượng (ví dụ: trời mùa thu, người hạnh phúc) Nội dung ngữ nghĩa (mô tả thông tin rút từảnh)
Ta xét ví dụ dịch ảnh Hình Ví dụ cho ta thấy kết dịch
ảnh cho ý nghĩa mức thơng qua chương trình Object Recognizer
Hiện giới chưa có nghiên cứu thành công mức ý nghĩa số Đa số nghiên cứu vào thời điểm tập trung vào mức ý nghĩa số 2, tức đối tượng ảnh Khơng nằm ngồi giới hạn đó, đồ án nghiên cứu dừng lại mức ý nghĩa
Chúng ta phải phân biệt toán dịch ảnh toán nhận dạng
(12)một ảnh có những loại đối tượng gì Thông thường dịch ảnh mức ý nghĩa số 2, người ta gọi toán Object Recognition số tên gọi khác phổ
biến
Hình Ví dụ việc dịch ảnh với chương trình Object Recognizer
Lưu ý: Từđiểm trởđi, nói đến tốn dịch ảnh, ta ngầm hiểu
đang đề cập đến việc dịch ảnh mức ý nghĩa số 2, tức Object Recognition
1.2 Ứng dụng của dịch ảnh
Khơng q khó khăn để nhận tầm quan trọng ứng dụng việc dịch ảnh Ởđây nói đến ứng dụng quan trọng mang tính thời tốn này:
1. Ứng dụng việc tìm kiếm ảnh: Việc tìm kiếm thơng tin thơng qua câu truy vấn liệu dạng văn hầu nhưđã trở nên phổ biến Tuy nhiên việc tìm kiếm ảnh dựa vào câu truy vấn
đang đề tài mở lẽ cách làm thơng thường địi hỏi ảnh phải
(13)liệu máy tìm kiếm Bài tốn dịch ảnh cách giải tốt cho vấn đề trên, thay phải phân loại tay phức tạp, ta nhờ
máy dịch thực thao tác truy vấn bình thường
2. Những ứng dụng y khoa, quân sự, vũ trụ,… Những lĩnh vực đòi hỏi phải nhận hàng loạt ảnh loại đối tượng có dịch ảnh đóng vai trị vơ quan trọng
3. Kết hợp với toán nhận dạng, tức kết hợp Object Recognition Pattern Recognition
1.3 Mơ hình dịch ảnh
Trong phần đề cập đến ý nghĩa nhưứng dụng toán dịch ảnh Phần xét mơ hình dịch ảnh tổng qt
như
Hình cho ta nhìn tương đối chi tiết hệ dịch ảnh Từ
ảnh nhập vào để có kết cuối thông thường ta cần phải qua bước sau: Trước tiên ta áp dụng tiền xử lý ảnh, ởđây thông thường áp dụng phép lọc ảnh để khử nhiễu làm rõ cạnh1 Sau tiền xử lý ảnh, ta áp dụng thuật toán phân đoạn ảnh Normalized Cut [11], K-Means [12][17]
hoặc KMCC mà 2.2 sẽđề cập đến Sau phân đoạn xong, ta có ảnh với vùng tách biệt Với ảnh này, thông qua hệ sở tri thức có ta tiến hành thuật tốn dịch ảnh [8][9][10] để có ý nghĩa vùng Sau có ý nghĩa, ta cần phải xử lý lại lần cuối ảnh thông qua việc tinh chỉnh để có kết cuối Đó tồn q trình dịch ảnh
Ở trình trên, ta thấy cần phải có sở tri thức trước Để
(14)mô tả ý nghĩa dạng text ảnh áp dụng giải thuật EM [8] để
biết vùng ảnh học có ý nghĩa Sau lấy ý nghĩa vùng tất ảnh, kết hợp với liệu có sẵn trước sở tri thức (nếu có) thơng qua mơ hình máy học mạng Neural dạng khác chuyên biệt cho việc học ảnh nêu ở[3][8][9] ta xây dựng sở tri thức
Hình Mơ hình hệ dịch ảnh
Lưu ý: Mơ hình tác giả suy trình nghiên cứu học tập, rút trích từ hệ dịch ảnh giới kinh nghiệm thân,
đó hồn tồn khơng phải chuẩn mực hay chân lý mà phải tuân
Ảnh 1
Ảnh 2
Ảnh n
Cơ sở tri thức Tiền xử lý
Tri thức bổ sung Phân đoạn
Tiền xử lý Tiền xử lý
Tiền xử lý
Ảnh cần dịch
Phân đoạn Phân đoạn
Phân đoạn Dịch ảnh Học ảnh
Kết dịch
(15)theo cách nghiêm ngặt Mơ hình đơn tổng kết từ hệ dịch ảnh hoạt động tương đối tốt vào thời điểm giới
1.4 Các hệ thống dịch ảnh nổi tiếng
Khi nói đến hệ thống dịch ảnh, phân đoạn ảnh hay tìm kiếm ảnh tiếng giới trước tiên ta phải nhắc đến IBM QBIC, hệ thống Tiếp theo nó, loạt hệ thống phát triển Watson, VIRAGE, NEC AMORA Trong trường đại học MIT Photobook hệ thống đầu tiên, hệ thống tiếng Blobworld đại học Berkeley Các hệ thống tiếp nối sau cải thiện chất lượng tốt nhiều từ Blobworld VisualSEEK WebSEEK Columbia, Standford cho đời EMD WBIIS Gần có lẽ
cũng hệ thống tốt thời điểm SIMPLIcity [17][18][19] do James Z.Wang phát triển
(16)Phần Cơ sở lý thuyết
Sau có nhìn tổng quan toán dịch ảnh, tiếp tục
đến với sở lý thuyết quan trọng, góp phần xây dựng nên hệ dịch
ảnh, hay chương trình có khả
Qua mơ hình dịch ảnh Hình 2, thấy ảnh trước học dịch cần phải trải qua q trình tiền xử lý trình phân
đoạn ảnh Quá trình tiền xử lý trình tương đối lĩnh vực xử lý ảnh đề cập nghiên cứu nhiều nên
khơng khảo sát đến đồ án này1 Ở đây, tìm hiểu vấn
đề vấn đề chọn đặc trưng, vấn đề phân đoạn ảnh với thuật toán học dịch ảnh
2.1 Vấn đề chọn đặc trưng
Trong phần lớn tài liệu tìm kiếm ảnh, nhận dạng ảnh hay dịch ảnh có tài liệu đề cập chi tiết đến vấn đề chọn đặc trưng ảnh
thế Đa số tài liệu nói cách sơ sài chí khơng nhắc đến việc lựa chọn đặc trưng Tuy nhiên, vấn đề quan trọng góp phần định đến chất lượng việc phân đoạn tìm kiếm ảnh Tiếp nối kết thừa cách có chọn lọc cải tiến từ nghiên cứu trước, tác giả đồ
án định trình bày tương đối chi tiết đặc trưng việc dịch ảnh Lưu ý: Khi nói đến đặc trưng (hay đặc tính), nhà xử lý ảnh thường nghĩ đến đặc trưng phân vùng ảnh, xét đặc trưng toàn ảnh điểm ảnh trường hợp ứng với phân vùng có diện tích tồn bộảnh phân vùng có diện tích điểm ảnh
(17)
Tiếp sau vào nghiên cứu loại đặc trưng phổ biến xử lý ảnh
2.1.1 Màu sắc
Đặc trưng phân vùng đặc trưng màu sắc Khi nói đến màu sắc, thơng thường ta nghĩ đến vector thành phần
ứng với hệ màu RGB, XYZ, HSI…
Để tính đặc trưng màu sắc cho vùng, làm sau: Gọi ( 1, 2, 3)
i i i i tp tp tp
cr = vector ứng với màu sắc điểm ảnh i, tpi1
ứng với thành phần màu sắc thứ nhất, tpi2ứng với thành phần màu sắc thứ hai,…
Ví dụ xét hệ màu RGB tpi1 ứng với thành phần đỏ điểm
ảnh i
Khi đó, đặc trưng màu sắc vùng R sẽđược tính:
⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ = = ∑ ∑ ∑ ∑ ∈ ∈ ∈
∈ i R
i R R i i R R i i R R i i R R tp S tp S tp S c S
cr r 1, 2, (1.)
Trong đó, SR diện tích tính theo sốđiểm ảnh vùng R
Vấn đề có nhiều hệ màu RGB, LUV, CMY, HSI,… phải chọn hệ màu tốt cho việc dịch ảnh? Thật sựđây câu hỏi khó, cịn tùy thuộc vào thuật tốn mà ta áp dụng để phân đoạn, tùy thuộc vào dạng hình ảnh… Tuy nhiên, thơng qua đa số hệ dịch ảnh, tìm kiếm
ảnh,… hệ màu RGB, CIE XYZ đặc biệt CIE L*ab dùng nhiều cho việc phân đoạn dịch ảnh
(18)Hình Lược đồ hai hệ màu CIE XYZ CIE L*ab
2.1.2 Vân
Vân (texture) chưa có định nghĩa, ta hiểu nơm na, vân nói lên mối liên hệ điểm ảnh vùng (phân vùng) ảnh Ví dụ ảnh ngựa vằn mang vân ngựa vằn, rõ ràng vân khác hẳn với vân ngựa bình thường
Rút trích đặc trưng vân đem lại khả phân đoạn ảnh tốt Tuy nhiên, khơng có định nghĩa cố định, nên có nhiều cách rút trích
đặc trưng vân khác trình bày cách quan trọng có
ảnh hưởng đến việc phân đoạn dịch ảnh
Dựa ma trận đồng (Co-occurrence Matrix)
Ma trận đồng ma trận lưu trữ số lần xuất cặp điểm
ảnh vùng xét Các cặp điểm tính theo quy luật cho trước
Ví dụ với ảnh f sau:
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 2 0 2 0 0 1 0 1
f ta có ma trận đồng P(1,0), với
(19)(lưu ý có nhiều ma trận đồng khác cho ma trận ban
đầu)
Ma trận đồng tạo cặp điểm lệch (1, 0) - nghĩa điểm kế hàng Giá trị dòng 0, cột ma trận đồng ởảnh f, có cặp điểm 0 kế hàng Tương tự
vậy giá trị dòng 1, cột ma trận khơng có cặp xuất liền hàng
Công thức tổng quát ma trận đồng là:
{[ , ]| ( , ) ( , ) } trongđó ( , ) ]
,
[ x y x y
t i j r c f r c i f r t c t j t t t
C = = + + = = (2.)
Ví dụ với ma trận f cho t = (1, 0) ta có ma trận đồng ví dụ trên, t = (1, 1), nghĩa tìm cặp điểm kế đường chéo, ta có ma trận đồng là:
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 0 1 2 ) , ( P
Từ ma trận đồng hiện, người ta định nghĩa đặc trưng texture
sau:
o Energy:
∑∑
i j
t i j
P2[, ] (3.)
o Entropy: ]) , [ ( log ] ,
[i j P i j
P t
i j t
∑∑
(4.) o Maximum Probability:
] , [ max
,j Pt i j
(20)o Contrast (thông thường k = l = 1) ∑∑ − i j l t k j i P j
i [, ] (6.)
o Inverset diffrence moment
j i j i j i P
i j k l
t ≠
−
∑∑ [, ], (7.)
o Correlation ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑∑ − = − = = = − − j i t j j i j t i i ji i t j i j t i
i j i j t j i j i P u j j i P u i a j i P j u j i P i u a a j i P u j u i ]) , [ ) (( a ]) , [ ) (( ) ] , [ ( ]) , [ ( ]) , [ ) )( ( 2 (8.)
Lưu ý, có nhiều tài liệu định nghĩa khác ởđây chút chỗ thay lấy P[i,j] cơng thức tài liệu lấy N[i,j] với
∑∑ = i j j i P j i P j i N ] , [ ] , [ ] , [
# Thuật tốn tính đặc trưng texture từ ma trận đồng hiện: Xây dựng ma trận đồng với nhiều t khác
2 Tính đặc trưng texture ứng với ma trận đồng xây dựng bước
Dựa tần số cạnh (Edge Frequency)
o gradient g(d) gọi hàm khoảng cách phụ thuộc texture o g(d) đặc trưng cho tần số điểm có thuộc cạnh hay
(21)o g(d) điểm tính sau: ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( j i f d j i f j i f j d i f j i f d j i f j i f j d i f j i gd − + + − + + − − + − − = (9.)
o Đối với vùng ảnh, g(d) tính trung bình cộng tất gradient điểm thuộc vùng (giả sử R) đó:
∑ ∈ = R p y x d R p p g S d
g( ) ( , ), với SR diện tích vùng R (10.)
# Thuật tốn tính đặc trưng texture theo Edge Frequency: Tính giá trị gd(i,j) ứng với điểm ảnh (i, j)
2 Tính đặc trưng g(d) theo công thức 10 từ kết bước Để có thêm vector khác ta đổi giá trị d quay lại bước
Số g(d) tính số đặc trưng thu từ vùng theo phương pháp Edge Frequency
Dựa biến đổi Wavelet (Wavelet transform)
Texture thu từ biến đối wavelet hầu hết nghiên cứu công nhận đặc trưng texture tốt cho việc phân đoạn ảnh
Từ vùng kích thước nxn ta thu vector có thành phần đặc trưng cho texture với biến đối wavelet mức Để có thành phần này, áp dụng biến đổi wavelet Daubechies-4 [6] lọc Haar
[11] với thành phần L ảnh Sau áp dụng mức biến đổi, có miền tần số (frequency band) thành phần vector sẽđược tính giá trị trung bình vùng miền tần số tương ứng
(22)Hình Decomposition ảnh để tạo frequency bands biến đổi wavelet
Như với vùng kích thước 4x4 ví dụở Hình thành phần ứng với HL (giả sử HL bao gồm ck,l, ck+1,l, ck,l+1, ck+1,l+1) sẽđược tính:
2 1
0
2 ,
4
1 ⎟
⎠ ⎞ ⎜
⎝ ⎛
= ∑∑ck+il+j f
Tính tốn tương tự cho vùng LH, HH
# Thuật tốn tính đặc trưng texture theo biến đổi Wavelet: Tính biến đổi wavelet toàn ảnh
2 Ứng với vùng cần tính, ta tính thành phần ứng với miền HL, LH HH
Khi áp dụng biến đổi Wavelet mức sâu hơn, ta có tương
ứng 3xV thành phần ứng với V chiều sâu biến đổi Wavelet Lưu ý: Một cải tiến khác sẽđem lại hiệu nhiều cho việc phân đoạn áp dụng DWF [15] (discrete wavelet frames) Cách thức nhiều nghiên cứu khác vận dụng thành công
2.1.3 Không gian
Một đặc trưng quan trọng khác đặc tính khơng gian Vector đại diện cho đặc tính gọi Spatial Vector Đối với điểm (x, y) ảnh
LL
LH HH
(23)thì Spatial vector srp =(x,y) Với vùng, đặc trưng khơng gian vùng là:
⎟⎟ ⎠ ⎞ ⎜⎜
⎝ ⎛ =
= ∑ ∑ ∑
∈ ∈
∈ i R
i R R i
i R R
i i R
R y
S x S s S
s r ,
r (11.)
trong SR diện tích vùng R cần tính
2.1.4 Hình dạng
Đặc trưng cuối đề cập đến đặc trưng hình dạng Như ta biết, đối tượng đặc thù thường có hình dạng tương đối giống Ví dụ thơng thường cần qua hình dạng ta đốn nhận mà khơng cần đến màu sắc Đó đặc trưng hình dạng
Đặc trưng hình dạng để có trước tiên ta phải xác định đường biên nó, thơng qua tốn tử Gradient tốn tử Laplacian (gần giống
đặc tính texture dựa Edge Frequency) Sau từ thơng tin vềđường biên rút đặc trưng hình dạng
Đặc trưng hình dạng hay hứa hẹn nhiều tương lai, nhiên nghiên cứu vềđặc trưng vượt khuôn khổ đồ án, nên dừng lại giới thiệu
Trên tìm hiểu cách tương đối chi tiết vềđặc trưng
ảnh thông qua đặc trưng màu sắc, không gian, vân nêu khái niệm đặc trưng hình dạng Bên cạnh đặc trưng trên, người ta sử
(24)2.2 Phân đoạn ảnh giải thuật KMCC
Phân đoạn ảnh giai đoạn khơng thể thiếu góp phần định đến chất lượng việc dịch ảnh Có nhiều cách phân đoạn phân tích nghiên cứu, qua người ta chia làm lớp kỹ thuật:
1. Thresholding: thường dựa vào lược đồ (histogram) ngưỡng
để định phân vùng
2. Region-based algorithm: dựa vào đặc trưng vùng tiến hành phân đoạn
3. Edge-based segmentation: dựa vào biên dạng vùng
Mỗi kỹ thuật có ưu, khuyết điểm riêng chúng ởđồ án tìm hiểu kỹ thuật phân đoạn dạng thứ 2, nghĩa phân đoạn dựa vùng (region-based)
Một cách tổng quát, trình phân đoạn ảnh theo kỹ thuật phân vùng chia làm giai đoạn nhưở Hình Từ ảnh gốc (có thểđã qua tiền xử lý), ta tiến hành rút đặc trưng toàn điểm ảnh ảnh Sau đó, ta tiến hành tìm điểm mầm (seed) Mỗi điểm mầm hứa hẹn trở thành vùng trình Sau xác định xong điểm mầm, ta lọc lại ảnh để
xử lý dễ dàng lọc trung bình Ý nghĩa việc lọc nhằm mục
đích giảm nhẹ texture phức tạp Cuối sau có kết trên, áp dụng giải thuật phân đoạn vào để có kết cuối
Lưu ý bước mơ hình Hình thật khơng bắt buộc phải có mặt ta đơn giản ngầm định số lượng điểm mầm số
lượng điểm ảnh ta hồn tồn khơng cần loại bỏ texture phức tạp mà phân vùng cách tốt Mục đích bước để
(25)Hình Các giai đoạn trình phân đoạn
Chúng ta tìm hiểu tồn q trình phân đoạn dựa vào giải thuật KMCC Vì lại sử dụng giải thuật này? Lý ảnh phân
đoạn với giải thuật K-Means ta tận dụng lại kết
giá trị đặc trưng phân vùng cho toán dịch ảnh tốt giải thuật phân đoạn khác Ở giải thuật K-Means gốc [12] áp dụng cho tốn phân
đoạn cịn bộc lộ số hạn chế, mà đặc biệt không xét đến yếu tố texture Do V Mezaris I Kompatsiarisđã đề giải thuật cải tiến K-Means giải thuật KMCC [14], giải thuật khắc phục nhiều hạn chế
trước K-Means Do thuật giải mà áp dụng KMCC, nên giai đoạn khác phải có thích nghi với nó, sau bắt đầu
đi chi tiết vào giai đoạn
2.2.1 Rút trích đặc trưng điểm ảnh
Giá trị đặc trưng mà sử dụng đặc trưng màu với hệ CIE L*ab đặc trưng Texture dựa biến đổi Wavelet
Hai đặc trưng đặt tên Intensity (cho đặc trưng màu) Texture (cho đặc trưng Texture) xác định vector:
r
Rút trích đặc trưng điểm ảnh
Xác định điểm mầm
Lọc ảnh theo điều kiện với lọc trung bình
(26))] ( ) ( ), ( [ )
(p t1 p t2 p t9 p
T
Tp = = xV
r
(13.) Vector texture tính dựa thành phần màu biến đổi đến cấp
V, vector có 3x3xV = 9xV thành phần Khi sử dụng ảnh kích thước lớn V nên sử dụng lớn Với ảnh kích thước khoảng 100x150 V = tốt
2.2.2 Giải thuật Maximin
Giải thuật Maximin giúp ta ước lượng trước số lượng vùng vị
trí tương đối vùng Giải thuật Maximin thực cách chia ảnh thành hình vng nhỏ kích thước fxf gọi blocks sau tìm cách chọn block thích hợp để biến thành điểm mầm (seeds)
đôi gọi centers
Hình Các điểm mầm tìm thơng qua giải thuật Maximin với chương trình Object Recognizer
Hình cho ta ví dụ việc chọn lựa điểm mầm Ảnh áp dụng giải thuật Maximin chương trình Object Recognizer, điểm màu đỏ
(27)# Giải thuật Maximin sau:
Bước 1. Chia ảnh thành L block, kích thước block f*f Sau tính Intensity Texture cho block:
∑ ∈ = i b p i
b I p
f b
I ( ) 12 ( ) (14.)
∑ ∈ = i b p i
b T p
f b
T ( ) 12 ( ) (15.)
Bước 2. Chọn góc trên, bên trái trở thành điểm mầm thứ
Bước 3. Tính khoảng cách điểm mầm thứ với block lại Chọn block có khoảng cách lớn trở thành điểm mầm thứ Đặt C khoảng cách
Cách tính khoảng cách sau:
) ( ) ( ) ( ) ( ) ,
( 1 b n
l b n b l b n l
b b b I b I b h T b T b
D = − + −
(16.) h1 hệ số cần phải thử nghiệm Thông thường chọn h1
= Theo thử nghiệm việc phân đoạn ảnh gặp trở ngại ảnh khơng có vân nhiều mà ta lại chọn h1 >> ảnh dạng vân đặc trưng mà lại chọn
h1 <<
Với độ đo khoảng cách || || thơng thường ta chọn khoảng cách Euclidean, nhiên ta áp dụng cách tính khác
Bước Với block lại (chưa chọn thành điểm mầm), tính khoảng cách với điểm mầm khoảng cách bé gán cho gọi độ tin cậy1, nghĩa mức độ tin tưởng block chọn để trở thành điểm mầm Block có độ tin cậy lớn chọn thành Candidate (ứng cử viên)
(28)
Bước 5. Nếu độ tin cậy Candidate lớn k*C (C tính bước 3) block trở thành điểm mầm thực lại bước Ngược lại, khơng tìm block có độ tin cậy lớn k*C dừng giải thuật (Giá trị k chọn trước ≤ k ≤ k = cho phép xét lại block không trùng trở thành điểm mầm, k = giới hạn số điểm mầm tối đa ứng với block chọn đầu tiên)
Về nguyên tắc, với sốđiểm mầm áp dụng thuật toán loang từ điểm mầm ra, có ảnh phân vùng Tuy nhiên
thế ta không đảm bảo tính liên thơng, yếu tốđặc trưng không đủ Thực tế chứng minh áp dụng giải thuật Maximin loang có kết phân vùng vơ tồi tệ, Maximin chỉđơn thuật toán xác định điểm mầm
2.2.3 Lọc ảnh theo điều kiện với lọc trung bình
Để nâng cao hiệu việc phân đoạn, người ta áp dụng thêm bước lọc đệm giai đoạn xác định điểm mầm giai đoạn phân đoạn Vector đặc trưng Ip điểm ảnh sẽđược tính lại thành Jp sau:
⎪⎩ ⎪ ⎨ ⎧ ≥ < = ∑ τ τ ) ( ) ( ) ( ) ( ) (
2 I p khi T p
f p T khi p I p
J (17.)
Giá trị τ chọn thông qua thực nghiệm, nghĩa cần phải tiến hành nhiều thí nghiệm để tìm ra, nhiên theo kết tác giả KMCC nên chọn τ sau:
τ = max{0.65*Tmax, 14} (18.)
với Tmax giá trị lớn module vector T, tức ||T(p)||
Hình cho ta nhìn trực quan hiệu giai đoạn lọc ảnh
Ảnh bên trái (ảnh a) ảnh gốc kích thước 100x150 ngựa vằn ăn cỏ
và ảnh bên phải (ảnh b) ảnh sau áp dụng phép lọc Kết việc lọc
(29)Hình Ví dụ lọc ảnh theo điều kiện qua lọc trung bình
Kết giai đoạn input giai đoạn 4, giai đoạn phân đoạn
ảnh với giải thuật KMCC
2.2.4 Giải thuật K-Means with Connectivity Constraint
Giải thuật KMCC áp dụng dựa Input ảnh có sau giai
đoạn tập điểm mầm ban đầu Nhắc lại điểm mầm ban đầu block chọn, điểm mầm thực chất điểm
ảnh mà khối điểm ảnh kích thước fxf có đặc trưng Các
điểm mầm ởđây xem vùng, nghĩa ta biến điểm mầm thành vùng xem giá trị khởi điểm
# Giải thuật KMCC để phân đoạn ảnh sau:
Bước 1. Xác định vùng số lượng chúng từ kết giai
đoạn tìm điểm mầm (Đây điểm mầm) Gọi số lượng vùng K
Bước 2. Với điểm ảnh p, tính khoảng cách điểm ảnh vùng có Điểm ảnh sẽđược gán cho vùng có khoảng cách gần với
Khoảng cách điểm p vùng Rkđược tính theo cơng thức:
) ( ) ( ) ( ) ( ) ( ) ( ) ,
( 1 2 R k
k k
R k
R
k S p S R
M M h R T p T h R J p J R p
D = − + − + − (19.)
trong JR, TR SR đặc trưng vùng (Slà đặc trưng
(30)hợp xmax ymax kích thước ảnh theo chiều rộng chiều cao C
chính giá trị tính từ giải thuật Maximin Mk diện tích vùng Rk
M diện tích trung bình vùng, ∑
= = K k k M K M
1 , cuối giá trị h
1
chính giá trịđề cập Maximin
Bước 3. Dùng giải thuật loang để xác định lại số lượng vùng
các vùng Ví dụ: sau áp dụng bước (kích thước ảnh 8x8) ta có bảng điểm ảnh tương ứng với vùng (lúc số vùng 5, đánh số từ đến 4) Do vùng khơng có tính liên thông (vùng 1) nên ta phải áp dụng lại thuật tốn loang để có kết bên dưới, lúc vùng hoàn toàn liên thông (và số lượng vùng bây giờđã tăng lên 7, đánh số từ đến 6)
3 3 6 6 3 5 6 3 5 5 5 3 5 4 4 3 4 3 3 0 3 3 1 3 2 3 1 1 3 4 1 3 4 4 4 3 4 2 2 3 2 3 3 0 3 3 1 3 0 ⇒
Bước 4. Tính lại tồn đặc trưng vùng Vùng có diện tích nhỏ
hơn giới hạn A bị loại bỏ, A thường chọn 0,5% diện tích ảnh Cập nhật lại K (tức số lượng vùng)
Bước 5. Hai vùng sẽđược Merge lại chúng kề thỏa điều kiện khoảng cách tính theo cơng thức (16) nhỏ giá trị giới hạn B Giá trị B thực nghiệm là: B = 7.5 C < 25, B = 15 C > 75, B = 10 cho trường hợp cịn lại (C tính Maximin)
Bước 6. Tính lại K đặc trưng vùng
(31)||JR(Rk) – JR(Rk cũ)|| < cI ||TR(Rk) – TR(Rk cũ)|| < cT ||SR(Rk) – SR(Rk cũ)|| < cS
(trong cI, cT cs giá trị ngưỡng thực nghiệm) dừng thuật tốn
và kết vùng Ngược lại, quay lại bước
Lưu ý: Trong thực tế, tiến hành KMCC, ta lập đến số lần giới hạn
2.3 Máy học dịch ảnh
2.3.1 Các phương pháp để máy học ảnh
Để máy học ảnh cần phải qua giai đoạn:
1 Xác định ý nghĩa vùng ảnh máy cần học Xây dựng sở tri thức hay tập luật để áp dụng việc dịch
Ở giai đoạn 1, ta cho máy học theo số cách sau:
¾ Gán nhãn thủ công: Với ảnh cần học, ta tiến hành phân
đoạn, sau gán nhãn tay phân đoạn
¾ Xây dựng hệ tự đoán nhận: Đưa vào loạt ảnh kèm theo ảnh file (hoặc cách tương tự) định nghĩa vềảnh hay nói cách khác ta đưa vào ảnh dịch Sau áp dụng giải thuật EM [8]để xác định ý nghĩa vùng
Ở giai đoạn 2, ta có kết ý nghĩa vùng, vấn đề
là xây dựng tập luật cho hiệu để nhanh chóng đốn nhận ý nghĩa ảnh mà ta muốn dịch
(32)¾ Ta áp dụng giải thuật trí tuệ nhân tạo
xây dựng mạng Neural, áp dụng giải thuật ILA… để
xây dựng tập luật
¾ Ngồi ra, sở liệu lớn, lên đến hàng trăm nghìn, chí hàng triệu ảnh ta áp dụng giải thuật Datamining định, Apriori,… để xây dựng nên tập luật thích hợp
Với cách xây dựng trình bày, hồn tồn xây dựng nên hệ thống có khả học ảnh tương đối hiệu
Tiếp theo, ta xét đến giải thuật EM đề cập đến nhằm phục vụ cho việc học ảnh hiệu
2.3.2 Giải thuật EM
Đặt:
N: Số lượng ảnh
MT: Số lượng từ LT: Số lượng vùng
Mn: Số lượng từ ảnh thứ n Ln: Số lượng vùng ảnh thứ n
wn: từở ảnh thứ n bn: vùng ảnh thứ n
wn = (wn1,wn2,…wnMn) bn = (bn1,bn2,…bnLn) w*: từ riêng biệt b*: vùng riêng biệt
an: phép gán an = (an1,an2,…anMn) anj =inếu bni dịch thành wnj
t(w|b): khả vùng b có nghĩa từ w p(a i
j
n = ): khả xảy phép gán
(33)p(a i
j
n = |wnj, bni, θ
(old)): chỉ thị
Để dễ hình dung, ta xem ví dụở Hình
Hình Ví dụ ngun lý hoạt động giải thuật EM
# Giải thuật EM:
Bước E
1 Với n = 1,…N, j = 1…,Mn i = Ln, tính:
2 Chuẩn hóa với ảnh n từ j
Bước M
1 Tính giá trị pha trộn j ảnh có kích thước (ví dụ
như L(n) = l M(n) = m)
(34)3 Chuẩn hóa đểđạt 2.3.3 Dịch ảnh
Với sở tri thức xây dựng từ 2.3.1 ta hoàn toàn dịch
ảnh cách đơn giản:
Phương pháp khoảng cách bé nhất: Nếu bước học ảnh ta lưu toàn
kết lại bước ta tính khoảng cách vùng cần xác định nghĩa với vùng biết trước ý nghĩa sở tri thức Ý nghĩa vùng có khoảng cách gần với vùng cần xét ý nghĩa vùng cần xét
(35)Phần Xây dựng chương trình dịch ảnh
Trong Phần nghiên cứu chi tiết lý thuyết liên quan đến toán dịch ảnh phân đoạn ảnh Phần khảo sát cách thức xây dựng chương trình có chức mà cụ thể chương trình Object Recognizer
Nhưđã phân tích Phần 2, cơng việc quan trọng chọn đặc trưng, áp dụng giải thuật phân đoạn, cách học dịch ảnh, phần ta tuân thủ theo nêu tiến hành khảo sát công việc Lưu ý tồn cơng thức khoảng cách sửa đổi, cải tiến phần so với lý thuyết kết thực nghiệm tác giả, chưa cách tốt
3.1 Chọn lựa đặc trưng cơng thức tính khoảng cách
3.1.1 Đặc trưng
Chúng ta chọn đặc trưng: đặc trưng màu đặc trưng texture để
làm vector đặc trưng cho điểm ảnh vùng
Trong đó, điểm ảnh hay vùng đặc trưng vector: vector ứng với hệ màu RGB, vector ứng với hệ màu CIE L*ab vector ứng với texture
Vector ứng với texture xây dựng vector gồm 31 thành phần,
đó:
24 thành phần ứng với texture tính từ ma trận đồng thành phần ứng với texture tạo từ edge frequency
(36)tâm điểm cần tính đặc trưng Sau tính giá trị đặc trưng texture ứng với hình vng giá trị giá trị đặc trưng texture cho
điểm mà ta cần tính (l thí nghiệm chọn 2)
24 thành phần ứng với tính từ ma trận đồng có cách tính thành phần (energy, entropy, contrast,…) ma trận đồng Các ma trận
đồng xác định dựa hướng, ứng với góc xoay 00, 450, 900 1350 hay nói cách khác với ma trận P(1,0), P(1, 1), P(0, 1) P(1, -1) ma
trận có thành phần, có tất 6x4 = 24 thành phần thành phần tạo từ edge frequency gradient g(d) với d = ứng với thành phần R, G, B hệ RGB, L, a, b hệ CIE L*ab độ xám ảnh (tính theo cơng thức: độ xám = 0.2988*R + 0.5868*G + 0.1143*B)
Đặc trưng vùng xây dựng dựa đặc trưng điểm thuộc vùng tn theo cơng thức (1) (10)
3.1.2 Cơng thức tính module khoảng cách
Cơng thức tính Module:
Module điểm ảnh hay vùng xây dựng chương trình Object Recognizer tính cơng thức, (ví dụ tính module điểm
ảnh):
) ( )
( )
( )
(p alpha1 I p alpha2 I p alpha3T p
c = LAB + RGB + (20.)
trong ILAB, IRGB T thành phần ứng với L*ab, RGB
texture alphai hệ số Các hệ số thành lập qua khảo sát qua
trình thực nghiệm, tác giả nhận thấy với alpha1 = 1, alpha2 = alpha3 =
0.8 chương trình chạy tốt chất, khả phân đoạn trung bình tốt
Module vector ứng với L*ab RGB tính theo khoảng cách Euclidean, nghĩa là:
) ( ) ( ) ( )
(p I2 p I2 P I2 P
(37)) ( ) ( ) ( )
(p I2 p I2 P I2 P
IRGB = R + G + B (22.)
Module vector ứng với texture tính cơng thức:
||T(P)|| = alpha4||CoocVector|| + alpha5||edge|| (23.)
trong alpha4 alpha5 hệ số module Co-occurrence
Vector Edge Frequency tính giống module vector ứng với L*ab hay RGB Qua thực nghiệm, tác giả alpha4 = 0.1 alpha5 =
kết nhận tốt
Cơng thức tính khoảng cách:
Khoảng cách điểm khoảng cách vùng bất kỳ, khơng trùng tính theo cơng thức (giả sử xét vùng):
) , ( ) , ( ) , ( ) ,
( A B RLAB A B RRGB A B RT A B R R R alphad R R alpha d R R alpha d R R
d = + + (24.)
( ) (2 ) (2 )2
) ( ) ( ) ( ) ( ) ( ) ( ) , ( B b R A b R B a R A a R B L R A L R B A LAB
R R R I R I R I R I R I R I R
d = − + − + − (25.)
( ) (2 ) (2 )2
) ( ) ( ) ( ) ( ) ( ) ( ) , ( B B R A B R B G R A G R B R R A R R B A RGB
R R R I R I R I R I R I R I R
d = − + − + − (26.)
) , ( ) , ( ) ,
( 4 5 EdgeFrequency A B R B A CoocVector R B A T
R R R alpha d R R alpha d R R
d = + (27.)
( ) ∑ = − = 24 ) ( ) ( ) , ( i B i A i B A CoocVector
R R R tp R tp R
d (28.)
( ) ∑ = − = ) ( ) ( ) , ( i B i A i B A ncy EdgeFreque
R R R tp R tp R
d (29.)
trong alphai hồn tồn giống với giá trị trình bày Module tpi
thành phần thứ i vector đề cập
Khoảng cách điểm vùng (áp dụng giải thuật Maximin): ) , ( ) , ( ) , ( ) , ( ) ,
( 1 2 3 d p R
M M R p d alpha R p d alpha R p d alpha R p d S R T RGB
LAB + + +
(38)với ý nghĩa M, MRđã giải thích 2.2.4 (nghĩa ta đồng h2
2.2.4 với giá trị 1)
3.2 Phân đoạn ảnh với giải thuật KMCC cải tiến
Ở lý thuyết, biết trình phân đoạn trải qua giai đoạn, nhiên giai đoạn thật không thiết phải xảy Do trình cài
đặt, tác giảđã chủ động loại bỏ giai đoạn kết thật cho thấy khơng có khác biệt đáng kể thuật toán cải tiến bỏ giai đoạn thuật toán gốc chưa bỏ giai đoạn
3.2.1 Giải thuật Maximin
Kích thước block khởi tạo bước giải thuật maximin 2, nghĩa tách ảnh thành block 2x2
Giá trị l hình vng chứa điểm cần tính đặc trưng Điều có nghĩa ta đồng đặc trưng texture hình vng kích thước 5x5 có tâm (i, j) với đặc trưng điểm ảnh (i,j)
Ở bước 5, block chọn candidate, để trở thành điểm mầm u cầu độ tin cậy phải lớn k*C, giá trị k đề nghị 0.25 3.2.2 DKMCC - Giải thuật KMCC cải tiến
Cải tiến ta sử dụng cơng thức (24.) để tính khoảng cách
điểm với vùng Lý cải tiến chất cách chọn đặc trưng tác giả KMCC với tác giảđồ án có khác
Một cải tiến quan trọng mà tác giả đồ án áp dụng cải tiến bước giải thuật KMCC Ở bước gốc giải thuật, tác giả KMCC loại bỏ vùng có diện tích nhỏ 0.5% diện tích ảnh Và qua thực tế khảo sát, gặp phải tượng số lượng vùng qua giải thuật KMCC gốc lâu hội tụ được, nghĩa phải trải qua số lần lặp từ
(39)Điểm yếu giải thuật KMCC gốc việc loại bỏ hồn tồn vùng diện tích nhỏ trình bước thường tạo lại vùng diện tích nhỏ Tác giả đồ án không làm mà tiến hành merge lại vùng có diện tích nhỏ vào vùng có diện tích lớn đảm bảo tính xác phân đoạn Ta áp dụng cách merge tương tự
như bước cho vùng có diện tích nhỏ với vùng có diện tích lớn, nhiên cách làm tốn nhiều thời gian (vì để xét vùng có liên thơng hay khơng chi phí tốn cao)
Cải tiến tác giả đồ án thay bước giải thuật KMCC gốc thành bước 4a, 4b 4c
# Thuật toán cải tiến KMCC sau:
Bước 4a Với vùng có diện tích nhỏ A (A chọn 1/20 diện tích ảnh), ta đánh dấu điểm ảnh vùng thuộc
vùng -1
Bước 4b Duyệt lại điểm ảnh, với điểm ảnh gán nhãn -1, ta tính khoảng cách với điểm lân cận Khoảng cách gần điểm
đang xét với điểm lân cận có nhãn khác -1 xác định điểm xét
thuộc vùng chứa điểm lân cận
Ví dụ: ta xét điểm (2, 3) có nhãn -1 Tính khoảng cách với
điểm (1, 3) có nhãn 2, (3, 3) có nhãn -1, (2, 2) có nhãn 5, (2, 4) có nhãn Khi
đó giả sử khoảng cách (2, 3) (2, 2) nhỏ (2, 3) thuộc vùng Giả sử khoảng cách (2, 3) với (3, 3) gần khoảng cách (2, 3) với (2, 2) khoảng cách nhỏ thứ nhì (2, 3) thuộc vùng (3, 3) có nhãn -1
Bước 4c Tính lại số lượng vùng K thân vùng
(40)DKMCC, với ý nghĩa Dnductien’s K-Means with Connectivity Constraint Algorithm
Ở bước giải thuật, giá trị giới hạn B sẽđược chọn B = 0.02*C Bước giải thuật, thay tính cặp đặc trưng vùng, ta tính khoảng cách vùng vùng cũ, khoảng cách nhỏ B số
lượng vùng số lượng vùng cũ xem đạt độ hội tụ
3.3 Học ảnh dịch ảnh
(41)Phần Kết quả hướng phát triển
4.1 Các kết quả thí nghiệm
Tác giả tiến hành khảo sát sở liệu ảnh Corel [5] với ảnh kích thước nhỏ 128x192 trung bình 384x256 máy tính có cấu hình: Pentium IV 2.4GHz, 512MB Ram, HDD 80GB Kết thí nghiệm sau:
4.1.1 Về thời gian xử lý tính tốn
Kích thước ảnh 128 x 256 256 x 384
Sốảnh khảo sát 100 50
Thời gian phân đoạn TB 7.07 giây 27.30 giây
Thời gian dịch ảnh TB 7.72 giây 28.20 giây
Số phân đoạn trung bình 15.48 13.26
Sốđối tượng trung bình 4.52 4.24
Bảng Kết khảo sát tốc độ chương trình Object Recognizer
Bảng cho ta thấy số kết lý thú sau: Khi kích thước ảnh lớn số phân vùng số đối tượng ảnh nhận dạng chương trình Object Recognizer giảm Điều dễ hiểu ảnh lớn, số điểm ảnh xét nhiều khả merge lại vùng cao
(42)4.1.2 Về hiệu việc phân đoạn ảnh
Tiến hành khảo sát hiệu giải thuật phân đoạn KMCC cải tiến với 150 ảnh, gồm 100 ảnh kích thước nhỏ, 50 ảnh kích thước trung bình Trong số 100 ảnh kích thước nhỏ gồm có 70 ảnh thiên nhiên, nghĩa
ảnh gồm có đồi, núi, bầu trời, cây, cỏ,… 30 ảnh thú “có sọc” nghĩa ảnh vật ngựa vằn, hươu cao cổ… Tương tự với ảnh kích thước trung bình 50 ảnh bao gồm 25 ảnh thiên nhiên 25 ảnh thú có sọc Kết Bảng cho ta thấy ảnh có kích thước lớn nhìn chung kết
phân đoạn xác với độ xác 78% so với 74% ảnh nhỏ Mặt khác, ảnh thiên nhiên phân đoạn tốt hơn, với độ xác ởảnh nhỏ 88.6% so với ảnh thú có sọc 40% Với ảnh kích thước trung bình tương tự, độ xác phân đoạn ảnh thiên nhiên 92% so với 64%
Kích thước ảnh 128 x 256 256 x 384
Sốảnh khảo sát 100 50
Sốảnh phân đoạn xác 74 39
Sốảnh thiên nhiên phân phân đoạn 70 25
Sốảnh thiên nhiên phân đoạn xác 62 23
Sốảnh thú có sọc phân phân đoạn 30 25
Sốảnh thú có sọc phân đoạn xác 12 16
Bảng Kết khảo sát hiệu giải thuật KMCC cải tiến thơng qua chương trình Object Recognizer
4.1.3 Hiệu nhận dạng
Tiến hành khảo sát 100 ảnh kích thước nhỏ, cho máy học 60
ảnh 40 ảnh để máy dịch, ta kết nhưở Bảng
Loại đối tượng Bầu trời Nước Núi Đất
(43)Loại đối tượng Đồi Cây Nhà Cát
Độ xác (%) 70.33 68.67 53.14 50.11
Loại đối tượng Gấu Kim tự tháp Cọp Hươu
Độ xác (%) 48.33 42.33 40.13 39.25
Bảng Kết dịch ảnh loại đối tượng khác
Như ta thấy loại đối tượng bầu trời, nước, núi… đối tượng máy nhận dạng tốt, cịn đối tượng có vân phức tạp cọp, hươu… khả nhận dạng bị giảm sút nhiều, chí 50%
(44)4.2 Kết luận
Trong phần ta qua từ mơ hình dịch ảnh, đến lý thuyết cách thức xây dựng nên chương trình dịch ảnh mà cụ thể chương trình Object Recognizer, đến với thí nghiệm với chương trình Bây giờ,
đến lúc tổng kết lại tất ưu khuyết điểm chương trình để vạch hình thức, phương pháp cải tiến để nâng cao chất lượng tầm ứng dụng
4.2.1 Ưu khuyết điểm
Qua thí nghiệm trình bày 4.1, ta thấy chương trình có ưu điểm tác động nhiều kiểu ảnh khác nhau, phân vùng tốt đạt hiệu dịch ảnh tương đối khả quan, hứa hẹn tương lai hấp dẫn
Tuy nhiên hạn chế dễ thấy tốc độ xử lý chậm, khả nhận dạng đối tượng có vân dày đặc biệt hạn chế Việc học
ảnh cịn tiến hành “thơ”, liệu trở nên cực lớn gây bùng nổ không kiểm soát Việc học ảnh mắc phải khuyết điểm tương tự, phải phụ thuộc vào người
4.2.2 Hướng phát triển
Đây đề tài nghiên cứu nhiều giới đích
đến thật bỏ ngõ, phát triển đề tài lên mức độ cao điều cần thiết hồn tồn làm Với ưu khuyết
điểm chương trình, tương lai ta phát triển thêm theo hướng sau:
1 Áp dụng đặc trưng texture thông qua DWF để việc phân đoạn ảnh hiệu vùng có texture phức tạp
(45)3 Áp dụng mơ hình học thật cho máy, tránh việc học cách thủ
công Các mơ hình áp dụng mạng Neural Expectatoin Matching
4 Sử dụng thêm thuật toán bổ trợ cho việc rút đặc trưng gom nhóm thuật toán ILA
5 Nghiên cứu áp dụng thêm phép tiền xử lý ảnh để cải thiện chất lượng ảnh theo hướng phù hợp cho toán
6 Nâng cao tốc độ xử lý chương trình cách tinh chỉnh lại source code để chương trình vận hành hiệu
(46)Phụ lục A Chương trình Object Recognizer
A.1 Giới thiệu
Chương trình xây dựng môi trường Microsoft Visual C++ 6.0 hệđiều hành Microsoft Windows XP không sử dụng thêm thư viện mở rộng
Chương trình cung cấp hầu hết chức chương trình dịch
ảnh số, đồng thời bổ sung số tính cho phép hiệu chỉnh tham số để
người dùng trực tiếp nghiên cứu đặc tính tốn dịch ảnh
Hình 10 Màn hình giao diện chương trình Object Recognizer
A.2 Các chức năng
(47)2 Phân đoạn ảnh gốc hiển thịảnh sau phân đoạn
3 Từ ảnh phân đoạn, cho phép người dùng định nghĩa vùng ảnh để máy học vùng
4 Dịch ảnh chưa phân đoạn (nếu chưa phân đoạn gọi chức phân đoạn trước)
5 Chỉnh đổi tham số cơng thức tính khoảng cách số lần lặp thuật giải KMCC
6 Xem thông tin chương trình
Các chức thể toolbar chương trình theo thứ tự từ trái sang phải nhưở Hình 11
Hình 11 Toolbar chương trình chức nút lệnh
A.3 Ví dụ về cách sử dụng chương trình
Trước tiên, ta nhấn vào nút lệnh để học hiển thịảnh (tốt nên mở ảnh thư mục images kèm với chương trình chúng tiền xử lý giảm kích thước) Sau chọn xong file ảnh cần dịch, hình tương tự Hình 12
Kế tiếp, ta chọn chức dịch ảnh (nút thứ tư từ trái qua toolbar), có kết tương tự nhưở Hình 13
Để tắt kết dịch, ta nhấn lại nút dịch ảnh lần nữa, chọn chức Hiển thị thơng tin chuơng trình
Đọc hiển thịảnh gốc
Tiến hành phân
đoạn ảnh
Định nghĩa vùng ảnh
Chức dịch ảnh
(48)Hình 12 Ví dụ chức đọc hiển thị ảnh
(49)Với ảnh phân đoạn, để định nghĩa lại giá trị vùng, ta chọn chức định nghĩa vùng bảng (nút thứ từ trái qua toolbar) Khi vùng ảnh tạm đánh số ta điền tên vùng vào bảng nhưở Hình 14
(50)Để chỉnh sửa số tham số nhằm khảo sát tính hiệu chương trình đặc trưng khác nhau, ta chọn chức chỉnh tham số
(tương ứng với nút thứ hai từ phải sang toolbar) Khi chọn chức này, bảng hiển thị cho phép ta hiệu chỉnh tham số: Alpha1, Alpha2, Alpha3 Iterations, tương ứng với tham số cách tính khoảng cách vùng đề cập 3.1, tham số thứ tư
(Iterations ứng với số lần lặp thuật tốn KMCC)
Hình 16 Bảng hiệu chỉnh tham số
(51)Phụ lục B Vấn đề đọc hiển thị ảnh với VC++
Khác với ngôn ngữ sau C#, trình làm việc với Visual C++ vấn đền đọc hiển thị ảnh khơng q khó thật
cũng công việc đơn giản Đặc biệt, công việc xử lý ảnh việc đọc giá trị màu vị trí tùy ý ảnh vấn đề mang tính sống cịn Do đó, việc khảo sát để xây dựng cách thức đọc, hiển thị lấy
được giá trị màu ảnh việc cần thiết
Ởđây, xin đề nghịđưa cách giải vấn đề
Cách thứ nhất: Sử dụng lớp đối tượng có sẵn bên Đây cách đảm bảo thời gian tốn cơng sức Tuy nhiên, 90%1 lớp đối tượng có sẵn bên ngồi khơng hỗ trợ khả chuyển từảnh sang mảng khó khăn lấy liệu từ lớp Trong số lớp GDI+ có lẽ thư viện tốt nhất, lẽ
được hỗ trợ Microsoft thực tế viết tốt Để
tham khảo thêm cách sử dụng GDI+, đề nghị tham khảo
http://msdn.microsoft.com
Cách thứ hai: Cách sử dụng thành phần có sẵn VC++ Để đọc ảnh với nhiều định dạng VC++ có lớp hỗ
trợ chức nàng, lớp IPicture Các sử dụng IPicture
đơn giản xem MSDN nên khơng trình bày ởđây IPicture có nhược điểm với lớp cách thứ ta truy cập để lấy giá trị màu ảnh Tuy nhiên khơng mà ta dừng bước, ta lấy giá trị ảnh cách áp dụng “mẹo” “thơ thiển” hiệu quả: từ IPicture ta gọi Render lên CDC đó, sau ta gọi hàm GetPixel CDC
(52)
Với cách làm này, ta không cần quan tâm đến giá trị bits per pixel, cách mã hóa (jpeg, lzw, …)
(53)Phụ lục C Các công thức chuyển đổi hệ màu
Phần phụ lục trình bày số cách thức chuyển đổi hệ màu từ RGB sang hệ CIE Đối với hệ khác, đề nghị xem thêm ở[11] và [13].
Chuyển đổi RGB XYZ
X = 0.607 R + 0.174 G + 0.200 B
Y = 0.299 R + 0.587 G + 0.114 B Z = 0.000 R + 0.066 G + 1.116 B
R = 1.910 X - 0.532 Y - 0.288 Z G = -0.985 X + 1.999 Y - 0.028 Z
B = 0.058 X - 0.118 Y + 0.898 Z
Chuyển đổi RGB YUV (đây chuẩn PAL Tivi)
Y = 0.299 R + 0.587 G + 0.114 B
U = -0.147 R - 0.289 G + 0.436 B V = 0.615 R - 0.515 G - 0.100 B
R = Y + 0.000 U + 1.140 V G = Y - 0.396 U - 0.581 V B = Y + 2.029 U + 0.000 V
Chuyển đổi RGB YIQ (đây chuẩn NTSC Tivi)
Y = 0.299 R + 0.587 G + 0.114 B
I = 0.596 R - 0.274 G - 0.322 B Q = 0.212 R - 0.523 G + 0.311 B R = Y + 0.956 I + 0.621 Q
(54)Chuyển đối XYZ L*ab (ghi dạng mã)
XYZ Ỉ L*ab
var_X = X / ref_X //ref_X = 95.047 Observer= 2°, Illuminant= D65
var_Y = Y / ref_Y //ref_Y = 100.000
var_Z = Z / ref_Z //ref_Z = 108.883
if ( var_X > 0.008856 ) var_X = var_X ^ ( 1/3 )
else var_X = ( 7.787 * var_X ) + ( 16 / 116 ) if ( var_Y > 0.008856 ) var_Y = var_Y ^ ( 1/3 )
else var_Y = ( 7.787 * var_Y ) + ( 16 / 116 ) if ( var_Z > 0.008856 ) var_Z = var_Z ^ ( 1/3 )
else var_Z = ( 7.787 * var_Z ) + ( 16 / 116 )
CIE-L* = ( 116 * var_Y ) - 16
CIE-a* = 500 * ( var_X - var_Y )
CIE-b* = 200 * ( var_Y - var_Z )
L*ab Ỉ XYZ
var_Y = ( CIE-L* + 16 ) / 116
var_X = CIE-a* / 500 + var_Y
var_Z = var_Y - CIE-b* / 200
if ( var_Y^3 > 0.008856 ) var_Y = var_Y^3
else var_Y = ( var_Y - 16 / 116 ) / 7.787 if ( var_X^3 > 0.008856 ) var_X = var_X^3
else var_X = ( var_X - 16 / 116 ) / 7.787 if ( var_Z^3 > 0.008856 ) var_Z = var_Z^3
else var_Z = ( var_Z - 16 / 116 ) / 7.787
X = ref_X * var_X //ref_X = 95.047 Observer= 2°, Illuminant= D65
Y = ref_Y * var_Y //ref_Y = 100.000
Z = ref_Z * var_Z //ref_Z = 108.883
(55)Tài liệu tham khảo
[1] K BARNARD, P DUYGULU, R GURU, P GABBUR, and D FORSYTH,
The Effects of Segmentation and Feature Choice in a Translation Model of Object Recognition, Computer Vision and Pattern Recognition, pp II: 675-682, 2003
[2] K BARNARD, P DUYGULU and D FORSYTH, Clustering Art, In IEEE Conf on Computer Vision and Pattern Recognition, II: 434-441, 2001
[3] K BARNARD and D FORSYTH, Learning the semantics of words and pictures, In Int Conf on Computer Vision pages 408-415, 2001
[4] K BARNARD, P DUYGULU, N de FREITAS, D A FORSYTH, D BLEI, and M JORDAN, Matching words and pictures Journal of Machine Learning Research, 3:1107-1135, 2003
[5] Corel Stock Photo Library (Corel Corp., Ontario, Canada)
[6] I DAUBECHIES, Ten Lectures on Wavelets, Philadelphia: SIAM, 1992
[7] MINH N DO, Wavelet-Based Texture Retrieval Using Generalized Gaussian Density and Kullback–Leibler Distance, IEEE Trans on Image Processing, Vol 11, No 2, February 2002
[8] P DUYGULU, K BARNARD, J.F.G de FREITAS, and FORSYTH, Object Recognition as Machine Translation Part 1: Learning a Lexicon for a Fixed Image Vocabulary, Submitted for publication to the seventh European Conference on Computer Vision
[9] P DUYGULU, K BARNARD, J.F.G de FREITAS, and FORSYTH, Object Recognition as Machine Translation Part 2: Exploiting Image Clustering Models, Submitted for publication to the seventh European Conference on Computer Vision [10] P DUYGULU-SAHIN Translating Images to words: A novel approach for object recognition PhD thesis, Middle East Technical University, Turkey, 2003
(56)[12] J A HARTIGAN and M A WONG, Algorithm AS136: A K-means Clustering Algorithm, Applied Statistic, Vol 28, pages 100 – 108, 1979
[13] VÕ ĐỨC KHÁNH, Giáo trình Xử lý ảnh, Đại học Quốc gia Thành phố Hồ Chí Minh, Tp Hồ Chí Minh, Việt Nam, 2002
[14] V MEZARIS, I KOMPATSIARIS and M G STRINTZIS, Still Image Segmentation Tools for Object-based Multimedia Applications, International Journal of Pattern Recognition and Artificial Intelligence, Vol 18, No (2004) 701 – 725
[15] M UNSER, Texture classification and segmentation using wavelet frames, IEEE Trans Image Processing (1995) 1594 – 1560
[16] B SUMENGEN, Variational Image Segmentation and Curve Evolution on Natural Images, PhD thesis, University of California SANTA BARBARA, American, September 2004
[17] J Z WANG, J LI, and G WIEDERHOLD, SIMPLIcity: Semantics-Sensitive Integrated Matching for Picture Libraries, IEEE Trans Patt Anal Mach Intell., vol 23, pp 947-963, 2001
[18] http://wang.ist.psu.edu/IMAGE/
[19] http://wang.ist.psu.edu/docs/related/
[20] http://bigwww.epfl.ch/