1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Học từ điển và ứng dụng trong phân loại ảnh

46 243 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 46
Dung lượng 2,12 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phương pháp học từ điển là học các đặc trưng bên trong, có kích thước không gian biểu diễn nhỏ so với không gian biểu diễn ban đầu mà có thể biểu diễn chính xác được thông tin ban đầu củ

Trang 1

Trịnh Tiến Hòa

HỌC TỪ ĐIỂN VÀ ỨNG DỤNG TRONG PHÂN LOẠI ẢNH

Chuyên ngành: Công nghệ thông tin

LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS Thân Quang Khoát

Hà Nội – 2017

Trang 2

DANH MỤC CÁC BẢNG 4

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 5

MỞ ĐẦU 6

CHƯƠNG 1 – TỔNG QUAN CƠ SỞ LÝ THUYẾT 8

1.1 Giới thiệu học từ điển 8

1.2 Biểu diễn thưa của tín hiệu 8

1.3 Mã hóa thưa 9

1.4 Tiền xử lý ảnh 9

1.5 Phân lớp SVM 11

CHƯƠNG 2 - THUẬT TOÁN K-SVD 13

2.1 Giới thiệu thuật toán K-SVD cho học từ điển: 13

2.2 Thuật toán K-means cho lượng hóa vector 13

2.3 K-SVD-Tổng quát hóa K-Means 15

2.4 Mô tả chi tiết K-SVD 17

2.5 Từ K-SVD quay lại K –Means 21

2.6 Các tính chất của K-SVD 22

CHƯƠNG 3 – MÔ TẢ BÀI TOÁN, MÔ HÌNH, KẾT QUẢ THỰC NGHIỆM VÀ MÔ PHỎNG 23

3.1 Mô tả bài toán 23

3.2 Mô hình học từ điển 26

3.3 Xây dựng cơ sở dữ liệu 28

3.4 Mô tả dữ liệu thực nghiệm 29

3.5 Tiêu chí đánh giá 30

3.6 Phần mềm hỗ trợ phân lớp 31

3.7 Kết quả thực nghiệm 37

3.8 Tổng kết chương 42

KẾT LUẬN 43

TÀI LIỆU THAM KHẢO 44

Trang 3

LỜI CAM ĐOAN

Những kiến thức trình bày trong luận văn “Học từ điển và Ứng dụng trong phân loại ảnh” là do tôi tìm hiểu, nghiên cứu và trình bày theo những kiến thức tổng hợp của cá nhân Kết quả nghiên cứu trong luận văn này chưa từng được công bố tại bất kỳ công trình nào khác Trong quá trình làm luận văn, tôi có tham khảo các tài liệu có liên quan và đã ghi rõ nguồn tài liệu tham khảo Tôi xin cam đoan đây là công trình nghiên cứu của tôi và không sao chép của bất kỳ ai

Tôi xin chịu hoàn toàn trách nhiệm, nếu sai, tôi xin chịu mọi hình thức kỷ luật theo quy định

Hà Nội, ngày 25 tháng 2 năm 2017

Học viên

Trịnh Tiến Hòa

Trang 4

Đồng thời, tôi cũng xin gửi lời cảm ơn tới các Thầy, cô trong Bộ môn Hệ thống thông tin, Trường Đại Học Bách Khoa Hà Nội đã giúp đỡ tôi trong suốt quá trình học tập và nghiên cứu tại Bộ môn

Cuối cùng, tôi xin gửi lời cảm ơn chân thành đến gia đình, bạn bè, những người đã luôn bên tôi, động viên và khuyến khích tôi trong quá trình thực hiện đề tài nghiên cứu của mình

Học viên

Trịnh Tiến Hòa

Trang 5

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

K-SVD K- Singular value decomposition Phân rã K giá trị kỳ dị

MOD Method of optimal directions Phương pháp hướng tối ưu

SSE Sum of Squared Error Tổng lỗi trung bình bình phương SNR Signal-to-noise ratio Tỉ lệ tín hiệu trên nhiễu

SVM Support vector machine Máy vector hỗ trợ

VQ Vector quantization Lượng hóa vector

MSE Mean Squared Error Trung bình bình phương sai số OMP Orthogonal matching pursuit Đuổi khớp trực giao

ma trận biểu diễn tín hiệu Y

Trang 6

DANH MỤC CÁC BẢNG

Bảng 3.1 - Bảng kết quả phân lớp và các chỉ số của tập train và Test theo K.38

Trang 7

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1.1 - Các chi tiết đặc trưng để phân biệt đối tượng 9

