Tải bản đầy đủ (.doc) (62 trang)

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

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 (963.75 KB, 62 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
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
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
độ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 đó.
MỤC LỤC
HÀ NỘI - 20< hai số cuối của năm bảo vệ KLTN> 1
HÀ NỘI - 20<hai số cuối của năm bảo vệ KLTN> 2
LỜI CẢM ƠN 3
LỜI CAM ĐOAN 4
TÓM TẮT LUẬN VĂN 5
MỤC LỤC 7
DANH MỤC CÁC CÔNG THỨC 9
DANH MỤC CÁC HÌNH VẼ 10
DANH MỤC CÁC BẢNG BIỂU 11
BẢNG CÁC CHỮ VIẾT TẮT 15
CHƯƠNG 1: TỔNG QUAN 16
1.1.Đặt vấn đề 16
1.2.Mục tiêu đề tài 17
1.3.Đối tượng và phương pháp nghiên cứu 18
1.4.Cấu trúc khóa luận 18
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
2.1. Thuật toán xác định vị trí khuôn mặt 2
2.1.1. Một số thuật toán xác định vị trí khuôn mặt thường gặp 2
2.1.2. Đặc trưng theo mẫu nhị phân cục bộ (LBP) 3
2.1.3. Các bộ phân lớp yếu và huấn luyện chồng tầng 8
2.2. Thuật toán học bán giám sát Bootstrapping 10
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) 13
2.3.1. Sơ lược về thuật toán Eigenfaces (các khuôn mặt đặc biệt) 13

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ộ 14
CHƯƠNG 3: HỆ THỐNG TÌM KIẾM ẢNH THEO NỘI DUNG 17
3.1. Bộ công cụ OpenCV 17
3.2. Hệ thống tìm kiếm ảnh theo nội dung của ảnh 18
3.2.1. Các công cụ chuẩn bị dữ liệu 18
3.2.2. Hệ thống tìm kiếm ảnh theo nội dung 22
3.2.3. Các hàm công cụ khác 29
CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM 30
4.1. Thí nghiệm 1: 30
4.1.1. Mục đích thực nghiệm: 30
4.1.2. Bố trí thí nghiệm: 30
4.1.3. Kết quả thí nghiệm: 32
4.2. Thí nghiệm 2: 32
4.2.1. Mục đích thực nghiệm: 32
4.2.2. Bố trí thí nghiệm: 32
4.2.3. Kết quả thí nghiệm 35
4.3. Thí nghiệm 3: 36
4.3.1. Mục đích thí nghiệm: 36
4.3.2. Bố trí thí nghiệm: 36
4.3.3. Kết quả thực nghiệm 37
CHƯƠNG 5: KẾT LUẬN 38
5.1. Các kết quả đạt được và hạn chế 38
5.2. Các công việc trong tương lai 40
TÀI LIỆU THAM KHẢO 42
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 4
Công thức 2.2: Công thức của bộ phân lớp yếu 8
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 9
Công thức 2.4: Công thức tính biểu đồ tần xuất của một ảnh 14
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 14

Công thức 2.6: Công thức tính độ tương giao của hai biểu đồ tần xuất 15
Công thức 2.7: Công thức thống kê Chi square của hai biểu đồ tần xuất 15
DANH MỤC CÁC HÌNH VẼ
Hình 2.1: Các đặc trưng Haar 3
Hình 2.2: Các đặc trưng Haar mở rộng 3
Hình 2.4: Hình minh họa cách chia vùng 3x3 của MB-LBP 6
Hình 2.5: Hình minh họa các khuôn mặt sau khi áp dụng MB-LBP 7
Hình 2.7: các bước của thuật toán nhận diện khuôn mặt 16
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 19
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. 20
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 21
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 23
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 23
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 24
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 25
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 26
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. .27
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
29
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 29
Hình 4.1: các bước thực hiện thí nghiệm 1 31
Hình 4.2: các bước thực hiện thí nghiệm 2 34
Hình 4.3: Các bước thí nghiệm 3 36
DANH MỤC CÁC BẢNG BIỂU
HÀ NỘI - 20< hai số cuối của năm bảo vệ KLTN> 1
HÀ NỘI - 20<hai số cuối của năm bảo vệ KLTN> 2

