Test 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Biểu diễn ảnh sử dụng từ điển các từ khóa đặc trưng

“Visual Words”
Nguyễn Sĩ Việt

Ngày 30 tháng 11 năm 2023

Mục lục
1 Giới thiệu 1

2 Phương pháp 3
2.1 Trích xuất đặc trưng của ảnh: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 SIFT desciptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Xây dựng từ điển đặc trưng: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Biểu diễn ảnh dưới dạng Vector Visual Words: . . . . . . . . . . . . . . . . . . . . . . 4

3 Thực nghiệm / kết quả 5

4 Kết luận 5

1 Giới thiệu
Phương pháp Bag of Words (BOW) là một kỹ thuật quan trọng trong xử lý ngôn ngữ tự nhiên và
phân loại ảnh, dựa trên ý tưởng của thuật toán mã hoá, quản lý và tìm kiếm văn bản chữ. Để hiện
thực hóa phương pháp này, một từ điển chứa các từ khoá, thường gọi là "word," được xây dựng dựa
trên nội dung của toàn bộ văn bản.
Mỗi văn bản được duyệt qua và biến đổi thành một vector, có độ dài bằng số từ khoá có trong từ
điển. Cụ thể, mỗi thành phần của vector tương ứng với vị trí của từ khoá trong từ điển và giá trị của
nó là số lần xuất hiện của từ khoá đó trong văn bản. Nếu một từ khoá không xuất hiện trong văn
bản, giá trị của vector tại chỉ số tương ứng sẽ là 0.
Điều này giúp tạo ra biểu diễn số học cho mỗi văn bản, cho phép quản lý và tìm kiếm hiệu quả
dựa trên sự xuất hiện của các từ khoá trong ngữ liệu. Giả sử chúng ta có từ điển visual words với
các từ khoá: ["sky", "tree", "car", "person"]. Ảnh mô tả một cảnh thành phố có thể được biểu diễn
bằng vector [10, 5, 3, 2], nghĩa là có 10 visual words tương ứng với "sky," 5 visual words tương ứng
với "tree," 3 visual words tương ứng với "car," và 2 visual words tương ứng với "person." Hoàn toàn
có thể áp dụng nguyên lý xử lý văn bản vào ảnh thông qua việc xây dựng thuật toán mô tả ảnh sử
dụng các từ khoá đặc trưng, được gọi là visual word. Một ví dụ đơn giản có thể được trình bày như
sau. Giả sử ta có ba ảnh, mỗi ảnh có thể được biểu diễn dưới dạng tổ hợp của một số unit-block, như
minh họa trong hình .
Tổng quan về phương pháp này:

1. Trích xuất đặc trưng của ảnh:

1
1 GIỚI THIỆU

Hình 1: Biểu diễn visual words của từng ảnh

- Thu thập Dữ liệu Huấn luyện: Sử dụng một bộ dữ liệu ảnh đa dạng để huấn luyện mô hình.
- Trích xuất Đặc trưng Hình ảnh: Sử dụng các phương pháp trích xuất đặc trưng (ví dụ: SIFT,
SURF) để xác định các điểm quan trọng trong ảnh.

2. Xây dựng từ điển đặc trưng:


- Tạo từ điển đặc trưng đòi hỏi quá trình chọn lọc từ tập hợp các đặc trưng cơ bản thu được từ
toàn bộ dữ liệu. Mục tiêu là xây dựng một từ điển có kích thước hữu hạn, nhưng vẫn có khả
năng bao quát đủ để đại diện cho nội dung của toàn bộ tập ảnh.

3. Biểu diễn ảnh dưới dạng Vector Visual Words:


- Mô tả ảnh: Mỗi ảnh được chia thành các phần nhỏ (patch) và mỗi patch được biểu diễn bằng
cách gán nó vào một visual word gần nhất từ từ điển.
- Tạo Vector Tần suất: Biểu diễn mỗi ảnh dưới dạng vector, trong đó mỗi thành phần của vector
là số lần xuất hiện của visual word tương ứng trong ảnh.

4. Ưu điểm và Ứng dụng:


- Invariance đối với Dịch và Quay: BoVW giúp giải quyết vấn đề invariance đối với dịch và quay,
vì visual words không phụ thuộc vào vị trí cụ thể của chúng trong ảnh.
- Ứng dụng rộng rãi: Phổ biến trong các ứng dụng nhận diện đối tượng, phân loại hình ảnh, và
tìm kiếm dựa trên nội dung hình ảnh

2
2 PHƯƠNG PHÁP