Hình 2.1 - Thuật toán K-means 14

Hình 2.2 - Thuật toán K-SVD 19

Hình 3.1 - Chia tập ảnh thành 2 tập học và kiểm tra………….………… ………25

Hình 3.2 - Mô tả quá trình tạo túi từ 26

Hình 3.3 - Biểu diễn đặc trưng bằng biểu đồ histogram 27

Hình 3.4 - Biểu diễn các bức ảnh bằng biểu đồ histogram 27

Hình 3.5 - Đánh giá kết quả phân lớp của các bức ảnh 27

Hình 3.6 - Mô tả hệ thống phân loại ảnh 28

Hình 3.7 - Mô tả ảnh Ôtô laptop 32

Hình 3.8 - Giao diện chính của phần mềm 34

Hình 3.9 - Chọn ảnh đầu vào 35

Hình 3.10 - Chọn ảnh ôtô 36

Hình 3.11 - Kết quả phân tích là Car 37

Hình 3.12 - Hiển thị tên tác giả và các thông tin trợ giúp 38

Hình 3.13 - Kết quả phân tích là Laptop 39

Hình 3.14 - Sự thay đổi độ chính xác của tập Train và Test theo K 41

Hình 3.15 - Sự thay đổi SNR của tập Training và Testing theo K 40

Hình 3.16 - Sự thay đổi SSE của tập Train và Test theo K 43

Hình 3.17 - Thời gian xử lý dữ liệu của tập Train 44

Trang 8

MỞ ĐẦU

1 Tính cấp thiết của đề tài

Khoa học kỹ thuật phát triển, lĩnh vực nhận dạng ngày càng được ứng dụng nhiều trong các hệ thống hiện đại Một minh chứng chính là hiện nay nhiều hãng máy tính lớn cũng xây dựng cho mình các công cụ đăng nhập tự động bằng phần mềm nhận dạng nhằm tạo ra sự tiện dụng đến khách hàng Bản chất thật sự của nhận dạng chính là một bài toán phân lớp Với ảnh đầu vào, phần mềm sẽ phân lớp ảnh đó vào một lớp thích hợp trong hệ thống hoặc xác định là ảnh đó không tồn tại trong cơ sở dữ liệu Đây chính là một trong những nguyên nhân bài toán phân lớp ảnh đang thu hút được nhiều sự quan tâm

Ngoài ra, sự phát triển của điện thoại thông minh và máy ảnh kỹ thuật số ngày nay đang kéo theo sự bùng nổ ảnh kỹ thuật số Số lượng ảnh khổng lồ lưu thông trên mạng đang đặt ra vấn đề về việc quản lý nội dung ảnh Nếu ta có thể phân loại ảnh tốt thì có nghĩa là ta có thể dễ dàng loại bỏ những ảnh không phù hợp trên các trang web

Đến đây, một trong những thuật toán hiệu quả để giải quyết vấn đề này là thuật toán K-SVD Ngoài ra bài toán xử lý ảnh cũng được đưa ra nhằm phân tích các đặc trưng cơ bản của ảnh và áp dụng các đặc trưng vào thuật toán K-SVD Trong nghiên cứu này, xử lý ảnh là bước tiền xử lý thông tin quan trọng, sau đó thông tin được đưa vào thuật toán K-SVD, SVM nhằm giải quyết bài toán phân lớp Kết quả đưa ra độ chính xác của quá trình phân lớp

Đề tài “Học từ điển và ứng dụng trong phân loại ảnh” nhằm mục đích hiểu

được cách thức và phương pháp phân loại ảnh hiệu quả

2 Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu tập trung vào việc xử lý ảnh bằng phương pháp trích chọn đặc trưng

Trang 9

Tìm hiểu thuật toán K-SVD, máy vector hỗ trợ SVM sử dụng cho phân lớp ảnh

Phạm vi nghiên cứu giới hạn trong việc phân lớp hai nhóm ảnh ô tô và máy tính từ 131 bức ảnh ban đầu Trong đó chia ra 70% số bức ảnh làm tập học và 30%

số bức ảnh làm tập kiểm tra Kết quả được độ chính xác của quá trình phân lớp ảnh

3 Mục tiêu nghiên cứu

Về mặt lý thuyết, tác giả nghiên cứu:

Về mặt ứng dụng thực tiễn, tác giả xây dựng một chương trình phần mềm có

sử dụng thư viện mở thuật toán K-SVD, SVM để từ các bức ảnh ban đầu chương trình sẽ phân lớp ảnh và đưa ra độ chính xác cho quá trình phân lớp