LỜI CẢM ƠN 3
LỜI CAM ĐOAN 4
TÓM TẮT LUẬN VĂN 5
MỤC LỤC 7
DANH MỤC CÁC CÔNG THỨC 9
DANH MỤC CÁC HÌNH VẼ 10
DANH MỤC CÁC BẢNG BIỂU 11
BẢNG CÁC CHỮ VIẾT TẮT 15
CHƯƠNG 1: TỔNG QUAN 16
1.1.Đặt vấn đề 16
1.2.Mục tiêu đề tài 17
1.3.Đối tượng và phương pháp nghiên cứu 18
1.4.Cấu trúc khóa luận 18
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
2.1. Thuật toán xác định vị trí khuôn mặt 2
2.1.1. Một số thuật toán xác định vị trí khuôn mặt thường gặp 2
Hình 2.1: Các đặc trưng Haar 3
Hình 2.2: Các đặc trưng Haar mở rộng 3
2.1.2. Đặc trưng theo mẫu nhị phân cục bộ (LBP) 3
Công thức 2.1: Công thức tính LBP của một điểm ảnh 4
Hình 2.4: Hình minh họa cách chia vùng 3x3 của MB-LBP 6
Hình 2.5: Hình minh họa các khuôn mặt sau khi áp dụng MB-LBP 7
2.1.3. Các bộ phân lớp yếu và huấn luyện chồng tầng 8
Công thức 2.2: Công thức của bộ phân lớp yếu 8
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 9
2.2. Thuật toán học bán giám sát Bootstrapping 10
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) 13
2.3.1. Sơ lược về thuật toán Eigenfaces (các khuôn mặt đặc biệt) 13

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ộ 14
Công thức 2.4: Công thức tính biểu đồ tần xuất của một ảnh 14
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 14
Công thức 2.6: Công thức tính độ tương giao của hai biểu đồ tần xuất 15
Công thức 2.7: Công thức thống kê Chi square của hai biểu đồ tần xuất 15
Hình 2.7: các bước của thuật toán nhận diện khuôn mặt 16
CHƯƠNG 3: HỆ THỐNG TÌM KIẾM ẢNH THEO NỘI DUNG 17
3.1. Bộ công cụ OpenCV 17
3.2. Hệ thống tìm kiếm ảnh theo nội dung của ảnh 18
3.2.1. Các công cụ chuẩn bị dữ liệu 18
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 19
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 20
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 21
3.2.2. Hệ thống tìm kiếm ảnh theo nội dung 22
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. 23
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 23
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 24
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 25
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 26
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 27
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 29

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
29
3.2.3. Các hàm công cụ khác 29
CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM 30
4.1. Thí nghiệm 1: 30
4.1.1. Mục đích thực nghiệm: 30
4.1.2. Bố trí thí nghiệm: 30
Hình 4.1: các bước thực hiện thí nghiệm 1 31
4.1.3. Kết quả thí nghiệm: 32
Bảng 4.1: Kết quả thí nghiệm 1 32
4.2. Thí nghiệm 2: 32
4.2.1. Mục đích thực nghiệm: 32
4.2.2. Bố trí thí nghiệm: 32
Hình 4.2: các bước thực hiện thí nghiệm 2 34
4.2.3. Kết quả thí nghiệm 35
Bảng 4.2: Các vòng lặp huấn luyện trong thí nghiệm 2 35
4.3. Thí nghiệm 3: 36
4.3.1. Mục đích thí nghiệm: 36
4.3.2. Bố trí thí nghiệm: 36
Hình 4.3: Các bước thí nghiệm 3 36
4.3.3. Kết quả thực nghiệm 37
Bảng 4.3: Kết quả thí nghiệm 3 37
CHƯƠNG 5: KẾT LUẬN 38
5.1. Các kết quả đạt được và hạn chế 38
5.2. Các công việc trong tương lai 40
TÀI LIỆU THAM KHẢO 42
BẢNG CÁC CHỮ VIẾT TẮT
Chữ viết
tắt
Cách viết đầy đủ Dịch nghĩa Tiếng Việt

SVM Support Vector Machines Máy vector hỗ trợ
PCA Principal Component Analysis Phân tích thành phần chính
LBP Local Binary Pattern Mẫu nhị phân cục bộ
MB-LBP Multiscale Block – Local Binary
Pattern
Mẫu nhị phân cục bộ nhóm
LBPH Local Binary Pattern Histogram Biểu đồ tần suất của mẫu nhị phân
cục bộ
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
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
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
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.
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.
1
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
2
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
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 (x
c
, y
c
), 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).
3
Công thức tính toán như sau:
Công thức 2.1: Công thức tính LBP của một điểm ảnh
Với i
c
là giá trị độ xám của (x
c
, y
c
), i
n
là giá trị độ xám của điểm ảnh (x
n
, y
n
) lân
cận của (x
c
, y
c
).
Hàm s(x) được định nghĩa như sau:

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:
1 1 1
0 0
0 0 0
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
4
8
3
8
2
63
3
8
57 46
2
8
19 23
11100000
đ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ế.
5
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.
6

×