Chủ Nhật, 19 tháng 9, 2010

[CV][Descriptor] Local Binary Pattern


1. Ý nghĩa khi tạo ra LBP
Ý tưởng của LBP là kết hợp hai thông tin: thông tin về không gian và tương phản ảnh grayscale

2. Tác giả
LBP được giới thiệu đầu tiên năm 1996 bởi Timo Ojala trong [2] (University of Oulu, Finland) để giải quyết bài toán texture classification.

3. Mức độ phổ biến - những lĩnh vực đã áp dụng
Từ lĩnh vực texture classification, trong những năm gần đây LBP đã được mở rộng nhiều lĩnh vực khác [3, 4] bao gồm:
- Texture classification
- Motion Analysis/Tracking/Background subtraction.
- Human detection/recognition, Object detection/recognition
- Biometrics: eye localization, iris recognition, finger recognition, palmprint recognition, gait recognition and facial age classification.
- LBP dùng cho mặt được thực hiện bằng cách chia mặt người thành ô lưới không overlap. Tính toán LBP histogram cho mỗi ô rồi nồi lại tại thành global histogram (Hình 1).
Hình 1: Một ví dụ dùng LBP cho face
- Image and video retrieval
- Scene Analysis
- Environmental Modeling

4. Những biến thể - hướng mở rộng
- LBP gốc của Ojala chỉ có 8 điểm trong lận cận 3x3 (có $2^8$ label)
- Mở rộng ra kích thước bất kì (Ojala -2002). Khi đó kí hiệu (P, R) nghĩa là P điểm cách đều nhau nằm trên đường tròn bán kính R
Hình 2: LBP với 8 điểm và bán kính là R. 1 là mẫu áp lên một vị trí trung tâm c có $g_c = 70$ 2. Sự chênh lệch giữa các điểm tại vị trí trên mẫu so với điểm ở giữa 3. Những giá trị <0 00001111 ="">
Đối với mẫu như hình 1 sẽ có 2^8 = 256 label. Như vậy tại mỗi điểm bất kì trong ảnh khi áp mẫu này lên sẽ trả về một label. Quét qua tất cả các vị trí trong ảnh ta sẽ xây dựng được một LBP histogram cho ảnh đó. Thông thường những histogram này sẽ được chuẩn hóa về [0,1].
- uniform pattern: dựa trên quan sát một số mẫu xuất hiện tương đối phổ biến hơn các mẫu khác, đồng thời gian chiều dài vector feature và gom nhóm các mẫu lại tạo thành những mẫu rotation invariance. Cụ thể một mẫu gọi là uniform nếu số lần chuyển từ (0--> 1 hoặc 1-->0) nhiều nhất là 2, ví dụ:
Mẫu 00000000 (0 lần dịch chuyển) -->uniform
Mẫu 01110000 (2 lần dịch chuyển) -->uniform
Mẫu 11001111 (2 lần dịch chuyển) --> uniform
Mẫu 11001001 (4 lần dịch chuyển) --> không phải
Mẫu 01010010 (6 lần dịch chuyển) --> không phải
Đồng thời một số mẫu sẽ được gom lại, những mẫu không quan tâm có thể gom lại thành một nhóm duy nhất.
- VLBP (Volume Local Binary Pattern) do Zhao và Pietikainen (2007) đề nghị, bao gồm cả chiều thời gian T bên cạnh 2 chiều không gian là X và Y. Như vậy VLBP tính toán như LBP nhưng trong một không gian 3 chiều xung quanh điểm trung tâm, vấn đề của VLBP là khi số điểm lấy mẫu là P thì số lượng mẫu vào khoảng $2^{3P + 2}$. Nếu P lớn thì số mẫu sẽ rất lớn. Chính vì thể hai tác giả đã đề xuất LBP-TOP tính toán LBP bình thường trên 3 mặt phẳng XY, XT, YT rồi nối lại như vậy số mẫu sẽ chỉ là $3 \times 2^P$. Trong LBP-TOP, tại mỗi điểm LBP sẽ được tính toán trên mỗi mặt phẳng, bán kính và số điểm của mẫu LBP có thể khác nhau trên mỗi mặt phẳng. Cứ mỗi chiều XY quét qua ảnh và tính toán LBP histogram theo mặt phẳng XY, tương tự cho XT, YT, ta sẽ có được 3 histogram. Chuẩn hóa riêng cho mỗi histogram rồi nối lại ta thu được histogram của VLBP (Hình 3, 4). Cả VLBP và LBP-TOP được giới thiệu trong [5].
Hình 3: Tính toán histogram của LBP-TOP
Hình 4: Sự biến đổi ảnh theo chiều thời gian T

- LBP bất biến: illumination (Li et al-2007), scale and rotation (Ojala et al - 2001, 2002)
- Nghiên cứu những mẫu LBP quan trọng (Liao et al. 2009)
- Kết hợp với những descriptor khác: CS-LBP (kết hợp với SIFT - Heikkila et al 2009), Gabor feature (Tan et al.2007, Wang et al. 2009)
- Color LBP (Maenpaa and Pietikainen - 2004)

5. Cài đặt
Các cài đặt được giới thiệu trên trang web của University of Oulu [3]:
- Spatial-temporal LBP (LBP-TOP) (C++)
- LBP (C++) by Topi Maenpaa

6. Trường hợp áp dụng
- Cần một descriptor tính toán nhanh
- Dùng tốt cho texture, face (trong [5] report đạt 95.19% dùng 2-fold96.26% dùng 10-fold trên facial expression video database Cohn-Kanade) , motion (tracking)
- Nếu chỉ dùng LBP mà không có LBP-histogram --> local descriptor ngược lại nếu dùng histogram thì sẽ là global descriptor.

7. Điểm mạnh và yếu của LBP
Điểm mạnh:
- Đơn giản --> hiệu quả tính toán-->real time
- Chịu được biến đổi đơn điệu bao gồm:
+ Có khả năng chịu được sáng (do lấy hiệu giữa điểm mẫu và điểm giữa)
+ Khả năng chịu được biến đổi màu da người (thuộc dân tộc khác nhau)
- LBP có thể giúp cho bài toán dynamic texture classification giải với độ chính xác 99.43% [5] trên dataset DynTex-->không nên theo bài toán Dynatic Texture classification cũng như Texture Classification

Tài liệu tham khảo:
[2] Ojala, T., Pietikäinen, M. and Harwood, D. (1996), "A Comparative Study of Texture Measures with Classification Based on Feature Distributions". Pattern Recognition 19(3):51-59
[5] Guoying Zhao, Matti Pietikainen. "Dynamic Texture Recognition Using Local Binary Patterns with an Application to Facial Expressions". IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007

Không có nhận xét nào:

Đăng nhận xét