4 Bố cục luận văn

Nội dung luận văn gồm ba chương, trong đó:

Chương 1 - Tổng quan cơ sở lý thuyết

Chương 2 - Thuật toán K-SVD

Chương 3 - Mô tả bài toán, mô hình, Kết quả thực nghiệm và mô phỏng

Trang 10

CHƯƠNG 1 – TỔNG QUAN CƠ SỞ LÝ THUYẾT

1.1 Giới thiệu học từ điển

Số lượng thông tin kích thước khổng lồ được ghi lại trong mỗi giây của bộ cảm biến tự nhiên như mắt hoặc tai, cũng như cảm biến nhân tạo như máy ảnh hoặc microphones Thông tin này phần lớn là dư thừa ở hai khía cạnh chính: nó thường chứa nhiều phiên bản giống nhau của thế giới vật lý và mỗi phiên bản thường có mật độ mẫu dày đặc bởi cảm biến Thông tin thích hợp được xử lý trong quá trình quan sát có kích thước giảm rất nhiều so với tập dữ liệu được ghi Nguồn gốc thông tin thích hợp này nhận dạng bởi đặc trưng bên trong các lớp của tín hiệu Phương pháp học từ điển là học các đặc trưng bên trong, có kích thước không gian biểu diễn nhỏ so với không gian biểu diễn ban đầu mà có thể biểu diễn chính xác được thông tin ban đầu của tín hiệu và tốt cho nhiệm vụ xử lý (như phân lớp dữ liệu)

1.2 Biểu diễn thưa của tín hiệu

Sử dụng một ma trận từ điển hoàn chỉnh có chứa K nguyên mẫu

thành phần tín hiệu cho các cột K

j 1 , một tín hiệu có thể được biểu diễn như là một sự kết hợp tuyến tính của các thành phần thưa Biểu diễn của y có thể một trong hai là chính xác y=Dx hoặc gần đúng y≈Dx , thỏa mãn ||y-Dx||p <ε Các vector chứa các hệ số biểu diễn của tín hiệu y Trong phương pháp xấp xỉ, tiêu chuẩn điển hình được sử dụng để đo lường sai lệch là chuẩn cho p=1,2 và ∞ Nếu n<K và D là một ma trận hạng đầy đủ, có vô hạn các giải pháp có sẵn cho

các vấn đề biểu diễn tín hiệu Do đó phải thiết lập giải pháp với số lượng ít nhất các

hệ số khác không là một biểu diễn hấp dẫn Biểu diễn thưa nhất là giải pháp của một trong hai biểu thức sau:

( ) ‖ ‖0 đối tượng y=Dx (1.1)

Hoặc: ( ) ‖ ‖0 đối tượng ||y-Dx||2≤ (1.2)

Trang 11

Trong đó ||.||0 là chuẩn l0, đếm các hệ số khác 0 của một vector

1.3 Mã hóa thưa

Mã hóa thưa [4] là quá trình tính toán các hệ số biểu diễn x dựa trên các tín hiệu nhất định y và từ điển D Quá trình này, thường được gọi là "phân rã thành phần," yêu cầu giải quyết (1.1) hoặc (1.2), và điều này thường thực hiện bởi "lớp các thuật toán" mà tìm thấy một giải pháp gần đúng Mã hóa thưa là một giai đoạn cần thiết trong phương pháp K-SVD, do đó điều quan trọng là phải có một cái nhìn tổng quan tốt của phương pháp để đạt được mục đích Xác định chính xác, chứng minh biểu diễn thưa nhất là một vấn đề khó vì vậy giải pháp gần đúng được coi là

sự thay thế

1.4 Tiền xử lý ảnh

Trước khi có thể đi vào vấn đề chính thì việc đầu tiên cần phải làm đó là đọc được ảnh Trong thực tế, nhiều chương trình có thể đọc được một file ảnh ở dạng nhị phân rồi thể hiện nó ở dạng hình ảnh cho chúng ta xem, tuy nhiên đó không phải

là cách đọc ảnh mà ta cần

Hình 1.1 - Các chi tiết đặc trưng để phân biệt đối tượng

Trang 12

Như hình 1.1 minh họa, điều ta cần ở đây chính là có thể đọc được các đối tượng khác nhau trong ảnh hay đơn giản là đọc được những chi tiết có khả năng đặc trưng cho các đối tượng với nhau Trong Matlab hỗ trợ trích lọc các đặc trưng cục

bộ từ ảnh Đó là những đặc trưng thường rất ít bị tác động bởi các thành phần như tỉ

