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

Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9

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

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

Vũ Minh Đức

XÂY DỰNG HỆ THỐNG TÌM KIẾM ẢNH THEO
NỘI DUNG

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

HÀ NỘI - 2015


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

Vũ Minh Đức

XÂY DỰNG HỆ THỐNG TÌM KIẾM ẢNH THEO
NỘI DUNG

Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS. TS. Nguyễn Hải Châu

HÀ NỘI - 2015



LỜI CẢM ƠN
Lời đầu tiên, tôi xin bày tỏ lòng biết ơn chân thành đến các thầy cô giáo
trƣờng Đại học Công Nghệ, Đại học Quốc Gia Hà Nội nói chung và các thầy cô
trong bộ môn Hệ thống thông tin nói riêng. Trong suốt các năm học tập trong
trƣờng, các thầy cô không những tận tình truyền đạt kiến thức mà còn luôn động
viên giúp đỡ tôi trong học tập cũng nhƣ trong cuộc sống.
Đặc biệt, tôi muốn gửi lời cảm ơn sâu sắc đến thầy giáo, phó giáo sƣ, tiến sĩ
Nguyễn Hải Châu, ngƣời đã tận tình chỉ bảo, hƣớng dẫn tôi trong suốt quá trình
nghiên cứu và hoàn thiện luận văn tốt nghiệp.
Tôi cũng xin cảm ơn các bạn học viên cùng khóa, đã luôn cùng tôi nghiên cứu
và học tập, đã cho tôi những ý kiến đóng góp giá trị trong suốt thời gian học tập
cũng nhƣ trong quá trình nghiên cứu đề tài khóa luận tốt nghiệp.
Cuối cùng, tôi xin gửi lời cảm ơn sâu sắc đến gia đình và bạn bè, những ngƣời
luôn động viên giúp đỡ tôi vƣợt qua những khó khăn trong cuộc sống.
Hà Nội, ngày 21 tháng 5 năm 2015
Học viên

Vũ Minh Đức

i


LỜI CAM ĐOAN
Tôi xin cam đoan rằng các nội dung trong luận văn này là do tôi thực hiện dƣới sự
hƣớng dẫn trực tiếp của PGS. TS. Nguyễn Hải Châu. Mọi nội dung tham khảo dùng trong
luận văn đều đƣợc trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công
bố. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo tôi xin chịu hoàn toàn trách
nhiệm.


Hà Nội, ngày 21 tháng 5 năm 2015
Học viên

Vũ Minh Đức

ii


TÓM TẮT LUẬN VĂN
Trong các chủ đề thuộc lĩnh vực xử lý nhận dạng hình ảnh, tìm kiếm ảnh theo
nội dung là một bài toán đƣợc đặt ra để thay thế cho phƣơng pháp tìm kiếm ảnh
thông thƣờng dựa trên các từ khóa hoặc các mô tả của ảnh.
Tìm kiếm theo nội dung tức là bản thân bức ảnh sẽ đƣợc phân tích để phục vụ
cho việc tìm kiếm (chứ không dựa vào các từ khóa, các tag hoặc các mô tả của bức
ảnh). Nội dung của bức ảnh ở đây có thể là các đối tƣợng, kết cấu, hoặc các đặc
trƣng khác đƣợc trích xuất từ chính bức ảnh. Việc hệ thống tìm kiếm ảnh theo nội
dung đƣợc cho là ƣu việt hơn tìm kiếm theo từ khóa ở chỗ trên thực tế ngƣời dùng
có thể không tìm đƣợc đúng và đủ từ khóa để mô tả bức ảnh. Trong một số trƣờng
hợp cụ thể (ví dụ nhƣ tìm kiếm các bức ảnh giống nhau về nội dung nhƣng khác về
kích thƣớc và màu sắc hoặc tìm kiếm các bức ảnh có cùng một vật thể hoặc đối
tƣợng ngƣời tìm kiếm chƣa biết tên gọi), thậm chí phƣơng pháp tìm kiếm theo từ
khóa không thể áp dụng hiệu quả đƣợc. Khi đó áp dụng phƣơng pháp tìm kiếm theo
nội dung sẽ có thể hiệu quả hơn.
Do số lƣợng các yếu tố có thể xem là nội dung của một bức ảnh rất đa dạng
theo nhu cầu của từng ngƣời tìm kiếm nhƣng thời gian nghiên cứu và hoàn thành
luận văn có hạn nên tôi xin phép giới hạn lại. Nội dung của một bức ảnh trong luận
văn này sẽ xoay quanh khuôn mặt trực diện của ngƣời và các động vật có vú. Theo
đó hệ thống tìm kiếm theo nội dung ảnh đƣợc xây dựng sẽ trích rút các nội dung
nhƣ: một bức ảnh có xuất hiện khuôn mặt hay không, số lƣợng khuôn mặt xuất hiện
trong bức ảnh là bao nhiêu, danh tính của các khuôn mặt trong bức ảnh và bản thân

toàn bộ bức ảnh cũng coi là một nội dung đƣợc trích rút từ bức ảnh. Từ đó hệ thống
có thể tìm đƣợc các bức ảnh của ngƣời và động vật có vú, các bức ảnh trực diện của
cùng một ngƣời hoặc một con vật thuộc loài có vú, tìm đƣợc các bức ảnh có cùng
số lƣợng ngƣời hoặc số lƣợng động vật có vú, tìm đƣợc các ảnh có ngƣời và các
iii


