ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VŨ THANH BÌNH
NGHIÊN CỨU PHÁT TRIỂN HỆ THỐNG TRA CỨU
CÁC LOÀI THỰC VẬT QUÝ HIẾM TẠI KHU BẢO TỒN
THIÊN NHIÊN NA HANG TỈNH TUYÊN QUANG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2019
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VŨ THANH BÌNH
NGHIÊN CỨU PHÁT TRIỂN HỆ THỐNG TRA CỨU
CÁC LOÀI THỰC VẬT QUÝ HIẾM TẠI KHU BẢO TỒN
THIÊN NHIÊN NA HANG TỈNH TUYÊN QUANG
Chuyên ngành: Khoa học máy tính
Mã số: 8.48.0101
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Ngƣời hƣớng dẫn khoa học: TS. Nguyễn Văn Tảo
THÁI NGUYÊN - 2019
i
LỜI CAM ĐOAN
Sau quá trình học tập tại Trƣờng Đại học Công nghệ thông tin &
Truyền thông, với những kiến thức lý thuyết và thực hành đã tích lũy đƣợc,
với việc vận dụng các kiến thức vào thực tế, em đã tự nghiên cứu các tài
liệu, các công trình nghiên cứu, tự tìm kiếm dữ liệu hình ảnh trên thực tế,
đồng thời phân tích, tổng hợp, đúc kết và phát triển để hoàn thành luận văn
thạc sĩ của mình. Em xin cam đoan luận văn này là công trình do bản thân
em tự tìm hiểu, nghiên cứu và hoàn thành dƣới sự hƣớng dẫn của thầy giáo,
TS. Nguyễn Văn Tảo.
Thái Nguyên, tháng năm 2019
Học viên
Vũ Thanh Bình
ii
LỜI CẢM ƠN
Trong thời gian 2 năm của chƣơng trình đào tạo thạc sĩ, trong đó gần
một nửa thời gian dành cho các môn học, thời gian còn lại dành cho việc lựa
chọn luận văn, giáo viên hƣớng dẫn, tập trung vào nghiên cứu, viết, chỉnh sửa
và hoàn thiện luận văn. Với quỹ thời gian nhƣ vậy và với vị trí công việc đang
phải đảm nhận, không riêng bản thân em mà hầu hết các sinh viên cao học
muốn hoàn thành tốt luận văn của mình mình trƣớc hết đều phải có sự sắp xếp
thời gian hợp lý, có sự tập trung học tập và nghiên cứu với tinh thần nghiêm
túc nỗ lực hết mình; tiếp đến là có sự ủng hộ về tinh thần, sự giúp đỡ về
chuyên môn - một trong những điều kiện không thể thiếu quyết định đến việc
thành công của luận văn.
Để hoàn thành đƣợc luận văn này trƣớc tiên em xin gửi lời cảm ơn sâu
sắc đến thầy giáo hƣớng dẫn TS. Nguyễn Văn Tảo, là ngƣời đã định hƣớng
nội dung, hƣớng phát triển của luận văn và có nhiều ý kiến đóng góp quan
trọng ảnh về những vấn đề chuyên môn của luận văn, giúp em tháo gỡ kịp
thời những vƣớng mắc trong quá trình làm luận văn.
Em cũng xin chân thành cảm ơn các thầy cô giáo Trƣờng Đại học
Công nghệ thông tin và Truyền thông và bạn bè cùng lớp đã có những ý kiến
bổ ích để luận văn đƣợc hoàn thiện hơn. Xin cảm ơn gia đình, ngƣời thân,
đồng nghiệp luôn quan tâm ủng hộ về tinh thần trong suốt thời gian học tập và
hoàn thành luận văn.
Em xin hứa sẽ cố gắng tự nghiên cứu, nâng cao năng lực chuyên môn
của mình để sau khi hoàn thành luận văn này sẽ có hƣớng tập trung nghiên
iii
cứu sâu hơn, tiếp tục hoàn thiện luận văn này để có những ứng dụng thiết thực
trong thực tế.
Thái Nguyên, tháng năm 2019
Học viên
Vũ Thanh Bình
iv
MỤC LỤC LỜI CAM ĐOAN .............................................................................................. i
LỜI CẢM ƠN ................................................................................................... ii
MỤC LỤC ........................................................................................................ iv
DANH SÁCH HÌNH VẼ ................................................................................. vi
DANH MỤC CÁC BẢNG............................................................................. viii
MỞ ĐẦU ........................................................................................................... 1
1. Đặt vấn đề ...................................................................................................... 1
2. Bài toán tra cứu/ nhận dạng thực vật ............................................................ 3
3. Cấu trúc luận văn .......................................................................................... 4
CHƢƠNG 1: MỘT SỐ NGHIÊN CỨU LIÊN QUAN .................................... 6
1.1 Tổng quan về tra cứu ảnh ............................................................................ 6
1.2 Tổng quan về nhận dạng, tra cứu thực vật ................................................ 10
1.3 Một số nghiên cứu liên quan ..................................................................... 11
CHƢƠNG 2: PHƢƠNG PHÁP TRA CỨU LÁ CÂY SỬ DỤNG KDES ..... 13
2.1 Giới thiệu ................................................................................................... 13
2.2 Phƣơng pháp KDES .................................................................................. 13
2.2.1 Gradient, màu sắc, và hình dạng kernels tƣơng ứng........................... 13
2.2.2 Học tính năng nhỏ gọn ........................................................................ 17
2.3 Phƣơng pháp tra cứu lá cây sử dụng KDES cải tiến ................................. 21
2.4 Biểu diễn ảnh lá cây .................................................................................. 23
2.4.1 Tính toán đặc trƣng mức Pixel ............................................................ 23
2.4.2 Tính toán đặc trƣng mức patch ........................................................... 23
2.4.2.1 Sinh tập patch với kích thƣớc patch thích nghi ............................ 23
2.4.2.2 Tính toán véctơ đặc trƣng mức patch ........................................... 26
2.4.3 Tính toán đặc trƣng mức ảnh .............................................................. 31
2.5 Phân lớp ảnh lá cây ................................................................................... 37
2.5.1 Máy véctơ hỗ trợ - SVM ..................................................................... 37
v
2.5.2 Máy véctơ hỗ trợ nhiều lớp – MSVM ................................................ 41
2.5.2.1 Từ Binary classification tới multi-class classification .................. 41
2.5.2.2 Xử lý dữ liệu ảnh ......................................................................... 41
2.5.2.3 Softmax Regression. ..................................................................... 42
CHƢƠNG 3: THỰC NGHIỆM ...................................................................... 44
3.1 Thu thập dữ liệu ........................................................................................ 44
3.1.1 Cơ sở dữ liệu hình ảnh ........................................................................ 44
3.1.2 Phƣơng pháp lấy mẫu hình ảnh lá cây: ............................................... 45
3.2 Tiền xử lý ảnh trong bộ cơ sở dữ liệu ....................................................... 48
3.3 Phƣơng pháp đánh giá ............................................................................... 53
3.4 Thử nghiệm và kết quả. ............................................................................. 54
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN. ..................................................... 60
TÀI LIỆU THAM KHẢO ............................................................................... 60
vi
DANH SÁCH HÌNH VẼ
Hình 2.1 : Xấp xỉ hữu hạn chiều ................................................................... 19
Hình 2.2: Sơ đồ hệ thống nhận dạng cây thuốc sử dụng KDES ................... 22
Hình 2.3: Patch thích nghi với = = 8, do đó = = 9
....................................................................................................................... 24
Hình 2.4: Một số ví dụ minh họa patch cố định và patch thích nghi ............ 25
Hình 2.5: Ý tưởng cơ bản của việc biểu diễn dựa trên kernel method ......... 29
Hình 2.6: Cấu trúc pyramid .......................................................................... 32
Hình 2.7: Nhược điểm của cách gán cứng .................................................. 34
Hình 2.8: Mô hình Softmax Regression dưới dạng Neural network ............. 42
Hình 3.1: Hình ảnh 38 mẫu lá cây đã thu thập được trong đề tài. ............... 46
Hình 3.2. Phân đoạn ảnh tự động ................................................................. 48
Hình 3.3. giải thuật sử dụng Salient region segmentation ........................... 49
Hình 3.4. Sự chuyển đổi hai không gian màu RGB và Lab .......................... 50
Hình 3.5. Co ảnh nhị phân ............................................................................ 50
Hình 3.6. Giãn ảnh nhị phân ......................................................................... 51
Hình 3.7. Chuẩn hóa hướng của lá cây ........................................................ 53
Hình 3.8. Sơ đồ các khối chức năng của giai đoạn huấn luyện ................... 55
Hình 3.9. Sơ đồ các khối chức năng của giai đoạn kiểm thử ....................... 55
Hình 3.10: Một phần mã code chương trình................................................. 56
Hình 3.11: quá trình Huấn luyện của chương trình ..................................... 57
Hình 3.12: Kết thúc quá trình huấn luyện .................................................... 57
Hình 3.13: Tính toán số vòng lặp so sánh .................................................... 58
vii
Hình 3.14: Hình ảnh ma trận nhầm lẫn của phương pháp KDES cải tiến .. 58
Hình 3.7: Hình ảnh nhầm lân ma trận của phương pháp KDES gốc ........... 59
Hình 3.8: Hình ảnh nhầm lẫn ma trân của phương pháp KDES cải tiến .... 60
viii
DANH MỤC CÁC BẢNG
Bảng 3.1: Danh sách mẫu thực vật trong cơ sở dữ liệu ............................. 47
Bảng 3.2: So sánh kết quả giữa KDES gốc và phương pháp lựa chọn (KDES
cải tiến). ....................................................................................................... 59
1
MỞ ĐẦU
1. Đặt vấn đề
Khu Bảo tồn thiên nhiên Na Hang là một trong những nơi có nguồn tài
nguyên cây thuốc đa dạng và phong phú [1]. Hiện biết có 275 loài cây thuốc,
thuộc 4 ngành, 96 họ, 204 chi của thực vật có mạch, đã đƣợc ghi lại trong các
cuộc điều tra thực địa. Trong số đó, có 204 loài, thuộc 3 ngành, 85 họ, 168 chi
của thực vật có mạch đƣợc sử dụng bởi Cao Lan dân tộc; đã 05 loài đƣợc liệt
kê trong Sách Đỏ Việt Nam và Danh lục Đỏ cây thuốc Việt Nam.
Trong số 85 họ, có 11 họ có số loài nhiều nhất là họ Rubiaceae,
Euphorbiaceae, Zingberaceae, Araceae, Vitaceae, Acanthaceae, Verbenaceae,
Myrsinaceae, Moraceae, Menispermaceae và Convallariaceae.
Bốn loại phổ biến của cây thuốc là cây thân thảo (41,63%), cây bụi
(22.01%), cây thân gỗ (16,75%) và leo núi (17.70%). Các bộ phận đƣợc sử
dụng nhiều nhất thân, lá, rễ và toàn cây. Các nguồn tài nguyên cây thuốc ở
khu bảo tồn thiên nhiên Na Hang có giá trị kinh tế quan trọng và một tiềm
năng để phát triển dƣợc phẩm mới và các sản phẩm tự nhiên khác.
Rừng đặc dụng Na Hang (trƣớc đây là Khu bảo tồn thiên nhiên Tát kẻ -
Bản Bung huyện Na Hang) đƣợc thành lập theo Quyết định 274/UB-QĐ ngày
9 tháng 5 năm 1994 của Uỷ ban nhân dân tỉnh Tuyên Quang. Nằm trên địa
bàn các xã Khâu Tinh, Côn Lôn, Sơn Phú, Thanh Tƣơng của huyện Na
Hang, tỉnh Tuyên Quang. Rừng đặc dụng Na Hang có diện tích tự nhiên
khoảng 22.401,5 ha, trong đó diện tích khu vực có địa hình dƣới 300 m chiếm
khoảng 30%, 300-800 m chiếm 60%, trên 900m chiếm 10%. Mùa đông nhiệt độ trung bình 15 - 20oC, mùa hè nhiệt độ lên đến 30oC hoặc có thể hơn. Hệ
2
thống sông ngòi chỉ ở mức trung bình, có hai con sông lớn chảy qua là sông
Gâm (phía Tây Tát Kẻ) và sông Năng (phía đông Na Hang). Hiện nay, nguồn
nƣớc từ rừng đặc dụng Na Hang đƣợc phân phối, điều hòa bởi hệ thống lòng
hồ và đập thủy điện Na Hang.
Hệ thực vật tại Khu bảo tồn thiên nhiên (BTTN) Na Hang có 1.162 loài
thực vật, thuộc 604 chi, 159 họ của 4 ngành thực vật bậc cao có mạch. Trong
đó ngành Hạt kín (Angiospermae) có 1.083 loài, 570 chi, 135 họ; ngành Hạt
trần (Gymnospermae) có 11 loài, 8 chi, 5 họ; ngành Dƣơng xỉ
(Polypodiophyta) có 63 loài, 34 chi, 17 họ; nhành Thông đất
(Lycopodiophyta) có 5 loài, 2 chi, 2 họ. Trong số 1162 loài thực vật đƣợc ghi
nhận tại Khu BTTN Na Hang, có 558 loài thực vật đƣợc ghi nhận có giá trị
làm thuốc.
Việc nghiên cứu hiện trạng và bảo tồn nguồn tài nguyên cây cối có vị trí
rất quan trọng trong việc phát triển nguồn tài nguyên sinh vật ở rừng đặc dụng
Na Hang. Để hỗ trợ cho công tác này, việc phát triển các công cụ, dịch vụ
công nghệ thông tin hỗ trợ là cần thiết nhằm giúp cho việc xây dựng chiến
lƣợc quản lý, bảo tồn và phát triển bền vững tính đa dạng sinh học của Na
Hang, tỉnh Tuyên Quang trong tƣơng lai đƣợc thuận lợi hơn.
Bƣớc đầu tiên của việc bảo vệ thực vật là tự động nhận ra hoặc phân loại
chúng. Có nghĩa là hiểu chúng là gì và chúng đến từ đâu. Nhƣng rất khó để
ngƣời ta nhận ra một loại cây một cách chính xác và ngay lập tức bởi vì số
lƣợng loài rất lớn. Một hệ thống tự động nhận dạng, tra cứu sẽ rất hữu ích
trong quản lý, bảo tồn hệ thống các loài cây quý hiếm, nhận dạng ra các loại
cây với thông tin của nó v.v.
Tuy nhiên, hiện nay chƣa có một cơ sở dữ liệu với đầy đủ thông tin
cần thiết về các loài thực vật quý hiếm tại Khu bảo tồn Thiên nhiên Na Hang
3
cùng với công cụ tra cứu, tiếp cận thông tin một cách thuận tiện. Do đó, đề
tài luận văn thạc sỹ này tập trung vào việc xây dựng cơ sở dữ liệu các loài
thực vật quý hiếm tại Khu bảo tồn thiên nhiên Na Hang, tỉnh Tuyên Quang
và nghiên cứu, áp dụng một phƣơng pháp tra cứu tự động dựa trên thông tin
hình ảnh, với đề tài: “Nghiên cứu phát triển hệ thống tra cứu các loài thực
vật quý hiếm tại Khu bảo tồn thiên nhiên Na Hang, tỉnh Tuyên Quang”.
Hiện nay, nhiều nhà khoa học đã và đang nghiên cứu, đề xuất nhiều
phƣơng pháp giải quyết bài toán nhận dạng lá cây thông qua thông tin hình
ảnh, [15] [17] [18]. Trong đó, nhiều phƣơng pháp khai thác thông tin hình
ảnh lá cây [2]. Lá cây đƣợc sử dụng nhiều bởi vì đây là bộ phận dễ thu nhận,
hiện diện ở hầu hết các mùa. Trên cơ sở đó, đề tài luận văn thạc sỹ này, em
sẽ kế thừa một số kết quả nghiên cứu về nhận dạng ảnh lá cây để áp dụng
vào bài toán tra cứu các loài thực vật quý hiếm tại Khu bảo tồn thiên nhiên
Na Hang.
2. Bài toán tra cứu/ nhận dạng thực vật
Tra cứu hoặc nhận dạng thực vật là một quá trình nhằm xác định xem
một mẫu thực vật nào đó giống nhất hoặc thuộc loài nào trong danh mục các
loài cây đã biết. Đây là một nhiệm vụ khó khăn và tốn thời gian ngay cả đối
với các chuyên gia thực vật học. Tra cứu thực vật là đƣa ra một danh sách các
loài thực vật theo mức độ phù hợp với câu truy vấn. Trong bài toán tra cứu
thông tin/ hình ảnh tổng quát thì câu truy vấn có thể là văn bản, hình ảnh, ... Ở
đây, em đề cập đến câu truy vấn là ảnh cây hoặc một vài bộ phận của cây.
Gần đây với nghiên cứu tiên tiến trong cộng đồng thị giác máy tính, một số
công trình đã tập trung nghiên cứu bài toán nhận dạng thực vật dựa trên hình
ảnh [3]. Mục đích chính của các công trình này là nghiên cứu phát triển
phƣơng pháp để xây dựng hệ thống chƣơng trình máy tính hỗ trợ việc nhận
4
dạng thực vật bằng các kỹ thuật nhận dạng và xử lý ảnh.. Trong các bộ phận
của cây thì lá cây đƣợc sử dụng rộng rãi nhất. Gần đây một số tác giả đã cố
gắng kết hợp các hình ảnh bộ phận khác của cây.
Một hệ thống tự động nhận dạng phân loại hoặc tra cứu thực vật nói
chung và cây thuốc nói riêng có thể sử dụng các đặc trƣng khác nhau của hệ
thực vật, bắt đầu từ mức độ rất đơn giản nhƣ: Hình dạng và màu sắc của lá,
loại hoa và quả, kiểu phân nhánh, loại rễ, lễ thời vụ, vụ triển vọng, ảnh cho
đến đặc trƣng rất phức tạp nhƣ cấu trúc tế bào và mô, cấu trúc di truyền. Hiện
tại, điện thoại di động có khả năng thu đƣợc hình ảnh chất lƣợng cao với
camera của chúng, điều này làm cho khả năng ứng dụng của một hệ thống
nhƣ vậy trở nên rộng lớn. Lá cây có những đặc trƣng quan trọng, ảnh hữu
ích để phân loại các loại thực vật khác nhau.
Trong thị giác máy tính, đã có nhiều loại đặc trƣng đƣợc đề xuất để
phân loại đối tƣợng. Năm 2010, Liefeng Bo [5] đề xuất một bộ mô tả hiệu quả
cho bài toán nhận dạng đối tƣợng có tên là KDES (Kernel descriptor). Trong
khuôn khổ đề tài luận văn này, này em tìm hiểu và áp dụng KDES cho bài
toán tra cứu ảnh lá cây quý hiếm tại Khu bảo tồn thiên nhiên Na Hang, tỉnh
Tuyên Quang.
3. Cấu trúc luận văn
Ngoài phần mở đầu, kết luận, mục lục, danh mục tài liệu, tài liệu tham
khảo, luận văn đƣợc chia thành 3 chƣơng nhƣ sau:
- CHƢƠNG 1: MỘT SỐ NGHIÊN CỨU LIÊN QUAN
Chƣơng này giới thiệu bài toán và thông tin tổng quan về tra cứu/ nhận
dạng thực vật. Trong chƣơng này cũng trình bày sơ lƣợc một số nghiên cứu
liên quan đến bài toán nhận dạng, tra cứu ảnh lá cây; giới thiệu sử dụng
5
phƣơng pháp KDES (kernel descriptor) cho bài toán tra cứu thông tin về cây
thông qua hình ảnh lá cây.
- CHƢƠNG 2: PHƢƠNG PHÁP TRA CỨU LÁ CÂY SỬ DỤNG
KDES
Trong chƣơng này trình bày phƣơng pháp tra cứu thông tin cây thông
qua hình ảnh lá cây sử dụng phƣơng pháp KDES.
CHƢƠNG 3: THỰC NGHIỆM
Nội dung chƣơng này bao gồm phƣơng pháp thu thập dữ liệu, phƣơng
pháp đánh giá, việc thử nghiệm và kết quả của thử nghiệm trên cơ sở dữ liệu
đã thu thập.
6
CHƢƠNG 1
MỘT SỐ NGHIÊN CỨU LIÊN QUAN
1.1 Tổng quan về tra cứu ảnh
Những năm gần đây ảnh số ngày càng thu hút đƣợc sự quan tâm của
nhiều ngƣời, một phần là do các thiết bị thu nhận ảnh số ngày càng phổ biến
và có giá cả phù hợp, cho phép nhiều ngƣời có thể sở hữu và sử dụng. Mặt
khác các công nghệ chế tạo thiết bị lƣu trữ luôn đƣợc cải tiến để cho ra đời
các thiết bị lƣu trữ có dung lƣợng lớn và giá thành hạ làm cho việc lƣu trữ ảnh
dƣới dạng các file trở nên phổ biến. Thêm nữa là sự phát triển của mạng
internet làm cho số lƣợng ảnh số đƣợc đƣa lên lƣu trữ và trao đổi qua internet
là rất lớn. Năm 2006, trên 300 triệu hình ảnh đã đƣợc tải lên Flickr, một trong
những cộng đồng chia sẻ hình ảnh lớn nhất trên internet. Con số này cho thấy
thực tế là số lƣợng ảnh số đƣợc lƣu trữ trong các cơ sở dữ liệu đang gia tăng
nhanh chóng. Tuy nhiên khi số lƣợng ảnh đƣợc lƣu trữ trở lên rất lớn thì vấn
đề là phải có những phƣơng pháp tổ chức cơ sở dữ liệu ảnh tốt cùng với
những kỹ thuật tìm kiếm tra cứu ảnh có hiệu quả có độ chính xác cao và có
hiệu năng tốt. Việc tìm kiếm đƣợc một bức ảnh mong muốn trong hàng triệu
bức ảnh thuộc đủ loại chủ đề khác nhau là rất khó. Khi số lƣợng ảnh trong
một bộ sƣu tập còn ít, việc nhận diện bức ảnh hay việc so sánh sự giống và
khác nhau giữa nhiều bức ảnh có thể đƣợc thực hiện bằng mắt thƣờng, tuy
nhiên khi số lƣợng ảnh rất lớn thì việc so sánh bằng mắt thƣờng là rất khó
khăn, đòi hỏi phải có những phƣơng pháp hiệu quả và chính xác hơn.
Trong thực tế, bài toán tra cứu ảnh số có rất nhiều ứng dụng quan trọng.
Ví dụ nhƣ trong lĩnh vực ngân hàng, việc so sánh chữ ký của khách hàng với
mẫu chữ ký đã đƣợc lƣu trữ sẵn có thể thực hiện rất nhanh và chính xác nếu
có đƣợc một phần mềm so sánh mẫu chữ ký tốt. Thực tế hiện nay tại các ngân
7
hàng ở Việt Nam, ngƣời ta vẫn phải sử dụng phƣơng pháp so sánh bằng mắt
thƣờng và việc so sánh chữ ký bằng phần mềm vẫn chƣa thực hiện đƣợc. Một
ví dụ khác là bài toán quản lý biểu trƣng (logo) trong lĩnh vực sở hữu trí tuệ.
Khi một đơn vị muốn đăng ký logo riêng cho đơn vị của mình thì cơ quan
quản lý phải tiến hành đánh giá xem mẫu logo đó đã đƣợc sử dụng hay chƣa
hoặc có tƣơng tự với mẫu logo nào đó đang đƣợc sử dụng hay không. Trong
trƣờng hợp này, nếu sử dụng mắt thƣờng để duyệt thì sẽ tốn rất nhiều thời
gian, nếu có các phần mềm cho phép tìm kiếm trong cơ sở dữ liệu ảnh có sẵn
những biểu trƣng tƣơng tự với biểu trƣng mẫu thì việc đánh giá sự tƣơng tự sẽ
dễ dàng hơn nhiều. Trong lĩnh vực khoa học hình sự, nhu cầu so sánh mẫu
vân tay, hay tìm kiếm hình ảnh tội phạm đặt ra những bài toán tra cứu ảnh.
Giả sử chúng ta tổ chức quản lý nhân khẩu với thông tin ảnh vân tay của từng
ngƣời. Trong một vụ án, nhân viên điều tra thu thập đƣợc mẫu vân tay trên
hiện trƣờng, khi đó ngƣời ta cần xem mẫu vân tay đó khớp với vân tay của ai
trong hàng chục triệu hình ảnh vân tay trong cơ sở dữ liệu. Nếu có phần mềm
thực hiện chính xác, nhanh chóng sẽ giúp ích rất nhiều cho công tác điều tra.
Một ví dụ nữa là trong lĩnh vực bảo tồn, bảo tàng. Vấn đề lƣu trữ và tra
cứu ảnh số có vai trò càng ngày càng quan trọng. Ảnh của các tác phẩm hội
họa, điêu khắc hoặc các cổ vật đƣợc lƣu trữ dƣới dạng các file ảnh sẽ đảm bảo
đƣợc chất lƣợng tốt hơn, thời gian lƣu trữ lâu dài hơn và việc trao đổi hay giới
thiệu với công chúng cũng dễ dàng hơn. Bài toán tra cứu của vật xuất phát từ
một thực tế của ngành bảo tồn, bảo tàng là khi sƣu tầm đƣợc một cổ vật mới,
ngƣời ta cần xác định hàng loạt các thuộc tính nhƣ niên đại, nguồn gốc và có
thể là chủ sở hữu của vật đó. Nếu có đƣợc sự trợ giúp của phần mềm tra cứu
ảnh phù hợp thì ngƣời ta ta có thể dễ dàng xác định xem mẫu cổ vật đó đã
đƣợc lƣu trữ trong cơ sở dữ liệu nào hay chƣa, có những loại cổ vật nào tƣơng
tự với nó trong kho tàng cổ vật của thế giới, và phần mềm có thể đƣa ra ảnh
8
của các loại cổ vật có màu sắc, hình dáng, hoa văn tƣơng tự với cổ vật vừa
tìm thấy. Những thông tin này sẽ giúp ích rất nhiều cho các chuyên gia trong
quá trình phân loại, kiểm chứng một cổ vật.
Một số hệ thống tra cứu ảnh nổi tiếng nhƣ QBIC (IBM),
Virage (Virage Inc.), Photobook (MIT), VisualSEEK (Columbia
University)...
Trƣớc năm 1990, ngƣời ta thƣờng sử dụng phƣơng pháp tra cứu ảnh
theo văn bản (Text Based Image Retrieval). Theo cách này ngƣời ta sẽ gán
cho mỗi bức ảnh một lời chú thích phù hợp với nội dung hoặc một đặc điểm
nào đó của ảnh, sau đó việc tra cứu ảnh đƣợc thực hiện dựa trên những lời
chú thích này. Phƣơng pháp này khá đơn giản, tuy nhiên lại không thể áp
dụng để tra cứu các cơ sở dữ liệu có số lƣợng ảnh lớn và kết quả tra cứu thì
mang tính chủ quan và cảm ngữ cảnh. Bởi về các kỹ thuật tra cứu dựa trên
văn bản chỉ có thể đƣợc áp dụng khi hình ảnh đã đƣợc mô tả. Việc tự động
hiểu nội dung một bức tranh theo cách của con ngƣời là một công việc rất
khó. Vấn đề này đƣợc gọi là lỗ hổng ngữ nghĩa (semantic gap).
Một trong những phƣơng pháp đƣợc nhiều ngƣời quan tâm nghiên cứu
hiện nay là phƣơng pháp ”Tra cứu ảnh dựa theo nội dung” (Content Base
Image Retrieval). Ý tƣởng phƣơng pháp này là chích chọn các đặc điểm dựa
vào nội dung trực quan của ảnh nhƣ màu sắc, kết cấu, hình dạng và bố cục
không gian của ảnh để làm cơ sở dữ liệu cho việc tra cứu, sắp xếp, tổ chức cơ
sở dữ liệu ảnh.
Kỹ thuật tra cứu ảnh trên cơ sở màu cơ bản có nhiều hạn chế:
- Hạn chế thứ nhất của ảnh kỹ thuật cơ sở là không sử dụng tính tƣơng
đồng giữa các màu. Khi đó, hai ảnh với màu cảm nhận tƣơng đồng nhƣng
không có màu chung thì khoảng cách giữa chúng sẽ rất lớn, có thể là cực đại.
9
Với hạn chế thứ nhất này, ngƣời ta đã đƣa ra những cách khắc phục bằng
cách: đƣa ra thƣớc đo mức độ giống nhau trong đó quan tâm đến đóng góp
các màu cảm nhận tƣơng tự; tính toán khoảng cách màu trong đó các giá trị
biểu đồ màu đƣợc điều chỉnh trên cơ sở mức độ tƣơng tự màu; sử dụng biểu
đồ trọng số cảm nhận (PWH -perceptually weighted histogram).
- Hạn chế thứ hai là không sử dụng quan hệ không gian giữa các pixel.
Để giải quyết vấn đề này, ngƣời ta có thể tách màu nền khỏi màu cận cảnh
(phân đoạn ảnh) sau đó biểu đồ màu nền và biểu đồ màu cận cảnh đƣợc tính
toán và sử dụng.
- Hạn chế thứ ba là không gian màu lựa chọn đƣợc lƣợng tử hóa đồng
nhất mặc dù các màu điểm ảnh không phân bổ đồng nhất trong không gian
màu. Một số giải pháp: lƣợng tử hóa màu không đồng nhất; lựa chọn không
gian màu thích hợp cũng đã đƣợc đề cập; cải tiến việc tính toán các bins màu
cách sử dụng kỹ thuật phân lớp dữ liệu.
Kỹ thuật tra cứu cơ sở dựa trên lƣợc đồ màu chƣa tận dụng đƣợc các
đặc tính cục bộ của vùng của ảnh nhƣ màu và không gian. Ngƣời ta đã đề cập
đến kỹ thuật tra cứu ảnh dựa vào các đặc tính cục bộ của vùng áp dụng trong
tra cứu các ảnh phong cảnh: kỹ thuật đối sánh cặp màu để mô hình các đƣờng
bao đối tƣợng phân biệt; mở rộng kỹ thuật cặp màu để thực hiện tra cứu các
ảnh đã đƣợc phân đoạn. Các hạn chế trong kỹ thuật tra cứu dựa vào màu bao
gồm: thiếu khả năng nhận dạng các đối tƣợng tƣơng tự có các màu khác nhau,
nhạy cảm với tỷ lệ của đối tƣợng. Ảnh ngƣời ta đƣa ra kỹ thuật tra cứu ảnh
dựa vào các đặc tính cục bộ của vùng bao gồm màu và không gian áp dụng
trong tra cứu các ảnh phong cảnh. Kỹ thuật này nhằm khắc phục các hạn chế
đã đƣợc đề cập ở trên thông qua một quá trình ba bƣớc: phân đoạn ảnh thành
các cụm dựa vào màu (sử dụng thuật toán phân lớp dữ liệu K-Means); chia
10
các ảnh thành dãy các hình chữ nhật bằng phƣơng pháp phủ hình chữ nhật tối
thiểu có độ thuần nhất; Cuối cùng, thông tin của vùng đƣợc trích rút trong
bƣớc thứ hai đƣợc sử dụng để tra cứu các ảnh liên quan từ một cơ sở dữ liệu
ảnh phong cảnh.
Với phƣơng pháp tra cứu ảnh dựa trên hình dạng, có nhiều phƣơng
pháp biểu diễn đặc trƣng hình dạng và thƣớc đo độ tƣơng tự khác
nhau: phƣơng pháp tiếp cận dựa trên hình dạng sử dụng logic mờ. Đầu tiên,
ảnh đƣợc phân đoạn thành một tập các vùng. Mỗi vùng đƣợc biểu diễn bởi
một tập mờ. Khoảng cách giữa hai ảnh đƣợc tính toán dựa trên việc so sánh
khoảng cách giữa tất cả các cặp vùng của hai ảnh kết hợp với gán trọng số
cho mỗi vùng; phƣơng pháp biểu diễn đặc trƣng của vùng bởi một vectơ 15
chiều bao gồm các thành phần màu đặc trƣng của vùng và các đặc trƣng hình
dạng; Kết hợp hai phƣơng pháp trên đồng thời đƣa ra cải tiến cách biểu diễn
vectơ đặc trƣng của một vùng sử dụng 6 thành phần (3 thành phần đặc trƣng
màu sắc và 3 thành phần đặc trƣng hình dạng); hình dạng các vùng đƣợc xấp
xỉ bởi đa giác. Đa giác biểu diễn hình dạng các vùng đƣợc xác định theo cách
hoạt động của radar.
1.2 Tổng quan về nhận dạng, tra cứu thực vật
Tự động phân loại và tra cứu thực vật có thể đƣợc thực hiện bằng cách
trích xuất các đặc trƣng từ lá của nó. Có nhiều cách tiếp cận khác nhau đã
đƣợc đề xuất. Đầu tiên, ảnh lá đƣợc thu nhận bằng camera hoặc máy quét.
Sau đó, đó ngƣời dùng có thể chọn điểm gốc của lá và một vài điểm tham
chiếu trên phiến lá hoặc tự động thực hiện việc này. Tiếp theo, một số đặc
trƣng hình thái học đƣợc trích xuất. Các đặc trƣng này đƣợc sử dụng làm đầu
vào cho hệ thống phân loại, ví dụ nhƣ mạng nơron nhân tạo. Mạng nơron
đƣợc huấn luyện với lá từ các loài thực vật khác nhau. Sau đó, độ chính xác
11
của hệ thống nhận dạng đƣợc đánh giá thông qua thử nghiệm. Phƣơng pháp
này chỉ hoạt động đối với những cây có lá phẳng, rộng.
Một số lƣợng đáng kể các công trình đã đƣợc thực hiện nhằm giải
quyết bài toán tra cứu và nhận dạng thực vật dựa trên ảnh lá. Một phƣơng
pháp nào đó có thể đạt đƣợc hiệu năng tốt đối với một số mẫu giá cụ thể,
nhƣng không đảm bảo cho kết quả tốt đối với các mẫu lá khác. Đôi khi ngƣời
ta thấy rằng hai hoặc nhiều cây có lá có hình dạng tƣơng tự hoặc giống nhau,
nhƣng màu sắc khác nhau. Trong trƣờng hợp đó các đặc trƣng màu sắc cần
đƣợc lƣu tâm.
Chƣơng này trình bày sơ lƣợc các thuật toán khác nhau đã đƣợc sử
dụng để tra cứu phân loại thực vật thông qua ảnh lá.
1.3 Một số nghiên cứu liên quan
Để nhận dạng cây có nhiều cách, có thể nhận dạng cây qua các bộ phận
của cây nhƣ cành, lá, chồi, thân, hoa, quả, rễ cây… Tuy nhiên đặc trƣng dễ
nhận ra nhất của mỗi cây là hình ảnh lá cây. Nên trong luận văn này em sử
dụng hình ảnh lá cây với nền đơn giản.
Có hai loại lá: Lá kép (bao gồm một số lá nhỏ) và lá đơn. Trong khi hầu
hết các nghiên cứu trên lá đơn tập trung vào việc trích xuất đặc trƣng hình
dạng và vị trí của lá [9], thì các nghiên cứu trên lá kép cố gắng khai thác cấu
trúc của chúng [7].
Hình ảnh lá có thể đƣợc chụp với nền phức tạp, bƣớc đầu tiên của hệ
thống nhận dạng thực vật dựa trên ảnh lá là phân đoạn ảnh lá. Tuy nhiên,
phân đoạn ảnh là bài toán khó với nhiều thách thức trong thị giác máy tính.
Do đó, các công trình hiện tại thƣờng dựa trên giả định rằng ảnh lá đƣợc chụp
trong một nền tƣơng đối đơn giản. Có rất ít công trình đề cập đến việc phân
đoạn ảnh lá trên nền phức tạp [8] [18]. Trong [18] Tác giả đã đề xuất một
12
phƣơng pháp có tên là Marker-Controller Watersheds. Tuy nhiên, phƣơng
pháp này dựa trên giả định rằng ảnh là bimodal.
Trong [8], các tác giả đã đề xuất một phƣơng pháp phân đoạn ảnh
lá. Trong nghiên cứu này, trƣớc tiên phân đoạn dựa trên mô hình lá đa giác
sau đó phát triển một active contour. Tuy nhiên, công trình này chỉ giới hạn
làm việc với lá cây với nền đơn giản.
Khi làm việc với bài toán nhận dạng thực vật dựa trên ảnh lá, nhiệm vụ
quan trọng nhất là biểu diễn lá. Trong đó, chúng ta cần xác định các đặc trƣng
thích hợp để biểu diễn lá tốt nhất. Một một số đặc trƣng đã đƣợc đề xuất cho
việc biểu diễn lá trình bày trong ImageClef2013. Các phƣơng pháp này chủ
yếu làm việc với giả thiết là nền đơn giản.
Gần đây [9] đã đề xuất sử dụng KDES (kernel descriptor) đƣợc sử
dụng trong [5] để nhận dạng lá. Bộ mô tả này vƣợt trội hơn các bộ mô tả tốt
nhất nhƣ SURF. Công trình này làm việc với nền đơn giản. KDES cải tiến
không bất biến đối với scale (kích thƣớc ảnh) và phép xoay.
13
CHƢƠNG 2
PHƢƠNG PHÁP TRA CỨU LÁ CÂY SỬ DỤNG KDES
2.1 Giới thiệu
Năm 2010, Liffeng Bo và cộng sự [5] đề xuất một bộ mô tả đối tƣợng
nói chung có tên là KDES (kernel descriptor). Với đặc trƣng KDES, việc trích
chọn đặc trƣng hình ảnh của mỗi bộ phận của cây đều đƣợc xây dựng theo
hƣớng: từ đặc trƣng mức pixel, đến đặc trƣng mức patch, rồi đặc trƣng mức
ảnh.Bằng thực nghiệm, các tác giả đã chỉ ra rằng KDES tốt hơn những
phƣơng pháp đã có trên cơ sở dữ liệu Cifa-10, Caltech-101, ImageNet. Năm
2015 với những kết quả đã đƣợc chỉ ra của KDES [15], luận văn này áp dụng
KDES cho bài toán tra cứu tra cứu các loài thực vật quý hiếm tại khu bảo tồn
thiên nhiên Na Hang tỉnh Tuyên Quang dựa vào hình ảnh lá cây.
2.2 Phƣơng pháp KDES
2.2.1 Gradient, màu sắc, và hình dạng kernels tƣơng ứng
Với đặc trƣng KDES, việc trích chọn đặc trƣng hình ảnh của mỗi bộ
phận của cây đều đƣợc xây dựng theo hƣớng: từ đặc trƣng mức pixel, đến đặc
trƣng mức patch, rồi đặc trƣng mức ảnh.
- Đặc trưng mức pixel
Theo [5], một số đặc trƣng có thể đƣợc tính toán ở mức pixel nhƣ: giá
trị pixel (rgb color), kết cấu (local binary patterns – lbp), gradient. Trong đề
tài này, em sử dụng đặc trƣng gradient đối với ảnh lá cây.
+Đặc trƣng gradient
14
Vector gradient tại một pixel z đƣợc xác định bởi biên độ và hƣớng
. Trong [2], sau khi đã đƣợc chuẩn hóa (chia cho biên độ vector tại mỗi
điểm), một vector 2 chiều đặc trƣng cho mỗi điểm ảnh đƣợc biểu diễn dƣới
dạng:
+ Đặc trưng mức patch
Đặc trƣng mức patch đƣợc tính toán dựa trên ý tƣởng của phƣơng pháp
Kernel Descriptor (KDES). Đó là xây dựng một độ đo để đánh giá tƣơng quan
giữa các patch ảnh. Rồi từ đó sử dụng phƣơng pháp xấp xỉ để có thể trích ra
đặc trƣng mức patch.
Qua khảo sát hàm mũ cơ số e của đối số khoảng cách Euclide là một
thƣớc đo tƣợng tự tốt để đánh giá sự tƣơng đồng giữa hai vector đặc trƣng.
Việc sử dụng hàm mũ cơ số e với số mũ âm là một điểm rất mạnh của việc
matching đối với KDES. Vì nếu 2 patch có sự tƣơng đồng lớn thì chuẩn 2 của
hiệu sẽ nhỏ và độ đo đánh giá lớn. Ngƣợc lại, sự tƣơng đồng càng giảm thì
giá trị của match kernel cũng sẽ giảm và giảm rất nhanh. Điều này cho phép
ta lấy đƣợc những patch có sự tƣơng đồng rất cao với patch cần đối sánh.
Xét 2 patch ảnh P và Q, hàm đối sánh giữa các đặc trƣng gradient và
LBP của chúng đƣợc định nghĩa nhƣ sau:
- Gradient Match Kernel
Gradient Match Kernel của 2 patch ảnh đƣợc xây dựng từ 3 Kernel, đó
là gradient magnitude kernel ̅ (theo biên độ), orientation kernel (theo
hƣớng), position kernel (theo vị trí). Trong [2] Gradient Match Kernel
đƣợc định nghĩa nhƣ sau:
15
( ) ∑ ∑ ̅ ( ) . ̃( ) ̃( )/ ( )
Trong đó:
z, : các điểm ảnh trên các patch P, Q. ̅ ( ) ( ) ( ): hàm đối sánh giữa 2 biên độ của 2
vector gradient. Với m(z) và ( ) là biên độ của vector gradient tại z và
) : hàm đối sánh . ̃( ) ̃( )/ ( ‖ ̃( ) ̃( )‖
theo hƣớng của 2 vector gradient tại z và
( ) ( ‖ ‖ ) : hàm đối theo vị trí của e pixel
z và
Với là vị trí Gaussian kernel với biểu
thị vị trí 2D của một pixel trong một bản vá hình ảnh (đƣợc chuẩn hóa thành
[0; 1]). Và là kernel hƣớng. Để
ƣớc tính sự khác biệt giữa các hƣớng ở pixel và , chúng tôi sử dụng các
vectơ gradient chuẩn hóa sau trong hàm kernel :
(2.2)
Khoảng cách giữa các vectơ nhƣ vậy cho thấy rất rõ sự khác biệt của
gradient định hƣớng. Lƣu ý rằng tính toán khoảng cách theo chuẩn L2 trên
các giá trị góc thay vì chuẩn hóa vectơ gradient sẽ gây ra sự sai số trong
một số trƣờng hợp. Ví dụ, hãy xem xét hai góc độ 2 – 0.01 và 0.01, có
hƣớng rất giống nhau nhƣng khoảng cách L2 rất lớn.
Tóm lại, kernel phù hợp với độ dốc Kgrad của chúng tôi bao gồm ba
kernel: kernel tuyến tính chuẩn hóa giống nhƣ trong biểu đồ định hƣớng, đánh
giá sự đóng góp của từng pixel sử dụng cƣờng độ gradient; kernel định hƣớng
16
tính toán độ tƣơng tự của gradient định hƣớng; và vị trí kernel Gaussian
đo khoảng cách hai pixel là không gian.
Có thể thấy kernel của biểu đồ định hƣớng cung cấp một cách đơn giản,
thống nhất để biến các thuộc tính pixel thành đặc trƣng patch-level. Một phần
mở rộng ngay lập tức là xây dựng các kernel khớp màu trên các giá trị pixel:
(2.3)
Với là màu pixel ở vị trí cƣờng độ cho ảnh màu xám và giá trị
RGB cho ảnh màu). đo mức độ
tƣơng tự của hai giá trị pixel.
Mặc dù gradient kernel tƣơng ứng có thể chụp các biến thể hình ảnh và
kernel khớp màu có thể mô tả sự xuất hiện của hình ảnh, chúng tôi thấy rằng
một kernel phù hợp trên các mẫu nhị phân cục bộ có thể chụp hình dạng gốc
hiệu quả hơn:
(2.4)
Với là độ lệch chuẩn của các
giá trị pixel trong 3 x 3 khu vực lân cận , là một hằng số nhỏ, là
vector nhị phân biểu diễn dƣới dạng cột nhị phân thể hiện sự khác biệt giá trị
pixel trong một cửa sổ gốc quanh . Kernel tuyến tính chuẩn hóa
cân nhắc sự đóng góp của từng mẫu nhị phân cục bộ, và Gaussian kernel
đo lƣờng sự tƣơng đồng hình dạng
thông qua các mẫu nhị phân địa phƣơng.
Các Kernel tƣơng ứng đƣợc xác định trên các thuộc tính pixel khác
nhau cung cấp một cách thống nhất để tạo ra sự đa dạng, phong phú cho bộ
17
tính năng hình ảnh, đã đƣợc chứng minh là rất thành công để tăng độ chính
xác nhận dạng.Tham chiếu Kernel phù hợp với gradient, màu sắc và hình
dạng phù hợp với kernel là của riêng mình và bổ sung cho. Sự kết hợp của
chúng hóa ra luôn luôn (nhiều) tốt hơn tính năng cá nhân tốt nhất.
2.2.2 Học tính năng nhỏ gọn
Kernel tƣơng ứng cung cấp một cách nguyên tắc để đo lƣờng sự giống
nhau của các bản vá hình ảnh, nhƣng việc đánh giá các Kernel có thể tốn kém
về mặt tính toán khi số lƣợng hình ảnh lớn. Vì hiệu quả tính toán và để thuận
tiện cho việc biểu diễn, em trình bày một cách tiếp cận để trích xuất các tính
năng kích thƣớc thấp nhỏ gọn từ các kernel tƣơng ứng: (1) lấy mẫu các vectơ
cơ sở với độ dài và cƣờng độ tƣơng đƣơng nhau từ vùng hỗ trợ để đảm bảo
xấp xỉ chính xác tƣơng ứng với các kernel; (2) tìm hiểu các vectơ cơ sở bằng
cách sử dụng phân tích thành phần chính của kernel; Một lợi thế quan trọng
của phƣơng pháp này là không có cực tiểu cục bộ nào đƣợc tham gia, không
giống nhƣ phân rã giá trị số ít kernel ràng buộc.
Dƣới đây là mô tả cách các tính năng không gian thu nhỏ đƣợc trích
xuất từ kernel gradient Kgrad. Các tính năng cho các kernel khác có thể đƣợc
tạo ra theo cùng một cách. Các kernel trong phƣơng trình
(2.5)
là sản phẩm bên trong
(2.6)
Qua đó, chúng ta có thể rút ra tính năng sau trên các bản vá hình ảnh:
(2.7)
18
Với là kết quả của Kronecker. Từ đó, có thể chỉ ra rằng
. Bởi vì chúng tôi sử dụng Gaussian kernel,
là một vectơ vô hạn.
Một cách đơn giản để giảm kích thƣớc là lấy mẫu các bản vá hình ảnh
đủ từ hình ảnh đào tạo và thực hiện KPCA cho các kernel phù hợp. Tuy
nhiên, cách tiếp cận nhƣ vậy làm cho các tính năng đã học phụ thuộc vào
nhiệm vụ trong tay. Hơn nữa, KPCA có thể trở nên không thể tính toán đƣợc
khi số lƣợng bản vá rất lớn.
Ở đây trình bày một cách tiếp cận để kết hợp gần đúng kernels trực
tiếp mà không yêu cầu bất kỳ hình ảnh. Theo phƣơng pháp cổ điển, máy học
chiều hữu hạn các tính năng bằng cách chiếu F grad ( P ) vào một tập các
vectơ cơ sở. Một vấn đề quan trọng trong quá trình chiếu này là cách chọn
một tập các vectơ cơ sở làm cho kernel có chiều hữu hạn gần đúng kernel ban
đầu. Vì các thuộc tính pixel là các vectơ có chiều thấp, chúng ta có thể đạt
đƣợc rất tốt xấp xỉ bằng cách lấy mẫu các vectơ cơ sở đủ bằng cách sử dụng
lƣới mịn trên vùng hỗ trợ. Ví dụ, hãy xem xét Gaussian kernel
định hƣớng trên gradient. Cho một tập các vectơ cơ sở
với là mẫu vectơ gradient chuẩn hóa, ta có thể tính gần
đúng một vectơ vô hạn bằng cách chiếu vào không gian đƣợc kéo dài
bởi tập hợp các vectơ cơ sở này. Một quy trình nhƣ vậy tƣơng đƣơng với
việc sử dụng hạt nhân có giới hạn:
(2.8)
19
Với là một vectơ ,
, và . Biểu đồ là một ma trận với
tính năng kết quả bây giờ chỉ có 1 chiều. Theo cách
tƣơng tự, chúng ta cũng có thể tính gần đúng các hạt nhân và .
Hình 2.1 : Xấp xỉ hữu hạn chiều.
Bên trái: kernel định hướng và xấp xỉ chiều hữu hạn của
nó. γo được đặt thành 5 (như được sử dụng trong các thí nghiệm) và
được cố định thành [1 0]. Tất cả các đường cong hiển thị giá trị kernel là các
hàm của . Đường màu đỏ là hàm ground truth kernel ko, và các đường
màu đen, xanh lá cây và xanh dương là các kernel xấp xỉ hữu hạn với các
kích thước lưới khác nhau.
Phải: lỗi bình phương trung bình gốc (RMSE) giữa xấp xỉ KPCA và
kernel tương ứng như là một hàm của thứ nguyên. Tính toán RMSE trên
10000 điểm dữ liệu được lấy mẫu ngẫu nhiên. Ba dòng hiển thị RMSE giữa
các hạt nhân Kgrad (màu đỏ) và Kcol (màu xanh) và Kshape (màu xanh lá cây) và
kernel gần đúng tương ứng của chúng.
Tính năng chiều hữu hạn cho gradient kernel là
, và có thể đƣợc sử dụng một cách hiệu
20
quả nhƣ các tính năng trên các bản vá hình ảnh. Kết quả đƣợc xác nhận nhƣ
trong hình 2.1. Kết quả nhƣ mong đợi, lỗi xấp xỉ giảm nhanh chóng khi tăng
kích thƣớc lƣới. Khi kích thƣớc lƣới lớn hơn 16, kernel hữu hạn và kernel ban
đầu hầu nhƣ không thể phân biệt đƣợc. Đối với hình dạng kernel trên các mẫu
nhị phân cục bộ, vì các biến là nhị phân, chúng ta chỉ cần chọn tập hợp tất cả các vectơ cơ sở 28 = 256 và do đó không có lỗi xấp xỉ nào đƣợc đƣa ra.
Tính năng nhỏ gọn. Mặc dù là chiều hữu hạn, nhƣng chiều có
thể tăng do sản phẩm Kronecker. Ví dụ, hãy xem xét bộ mô tả kernel hình
dạng: kích thƣớc của vectơ cơ sở trên kernel là 256; Nếu chúng ta chọn các
vectơ cơ sở của hạt nhân vị trí trên lƣới thông thƣờng 5 x 5, thì chiều của
mô tả nhân hình dạng kết quả Fshape sẽ là 256 x 25 = 6400, quá cao cho các
mục đích thực tế. Lấy mẫu thống nhất dày đặc dẫn đến xấp xỉ chính xác
nhƣng không đảm bảo tính trực giao của các vectơ cơ sở, do đó đƣa ra sự dƣ
thừa. Kích thƣớc của vectơ cơ sở có thể đƣợc giảm thêm bằng cách thực hiện
phân tích thành phần chính của kernel trên các vectơ cơ sở chung:
với là các vectơ cơ sở cho vị trí
kernel và là số lƣợng vectơ cơ sở. Thành phần chính của kernel -th có thể
đƣợc viết là:
(2.9)
trong đó và là kích thƣớc của vectơ cơ sở cho hạt nhân định
hƣớng và vị trí, và đƣợc học thông qua phân tích thành phần chính của hạt
nhân: với là một ma trận hạt nhân trung tâm với :
21
(2.10)
Nhƣ thể hiện trong hình 2.1, các kernel tƣơng ứng có thể đƣợc xấp xỉ
khá chính xác bằng cách sử dụng các vectơ cơ sở rút gọn của KPCA. Trong
khuôn khổ phân tích thành phần chính của kểnl, bộ mô tả kernel gradient có
dạng:
(2.11)
Tóm lại, việc trích xuất các bộ mô tả kernel là để đánh giá hàm kernel
giữa các pixel. May mắn thay, chúng ta có thể tính riêng hai giá trị hạt
nhân với chi phí + , thay vì . Bộ mô tả hạt nhân đắt nhất của chúng
ta, hạt nhân hình dạng, mất khoảng 4 giây trong MATLAB để tính toán trên
một hình ảnh điển hình (độ phân giải 300 x 300 và 16 x 16 bản vá hình ảnh
trên lƣới 8x8).
Đó là khoảng 1,5 giây cho bộ mô tả kernel gradient, so với khoảng 0,4
giây cho SIFT trong cùng một cài đặt. Việc triển khai dựa trên GPU hiệu quả
hơn chắc chắn sẽ giảm thời gian tính toán cho các bộ mô tả kernel sao cho các
ứng dụng thời gian thực trở nên khả thi.
2.3 Phƣơng pháp tra cứu lá cây sử dụng KDES cải tiến
Sơ đồ hệ thống tra cứu lá cây sử dụng KDES đƣợc trình bày trong hình
2.2. Hệ thống tra cứu lá cây đƣợc chia thành hai bƣớc lớn: Bƣớc 1 là biểu
diễn lá cây; bƣớc 2 là nhận dạng lá cây.
- Bước 1. Biểu diễn lá cây: Đầu vào là ảnh lá cây đã đƣợc tách khỏi
nền phức tạp sao cho ảnh chƣa toàn bộ lá cây, đồi thời chứa it nền nhất ( từ
22
nay gọi tắt là ảnh). Đầu ra là bộ mô tả ảnh lá cây (Vectơ đặc trƣng biểu diễn
ảnh lá cây). Bƣớc này đƣợc chia thành các bƣớc con sau đây:
Hình 2.2: Sơ đồ hệ thống nhận dạng lá cây sử dụng KDES
+ Trích chọn đặc trƣng mức điểm ảnh: ở mức này, một vectơ gradient
đƣợc tính cho mỗi điểm ảnh.
+ Trích chọn đặc trƣng mức patch: Ở mức này, đầu tiên chúng ta sinh
ra các tập patch, sau đó tính toán đặc trƣng mức patch. Chúng ta sử dụng các
patch với kích thƣớc thích nghi. Với cách sinh tập pacth với kích thƣớc thích
nghi, số lƣợng patch đƣợc sinh ra là nhƣ nhau với các ảnh có kích thƣớc
khác nhau. Phƣơng pháp này cũng giúp đặc trƣng mức patch it nhạy cảm
hơn đối với sự thay đổi của kích thƣớc ảnh. Với mỗi patch chúng ta tính toán
vectơ đặc trƣng nhƣ sau: với một patch, chúng ta tính một vectơ đặc trƣng
dựa trên phƣơng pháp đã nêu trong [5]. Cụ thể, trƣớc tiên chúng ta tính
hƣớng chính của patch, sau đó chuẩn hóa tất cả các vectơ gradient theo
hƣớng chính này. Việc chuẩn hóa này giúp véctơ đặc trƣng mức patch bất
biến với phép xoay.
23
+ Trích chọn đặc trƣng mức ảnh: Ở bƣớc này, các đặc trƣng mức
patch đƣợc kết hợp để tạo ra đặc trƣng mức ảnh bằng cách sử dụng một cấu
trúc Pyramid (Kim tự tháp). Với mỗi ảnh, véctơ đặc trƣng cuối cùng đƣợc
tính toán dựa trên các véctơ đặc trƣng ở mức thấp hơn sử dụng EMK
(Eficient Match Kernel [5]. Đầu tiên, chúng ta tính toán véctơ đặc trƣng cho
mỗi ô (cell) của cấu trúc Pyramid, sau đó nối các véctơ đặc trƣng của các ô
này lại với nhau để thu đƣợc véctơ đặc trƣng cuối cùng
- Bước 2: Nhận dạng lá cây: Ta đi tính khoảng cách từ ảnh truy vấn
đến các lớp. Sau khi lá cây đƣợc biểu diễn bởi một véctơ đặc trƣng, ta có thể
sử dụng một phƣơng pháp nào đó để tính toán khoảng cách từ ảnh truy vấn
đến các lớp. Ở đây chúng ta sử dụng máy véctơ hõ trợ nhiều lớp (Multi-class
support vector machine – MSVM)
Phần tiếp theo trình bày chi tiết các bƣớc tính toán véctơ đặc trƣng.
2.4 Biểu diễn ảnh lá cây
2.4.1 Tính toán đặc trƣng mức Pixel
Theo [5], một số đặc trƣng có thể đƣợc tính toán ở mức pixel, ví dụ nhƣ
giá trị pixel , kết cấu và gradient.
Với một ảnh đầu vào, đầu tiên, chúng ta đi tính toán véctơ gradient tại
mỗi điểm ảnh. Việc tính toán véctơ gradient đƣợc thực hiện theo cách tính
trong quá trình tính toán đặ trƣng SIFT Lowe (1999) [10]. Véctơ đặc trƣng tại
mỗi điểm ảnh z đƣợc xác định bởi hai thành phần: đó là độ lớn m(z) và hƣớng
θ(z). Trong [5], hƣớng đƣợc định nghĩa nhƣ công thức (2.2) sau:
2.4.2 Tính toán đặc trƣng mức patch
2.4.2.1 Sinh tập patch với kích thƣớc patch thích nghi
24
Trong [5], các patch có kích thƣớc cố định đối với tất cả các ảnh trong
cơ sở dữ liệu. Tuy nhiên trong thực tế, các ảnh đầu vào thƣờng có kích thƣớc
khác nhau. Với các file hình ảnh có kích thƣớc nhỏ thì số lƣợng các patch
đƣợc sinh ra cũng nhỏ, dẫn đến véctơ đặc trƣng thu đƣợc mang lại ít thông
tin. Hơn nữa, hai véctơ đặc trƣng của hai ảnh của cùng một lá cây ở hai kích
Hình 2.3: patch thích nghi với = = 8, do đó = = 9
thƣớc khác nhau có thể sẽ rất khác nhau. Vì vậy ta có thể thấy rằng véctơ đặc
trƣng tính toán bằng cách đƣợc trình bày trong [5] nhạy cảm với sự thay đổi
của kích thƣớc ảnh.
Hình 2.4 (a,b) minh họa vấn đề này. Hình 2.4(a) và hình 2.4 (b) là hai
ảnh của cùng một lá cây với hai kích thƣớc khác nhau. Ảnh trong hình 2.4(a)
nhỏ hơn ảnh trong hình 2.4 (b). Khi chúng ta sử dụng kích thƣớc patch cố
định bằng nhau là 16x16 và kích thƣớc ô lƣới cố định là 8x8, ảnh trong hình
2.4(b) thu đƣợc 77 patch trong khi đó ảnh trong hình 2.4(a) chỉ thu đƣợc 24
patch. Một patch trong hình 2.4(a) chứa nhiều thông tin thực tế hơn là một
patch trong hình 2.4(b). ta thấy rõ ràng rằng tập véctơ đặc trƣng mức patch
thu đƣợc từ hai ảnh ở hai hình 2.4 (a) và và 2.4(b) là rất khác nhau mặc dù đó
là ảnh của cùng một chiếc lá cây, thậm chí là cùng một ảnh khố, chỉ là kích
thƣớc hai ảnh khác nhau.
25
Hình 2.3 minh họa kỹ thuật sinh patch với kích thƣớc thích nghi. Giả sử
số lƣợng patch là x ( patch theo chiều ngang và patch
theo chiều dọc) Số ô lƣới x đƣợc xác định là
, . Với mỗi ảnh có kích thƣớc w × h thì chiều
và chiều dọc là ngang của ô lƣới thích nghi là
. Một patch thích nghi sẽ có kích thƣớc là
trong đó và
. Một patch đƣợc hình thành từ 4 ô lƣới. vùng
chồng lấn giữa 2 patch kế tiếp theo chiều dọc hoặc chiều ngang là một vùng
rộng 2 ô lƣới. Với cách sinh tập patch thích nghi này, kích thƣớc các patch tỷ
lệ thuận với kích thƣớc ảnh.
Hình 2.4(b) và 2.4(c) cho thấy ƣu điểm của kỹ thuật sinh patch thích
nghi. Khác với hình 2.4 (a,b), kỹ thuật sinh patch thích nghi khi áp dụng cho
Hình 2.4: Một số ví dụ minh họa patch cố định và patch thích nghi: (a,b)
hai ảnh của cùng một lá với kích thước khác nhau sinh ra hai tập patch với
26
kích thước patch cố định bằng nhau; (b,c): hai ảnh của cùng một lá với kích
thước ảnh khác nhau sinh ra hai tập patch với kỹ thuật sinh patch thích nghi.
hai ảnh ở hình 2.4(b,c), chúng ta thu đƣợc hai tập patch với số lƣợng bằng
nhau theo cả chiều ngang và chiều dọc. Hai ảnh trong hình 2.4(b,c) cũng là
hai ảnh của cùng một lá cây với kích thƣớc khác nhau. Ta có thể thấy nội
dung phần ảnh trong 1 patch của hình 2.4(b) tƣơng tự với nội dung trong một
patch của hình 2.4(c). Do đó tập véctơ đặc trƣng mức patch thu đƣợc từ ảnh
trong hình 2.4(b) và 2.4(c) tƣơng tự nhau. Điều đó khiến véctơ đặc trƣng mức
ảnh sẽ tƣơng tự nhau, tức là véctơ đặc trƣng thu đƣợc bất biến với sự thay đổi
kích thƣớc ảnh.
2.4.2.2 Tính toán véctơ đặc trƣng mức patch
Véctơ đặc trƣng mức patch đƣợc tính toán dựa trên ý tƣởng của các
phƣơng pháp kernel (kernel method). Từ một match kernel giữa hai patch,
chúng ta có thể trích rút véctơ đặc trƣng của patch sử dụng một ánh xạ xấp
xỉ đặc trƣng mức patch.
Gradient match kernel đƣợc xây dựng từ 3 kernel, đó là magnitude
kernel , orientation kernel và position kernel .
(2.12)
Trong đó P và Q là các patch của hai ảnh cần đối sánh. là tọa độ
điểm ảnh trên các patch P và Q . và tƣơng ứng là hƣớng gradient
tại các điểm ảnh trong các patch P và Q.
27
Sử dụng trực tiếp hƣớng gradient trong orientation kernel thì
vect đặc trƣng trích rút đƣợc ứng với match kernel sẽ không bất biến với
phép xoay. Do đó chúng ta chuẩn hóa hƣớng gradient trƣớc khi sử dụng trong
match kernel . Dựa trên ý tƣởng trong bộ mô tả SIFT Lowe (1999) [10] ,
chúng ta tính hƣớng chính của patch rồi chuẩn hóa tất cả các vect gradient
theo hƣớng chính này. Ta có thể sử dụng một trong hai cách để xác định
hƣớng chính của patch P. Cách thứ nhất là cách đƣợc sử dụng trong
Lowe (1999) [10]. Cách thứ hai là lấy hƣớng chính là hƣớng véctơ tổng của
tất cả các véctơ gradient trong patch. Khi đó, góc của các véctơ gradient tại
điểm ảnh trong patch P trở thành (2.13):
(2.13)
Sau đó, theo (2.2), hƣớng gradient sau khi chuẩn hóa sẽ là:
(2.14)
Cuối cùng, chúng ta xác định đƣợc gradient match kernel với hƣớng
gradient sau khi chuẩn hóa nhƣ sau:
(2.15)
Gradient magnitude kernel đƣợc xác định nhƣ sau (2.16):
(2.16)
Trong đó độ lớn véctơ gradient sau khi chuẩn hóa đƣợc xác định
nhƣ sau (2.17):
28
(2.17)
là độ lớn của véctơ gradient tại điểm ảnh Trong đó là hằng số,
. Ta thấy rằng gradient magnitude kernel là một kernel xác định dƣơng.
Cả hai kernel, orientation kernel và position kernel đều là
Gaussiankernel có dạng:
(2.18)
Hệ số γ sẽ đƣợc xác định riêng cho từng kernel ko và kp, đƣợc ký hiệu là
γo và γp .
Câu hỏi đặt ra là một match kernel thì làm thế nào để tính toán véctơ
đặc trƣng cho một patch? Gọi là ánh xạ đặc trƣng ứng với
gradient orientation kernel và position kernel . Khi đó công thức 2.15
đƣợc viết lại nhƣ sau:
(2.19)
trong đó Fgradient (P) là véctơ đặc trƣng của parth P, đƣợc xác định nhƣ
sau(2.20):
(2.20)
Sau đó, xấp xỉ véctơ đặc trƣng của patch P đƣợc xây dựng nhƣ sau
(2.21):
29
(2.21)
Với là Kronecker product, là xấp xỉ ánh xạ đặc
trƣng ứng cới các kernel ko và kp .
Xấp xỉ ánh xạ dặc trƣng đƣợc tính toán dựa trên một phƣơng pháp cơ
bản của KDES. Ý tƣởng cơ bản của việc biểu diễn dựa trên kernel method là
tính toán xấp xỉ ánh xạ đặc trƣng ứng với hàm kernel match, nhƣ hình (2.5):
Nói cách khác, các hàm kernel match đƣợc xấp xỉ dựa trên các ánh xạ
Hình 2.5: Ý tưởng cơ bản của việc biểu diễn dựa trên kernel method
đặc trƣng đƣợc tính toán tƣờng minh. Điều này cho phép áp dụng các phƣơng
pháp học hiệu quả dành cho các kernel tuyến tính trên các kernel phi tuyến.
Hƣớng tiếp cận này đƣợc giới thiệu trong [4] [5] [11] [12] [16].
Một trong những phƣơng pháp tính toán xấp xỉ đặc trƣng đƣợc trình
bày trong [4]. Cho một hàm match kernel k(x,y), ánh xạ đặc trƣng ứng
với kernel k(x,y) là một hàm thực hiện ánh xạ x vào không gian một véctơ:
(2.22)
30
Giả sử ta có hệ véctơ cơ sở, khi đó xấp xỉ của véctơ đặc trƣng
là trong đó đƣợc xác định nhƣ sau (2.23):
(2.23)
trong đó là ma trận biến đổi, là biểu diễn của
trên hệ véctơ cơ sở B.(2.23) là một bài toán quy hoạch toàn phƣơng lồi.
Nghiệm giải tích của (2.23) là (2,24):
( 2.24)
Xấp xỉ ánh xạ đặc trƣng là (2.25), [4]:
(2.25)
trong đó G đƣợc xác định bởi công thức(2.26):
(2.26)
trong đó KBB là ma trận D x D với {KBB}ij = k(vi,vj).kB là một véctơ D x 1 với
{kB}i = k(x,vi).
Với một tập đặc trƣng X= {x1,….,xp}, xấp xỉ ánh xạ đặc trƣng trên X
đƣợc xác định nhƣ sau (2.27):
(2.27)
Để tính toán xấp xiranhs xạ đặc trƣng, ta cần hệ véctơ cơ sở
. Hệ véctơ cơ sở B thu đƣợc bằng cách học trên một training
pool của các đặc trƣng F, {x1,…,xF}, bằng cách sử dụng CKSVD (constrained
kernel singular value decomposition, [4]).
31
Để tính toán xấp xỉ đặc trƣng trong công thức 2.21 từ
các match kernel, hệ véctơ tối thiểu cần đƣợc sinh ra bằng việc học. Hệ véctơ
cơ sở tối thiểu phải đƣớc học từ hệ véctơ cơ sở đầy đủ sử dụng KPCA (kernel
principal component analysis). Trong đó, hệ véctơ cơ sở đầy đủ thu đƣợc
bằng cách lấy mẫu đều và dày từ các vùng ảnh sử dụng một lƣới sao cho hệ
các véctơ cơ sở thu đƣợc giúp xấp xỉ một cách chính xác các match kernel.
Chúng ta sử dụng hệ véctơ cơ sở và các tham số của các match kernel đã
đƣợc học từ một tập con của cơ sở dữ liệu ảnh Imagenet đã đƣợc trình bày tại
[5].
và Gọi tập do véctơ cơ sở đã học đƣợc là
tập dp véctơ cơ sở là ứng với các kernel ko và kp.
trong đó xi là các véctơ gradient đã đƣợc lấy mẫu và dã đƣợc chuẩn hóa và yi
là các tọa độ trong patch 2D đã đƣợc chuẩn hóa.
Kronecker product làm cho véctơ đặc trƣng có số chiều lớn.
để giảm số chiều của , ta áp dụng KPCA lên tập véctơ cơ sở đã đƣợc
nối lại . Gọi thành phần thứ t học đƣợc thông qua
KPCA là , ta áp dụng theo[5], gradient kernel descriptor kết quả ứng với
match kernel trong (2.12) có dạng (2.28):
(2.28)
2.4.3 Tính toán đặc trƣng mức ảnh
Khi đặc trƣng mức patch đã đƣợc tính cho mỗi patch, công việc còn lại
là tính toán véctơ đặc trƣng cho toàn bộ ảnh. Theo Bo & Sminchisescu (2009)
32
[4], ta sử dụng một cấu trúc Pyramid bằng cách chia ảnh thành các ô bao gồm
các dòng và các cột ở một số layer (hình 2.6).
Để tính toán đặc trƣng của toàn bộ ảnh, đầu tiên chúng ta tính toán
véctơ đặc trƣng cho mỗi ô của cấu trúc pyramid sau đó ghép chúng lại để thu
đƣợc véctơ đặc trƣng cuối cùng của toàn bộ ảnh.
Để tính toán véctơ đặc trƣng cho mỗi ô, chúng ta sử dụng một phƣơng
pháp sinh véctơ dặc trƣng từ tập véctơ đặc trƣng mức patch của một vùng.
Phƣơng pháp này là một biến thể của phƣơng pháp BoW (Bag Of Word) sử
dụng các match kernel để đo độ tƣơng tác giữa hai đặc trƣng cục bộ. Một
phƣơng pháp cụ thể đƣợc trình bày chi tiết trong Bo&Sminchisescu(2009) [4]
Hình 2.6: Cấu trúc pyramid
sử dụng EMK (Efficient Match Kernels).
Gọi C là một ô chứa một tập các patch. Tập các patch này có một tập
các véctơ đắch trƣng mức patch tƣơng ứng:
X= {x1,….,xp} (2.29)
trong đó P là số patch của ô C.
33
Trong BoW, mỗi véctơ đặc trƣng mức patch của ảnh đƣợc coi nhƣ một
từ (word). Giả sử V={v1,…,vD} là từ điển ( một tập các từ). một véctơ đặc
trƣng mức patch đƣợc lƣợng tử hóa thành một véctơ chỉ báo nhị phân D
chiều:
(2.30)
trong đó ( ) đƣợc các định nhƣ sau:
(2.31)
trong đó . Véctơ đặc trƣng
của một ảnh đƣợc định nghĩa là một hitogram đã đƣợc chuẩn hóa:
(2.32)
trong đó |X| là lực lƣợng của tập X . Khi Bow cƣợc sử dụng cùng với một bộ
phân lớp tuyến tính, hàm match kernel là:
(2.33)
Ta ký hiệu độ tƣơng tự giữa hai véctơ đặc trƣng mức patch là x và y
(xem định nghĩa của ( ) trong công thức 2.30 và công thức 2.31):
(2.34)
34
Công thức 2.33 đƣợc viết lại nhƣ sau:
(2.35)
Ý nghĩa của công thức 2.34 là độ tƣơng tự giữa hai véctơ x và y là 1
nếu x và y đều cùng thuộc về một vung R(vi), và 0 nếu ngƣợc lại. Theo đó, hai
véctơ đặc trƣng mức patch có thể đƣợc quy về hai cụm (cluster) khác nhau
mặc dù hai véctơ đó rất gần nhau nhƣng lại đƣợc xem là hoàn toàn khác nhau
(xem hình 2.7). Trong hình 2.7, các điểm v1,…,v4 biểu diễn trung tâm các cụm
(các word), và điểm x,y,z là véctơ đặc trƣng mức patch. Ở đây, ta thấy hai
Hình 2.7: Nhược điểm của cách gán cứng [14]
nhƣợc điểm của cách gán cứng: (i) Trong cách gán cứng, độ tƣơng tự
giữa hai véctơ đặc trƣng mức patch y và z sẽ là 0. Có nghĩa là chúng khác
nhau hoàn toanfbowir vì chúng đƣợc gán vào hai word khác nhau mặc dù
chúng gần nhau trong không gian đặc trƣng mức patch; (ii) hai véctơ đặc
trƣng x và y cùng đƣợc gán vào một word v3 và không thể nhận ra rằng x gần
z hơn y cũng nhƣ không thể biết đƣợc thực tế là y gần z hơn x.Việc lƣợng tử
hóa này là một cách xấp xỉ rất thô của độ tƣơng tự trên thực tế giữa hai véctơ
đặc trƣng mức patch, 1 nếu đƣợc gán vào cùng một word và 0 nếu ngƣợc
35
lại.Cách gán cứng này có thể gây ra lỗi do sự thay đổi của véctơ đặc trƣng do
ảnh hƣởng của nhiễu, điều kiện chiếu sáng thay đổi, các biến đổi không tuyến
tính. Do đó chúng ta sẽ sử dụng cách gán mềm (“soft asignment”, đƣợc trình
bày trong [14]). Phƣơng pháp này dựa trên kỹ thuật kết hợp có trọng số các
word. Đây là một cải tiến trong việc matching các patch (so với việc gán
cứng). Thuật ngữ “soft asignment” mô tả một kỹ thuật mà ở đó trọng số đƣợc
gán cho các từ lân cận phụ thuộc vào khoảng cách giữa các véctơ đặc trƣng và
các trung tâm cụm.
Với ý tƣởng tƣơng tự, trong EMK, ( ) trong công thức 2.35 đƣợc
thay thế bằng hàm kernel liên tục ( ) giúp đo độ tƣơng tự giữa hai véctơ
đặc trƣng mức patch và một cách chính xác hơn. Khi đó hàm kernel trở
thành:
(2.36)
Giả sử rằng ( )là kernel hữu hạn chiều (xem Định nghĩa 1), khi đó
match kernel là:
(2.37)
Định nghĩa 1: (Kernel hữu hạn chiều[4]) Hàm kernel
được gọi là hữu hạn chiều nếu ánh xạ đặc trưng
là hữu hạn chiều.
Ánh xạ đặc trƣng trên tập véctơ đƣợc định nghĩa nhƣ sau:
36
(2.38)
Match kernel đƣợc viết lại nhƣ sau:
(2.39)
Véctơ đặc trƣng trên các tập patch đƣợc tính tƣờng minh. Sau đó
có thể áp dụng toàn bộ phân lớp tuyến tính vào các véctơ đặc trƣng đã đƣợc
tính toán. Trong 2.38, là ánh xạ đặc trƣng xấp xỉ (2.25) ứng với kernel
( ) với tập véctơ cơ sở đƣợc sinh ra bởi CKSVD [4].
Sau khi các véctơ ứng với mỗi ô đƣợc tính toán, ta ghép chúng lại để
tạo ra véctơ đặc trƣng mức ảnh. Cho một ảnh, gọi L là số layer. ở đây L=3. Số
ô ở layer thứ t trong layer l). Một patch đƣợc coi là thuộc một ô khi tâm của
patch đó thuộc vào ô. Ánh xạ đặc trƣng trên cấu trúc Pyramid là (2.40)
(2.40)
Trong công thức 2.40, là trọng số ứng với layer l.
Hình 2.6 minh họa cách tính toán đặc trƣng mwucs ảnh trên cấu trúc
pyramid.
Match kernel giữa 2 ảnh trên cấu truc pyramid sẽ là:
(2.41)
37
trong đó là ánh xạ đặc trƣng trên cấu trúc Pyramid :
(2.42)
Trong (2.42), trọng số ứng với layer l đƣợc xác định nhƣ sau:
(2.43)
Cuối cùng, chúng ta thu đƣợc véctơ đặc trƣng cho toàn bộ ảnh bằng cách
ghép tất cả các véctơ đặc trƣng của tất cả các ô trong lớp layer của cấu trúc
pyramid. Véctơ đặc trƣng này sẽ đƣợc đƣa vào bộ phận Multiclass SVM để
thu đƣợc xác xuất một mẫu thuộc về từng lớp. Kết quả tra cứu đƣợc đƣa ra
dựa trên việc sắp xếp theo giá trị xác xuất (thu đƣợc từ multiclass SVM)
2.5 Phân lớp ảnh lá cây
Có nhiều phƣơng pháp máy vectơ phân lớp nhƣ Hard Margin, Soft
Margin, Kernel....Các phƣơng pháp máy vectơ phân lớp đều đƣợc xây dựng
nhằm giải quyết bài toán Binary Classification, tức là bài toán phân lớp chỉ
với 2 classes. Việc này cũng tƣơng tự nhƣ Percetron Learning Algorithm hay
Logistic Regression. Các mô hình làm việc với bài toán có 2 classes còn đƣợc
gọi là Binary classifiers. Một cách tự nhiên để mở rộng các mô hình anyf áp
dụng cho các bài toán multi-class classification, tức là có nhiều lớp dữ liệu
khác nhau, là sử dụng nhiều Binary classifiers và các kỹ thuật nhƣ one-vs-one
hoặc one-vs-rest.
2.5.1 Máy véctơ hỗ trợ - SVM
Máy hỗ trợ vectơ hỗ trợ (SVM – viết tắt tiếng Anh support vector
machine) là một khái niệm trong thống kê và khoa học máy tính cho một tập
hợp các phƣơng pháp học có giám sát liên quan đến nhau để phân loại và
phân tích hồi quy. SMV dạng chuẩn dữ liệu vào và phân loại chúng vào hai
38
lớp khác nhau. Do đó SVM là một dạng thuật toán nhị phân. Với một bộ các
ví dụ luyện tập thuộc hai thể loại cho trƣớc, thuật toán luyện tập SVM xây
dựng mô hình SVM là một các biểu diễn các điểm trong không gian và lựa
chọn ranh giới giữa hai thể loại sao cho khoảng cách từ các ví dụ luyện tập tới
ranh giới là xa nhất có thể. Các ví dụ mới cũng đƣợc biểu diễn trong cùng một
không gian và đƣợc thuật toán dự đoán thuộc một trong hai thể loại tùy vào ví
dụ đó nằm ở phía nào của ranh giới.
Một máy vecto hỗ trợ xây dựng một siêu phẳng hoặc một tập hợp các
siêu phẳng trong một không gian nhiều chiều hoặc vô hạn chiều, có thể sử
đƣợc dụng cho phân loại, hồi quy, hoặc các nhiệm vụ khác. Một cách tự giác,
để phân loại tốt nhất thì các siêu phẳng nằm ở xa càng xa các điểm dữ liệu
của tất cả các lớp ( gọi là hàm lề) càng tốt, vì nói chung lề càng lớn thì sai số
tổng quát hóa của thuật toán phân loại càng bé.
Trong nhiều trƣờng hợp, không thể phân chia các lớp dữ liệu một cách
tuyến tính trong một không gian ban đầu đƣợc dùng để mô tả một vấn đề. Vì
vậy, nhiều khi cần phải ánh xạ các điểm dữ liệu trong không gian ban đầu vào
một không gian mới nhiều chiều hơn, để phân việc tách chúng trở nên dễ
dàng hơn trong không gian mới. Để việc tính toán đƣợc hiệu quả , ánh xạ sử
dụng trong thuật toán SVM chỉ đòi tích vô hƣớng của các vecto dữ liệu trong
không gian mới có thể đƣợc tính dễ từ các tọa độ trong không gian cũ. Tích
vô hƣớng này đƣợc xác định bằng một hạt nhân K (x,y) phù hợp. Một siêu
phẳng trong không gian mới đƣợc định nghĩa là tập hợp các điểm có tích vô
hƣớng với một vecto cố định trong không gian đó là một hằng số. Vecto xác
định một siêu phẳng sử dụng trong SVM là một tổ hợp tuyến tính của các
vecto dữ liệu luyện tập trong không gian mới với các .Với siêu phẳng lựa
chọn nhƣ trên, các điểm x trong không gian đặc trƣng đƣợc ánh xạ vào một
siêu phẳng là các điểm thỏa mãn:
39
(2.44)
Ghi chú rằng nếu K ( x,y) nhận giá trị ngày càng nhỏ khi y xa dần khỏi
x thì mỗi số hạng của tổng trên đƣợc dùng để đo độ tƣơng tác giữa x với
điểm tƣơng ứng trong dữ liệu luyện tập. Nhƣ vậy, tác dụng của tổng trên
chính là so sánh khoảng cách giữa điểm cần dự đoán với các điểm dữ liệu đã
biết. Lƣu ý là tập hợp các điểm x đƣợc ánh xạ vào một siêu phẳng có thể độ
phức tạp tùy ý trong không gian ban đầu, nên có thể phân tách các tập hợp
thậm chí không lồi trong không gian ban đầu.
Phân loại thống kê là một nhiệm vụ phổ biến trong học máy. Trong mô
hình học có giám sát, thuật toán đƣợc cho trƣớc một số điểm dữ liệu cùng với
nhãn của chúng thuộc một trong hai lớp cho trƣớc. Mục tiêu của thuật toán là
xác định xem một điểm dữ liệu mới sẽ thuộc về lớp nào. Mỗi điểm dữ liệu
đƣợc biểu diễn dƣới dạng một vector p-chiều, và ta muốn biết dữ liệu có thể
chia tách hai lớp dữ liệu bằng một siêu phẳng p -1. Đậy gọi là phân loại tuyến
tính. Có nhiều siêu phẳng có thể phân loại đƣợc dữ liệu. Một lựa chọn hợp lý
trong chúng là siêu phẳng có lề lớn nhất giữa hai lớp.
Năm 1995, Corinna Cortes và Vladimir N. Vapnik đề xuất một ý tƣởng
mới cho phép thuật toán gán nhãn sai cho một ví dụ luyện tập. Nếu không tồn
tại siêu phẳng nào phân tách đƣợc hai lớp giữ liệu, thì thuật toán lề mềm sẽ
chọn một siêu phẳng phân tách các ví dụ luyện tập tốt nhất có thể, và đồng
thời cực đại hóa khoảng cách giữa siêu phẳng với các ví dụ đƣợc gán đúng
nhãn.
Ƣu điểm của SVM:
40
Là một kỹ thuật phân lớp khá phỏ biến, SVM thể hiện đƣợc nhiều ƣu
điểm trong số đó có việc tính toán hiệu quả trên các tập dữ liệu lớn. có thể kể
thêm một số ƣu điểm của phƣơng pháp này nhƣ:
Xử lý trên không gian số chiều cao: svm là một công cụ tính toán hiệu
quả trong không gian chiều cao, cao trong đó đặc biệt áp dụng cho các bài
toán phân loại văn bản và phân tích quan điểm nơi chiều cao có thể cực kỳ
lớn.
Tiết kiệm bộ nhớ: nhớ do chỉ có một tập hợp con của các điểm đƣợc
sử dụng trong quá trình huấn luyện và ra quyết định thực tế cho các điểm dữ
liệu mới nên chỉ có những điểm cần thiết mới đƣợc lƣu trữ trong bộ nhớ khi
ra quyết định.
Tính linh hoạt- phân lớp lớp thƣờng là phi tuyến tính. khả năng áp
dụng kernel mới cho phép linh động giữa các phƣơng pháp tuyến tính và phi
tuyến tính từ đó khiến cho hiệu suất phân loại lớn hơn
Nhƣợc điểm của SVM:
Bài toán số chiều cao: trong trƣờng hợp số liệu thuộc tính (p) của tập
dữ liệu lớn hơn rất nhiều so với số lƣợng dữ liệu u(n) thì SVM cho kết quả
khá tồi.
Chƣa thể hiện rõ tính xác suất: việc phân lớp của svm chỉ là việc cố
gắng tách các đối tƣợng vào hai lớp đƣợc phân tách bởi siêu phẳng svm. điều
này chƣa giải thích đƣợc xác suất xuất hiện của một thành viên trong nhóm
nhƣ là thế nào. tuy nhiên hiệu quả của việc phân lớp có thể đƣợc xác định
dựa vào khái niệm margin từ điểm dữ liệu mới đến siêu phẩm phân lớp mà
chúng ta đã bàn luận ở trên.
41
SVM là một phƣơng pháp hiệu quả cho bài toán phân lớp dữ liệu. Nó
là một công cụ đắc lực cho các bài toán về xử lý ảnh, phân loại văn bản, Phân
tích quan điểm. Một yếu tố làm nên hiệu quả của SVM đó là việc sử dụng
kernel function khiến cho các phƣơng pháp chuyển không gian trở nên linh
hoạt hơn
2.5.2 Máy véctơ hỗ trợ nhiều lớp – MSVM
2.5.2.1 Từ Binary classification tới multi-class classification
Các phƣơng pháp Support Vector Machine đã đề cập (Hard Margin,
Soft Margin, Kernel) đều đƣợc xây dựng nhằm giải quyết bài toán Binary
Classification, tức bài toán phân lớp với chỉ hai classes. Việc này cũng tƣơng
tự nhƣ Percetron Learning Algorithm hay Logistic Regression vậy. Các mô
hình làm việc với bài toán có 2 classes còn đƣợc gọi là Binary classifiers. Một
cách tự nhiên để mở rộng các mô hình này áp dụng cho các bài toán multi-
class classification, tức có nhiều classes dữ liệu khác nhau, là sử dụng nhiều
binary classifiers và các kỹ thuật nhƣ one-vs-one hoặc one-vs-rest.
2.5.2.2 Xử lý dữ liệu ảnh
Để cho mọi thứ đƣợc đơn giản và có đƣợc một mô hình hoàn chỉnh,
chúng ta sẽ sử dụng phƣơng pháp sử dụng tính năng kỹ thuật đơn giản nhất:
lấy trực tiếp tất cả các pixel trong mỗi ảnh theo tiêu chuẩn hóa.
Ví dụ ứng dụng trong bộ cơ sở dữ liệu ảnh CIFAR-10
- Mỗi ảnh của CIFAR-10 đã có kích thƣớc giống nhau 32×32 pixel, vì
vậy việc đầu tiên chúng ta cần làm là kéo dài mỗi trong ba channels Red,
Green, Blue của bức ảnh ra thành một vector có kích thƣớc là 3×32×32=3072
- Vì mỗi pixel có giá trị là một số tự nhiên từ 0 đến 255 nên chúng ta
cần một chút chuẩn hóa dữ liệu. Trong Machine Learning, một cách đơn giản
42
nhất để chuẩn hóa dữ liệu là center data, tức làm cho mỗi feature có trung
bình cộng bằng 0. Một cách đơn giản để làm việc này là ta tính trung bình
cộng của tất cả các ảnh trong tập training để đƣợc ảnh trung bình, sau đó trừ
từ tất cả các ảnh đi ảnh trung bình này. Tƣơng tự, ta cũng dùng ảnh trung
bình này để chuẩn hoá dữ liệu trong validation set và test set.
Softmax Regression sử dụng Cross-entropy để ép hai véctơ các suất
bằng nhau, tức là ép phần tử tƣơng ứng với corect class trong véctơ xác suất
gần với 1, đồng thời, các phần tử còn lại trong véctơ đó gần với 0. Nói cách
khác, cách làm này khiến cho phần tử tƣơng ứng với corect class càng lớn
hơn so với các phần tử còn lại càng tốt. Trong khi đó, Multi-class SVM sử
dụng một chiến thuật khác cho mục đích tƣơng tự dựa trên score vector. Điểm
khác biệt là Multi-class SVM xây dựng hàm mất mát dựa trên định nghĩa của
biên an toàn, giống nhƣ Hard/Soft Margin. Multi-class SVM muốn thành
phần ứng với corect class của score véctơ lớn hơn các phần tử khác, không
những thế, nó còn lớn hơn một đại lƣợng gọi là biên an toàn.
2.5.2.3 Softmax Regression.
Chúng ta cùng xem lại mô hình Softmax layer
Hình 2.8: Mô hình Softmax Regression dưới dạng Neural network.
43
Trong hình 2.9 ở trên, dữ liệu trong lớp màu xanh lục đƣợc coi nhƣ
feature vector của dữ liệu. Với dữ liệu CIFAR-10, nếu ta coi mỗi feature là
giá trị của từng pixel trong ảnh, tổng số chiều của feature vector cho mỗi bức
ảnh là 32×32×3+1=3073, với 3 là số channels trong bức ảnh (Red, Green,
Blue). Qua ma trận hệ số W , dữ liệu ban đầu trở thành z=WTx. Lúc này, ứng
với mỗi một trong C classes, chúng ta nhận đƣợc một giá trị tƣơng ứng zi ứng
với class thứ i. Giá trị zi này còn đƣợc gọi là score của dữ liệu x ứng với class
thứ i.
Ý tƣởng chính trong Sofftmax Regression là đi tìm ma trận hệ số W,
mỗi cột của ma trận này ứng với một class, sao cho score vector z đạt giá trị
lớn nhất tại phần tử tƣơng ứng với class chính xác của nó. Sau khi mô hình đã
đƣợc trained, nhãn của một điểm dữ liệu mới đƣợc tính là vị trí của thành
phần score có giá trị lớn nhất trong score vector
Để huấn luyện trên tập các cặp (dữ liệu, nhãn), Softmax Regression sử
dụng hàm softmax để đƣa score vector về dạng phân phối xác suất có các
phần tử là dƣơng và có tổng bằng 1. Sau đó dùng hàm cross entropy để ép
vector xác suất này gần với vector xác suất thật sự của dữ liệu - tức one-hot
vector mà chỉ có đúng 1 phần tử bằng 1 tại class tƣơng ứng, các phần tử còn
lại bằng 0.
44
CHƢƠNG 3
THỰC NGHIỆM
3.1 Thu thập dữ liệu
Để bƣớc đầu xây dựng cơ sở dữ liệu lá cây, em đã tiến hành thu thập
hình ảnh lá cây của một số loài cây quý hiếm thuộc khu bảo tồn thiên nhiên
Na Hang, tỉnh Tuyên Quang. Dữ liệu hình ảnh chủ yếu đƣợc lấy tại khu bảo
tồn Bản Bung, xã Thanh Tƣơng huyện Na Hang tỉnh Tuyên Quang. Thời
gian thu thập dữ liệu hình ảnh đƣợc tiến hành vào tháng 5 năm 2018.
Các thông tin về cây thuốc đƣợc kế thừa từ các tài liệu có liên quan
nhƣ: Các bộ thực vật chí, đa dạng thực vật khu bảo tồn thiên nhiên Na Hang
tỉnh Tuyên Quang
3.1.1 Cơ sở dữ liệu hình ảnh
- Tổng số ảnh thu thập: 380
- Tổng số mẫu ảnh (ảnh lá cây ): 38
- Số lƣợng ảnh mỗi mẫu: 10
- Tổng số loài cây lấy đƣợc mẫu: 23
- Định dạng ảnh: JPG
- Độ phân giải camera: 9MP
- Kích cỡ ảnh nhỏ nhất (Width x Hight): 115x 122 pixels
- Kích cỡ ảnh lớn nhất (Width x Hight): 1000x 3792 pixels
45
3.1.2 Phƣơng pháp lấy mẫu hình ảnh lá cây:
Đối với mỗi cây, trên một cây thƣờng xuất hiện nhiều mẫu lá khác nhau
ở thời kì sinh trƣởng của lá khác nhau nhƣ lá non, lá già... Do đó, chúng ta sẽ
lựa chọn mẫu lá đặc trƣng nhất, phổ biến nhất, cụ thể nhƣ sau:
+ Đối với cây lá đơn: Với mỗi cây dùng để lấy mẫu, ta lựa chọn lá có
hình dạng bao gồm phiến lá, gân chính, gân phụ; Không bị sứt mẻ, bìa lá
không bị rách hoặc sâu ăn; Màu sắc lá mầu đậm nổi nhất của lá, thông thƣờng
là lấy lá thứ năm đến lá thứ mƣời của một cành tính từ búp của cảnh.
+ Đối với cây lá kép: Tƣơng tự đối với cây lá đơn, với mỗi mẫu lá cũng
tiến hành lựa chọn những phiến lá kép bao gồm phiến lá, gân chính, gân phụ;
Không bị sứt mẻ, bìa lá không bị rách hoặc sâu ăn; Màu sắc lá mầu đậm nổi
bật nhất tƣơng ứng với cây, thông thƣờng cũng là nhánh lá kép thứ năm đến
thứ mƣời trên một cành. Tuy nhiên, với mỗi nhánh lá kép có nhiều lá nhỏ thì
luôn chọn lá nhỏ trên đỉnh trên đỉnh của nhánh. Một số lá không thể lấy đƣợc
lá nhỏ thì chụp ảnh toàn bộ nhành lá.
Vì bài toán phân đoạn ảnh lá cây trong môi trƣờng tự nhiên với nền
phức tạp là bài toán khó với nhiều thách thức trong thị giác máy tính. Do đó,
các công trình nghiên cứu về nhận dạng hoặc tra cứu thực vật dựa trên hình
ảnh lá thƣờng dựa trên giả định rằng ảnh lá cây đƣợc chụp trên nền đơn giản.
Trong khuôn khổ của đề tài, dữ liệu lá cây thuốc đƣợc lấy hình ảnh của lá cây
đƣợc chụp trên nền đơn giản (màu trắng). Hình ảnh lá cây thuốc đƣợc thu
thập bằng điện thoại thông minh với camera sau có độ phân giải 9MP.
Do điều kiện có hạn về thời gian, khả năng di chuyển nên số lƣợng mẫu
lá cây thu thập đƣợc chỉ là 38, thuộc địa phận Bản Bung, xã Thanh Tƣơng,
huyện Na Hang, tỉnh Tuyên Quang.
46
Hình 3.1: Hình ảnh 38 mẫu lá cây đã thu thập được trong đề tài.
Dƣới đây là thông tin về một số loài cây thuốc xuất hiện trong cơ sở dữ
liệu đã thu thập đƣợc
47
Bảng 3.1: Danh sách mẫu thực vật trong cơ sở dữ liệu
ID Tên cây ID Tên cây
01 20 Cây Cà Lồ Cây Nghiến
02 21 Cây Hu Cây Lim
03 22 Cây Ô Dô Cây Lim (cả cành)
04 23 Cây Sổ Cây Lát
05 24 Cây Tăm Cây Phay
06 25 Cây Tăm (cả cành) Cây Nhội ( cả cành)
07 26 Cây Đinh (cả cành) Cây Nhội
08 27 Cây Đinh (lá đỉnh) Cây Vảy Ốc
09 28 Cây Đinh (lá cạnh đỉnh) Cây Vảy Ốc (cả cành)
10 29 Cây Đinh (lá giữa cành) Cây Lim Xẹt (cả cành)
11 30 Cây Đinh (lá cuống 1) Cây Lim Xẹt
12 31 Cây Đinh (lá cuống 2) Cây Vàng Anh
13 32 Cây Chăm Pa Cây Kẹn
14 33 Cây Cơi (cành) Cây lá đắng (9 lá)
15 34 Cây Cơi Cây lá đắng (9 lá) (cả cành)
16 35 Cây Đắng Cày Cây Trầm Hƣơng
17 36 Cây Dƣớng (lá già) Cây Trầm Hƣơng (lá đỉnh)
18 Cây Dƣớng (lá non) 37 Cây Trầm Hƣơng (lá nhánh)
19 Cây Húng rừng 38 Cây Sa Nhân
48
3.2 Tiền xử lý ảnh trong bộ cơ sở dữ liệu
Với hình ảnh lá cây thu thập đƣợc, công việc đầu tiên là xử lý ảnh nền
sao cho số lƣợng nền là it nhất. Mỗi mẫu lá cây lấy đƣợc đều sẽ đƣợc gán cho
1 ID là các số nguyên dƣơng, bắt đầu từ số 01 và tăng dần thên 1 đơn vị. Đối
với mỗi loại cây, ta tiến hành lấy 10 mẫu lá. Mỗi mẫu lá ta chụp một ảnh và
lƣu thành các file có tên đƣợc đặt theo thứ tự từ 1 đến 10. Các file này sẽ
đƣợc chia thành 02 thƣ mục: thƣ mục Huấn luyện: chứa 05 ảnh mỗi mẫu lá
cây dùng trong quá trình huấn luyện và đƣợc gán ID từ 01 đến 05; thƣ mục
Thử nghiệm: chứa 05 ảnh mỗi mẫu lá cây và cũng đƣợc gán ID từ 01 đến 05
dùng để thử nghiệm phƣơng pháp và đƣa ra kết quả.
Trong luận văn này, em chỉ áp dụng đối với ảnh lá cây trên nền đơn
giản, nên em sử dụng giải pháp tách lá tự động gồm 4 bƣớc nhƣ sau:
Hình 3.2. Phân đoạn ảnh tự động
Bƣớc 1: Sử dụng giải thuật phân đoạn vùng nổi bật (Salient Region
Segmentation) [1]. Đƣợc minh họa trong Hình 3.3.
49
Hình 3.3. giải thuật sử dụng Salient region segmentation
Với các thông số nhƣ sau:
Thực hiện phân đoạn Mean-Shift với -
(sigmaS, sigmaR, minRegion) = (7, 10, 20)
Vùng ảnh đƣợc lựa chọn thuộc đối tƣợng là vùng ảnh có -
Chuyển đổi ảnh từ không gian RGB sang Lab -
Hình 3.4. Sự chuyển đổi hai không gian màu RGB và Lab
50
- Tính giá trị là LAB trung bình của toàn ảnh
- Giá trị saliency của mỗi điểm ảnh đƣợc tính theo công thức
( ) ‖ ( )‖
Bƣớc 2: Áp dụng Finding Contours để tìm ra vùng có diện tích lớn
nhất là vùng chứa lá cây.
Bƣớc 3: Cắt bỏ cuống lá.
Theo nhƣ quan sát ta có thể thấy, phần cuống lá là vùng ảnh có kích
thƣớc rất mảnh nên ta có thể loại bỏ bằng cách sau:
- Tạo ra mặt nạ bằng cách chuyển ảnh màu sang ảnh nhị phân
- Sử dụng phép co ảnh nhị phân trên mặt nạ để loại bỏ đi cuống lá
Xét tập hợp A và tập hợp B (Phần tử cấu trúc), phép co ảnh nhị phân
của tập hợp A bởi phần tử cấu trúc B đƣợc kí hiệu A B và viết dƣới dạng
công thức nhƣ sau:
A B ={z | (B)Z A)
Phép co ảnh nhị phân của tập hợp A bởi phần tử cấu trúc B là tập
hợp các điểm z (z nằm ở tâm điểm của phần tử cấu trúc B) sao cho Bz là
tập con của A.
Hình 3.5. Co ảnh nhị phân
51
- Vì khi sử dụng phép co ảnh sẽ đồng thời loại bỏ đi một số đặc điểm
trên biên lá, nên cần tiếp tục sử dụng phép giãn ảnh với phần tử cấu trúc lớn
hơn.
Gọi A là ảnh gốc, B là một phần tử cấu trúc. Phép giãn nhị phân của
ảnh A với phần tử cấu trúc B đƣợc kí hiệu A B và chúng ta có thể biểu diễn
phép toán co ảnh dƣới dạng phép toán tổ hợp nhƣ sau:
* ,( ̂) - +
Phép giãn ảnh nhị phân của tập A bởi phần tử cấu trúc B là tập hợp của
các điểm z (z là tâm của phần tử cấu trúc B trên tập A) sao cho phản xạ của Bz
giao với tập A tại ít nhất một điểm.
Hình 3.6. Giãn ảnh nhị phân
- Áp dụng mặt nạ trên lên đối tƣợng để loại bỏ đi cuống lá.
Bƣớc 4: Chuẩn hóa hƣớng lá.
Sau khi đã tách đƣợc đối tƣợng ra khỏi nền, ta cần tính toán moment
theo đƣờng biên của lá để có thể xoay lá về một hƣớng chuẩn. Thuật toán
chuẩn hóa hƣớng lá đƣợc thực hiện theo các bƣớc sau:
- Bƣớc 1: chuyển đổi ảnh RGB sang ảnh đa mức xám rồi từ ảnh đa
mức xám đó chuyển sang ảnh nhị phân.
- Bƣớc 2: áp dụng bộ lọc Canny để tìm biên lá
52
- Bƣớc 3: tính toán các giá trị moment
- Bƣớc 3: tính toán hƣớng lá trong ảnh theo công thức
- Bƣớc 4: xoay ảnh về hƣớng dọc theo trục thẳng đứng
+ Xây dựng ma trận chuyển đổi T ( kích thƣớc 2x3) nhƣ sau:
Trong đó:
+ Công thức chuyển đổi trục tọa độ:
Trong đó: w, h là kích thƣớc cột, hàng của ảnh đầu ra.
+ Ảnh sau khi xoay trục sẽ đƣợc tính bằng công thức sau:
53
Hình 3.7. Chuẩn hóa hướng của lá cây. (a): Ảnh lá sau khi được phân
đoạn, chưa chuẩn hóa hướng, (b): Chuyển sang ảnh nhị phân, (c): Xác định
biên lá sử dụng bộ lọc Canny, (d): Ảnh đã được chuẩn hóa hướng.
3.3 Phƣơng pháp đánh giá
Để đánh giá hiệu năng của hệ thống tra cứu, em sử dụng hai độ đo đó là
độ thu hồi (recall) và độ chính xác (precision). Các số đo này đƣợc mƣợn từ
hệ thống tra cứu thông tin truyền thông. Đối với một truy vấn q, tập hợp các
ảnh trong cơ sở dữ liệu thích hợp với truy vấn q đƣợc kí hiệu là R(q) còn kết
quả tra cứu của truy vấn q đƣợc kí hiệu là Q(q).
Độ chính xác (precision) của việc tra cứu đƣợc định nghĩa là tỉ lệ những
kết quả thu đƣợc thực sự thích hợp với truy vấn:
( 3.1)
Độ thu hồi (Recall) là tỉ lệ những kết quả thích hợp do truy vấn trả lại:
(3.2)
Thông thƣờng phải có sự thỏa hiệp giữa hai số đo này bởi vì nếu muốn
tăng cƣờng số đo này thì lại phải chịu giảm số đo kia và ngƣợc lại. Trong các
hệ thống tra cứu điển hình thì độ thu hồi có xu hƣớng tăng lên khi số lƣợng
54
các kết quả thu đƣợc tăng lên trong khi đó thì độ chính xác dƣờng nhƣ lại bị
giảm đi.
Trong ngữ cảnh ứng dụng của hệ thống mà đề tài này hƣớng tới, với
mỗi truy vấn q, tập R(q) chỉ là một ảnh (mỗi mẫu là một loại) trong danh sách
các mẫu lá cây. Khi đó, tập Q(p) chỉ chứa duy nhất một hình ảnh thích hợp
với truy vấn q hoặc không chứa ảnh thích hợp nào. Với mỗi truy vấn, hệ
thống sẽ đƣa ra tập Q(q) gồm k ảnh đƣợc xếp theo mức độ thích hợp. Sau đó,
ngƣời dùng sẽ xem và lựa chọn những ảnh cùng với thông tin về loài cây thực
sự liên quan đến ảnh truy vấn.
Vì đặc thù của hệ thống ứng dụng mà đề tài hƣớng tới nhƣ trên, trong
luận văn này, bƣớc đầu em đánh giá với trƣờng hợp k=1. Khi đó, với mỗi truy
vấn q, ta có |Q(q)| = 1, R(q) = 1. Nếu ta có n truy vấn q1,..., qn thì độ chính
xác và độ thu hồi sẽ là:
(3.3)
3.4 Thử nghiệm và kết quả.
Với mỗi mẫu lá cây thuốc, ta có 10 ảnh với kích thƣớc khác nhau. Các
ảnh có kích thƣớc khác nhau phù hợp với thực tế khi hệ thống hoạt động bởi
vì ngƣời dùng sẽ chụp ảnh lá cây ở khoảng cách khác nhau. Chúng ta chia 10
ảnh thành 2 phần, mỗi phần 5 ảnh. Mỗi phần để xây dựng tập dữ liệu huấn
luyện, một phần để xây dựng bộ dữ liệu đánh giá. Để đánh giá phƣơng pháp
đã lựa chọn, em tiến hành thực hiện phƣơng pháp theo các bƣớc của giai đoạn
huấn luyện và giai đoạn kiểm thử sau:
55
Hình 3.8. Sơ đồ các khối chức năng của giai đoạn huấn luyện
Hình 3.9. Sơ đồ các khối chức năng của giai đoạn kiểm thử
Ta tiến hành thử nghiệm, đánh giá phƣơng pháp lựa chọn (Gradient -
KDES với patch thích nghi [13]) và so sánh với phƣơng pháp KDES gốc [5].
Với mức độ luận văn thạc sĩ của đề tài, chƣơng trình thử nghiệm mới
chỉ đƣợc lập trình để đánh giá trên cả tập ảnh dữ liệu và thử nghiệm nhằm so
sánh và đánh giá phƣơng pháp đƣợc lựa chọn là KDES, chứ chƣa có chƣơng
trình hay bản Demo thử nghiệm trên từng ảnh để so sánh với bộ cơ sở dữ liệu.
Để xử lý dữ liệu kết quả, trong đề tài luận văn này, em sử dụng Matlab
R2016a để xây dựng chƣơng trình kiểm tra và đƣa ra kết quả giúp cho việc
đánh giá phƣơng pháp đã đƣợc đề xuất
56
Hình 3.10: Một phần mã code chương trình
Trong bộ dữ liệu, Chƣơng trình sẽ lấy hình ảnh trong thƣ mục
HuanLuyen để trích trọn đặc trƣng theo trình tự: Tính toán đặc trƣng mức
Pixel, tính toán đặc trƣng mức Patch và tính toán đặc trƣng mức ảnh. với mỗi
phép tính toán đều sử dụng cấu trúc Pyramid để tính toán. Ở mức tính toán
đặc trƣng mức pixel, mỗi lần tính toán theo cấu trúc pyramid sẽ sử dụng 8
pixel vào trong tính toán tƣơng ứng với dòng lệnh: kdes_params.grid = 8; và
sử dụng kích thƣớc Patch là 16: kdes_params.patchsize = 16; và kích thƣớc
ảnh đầu vào nhỏ nhất là 80 và lớn nhất là 1600 pixel:data_params.minsize =
80; data_params.maxsize = 1600;
57
Hình 3.11: quá trình Huấn luyện của chương trình
Hình 3.12: Kết thúc quá trình huấn luyện
58
Hình 3.13: Tính toán số vòng lặp so sánh: Với bộ cơ sở dữ liệu
HuanLuyen gồm 190 ảnh , số vòng lặp được tính toán là 181.
Phân tích kết quả thu đƣợc từ ma trận nhầm lẫn
Hình 3.14: Hình ảnh ma trận nhầm lẫn của phương pháp KDES cải tiến
Toàn bộ kết quả đƣợc lƣu tại: results/Binh1_GradKDES_10.mat
59
Bảng 3.2: So sánh kết quả giữa KDES gốc và phương pháp lựa chọn
(KDES cải tiến).
Phƣơng pháp Precision = Recall
Gradient - KDES gốc 76.30%
Gradient - KDES cải tiến 96 %
Bảng 3.2 trình bày so sánh kết quả thử nghiệm giữa phƣơng pháp
KDES gốc và phƣơng pháp lựa chọn (KDES cải tiến). Ta thấy phƣơng pháp
lựa chọn đạt đƣợc độ chính xác 96% trong khi phƣơng pháp KDES gốc chỉ
đạt đƣợc độ chính xác 76.3%. Phƣơng pháp KDES gốc có độ chính xác thấp
hơn là do vectơ đặc trƣng bị ảnh hƣởng bởi sự thay đổi kích thƣớc ảnh.
Phƣơng pháp KDES cải tiến có véc tơ đặc trƣng bất biến với phép thu phóng
ảnh (dẫn đến kích thƣợc ảnh lá cây thu đƣợc thay đổi). Đồng thời, hiện nay số
lớp lá cây chƣa nhiều (38) và khá phân biệt; Ảnh lá cây đƣợc thu nhận trong
điều kiện nền đơn giản. Do đó, phƣơng pháp KDES cải tiến cho độ chính xác
cao trên tập dữ liệu hiện tại (96%). Khi số lớp lá cây tăng lên và khi điều kiện
thu nhận trong môi trƣờng tự nhiên với phông nền phức tạp, tƣ thế lá cây đa
dạng thì độ chính xác sẽ giảm và cần tiếp tục thử nghiệm, nghiên cứu.
Hình 3.15: Hình ảnh nhầm lẫn ma trận của phương pháp KDES gốc
60
Hình 3.16: Hình ảnh nhầm lẫn ma trân của phương pháp KDES Cải tiến
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN.
Những kết quả đạt đƣợc
Trong luận văn này, em đã tìm hiểu thực tế, phát hiện nhu cầu, nghiên
cứu, lựa chọn phƣơng pháp và thực nghiệm. Cụ thể, em đã thực hiện các
nhiệm vụ sau:
- Tìm hiểu thực tế và phát hiện nhu cầu nghiên cứu phát triển một hệ
thống tra cứu cây thuốc thuộc khu bảo tồn thiên nhiên Na Hang - Tuyên
Quang.
- Nghiên cứu khảo sát tổng quan về bài toán phân lớp, tra cứu thực vật
sử dụng thông tin hình ảnh nói riêng. Em cũng đã tìm hiểu một số nghiên cứu
trogn lĩnh vự thị giác máy tính có liên quan đến đề tài. Từ đó em đã lựa chọn
phƣơng pháp để áp dụng cho bài toán tra cứu ảnh lá cây. Phƣơng pháp đƣợc
lựa chọn là KDES cải tiến.
- Em đã bƣớc đầu thực hiện đƣợc việc thu thập dữ liệu hình ảnh cũng
nhƣ thông tin về một số loài cây thuộc khu bảo tồn thiên nhiên Na Hang, tỉnh
Tuyên Quang. Do điều kiện hạn chế về tài chính, cơ sở vật chất cũng nhƣ điều
61
kiện di chuyển, em mới chỉ thu thập đƣợc một số lƣợng có hạn mẫu ảnh lá cây
(38 mẫu ảnh trong đó có 23 loài)
- Do điều kiện về thời gian và khuôn khổ của Luận văn thạc sỹ, em mới
chỉ bƣớc đầu tiến hành thử nghiệm trên tập dữ liệu nhỏ để bƣớc đầu đánh giá
phƣơng pháp lựa chọ. Kết quả thử nghiệm cho kết quả tốt trên tập dữ liệu đã
thu thập.
Hƣớng phát triển tiếp theo
Những công việc trong đề tài mới chỉ là bƣớc đầu của quá trình nghiên
cứu phát triển một hệ thống tra cứu lá cây thuộc khu bảo tồn thiên nhiên Na
Hang. Trong tƣơng lai, để tiếp tục thực hiện và hoàn thiện hệ thống , chúng ta
cần thực hiện nhiều nhiệm vụ nghiên cứu phát triển tiếp theo. Trong đó có
một số nhiệm vụ chính cần thực hiện nhƣ sau:
- Tiếp tục thu thập dữ liệu hình ảnh cũng nhƣ thông tin chi tiết hơn về
các loài cây thuộc khu bảo tồn thiên nhiên Na Hang với số lƣợng lớn hơn,
điều kiện thu thập phù hợp với ứng dụng thực tế cuối cùng.
- Thử nghiệm phƣơng pháp lựa chọn treencow sở dữ liệu lớn hơn để
đánh giá và cải tiến nếu cần.Chúng ta cũng cần khảo sát, so sánh với những
phƣơng pháp mới trong lĩnh vực thị giác máy tính để cập nhật, lựa chọn
phƣơng pháp tốt hơn nếu có thể. Ví dụ nhƣ các phƣơng háp sử dụng Deep
learning.
- Nghiên cứu phát triển phƣơng pháp phân đoạn vùng ảnh lá cây để
tách vùng ảnh lá quan tâm ra khỏi ảnh chụp trong ứng dụng nền thực tế cuối
cùng khi ngƣời dùng sử dụng điện thoại di động để chụp ảnh trên thực địa.
- Nghiên cứu phát triển các phƣơng pháp tra cứu thông tin thực vật
không chỉ dựa vào hình ảnh lá cây nữa mà cho phép ngƣời dùng lựa chọn sử
dụng các bộ phận khác của cây với câu truy vấn mềm dẻo.
62
- Tích hợp hệ thống với đầy đủ các chức năng cho phép cập nhật, nâng
cấp cơ sở dữ liệu, thông tin một cách thuận lợi.
60
TÀI LIỆU THAM KHẢO
[1] Nguyễn Thị Hải, N.T.C.T.H.T.N.A.T., Đoàn Thị Phƣơng Lý (2015) Một
số kết quả điều tra, nghiên cứu về nguồn tài nguyên cây thuốc của đồng
bào dân tộc Cao Lan khai thác ở khu rừng đặc dụng Na Hang, tỉnh
Tuyên Quang. Tạp chí khoa học Đại học Tân Trào, 107-114.1
[2] A. Bhardwaj and M. Kaur, “A review on plant recognition and
classification,” Int. J. Eng. Trends Technol., 2013.
[3] Bhardwaj, A. & Kaur, M. (2013). A review on plant recognition and
classification techniques using leaf images. Int J Eng Trends Technol, 86 -
91. 3, 4
[4] Bo, L. & Sminchisescu, C. (2009). Efficient Match Kernel between Sets
of Features for Visual Recognition. NIPS, 19. 19, 20, 21, 22, 25
[5] Bo, L., Ren, X. & Fox, D. (2010). Kernel descriptors for visual
recognition. In NIPS, 244252. 4, 11, 12, 13, 14, 15, 19, 21, 39
[6] A. Bhardwaj and M. Kaur, “A review on plant recognition and
classification,” Int. J. Eng. Trends Technol., 2013.
[7] Cerutti, G., Tougne, L., Sacca, C., Joliveau, T., Mazagol, P.O.,
Coquin, D., Vacavant, A. et al. (2013). Late information fusion for
multimodality plant species identification. CLEF Working Notes. 10
[8] Guillaume Cerutti, J.M.A.V.D.C., Laure Tougne (2011). Guiding active
contours for tree leaf segmentation and identification. In Proceedings of
the Conference on Multilingual and Multimodal Information Access
Evaluation. 10, 11
61
[9] Le, T.L., Tran, D.T. & Pham, N.H. (2014). Kernel descriptor based plant
leaf identification. 4th International Conference on Image Processing
Theory, Tools and Applications. 10, 11
[10] Lowe, D.G. (1999). Object recognition from local scale-invariant
features. In ICCV , vol. 2, 11501157 vol.2. 14, 17
[11] Maji, S., Berg, A.C. & Malik, J. (2008). Classification using intersection
kernel support vector machines is efficient. In Computer Vision and
Pattern Recognition, 2008. CVPR 2008. IEEE Conference on, 1- 8. 19
[12] Maji, S., Berg, A.C. & Malik, J. (2013). Efficient classification for
additive kernel SVMs. IEEE transactions on pattern analysis and
machine intelligence, 35, 66-77. 19
[13] Nguyen, V., Le, T., Tran, T., Mullot, R. & Courboulay, V. (2015).
A new hand representation based on kernels for hand posture
recognition.In 2015 11th IEEE International Conference and Workshops
on Automatic Face and Gesture Recognition (FG), vol. 1, 1-6. 15, 39
[14] Philbin, J., Chum, O., Isard, M., Sivic, J. & Zisserman, A. (2008).
Lost in quantization: Improving particular object retrieval in large scale
image databases. 2008 IEEE Conference on Computer Vision and
Pattern Recognition, 1-8. iv, 24
[15] T.-L. Le, N.-D. Duong, V.-T. Nguyen, and H. Vu, “Complex
Background Leaf-based Plant Identification Method Based on Interactive
Segmentation and Kernel Descriptor,” in 2nd International Workshop on
Environmental Multimedia. In Conjunction with ACM Conference on
Multimedia Retrieval (ICMR) 2015., 2015.
62
[16] Vedaldi, A. & Zisserman, A. (2012). Efficient additive kernels via
explicit feature maps. IEEE transactions on pattern analysis and machine
intelligence, 34, 480-92. 19
[17] X.-F. W. G.-J. Z. Du J.-X., “Leaf shape based plant species recognition,”
Appl. Math. Comput., pp. 883–893, 2007.
[18] X.-F. Wang, D.-S. Huang, J.-X. Du, H. Xu, and L. Heutte,
“Classification of plant leaf images with complicated background,” Appl.
Math. Comput., vol. 205, no. 2, pp. 916–926, 2008.