lệ phóng to hay góc xoay của đối tượng nên có thể coi đây là những đặc trưng bất biến (invariant) Đầu tiên người ta sẽ tìm những điểm đặc biệt (interest point), những điểm này thường nằm ở những vùng có kết cấu (texture) đặc biệt trên ảnh Sau đó từ các đặc trưng thu được xung quanh mỗi điểm đặc biệt người ta sẽ biểu diễn nó bằng một vector 128 chiều Đến đây với những vector đặc trưng trích lọc được từ ảnh, người ta có thể dùng để đối sánh nội dung của hai ảnh với nhau hoặc dựa vào tỉ lệ, góc xoay để biết được đối tượng đã được phóng to, thu nhỏ hay thay đổi góc độ như thế nào

Trang 13

với f x,y là độ dài của véc tơ gradient, b(x,y) là ảnh nhị phân và e(x,y)

intensity của ảnh xám, T1 là ngưỡng Những đặc trưng này được chuẩn hóa bởi công thức:

Trong đó: h: là histogram của màu sắc h là vector [h 1, ……,h n]

N: là số lượng điểm ảnh trong bức ảnh

Có một cách khác để tính đặc trưng RGB, đó là tính từng ma trận hR[],hG[],hB[]

1.5 Phân lớp SVM

Phân lớp SVM [5] xây dựng một siêu phẳng hoặc một tập hợp các siêu phẳng trong một không gian nhiều chiều hoặc vô hạn chiều, có thể được sử dụng cho phân loại, hồi quy hoặc các nhiệm vụ khác Một cách trực giác, để phân loại tốt nhất thì các siêu phẳng nằm càng xa các điểm dữ liệu của tất cả các lớp (gọi là hàm lề) càng tốt Nói chung lề càng lớn thì sai số tổng quát hóa của thuật toán phân loại càng bé

Trong nhiều trường hợp, không thể phân chia các lớp dữ liệu một cách tuyến tính trong một không gian ban đầu được dùng để mô tả một vấn đề Vì vậy, nhiều

Trang 14

khi cần phải ánh xạ các điểm dữ liệu trong không gian ban đầu vào một không gian mới nhiều chiều hơn, để việc phân tách chúng trở nên dễ dàng hơn trong không gian mới Để việc tính toán được hiệu quả, ánh xạ sử dụng trong thuật toán SVM chỉ đòi hỏi tích vô hướng của các vectơ dữ liệu trong không gian mới có thể được tính dễ dàng từ các tọa độ trong không gian cũ Tích vô hướng này được xác định bằng một hàm hạt nhân K(x,y) phù hợp Một siêu phẳng trong không gian mới được định nghĩa là tập hợp các điểm có tích vô hướng với một vectơ cố định trong không gian

đó là một hằng số Vectơ xác định một siêu phẳng sử dụng trong SVM là một tổ hợp tuyến tính của các vectơ dữ liệu học trong không gian mới với các hệ số αi Với siêu phẳng lựa chọn như trên, các điểm x trong không gian đặc trưng được ánh xạ vào một siêu mặt phẳng là các điểm thỏa mãn:

- Biểu diễn tập r các mẫu học (training examples)

{(x 1, y1), (x 2, y2 ), …, (x r,yr )},

- Các vectơ được ký hiệu bởi các chữ đậm nét

+ xi là một vectơ đầu vào được biểu diễn trong không gian X  Rn

+ yi là một nhãn lớp (giá trị đầu ra), yi {1,-1}

+ yi =1: lớp dương (positive); y1 =-1: lớp âm (negative)

Với dữ liệu đầu vào được gán nhãn -1 hoặc +1, máy véc tơ hỗ trợ phân lớp dữ liệu này được kết quả dữ liệu của 2 lớp dùng biến đếm để liệt kê các giá trị -1, +1 sau khi phân lớp bằng SVM so sánh với nhãn lớp -1, +1 ban đầu, được kết quả là tỉ

lệ chính xác phân lớp bằng SVM

Trang 15

CHƯƠNG 2 - THUẬT TOÁN K-SVD

2.1 Giới thiệu thuật toán K-SVD cho học từ điển:

K –SVD là thuật toán phân rã K giá trị D Thuật toán này bắt nguồn từ thuật toán K-means chẳng hạn như khi tìm 1 giá trị dk trong mỗi lần tính toán thì thực chất là thuật toán K-means Nhưng khi tìm K giá trị dk (phân rã D thành K giá trị dk) thì thiết kế của nó dẫn đến tổng quát hóa của thuật toán K-means Thuật toán K-SVD có hiệu quả cao, đúng cho hiệu quả mã hóa thưa và tăng tốc cập nhật từ điển Mỗi bước của thuật toán là mạch lạc với nhau, cả hai bước làm giá trị lỗi nhỏ hơn, kết quả thu được bộ từ điển hoàn chỉnh

2.2 Thuật toán K-means cho lượng hóa vector

Cho vector tín hiệu N

i 1 ( ) với yi ={x1,x2,…,xr} xi là một ví dụ (một vectơ trong một không gian n chiều) Thuật toán K-means phân chia tập dữ liệu thành k cụm, mỗi cụm (cluster) có một điểm trung tâm, được gọi là centroid k(tổng số các cụm thu được) là một giá trị được cho trước (vd: được chỉ định bởi người thiết kế hệ thống phân cụm).Với một giá trị k được xác định trước, Chọn ngẫu nhiên k ví dụ (được gọi là các hạt nhân – seeds) để sử dụng làm các điểm trung tâm ban đầu (initial centroids) của k cụm, Lặp liên tục cho đến khi gặp điều kiện hội tụ (convergence criterion) Đối với mỗi ví dụ, gán nó vào cụm (trong số k cụm) mà có tâm (centroid) gần ví dụ đó nhất Đối với mỗi cụm, tính toán lại điểm trung tâm (centroid) của nó dựa trên tất cả các ví dụ thuộc vào cụm đó Quá trình phân cụm kết thúc nếu không có (hoặc có không đáng kể) việc gán lại các ví dụ vào các cụm khác, hoặc không có (hoặc có không đáng kể) thay đổi về các điểm trung tâm (centroids) của các cụm, hoặc giảm không đáng kể về tổng lỗi phân cụm

Từ điển của từ mã lượng hóa vector VQ là kiểu học sử dụng thuật toán means, biểu thị ma trận từ điển bởi C=[c1,c2,… , ck] , từ mã là các cột Khi C được

K-đưa ra, mỗi tín hiệu biểu diễn từ mã gần nhất của nó (dưới khoảng cách chuẩn l2

)

Trang 16

Có thể viết yi=Cxi, Trong đó xi=ej là một vector, với tất cả mục là 0 trừ một trong số

ở vị trí thứ j Các chỉ số j được lựa chọn như sau

‖ ‖2

2 đ ều kiện ộ à á ị Đầu tiên: cài đặt ma trận mã à đặ

Lặp lại đến khi hội tụ (sử dụng thước đo để dừng lại):

Giai đoạn biểu diễn thưa: Chia mẫu đào tạo Y thành K cụm

( ) chọn ngẫu nhiên K mẫu (được gọi là các hạt nhân – seeds) làm các điểm trung tâm ban đầu của K cụm Đối với mỗi mẫu ( )gán nó vào cụm (trong số K cụm) mà có tâm (centroid) gần mẫu đó nhất với điều kiện

( ) ( ) 2 ( ) 2

Giai đoạn cập nhật từ điển: Đối với mỗi cụm tính toán lại điểm trung tâm

của nó dựa trên tất cả các mẫu thuộc vào cụm đó cho mỗi cột k trong C(J-1), cập nhật nó bởi

( )

iRk

i( )

Trong đó: ( ) là giá trị trung bình của cụm

|Rk| kích thước của cụm Rk (tổng số mẫu trong Rk )

Cài đặt J=J+1

Hình 2.1 - Thuật toán K-means

Trang 17

Biểu diễn MSE cho mỗi yi được định nghĩa là: ‖ ‖2

2

2 với ộ à á ị ( ) Thuật toán K-means là một phương pháp lặp được sử dụng để thiết kế từ điển tối ưu nhất cho lượng hóa vector VQ Trong mỗi lần lặp có hai giai đoạn: một cho

mã hóa thưa mà chủ yếu đánh giá lại X và một cho việc cập nhật từ điển Hình 2.1 cung cấp nhiều mô tả chi tiết các bước này

Các giai đoạn mã hóa thưa giả định biết một từ điển C(J-1) và sẽ tính toán khả thi X để giảm thiểu giá trị của (2.2) Tương tự như vậy, giai đoạn cập nhật từ điển

cố định X như đã biết và tìm kiếm cập nhật sao cho biểu thức (2.2) có giá trị nhỏ nhất Rõ ràng, ở mỗi lần lặp, hoặc là giảm hoặc giá trị MSE không thay đổi Hơn nữa, ở mỗi giai đoạn như vậy, bước giảm thiểu có tổng là tốt nhất Khi MSE bị chặn dưới bởi không, và thuật toán đảm bảo đơn điệu giảm của MSE, hội tụ để ít nhất là một giải pháp đảm bảo tối thiểu địa phương

2.3 K-SVD-Tổng quát hóa K-Means

Vấn đề biểu diễn thưa có thể được xem như là một sự tổng quát VQ của mục tiêu biểu thức(2.2), trong đó chúng ta cho phép mỗi đầu vào tín hiệu được biểu diễn bởi một sự kết hợp tuyến tính của các từ mã, cái chúng ta gọi là các thành phần từ điển Vì vậy các hệ số vector hiện tại cho phép nhiều hơn một giá trị khác không, và chúng có thể có giá trị thay đổi Đối với trường hợp này, giá trị nhỏ nhất phù hợp biểu thức (2.2) là tìm kiếm từ điển tốt nhất có thể cho các biểu diễn thưa của tập

mẫu Y

{||Y-DX||2

2} với ‖ ‖ 0 0 (2.3)

Trang 18

Một mục tiêu tương tự khác có thể được đáp ứng bằng cách xem xét

∑ ‖ ‖ 0 với ||Y-DX||2

2≤ ( ) cho một giá trị cố định

Trong thuật toán, giá trị nhỏ nhất của biểu thức (2.3) có tác động qua lại lẫn nhau Đầu tiên cố định D và nhằm mục đích để tìm hệ số tốt nhất ma trận X Như đi tìm X thực sự tối ưu là không thể, sử dụng phương pháp xấp xỉ Bất kỳ thuật toán nào như vậy có thể sử dụng để tính toán các hệ số, miễn là nó có thể cung cấp một

giải pháp với giá trị cố định và được xác định trước số lượng các hệ số T 0 khác 0

Một khi nhiệm vụ mã hóa thưa được thực hiện, giai đoạn thứ hai được thực hiện để tìm kiếm cho một từ điển tốt hơn Quá trình này cập nhật một cột tại một

thời điểm, cố định tất cả các cột trong D ngoại trừ một d k, và tìm kiếm một cột mới

k

d~ và giá trị mới cho các hệ số của nó tốt nhất làm giảm giá trị MSE Điều này là khác nhau rõ rệt từ tất cả khái quát K-means đã được mô tả trong phần 2.1 Tất cả những phương pháp đóng băng X trong khi tìm kiếm D tốt hơn Cách tiếp cận là khác nhau, như chúng ta thay đổi các cột của D tuần tự và cho phép thay đổi các hệ

số thích hợp Trong một nghĩa nào đó, cách tiếp cận này là một sự tổng quát trực tiếp hơn của thuật toán K-means vì nó cập nhật mỗi cột riêng biệt, như thực hiện trong K-means Một điều có thể lập luận rằng trong K-means các mục khác không trong X là cố định trong việc cải thiện của ck, nhưng như chúng ta sẽ thấy tiếp theo, điều này là đúng bởi vì trong K-means (hình dạng có lợi VQ ), vấn đề cập nhật cột được tách riêng, trong khi đó ở nhiều thiết lập chung, đây không phải là trường hợp lựa chọn

Quá trình cập nhật chỉ có một cột của D tại một thời điểm là một vấn đề có một giải pháp đơn giản dựa trên phân rã giá trị số ít (SVD) Hơn nữa, cho phép một thay đổi giá trị hệ số trong khi cập nhật cột từ điển để tăng tốc hội tụ, kể từ khi các cột tiếp theo được cập nhật dựa trên các hệ số phù hợp hơn Hiệu quả tổng thể là rất phù hợp với những bước nhảy vọt như gradient descent đến các phương pháp

Trang 19

Gauss-Seidel trong tối ưu hóa Ở đây người ta có thể để đề nghị bỏ qua các bước của mã hóa thưa và chỉ sử dụng cập nhật các cột trong D cùng với hệ số của chúng,

áp dụng trong một thời kỳ, lặp đi lặp lại Điều này sẽ không làm việc tốt, như hỗ trợ của biểu diễn sẽ không bao giờ bị thay đổi, và một thuật toán như vậy nhất thiết sẽ rơi vào một cái bẫy tối thiểu địa phương

2.4 Mô tả chi tiết K-SVD

Bây giờ sẽ thảo luận chi tiết về K-SVD Nhớ lại rằng hàm mục tiêu là

{||Y-DX||22} với ‖ ‖ 0 0 (2.5)

