Nâng hiệu quả phân lớp ảnh

Một phần của tài liệu Tra cứu ảnh dựa trên khoảng cách và bài toán tối ưu pareto (Trang 39 - 47)

Chương 2 TRA CỨU ẢNH DỰA TRÊN TỐI ƯU ĐA MỤC TIÊU VỚI KHOẢNG CÁCH

2.4. Tiếp cận giải bài toán tối ưu đa mục tiêu Pareto

2.4.3. Nâng hiệu quả phân lớp ảnh

Thuật toán 2.1 PFDA ( Pareto đa mức sâu) Đầu vào:

{𝐸𝑄𝑡/𝑡 = 1, 𝑇̅̅̅̅̅} 𝐸𝑄𝑡danh sách được sắp gồm m điểm, mỗi điểm có t chiểu.

K Số điểm trong tập Pareto front đa mức độ sâu.

Đầu ra:

PointSet Tập kết quả chứa các điểm Pareto theo từng mức sâu front

1. Khởi tạo:

𝐹𝑃 = ∅, 𝑃𝐹_𝑁𝑒𝑥𝑡 = ∅, {𝑎𝑇𝑢𝑝𝑙𝑒𝑀𝑎𝑥𝑡}𝑡=1𝑇 = 0, 𝑎𝑀𝑎𝑥 = 0, 𝑑𝑒𝑝𝑡ℎ = 0 2. while #PointSet <K do

3. while ∄ Ii∈ PF mà Ii Q aTupleMax do 4. for t = 1 to T do

5. Lấy Ii ở trên cùng của danh sách 𝐸𝑄𝑡 mà chưa được kiểm tra 6. if 𝑎𝑀𝑎𝑥 < 𝐷𝑄𝑡 (𝐼𝑖 ) then

7. 𝑎𝑀𝑎𝑥 = 𝐷𝑄𝑡(𝐼𝑖);

8. end if

9. isDominate = False

10. while not(isDominate)(∃𝐼𝑖 ∈ 𝑃𝐹) chưa được so sánh với Ii do 11. if Ii Q Ij then

12. chuyển Ij từ PF vào PF_Next

13. end if

14. if Ij Q Ii then

15. isDominated = true 16. Chèn Ii vào PF_Next;

17. end if 18. end while

19. if not(isDominated) then 20. Chèn Ii vào PF 21. end if

22. aTupleMaxt =aMax; /* Đặt lại ngưỡng ở t */

23. Chọn các điểm Ii PFaTupleMaxQ Ii vào PointSet 24. end for

25. end while

26. if (PointSet < K) then 27. PF = PF_Next

28. PF_Next=

29. for all Ii, Ij PFIi Q Ij do 30. thì chuyển Ij từ PF sang PF_Next 31. end for

32. Chọn các điểm Ii PFaTupleMaxQ Ii vào PointSet 33. end if

34. end while

Trong thuật toán 2.1, một vector ngưỡng aTupleMax được thiết lập bằng số bộ đặc trưng, giá trị của mỗi chiều bằng giá trị tối đa của tất cả các điểm Pareto mà nó gặp trong vòng lặp. Kết thuc thuật toán, ta thu được một tập các điểm Pareto front đa mức sâu. Tập này chứa tất cả các diểm thỏa hiệp theo từng Pareto front nghĩa là không bị làm trội bởi bất kỳ điểm nào khác. Tập này chứa tất cả các điểm có độ đo khoảng cách toàn cục tối thiểu thu đ\ực bằng kết hợp

tuyến tình, cũng như các diểm có độ đo khoảng cách cục bộ nhỏ nhất trên mỗi mức Pareto front.

Việc so sánh mức sâu depth với L nhằm mục đích khi chưa tìm đủ số điểm Pareto đa mức sâu PointSet thì tiếp tục thực hiện, ngược lại nếu số điểm PointSet đạt tới K thì thuật toán dừng. Thuật toán sử dụng các phép toán so sánh trên T danh sách. Dễ thấy độ phức tạp của thuật toán là O( N x T x K )

Để cải thiện những hạn chế của một số kĩ thuật phân lớp trong CBIR, sự kết hợp giữa các định nghĩa và các tính chất của Pareto trong một mô hình CBIR sử dụng kĩ thuật phân lớp của máy học gồm các pha như sau:

1. Tính độ tương tự: Mỗi ảnh I trong cơ sở dữ liệu được tính khoảng cách theo bộ đặc trưng và khoảng cách toàn cục với ảnh truy vấn Q.

2. Xây dựng tập ứng viên Pareto: Tập ứng viên Pareto theo l mức sâu được xây dựng ( theo Định nghĩa 2.3), kết quả ta thu được tập 𝑃𝐹𝐷𝑄𝑙

