Tải bản đầy đủ (.docx) (42 trang)

Thuật toán nhận diện mặt người sử dụng Adabost

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 (695.61 KB, 42 trang )

BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-------------------------------------

NGHIÊN CỨU KHOA HỌC
SINH VIÊN

Đề tài: “Nghiên cứu, tìm hiểu lớp thuật toán
phát hiện nhanh đối tượng”

Người hướng dẫn :

Phạm Văn Sự

Sinh viên thực hiện:

Phùng Văn Nam
Phan Minh Nghĩa

Lớp:

D12DT3

Hệ:

Đại học

HÀ NỘI – NĂM 2015


BỘ THÔNG TIN VÀ TRUYỀN THÔNG


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-------------------------------------

BÁO CÁO
Môn: Thị giác máy tính

Đề tài: “Nhận dạng mặt người”

Người hướng dẫn :

TS. Lê Ngọc Thúy

Sinh viên thực hiện:

Phùng Văn Nam
Nguyễn Thị Thanh Vân
Đinh Công Nhật
Phạm Thị Liên
Nguyễn Văn Sơn
Lê Cao Nguyên

Hà Nội, ngày 26 tháng 4 năm 2016



PHỤ LỤC
Phụ lục A : Danh sách các thuật ngữ dùng trong đề tài
Thuật ngữ

Giải thích


Classifier
(bộ phân loại)

Một bộ phân loại được xây dựng theo một thuật toán học
máy nào đấy, dùng để phân loại các đối tượng (khuôn
mặt hay không phải khuôn mặt)

False alarm

Là tỉ lệ nhận dạng sai của các bộ phân loại

Feature
(đặc trưng)

Các thông tin giúp nhận biết đối tượng.

Haar-like feature Các đặc trưng của đối tượng trong ảnh. Các đặc trưng
này thường được định nghĩa bằng các tính toán với tổng
điểm ảnh của một vùng nào đó trên bức ảnh.
Hit rate

Là tỉ lệ nhận dạng đúng của các bộ phân loại

Max false alarm

Đạt được tỉ lệ sai này thì bộ phân loại được xây dựng
thành công, tỉ lệ sai này là một giá trị bé, có thể chấp
nhận được trong bài toán phân loại.


Strong classifier
(bộ phân loại
mạnh)

Bộ phân loại được xây dựng từ nhiều bộ phân loại yếu,
có độ chính xác cao.

Threshold
(ngưỡng)

Ngưỡng là giá trị ranh giới giữa các lớp, giá trị của
ngưỡng thường được chọn từ thực nghiệm. Chọn giá trị
thích hợp nhất để hợp thành các bộ phân loại yếu.

Weak classifier
(bộ phân loại yếu)

ADABOOST

Bộ phân loại đơn giản có độ chính xác khoảng 50%.

Page 4


Phụ lục B: Danh sách các hình vẽ

Hình 1: Ví dụ về mô hình Template Matching

Trang 11


Hình 2: Ví dụ về trượt mẫu so sánh

Trang 11

Hình 3: Ví dụ điểm sáng giá nhất trong mô hình Template Matching

Trang 12

Hình 4: Tổng quan về hệ thống phát hiện đối tượng trong ảnh

Trang 14

Hình 5: 4 đặt trưng Haar-like cơ bản

Trang 16

Hình 6: Các đặc trưng mở rộng của các đặc trưng Haar-like cơ sở

Trang 16

Hình 7: Cách tính Integral Image của ảnh

Trang 17

Hình 8: Ví dụ cách tính nhanh tổng các điểm ảnh của vùng D trên Trang 18
ảnh
Hình 9: Ví dụ cách tính nhanh tổng điểm ảnh của vùng D trên ảnh Trang 18
với các đặc trưng xoay 45o
Hình 10: Boosting


Trang 20

Hình 11:Sơ đồ khối mô tả quá trình huấn luyện mẫu

Trang 26

Hình 12: cascade of classifiers

Trang 29

Hình 13: Cascade of boosting classifiers

Trang 30

Hình 14: Nhận dạng khuôn mặt bằng opencv

Trang 32

ADABOOST

Page 5


LỜI CẢM ƠN
Sau một thời gian dài học tập và nghiên cứu, cuối cùng chúng em cũng đã
hoàn thành đề tài này, đây là dịp tốt nhất để em có thể gửi lời cảm ơn đến mọi
người.
Em xin cảm ơn khoa Kỹ thuật điện – điện tử, Trường Học Viên Công Nghệ
Bưu Chính Viễn Thông, cảm ơn các thầy cô trong khoa đã tận tình giảng dậy,
truyền đạt cho em những kiến thức quý báu trong những năm học vừa qua, giúp