Cho phép đầu tiên xem xét các giai đoạn mã hóa thưa, giả định D là cố định,

và xem xét các vấn đề ở trên như tìm kiếm cho biểu diễn thưa với hệ số tổng hợp trong ma trận X tốt nhất Điều kiện phạt có thể được viết lại như sau

‖ ‖2

2 ‖ ∑ ‖2

2

Trang 20

=‖( ∑ ) ) ‖2

2

= ‖ ‖2

2 ( )

Trong biểu thức (2.7) đã tách các phép nhân DX với tổng của K ma trận cấp 1 Trong đó, K-1 nhóm là cố định,và một cột thứ k còn lại thay đổi Ma trận Ek là lỗi cho tất cả N mẫu khi các thành phần thứ k được loại bỏ Một biện pháp giải quyết vấn đề trên là đơn giản và cũng khá trực quan Định nghĩa nhóm của chỉ số trỏ đến mẫu có sử dụng các thành phần dk vân vân, những phần tử trong đó ( ) là khác không Do đó | ( ) ( )

Định nghĩa: như là một ma trận kích thước với môt số thành phần thứ ( ( ) ) trên và các thành phần bằng 0 khác khi nhân , Điều này

sẽ làm co lại các vector hàng bằng cách loại bỏ các phần tử bằng 0

Trang 21

Nhiệm vụ: Tìm từ điển tốt nhất biểu diễn mẫu dữ liệu N

i 1 như tổng hợp thành phần thưa bởi biểu thức:

‖ ‖2

2 với 0 Ban đầu: Cài đặt ma trận với chuẩn 2

Đặt Lặp đến khi hội tụ ( dừng lại bởi giới hạn số lần lặp):

Giai đoạn mã hóa thưa: Sử dụng với bất kỳ thuật toán để tính toán biểu

diễn vector xi cho mỗi mẫu yi, bởi các giải pháp xấp xỉ của i=1,2,…,N,

{‖ ‖2

2} ớ 0

Giai đoạn cập nhật từ điển: Cho mỗi cột k = 1,2,…,K trong D(J-1)

, cập nhật bởi

- Định nghĩa nhóm của mẫu sử dụng thành phần

{i|1≤i≤N, ( )

- Tính tổng lỗi biểu diễn ma trận, E k, bởi biểu thức

E k= ∑

- Hạn chế Ek bởi chọn duy nhất cột phù hợp và đạt được

- Cập nhật SVD phân rã Chọn cập nhật từ điển với cột ̃ là cột đầu tiên của U Cập nhật hệ số vector là cột đầu tiên của V bởi ( )

đặt J=J+1

Kết quả với các vector hàng có chiều dài | | Tương tự như vậy, việc nhân

tạo ra một ma trận kích thước nx bao gồm một tập hợp con của các mẫu mà hiện đang sử dụng các thành phần dk Hiệu quả tương tự xảy ra với , bao hàm một sự lựa chọn của các cột lỗi tương ứng với các mẫu có sử dụng thành phần dk

Trang 22

Với ký hiệu này, bây giờ trở lại (2.7) và gợi ý giảm thiểu mối quan hệ cho cả hai dk và , nhưng hiệu quả lần này với giải pháp của ̃ để có sự hỗ trợ tương tự như bản gốc Điều này tương đương với việc giảm thiểu của

ý rằng, trong giải pháp này, chúng ta nhất thiết phải có i) các cột của D vẫn bình thường và ii) sự hỗ trợ của tất cả các biểu diễn hoặc là vẫn như vậy hoặc trở nên nhỏ hơn bởi điều kiện có thể kết thúc

Chúng ta sẽ gọi thuật toán "K-SVD" này song song tên K-means Trong khi K-means áp dụng K tính toán của means để cập nhật các từ điển, K-SVD sẽ thu được cập nhật từ điển bởi K- SVD tính toán, xác định mỗi một cột Đầy đủ mô tả thuật toán được đưa ra trong Hình.2.2

Trong thuật toán K-SVD, quét qua các cột và luôn sử dụng các hệ số cập nhật nhất khi chúng xuất hiện từ trước bước SVD Phiên bản song song của thuật toán này có thể cũng được xem xét, nơi mà tất cả các bản cập nhật của từ điển trước được thực hiện giống như X Các thí nghiệm cho thấy, trong khi đó Phiên bản này cũng hội tụ, nó mang lại một giải pháp kém hơn và thường đòi hỏi nhiều hơn bốn lần số lần lặp

