I. Tổng Quan Học Từ Điển Hình Ảnh và Bài Toán Phân Loại
Lượng thông tin khổng lồ được ghi lại mỗi giây từ các thiết bị cảm biến tự nhiên như mắt, tai hoặc cảm biến nhân tạo như máy ảnh, micro. Thông tin này thường 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 lượng lớn độ chi tiết được thu 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 được nhận dạng bởi các đặ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 loại dữ liệu. Từ điển hình ảnh và từ điển trực quan đóng vai trò quan trọng trong việc này.
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 D chứa K nguyên mẫu, một tín hiệu y có thể được biểu diễn thành phần tín hiệu cho các cột. 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 x 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 ||.||p cho p=1,2 và ∞. Nếu n<K và D là một ma trận hạng đầy đủ thì 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:
Mã hóa thưa 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 và 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ế.
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. 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ó được phóng to, thu nhỏ hay thay đổi góc độ như thế nào.
1.1. Tại Sao Cần Học Từ Vựng Qua Hình Ảnh Trong AI
Học từ vựng qua hình ảnh giúp máy tính hiểu và phân loại hình ảnh hiệu quả hơn. Thay vì chỉ xử lý các con số, máy tính có thể liên kết các đối tượng trong ảnh với các khái niệm quen thuộc. Điều này đặc biệt hữu ích trong các ứng dụng như nhận diện khuôn mặt, xe cộ, hoặc các đối tượng trong môi trường thực tế. Từ điển ảnh tiếng Anh cũng đóng một vai trò quan trọng trong quá trình này, giúp máy tính học các khái niệm một cách trực quan và dễ dàng hơn.
1.2. Các Thách Thức Trong Xây Dựng Từ Điển Hình Ảnh Hiệu Quả
Xây dựng từ điển hình ảnh hiệu quả đòi hỏi phải giải quyết nhiều thách thức. Đầu tiên, cần phải có một lượng lớn dữ liệu hình ảnh được gán nhãn chính xác. Thứ hai, cần phải phát triển các thuật toán có thể trích xuất các đặc trưng quan trọng từ hình ảnh và liên kết chúng với các khái niệm phù hợp. Thứ ba, cần phải đảm bảo rằng từ điển có thể xử lý được sự đa dạng và biến đổi của hình ảnh trong thế giới thực.
II. Thuật Toán K SVD Cho Học Từ Điển Ứng Dụng Phân Loại
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. Nếu chỉ 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, dù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.
Thuật toán K-means cho lượng hóa vector: Cho vector tín hiệu Y = {yi}Ni=1 (Y ∈ Rn) với iy={x1,x2,…,xr }. 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. 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). 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. 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 K-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 đư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).
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. Điều này được xem như là một trường hợp mã hóa thưa nhất trong khả năng chỉ có một thành phần được phép tham gia trong cấu trúc của yi và hệ số buộc phải là 1. Nhiệm vụ: Tìm từ điển tốt nhất có thể để biểu diễn mẫu dữ liệu Y = {yi}Ni=1 bởi hàng xóm gần nhất, được giải quyết bởi biểu thức: với i: Xj,k thuộc {0,1}, ∑j Xj,k =1.
Ban đầu: Cài đặt ma trận mã ∈Rmxk, với các cột chuẩn hóa với ‖ci‖2 = 1. 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 tạo Y thành K cụm (Y1, Y2,…, Yk), 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. Với mỗi mẫu yi 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 Yj = { yi: ‖yi− ym ‖2≤ ‖yi− ym ‖2 }. Giai đoạn cập nhật từ điển: 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 1 Yi = ∑ yi. Yi∈Rk, 1 yi =| Yi|. Biểu diễn MSE cho mỗi yi được định nghĩa là: ej2 = ‖yi − Cxi‖2 và MSE tổng là E = ∑Nj=1 ej2 = ‖Y − XCi‖2. Vấn đề cho tạo VQ là tìm một từ điển C giảm thiểu lỗi E, chịu sự hạn chế về cấu trúc của X, các cột phải được lấy từ giá trị thấp.
2.1. Hướng Dẫn Tối Ưu Mã Hóa Thưa Với K SVD
Để tối ưu hóa mã hóa thưa với K-SVD, cần chú ý đến việc lựa chọn các tham số phù hợp. Số lượng nguyên tử trong từ điển (K) phải được điều chỉnh sao cho phù hợp với độ phức tạp của dữ liệu. Cần sử dụng các thuật toán tìm kiếm gần đúng hiệu quả để giảm thiểu thời gian tính toán. Bên cạnh đó, có thể sử dụng các kỹ thuật tiền xử lý dữ liệu để cải thiện chất lượng của từ điển và tăng cường khả năng biểu diễn của mã hóa thưa.
2.2. Cách Đánh Giá Hiệu Quả Học Từ Điển Trong Phân Loại Ảnh
Hiệu quả của việc học từ điển trong phân loại ảnh có thể được đánh giá thông qua các chỉ số như độ chính xác, độ nhạy, và độ đặc hiệu. Độ chính xác đo lường tỷ lệ các mẫu được phân loại đúng so với tổng số mẫu. Độ nhạy đo lường khả năng phát hiện các mẫu dương tính. Độ đặc hiệu đo lường khả năng xác định các mẫu âm tính. Cần so sánh kết quả phân loại với các phương pháp khác để đánh giá mức độ cải thiện mà việc học từ điển mang lại.
2.3. Ứng Dụng Thực Tế Của K SVD Trong Xử Lý Ảnh
Thuật toán K-SVD có nhiều ứng dụng thực tế trong xử lý ảnh. Ví dụ, nó có thể được sử dụng để nén ảnh, khử nhiễu ảnh, và phục hồi ảnh bị mất thông tin. Trong lĩnh vực computer vision, K-SVD được sử dụng để trích xuất các đặc trưng quan trọng từ hình ảnh và cải thiện hiệu suất của các hệ thống nhận diện đối tượng và phân loại hình ảnh.
III. Thực Nghiệm Phân Loại Ảnh Ứng Dụng Học Từ Điển K SVD
Từ một tập các bức ảnh ban đầu, ta trích chọn ra các đặc trưng ảnh. Sau khi trích chọn đặc trưng, ta chia thành hai tập con. Tập học được đưa vào thuật toán K-SVD để chuyển không gian biểu diễn từ các đặc trưng ban đầu sang miền không gian biểu diễn K chiều, ta thu được một bộ từ điển D và ma trận hệ số từ điển X. Lấy ma trận hệ số từ điển X đưa vào máy vector hỗ trợ SVM để phân lớp ảnh. Khi SVM học xong các tham số của tập học ta thu được một mô hình phân lớp. Cuối cùng đưa tập kiểm tra vào để đánh giá độ chính xác phân lớp của mô hình.
Bước 1: từ một tập các bức ảnh ban đầu ta chia ra làm 2 tập con. 70% tập ảnh ban đầu được sử dụng làm tập học, 30% còn lại được sử dụng làm tập kiểm tra. Bước 2: Tạo ra túi các đặc trưng. Tạo từ vựng trực quan hoặc túi các đặc trưng trích xuất được mô tả từ biểu diễn những bức ảnh của mỗi tập. Trích xuất các đặc trưng quan trọng từ bức ảnh ban đầu (extract keypoints) sau đó biểu diễn những đặc trưng đó bằng không gian vector (feature descriptors). Sử dụng thuật toán K-SVD để phân cụm (clustering). Kết quả là các cụm nhỏ gọn và tách rời nhau, trong mỗi cụm các đặc trưng có đặc trưng điểm giống nhau.Trung tâm của mỗi cụm biểu diễn một đặc trưng điểm hay một từ gọi là từ vựng (vocabulary), tập hợp tất cả các từ vựng như vậy tạo thành túi từ hay từ ảo biểu diễn bức ảnh ban đầu (visual words) gọi là từ điển. Bước 3: học phân lớp ảnh với túi từ. Chức năng học phân các lớp sử dụng phương pháp hiệu chỉnh lỗi mã hóa đầu ra bằng máy vector hỗ trợ phân lớp nhị phân (SVM). Học phân lớp tập ảnh bằng túi từ, đối tượng mã hóa tập các bức ảnh được biểu diễn dưới dạng histogram của túi từ. Histogram của túi từ sau đó được sử dụng cho phân lớp mẫu học vào lớp dương hoặc lớp âm.
Sử dụng mã hóa túi từ cho mỗi bức ảnh trong tập học. Nhận diện và trích xuất đặc trưng từ bức ảnh sau đó sử dụng thuật toán xấp xỉ thưa với láng giềng gần nhất (approximate nearest neighbor) xây dựng đặc trưng (feature histogram) cho mỗi bức ảnh, sau đó gia tăng các biểu đồ histogram của số gần nhau mô tả trung tâm các cụm riêng. Độ cao của histogram tương ứng với số lượng từ trong túi từ. Histogram trở thành đặc trưng vector cho mỗi ảnh. Lặp lại bước trên cho mỗi bức ảnh trong tập học tạo ra dữ liệu học. Đánh giá chất lượng phân lớp. Sử dụng phương pháp đánh giá tập bức ảnh phân lớp bằng cách phân lớp tập ảnh kiểm tra. Đầu ra biểu diễn ma trận nhầm lẫn từ việc phân tích dự đoán. Kết quả phân lớp đúng nằm trên đường chéo của ma trận nhầm lẫn. Kết quả phân lớp sai là giá trị phân số nằm ngoài đường chéo của ma trận nhầm lẫn. Bước 4: Phân lớp cho một bức ảnh học một tập các bức ảnh. Sử dụng phương pháp dự đoán phân lớp tập các bức ảnh dựa trên tập xác định của bức ảnh mới. Ảnh minh họa từ vựng trong ví dụ này có thể được sử dụng để cung cấp một cách trực quan để hiểu cách các mô hình hoạt động.
3.1. Phân Tích Kết Quả Thử Nghiệm K SVD Phân Loại Ảnh
Kết quả thử nghiệm cho thấy rằng thuật toán K-SVD có thể được sử dụng để phân loại ảnh với độ chính xác cao. Độ chính xác phân loại phụ thuộc vào các tham số của thuật toán, chẳng hạn như số lượng nguyên tử trong từ điển và số lần lặp. Các tham số này cần được điều chỉnh sao cho phù hợp với đặc điểm của dữ liệu hình ảnh. Hơn nữa, việc lựa chọn các đặc trưng phù hợp cũng đóng vai trò quan trọng trong việc cải thiện hiệu suất phân loại.
3.2. Đánh Giá Ưu Điểm và Hạn Chế Của Phương Pháp
Ưu điểm của phương pháp học từ điển với K-SVD là khả năng biểu diễn dữ liệu hình ảnh một cách hiệu quả và khả năng trích xuất các đặc trưng quan trọng. Hạn chế của phương pháp là độ phức tạp tính toán cao và sự phụ thuộc vào các tham số của thuật toán. Cần có các nghiên cứu sâu hơn để giải quyết các hạn chế này và mở rộng ứng dụng của phương pháp.
IV. Kết Luận và Hướng Phát Triển Nghiên Cứu Học Từ Điển
Qua quá trình nghiên cứu, đã có được cái nhìn tổng quan về phương pháp học từ điển và ứng dụng cho phân loại ảnh. Nội dung chính tập trung tìm hiểu chi tiết thuật toán K-SVD. Thuật toán là linh hoạt, dễ sử dụng chỉ với 2 tham số đầu vào i, k, dễ cài cặt. Từ kết quả thực nghiệm thấy được phương pháp phân loại ảnh sử dụng thuật toán K-SVD đã thể hiện được sự hiệu quả của nó trên tập dữ liệu ảnh, tuy nhiên phân lớp trên tập dữ liệu Train cho độ chính xác cao tuy nhiên phân lớp trên tập dữ liệu Test cho độ chính xác thấp hơn. Phân lớp ảnh sử dụng thuật toán K-SVD là một phương pháp hiệu quả cao. Tuy nhiên, kết quả phân lớp phụ thuộc vào số lần lặp, hệ số k. Hai tham số này thay đổi tùy thuộc vào các tập dữ liệu khác nhau. Điều này có nghĩa là với mỗi tập dữ liệu ta phải tìm số lần lặp i, k phù hợp nhất với nó để phương pháp phân lớp đạt được kết quả cao nhất. Ngoài ra kết quả phân lớp ảnh còn phụ thuộc vào các đặc trưng của ảnh khi được trích chọn từ tập ảnh ban đầu. Thông tin về các đặc trưng là số dữ liệu chính được sử dụng cho thuật toán K-SVD. Kết quả thực hiện các độ đo (SSE, SNR,Times, Accuracy) đã chứng tỏ được hiệu quả của từng phương pháp.
Với những thành công ban đầu, trong tương lai, việc nghiên cứu có thể tiếp tục với một số hướng như sau: Thử nghiệm các phương pháp chia cụm khác để tăng chất lượng phân cụm, Tìm kiếm thêm các đặc trưng nhằm tăng độ chính xác của kết quả phân lớp, Cải tiến thuật toán để đạt hiệu suất cao hơn.
4.1. Hướng Nghiên Cứu Tương Lai Về Nhận Diện Ảnh Bằng AI
Các hướng nghiên cứu trong tương lai có thể tập trung vào việc sử dụng các mô hình deep learning phức tạp hơn để tự động học các đặc trưng quan trọng từ hình ảnh. Nghiên cứu data augmentation cho ảnh để tăng cường tính đa dạng của dữ liệu huấn luyện và cải thiện khả năng tổng quát hóa của mô hình. Phát triển các thuật toán có thể xử lý được các ảnh có độ phân giải cao và các ảnh 3D.
4.2. Tiềm Năng Của Từ Điển Ảnh Trong Các Lĩnh Vực
Từ điển ảnh có tiềm năng ứng dụng rộng rãi trong nhiều lĩnh vực, bao gồm y học, an ninh, và giải trí. Trong y học, từ điển ảnh có thể được sử dụng để phân tích các hình ảnh y tế và phát hiện các bệnh lý. Trong an ninh, từ điển ảnh có thể được sử dụng để nhận diện khuôn mặt và các đối tượng nguy hiểm. Trong giải trí, từ điển ảnh có thể được sử dụng để tạo ra các trải nghiệm tương tác và cá nhân hóa.