cho em có một nền tảng kiến thức vững chắc để thực hiện đề tài cũng như
nghiên cứu học tập sau này.
Cuối cùng, em kính chúc quý Thầy, Cô dồi dào sức khỏe và thành công trong
sự nghiệp cao quý.
Chúng em xin chân thành cảm ơn!
Trân trọng kính chào

ADABOOST

Page 6


MỞ ĐẦU
Công nghệ thông tin đang được ứng dụng trong mọi lĩnh vực của cuộc sống.
Với một hệ thống máy tính, chúng ta có thể làm được rất nhiều việc, tiết kiện
thời gian và công sức. Điển hình như công việc nhận dạng đối tượng. Ngày xưa,
muốn giúp tìm và nhận biết các đối tượng là vô cùng khó khăn như nhận dạng
mặt, vân tay, mắt,…. Ngày nay, công việc đấy đã được làm một cách tự động
nhờ các hệ thống nhận dạng đối tượng. Phát hiện nhanh đối tượng trong ảnh là
một phần quan trọng của hệ thống nhận dạng đó, giải quyết tốt việc phát hiên
nhanh đối tượng sẽ giúp tiết kiệm thời gian và nâng cao độ chính xác của việc
nhận dạng đối tượng.
Phát hiện nhanh đối tượng cũng là một bài toán nhận dạng đơn giản, hệ thống
chỉ cần phân loại đối tượng đưa vào có phải giống mẫu (đối tượng) mà họ quan
tâm hay không. Ở mức độ cao hơn như đối với nhận dạng đối tượng là khuôn
mặt, sau khi đã phát hiện được đối tượng, các khuôn mặt đó sẽ được so sánh với
các khuôn mặt có trong dữ liệu để nhận dạng xem khuôn mặt đấy là của ai
(thường áp dụng trong nhận dạng khuôn mặt của người nổi tiếng hoặc của tội
phạm đang bị truy nã).
Bài toán phá hiện đối tượng được bắt đầu nghiên cứu từ rất sớm, và đã có rất

nhiều công trình nghiên cứu về phát hiện nhanh đối tượng trong ảnh, tuy nhiên
cho đến nay, các nhà khoa học vẫn không ngừng tìm các hướng tiếp cận mới,
các thuật toán mới nhằm nâng cao hiệu suất của việc phát hiện đối tượng cũng
như việc nhận dạng mặt người.
Với mục tiêu chính là tìm hiểu giải thuật adaboost, các đặc trưng haar-like,
mô hình Cascade of Classifiers, đồng thời áp dụng vào bài toán phát hiện đối
tượng trong ảnh, đề tài được trình bày trong bốn chương với bố cục như sau:
Chương 1: Tổng quan: Giới thiệu tổng quan về bài toán xác định đối tượng
trong ảnh, các ứng dụng và những khó khăn của bài toán, đồng thời xác định
phạm vi của đề tài.
Chương 2: Các hướng tiếp cận : Nêu chi tiết bài toán phát hiện đối tượng,
các hướng tiếp cận giải quyết bài toán, các nghiên cứu và thành quả đạt được
của các nhà nghiên cứu trong bài toán xác định đối tượng.

ADABOOST

Page 7


Chương 3: Cơ sở lý thuyết về thuật toán adaboost : Đi sâu vào hướng tiếp
cận dựa theo thuật toán học máy adaboost. Giới thiệu về các đặc trưng haar-like
của đối tượng, cách tính các đặc trưng haar-like. Tiếp theo là giới thiệu về mô
hình cascade of classifiers và cách áp dụng vào bài toán phát hiện đối tượng
trong ảnh.
Cuối cùng là kết luận và hướng phát triển: Tóm tắt những kết quả đạt được,
những hạn chế và nêu lên các hướng phát triển trong tương lai.

ADABOOST

Page 8