2 Phương pháp
2.1 Trích xuất đặc trưng của ảnh:
- Số lượng ảnh lớn và có vô số tổ hợp các blocks ảnh. Do đó, không thể sử dụng trực tiếp block ảnh
làm "visual word" vì kích thước của từ điển sẽ là vô hạn. Chúng ta phải trích xuất các đặc trưng cơ
bản của ảnh để có thể đại diện cho ảnh và xây dựng từ điển "visual words."
- Ảnh có thể chứa cùng một vật nhưng ở nhiều tỷ lệ khác nhau. Làm thế nào để biểu diễn một block
ảnh ở nhiều tỷ lệ khác nhau (ví dụ: 8x8 giống với block ảnh 16x16) khi chúng có nội dung tương tự?
Hay nói cách khác, làm thế nào để trích xuất cùng một đặc trưng của ảnh ở các tỷ lệ khác nhau.
- Tương tự, ảnh cùng một đối tượng nhưng ở nhiều góc độ khác nhau (do không gian là 3 chiều) có
thể tạo ra các ma trận pixel biểu diễn ảnh khác nhau. Làm thế nào để so sánh đặc trưng trích xuất
của ảnh cùng nội dung nhưng được chụp ở các góc độ khác nhau?
- Ảnh chụp cùng một cảnh tại các thời điểm khác nhau có thể có cường độ sáng, độ tương phản khác
nhau, dẫn đến các block ảnh có giá trị pixel khác nhau. Làm thế nào để mô tả nội dung của các ảnh
này bằng các đặc trưng giống nhau?

2.1.1 SIFT desciptor


SIFT, viết tắt của Scale Invariant Features Transform, được giới thiệu bởi David Lowe vào năm 1994,
đóng vai trò quan trọng trong việc thực hiện thuật toán từ điển. SIFT bao gồm hai phần chính: (i)
trích xuất điểm nổi bật dựa trên toán tử đạo hàm Gaussian DoG và (ii) mã hoá các đặc trưng này
thành dạng vector 128. Thực tế, nghiên cứu đã chứng minh rằng thuật toán mô tả SIFT có thể áp
dụng cho mọi phương pháp trích xuất đặc trưng ảnh, cả trong trích xuất điểm nổi bật và trích xuất
tổng thể
Để tính toán SIFT descriptor, trước hết, chúng ta chia các block ảnh (được lấy xung quanh điểm nổi
bật hoặc điểm lấy mẫu đều) thành 4x4 cell. Sau đó, Gradient of magnitude và Gradient of orientation
được áp dụng tại mỗi cell, và ta tính histogram của gradient orientation với 8 bin tại mỗi cell. Kết
quả là một vector 4x4x8, tạo ra một vector đặc trưng 128 chiều.
Phương pháp tính toán SIFT descriptor như trên mang lại tính bất biến với phép quay và thay
đổi cường độ sáng trong ảnh. Đặc biệt, với kích thước khác nhau của block ảnh, phép mã hoá SIFT
vẫn đảm bảo rằng vector đặc trưng cuối cùng có kích thước là 128 chiều

2.2 Xây dựng từ điển đặc trưng:


Khác với văn bản, trong xử lý ảnh, khái niệm "word" không được xác định một cách rõ ràng và có số
lượng hữu hạn. Việc xây dựng từ điển "visual word" trong ảnh không thể đơn giản như việc tập hợp
toàn bộ các từ, mà phải áp dụng các phương pháp xấp xỉ. Đối với vector mô tả (descriptor) của ảnh,
có vô số trạng thái khác nhau. Để tạo từ điển, ta thực hiện quá trình xấp xỉ bằng cách sử dụng một
tập con của tất cả các mô tả được rút ra từ tập ảnh. Tuy nhiên, nếu số lượng mô tả quá lớn, ta có
thể giảm số lượng bằng cách chọn một phần nhỏ, chẳng hạn như 1/10 hoặc 1/20 tổng số mô tả.
Tập mô tả con này sau đó được phân cụm để nhóm các mô tả tương tự lại với nhau. Có nhiều
thuật toán phân cụm như K-means, Gaussian Mixture Models (GMM), on-line clustering with mean-
shift, và hierarchical clustering. Khi quá trình phân cụm hoàn tất, tâm điểm của mỗi cụm được gọi
là "visual word." Nói cách khác, số lượng cụm chính là số lượng "visual word" sử dụng trong phương
pháp từ điển. Lưu ý rằng, trong các phương pháp phân cụm này, số lượng cụm hoặc số lượng visual
word thường cần được xác định trước bởi người dùng. Nếu giá trị này quá nhỏ, có thể xảy ra tình
trạng mô tả hoàn toàn khác nhau được phân vào cùng một cụm, gây ra sự hiểu lầm trong quá trình
phân loại ảnh dựa trên nội dung. Ngược lại, nếu số lượng visual word quá lớn, các block ảnh giống
nhau có thể được phân thành nhiều cụm khác nhau. Để xác định số lượng cụm tối ưu cho mỗi tập

