Computer Vision

[Image Classification] Pyramid image và mô hình BOVW

Khi giải quyết bài toán Object Detection, chúng ta đều biết đến khái niệm “pyramid image” – phương pháp thay đổi scale của bức ảnh để có thể phát hiện đối tượng ở những kích thước khác nhau. Bên cạnh đó, có một dạng “pyramid image” khác được sử dụng phổ biến trong bài toán Image Classification được gọi là “spatial pyramid”.

Spatial pyramid cung cấp thông tin về vị trí của các keypoints được phát hiện trong bức ảnh, do đó nó thường được kết hợp cùng với mô hình BOVW (BOVW vốn không chứa Spatial Infomation của các keypoints).


Trước khi bắt đầu, cần chắc chắn rằng chúng ta đã xây dựng được codebook từ các bức ảnh trong dataset. Với mỗi bức ảnh cần phân loại, chúng ta sẽ phân chia nó thành nhiều sub-regions, tính toán BOVW histogram cho mỗi sub-region này và ghép các BOVW histogram này lại để tạo ra một histogram duy nhất, xem hình 1.

Hình 1 – bức ảnh đầu vào được chia thành nhiều sub-regions

Như biểu diễn trong hình 1, trong bức ảnh đầu vào có 3 loại local feature, gồm: circle, diamond và cross. Mô hình pyramid được phân chia thành 3 levels.

Ở level 0, chúng ta sẽ sử dụng BOVW histogram của cả bức ảnh, tương ứng với [11 circles, 10 diamonds, 12 crosses].

Ở level 1, bức ảnh được chia thành 4 sub-regions, tại mỗi sub-region chúng ta xây dựng BOVW histogram, như vậy sẽ nhận được 4 histograms sau:

[5 circles, 4 diamonds, 4 crosses],
[3 circles, 1 diamond, 4 crosses],
[2 circles, 3 diamonds, 1 cross],
[1 circle, 2 diamonds, 3 crosses].

Ở level 2, bức ảnh được chia thành 16 sub-regions, tại mỗi sub-region chúng ta xây dựng BOVW histogram, như vậy sẽ nhận được 16 histograms sau:

[1 circle, 2 diamonds, 0 cross],
[1 circle, 0 diamond, 2 crosses],
[0 circle, 1 diamond, 1 cross],
[1 circle, 0 diamond, 1 cross],
[0 circle, 1 diamond, 1 cross],
[3 circles, 1 diamond, 1 cross],
[0 circle, 0 diamond, 2 cross],
[2 circle, 0 diamond, 0 cross],
[0 circle, 0 diamond, 1 cross],
[1 circle, 2 diamond, 0 cross],
[1 circle, 0 diamond, 0 cross],
[0 circle, 1 diamond, 0 cross],
[1 circle, 0 diamond, 0 cross],
[0 circle, 1 diamond, 0 cross],
[0 circle, 0 diamond, 1 cross],
[0 circle, 1 diamond, 2 cross].

Các histograms ở mỗi level sẽ có một trọng số khác nhau, được tính theo công thức sau:

w = \frac{1}{2^{N-L+1}}

Với các histogram ở level 0, mặc định w = 0,25;
Với các histogram ở level 1, theo công thức trên, w = 0,25;
Với các histogram ở level 2, w = 0,5.

Với 3 levels, chúng ta có tổng cộng 21 histograms, nhân với trọng số tương ứng, chúng ta sẽ nhận được histogram có kích thước 63-d.

Thông thường, chúng ta chỉ cần mô hình pyramid với 3 levels, vì khi số level tăng lên quá 3 thì độ chính xác cũng tăng rất hạn chế, trong khi đó kích thước của histogram tăng lên rất mạnh.


Pyramid BOVW thường được áp dụng khi phân loại ảnh phong cảnh tự nhiên. Tuy nhiên, để lựa chọn giữa BOVW và Pyramid BOVW, chúng ta sẽ cần phải so sánh hiệu suất của chúng trên từng dataset cụ thể.

Cảm ơn các bạn đã theo dõi bài viết. Thân ái và quyết thắng.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s