NỘI DUNG
CHƯƠNG 1: TỔNG QUAN
1. Giới thiệu về bài toán xác định nhanh đối tượng trong ảnh.
+ Trong nước : Cùng với sự hội nhập công nghệ và ứng dụng tiên tiến, môn
học Xử lý ảnh đã và đang trở thành một môn học chính trong nhiều chuyên
ngành như Khoa học máy tính, Xử lý tín hiệu và truyền thông,… Không chỉ
dừng lại là môn học lý thuyết, các kiến thức trang bị của môn Xử lý ảnh đã trở
thành nền tảng của nhiều ứng dụng. Tại Việt Nam đã có khá nhiều nghiên cứu
ứng dụng xử lý ảnh để giải quyết các bài toán thực tế như nhận dạng khuôn mặt,
nhận dạng vân tay, …
+ Quốc tế : Nhận dạng đối tượng là một lĩnh vực kết hợp giữa xử lý ảnh và
công nghệ thông tin đã được quan tâm bởi đông đảo các nhà nghiên cứu trên thế
giới. Đây là một mấu chốt cho việc tăng cường độ chính xác và chất lượng của
các hệ thống nhận dạng thời gian thực.
2. Định nghĩa bài toán phát hiện đối tượng.
Phát hiện nhanh đối tượng là một kỹ thuật máy tính để xác định các vị trí và
kích thước của các đối tượng trong các ảnh bất kì. Kỹ thuật này nhận biết các
đặc trưng của đối tượng và bỏ qua những thứ khác không phải đối tượng quan
tâm.
3. Các hướng tiếp cận
Dựa vào tính chất của các phương pháp xác định đối tượng trên ảnh, các
phương pháp này được chia thành bốn loại chính, tương ứng với bốn hướng tiếp
cận khác nhau. Ngoài ra cũng có rất nhiều nghiên cứu mà phương pháp xác định
đối tượng không chỉ dựa vào một hướng mà có liên quan đến nhiều hướng.
• Hướng tiếp cận dựa trên tri thức: Dựa vào các thuật toán, mã hóa các đặc trưng
và quan hệ giữa các đặc trưng của khuôn mặt thành các luật. Đây là hướng tiếp
cận theo kiểu top-down.
• Hướng tiếp cận dựa trên đặc trưng không thay đổi: Xây dựng các thuật toán để

tìm các đặc trưng không thay đổi khi không gian quan sát thay đổi.

ADABOOST

Page 9


• Hướng tiếp cận dựa trên so sánh khớp mẫu: Dùng các mẫu chuẩn theo tiêu
chuẩn đã được lưu trữ dữ liệu để có thể so sánh. Phương pháp này có thể dùng
để xác định vị trí của đối tượng đang cần được nghiên cứu.
• Hướng tiếp cận dựa trên diện mạo: Trái ngược với hướng tiếp cận dựa trên
khuôn mẫu, các mô hình (hay các mẫu) sẽ được học từ một tập ảnh huấn luyện
mà thể hiện tính chất tiêu biểu của sự xuất hiện của đối tượng trong ảnh. Sau đó
hệ thống (mô hình) sẽ xác định đối tượng cần được nghiên cứu. Phương pháp
này còn được biết đến với tên gọi tiếp cận theo các phương pháp học máy.
3.1. Hướng tiếp cận dựa trên tri thức
Có nhiều cách để xây dựng chương trình xác định đối tượng dựa theo
hướng tiếp cận dựa trên tri thức. Thông thường chương trình sẽ được xây dựng
theo hướng dựa vào một phương pháp nào đấy chọn ra các ứng viên trong bức
ảnh trước, sau đó sẽ áp dụng các luật để xác định đâu là đối tượng được nhắc
đến và cần được nghiên cứu, ứng viên nào không phải là đối tượng nghiên cứu.
Quá trình này có thể được áp dụng nhiều lần để giảm thiểu các sai sót không
đáng có.
Ví dụ: Ta muốn xác định khuôn mặt của đối tượng cần được nghiên cứu.
Đầu tiên dựa trên tri thức ta sẽ tìm ra quy luật của khuôn mặt đang được nghiên
cứu. Tiếp theo, dùng một tập luật để mô tả tổng quát hình dáng khuôn mặt, lọc
các ứng viên ở mức một thành một tập các ứng viên mới có xác xuất là khuôn
mặt cao hơn. Cuối cùng, ta sẽ dùng một tập luật khác để xem xét ở mức chi tiết
các đặc trưng khuôn mặt (có thể là đặc trưng về mắt, mũi, miệng …), từ đó lọc
ra các ứng viên chính xác nhất.

3.2. Hướng tiếp cận dựa trên đặc trưng không thay đổi.
Tiếp cận dựa trên các đặc trưng không thay đổi là tiếp cận theo kiểu bottom
up. Dựa trên thực tế, chúng ta cố gắng tìm ra những đặc điểm không thay đổi khi
của đối tượng khi ở các không gian và thời gian khác nhau và các địa điểm, tính
chất vật lý của đối tượng. Đã có rất nhiều nghiên cứu về hướng tiếp cận này, các
đặc điểm không thay đổi được tìm thấy như các tính chất lý học, hóa học, kích
thước, hình dạng của đối tượng nghiên cứu… Trên cơ sở các đặc trưng này, các
nhà nghiên cứu xây dựng lên một mô hình thống kê mô tả quan hệ của các đặc
ADABOOST

Page 10


