1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

60 400 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 60
Dung lượng 1,47 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ự

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

Trang 2

ĐẠ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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

độ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 đó

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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

Trang 12

BẢNG CÁC CHỮ VIẾT TẮT

tắ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ộ

Trang 13

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

Trang 14

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

Trang 15

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

Trang 16

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

Trang 17

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

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

Trang 19

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)

Trang 20

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

𝐿𝐵𝑃 𝑥𝑐, 𝑦𝑐 = 𝑠 𝑖𝑛 − 𝑖𝑐 2𝑛 (2.1)

7

𝑛 =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)

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ế

83 82 63

38 57 46

28 19 23

11100000

Trang 22

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

Trang 23

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, LBP 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

Trang 24

MB-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

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

Trang 25

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

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

Trang 26

𝐻 𝑋 = 𝑤𝑕𝐻𝑕 𝑥

𝑛

𝑕=1

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

Thuật toán học máy có giám sát để xác định khuôn mặt ở trên cần một số lượng rất lớn các dữ liệu là tập ảnh các khuôn mặt và tập ảnh không phải khuôn mặt được lọc và xử lý trước thủ công Việc chuẩn bị bộ dữ liệu đó rất tốn công sức

và thời gian Chính vì vậy, luận văn để xuất một phương pháp cho phép chỉ cẩn chuẩn bị một tập nhỏ các dữ liệu huấn luyện được lọc và xử lý trước mà vẫn có thể huấn luyện được một bộ phân lớp xác định vị trí khuôn mặt khá chính xác Phương pháp này đã từng được Yakowsky mô tả dùng để xác định nghĩa của các từ trong một văn bản Ở đây, tôi có biến đổi một chút để áp dụng vào bài toán xác định vị trí khuôn mặt Sau đây là sơ đồ các bước huấn luyện theo thuật toán Bootstrapping

Trang 27

Tách bộ ảnh thành 2 phần không đều nhau A, B nhưng không chồng lấp

Gán nhãn dữ liệu cho bộ ảnh A

Chia bộ ảnh A thành

2 bộ ảnh A1, A2 không đều nhau

Huấn luyện Bộ phân lớp xác định vị trí khuôn mặt dựa vào

bộ ảnh A1 và bộ ảnh C

Kiểm tra độ chính xác của mô hình

phân lớp với bộ ảnh test A2 đã hội

tụ chưa

Kết thúc

Đã hội tụ

Sử dụng mô hình phân lớp M để xác định vị trí khuôn mặt trên bộ ảnh B

Chuyển các ảnh đã gán nhãn của bộ ảnh

B sang bộ ảnh C Bắt đầu

Chưa hội tụ

Trang 28

Bộ ảnh huấn luyện chưa xử lý

Bộ ảnh B sử dụng làm dữ liệu huấn luyện không gán nhãn

Bộ ảnh A2 sử dụng làm dữ liệu test thử trong mỗi vòng huấn luyện

Bộ ảnh C (ban đầu rỗng)

Bộ ảnh A

Hình 2.6: Thuật toán huấn luyện bán giám sát bootstrapping

Ta chỉ cần chuẩn bị, xử lý và bóc tách khuôn mặt trước cho bộ ảnh A có số lượng không quá lớn Sau đó tách bộ ảnh A đó làm 2 bộ ảnh A1, A2 Bộ ảnh A1 sẽ làm nhiệm vụ mồi Ta sẽ huấn luyện bộ phân lớp để ra được mô hình phân lớp M

Bộ ảnh B sẽ làm nhiệm vụ mở rộng dữ liệu huấn luyện đã gán nhãn bằng cách sử dụng chính mô hình phân lớp M để tự động xử lý và bóc tách khuôn mặt trong bộ ảnh B và đổ các ảnh đã bóc tách sang bộ ảnh C Tiến hành huấn luyện lặp đi lặp lại

M bằng A1 và C cho đến khi kết quả phân lớp bộ ảnh A2 không cải thiện hoặc bị thụt lùi thì dừng lại

Trang 29

Như vậy M sẽ được mở rộng dần dần qua mỗi vòng lặp Tới vòng cuối cùng,

độ chính xác của M sẽ gần bằng một bộ phân lớp được huấn luyện bằng một bộ dữ liệu huấn luyện được xử lý và bóc tách thủ công có số lượng bằng số lượng ảnh của A1 và C

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)

Nhận diện khuôn mặt là bài toán tiếp theo cần giải quyết trong hệ thống tìm kiếm ảnh theo nội dung Nhận diện khuôn mặt là bài toán rất dễ dàng với con người Các thí nghiệm đã cho thấy, một đứa trẻ ba ngày tuổi đã có thể phân biệt được các khuôn mặt mà nó biết Tuy vậy, với máy tính đó sẽ là một thử thách Ta

sẽ cần tìm các đặc trưng để có thể huấn luyện được một bộ phân lớp có thể nhận diện được danh tính của các khuôn mặt Đã có nhiều nghiên cứu về vấn đề này trong đó có thể kể đến ba thuật toán Eigenfaces (các khuôn mặt đặc biệt), và LBPH (Biểu đồ tần suất của mẫu nhị phân cục bộ)