động vật có vú giống hệt nhau nhƣng khác biệt về kích thƣớc và màu sắc. Để có thể
trích rút đƣợc những nội dung nhƣ vậy, luận văn tập trung nghiên cứu để giải quyết
hai bài toán. Bài toán đầu tiên là xác định vị trí khuôn mặt của ngƣời và vật. Từ đó
có thể đếm đƣợc số lƣợng và khoanh vùng đƣợc các khuôn mặt để tiến hành tiếp
bƣớc tiếp theo. Bài toán thứ hai là nhận diện các khuôn mặt đã đƣợc khoanh vùng
của bức ảnh đó với một tập các bức ảnh ngƣời dùng mong muốn tìm kiếm và chỉ ra
những bức ảnh
Bài toán đầu tiên – xác định vị trí khuôn mặt đã có rất nhiều cách tiếp cận để
giải quyết vấn đề tìm kiếm và khoanh vùng các nội dung là các đối tƣợng trong ảnh
nhƣ các phƣơng pháp xác định khuôn mặt theo mẫu nhị phân cục bộ (LBP) hoặc
phƣơng pháp xác định khuôn mặt theo đặc trƣng Haar… Các phƣơng pháp trên đều
có độ chính xác khá cao. Tuy vậy các phƣơng pháp này có một nhƣợc điểm đó là
yêu cầu một bộ dữ liệu huấn luyện lớn các khuôn mặt ngƣời. Việc chuẩn bị bộ dữ
liệu huấn luyện này tốn rất nhiều công sức, thời gian và chi phí nhân lực. Vì vậy
trong luận văn này đề xuất một phƣơng pháp kết hợp giữa thuật toán xác định
khuôn mặt dựa vào mẫu nhị phân cục bộ nhóm (MB-LBP) và phƣơng pháp học
máy bán giám sát. Phƣơng pháp này cho phép chỉ cần gán nhãn một số lƣợng nhỏ
dữ liệu huấn luyện kết hợp với lƣợng lớn dữ liệu huấn luyện không gán nhãn mà
mô hình xác định khuôn mặt cuối cùng vẫn đạt đƣợc độ chính xác gần với khi huấn
luyện với lƣợng lớn dữ liệu gán nhãn.
Bài toán thứ hai – nhận diện khuôn mặt sau khi đã khoanh vùng và tách đƣợc
các khuôn mặt trong ảnh, hệ thống sử dụng thuật toán nhận diện theo mẫu nhị phân
cục bộ (LBP. Do khuôn mặt của một ngƣời là khá đặc trƣng theo LBP nên số lƣợng

mẫu huấn luyện không cần nhiều. Thực tế chỉ cần một ảnh của một ngƣời hoặc
động vật có vú là có thể ngay lập tức nhận diện khá chính xác ngƣời hoặc vật đó.

iv


MỤC LỤC
LỜI CẢM ƠN ........................................................................................................................ i
LỜI CAM ĐOAN .................................................................................................................ii
TÓM TẮT LUẬN VĂN ..................................................................................................... iii
MỤC LỤC ............................................................................................................................ v
DANH MỤC CÁC CÔNG THỨC .....................................................................................vii
DANH MỤC CÁC HÌNH VẼ .......................................................................................... viii
DANH MỤC CÁC BẢNG BIỂU........................................................................................ ix
BẢNG CÁC CHỮ VIẾT TẮT ............................................................................................. x
CHƢƠNG 1: TỔNG QUAN ................................................................................................ 1
1.1.

Đặt vấn đề ........................................................................................................................................1

1.2.

Mục tiêu đề tài..................................................................................................................................2

1.3.

Đối tƣợng và phƣơng pháp nghiên cứu ............................................................................................3

1.4.


Cấu trúc khóa luận ...........................................................................................................................3

CHƢƠNG 2: CÁC THUẬT TOÁN NHẬN DẠNG KHUÔN MẶT ÁP DỤNG TRONG
HỆ THỐNG TÌM KIẾM ẢNH THEO NỘI DUNG. ........................................................... 6
2.1.

Thuật toán xác định vị trí khuôn mặt ...............................................................................................6

2.1.1. Một số thuật toán xác định vị trí khuôn mặt thƣờng gặp .............................................................6
2.1.2. Đặc trƣng theo mẫu nhị phân cục bộ (LBP) .................................................................................7
2.1.3. Các bộ phân lớp yếu và huấn luyện chồng tầng .........................................................................12
2.2.

Thuật toán học bán giám sát Bootstrapping ...................................................................................14

2.3. Thuật toán nhận diện khuôn mặt theo biểu đồ tần suất của mẫu nhị phân cục bộ (LBPH) ..............17
2.3.1. Sơ lƣợc về thuật toán Eigenfaces (các khuôn mặt đặc biệt) .......................................................17
2.3.2. Thuật toán nhận dạng khuôn mặt sử dụng biểu đồ tần suất của mẫu nhị phân cục bộ ...............18

CHƢƠNG 3: HỆ THỐNG TÌM KIẾM ẢNH THEO NỘI DUNG.................................... 21
3.1. Bộ công cụ OpenCV .........................................................................................................................21

v


3.2. Hệ thống tìm kiếm ảnh theo nội dung của ảnh. .................................................................................22
3.2.1. Các công cụ chuẩn bị dữ liệu .....................................................................................................22
3.2.2. Hệ thống tìm kiếm ảnh theo nội dung ........................................................................................26
3.2.3. Các hàm công cụ khác ................................................................................................................33


CHƢƠNG 4: KẾT QUẢ THỰC NGHIỆM ....................................................................... 34
4.1. Thí nghiệm 1: ....................................................................................................................................34
4.1.1. Mục đích thực nghiệm:...............................................................................................................34
4.1.2. Bố trí thí nghiệm: .......................................................................................................................34
4.1.3. Kết quả thí nghiệm: ....................................................................................................................36
4.2. Thí nghiệm 2: ....................................................................................................................................36
4.2.1. Mục đích thực nghiệm:...............................................................................................................36
4.2.2. Bố trí thí nghiệm: .......................................................................................................................36
4.2.3. Kết quả thí nghiệm .....................................................................................................................39
4.3. Thí nghiệm 3: ....................................................................................................................................40
4.3.1. Mục đích thí nghiệm: .................................................................................................................40
4.3.2. Bố trí thí nghiệm: .......................................................................................................................40
4.3.3. Kết quả thực nghiệm ..................................................................................................................42

CHƢƠNG 5: KẾT LUẬN .................................................................................................. 43
5.1. Các kết quả đạt đƣợc và hạn chế .......................................................................................................43
5.2. Các công việc trong tƣơng lai ...........................................................................................................45

Tài liệu tham khảo .............................................................................................................. 47

vi


DANH MỤC CÁC CÔNG THỨC
Công thức 2.1: Công thức tính LBP của một điểm ảnh ....................................................... 8
Công thức 2.2: Công thức của bộ phân lớp yếu ................................................................. 12
Công thức 2.3: Công thức tính bảng các trọng số của các mã nhị phân tại điểm ảnh p..... 13
Công thức 2.4: Công thức tính biểu đồ tần xuất của một ảnh ............................................ 18
Công thức 2.5: Công thức tính biểu đồ tần xuất của một ảnh chia nhỏ thành các vùng .... 18
Công thức 2.6: Công thức tính độ tƣơng giao của hai biểu đồ tần xuất ............................. 19

Công thức 2.7: Công thức thống kê Chi square của hai biểu đồ tần xuất .......................... 19

vii


DANH MỤC CÁC HÌNH VẼ

Hình 2.1: Các đặc trƣng Haar ............................................................................................... 7
Hình 2.2: Các đặc trƣng Haar mở rộng ................................................................................ 7
Hình 2.3: Hình minh họa cách tính LBP .............................................................................. 8
Hình 2.4: Hình minh họa cách chia vùng 3x3 của MB-LBP ............................................. 10
Hình 2.5: Hình minh họa các khuôn mặt sau khi áp dụng MB-LBP ................................. 11
Hình 2.7: các bƣớc của thuật toán nhận diện khuôn mặt ................................................... 20
Hình 3.1: Các bƣớc thực thi chuẩn bị dữ liệu huấn luyện xác định vị trí khuôn mặt ........ 23
Hình 3.2: Giao diện của công cụ chuẩn bị dữ liệu huấn luyện xác định vị trí khuôn mặt . 24
Hình 3.3: Các bƣớc thực thi của công cụ huấn luyện mô hình phân lớp xác định vị trí
khuôn mặt ........................................................................................................................... 25
Hình 3.4: Các bƣớc thực thi của tính năng tìm kiếm ảnh xuất hiện khuôn mặt ................. 26
Hình 3.5: Giao diện của tính năng tìm kiếm ảnh xuất hiện khuôn mặt .............................. 27
Hình 3.6: Các bƣớc thực thi của tính năng tìm kiếm các ảnh giống nhau nhƣng khác về
kích thƣớc và màu sắc ........................................................................................................ 28
Hình 3.7: Giao diện của tính năng tìm kiếm các ảnh giống nhau nhƣng khác về kích thƣớc
và màu sắc .......................................................................................................................... 29
Hình 3.8: Các bƣớc thực thi của tính năng tìm kiếm các ảnh có cùng số lƣợng ngƣời trong
ảnh ...................................................................................................................................... 30
Hình 3.9: Giao diện của tính năng tìm kiếm các ảnh có cùng số lƣợng ngƣời trong ảnh .. 31
Hình 3.10: Các bƣớc thực thi của tính năng tìm kiếm khuôn mặt giống khuôn mặt đã cho
............................................................................................................................................ 33
Hình 3.11: Giao diệncủa tính năng tìm kiếm khuôn mặt giống khuôn mặt đã cho............ 33
Hình 4.1: các bƣớc thực hiện thí nghiệm 1 ........................................................................ 35

Hình 4.2: các bƣớc thực hiện thí nghiệm 2 ........................................................................ 38
Hình 4.3: Các bƣớc thí nghiệm 3 ....................................................................................... 41

viii


DANH MỤC CÁC BẢNG BIỂU

Bảng 4.1: Kết quả thí nghiệm 1 ........................................................................................ 36
Bảng 4.2: Kết quả thí nghiệm 2 ........................................................................................ 39
Bảng 4.3: Kết quả thí nghiệm 3 ........................................................................................ 42

ix


BẢNG CÁC CHỮ VIẾT TẮT
Chữ
viết
tắt
SVM
PCA
LBP
MB-LBP
LBPH

Cách viết đầy đủ

Dịch nghĩa Tiếng Việt

Support Vector Machines

Principal Component Analysis
Local Binary Pattern
Multiscale Block – Local Binary
Pattern
Local Binary Pattern Histogram

Máy vector hỗ trợ
Phân tích thành phần chính
Mẫu nhị phân cục bộ
Mẫu nhị phân cục bộ nhóm
Biểu đồ tần suất của mẫu nhị phân
cục bộ

x


CHƢƠNG 1: TỔNG QUAN
1.1. Đặt vấn đề
Trong các chủ đề thuộc lĩnh vực xử lý nhận dạng hình ảnh, tìm kiếm ảnh theo
nội dung là một bài toán đƣợc đặt ra để thay thế cho phƣơng pháp tìm kiếm ảnh
thông thƣờng dựa trên các từ khóa hoặc các mô tả của ảnh.
Các hệ thống tìm kiếm ảnh thông thƣờng chủ yếu dựa vào các từ khóa. Các từ
khóa này có thể trong metadata của mỗi bức ảnh. Ngƣời dùng buộc phải nhập các
thông tin này bằng tay trƣớc khi đƣa vào hệ thống tìm kiếm. Hệ thống sẽ quét và
đánh chỉ mục các từ khóa trong metadata của các ảnh này để phục vụ tìm kiếm sau
này. Một phƣơng pháp khác có thể áp dụng với những ảnh vốn dùng để minh họa
cho các văn bản (nhƣ các ảnh trên các trang web). Ngƣời ta có thể coi nội dung của
văn bản đó có miêu tả nội dung bức ảnh hoặc có liên qua đến nội dung bức ảnh.
Nhƣ vậy các từ trong văn bản có thể dùng làm các từ khóa để tìm kiếm chính bức
ảnh đó.

Khác với phƣơng pháp tìm kiếm ảnh bằng từ khóa, tìm kiếm theo nội dung tức
là bản thân bức ảnh sẽ đƣợc phân tích để phục vụ cho việc tìm kiếm (chứ không
dựa vào các từ khóa, các tag hoặc các mô tả của bức ảnh). Nội dung của bức ảnh ở
đây có thể là các đối tƣợng, kết cấu, hoặc các đặc trƣng khác đƣợc trích xuất từ
chính bức ảnh. Việc hệ thống tìm kiếm ảnh theo nội dung đƣợc cho là ƣu việt hơn
tìm kiếm theo từ khóa ở chỗ trên thực tế không phải bức ảnh nào cũng có thông tin
metadata đầy đủ hoặc có văn bản kèm theo. Thậm chí văn bản kèm theo các bức
ảnh có thể không có liên quan đến nội dung bức ảnh. Nhƣ vậy ngƣời dùng sẽ nhận
đƣợc kết quả tìm kiếm sai từ hệ thống tìm kiếm dựa trên từ khóa. Ngoài ra, trong
nhiều trƣờng hợp ngƣời dùng không tìm đƣợc đúng và đủ từ khóa để mô tả bức
ảnh. Trong một số loại hình tìm kiếm ảnh cụ thể (ví dụ nhƣ tìm kiếm các bức ảnh
giống nhau về nội dung nhƣng khác về kích thƣớc và màu sắc hoặc tìm kiếm các
bức ảnh có cùng một vật thể hoặc đối tƣợng ngƣời tìm kiếm chƣa biết tên gọi) thậm

1


chí phƣơng pháp tìm kiếm theo từ khóa không thể áp dụng hiệu quả đƣợc. Khi đó
có thể áp dụng phƣơng pháp tìm kiếm theo nội dung.

1.2. Mục tiêu đề tài
Những vấn đề đã nêu ở trên cho ta thấy đƣợc sự cần thiết của việc nghiên cứu,
xây dựng một hệ thống tìm kiếm ảnh dựa vào chính nội dung của ảnh. Do số lƣợng
các yếu tố có thể xem là nội dung của một bức ảnh rất đa dạng theo nhu cầu của
từng ngƣời tìm kiếm nhƣng thời gian nghiên cứu và hoàn thành luận văn có hạn
nên tôi xin phép giới hạn lại. Nội dung của một bức ảnh đƣợc đề cập trong luận văn
này sẽ xoay quanh khuôn mặt trực diện của ngƣời và các động vật có vú. Theo đó
hệ thống tìm kiếm theo nội dung ảnh đƣợc xây dựng trong luận văn sẽ trích rút các
nội dung nhƣ: một bức ảnh có xuất hiện khuôn mặt hay không, số lƣợng khuôn mặt
xuất hiện trong bức ảnh là bao nhiêu, danh tính của các khuôn mặt trong bức ảnh và

bản thân toàn bộ bức ảnh cũng coi là một nội dung đƣợc trích rút từ bức ảnh.
Để trích rút đƣợc các nội dung trên từ một bức ảnh, luận văn sẽ nghiên cứu về
thuật toán cho phép xác định vị trí của một khuôn mặt chính diện của ngƣời hoặc
động vật có vú. Đề xuất phƣơng pháp chuẩn bị dữ liệu và huấn luyện mô hình học
máy sao cho chỉ cần một lƣợng nhỏ dữ liệu huấn luyện có gán nhãn (xác định vị trí
khuôn mặt thủ công) mà vẫn có thể cho phép huấn luyện một mô hình học máy xác
định đƣợc vị trí các khuôn mặt khá chính xác so với khi huấn luyện mô hình với
lƣợng dữ liệu huấn luyện gán nhãn lớn. Luận văn cũng nghiên cứu thuật toán học
máy cho phép nhận diện danh tính của các khuôn mặt (đã đƣợc xác định vị trí
trƣớc). Do đặc thù của việc nhận diện danh tính, thuật toán học máy này cần chạy
với tốc độ nhanh, dữ liệu huấn luyện nhỏ, thƣờng là một mẫu huấn luyện và kết quả
cần cho ra những khuôn mặt giống với khuôn mặt đã huấn luyện.
Từ cơ sở giải quyết đƣợc hai bài toán xác định vị trí khuôn mặt và nhận diện
danh tính của khuôn mặt luận văn xây dựng một hệ thống tìm kiếm ảnh có thể tìm
đƣợc các bức ảnh của ngƣời và động vật có vú, các bức ảnh trực diện của cùng một

2


ngƣời hoặc một con vật thuộc loài có vú, tìm đƣợc các bức ảnh có cùng số lƣợng
ngƣời hoặc số lƣợng động vật có vú, tìm đƣợc các ảnh có ngƣời và các động vật có
vú giống hệt nhau nhƣng khác biệt về kích thƣớc và màu sắc.

1.3. Đối tƣợng và phƣơng pháp nghiên cứu
Đối tƣợng nghiên cứu của luận văn là nghiên cứu các đặc trƣng của khuôn mặt
ngƣời và các động vật có vú thể hiện trên các bức ảnh, lựa chọn các đặc trƣng quan
trọng để có thể sử dụng trong các bộ phân lớp học máy. Luận văn cũng nghiên cứu
cách thức để có thể sử dụng đƣợc các bộ phân lớp học máy giám sát có độ chính
xác cao (vốn cần rất nhiều dữ liệu huấn luyện gán nhãn thủ công) mà chỉ cần một
bộ dữ liệu gán nhãn nhỏ.

Phƣơng pháp nghiên cứu là dựa vào bộ công cụ xử lý ảnh OpenCV có sẵn để
xây dựng một công cụ cho phép khảo sát, thực nghiệm và cài đặt đƣợc một hệ
thống tìm kiếm ảnh xoay quanh khuôn mặt ngƣời và động vật có vú. Tuy vậy,
phƣơng pháp đƣợc trình bày có thể áp dụng để xây dựng các mô hình phân lớp cho
phép xác định các nội dung liên quan đến các các vật thể khác nhƣ logo của các
công ty hoặc các đồ vật khác ...

1.4. Cấu trúc khóa luận
Khóa luận đƣợc tổ chức thành các chƣơng nhƣ sau:
 Chƣơng 1: Mở đầu
Chƣơng này nhằm nêu bật sự cần thiết, ý nghĩa thực tiễn, đối tƣợng,
phƣơng pháp nghiên cứu, mục tiêu của đề tài xây dựng hệ thống tìm kiếm
ảnh theo nội dung của bức ảnh.
 Chƣơng 2: Các thuật toán nhận dạng khuôn mặt áp dụng trong hệ
thống tìm kiếm ảnh theo nội dung.
Chƣơng này nêu lên các thuật toán học máy có giám sát đƣợc áp dụng
để tìm kiếm và nhận dạng khuôn mặt ngƣời và động vật có vú. Từ đó, dựa

3


vào các thuật toán này để giải quyết bài toán tìm kiếm ảnh theo nội dung
trong ảnh.

4


Chƣơng này cũng đề xuất phƣơng pháp huấn luyện bán giám sát
Bootstrapping và cách thức kết hợp nó với các thuật toán học máy có giám
sát để xác định vị trí các đối tƣợng trong bức ảnh với một bộ dữ liệu huấn

luyện gán nhãn nhỏ.
 Chƣơng 3: Hệ thống tìm kiếm ảnh theo nội dung
Chƣơng này giới thiệu sơ lƣợc về hệ thống tìm kiếm ảnh theo nội dung.
Các thƣ viện sử dụng, cấu trúc chƣơng trình, và cách thức áp dụng các thuật
toán vào bài toán tìm kiếm ảnh theo nội dung của ảnh.
 Chƣơng 4: Kết quả thực nghiệm
Chƣơng này nêu kết quả thực nghiệm. So sánh kết quả khi chỉ dùng dữ
liệu huấn luyện ban đầu của các thuật toán học có giám sát và sau khi đã kết
hợp với thuật toán học bán giám sát Bootstrapping để tăng độ chính xác.
 Chƣơng 5: Kết luận
Chƣơng này nêu lên và đánh giá những kết quả đã đạt đƣợc, đồng thời
đƣa ra những công việc cần làm trong tƣơng lai để cải tiến hệ thống tìm kiếm
ảnh theo nội dung.

5


CHƢƠNG 2: CÁC THUẬT TOÁN NHẬN DẠNG KHUÔN
MẶT ÁP DỤNG TRONG HỆ THỐNG TÌM KIẾM ẢNH
THEO NỘI DUNG.
2.1.

Thuật toán xác định vị trí khuôn mặt

2.1.1. Một số thuật toán xác định vị trí khuôn mặt thƣờng gặp
Xác định vị trí của một vật thể nói chung và khuôn mặt nói riêng là một chủ
đề đã đƣợc nghiên cứu rất nhiều trên thế giới. Đã có rất nhiều cách tiếp cận, thuật
toán đƣợc đƣa ra để có thể xác định chính xác vị trí của khuôn mặt trong một bức
ảnh hay một đoạn video. Một trong những cách tiếp cận đó là sử dụng cửa sổ trƣợt
để tìm kiếm các khuôn mặt trong một bức ảnh. Một cửa sổ trƣợt sẽ trƣợt lần lƣợt

qua những vùng khác nhau của bức ảnh. Mỗi lần trƣợt, bộ phân lớp sẽ đánh giá
xem cửa sổ đó có phải là một khuôn mặt hay không. Bộ phân lớp sử dụng ở đây có
thể là SVM (Máy vector hỗ trợ - Support Vector Machines), Mạng nơ ron (Neural
Netwworks), bộ phân lớp Bayes (Bayesian) hoặc mô hình Markov ẩn (Hiden
Markov Models). Trong đó có một vài cách tiếp cận nổi tiếng đƣợc để cập dƣới
đây.
Turk và Pentland đã đề xuất sử dụng PCA (phân tích thành phần chính –
Principal Component Analysis) để huấn luyện các ảnh khuôn mặt và sử dụng
eigenfaces (các khuôn mặt đặc biệt) làm các mẫu. Một khuôn mặt ngƣời sẽ đƣợc
coi là gần giống khuôn mặt mẫu 1, hơi giống khuôn mặt mẫu 2, hoặc hơi khác
khuôn mặt mẫu 3. Bộ phân lớp sẽ tính toán sự tƣơng đồng của một vùng ảnh (lấy
bởi cửa sổ trƣợt) với các mẫu khuôn mặt và từ đó quyết định đƣợc vùng ảnh đó có
phải một khuôn mặt hay không.
Viola và Jones thay vì sử dụng các thông tin của từng điểm ảnh, họ đề xuất
phƣơng pháp sử dụng một đại diện ảnh mới và một tập các đặc trƣng đơn giản trích
rút từ ảnh đại diện đó. Các đặc trƣng đó gọi là các đặc trƣng Haar. Các đặc trƣng

6


này đƣợc tính toán bằng cách cộng các điểm ảnh trong vùng sáng và trừ đi các
điểm ảnh trong vùng tối của ảnh.

Hình 2.1: Các đặc trƣng Haar

Tập các đặc trƣng đƣợc tạo lập bằng cách biến đổi kích thƣớc và vị trí của mỗi
loại đặc trƣng Haar. Các đặc trƣng sau đó đƣợc lựa chọn. Mỗi đặc trƣng sẽ đƣợc
huấn luyện trên tập các mẫu ảnh là các khuôn mặt hoặc các hình không phải khuôn
mặt (hay gọi là các hình nền). Sau quá trình huấn luyện, ngƣời ta sẽ chọn đặc trƣng
có số lƣợng kết quả nhận dạng sai là thấp nhất.

Lienhart et al. đề xuất mở rộng các đặc trƣng Haar, thêm vào các thuộc tính bị
xoay một góc 45 độ và ghi nhận sự cải thiện về độ chính xác của bộ phân lớp dựa
trên các đặc trƣng Haar.

Hình 2.2: Các đặc trƣng Haar mở rộng

2.1.2. Đặc trƣng theo mẫu nhị phân cục bộ (LBP)
2.1.2.1. Mẫu nhị phân cục bộ nguyên bản
Mẫu nhị phân cục bộ nguyên bản sẽ tính toán chuỗi nhị phân cho mỗi điểm
ảnh của bức ảnh. Tại một vị trí điểm ảnh (xc, yc), chuỗi nhị phân đặc trƣng cho
điểm ảnh này sẽ đƣợc tính toán bằng cách so sánh giá trị cấp độ xám của nó với 8
điểm ảnh lân cận xung quanh nó (ma trận 3x3 với điểm ảnh đang cần tính nằm ở
trung tâm).

7


Công thức tính toán nhƣ sau:
7

𝑠 𝑖𝑛 − 𝑖𝑐 2𝑛

𝐿𝐵𝑃 𝑥𝑐 , 𝑦𝑐 =

(2.1)

𝑛 =0

Công thức 2.1: Công thức tính LBP của một điểm ảnh


Với ic là giá trị độ xám của (xc, yc), in là giá trị độ xám của điểm ảnh (xn, yn) lân
cận của (xc, yc).
Hàm s(x) đƣợc định nghĩa nhƣ sau:
𝑠 𝑥 =

1 𝑛ế𝑢 𝑥 ≥ 0
0 𝑛ế𝑢 𝑥 ≤ 0

Ta có thể minh họa cách tính giá trị chuỗi nhị phân LBP (điểm có giá trị xám
là 57 ở
giữa ma trận) nhƣ sau:
83 82 63
38 57 46
28 19 23
1 1 1
0
0
0 0 0

11100000

Hình 2.3: Hình minh họa cách tính LBP

Ta có thể thấy nếu độ sáng thay đổi đồng đều thì trong lân cận cục bộ, thứ tự
của các điểm ảnh đƣợc bảo toàn. Nhƣ vậy, LBP cho phép miêu tả cục bộ rất tốt cho
từng điểm ảnh của bức ảnh.
Tuy vậy, do giá trị cấp xám ở đây đƣợc lấy trên từng điểm ảnh nên bị ảnh
hƣởng rất nhiều bởi nhiễu. Hơn nữa các ma trận nhỏ 3x3 chỉ đại diện cho từng
điểm ảnh chứ khó có thể sử dụng thông tin này để đại diện cho một vùng ảnh. Mặt
khác, số lƣợng các điểm ảnh trong một bức ảnh là rất lớn nên nếu sử dụng thông tin

của từng điểm ảnh để sử dụng làm các đặc trƣng trong mô hình phân lớp thì sẽ ảnh
hƣởng rất lớn đến tốc độ huấn luyện và tốc độ phân lớp trên thực tế.
8


9


2.1.2.2. Mẫu nhị phân từng vùng cục bộ (MB-LBP)
Khác với LBP nguyên bản, MB-LBP không sử dụng trực tiếp giá trị cấp độ
xám của từng điểm ảnh. Thay vào đó, các điểm ảnh đƣợc chia thành từng vùng.
Tùy theo lựa chọn mà mỗi vùng này có thể là các ma trận 3x3, 5x5, 7x7,… Trong
đó mỗi vùng có một giá trị cấp độ xám đại diện là giá trị trung bình của tất cả các
điểm ảnh trong vùng đó. Tiếp theo, ta coi mỗi vùng này là một điểm ảnh nhƣ trong
phƣơng pháp tính LBP nguyên bản. Giá trị LBP bây giờ sẽ đại diện cho từng vùng
ảnh chứ không đại diện cho từng điểm ảnh nhƣ trƣớc nữa.

9

3

2

3

6

3

7


9

1

Hình 2.4: Hình minh họa cách chia vùng 3x3 của MB-LBP

Do lấy giá trị trung bình của cả vùng nên thông tin LBP có thể đại diện cho
cả một vùng ảnh thay vì từng điểm ảnh nhƣ trƣớc. Độ nhạy cảm với nhiễu cũng
giảm đi nhiều. Các thông tin mang tính quá cục bộ bị loại bỏ nhƣng vẫn giữ lại các
giá trị cần thiết để có thể đại diện cho các vùng ảnh. Hình sau minh họa các bức
ảnh sau khi đã chia thành từng vùng và tính giá trị cấp độ xám trung bình của từng
vùng.

10


Hình 2.5: Hình minh họa các khuôn mặt sau khi áp dụng MB-LBP

(a1) (a2) là các ảnh gốc, (b1) (b2) là ảnh tính giá trị trung bình từng vùng 3x3, (c1)
(c2) là ảnh tính giá trị trung bình của từng vùng 9x9

Do phƣơng pháp tính giá trị MB-LBP của các vùng giống nhƣ cách tính giá
trị LBP nên ta có thể thấy mỗi vùng đƣợc đại diện bằng một chuỗi nhị phân 8 bit.
Tổng số lƣợng các chuỗi nhị phân có thể xuất hiện là 28 = 256. Ta có thể lập đƣợc
biểu đồ tần xuất xuất hiện của 256 chuỗi nhị phân này và do đó có thể sử dụng
chúng làm đặc trƣng để nhận dạng một ảnh có phải là ảnh của một khuôn mặt hay
không.
Tuy vậy nếu sử dụng cả 256 chuỗi nhị phân làm đặc trƣng thì sẽ làm tốc độ
huấn luyện và phân lớp rất chậm do số lƣợng đặc trƣng quá nhiều. Hơn nữa không

phải chuỗi nhị phân nào cũng chứa các thông tin cần thiết để phân lớp. Ta sẽ cần có
phƣơng pháp để loại bỏ bớt các chuỗi nhị phân
Giống nhƣ phƣơng pháp sử dụng LBP làm các đặc trƣng phân lớp ảnh, MBLBP cũng sử dụng khái niệm mẫu đồng nhất của các mẫu nhị phân để giảm bớt số
lƣợng các đặc trƣng của bộ phân lớp. Với toán tử LBP 3x3, Ojala đã chứng minh
đƣợc rằng 58 cột cao nhất trong biểu đồ tần xuất tƣơng ứng với N = 58 chuỗi nhị
phân đồng nhất có ý nghĩa trong việc phân lớp khuôn mặt.

11


Theo đó ta chỉ cần để ý tới LBP của các chuỗi nhị phân l sau:
𝐿=

𝑙|𝑅𝑎𝑛𝑘 𝐻 𝑙 < 𝑁
𝑅𝑎𝑛𝑘[𝐻 63 ]||𝑅𝑎𝑛𝑘 𝐻 𝑙

≥𝑁

Trong đó Rank[H(l)] là thứ tự của giá trị tần xuất xuất hiện của l trong biểu
đồ tần xuất. N = 58.
Tuy vậy, với MB-LBP, do mỗi chuỗi nhị phân không chỉ đại diện cho một
điểm ảnh mà đại diện cho một vùng nên ta cần lấy một giá trị khác của N. Liao đã
chứng minh rằng với N = 63, các giá trị MB-LBP của các chuỗi nhị phân l xác định
theo công thức trên sẽ thể hiện tốt nhất thông tin của bức ảnh. Các chuỗi nhị phân
có tần xuất xuất hiện lớn hơn N = 63 sẽ coi nhƣ có cùng giá trị chuỗi nhị phân là N
= 63.
2.1.3. Các bộ phân lớp yếu và huấn luyện chồng tầng
2.1.3.1. Các bộ phân lớp yếu
Một bộ phân lớp yếu hp(x) chứa một bảng 63 giá trị là trọng số của các chuỗi
nhị phân tƣơng ứng. 63 giá trị này có liên kết với vùng ảnh có vị trí p. Cho một ảnh

là đầu vào của bộ phân lớp yếu hp(x), tại vị trí p, đầu ra của hp(x) là giá trị của trọng
số tƣơng ứng với mã nhị phân x. Hn(X) là bộ phân lớp tổng hợp của tầng n:
𝐻𝑛 𝑋 =

𝑕𝑝 𝑥

(2.2)

𝑝 ∈ 𝑊𝑛

Công thức 2.2: Công thức của bộ phân lớp yếu

Trong đó, Wn là tập các điểm ảnh của tầng n.
2.1.3.2. Huấn luyện chồng tầng
Ý tƣởng của huấn luyện và phân lớp chồng tầng là bộ phân lớp sẽ là tổng
hợp của nhiều bộ phân lớp yếu (nhiều tầng). Trong đó xác suất phân lớp chính xác
của các bộ phân lớp yếu này chỉ cần tốt hơn so với việc phân lớp theo kiểu ngẫu
nhiên. Do vậy các bộ phân lớp yếu sẽ chỉ cần rất đơn giản và việc xây dựng nên các

12


bộ phân lớp yếu này không yêu cầu phải tính toán phức tạp. Tuy vậy kết quả cuối
cùng, bộ phân lớp tổng hợp từ nhiều tầng sẽ cho một kết quả rất chính xác.
Khi huấn luyện, thuật toán huấn luyện sẽ chọn ra những bộ phân lớp yếu
(tầng) sao cho kết quả phân lớp của bộ phân lớp yếu đó có lƣợng kết quả sai là ít
nhất. Ở đây ta đang phân lớp các ảnh là ảnh của một khuôn mặt hay không vì vậy
thuật toán sẽ chọn ra những vị trí vùng ảnh và và bảng các giá trị trọng số của các
mã nhị phân tƣơng ứng với vùng ảnh đó (nhƣ đề cập ở trên).
Cụ thể thuật toán nhƣ sau:

Với mỗi bộ phân lớp yếu (tầng) n, số lƣợng Pn của tập các vùng ảnh thuộc
Wn là cố định. Số vòng lặp huấn luyện Tn cũng cố định.
Với mỗi vòng lặp t, bảng Lppos và Lpneg đƣợc gán cho mỗi vùng ảnh của Wn.
Sau đó, với mỗi vị trí vùng ảnh p, toán tử MB-LBP sẽ đƣợc thực hiện trên tập các
ảnh khuôn mặt mẫu. Với mỗi ảnh mẫu, mã nhị phân MB-LBP đƣợc tính trên mỗi
vùng ảnh tƣơng ứng với vị trí p. Trọng số của mỗi mã nhị phân x này bằng trọng số
của mẫu.
Điểm phân lớp lỗi của vị trí p sẽ tính bằng công thức
63
𝑝𝑜𝑠

∈𝑝 =

min(𝐿𝑝

𝑛𝑒𝑔

𝑕 , 𝐿𝑝

[𝑕])

𝑕=1

Bảng Lp đƣợc tính theo công thức:
𝑝𝑜𝑠

𝑛𝑒𝑔

1 𝑛ế𝑢 𝐿𝑝 𝑥 > 𝐿𝑝 𝑥
𝐿𝑝 𝑥 =

0 𝑡ạ𝑖 𝑐á𝑐 𝑡𝑟ườ𝑛𝑔 𝑕ợ𝑝 𝑘𝑕á𝑐

(2.3)

Công thức 2.3: Công thức tính bảng các trọng số của các mã nhị phân tại điểm ảnh p

Tới cuối cùng, mỗi mã nhị phân x tại điểm ảnh có vị trí p sẽ có trọng số là
tổng giá trị trọng số của Lp[x] tại mỗi vòng lặp và các bảng Lp đƣợc gộp lại một
bảng đƣợc tính theo công thức

13


×