trưng và từ đó xác định sự xuất hiện của đối tượng trong bức ảnh. Khó khăn của
hướng tiếp cận này đó là phải mô tả các đặc trưng không thay đổi và quan hệ
giữa chúng phù hợp với điều kiện ánh sáng, độ nhiễu hay bị che khuất bởi nếu
như mô tả các đặc điểm sai lệch một chút cũng có thể dẫn đến phát hiện đối
tượng đó bị sai.
3.3. Hướng tiếp cận dựa trên so sánh khớp mẫu.
Trong hướng tiếp cận dựa trên so sánh khớp mẫu, các mẫu chuẩn của đối
tượng (thường là đối tượng được chụp thẳng) sẽ được xác định trước hoặc được
biểu diễn thành một hàm với các tham số cụ thể. Từ một ảnh đưa vào, tính các
giá trị tương quan so với các mẫu chuẩn về kích thước, hình dạng của đối
tượng. Thông qua các giá trị tương quan này mà hệ thống sẽ quyết định có hay
không có tồn tại sự xuất hiện của đối tượng trong ảnh. Hướng tiếp cận này có lợi
thế là rất dễ cài đặt, nhưng không hiệu quả khi tỷ lệ, không gian, và hình dáng
thay đổi.
Ví dụ như mô hình Template Matching, phù hợp với mẫu là một kỹ thuật
cho việc tìm kiếm các khu vực của một ảnh phù hợp với ảnh mẫu.
Chúng ta cần có 2 thành phần chính:

Hình ảnh nguồn: ảnh mà chúng ta cần tìm ra đối tượng.
Hình ảnh mẫu: các mẫu để so sánh tìm vị trí của đối tượng.
Với mục tiêp là để phát hiện các khu vực phù hợp cao nhất:
Để xác định đối tượng ta chia ảnh thành các ảnh con. Mỗi mẫu con được
định nghĩa trong giới hạn của các đoạn thẳng. Các đường thẳng trong ảnh được
trích bằng cách xem xét thay đổi của hệ số góc và so khớp các mẫu con. Đầu
tiên tìm các ứng viên thông qua mối tương quan giữa các ảnh con và các mẫu về
đường viền. Sau đó, so khớp với các mẫu con khác. Hay nói một cách khác, giai
đoạn đầu xem như là giai đoạn sơ chế để tìm ứng viên, giai đọan thứ hai là giai
đoạn tinh chế để xác định ứng viên có thuộc đối tượng ta cần tìm hay không.

ADABOOST

Page 11


Hình 1: Ví dụ về mô hình Template Matching
Tiếp theo chúng ta phải so sánh mẫu hình ảnh so với hình ảnh gốc nguồn
bằng cách trượt mẫu đi khắp khung hình như sau:

Hình 2: Ví dụ về trượt mẫu so sánh
Trượt là di chuyển các mẫu tại một thời điểm (từ trái sang phải, từ trên
xuống dưới). Tại mỗi khu vực, một số liệu được tính toán sao nó đại diện “tốt”
hay “xấu”.
Tại mỗi vị trí của mẫu, chúng ta lưu trữ các số liệu trong các ma trận kết
quả (R). Mỗi vị trí (x,y) trong chứa các so sánh metric:

ADABOOST

Page 12



Hình 3: Ví dụ điểm sáng giá nhất trong mô hình Template Matching
Hình trên là kết quả R trượt trên ảnh. Điểm sáng giá cho thấy các điểm tốt
nhất. Các vị trí được dấu bằng vòng tròn đỏ có lẽ là một giá trị cao nhất, do đó
vị trị (hình chữ nhật được hình thành bởi điểm đó như một góc và chiều rộng và
chiều cao bằng hình ảnh patch).
3.4. Hướng tiếp cận dựa trên diện mạo.
Trái ngược với hướng tiếp cận dựa trên so sánh khớp mẫu (các mẫu đã
được các nhà nghiên cứu định nghĩa trước), các mẫu trong hướng tiếp cận này
được học từ một tập ảnh mẫu. Có thể nói hướng tiếp cận dựa trên việc áp dụng
các kỹ thuật theo hướng xác suất thống kê và học máy để tìm những đặc tính
liên quan của đối tượng cần nghiên cứu hay không phải đối tượng đó. Các đặc
tính đã được học ở trong hình thái các mô hình phân bố hay các tham số của một
hàm số nên có thể dùng các đặc tính này để xác định được đối tượng mà ta đang
hướng tới. Đồng thời, bài toán giảm số chiều thường được quan tâm để tăng
hiệu quả tính toán cũng như hiệu quả xác định.
Trong hướng tiếp cận này, phương pháp xác xuất tiếp tục được nhiều nhà
nghiên cứu sử dụng. Một bức ảnh hoặc một vector (đặc trưng cho bức ảnh) được
xem như một biến ngẫu nhiên. Biến ngẫu nhiên này sẽ được xác định là có mô tả
các đặc tính của đối tượng hay không thông qua các xác xuất có điều kiện
ADABOOST

Page 13