Khi nào thuật toán K-SVD sẽ hội tụ? Đầu tiên cho rằng chúng ta có thể thực hiện giai đoạn mã hóa thưa hoàn hảo, lấy xấp xỉ tốt nhất cho tín hiệu yi mà không chứa nhiều hơn T0 các mục khác không trong trường hợp này, giả sử một từ điển D

cố định, mỗi bước mã hóa thưa giảm tổng lỗi biểu diễn ‖ ‖2

2 , đặt ra trong (2.5) Ngoài ra, tại bước cập nhật cho dk , giảm thêm hoặc không thay đổi trong MSE, trong khi không vi phạm các ràng buộc thưa Thực hiện một loạt các bước

Trang 23

đảm bảo như vậy đơn điệu giảm MSE, và do đó, hội tụ đến một tối thiểu địa phương được đảm bảo

Thật không may, những đòi hỏi trên phụ thuộc vào sự thành công của các lớp thuật toán mạnh xấp xỉ các giải pháp (2.6), và do đó hội tụ không phải luôn luôn được đảm bảo Tuy nhiên, khi T0 là đủ nhỏ tương đối với n, OMP, FOCUSS, và phương pháp xấp xỉ BP được biết để thực hiện rất tốt.Trong những trường hợp hội

tụ được đảm bảo.Có thể đảm bảo hội tụ bởi bên ngoài nhiễu bằng cách so sánh tốt nhất giải pháp sử dụng sự hỗ trợ đã được trao cho một trong những đề xuất mới chạy của lớp thuật toán, và việc áp dụng tốt hơn Bằng cách này, chúng ta sẽ luôn luôn nhận được sự cải thiện

2.5 Từ K-SVD quay lại K –Means

Điều gì xảy ra khi mẫu của mô hình T 0 =1 ? Trường hợp này tương ứng với hình dạng VQ, và như vậy điều quan trọng là, K -SVD trở thành một phương pháp

cho học từ điển Khi T 0 =1, Ma trận hệ số X chỉ có một mục khác không mỗi cột Như vậy, tính toán lỗi chuyển giao trong (2.9)

) ( )

Điều này là do giới hạn chỉ lấy những cột trong Ek sử dụng các thành phần

dk như vậy là cần thiết, họ không sử dụng các thành phần khác, bao hàm cho tất cả

Bao hàm của kết quả trên là các SVD trong trường hợp T 0 =1 được thực hiện trực tiếp trên nhóm của các mẫu trong Ngoài ra, K cập nhật các cột của D trở nên độc lập nhau, bao hàm một quá trình xử lý tuần tự như trước, hoặc quá trình song song, cả hai đều dẫn đến cùng một thuật toán.Tôi đã đề cập trước rằng bản cập nhật K-means của các trọng tâm cụm có thể được hiểu là một quá trình tuần tự Giai

đoạn biểu diễn dàng buộc trong tương lai, ngoài sự lựa chọn T 0 =1, giới hạn các mục khác không của X là 1 Điều này đưa chúng ta trở lại vấn đề phân cụm cổ điển

Ngày đăng: 29/06/2018, 00:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2]. Ivana Toši´c and Pascal Frossard, Dictionary Learning, IEEE SIGNAL PROCESSING MAGAZINE MARCH 2011 Sách, tạp chí
Tiêu đề: Dictionary Learning
[3]. Karl Skretting, University of Stavanger.Dictionary Learning Tools for Matlab.July 2, 2014 Sách, tạp chí
Tiêu đề: Dictionary Learning Tools for Matlab
[4]. Michal Aharon, Michael Elad, and Alfred Bruckstein , An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation, IEEETRANSACTIONS ON SIGNAL PROCESSING, VOL. 54, NO. 11, NOVEMBER 2006 Sách, tạp chí
Tiêu đề: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation
[7]. Guillaume, S. (2001). Designing fuzzy inference systems from data: an interpretability-oriented review. IEEE Transactions on Fuzzy Systems, 9(3), 426- 443 Sách, tạp chí
Tiêu đề: IEEE Transactions on Fuzzy Systems, 9
Tác giả: Guillaume, S
Năm: 2001
[8]. Chaudhari, S., Patil, M., &amp; Bambhori, J. (2014). Study and review of fuzzy inference systems for decision making and control. AIJRSTEM, 5(1), 88-92 Sách, tạp chí
Tiêu đề: AIJRSTEM, 5
Tác giả: Chaudhari, S., Patil, M., &amp; Bambhori, J
Năm: 2014
[1]. Chih-Chung Chang and Chih-Jen Lin, LIBSVM -- A Library for Support Vector Machines Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w