3
2.3 Biểu diễn ảnh dưới dạng Vector Visual Words: 2 PHƯƠNG PHÁP

Hình 2: K-means clustering

ảnh, thường cần tiến hành quá trình phân cụm nhiều lần và chạy trên tập huấn luyện để tìm ra giá
trị thích hợp.

2.3 Biểu diễn ảnh dưới dạng Vector Visual Words:


Giờ đây, chúng ta đã có từ điển các "visual words," mỗi từ có thể được xem như đại diện cho một
block ảnh. Làm thế nào để biểu diễn lại ảnh dựa trên các "visual words" này? Nếu nhìn lại ví dụ về
văn bản ở đầu chương, chúng ta thấy rằng để mã hoá một văn bản khi đã có từ điển, ta đơn giản
đếm số lần xuất hiện của mỗi từ trong văn bản. Văn bản có thể được biểu diễn dưới dạng vector với
số chiều bằng số từ trong từ điển, và giá trị tại mỗi vị trí tương ứng với chỉ số của từ trong từ điển là
tần suất xuất hiện của từ đó trong văn bản. Tương tự, ta có thể áp dụng phương pháp này vào ảnh.
Đầu tiên, tất cả các mô tả được liên kết với "visual word" mà chúng thuộc cụm. Mỗi ảnh được
biểu diễn bằng một tập hợp các đặc trưng, thông qua quá trình "mã hoá đặc trưng," biến thành một
tập hợp các mô tả, và cuối cùng được biểu diễn dưới dạng tập hợp các "visual words." Bằng cách đếm
tần suất xuất hiện của các "visual words," mỗi ảnh có thể được biểu diễn thành một vector histogram
của các từ. Phương pháp này được gọi là Hard Assignment Coding.
Tuy nhiên, do các đặc trưng của ảnh không giống nhau cũng như khác nhau tuyệt đối, và việc
phân cụm các đặc trưng là một xấp xỉ, gắn trực tiếp một mô tả cho "visual word" của cụm nó được
phân không phải lúc nào cũng là tối ưu, vì nó bỏ qua mối liên hệ và khả năng có thể được gán cho
các từ khác nhau. [16] đề xuất phương pháp Soft Assignment Coding, cho phép mỗi mô tả được gán
cho tất cả các từ kèm theo một trọng số, được định nghĩa bằng hàm Gaussian của khoảng cách từ
mô tả đến tâm điểm của mỗi cụm. Mặc dù phương pháp này cải thiện độ chính xác trong biểu diễn
ảnh, nhưng nó cũng phức tạp rất nhiều. Phương pháp Semi-Soft Assignment Coding cho phép mỗi
mô tả chỉ được gán cho top-k cụm gần nhất. Không chỉ đạt được độ chính xác tương đương với Soft
Assignment Coding, mà còn giảm độ phức tạp đáng kể.

4
4 KẾT LUẬN

Hình 3: Biễu diễn visual words

(a) (b)

Hình 4: (a) Confusion matrix chuẩn hóa (b) Confusion matrix không chuẩn hóa

3 Thực nghiệm / kết quả


Mô hình hóa phương pháp với tập dữ liệu gồm 7 nhãn (city, face, green, house building, house indoor,
office, sea) .
Với số lượng ảnh training 140 ảnh/nhãn.
Ảnh test là 30 ảnh/nhãn.
Số lượng ’visual words’ chọn là 100 như hình 3.
Thuật toán sử dụng để phân loại là KNN(K-Nearest Neighbors) - là một trong những thuật toán học
có giám sát đơn giản nhất được sử dụng nhiều trong khai phá dữ liệu và học máy. Ý tưởng của thuật
toán này là nó không học một điều gì từ tập dữ liệu học (nên KNN được xếp vào loại lazy learning),
mọi tính toán được thực hiện khi nó cần dự đoán nhãn của dữ liệu mới.
Thu được kết quả với confusion matrix như hình 4.
Độ chính xác trên tập training là 0.736, trên tập test là 0.574

4 Kết luận
Sau khi mô hình lại phương pháp bag of viusual thì thấy phương pháp hiệu quả cho việc trích xuất
đặc trưng để sử dụng cho các bài toán phân loại ảnh. Mặc dù độ chính xác còn thấp 0.574 nhưng có
thể cải thiện bằng các thuật toán phân loại khác như SVM,.. hoặc thêm dữ liệu training

5
TÀI LIỆU TÀI LIỆU

Tài liệu
[1] Mansoori, Naimeh Nejati, Mansour Razzaghi, Parvin Samavi, Shadrokh. (2013). Bag
of visual words approach for image retrieval using color information. 1-6. 10.1109/Irani-
anCEE.2013.6599562.

[2] Guo, Gongde Wang, Hui Bell, David Bi, Yaxin. (2004). KNN Model-Based Approach in Clas-
sification.

You might also like