tóm tắt luận văn thạc sĩ xây dựng hệ thống tìm kiếm ảnh theo nội dung tóm tắt luận văn thạc sĩ xây dựng hệ thống tìm kiếm ảnh theo nội dung tóm tắt luận văn thạc sĩ xây dựng hệ thống tìm kiếm ảnh theo nội dung tóm tắt luận văn thạc sĩ xây dựng hệ thống tìm kiếm ảnh theo nội dung tóm tắt luận văn thạc sĩ xây dựng hệ thống tìm kiếm ảnh theo nội dung tóm tắt luận văn thạc sĩ xây dựng hệ thống tìm kiếm ảnh theo nội dung
Trang 1ĐẠ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
TÓM TẮT LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Trang 2CHƯƠ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ìmkiếm ảnh theo nội dung là một bài toán được đặt ra để thay thế chophươ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
Khác với phương pháp tìm kiếm ảnh bằng từ khóa, tìm kiếm theonội dung tức là bản thân bức ảnh sẽ được phân tích để phục vụ cho việctìm kiếm 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
1.2 Mục tiêu đề tà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ú Đểtrích rút được các nội dung trên bức ảnh liên quan đến khuôn mặt, luậnvăn sẽ nghiên cứu về thuật toán cho phép xác định vị trí của một khuônmặt chính diện của người hoặc động vật có vú Luận văn cũng nghiêncứu thuật toán học máy cho phép nhận diện danh tính của các khuônmặt (đã được xác định vị trí trước)
Từ cơ sở giải quyết được hai bài toán đó, 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à độngvậ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ậtthuộ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
Trang 31.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ưngcủa khuôn mặt người và các động vật có vú thể hiện trên các bức Phương pháp nghiên cứu là dựa vào bộ công cụ xử lý ảnhOpenCV có sẵn để xây dựng một hệ thống tìm kiếm ảnh xoay quanhkhuôn mặt người và động vật có vú
CH ƯƠNG 2: CÁC THUẬT TOÁN NHẬN DẠNG KHUÔN MẶT ÁP NG 2: CÁC THU T TOÁN NH N D NG KHUÔN M T ÁP ẬT TOÁN NHẬN DẠNG KHUÔN MẶT ÁP ẬT TOÁN NHẬN DẠNG KHUÔN MẶT ÁP ẠNG KHUÔN MẶT ÁP ẶT ÁP
D NG TRONG H TH NG TÌM KI M NH THEO N I DUNG ỤNG TRONG HỆ THỐNG TÌM KIẾM ẢNH THEO NỘI DUNG Ệ THỐNG TÌM KIẾM ẢNH THEO NỘI DUNG ỐNG TÌM KIẾM ẢNH THEO NỘI DUNG ẾM ẢNH THEO NỘI DUNG ẢNH THEO NỘI DUNG Ộ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
Turk và Pentland đã đề xuất sử dụng PCA để huấn luyện các ảnhkhuôn mặt và sử dụng eigenfaces làm các mẫu
Viola và Jones đề xuất phương pháp sử dụng một đại diện ảnhmới và một tập các đặc trưng gọi là các đặc trưng Haar
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 độ
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
Trang 4Công th c 2.1: Công th c tính LBP c a m t ði m nhức 2.1: Công thức tính LBP của một ðiểm ảnh ức 2.1: Công thức tính LBP của một ðiểm ảnh ủa một ðiểm ảnh ột ðiểm ảnh ểm ảnh ả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:
2.1.2.2 Mẫu nhị phân từng vùng cục bộ (MB-LBP)
Để giải quyết vấn đề với nhiễu, khác với LBP nguyên bản, 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 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ờ
MB-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
Các chuỗi nhị phân tính theo công thức trên có 8 bit Tổng số lượng các chuỗi nhị phân có thể xuất hiện là 28 = 256
Liao đã chứng minh được rằng 63 cột cao nhất trong biểu đồ tần xuất của các mã nhị phân tương ứng với N = 63 chuỗi nhị phân đồng nhất có ý nghĩa trong việc phân lớp khuôn mặt
Theo đó ta chỉ cần để ý tới LBP của các chuỗi nhị phân l sau:
Trang 5Trong đó 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
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:
Công th c 2.2: Công th c c a b phân l p y uức 2.1: Công thức tính LBP của một ðiểm ảnh ức 2.1: Công thức tính LBP của một ðiểm ảnh ủa một ðiểm ảnh ột ðiểm ảnh ớp yếu ế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) Tuy vậy kết quả cuối cùng vẫn cho một kết quả rất chính xác
Thuật toán bộ phân lớp này 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 W Sau đó, với mỗi vị trí vùng ảnh p, toán tử MB-LBP sẽ được
Trang 6Công th c 2.3: Công th c tính b ng các tr ng s c a các mã nhức 2.1: Công thức tính LBP của một ðiểm ảnh ức 2.1: Công thức tính LBP của một ðiểm ảnh ảnh ọng số của các mã nhị ố của các mã nhị ủa một ðiểm ảnh ị
phân t i ði m nh pại ðiểm ảnh p ểm ảnh ảnhTớ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
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ầnmộ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 ảnhkhô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 Luận văn để xuất mộtphương pháp cho phép chỉ cẩn chuẩn bị một tập nhỏ các dữ liệu huấnluyệ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 gọi là thuật toánBootstrapping
Trang 7Chuyển các ảnh đã gán nhãn của bộ ảnh
B sang bộ ảnh C Chưa hội tụ
Hình 2.6: Thu t toán hu n luy n bán giám sát bootstrappingật toán huấn luyện bán giám sát bootstrapping ấn luyện bán giám sát bootstrapping ện bán giám sát bootstrapping
Trang 82.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 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
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 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
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
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
Trang 9
Công th c 2.4: Công th c tính bi u đ t n xu t c a m t nhức 2.1: Công thức tính LBP của một ðiểm ảnh ức 2.1: Công thức tính LBP của một ðiểm ảnh ểm ảnh ồ tần xuất của một ảnh ần xuất của một ảnh ấn luyện bán giám sát bootstrapping ủa một ðiểm ảnh ột ðiểm ảnh ảnhVớ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à
Ta có thể chia bức ảnh lớn thành các vùng nhỏ R0,…Rm – 1 để đạtđược mục đích giữ được các thông tin về không gian 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ức 2.1: Công thức tính LBP của một ðiểm ảnh ức 2.1: Công thức tính LBP của một ðiểm ảnh ểm ảnh ồ tần xuất của một ảnh ần xuất của một ảnh ấn luyện bán giám sát bootstrapping ủa một ðiểm ảnh ột ðiểm ảnh ảnh
nh thành các vùngỏ thành các vùng
Để phân lớp, ta có thể sử dụng phương pháp tính khoảng cách giữa biểu đồ tần suất của mẫu huấn luyện với biểu đồ tần suất của các ảnh đang cần nhận diện khuôn mặt
Mức độ tương giao của hai histogram:
Công th c 2.6: Công th c tính đ tức 2.1: Công thức tính LBP của một ðiểm ảnh ức 2.1: Công thức tính LBP của một ðiểm ảnh ột ðiểm ảnh ương giao của hai biểu đồ tầnng giao c a hai bi u đ t nủa một ðiểm ảnh ểm ảnh ồ tần xuất của một ảnh ần xuất của một ảnh
xu tấn luyện bán giám sát bootstrappingThống kê Chi square
Trang 10Công th c 2.7: Công th c th ng kê Chi square c a hai bi u đ t nức 2.1: Công thức tính LBP của một ðiểm ảnh ức 2.1: Công thức tính LBP của một ðiểm ảnh ố của các mã nhị ủa một ðiểm ảnh ểm ảnh ồ tần xuất của một ảnh ần xuất của một ảnh
xu tấn luyện bán giám sát bootstrapping
Như vậy, nếu khoảng cách của hai histogram của ảnh hai khuônmặt nhỏ hơn một ngưỡng nhất định thì ta có thể kết luận rằng hai khuônmặt đó là của cùng một người
Ta có sơ đồ các bước của thuật toán nhận diện khuôn mặt như sau:
Bắt đầu
Xác định vị trí khuôn mặt của ảnh 1
Xác định vị trí khuôn mặt của ảnh 2
Tính histogram của riêng vùng khuôn mặt của ảnh 1 và ảnh 2
So sánh histogram của ảnh 1 và ảnh 2
Kết luận là ảnh của cùng một người Kết luận là ảnh của 2
người khác nhau
Kết thúc
Dưới ngưỡng Vượ t ngưỡng
Trang 11Hình 2.7: các bướp yếu ủa một ðiểm ảnhc c a thu t toán nh n di n khuôn m tật toán huấn luyện bán giám sát bootstrapping ật toán huấn luyện bán giám sát bootstrapping ện bán giám sát bootstrapping ặt
Trang 12CHƯƠNG 3: HỆ THỐNG TÌM KIẾM ẢNH THEO NỘI DUNG.
3.1 Bộ công cụ OpenCV
OpenCV là một thư viện mã nguồn mở phục vụ cho việc nghiêncứu hay phát triển về thị giác máy tính Luận văn sử dụng bộ công cụnày để xây dựng hệ thống tìm kiếm
3.2 Hệ thống tìm kiếm ảnh theo nội dung của ảnh.
Dựa vào các thuật toán đã nghiên cứu liên quan đến khuôn mặt,
hệ thống tìm kiêms sẽ trích rút được 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 trongbức ảnh là bao nhiêu, danh tính của các khuôn mặt trong bức ảnh và bảnthâ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
3.2.1 Các công cụ chuẩn bị dữ liệu
3.2.1.1 Công cụ chuẩn bị dữ liệu xác định vị trí khuôn mặt thủ cônglàm dữ liệu huấn luyện cho bộ phân lớp xác định vị trí mặt người
Các bước chuẩn bị dữ liệu như sau:
Trang 13Load thư mục chứa các fi l e cần gán nhã n
Kiểm tra thư mục có fi le ả nh không
Hiển thị ả nh
Người dùng khoanh vùng vị trị khuôn mặt và hai mắt
Cắt ảnh theo vùng
đã khoa nh, chuyển sang màu đơn sắc, xoay ảnh sa o cho 2 mắt song s ong với mép ảnh
Chuyển ảnh đến thư mục dữ l iệu huấn luyện gán nhãn
Kết thúc
Hình 3.1: Các bướp yếuc th c thi chu n b d li u hu n luy n xác đ nhực thi chuẩn bị dữ liệu huấn luyện xác định ẩn bị dữ liệu huấn luyện xác định ị ữ liệu huấn luyện xác định ện bán giám sát bootstrapping ấn luyện bán giám sát bootstrapping ện bán giám sát bootstrapping ị
v trí khuôn m tị ặt
3.2.1.2 Công cụ huấn luyện bộ phân lớp xác định vị trí khuôn mặt
Sau đây là các bước thực thi của chương trình
Trang 14Huấn luyện Bộ phân
Chuyển các ảnh đã gán nhãn và xử lý của bộ ảnh B sang thư mục bộ ảnh C Chưa hội tụ
Load thư mục chưa
Hình 3.3: Các bướp yếuc th c thi c a công c hu n luy n mô hình phânực thi chuẩn bị dữ liệu huấn luyện xác định ủa một ðiểm ảnh ụ huấn luyện mô hình phân ấn luyện bán giám sát bootstrapping ện bán giám sát bootstrapping
l p xác đ nh v trí khuôn m t ớp yếu ị ị ặt
3.2.2 Hệ thống tìm kiếm ảnh theo nội dung
3.2.2.1 Tìm kiếm ảnh xuất hiện khuôn mặt
Trang 16Tính năng này cho phép tìm kiếm các ảnh giống nhau nhưng khác về màu sắc hoặc kích thước.
Các bước thực thi của tính năng này như sau
Bắt đầu
Load thư mục ảnh
Người dùng chọn ảnh muốn tìm
Huấn luyệ n bộ phâ n
lớ p LBPH bằng ảnh người dùng cung cấp
Phân lớp bằ ng bộ phân lớp vừa training
Thư mục còn ảnh chưa phân tích
So sanh khoảng cách Histogram giữa hai ảnh
Thêm ảnh vào danh sác h các ảnh giống nhau
Kết thúc
Thấp hơn ngưỡng cho phé p
Hình 3.6: Các bướp yếuc th c thi c a tính năng tìm ki m các nh gi ngực thi chuẩn bị dữ liệu huấn luyện xác định ủa một ðiểm ảnh ếu ảnh ố của các mã nhị
nhau nh ng khác v kích thư ề kích thước và màu sắc ướp yếuc và màu s cắc
Trang 18Histogram giữa hai khuôn mặ t
Thêm ảnh vào danh
sách các ảnh giống
nhau
Kết thúc
Thấp hơn ngưỡng cho phé p
Kiểm t ra mô hình p hâ n lớp xác
Trang 19Hì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.
CH ƯƠNG 2: CÁC THUẬT TOÁN NHẬN DẠNG KHUÔN MẶT ÁP NG 4: K T QU TH C NGHI M ẾM ẢNH THEO NỘI DUNG ẢNH THEO NỘI DUNG ỰC NGHIỆM Ệ THỐNG TÌM KIẾM ẢNH THEO NỘI DUNG.
4.1 Thí nghi m 1: ệm 1:
4.1.1 M c đích th c nghi m: ục đích thực nghiệm: ực nghiệm: ệm 1:
Đo đạc độ chính xác của thuật toán xác định vị trí khuôn mặt sửdụng bộ phân lớp trên dữ liệu là các khuôn mặt chính diện của conngười So sánh kết quả với khi kết hợp với thuật toán huấn luyện bángiám sát bootstrapping
4.1.2 B trí thí nghi m: ố trí thí nghiệm: ệm 1:
Chuẩn bị bộ dữ liệu đã gán nhãn tọa độ gồm 9996 ảnh chứakhuôn mặt chụp chính diện hoặc nghiêng nhẹ của mèo thành 2 tập ảnh
A, T lần lượt có số lượng là 8996, 1000: Trong đó:
A sẽ đóng vai trò tập huấn luyện cho bộ phân lớp;
T là tập dữ liệu kiểm thử để đánh giá độ chính xác cuốicùng Bổ sung 500 ảnh không chứa khuôn mặt của mèo vàotập T
Sử dụng bộ dữ liệu G gồm 5070 ảnh không chứa khuôn mặt củamèo để làm các ảnh nền trong khi huấn luyện
Tập ảnh A và T được lấy nguyên vẹn từ bộ ảnh khuôn mặt trực
Trang 20Bắt đầu
Gán nhãn vị trí cho tập A
Tiến hành huấn luyện bộ phân lớp bằng tập ảnh A
Tiến hành phân lớp tập ảnh T và ghi lại
độ chính xác của bộ phân lớp
Kết thúc
Hình 4.1: các bướp yếuc th c hi n thí nghi m 1ực thi chuẩn bị dữ liệu huấn luyện xác định ện bán giám sát bootstrapping ện bán giám sát bootstrapping
4.1.3 K t qu thí nghi m: ết quả thí nghiệm: ả thí nghiệm: ệm 1:
Trang 21Âm tính Sai
4.2.1 M c đích th c nghi m: ục đích thực nghiệm: ực nghiệm: ệm 1:
Đo đạc độ chính xác của thuật toán xác định vị trí khuôn mặt sửdụng bộ phân lớp chồng tầng dựa trên các đặc trưng MB-LBP trên dữliệu là các khuôn mặt chính diện hoặc nghiêng nhẹ của loài mèo Sosánh kết quả khi huấn luyện bộ phân lớp hoàn toàn bằng dữ liệu huấnluyện đã xác định vị trí khuôn mặt theo cách thủ công với khi áp dụngkết hợp với thuật toán huấn luyện bán giám sát bootstrapping
4.2.2 B trí thí nghi m: ố trí thí nghiệm: ệm 1:
Chia bộ dữ liệu gồm 9996 ảnh chứa khuôn mặt chụp chính diệnhoặc nghiêng nhẹ của mèo thành 3 tập ảnh A1, A2, B, T lần lượt có sốlượng là 2000, 500, 6996, 500: Trong đó: