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

Một số kĩ thuật truy tìm nhân vật trong các kho dữ liệu video lớn

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 (4.4 MB, 70 trang )

1

MỞ ĐẦU

Sự tiến bộ không ngừng của lĩnh vực ảnh và video số cùng với công nghệ
máy tính đã đem lại cho con người một cuộc sống nhiều ý nghĩa hơn. Ngày nay,
người ta dễ dàng lưu trữ và chia sẻ những bộ sưu tập ảnh với hàng ngàn bức ảnh
chất lượng cao, những thước phim hàng trăm giờ, mà không cần đến thiết bị chuyên
dụng đắt tiền. Song song vớ
i sự tiến bộ đó là quá trình bùng nổ dữ liệu số và kết quả
là hiện nay con người đang sống trong một biển thông tin đa phương tiện. Thách
thức đặt ra ở đây là: Làm thế nào để tìm được nội dung quan tâm trong các kho dữ
liệu khổng lồ mà không phải bỏ ra hàng giờ vô ích? Đó chính là mục tiêu của bài
toán chỉ mục và truy tìm trong lĩnh vực xử lí ảnh và video số.
Nhân vật là đối tượng quan trọ
ng trong dữ liệu video. Ví dụ những đoạn
video về George W. Bush, Barack Obama, Saddam Hussein,… đều liên quan đến
các thời điểm lịch sử quan trọng trên thế giới. Nếu một ứng dụng có thể liệt kê ra
những đoạn video có George W. Bush xuất hiện trong 8 năm ở Nhà Trắng và trước
đó thì sẽ rất có ích cho các nhà nghiên cứu lịch sử, biên tập viên chương trình TV
(xem Hình 0.1). Ngoài ra, từ các đoạn video có Bush xuất hiện, người ta có thể biế
t
được những sự kiện quan trọng liên quan. Ví dụ, sự kiện 11/09/2009 xảy ra trong
lúc tổng thống đang thăm một trường tiểu học ở Florida. Do đó, nhu cầu về một hệ
thống có khả năng giúp con người truy tìm các tài liệu video liên quan đến một
nhân vật cụ thể là cần thiết và đây là bài toán Truy tìm nhân vật mà các nhà nghiên
cứu đã và đang không ngừng nỗ lực giải quyết.
Với mục tiêu nghiên cứ
u giải pháp hiệu quả cho hệ thống Truy tìm nhân vật
khi hoạt động trên các kho dữ liệu video lớn, luận văn đã tiến hành nghiên cứu đề
tài “Một số kĩ thuật truy tìm nhân vật trong các kho dữ liệu video lớn”. Cụ thể là: 1)


Luận văn nghiên cứu và đề xuất một phương pháp so khớp mới, cho phép ước
lượng độ tương tự giữa các đối tượng video với độ chính xác tương đương nh
ững
phương pháp phổ biến hiện nay nhưng chi phí tính toán thấp hơn, 2) Hiện thực hóa
2

hệ thống Truy tìm nhân vật, có khả năng truy tìm nhanh và hiệu quả theo thời gian
thực trên kho dữ liệu video lớn.


Hình 0.1 Một ví dụ về hệ thống Truy tìm nhân vật.
Người dùng tìm nhân vật George W. Bush (trái) và hệ thống trả ra các bản tin liên quan (phải).

Cấu trúc luận văn được tổ chức như sau:
• Chương 1 – Bài toán Truy tìm nhân vật trong các kho dữ liệu video lớn
- Giới thiệu bài toán Truy tìm nhân vật trong các kho dữ liệu video, sự
cần thiết phải giải quyết bài toán trong các kho dữ liệu lớn và khảo
sát các hướng tiếp cận phổ biến để giải quyết bài toán.
- Định nghĩa thành phần căn bản của bài toán là face-track và phát biểu
hình thức bài toán Truy tìm nhân vật trong các kho d
ữ liệu video.
- Trình bày ý tưởng của phương pháp so khớp mặt người k-Faces do
luận văn đề xuất, nhằm đưa ra một giải pháp hiệu quả và nhanh
chóng cho bài toán Truy tìm nhân vật.
• Chương 2 – Hệ thống Truy tìm nhân vật trong các kho dữ liệu video lớn
- Trình bày mô hình hệ thống Truy tìm nhân vật trong các kho dữ liệu
lớn do luận văn xây dựng: các thành phần trong hệ thống và mối liên
kết hoạt động giữa các thành phần.
Đây là hệ thống Truy tìm nhân vật
hoàn chỉnh có khả năng truy tìm nhanh và chính xác trên dữ liệu

video lớn, được tích hợp phản hồi liên quan từ người dùng giúp tinh
chỉnh kết quả truy tìm tốt hơn. Hệ thống là một framework gồm nhiều
3

mô đun hoạt động độc lập, phục vụ cho mục tiêu nghiên cứu đánh giá
các đặc trưng, phương pháp so khớp khác nhau mà không cẩn phải
xây dựng từ đầu một hệ thống mới.
- Các kĩ thuật tiền xử lí cho bài toán Truy tìm nhân vật: phát hiện ranh
giới shot, phát hiện mặt người và kĩ thuật rút trích face-track.
- Các kĩ thuật quan trọng đóng vai trò then chốt cho hệ thống Truy tìm
nhân vật: đặc tr
ưng biểu diễn mặt người Local Binary Pattern, các
phương pháp so khớp mặt người phổ biến. Phần này trình bày chi tiết
về phương pháp đề xuất k-Faces.
- Giới thiệu khái niệm phản hồi liên quan và cách thức ứng dụng trong
hệ thống Truy tìm nhân vật
• Chương 3 – Kết quả thực nghiệm và đánh giá: trong chương này, luận
văn vận dụng hệ thống Truy tìm nhân vật đã được đề xuấ
t để thực hiện
các thực nghiệm và đánh giá, bao gồm:
- So sánh hiệu quả của phương pháp so khớp dựa trên đại diện k-Faces
và các phương pháp so khớp face-track phổ biến khác.
- Kiểm chứng khả năng cải thiện độ chính xác truy tìm khi có phản hồi
liên quan từ người dùng.
Kết luận và hướng phát triển: trình bày các ý tổng kết cho luận văn và
hướng phát triển trong tương lai.

ii

Mục lục


LỜI CẢM ƠN i

Mục lục ii
Danh mục các bảng v
Danh mục các hình vẽ, đồ thị vi
MỞ ĐẦU 1
Chương 1 BÀI TOÁN TRUY TÌM NHÂN VẬT TRONG CÁC KHO DỮ
LIỆU VIDEO LỚN 4

1.1. Giới thiệu bài toán 4
1.2. Định nghĩa face-track 6
1.3. Phát biểu bài toán 7
1.4. Các hướng tiếp cận giải quyết bài toán 8
1.5. Đề xuất phương pháp so khớp mặt người k-Faces 12
Chương 2 HỆ THỐNG TRUY TÌM NHÂN VẬT TRONG CÁC KHO DỮ
LIỆU VIDEO LỚN 14

2.1. Mô hình hệ thống Truy tìm nhân vật trong các kho dữ liệu video lớn 14
2.2. Các kĩ thuật tiền xử lí 17
2.2.1. Kĩ thuật phát hiện ranh giới video shot 17
2.2.2. Kĩ thuật phát hiện mặt người 18
2.3. Kĩ thuật rút trích face-track từ điểm theo vết 20
2.4. Đặc trưng biểu diễn mặt người 21
2.5. Các phương pháp so khớp face-track 23
2.5.1. Phương pháp so khớp dựa trên toàn bộ face-track 23
iii

2.5.2.
 Phương pháp so khớp dựa trên đại diện 25

2.5.3. Phương pháp k-Faces 26
2.6. Truy tìm và trả kết quả 27
2.7. Kết hợp phản hồi liên quan từ người dùng 27
Chương 3 THỬ NGHIỆM VÀ ĐÁNH GIÁ 31
3.1. Dữ liệu thực nghiệm 31
3.2. Tiêu chuẩn đánh giá 32
3.3. Các kĩ thuật áp dụng và tham số 33
3.3.1. Kĩ thuật tách biên video shot 33
3.3.2. Kĩ thuật phát hiện mặt người 34
3.3.3. Phương pháp rút trích face-track 34
3.3.4. Đặc trưng biểu diễn mặt người 35
3.3.5. Phương pháp so khớp face-track 35
3.4. Kết quả thực nghiệm và thảo luận 35
3.4.1. So sánh k-Faces với các phương pháp so khớp face-track khác 35
3.4.2. Kiểm chứng vai trò của phản hồi liên quan từ người dùng 45
3.5. Kết luận và hướng phát triển 47
PHỤ LỤC A – CÁC KĨ THUẬT TIỀN XỬ LÍ CHO BÀI TOÁN TRUY TÌM
NHÂN VẬT TRONG CÁC KHO DỮ LIỆU VIDEO LỚN 50

I. Kĩ thuật phát hiện ranh giới video shot 50
A. Hiệu số điểm ảnh 50
B. Hiệu số thống kê 51
C. Histograms 51
D. Hiệu số độ nén 52
iv

E.
 Theo vết cạnh 52
F. Vectơ chuyển động 52
II. Kĩ thuật phát hiện mặt người Viola-Jones 53

A. Đặc trưng Haar 54
B. Ảnh tích phân 55
C. Bộ phân lớp nhiều tầng 56
D. Thuật toán AdaBoost 57
III. Kĩ thuật rút trích face-track từ điểm theo vết 58
PHỤ LỤC B – LOCAL BINARY PATTERNS (LBP) 61
I. Bất biến theo mức xám 62
II. Bất biến theo phép quay 63
III. Cải thiện bất biến theo phép quay với các mẫu đồng nhất và phép
lượng hoá mịn hơn của không gian góc quay 65

TÀI LIỆU THAM KHẢO 67


v

Danh mục các bảng

Bảng 3-1 Độ chính xác tính theo Mean Average Precision của bốn phương pháp:
Min-Min, k-Faces (k = 5), Avg-Min và Single Face. 37

Bảng 3-2 Chi phí tính toán của các phương pháp: Min-Min, Avg-Min, k-Faces (k
= 5) và Single Face. 38



vi

Danh mục các hình vẽ, đồ thị


Hình 0.1 Một ví dụ về hệ thống Truy tìm nhân vật. 2

Hình 1.1 Sự đa dạng về biểu cảm, tư thế, điều kiện chiếu sáng và tình trạng che
khuất của mặt người. 5

Hình 1.2 Cách thức xây dựng face-track từ tập hợp mặt trong video shot 6
Hình 1.3 Bài toán Truy tìm nhân vật trong các kho dữ liệu video 8
Hình 1.4 Xây dựng đồ thị liên kết từ câu truy vấn. 9
Hình 1.5 Sự cùng xuất hiện của nhân vật truy tìm và “bạn bè”. 10
Hình 1.6 Sự lệch pha giữa thông tin văn bản và thông tin thị giác. 10
Hình 1.7 So khớp chuỗi mặt người theo phương pháp BFVS và CP. 12
Hình 1.8 Ý tưởng so khớp của phương pháp so khớp k-Faces. 13
Hình 2.1 Mô hình hệ thống Truy tìm nhân vật được đề xuất 16
Hình 2.2 Ví dụ một cảnh phim có chứa nhiều shot. 17
Hình 2.3 Kĩ thuật phát hiện mặt người xác định các vùng mặt có trong ảnh. 18
Hình 2.4 Bộ phát hiện mặt người Viola-Jones. 19
Hình 2.5 Phát sinh các điểm quan tâm mới khi xuất hiện khuôn mặt mới. 20
Hình 2.6 Toán tử LBP 21
Hình 2.7 Tập láng giềng đối xứng tròn của các giá trị (P, R) khác nhau. 22
Hình 2.8 Mặt lần lượt được chia thành 7×7, 5×5, 3×3 vùng hình chữ nhật. 23
Hình 2.9 Cách xác định khoảng cách dựa trên gom nhóm liên kết đơn. 24
Hình 2.10 Cách xác định khoảng cách dựa trên gom nhóm liên kết trung bình. 25
Hình 2.11 Phương pháp so khớp dựa trên đại diện (đại diện là mặt nằm giữa). 25
Hình 2.12 Ý tưởng của phương pháp so khớp k-Faces (ảnh minh họa khi k = 3). . 27
Hình 2.13 Ví dụ về ứng dụng có sử dụng phản hồi liên quan. 28
Hình 2.14 Cải thiện danh sách xếp hạng dựa trên phản hồi người dùng bằng
phương pháp trộn theo giá trị nhỏ nhất và trộn theo giá trị trung bình. 30

Hình 3.1 Dữ liệu video tin tức TRECVID. 31
Hình 3.2 Cấu trúc XML biểu diễn thông tin của một shot. 33

vii

Hình 3.3 Biểu đồ Precision-Recall của các phương pháp: Min-Min, k-Faces (k =
5), AvgMin và Single Face. 36

Hình 3.4 Ví dụ về sự hạn chế của phương pháp Single Face. 38
Hình 3.5 Ví dụ về sự hạn chế của phương pháp Avg-Min. 39
Hình 3.6 Ví dụ về sự hạn chế của phương pháp Min-Min. 40
Hình 3.7 Hiệu quả của k-Faces phụ thuộc vào chất lượng của tập ảnh con. 40
Hình 3.8 Độ chính xác MAP của k-Faces với nhiều giá trị k khác nhau 41
Hình 3.9 Chi phí tính toán của k-Faces với nhiều giá trị k khác nhau. 42
Hình 3.10 Độ chính xác MAP của phương pháp k-Faces khi chia đoạn đều nhau
so với kết hợp gom nhóm k-means. 43

Hình 3.11 Chi phí tính toán của phương pháp k-Faces khi chia đoạn đều nhau so
với kết hợp gom nhóm k-means. 44

Hình 3.12 Chi phí tính toán của phương pháp k-Faces khi chia đoạn đều nhau so
với kết hợp gom nhóm k-means. 44

Hình 3.13 Kết hợp phản hồi liên quan có thể cải thiện chất lượng truy tìm. 46

Hình A - 1 Bộ phát hiện mặt người Viola-Jones. 53

Hình A - 2 Các dạng đặc trưng Haar cơ bản. 54
Hình A - 3 Các dạng đặc trưng Haar mở rộng từ đặc trưng Haar cơ bản. 55
Hình A - 4 Cách tính ảnh tích phân theo tham chiếu 4 điểm 56
Hình A - 5 Ví dụ bộ phân lớp nhiều tầng. 56
Hình A - 6 Thuật toán AdaBoost 57
Hình A - 7 Thuật toán rút trích face-track của Ngo et al. 60

Hình A - 8 Phát sinh các điểm quan tâm mới khi xuất hiện khuôn mặt mới. 60

Hình B - 1 Tập láng giềng đối xứng tròn của các giá trị (P, R) khác nhau. 62

Hình B - 2 Ba mươi sáu mẫu nhị phân bất biến theo phép quay phân biệt có thể
xuất hiện trong tập lân cận đối xứng tròn của
ri
R
LBP
,8
. 64
4

Chương 1 BÀI TOÁN TRUY TÌM NHÂN VẬT
TRONG CÁC KHO DỮ LIỆU VIDEO LỚN

1.1. Giới thiệu bài toán
Truy tìm nhân vật trong các kho dữ liệu video lớn là một trong những bài
toán quan trọng của lĩnh vực xử lí ảnh và video số. Mục tiêu nghiên cứu của bài
toán là: đề xuất giải pháp tìm kiếm hiệu quả và nhanh chóng các đoạn video trong
những cơ sở dữ liệu kích thước lớn sao cho nhân vật trong đó phù hợp với yêu cầu
truy vấn. Một cách cụ thể, cho kho dữ liệu D có kích thước lớn (từ vài trăm đến vài
ngàn giờ video), gồm nhiều đoạn video chứa những nhân vật khác nhau, người dùng
muốn tìm nhân vật X, làm thế nào để tìm trong D các đoạn video chứa X một cách
chính xác theo thời gian thực?
Bài toán ra đời xuất phát từ mối quan tâm của con người đối với những nhân
vật đặc biệt và sự kiện liên quan. Ví dụ, nhà hoạt động chính trị quan tâm đến
nhiệm kì tổng thống của George W. Bush sẽ tìm các bản tin liên quan đế
n Bush,
hoặc người hâm mộ diễn viên Julia Roberts muốn tìm những trích đoạn phim có cô

xuất hiện. Bên cạnh đó, việc tìm ra các đoạn video có sự hiện diện của một nhân vật
còn giúp ta biết được các sự kiện quan trọng liên quan. Ví dụ từ những đoạn video
chứa George W. Bush hoặc Saddam Hussein, ta có thể nắm được diễn tiến cuộc
chiến tranh tại Iraq và động thái của hai bên.
Đối tượng chính được nghiên cứu trong bài toán Truy tìm nhân vậ
t là mặt
người (face). Mặt người là thông tin quan trọng trong video, đặc biệt với các
chương trình tin tức, kịch, và phim ảnh. Bằng cách rút trích chuỗi mặt người từ
video, ta có thể đưa vào thực tế các ứng dụng như Truy tìm mặt người, Chú thích
mặt người và Đánh chỉ mục video. Tuy nhiên, đây là một nhiệm vụ đầy thử thách do
mặt người có độ đa dạng cao về tư thế,
điều kiện chiếu sáng, tình trạng che khuất,
kiểu tóc và biểu cảm (xem Hình 1.1) [23].
5


Hình 1.1 Sự đa dạng về biểu cảm, tư thế, điều kiện chiếu sáng và tình trạng che khuất
của mặt người.

Bài toán Truy tìm nhân vật trên ảnh tĩnh thông thường được giải quyết bằng
cách ước lượng độ tương tự của mặt trong kho dữ liệu với mặt truy vấn. Ta cũng có
thể áp dụng phương pháp tương tự khi xử lí trên video. Thế nhưng do mặt người có
độ đa dạng cao, đặc biệt là trong dữ liệu thực tế, việc sử dụng mặt đơn lẻ có thể đem
l
ại kết quả không như ý. Một nghiên cứu gần đây của Berg et al. [3] cho thấy hiệu
suất nhận dạng giảm đáng kể từ 80-90% xuống còn 25-30% khi sử dụng dữ liệu ảnh
thực tế trích từ bản tin Internet thay vì dữ liệu được tạo trong điều kiện kiểm soát
tốt. Để tăng hiệu quả của các ứng dụng truy tìm và nhận dạng mặt người, ta cần có
nhiều trạng thái khuôn mặt khác nhau cho một nhân vật [1][7][26]. Video có thể
cung cấp cho chúng ta những tập dữ liệu như thế. Như vậy, muốn giải quyết tốt bài