2.3.1 Sơ lược về thuật toán Eigenfaces (các khuôn mặt đặc biệt)

Eigenfaces được phát triển để sử dụng trong nhận dạng bởi Sirovich và Kirby Sau đó nó được Mattheww Turk và Alex Pentland sử dụng vào nhận dạng khuôn mặt Các vector đặc biệt (eigenvector) được tạo ra từ ma trận hiệp phương sai phân bố xác suất không gian vector nhiều chiều của các ảnh khuôn mặt Các eigenface bản thân chúng tạo thành một tập tất cả các ảnh sử dụng để tạo nên ma trận hiệp phương sai Người ta giảm các chiều của vector bằng cách cho phép một tập nhỏ các ảnh đại diện cho tập ảnh huấn luyện Việc phân lớp sẽ tính độ sai khác của khuôn mặt với ảnh của các khuôn mặt đại diện đó Tuy vậy eigenfaces sẽ có thể gặp vấn đề khi gặp các điều kiện ánh sáng khác nhau chiếu lên khuôn mặt của cùng một người

Trang 30

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ộ

Thuật toán nhận dạng khuôn mặt sử dụng biểu đồ tần xuất của mẫu nhị phân cục bộ (LBPH) do đó hạn chế được việc nhận dạng sai do ảnh hưởng của ánh sáng lên bức ảnh Như đã trình bày ở trên các chuỗi mẫu nhị phân cục bộ (LBP) đặc trưng cho mỗi điểm ảnh hoàn toàn bảo toàn thứ tự của chúng khi có sự biến đổi ánh sáng đều trên toàn bộ bức ảnh

Sử dụng cách tính toán tử nguyên bản LBP và cách loại bỏ các mã nhị phân không cần thiết như phần trên đã đề cập, ta có cách tính biểu đồ tần xuất của một ảnh đã gán nhãn fi(x, y) như sau

𝐻𝑖 = 𝑥,𝑦𝐼 𝑓𝑙 𝑥, 𝑦 = 𝑖 , 𝑖 = 0, … , 𝑛 − 1 (2.4)

Công thức 2.4: Công thức tính biểu đồ tần xuất của một ảnh

Với n là số lượng các mã nhị phân khác nhau được tính bởi toán tử LBP và

𝐼 𝐴 = 1, 𝑛ế𝑢 𝐴 đú𝑛𝑔

0, 𝑛ế𝑢 𝐴 𝑠𝑎𝑖 Biểu đồ tần suất này chứa những thông tin về sự phân bố của những mẫu cục

bộ như các cạnh, các điểm, và những vùng phẳng trên toàn bức ảnh Để có thể thể hiện khuôn mặt một cách tốt nhất, biểu đồ này phải giữ được những thông tin về không gian Ta sẽ chia bức ảnh lớn thành các vùng nhỏ R0,…Rm – 1 để đạt được mục đích đó Khi đó các biểu đồ tần suất Hi, j được tính bằng công thức:

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

Như vậy những mã nhị phân chứa những thông tin về các mẫu của từng điểm ảnh, các mã nhị phân là tổng của các vùng nhỏ sẽ biểu thị thông tin của một vùng

Với nhận diện khuôn mặt, ta sẽ phải xây dựng một bộ phân lớp có rất ít dữ liệu huấn luyện, thậm chí là chỉ 1 đến 2 dữ liệu huấn luyện

Ngày đăng: 03/04/2016, 17:51

HÌNH ẢNH LIÊN QUAN

Hình 2.5: Hình minh họa các khuôn mặt sau khi áp dụng MB-LBP - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
Hình 2.5 Hình minh họa các khuôn mặt sau khi áp dụng MB-LBP (Trang 23)
Hình 2.6: Thuật toán huấn luyện bán giám sát bootstrapping - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
Hình 2.6 Thuật toán huấn luyện bán giám sát bootstrapping (Trang 28)
Hình 2.7: các bước của thuật toán nhận diện khuôn mặt - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
Hình 2.7 các bước của thuật toán nhận diện khuôn mặt (Trang 32)
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 - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
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 (Trang 35)
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  3.2.1.2 - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
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 3.2.1.2 (Trang 36)
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 - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
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 (Trang 37)
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 - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
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 (Trang 38)
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 - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
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 (Trang 39)
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 - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
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 (Trang 40)
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 - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
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 (Trang 41)
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 - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
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 (Trang 43)
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 - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
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 (Trang 45)
Bảng 4.1: Kết quả thí nghiệm 1 - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
Bảng 4.1 Kết quả thí nghiệm 1 (Trang 48)
Bảng 4.2: Các vòng lặp huấn luyện trong thí nghiệm 2 - Xây dựng hệ thống tìm kiếm ảnh theo nội dung 9
Bảng 4.2 Các vòng lặp huấn luyện trong thí nghiệm 2 (Trang 51)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w