p(x/yes) và p(x/no). Có thể dùng bộ phân loại Bayesian để phân loại các ứng
viên là đối tượng hay không phải là đối tượng cần nghiên cứu. Tuy nhiên, việc
cài đặt bộ phân loại Bayesian với số chiều x lớn là một điều khá khó khăn, do đó
có rất nhiều nghiên cứu theo hướng tiếp cận này quan tâm tới việc tham số hóa

hay không tham số các xác xuất p(x/yes) và p(x/no).
Một các tiếp cận khác là tìm một hàm biệt số ví dụ như các hàm mô tả mặt
phẳng hay siêu phẳng quyết định (các ranh giới) để phân biệt hai lớp đối tượng
và không phải là đối tượng. Thông thường, một bức ảnh được chiếu vào không
gian có số chiều ít hơn rồi sau đó dùng một hàm biệt số (dựa trên các độ đo
khoảng cách) để phân loại hoặc xây dựng một mặt quyết định phi tuyến bằng
mạng neural đa tầng. Ngoài ra có thể dùng SVM (Super Vector Machine) và các
phương thức kernel chiếu các mẫu vào không gian có số chiều cao hơn để dữ
liệu bị rời rạc hoàn toàn và từ đó có thể sử dụng mặt phẳng phân loại để phân
loại các mẫu là đối tượng hay không phải là đối tượng.

ADABOOST

Page 14


CHƯƠNG 2: SƠ LƯỢC VỀ THUẬT TOÁN PCA VÀ ADABOOST
3.1. Thuật toán PCA
PCA là một trong những phương pháp với nhiều đặc tính tốt:
- Giúp giảm số chiều của dữ liệu
- Thay vì giữ lại các trục tọa độ của không gian cũ, pca xây dựng một không gian
mới ít chiều hơn, nhưng lại có khả năng biểu diễn dữ liệu tốt tương đương
không gian cũ, nghĩa là đảm bảo độ biến thiên của dữ liệu trên mỗi chiều mới.
- Các trục tọa độ trong không gian mới là tổ hợp tuyến tính của không gian cũ, do
đó về mặt ngữ nghĩa, pca xây dựng feature mới dựa trên các feature đã quan sát
được. điểm hay là những feature này vẫn biểu diễn tốt dữ liệu ban đầu.
- Trong không gian mới, các liên kết tiềm ẩn của dữ liệu có thể được khám phá,
mà nếu đặt trong không gian cũ thì khó phát hiện hơn, hoặc những liên kết như
thế không thể hiện rõ.
Nói một cách ngắn gọn, mục tiêu của PCA là tìm một không gian mới (với số

chiều nhỏ hơn không gian cũ). các trục tọa độ trong không gian mới được xây
dựng sao cho trên mỗi trục, độ biến thiên của dữ liệu trên đó là lớn nhất có thể.
tiếng việt thì dài dòng, nhưng tiếng anh thì mục tiêu này gọi là maximize the
variability. ba chữ này gói gọn ý tưởng chính của PCA.

minh họa pca: phép chiếu lên các trục tọa độ khác nhau có thể cho cách nhìn rất
khác nhau về cùng một dữ liệu.

ADABOOST

Page 15


một ví dụ kinh điển là hình ảnh về con lạc đà. cùng là một con lạc đà nhưng nếu
nhìn từ bên hông thì ta có được đầy đủ thông tin nhất, trong khi nhìn từ phía
trước thì thật khó để nói nó là lạc đà.
một ví dụ thuyết phục hơn được minh họa trong hình sau

minh họa pca: tìm các trục tọa độ mới sao cho dữ liệu có độ biến thiên cao nhất
giả sử tập dữ liệu ban đầu (tập điểm màu xanh) được quan sát trong không gian
3 chiều (trục màu đen) như hình bên trái. rõ ràng 3 trục này không biểu diễn
được tốt nhất mức độ biến thiên của dữ liệu. pca do đó sẽ tìm hệ trục tọa độ mới
(là hệ trục màu đỏ trong hình bên trái). sau khi tìm được không gian mới, dữ liệu
sẽ được chuyển sang không gian này để được biểu diễn như trong hình bên phải.
rõ ràng hình bên phải chỉ cần 2 trục tọa độ nhưng biểu diễn tốt hơn độ biến thiên
của dữ liệu so với hệ trục 3 chiều ban đầu.
một điểm rất đẹp nữa của pca là các trục tọa độ trong không gian mới luôn đảm
bảo trực giao đôi một với nhau, mặc dù trong không gian ban đầu, các trục có
thể không trực giao.
dài dòng như vậy là đủ, ta sẽ trình bày từng bước thuật toán pca trong phần tới.

chi tiết về ý tưởng và khai triển toán học được dành lại để trình bày ở cuối bài.
2. thuật toán pca
cho

ma

trận . các bước của pca lần lượt như sau:

1. tiền xử lí

ADABOOST

Page 16


dữ liệu ban đầu có thể có giá trị thay đổi bất thường. ví dụ trên feature 1 (cột 1
của ) giá trị thay đổi trong khoảng (0, 1), trên feature 2 lại biến thiên trong
đoạn (-100, 100). rõ ràng cần phải có một bước tiền xử lí để chuẩn hóa giá trị
trên các cột của ma trận x. có 2 cách tiền xử lí thường được dùng cho pca
là centered pca và normed pca.
centered pca mang tất cả các feature (các cột của x) về cùng một gốc tọa độ:
,
,

(1a)
.

trong đó n là số dòng của x,

là mean của cột thứ j của x, được tính như trên.


normed pca mang tất cả các feature về cùng một gốc tọa độ, đồng thời chuẩn
hóa về cùng một quãng standard-deviation bằng 1:
,
.
trong đó

(1b)

là độ lệch chuẩn (standard deviation) của cột thứ j trong x.

thông thường normed pca hay được dùng. sau bước tiền xử lí, ma trận
đầu vào cho bước tiếp theo.

sẽ là

2. xây dựng không gian mới
tính ma trận hiệp phương sai (covariance) của các feature trong

:

(2)
do là tích của ma trận với chuyển vị của nó nên
semidefinite kích thước
. hơn nữa có p trị riêng
tiếp theo, pca tìm trị riêng và vector riêng tương ứng của
giảm dần của trị riêng. giả sử p trị riêng của vlà
,
ADABOOST


Page 17

(3)

là ma trận positive
.
, sắp xếp theo thứ tự


và p vector riêng tương ứng là
.

(4)

khi đó các trục của không gian mới chính là các vector riêng ở trên, đương
nhiên các vector riêng hoàn toàn độc lập tuyến tính (nghĩa là trực giao đôi một).
có thể nói trong pca, trị riêng và vector riêng có vị trí rất đẹp, thỏa mãn tất cả
các yêu cầu của pca. bản thân tôi khi đọc đến phần này cũng thấy bất ngờ vì lời
giải cho pca không gì khác lại hoàn toàn trọn vẹn trong trị riêng và vector riêng.
tuy nhiên tại thời điềm này, ta sẽ chấp nhận như vậy. phần cơ sở toán học ở
cuối bài sẽ giải thích tại sao trị riêng và vector riêng lại xuất hiện (có phần bất
ngờ) trong pca như vậy.
3. chuyển dữ liệu từ không gian ban đầu vào không gian mới
thông thường không gian mới không được xây dựng bằng tất cả p vector riêng
trong (4), mà thông thường chỉ từ k vector riêng đầu tiên, với k < p. tại sao là
các vector đầu tiên, và chọn k bao nhiêu thì tốt, ta sẽ bàn trong phần cuối.
như vậy gọi
.

Tập huấn luyện


Cơ sở dữ liệu

khi đó tọa độ các điểm trong hệ tọa độ mới là
(5)
ảnh kiểm tra
xong. ta đã kết thúc giải thuật pca, không thể đơn giản hơn.
trong phần này ta chỉ thực hiện phân tích các sample trong không gian tạo bởi
PCA không gian tạo bởi
các feature. ta còn
ảnh có
ánhthể
xạ thực
kiểmhiện
tra khảo sát các feature trong
(Trích
đặcthực
trưng)
các sample. đương nhiên có thể chuyển vị ma trận
x rồi
hiện tương tự,
nhưng đó là cách võ biền, cày bừa. thực sự không cần phải như vậy, mà nhờ vào
những đặc tínhđẹp của trị riêng và vector riêng, ta có thể tính ngay không gian
mới của các sample (để biểu diễn các feature) từ các vector riêng trong (4). trị
riêng còn đẹp đến nỗi được dùng trong các tiêu chuẩn để chọn k. ta sẽ trở lại với
Vector
đặccuối
trưng
Vector đặc trưng
2 vấn đề này trong

phần
của bài.
3.3. Sơ đồ khối:
Phân loại (Adaboost)

ADABOOST

Page 18
Tạo quyết định


PCA là phương pháp dùng để xây dựng đặc trưng khuôn mặt, nó là một nền
tảng để phát triển những thuật toán khác. Thực tế có rất nhiều tác giả áp dụng
PCA, kết hợp với những phương pháp như mạng neural, xác suất thống kê để
xây dựng những thuật toán có độ chính xác cao.
- Ưu điểm: PCA là nó dễ cài đặt, nếu ta xét bài toán tìm khuôn mặt giống
nhau thì chỉ cần cấp áp dụng hoàn toàn theo lý thuyết là đã có độ chính xác khá
cao, nếu áp dụng cho bài toán tìm vị trí khuôn mặt thì cần phải có một thuật toán
nữa để sử dụng face map thu được theo lý thuyết.
- Nhược điểm: PCA là các mẫu khuôn mặt hoàn toàn phụ thuộc vào tập huấn
luyện, có nghĩa là các khuôn mặt trong ảnh kiểm tra phải giống với các ảnh huấn
luyện về kích thước, tư thế, độ sáng. Thực tế trong tập huấn luyện thường gồm
nhiều nhóm hình, mỗi nhóm là hình của một người với tư thế, độ sáng khác
nhau.