toán Truy tìm nhân vật trên dữ liệu video, không chỉ xét một mặt đơn lẻ mà phải sử
dụng tập hợp các trạng thái mặt khác nhau. Trên thực tế, nhiều công trình đương đại
trong lĩnh vực video số đã phát triển theo hướng tiếp cận này [7][20][24].
Bên cạ
nh đó, nhờ sự phát triển của công nghệ máy tính, việc hình thành các
kho dữ liệu ảnh và video lớn trở nên dễ dàng hơn bao giờ hết đối với người dùng.
Có khá nhiều tập dữ liệu được công bố trong cộng đồng nghiên cứu nhận dạng mặt
người, chẳng hạn như NIST/FERET (), CMU/MOBO
() và Honda/UCSD ( Tuy
nhiên, dữ liệu xây dựng trong phòng thí nghiệm thường không thể hiện được hết sự
đa dạng trong thế giới thực và số lượng mặt giới hạn ở mức vài ngàn. Người ta
hướng đến những dạng dữ liệu thực tế như bản tin truyền hình, phim truyện…, với
thời lượng tính ở mức hàng trăm giờ video và số lượng mặt lên đến vài trăm ngàn
6

hoặc vài triệu, chẳng hạn như tập dữ liệu tin tức TRECVID (2004→2006: 370 giờ
video, 20 triệu ảnh khuôn mặt), NHK (2001→2009: 1500 giờ), BBC…. Điều này
dẫn đến tình trạng một số giải pháp truy tìm truyền thống sẽ trở nên không hiệu quả
đối với dữ liệu khổng lồ. Do đó cần thiết phải có những công cụ hiệu quả và mạnh
mẽ để
đánh chỉ mục và truy tìm trong những kho dữ liệu khổng lồ đó. Hơn nữa, các
công cụ này phải có khả năng xử lí thông tin thị giác để đưa đến người dùng những
kết quả ý nghĩa hơn [12]. Bài toán còn có vai trò đặc biệt quan trọng khi ta muốn
xây dựng một hệ thống Truy tìm nhân vật có thể vận hành trong thực tế, nơi mà độ
chính xác và tốc độ là hai yếu tố được đặt lên hàng đầu.

1.2. Định nghĩa face-track
Như đã đề cập trong phần 1.1, phát hiện và nhận dạng mặt người là bài toán
đầy thử thách trong lĩnh vực thị giác máy tính và nhận dạng mẫu vì tính đa dạng của
mặt người với những thay đổi về tư thế, biểu cảm, điều kiện chiếu sáng và tình

trạng che khuất. Hầu hết công trình nghiên cứu tập trung trên ảnh tĩnh hơn là video.
Một nghiên cứu gần đây củ
a Berg et al. cho thấy hiệu suất nhận dạng giảm đáng kể
từ 80-90% xuống còn 25-30% khi sử dụng dữ liệu ảnh thực tế trích từ bản tin
Internet thay vì dữ liệu được tạo trong điều kiện kiểm soát tốt [3]. Để tăng hiệu quả
của các ứng dụng truy tìm và nhận dạng mặt người, ta cần có nhiều trạng thái khuôn
mặt khác nhau cho một nhân vật [1][7][26]. Video có thể cung cấp cho chúng ta
nhữ
ng tập dữ liệu như thế, ta gọi đó là face-track.

Hình 1.2 Cách thức xây dựng face-track từ tập hợp mặt trong video shot.

7

Cho trước một tập khuôn mặt thuộc một video shot. Tập mặt này được phát
hiện bởi một bộ dò tìm mặt người tùy ý, ví dụ bộ dò tìm mặt người Viola-Jones
trong thư viện OpenCV [29]. Face-track là tập hợp các khuôn mặt sao cho chỉ
thuộc một người duy nhất và được sắp xếp theo thứ tự thời gian xuất hiện (xem
hình 1.2). Do rất khó phát hiện mặt nhìn nghiêng, đặc biệt là trong video, nên chủ
yếu chỉ có mặ
t chính diện được xử lí.

1.3. Phát biểu bài toán
Bài toán Truy tìm nhân vật trong các kho dữ liệu video là một trong những
bài toán dạng Truy tìm thông tin phổ biến. Mục tiêu chính của bài toán là đề xuất
giải pháp truy tìm hiệu quả và nhanh chóng các đoạn video trong cơ sở dữ liệu kích
thước lớn sao cho nhân vật trong đó phù hợp với yêu cầu truy vấn. Điều này càng
có ý nghĩa khi cơ sở dữ liệu của chúng ta là những kho video với kích thước khổng
lồ. Một cách cụ thể, hệ thống Truy tìm nhân vậ
t cần có công cụ hiệu quả để ước

lượng độ tương tự giữa những đối tượng video trong cơ sở dữ liệu và đối tượng
video truy vấn. Đối tượng video có thể là toàn bộ tài liệu video, video shot, hoặc
chuỗi mặt rút trích từ video shot…Luận văn tập trung giải quyết bài toán trong
phạm vi đối tượng video là face-track, chuỗi mặt rút trích từ video shot theo từng
nhân vật, vì đã có nhiều đặc trưng t
ốt để biểu diễn mặt người (ví dụ PCA, LBP…),
trong khi đó, vẫn chưa có đặc trưng đủ tốt để biểu diễn toàn bộ khung hình (frame)
nên khó có thể so khớp tổng quát trên khung hình. Ngoài ra, luận văn đặt giả thiết
chỉ xử lí mặt chính diện do đã có bộ phát hiện khuôn mặt đủ mạnh để làm điều này.
Cho trước cơ sở dữ liệu video gồm tập hợp các face-track c
ủa nhiều nhân
vật khác nhau. Gọi Q là face-track truy vấn, lần lượt ước lượng độ tương tự s
i
giữa
Q và các face-track F
i
trong cơ sở dữ liệu. Kết quả trả ra là danh sách L = {F
1
’,
F
2
’,…, F
m
’}, với m là số lượng face-track liên quan cần trả về, F
i
’ là face-track liên
quan, sao cho L được sắp xếp theo thứ tự giảm dần (hoặc tăng dần) của độ tương
tự s
i
. (xem Hình 1.3).

8


Hình 1.3 Bài toán Truy tìm nhân vật trong các kho dữ liệu video.

1.4. Các hướng tiếp cận giải quyết bài toán
Có nhiều hướng tiếp cận khác nhau để giải quyết bài toán Truy tìm nhân vật
dựa trên khuôn mặt. Hướng tiếp cận thứ nhất kết hợp thông tin văn bản, ví dụ lời
chú thích của bức ảnh hay kịch bản nói trong video, với thông tin thị giác. D. Ozkan
và P. Duygulu [18] dùng câu truy vấn giới hạn không gian tìm kiếm dựa trên quan
sát: nhân vật thường xuất hiện trên video xung quanh thời điểm người này được
nhắc đến trong kịch bản. Tiếp đ
ó, xây dựng đồ thị liên kết các mặt trong không gian
tìm kiếm, với mỗi nút là mặt và trọng số cạnh nối các nút là độ tương tự giữa các
mặt (xem Hình 1.4). Bằng cách giả thiết rằng số mặt của nhân vật cần tìm lớn hơn
nhiều so với của những người khác và chúng hình thành tập con tương đồng nhau
nhất trong số những mặt tìm được, bài toán được xem là tương đương với bài toán
tìm đồ thị
con có mật độ dày nhất từ đồ thị đầy đủ. Cuối cùng, nhóm tác giả sử dụng
kết quả này để nhận diện mặt mới. Mặc dù kết quả thực nghiệm đã chứng minh hiệu
quả của phương pháp này, nhưng người ta vẫn đặt nghi vấn liệu rằng đồ thị con có
mật độ dày nhất có mô tả được một cách trực quan mọi mặt liên quan đế
n nhân vật
truy vấn hay không. Hơn nữa, chọn ngưỡng tối ưu để chuyển đồ thị ban đầu thành
đồ thị nhị phân là tác vụ khó và hơi khác thường do giới hạn về số chiều không
9

gian. Trong [14], tác giả tinh chỉnh tập kết quả truy tìm bằng cách mở rộng câu truy
vấn ban đầu nhằm xác định các mẫu âm (nhận diện sai) và tách chúng ra khỏi tập
kết quả. Khi tìm một nhân vật A, ta không chỉ xét các đoạn video chứa A mà còn xét

những đoạn video có “bạn bè” của A (người thường xuyên cùng xuất hiện với A)
(xem Hình 1.5). Kết quả truy tìm trên truy vấn mở rộng cho phép ta loại bỏ nhữ
ng
mẫu trong tập kết quả gốc có độ tương tự cao với kết quả truy vấn mở rộng. Ví dụ,
giả sử trong các lời chú thích chứa nhân vật truy vấn Tony Blair, George Bush và
Gordon Brown cùng xuất hiện thường xuyên. Bằng cách mở rộng truy vấn trên đối
tượng George Bush và Gordon Brown, ta có thể loại những chuỗi mặt trong tập kết
quả ban đầu rất giống với chuỗi mặt khi truy vấn George Bush hay Gordon Brown.

Hình 1.4 Xây dựng đồ thị liên kết từ câu truy vấn.

Hướng tiếp cận thứ nhất có ưu điểm là kết hợp thông tin văn bản để tăng độ
chính xác truy tìm. Tuy nhiên, văn bản không phải lúc nào cũng sẵn sàng, đặc biệt
là đối với những kho dữ liệu lớn. Một trở ngại khác là văn bản nhiều lúc không
trùng khớp với khung hình, dẫn đến hậu quả là đoạn video tương ứng không chứa
người nào hoặc còn có sự
xuất hiện của người khác nhưng không được ghi nhận.
Hình 1.6 cho ta ví dụ về sự lệch pha giữa thông tin văn bản và thông tin thị giác. Ở
hình bên trái, Hillary Clinton được đề cập trong văn bản nhưng không thể rút trích
mặt để nhận dạng vì nhân vật đứng quay lưng về phía ống kính; tương tự, hình bên
phải, văn bản đề cập tổng thống George W. Bush và phó tổng thống Dick Cheney
nhưng trên ảnh tương ứng lạ
i là Nhà Trắng. Những trở ngại khách quan từ tình
10

trạng sẵn sàng của dữ liệu văn bản đã khiến cho các phương pháp theo hướng này
mất đi ít nhiều tính tổng quát.




Hình 1.5 Sự cùng xuất hiện của nhân vật truy tìm và “bạn bè”.
Nhân vật truy vấn được đánh dấu bằng chữ in nghiêng, các nhân vật phát hiện được có tên
in đậm và các hình chữ nhật xác định vùng mặt đã phát hiện.


Hình 1.6 Sự lệch pha giữa thông tin văn bản và thông tin thị giác.

Hướng tiếp cận thứ hai giải quyết bài toán dựa trên thông tin thị giác. So với
hướng thứ nhất, các phương pháp thuộc hướng thứ hai có khả năng áp dụng rộng rãi
hơn do không bị giới hạn bởi yêu cầu dữ liệu văn bản. Trong [24], Satoh và
Katayama đề xuất hai phương pháp so khớp mặt người sử dụng chuỗi mặt: Best
Frontal View Selection (BFVS) và Closest Pair (CP) (xem Hình 1.7). Phương pháp
BFVS chọn cho mỗi chuỗi mặt một mặ
t chính diện nhất và xem khoảng cách giữa
hai ảnh chính diện này là khoảng cách của hai chuỗi mặt tương ứng. Tuy nhiên,
phương pháp này tồn tại những vấn đề cố hữu: không thể phân biệt mặt phi chính
11

diện và không xử lí được sự đa dạng về biểu cảm. Trong khi đó, CP dựa trên ý
tưởng: khi hai chuỗi mặt thuộc cùng một người, cặp mặt gần nhau nhất sẽ tương tự
nhau về tư thế, biểu cảm,… Phương pháp này hoạt động tốt trong đa số trường hợp
vì: 1) Mỗi chuỗi mặt chỉ thuộc về một người duy nhất, 2) Chuỗi mặ
t đủ đa dạng về
tư thế, biểu cảm để tồn tại một cặp mặt gần nhau nhất có đặc điểm tương tự nhau.
Trong [23], Satoh đề xuất một số phương pháp so khớp mặt người áp dụng cho
video bằng cách mở rộng so khớp mặt trên ảnh tĩnh, các kĩ thuật nhận dạng mẫu
truyền thống và tiên tiến. A. Hadid và M. Pietikäinen [9] đưa ra phương pháp rút
trích m
ẫu đại diện sử dụng LLE (Local Linearly Embedding), đồng thời thực
nghiệm so sánh tác động của yếu tố độ dài chuỗi mặt người và chất lượng ảnh lên

hai dạng biểu diễn thông tin: 1) Kết hợp không gian và thời gian, 2) Dựa trên ảnh
tĩnh. Phương pháp phổ biến nhất hiện nay là dựa trên khoảng cách min-min, trong
đó khoảng cách giữa hai chuỗi mặt được ước lượng bằng khoảng cách của cặp mặt
trùng khớp nhau nhất. Phương pháp này có khả năng so khớp chuỗi mặt người với
độ chính xác cao, tuy nhiên, do phải ước lượng khoảng cách cho mọi cặp mặt nên
chi phí tính toán vô cùng lớn. Sự cân bằng về độ chính xác và chi phí tính toán là
vấn đề nan giải khi xây dựng hệ thống Truy tìm nhân vật trong thực tế.
Bên cạnh đó, vẫn chưa có nhiều công trình đề cập đến vấn đề so khớp mặt
người đối với các tập d
ữ liệu kích thước lớn. Những công trình hiện nay thường chỉ
được kiểm chứng trên dữ liệu nhỏ, không đủ tính tổng quát. Ví dụ, Sivic et al. [25]
xây dựng một hệ thống Truy tìm nhân vật cho hai bộ phim “Groundhog Day” và
“Pretty Woman”. Hiệu quả của phương pháp đề xuất được đánh giá trên 38.846 mặt
từ phim “Pretty Woman”. Everingham et al. [7] sử dụng hai phần trong phim truyền
hình nhiều tập “Buffy the Vampire Slayer” với tổng số mặt là 49.477; Berg et al. [4]
xây dựng tập dữ liệu gồ
m 34.623 mặt từ 44,777 mặt trích từ ảnh tin tức của Yahoo
News. Công trình toàn diện nhất là của Ramanan et al. [20], gồm 11 năm phim
truyền hình nhiều tập Friend, 611.770 mặt với sự đa dạng về tuổi, cân nặng, kiểu
tóc…. Tuy nhiên, giới hạn của công trình này ở chỗ số nhân vật quá ít, chỉ có 6
nhân vật chính thường xuất hiện.
12


Hình 1.7 So khớp chuỗi mặt người theo phương pháp BFVS và CP.

1.5. Đề xuất phương pháp so khớp mặt người k-Faces
Một hệ thống Truy tìm nhân vật muốn có khả năng truy tìm chính xác và
nhanh chóng thì cần có bộ ước lượng độ tương tự giữa các đối tượng (trong ngữ
cảnh này là face-track) hiệu quả. Các phương pháp so khớp phổ biến hiện nay có độ

chính xác chấp nhận được nhưng chi phí tính toán lại quá lớn, ví dụ phương pháp
min-min (xem Phần 1.4) phải xét khoảng cách của toàn bộ các cặp mặt giữa hai
chuỗi mặt để chọn ra cặ
p có khoảng cách nhỏ nhất. Trở ngại này khiến cho các hệ
thống Truy tìm nhân vật khó có thể hoạt động tốt theo thời gian thực. Luận văn
nghiên cứu và đề xuất phương pháp so khớp mặt người k-Faces, có khả năng ước
lượng sự tương tự với độ chính xác tương đương nhưng vẫn duy trì chi phí tính toán
ở mức thấp. Luận văn chọn đi theo hướng tiếp cận thứ hai, chỉ
sử dụng thông tin thị
giác, nhằm đề ra phương pháp có thể áp dụng tổng quát trên mọi dữ liệu, độc lập
với yêu cầu văn bản hỗ trợ.
13

k-Faces có khả năng ước lượng chính xác trong khi vẫn duy trì chi phí tính
toán thấp. Để truy tìm hiệu quả, các mặt của cùng một người xuất hiện trong từng
shot được gom thành một face-track bằng một phương pháp theo vết đáng tin cậy.
Quá trình truy tìm được thực hiện bằng cách ước lượng độ tương tự giữa face-track
trong cơ sở dữ liệu và face-track truy vấn. Với mỗi face-track, ta chọn một đại diện
và độ tươ
ng tự giữa hai face-track là độ tương tự giữa hai đại diện tương ứng (xem
Hình 1.8). Mặt đại diện là giá trị trung bình của một tập con gồm k ảnh, được chọn
ra từ tập các mặt ban đầu trong face-track. Theo cách này, phương pháp có thể giải
quyết được sự đa dạng của mặt người đồng thời giảm bớt số phép tính khoảng cách
giữa các mặt. Phương pháp đề xuất có
độ chính xác tương đương với các phương
pháp phổ biến theo hướng tiếp cận xét toàn bộ face-track, trong khi chi phí thấp hơn
rất nhiều (tốc độ nhanh hơn khoảng 6.500 lần).

Hình 1.8 Ý tưởng so khớp của phương pháp so khớp k-Faces.


k-Faces có khả năng hoạt động trên dữ liệu kích thước lớn do ưu thế về mặt
chi phí tính toán. Phương pháp đã chứng tỏ được hiệu quả khi thực nghiệm trên cơ
sở dữ liệu lớn TRECVID gồm 370 giờ video với 20 triệu mặt (150.000 face-track).
Đây là cơ sở dữ liệu có kích thước lớn nhất mà những công trình từ trước đến nay
chưa đề cập đến, do đó, nó
đủ để kiểm chứng khả năng hoạt động của phương pháp
đề xuất trên các kho dữ liệu video lớn.
Phương pháp k-Faces sẽ được trình bày chi tiết về cách chọn đại diện trong
trong Chương 2, mục 2.5.3.

14

Chương 2 HỆ THỐNG TRUY TÌM NHÂN VẬT
TRONG CÁC KHO DỮ LIỆU VIDEO LỚN

Trong phần này luận văn xây dựng một hệ thống Truy tìm nhân vật trong các
kho dữ liệu video lớn. Mục tiêu của việc xây dựng hệ thống là cung cấp cho người
dùng một ứng dụng Truy tìm nhân vật hiệu quả và nhanh chóng trên dữ liệu thực tế
kích thước lớn. Bên cạnh đó, nhờ vào thiết kế dạng mô đun riêng rẽ, hệ thống còn là
một framework tổng quát cho phép đánh giá hiệu quả của các phươ
ng pháp truy tìm
nhân vật khác nhau, cũng như tác động của việc lựa chọn đặc trưng. Hệ thống được
tich hợp thêm chức năng phản hồi liên quan, sử dụng thông tin đánh giá liên
quan/không liên quan của người dùng trên kết quả trả về để tinh chỉnh lại danh sách
xếp hạng face-track liên quan.

2.1. Mô hình hệ thống Truy tìm nhân vật trong các kho dữ
liệu video lớn
Hệ thống Truy tìm nhân vật được đề xuất có cấu trúc được tổ chức như sau:
• Đầu vào: face-track truy vấn Q

• Đầu ra: danh sách L chứa các face-track liên quan được xếp hạng giảm dần
(hoặc tăng dần) theo mức độ tương tự với truy vấn Q.
• Cơ sở dữ liệu: là tập hợp các face-track của nhiều nhân vật khác nhau.
• Bao gồm hai mô đun chính là mô đun tiề
n xử lí và mô đun xử lí trung tâm.
• Mô đun tiền xử lí: được thực thi khi dữ liệu đầu vào không đáp ứng yêu cầu
của hệ thống, cụ thể là video nguyên bản thay vì face-track.
- Bước 1 – Phát hiện ranh giới shot: tách shot từ video nguyên bản
bằng các phương pháp phát hiện ranh giới shot, ví dụ: histograms,
hiệu số điểm ảnh.
15

- Bước 2 – Phát hiện mặt người: áp dụng bộ phát hiện mặt người, ví
dụ bộ phát hiện mặt người Viola-Jones của thư viện OpenCV, để
xác định tất cả khuôn mặt có trong từng video shot.
- Bước 3 – Rút trích face-track: xây dựng face-track từ tập hợp mặt
phát hiện được ở bước 2 sao cho mỗi face-track chỉ chứa mặt của
của cùng một nhân vật, bằng cách áp dụng những ph
ương pháp
hiệu quả như [7], [16]
• Mô đun xử lí trung tâm: thực hiện các bước chủ chốt nhằm giải quyết bài
toán Truy tìm nhân vật, bao gồm rút trích đặc trưng biểu diễn face-track, ước
lượng độ tương tự giữa các face-track và xây dựng danh sách xếp hạng trả về
cho người dùng.
- Bước 4 – Rút trích đặc trưng: sử dụng đặc trưng thị giác, ví dụ PCA,
Local Binary Pattern, Color Moments, để biểu diễn mặ
t người. Mỗi
vectơ đặc trưng đa chiều biểu diễn một mặt, như vậy face-track có N
mặt sẽ được biểu diễn bằng một tập hợp gồm N vectơ đặc trưng.
- Bước 5 – So khớp face-track: được thực hiện trên đối tượng vectơ

đặc trưng, thay vì ảnh nguyên thủy. Khoảng cách giữa hai mặt là
khoảng cách giữa hai vectơ đặc tr
ưng tương ứng. Độ tương tự của
face-track trong cơ sở dữ liệu và face-track truy vấn được đánh giá
bằng khoảng cách (theo độ đo Euclide, Manhattan…) giữa hai face-
track. Lưu ý rằng độ đo sự tương tự khác nhau về bản chất so với độ
đo khoảng cách, hai face-track có khoảng cách càng nhỏ thì độ tương
tự càng lớn và ngược lại.
- Bước 6 – Xây dựng danh sách xếp hạng cách face-track liên quan:
Căn cứ
vào độ tương tự đối với truy vấn, các face-track trong cơ sở
dữ liệu được sắp xếp theo thứ tự giảm dần của độ tương tự, m face-
track liên quan đầu tiên được chọn trả về cho người dùng.