3. Xây dựng tập huấn luyện và tập kiểm tra: Trong lần tra cứu khởi tạo, khi chưa có dữ liệu huấn luyện, các ảnh trong tập ứng viên 𝑃𝐹𝐷𝑄𝑙 được xếp hạng theo độ đo khoảng cách toàn cục, có được tập kết quả top – k. Người dùng phản hồi trên tập top – k được hai tập 𝑁𝐵+ và 𝑁𝐵− tương ứng với ảnh “liên quan” và “không liê quan” với khái niệm của truy vấn. Cập nhật tập huấn luyện:

{𝑁𝐵+, 𝑁𝐵−} = {(𝐼𝑖, 𝑦𝑖), … , (𝐼𝑚, 𝑦𝑚)}, trong đó mẫu huấn luyện 𝐼𝑖 ∈ (𝑁𝐵+∪ 𝑁𝐵−), nhãn lớp 𝑦𝑖 ∈ 𝑌 = {−1,1} tương ứng “liên quan” và “không liên quan”, m là kích cỡ tập huấn luyện.

Tập kiểm tra: Đây là tập ứng viên Pareto hiện thời vừa thu được (tập 𝑃𝐹𝐷𝑄𝑙).

4. Tìm hàm phân lớp: Phân lớp theo một kĩ thuật phân lớp với dữ liệu huấn luyện là tập ảnh phản hồi của người dùng, dữ liệu kiểm tra là tập ứng viên Pareto vừa được xây dựng.

5. Tập kết quả: Tập 𝑃𝐹𝐷𝑄𝑙 được xếp hạng theo giá trị dự báo hoặc giá trị lớp theo hàm phân lớp vừa thực hiện. Danh sách có thứ hạng dự báo cao nhất được trả về người dùng. Đây là kết quả top- k có các ảnh tương tự nhất với ảnh truy vấn.

Người dùng phản hồi trên tập top – k: Tập 𝑁𝐵+ và tập 𝑁𝐵− được cập nhật them. Hiệu chỉnh trọng số và dịch chuyển truy vấn.

6. Kết quả cuối cùng: Đây là tập ảnh top – k khi người dùng thỏa mãn hoặc hết số lần định trước. Ngược lại quay lại quá trình trình từ bước 1 với truy vẫn mới thông qua dịch chuyển truy vấn.

Thuật toán 2.2 PFCBIR được đề xuất làm việc trên không gian tìm kiếm trả về từ Thuật toán 2.1 cùng với một máy phân lớp được sử dụng trên dữ liệu Pareto front đa mức sâu này. Thuật toán 2.2 hoạt động theo mô hình gồm các pha như trên.

Thuật toán 2.2 PFCBIR (Tra cứu sử dụng Pareto đa mức độ sâu) Đầu vào: E - Cơ sở dữ liệu đặc trưng

l - số mức front (độ sâu)

K - số điểm của tập là hợp các Pareto front đa mức sâu Đầu ra: Tập kết quả ảnh thỏa mãn

/* Tra cứu khởi tạo */

1: 𝐸𝑄 ← Tính độ tương tự với mỗi ảnh truy vấn Q

2: 𝑃𝐹𝐷𝑄𝑙 ← 𝐸𝑄 /* Xây dưng tập ứng viên Pareto theo định nghĩa 2.3 sử dụng thuật toán tìm ứng viên Pareto*/

3: 𝑁𝐵 ← 𝑃𝐹𝐷𝑄𝑙 /* Hiển thị top - k ảnh tương tự nhất với Q từ tập ứng viên Pareto (theo độ tương tự mức thấp) */

4: Tập huấn luyện: {𝑁𝐵+, 𝑁𝐵−} ← 𝑁𝐵 /* Tập huấn luyện được xây dựng từ lựa chọn của người dùng trên top - k kết quả */

/* Tra cứu sử dụng thông tin phản hồi */

5: while người dùng chưa thỏa mãn do

6: 𝑄′ ← 𝑁𝐵+ /* Sử dụng kĩ thuật hiệu chỉnh truy vấn*/

7: 𝐸𝑄′ ← Tính lại độ tương tự với mỗi ảnh truy vấn hiệu chỉnh Q’ /* Tính độ tương tự dựa vào kĩ thuật hiệu chỉnh trọng số*/

8: 𝑃𝐹𝐷𝑄𝑙 ← 𝐸𝑄′ /* Xây dựng tập ứng viên Pareto theo định nghĩa 2.3. Đây là tập kiểm tra*/

9: Xây dựng một hàm quyết định phân phân lớp SVM cho tập kiểm tra.

10: 𝑁𝐵 ← Tập kiểm tra /* Hiển thị top - k ảnh tương tự nhất với Q’ từ tập kiểm tra, được sắp xếp giảm dần theo giá trị dự báo của hàm phân lớp */

11: Cập nhật tập huấn luyện: {𝑁𝐵+, 𝑁𝐵−} ← 𝑁𝐵 /* Tập huấn luyện được xây dựng từ lựa chọn của người dùng trên top - k kết quả */

12: end while

Thuật toán PFCBIR hoạt động như sau:

- Tra cứu khởi tạo:

+ Dòng 1: Không gian tìm kiếm 𝐸𝑄 = {𝐼𝑖, 𝐷𝑄𝑡(𝐼𝑖)}

𝑖=1,𝑡=1,𝑇̅̅̅̅

𝑁 , xây dựng từ tính độ đo khoảng cách theo bộ đặc trưng của mỗi ảnh với ảnh truy vấn. Mỗi ảnh thứ i trong cơ sở dữ liệu ta có tập độ đo tương tự theo bộ đặc trưng {𝐷𝑄𝑡(𝐼𝑖)}

𝑡=1,𝑇̅̅̅̅ và độ đo tương tự kết hợp 𝐷𝑄(𝐼𝑖) so với ảnh truy vấn.

+ Dòng 2: Từ không gian tìm kiếm EQ, xây dựng tập ứng viên Pareto (Pareto front đa mức sâu) theo định nghĩa Pareto front đa mức sâu (Định nghĩa 2.3) sử dụng thuật toán 2.1

+ Dòng 3: Sắp xếp các ảnh trong tập Pareto front đa mức sâu thu được (dòng 2) theo độ tương tự toàn bộ giảm dần, gọi tắt là tập NB (top – k tập ảnh có thứ hạng cao nhất).

+ Dòng 4: Xây dựng tập huấn luyện: Trên tập kết quả NB người dùng lựa chọn các ảnh theo đánh giá “liên quan” hoặc “không liên quan” với các khái niệm của ảnh truy vấn. Các ảnh được chọn “liên quan” hoặc “không liên quan”

được hệ thống đưa vào tập 𝑁𝐵+ hoặc 𝑁𝐵− tương ứng. Tập huấn luyện là các ảnh thuộc cả hai tập này, ảnh thuộc tập 𝑁𝐵+ được gán nhãn là +1, ảnh thuộc tập 𝑁𝐵− đươc gán nhãn -1. Theo mô hình học xếp hạng, mỗi mẫu huấn luyện gồm vec tơ đặc trưng 𝑥𝑖 và lớp 𝑦𝑖 tương ứng, trong trường hợp này 𝑥𝑖 = (𝐼𝑖1, … , 𝐼𝑖𝑇) hay 𝑦𝑖 = +1 hoặc -1.

Tra cứu sử dụng thông tin phản hồi:

+ Dòng 6: Sử dụng tập các ảnh liên quan thu được ở dòng 4 (𝑁𝐵+) để xây dựng truy vấn hiệu chỉnh.

+ Dòng 7: Tính lại độ tương tự của mỗi ảnh trong tập dữ liệu theo truy vấn hiệu chỉnh. Độ tương tự được tính dựa vào kĩ thuật hiệu chỉnh trọng số.

+ Dòng 8: Xây dựng ứng viên Pareto front đa mức sâu (Định nghĩa 2.3).

Kĩ thuật này điều chỉnh tập ứng viên Pareto front đa mức sâu theo khái niệm của truy vấn vừa được hiệu chỉnh. Quá trình này lựa chọn được các ảnh từ học thông tin phản hồi của người dùng. Tập ứng viên Pareto front đa mức sâu luôn được điều chỉnh cho phù hợp với khái niệm của truy vấn,

+ Dòng 9: Xây dựng hàm quyết định phân lớp kiểu như SVM. AdaBoost,

… sử dụng các thuật toán và kĩ thuật máy học có đầu vào là tập huấn luyện và tập kiểm tra. Đầu ra của hàm phân lớp là danh sách các điểm số tương ứng của các ảnh (giá trị dự báo lớp hoặc giá trị xếp hạng).

+ Dòng 10: Xếp hạng: Lấy ra tập top – k có giá trị xếp hạng (dự báo) được sắp xếp theo thứ tự giảm dần, kí hiệu là tập NB.

+ Dòng 11: Cập nhật tập huấn luyện như dòng 4, có sự tăng cường sau mỗi lần phản hồi.

Thông thường quá trình phản hồi của người dùng thường được thiết lập số lần lặp nhỏ hơn 10 (tương đương số ảnh tra cứu 20% đến 30% cơ sở dữ liệu).

Dễ thấy, nếu số lần lặp là loop thì thuật toán có độ phức tạp là O(loop x N x T x K), trong đó K là số điểm Pareto, T là số bộ đặc trưng và N là số ảnh trong cơ sở dữ liệu.

Một phần của tài liệu Tra cứu ảnh dựa trên khoảng cách và bài toán tối ưu pareto (Trang 39 - 47)

Tải bản đầy đủ (PDF)

(69 trang)