ADABOOST

Page 19



3.2. Thuật toán Adaboost
- Có rất nhiều phương pháp để giải quyết bài toán xác định nhanh đối tượng dựa
trên các hướng tiếp cận khác nhau. Phương pháp Haar-like – Adaboost của hai
tác giả Paul Viola và Michael J.Jones là phương pháp xác định mặt người dựa
theo hướng tiếp cận trên diện mạo. Tốc độ xử lý khá nhanh và tỷ lệ chính xác
hơn 80% trên ảnh xám.
- Hướng tiếp cận trên diện mạo tức là hệ thống nhận dạng đối tượng sẽ được học
các mẫu của đối tượng từ một tập ảnh mẫu. Sau khi quá trình học hay quá trình
huấn luyện này (training) thực hiện xong, hệ thống sẽ rút ra được những tham số
để phục vụ cho quá trình nhận dạng.Vì vậy tiếp cận trên diện mạo còn được biết
đến với tên gọi tiếp cận theo phương pháp học máy. Bài báo cáo tập trung chủ
yếu vào quá trình nhận dạng (sau khi đã thực hiện quá trình học).
3.2.Tiền xử lý
Tổng quan về một hệ thống phát hiện đối tượng trong ảnh

ADABOOST

Page 20


NON-CLASS
N

N

Y
N

C
L

A
S
S

Y
I

Cấu trúc phân tầng (Cascade of classifier)

Ước lượng các đặc trưng

Số lượng lớn các đặc trưng

Chọn đặc trưng

C1

C2

Cn

Điều chỉnh thông số Adaboost
Một tập nhỏ các đặc trưng

Quyết định kết quả
Các hàm Haar cơ bản

ADABOOST

Page 21



Tính các đặc trưng nhanh từ nhiều tỉ lệ

Hình 4: Tổng quan về hệ thống phát hiện đối tượng trong ảnh
Phương pháp Haar-like-adaboost được xây dựng dựa trênn sự kết hợp, lắp
ghép của 4 thành phần, trong đó là:
- CácẢnh
đặc trưng Haar-Like: các đặc trưng được đặt vào các vùng ảnh để tính
toán các gốc
giái trị của các đặc trưng, từ những giá trị đặc trưng này đưa vào bộ
phân loại Adaboost ta sẽ xác định được ảnh có khuôn mặt hay không.
- Integral Image: thực ra đây là một công cụ giúp việc tính toán các giá trị
đặc trưng haar-like nhanh hơn.
- Adaboost: bộ phân loại (bộ lọc) hoạt động dựa trên nguyên tắc kết hợp các
bộ phân loại yếu để tạo ra bộ phân loại mạnh. Adaboost sử dụng giá trị đặc
trưng Haar-like để phân loại ảnh là mặt hay không phải mặt.
- Cascade of Classifiers: bộ phân loại tầng với mỗi tầng là một bộ phân loại
Adaboost, có tác dụng tăng tốc độ phân loại. Như vậy bài toán xác định mặt
người trong ảnh cũng chính là bài toán phân loại ảnh thành hai lớp mặt hoặc
không phải mặt.
Adaboost được đánh giá là phương phát tiếp cận nhanh nhất trong các thuật
toán học máy. Nó thường được kết hợp với các mô hình cascade of classifiers
để tăng tốc độ phát hiện đối tượng trong ảnh. Tư tưởng của thuật toán adaboost
đấy là kết hợp các bộ phân loại yếu thành một bộ phân loại mạnh. Trong quá
trình xây dựng, bộ phân loại yếu tiếp theo sẽ được xây dựng dựa trên các đánh
giá về các bộ phân loại yếu trước, cuối cùng các bộ phân loại yếu sẽ được kết
hợp để trở thành bộ phân loại mạnh.
Một lưu ý nhỏ là phương pháp Haar-like-adaboost thực hiện trên ảnh xám
(gray image). Mỗi điểm ảnh (pixel) sẽ có giá trị mức xám từ 0 đến 255 (không

gian màu 8 bit). Như vậy phương pháp Haar-like-adaboost sẽ không khai thác
được những đặc điểm về màu sắc khuôn mặt để nhận dạng song vẫn rất hiệu
quả. Ảnh màu sẽ được chuyển về ảnh xám để nhận dạng.
Sau khi chuyển thành ảnh xám, ảnh lại tiếp tục được chuyển thành “ảnh tích
hợp” và trong bước đầu tiên quá trình nhận dạng, các đặc trưng haar-like sẽ làm
việc trực tiếp trên ảnh tích hợp (Integeral Image).
ADABOOST