16


Hình 2.1 Mô hình hệ thống Truy tìm nhân vật được đề xuất


17

2.2. Các kĩ thuật tiền xử lí
2.2.1. Kĩ thuật phát hiện ranh giới video shot
Shot là một chuỗi gồm các khung hình liên tiếp nhau từ một máy quay [5].
Như vậy, một đoạn phim chuyển cảnh qua lại giữa hai người sẽ chứa nhiều shot
khác nhau (xem Hình 2.2). Cảnh là tập hợp của một hay nhiều shot liền nhau, tập
trung vào một hay nhiều đối tượng được quan tâm. Ví dụ, một người đi dọc hành
lang bước vào phòng là một cảnh, mặt dù trong đó có thể có nhiều góc quay. Ba

shot chiếu ba người khác nhau đi d
ọc hành lang cũng có thể là một cảnh nếu đối
tượng quan trọng là hành lang chứ không phải người.
(a)

(b)

Hình 2.2 Ví dụ một cảnh phim có chứa nhiều shot.
a) Cảnh phim về cuộc đối thoại giữa nhân vật nam (A) và nhân vật nữ (B). (b) Ranh giới
shot được xác định tại mỗi thời điểm chuyển góc quay từ A sang B và ngược lại.


Có nhiều dạng chuyển trạng thái, hay còn gọi là ranh giới shot, khác nhau.
- Cut là chuyển shot đột ngột, chỉ xảy ra trong một khung hình.
- Fade là chuyển biến chậm về độ sáng, thường sẽ kết thúc hoặc bắt
đầu bằng một khung hình toàn màu đen.
- Dissolve xuất hiện khi ảnh của shot thứ nhất mờ đi và ảnh của shot
thứ hai sáng lên, các khung hình trong quá trình chuyển biến cho
thấy ảnh của shot này chồng lên
ảnh của shot kia.
- Wipe xuất hiện khi các điểm ảnh từ shot thứ hai thay thế điểm ảnh
của shot thứ nhất theo một mẫu thông dụng, ví dụ đường thẳng từ
cạnh trái của khung hình.
18

- Ngoài ra còn có nhiều dạng chuyển shot dần dần khác.
Để giải quyết bài toán phát ranh giới video shot, ta có các phương pháp phổ
biến như: hiệu số điểm ảnh, hiệu số thống kê, histograms, hiệu số độ nén, theo vết
cạnh và vectơ chuyển động [5]. Trong đó histograms là phương pháp phổ biến nhất
do đặc tính cài đặt đơn giản nhưng lại có khả năng giữ cân bằng tốt giữa độ

chính
xác và tốc độ [31].

2.2.2. Kĩ thuật phát hiện mặt người
Phát hiện mặt người (face detection) là kỹ thuật xác định vị trí và kích thước
của mặt người trong một ảnh. Nó phát hiện các chi tiết thuộc về mặt và bỏ qua
những thứ khác như tòa nhà, cây cối, và thân người (xem Hình 2.3).

Hình 2.3 Kĩ thuật phát hiện mặt người xác định các vùng mặt có trong ảnh.

Trước khi kĩ thuật boosting ra đời, sử dụng mạng nơron để phát hiện mặt
người là phương pháp tiên tiến nhất [21]. Phương pháp này có độ chính xác cao
nhưng bù lại thời gian xử lí cho một ảnh khoảng 320×240 điểm ảnh có thể mất đến
vài giây. Phương pháp của Paul Viola và Michael Jones [29], bằng cách tận dụng
boosting, đã làm giảm thời gian phát hiện đáng kể, chỉ trong mức mili giây. Bộ phát
hiện mặt người Viola-Jones ho
ạt động trên nguyên tắc bộ phân lớp nhiều tầng.
Vùng ảnh nào đi qua hết các bộ phân lớp sẽ được nhận dạng là mặt người, ngược
lại, nếu thất bại tại một bước bất kì, vùng ảnh đó không phải mặt người (xem Hình
19

2.4). Ngoài ra, những kĩ thuật trước Viola-Jones chỉ tập trung xử lí mặt chính diện,
trong khi đó, Viola-Jones có khả năng xử lí khá tốt cả mặt nhìn nghiêng.


Hình 2.4 Bộ phát hiện mặt người Viola-Jones.

Phương pháp phát hiện mặt người Viola-Jones kết hợp bốn kĩ thuật chính:
• Đặc trưng hình chữ nhật đơn giản, được gọi là đặc trưng Haar
• Ảnh tích phân (integral image) để tính toán đặc trưng nhanh chóng

• Bộ phân lớp nhiều tầng để kết hợp một cách hiệu quả nhiều đặc trưng
• Thuật toán máy học AdaBoost của Freund và Schapire
Các yếu tố này kết hợp thành một h
ệ tổng thể, bộ phát hiện mặt người Viola-
Jones. Trong [29], nhóm tác giả đã tiến hành thực nghiệm trên máy tính Pentium III
700MHz, bộ phát hiện mặt người Viola-Jones có thể xử lí một ảnh 384×288 trong
khoảng 0,067 giây, nhanh hơn gấp 15 lần bộ phát hiện mặt người Rowley-Baluja-
Kanade [21], và nhanh hơn 600 lần so với bộ Schneiderman-Kanade. Trong khi đó,
phương pháp Viola-Jones cũng đạt độ chính xác tương đương hoặc cao hơn những
những công trình cùng đề tài. Hiện nay, phương pháp này đã đượ
c cài đặt tích hợp
trong bộ thư viện OpenCV và trở thành một công cụ đắc lực cho các nhà nghiên cứu
bài toán phát hiện mặt người.

×