5/05/2015

Face Representation by SIFT Descriptor


Mặc dù đã có khá nhiều nghiên cứu về face representation cho face recognition, nhưng cách biểu diễn mà nhiều người dùng nhất vẫn là PCA. Cách biểu diễn này dùng một tập trainining faces (thường là đã được normalized to a canonical pose), mỗi face được biểu diễn trong một không gian đa chiều, mỗi chiều là một vị trí trong face. Ví dụ, face có kích thước 80x80, thì sẽ được biểu diễn trong không gian 6,400 chiều (=80x80), chiều thứ nhất tương ứng với vị trí (0, 0), chiều thứ hai (0, 1), v.v ... Trong không gian này, mỗi face sẽ tương ứng với một point. Feature vector tương ứng với point đó hình thành bằng cách lấy pixel intensity tại các điểm trong ảnh. Cách biểu diễn này cho số chiều quá lớn, sẽ dễ dẫn đến các hậu quả như over-fitting hoặc chi phí tính toán cao. PCA là phương pháp dùng để rút gọn số chiều lại. Thông thường, nếu có K training faces (K nhỏ hơn rất nhiều so với kích thước ảnh NxN), thì sau khi dùng PCA, số chiều tối đa là K. 

PCA có thể tính bằng cách dùng matlab. Code bằng C++ có thể xem tại đây: csuEvalFaceRec - http://www.cs.colostate.edu/evalfacerec/algorithms5.html

Gần đây, có một cách biểu diễn khác đó là detect các feature points ở các vị trí như mắt, mũi, miệng, sau đó extract descriptors (ví dụ SIFT) tại các feature points, rồi nối lại thành feature vector, hoặc dùng theo kiểu BoW. Cách biểu diễn này được dùng khá nhiều cho các work về face identification hay face matching. Điển hình là bài của Everingham tại BMVC'06: Hello my name is Buffy - Automatic Naming of Characters in TV Video. Có cả source chạy bằng matlab cho phần feature point detection và descriptor extraction. Để xem các bài dùng code này có thể dùng Google Scholar tìm các bài cite tới bài này! 

Với các face có kích thước đủ lớn (khoảng trên 100x100 pixel), chất lượng ảnh đầu vào nét, code trên chạy khá tốt. Tuy nhiên khi chạy trên dữ liệu face từ TRECVID data, phần eye corner detection không được tốt (các corner khác như mouth, nose thì vẫn tốt).

Lê Đình Duy

No comments:

Post a Comment