Page 22


3.3.Đặc trưng haar-like
Viola và Jones dùng 4 đặc trưng cơ bản để xác định đối tượng. Mỗi đặc
trưng Haar–like là sự kết hợp của hai hay ba hình chữ nhật "trắng" hay "đen"
như trong hình sau:

Hình 5: 4 đặt trưng Haar-like cơ bản
Để áp dụng các đặt trưng này vào việc bài toán phát hiện đối tượng, 4 đặt
trưng Haar-like cơ bản được mở rộng ra, và được chia làm 3 tập đặc trưng như
sau:
1. Đặc trưng cạnh (edge features):

2. Đặc trưng đường (line features):

3. Đặc trưng xung quanh tâm (center-surround features):

Hình 6: Các đặc trưng mở rộng của các đặc trưng Haar-like cơ sở
Lợi ích của các đặc trưng Haar-like là nó diễn đạt được tri thức về các đối
tượng trong ảnh (bởi vì nó biểu diễn mối liên hệ giữa các bộ phận của đối
tượng), điều mà bản thân từng điểm ảnh không diễn đạt được. Để tính giá trị các

đặc trưng haar-like, ta tính sự chênh lệch giữa tổng của các pixel của các vùng
đen và các vùng trắng như trong công thức sau:
ADABOOST

Page 23


f(x) = Tổngvùng đen(pixel) - Tổngvùng trắng(pixel)
Như vậy ta có thể thấy rằng, để tính các giá trị của đặc trưng Haar-like, ta
phải tính tổng của các vùng pixel trên ảnh. Nhưng để tính toán các giá trị của
các đặc trưng Haar-like cho tất cả các vị trí trên ảnh đòi hỏi chi phí tính toán khá
lớn, không đáp ứng được cho các ứng dụng đòi hỏi tính run-time. Do đó Viola
và Jones đưa ra một khái niệm gọi là Integral Image để tính toán nhanh cho
khác feature cơ bản. Sau này, Lienhart kế thừa gọi Integral Image là SAT –
Summed Area Table và đưa ra thêm khái niệm RSAT – Rotated Summed Area
Table dùng để tính toán nhanh cho các đặc trưng xoay 1 góc 45 o. Integral Image
là một mảng 2 chiều với kích thước bằng với kích của ảnh cần tính các đặc trưng
Haar-like, với mỗi phần tử của mảng này được tính bằng cách tính tổng của
điểm ảnh phía trên (dòng-1) và bên trái (cột-1) của nó. Bắt đầu từ vị trí trên, bên
trái đến vị trí dưới, phải của ảnh, việc tính toán này đơn thuần chỉ đựa trên phép
cộng số nguyên đơn giản, do đó tốc độ thực hiện rất nhanh.

P(x,y)

Hình 7: Cách tính Integral Image của ảnh
Sau khi đã tính được Integral Image, việc tính tổng điểm ảnh của một vùng
bất kỳ nào đó trên ảnh thực hiện rất đơn giản theo cách sau: (Giả sử ta cần tính
tổng điểm ảnh của vùng D như trong hình 11):
D = A + B + C + D – (A+B) – (A+C) + A
Với A + B + C + D chính là giá trị tại điểm P4 trên Integral Image, tương tự

như vậy A+B là giá trị tại điểm P2, A+C là giá trị tại điểm P3, và A là giá trị tại
điểm P1. Vậy ta có thể viết lại biểu thức tính D ở trên như sau:

ADABOOST

P1
C
P3

P2 24
Page
P4

P1

P2

C
P3

P4


Hình 8: Ví dụ cách tính nhanh tổng các điểm ảnh của vùng D trên ảnh

B A1C
2 D 3
4

RSAT(x,y)


(b)

(a)

Hình 9: Ví dụ cách tính nhanh tổng điểm ảnh của vùng D trên
ảnh với các đặc trưng xoay 45o
Với các đặc trưng Haar-like xoay 45 o Integral Image tại một điểm (x, y) được
tính theo công thức:

Tổng pixel của một vùng bất kỳ trên ảnh vẫn được tính theo cách sau:
D = A + B + C + D – (A+B) – (A+C) + A
Như vậy tổng các điểm ảnh trong một hình chữ nhật (kể cả trường hợp
xoay 45º) bất kì đều có thể được tính nhanh dựa trên integral image tại 4 đỉnh
của nó:
Sum (D ) = .4 - 2 – 3 + 1

ADABOOST

Page 25


×