MÔ HÌNH PHÂN LỚP FCM TRONG PHÂN ĐOẠN ẢNH VÀ THUẬT TOÁN DCA TS. NGUYỄN TRỌNG PHÚC Bộ môn Công nghệ phần mềm Khoa Công nghệ thông tin Trường Đại học Giao thông Vận tải Tóm tắt: Trong bài báo này, chúng tôi giới thiệu một thuật toán nhanh và mềm dẻo trong bài toán phân đoạn ảnh thông qua mô hình phân lớp Fuzzy C-Means. Cách tiếp cận của chúng tôi dựa trên lý thuyết DC (hiệu hai hàm lồi) với thuật toán DCA tương ứng. DC và thuật toán DCA đã xuất hiện từ năm 1986 được phát triển đến nay và được áp dụng trong nhiều lĩnh vực khoa học liên quan đến các bài toán tối ưu như trong Machine Learning… Với một cách tiếp cận mềm dẻo, mô hình FCM ban đầu của bài toán được biến đổi thành mô hình mới mà DC có thể áp dụng được với thuật toán DCA đơn giản tương ứng. Để cải thiện tốc độ của thuật toán chúng tôi kết hợp thuật toán DCA và thuật toán FCM theo các cách khác nhau. Hơn nữa, chúng tôi xét đến mối quan hệ giữa các điểm ảnh trong không gian để đưa thêm thông tin vào trong mô hình bài toán ban đầu nhằm xử lý các ảnh trong thực tế, các ảnh nhiễu. Thông qua các kết quả thực tế, chúng tôi thấy được ưu điểm của phương pháp tiếp cận trong việc tăng tốc độ, chất lượng ảnh phân đoạn với các ảnh khác nhau, đặc biệt là ảnh trong y học. Summary: We present a fast and robust algorithm for image segmentation problems via Fuzzy C-Means (FCM) clustering model. Our approach is based on DC (Difference of Convex functions) programming and DCA (DC Algorithms) that have been successfully applied in a lot of various fields of Applied Sciences, including Machine Learning. In an elegant way, the FCM model is reformulated as a DC program for which a very simple DCA scheme is investigated. For accelerating the DCA, an alternative FCM-DCA procedure is developed. Moreover, in the case of noisy images, we propose a new model that incorporates spatial information into the membership function for clustering. Experimental results on noisy images have illustrated the effectiveness of the proposed algorithm and its superiority with respect to the standard FCM algorithm in both running-time and quality of solutions. CNTT- CB I. GIỚI THIỆU CHUNG Phân đoạn ảnh giữ một vai trò rất quan trọng trong nhiều ứng dụng như các bài toán nhận dạng hay các bài toán xử lý ảnh trong y học ([2]; [3]). Phân đoạn ảnh là một bước cơ bản để có thể thực hiện việc phân tích các ảnh thu được. Một cách tổng quát, phân đoạn ảnh được định nghĩa như việc chia hình ảnh thành các đối tượng độc lập với nhau dựa trên các đặc tính của ảnh như mức xám hay kết cấu của ảnh. Có rất nhiều các thuật toán phân đoạn ảnh được đề xuất, chúng ta có thể chia ra làm 4 loại sau đây ([9]): - Phương pháp cơ bản: phân ngưỡng, phát triển vùng, tách biên… - Phương pháp thống kê: Maximum Likelihood Classifier (MLC)… - Phương pháp dựa trên mạng Neural. - Phương pháp dựa trên logic mờ (Fuzzy Clustering). Bài báo này đề cập đến thuật toán phân đoạn ảnh dựa trên mô hình Fuzzy C-Means (FCM) với việc áp dụng lý thuyết DC và thuật toán DCA tương ứng để giải quyết bài toán. Mục đích của chúng tôi là đưa ra một thuật toán nhanh và mềm dẻo để giải quyết bài toán bởi vì mô hình phân lớp trong bài toán phân đoạn ảnh là một mô hình lớn, nhiều hướng và cần có một thuật toán hiệu quả. Hơn nữa, với việc xem xét mối quan hệ liên thông giữa các điểm ảnh, chúng tôi đã áp dụng thuật toán để thực hiện phân đoạn các ảnh nhiễu. Bài báo bao gồm 4 chương. Chương 1 giới thiệu chung về bài toán và các tiếp cận thực tế. Chương 2 trình bày về mô hình FCM cũng như mô hình FCM khi quan tâm đến tính liên thông của các điểm ảnh. Chương 3 giới thiệu về cách phân rã mô hình theo DC và các thuật toán DCA kết hợp FCM. Chương cuối đề cập đến các kết quả thu nhận được khi thực hiện các thuật toán trên các ảnh thực tiễn và các nhận xét về các thuật toán. II. MÔ HÌNH FCM CỦA BÀI TOÁN 2.1. Mô hình FCM của bài toán Phân lớp Fuzzy C-Means (CFM) là một trong những phương pháp được ứng dụng rộng rãi nhất trong Logic mờ. Được đưa ra bởi Bezdek ([2]) bởi sự mở rộng của thuật toán Dunn năm 1973, FCM là một trong những thuật toán hiệu quả trong bài toán phân lớp và đặc biệt là trong các bài toán phân đoạn ảnh. Với cách tiếp cận này, mỗi hình ảnh với nhiều đặc trưng sẽ được phân lớp thành các nhóm mà tại đó các điểm ảnh có cùng đặc trưng với nhau. Như vậy, bài toán phân lớp sẽ dẫn đến việc giải bài toán xác định giá trị min của tổng khoảng cách của các điểm ảnh đến tâm của mỗi phân đoạn trên miền đặc trưng của ảnh. CNTT-CB Giả sử rằng X:= {x1, x2, , xn} định nghĩa tập các điểm ảnh của một ảnh cần phải phân thành c (0<c<n) phân đoạn {C1, x2, , Cc} trong đó xk ∈ ℜ d với k=1,2 n biểu diễn các đặc tính của điểm ảnh. Trong các ảnh thông thường, chúng ta thường hay xét đến giá trị mức xám của các điểm ảnh, khi đó k = 1 và bài toán phân đoạn sẽ dựa trên duy nhất một đặc tính là mức xám. Xét ma trận phân lớp mờ (Fuzzy Partition Matrix) U = (ui,k)cn trong đó mỗi phần tử ui,k chỉ ra khả năng thuộc phân lớp i của một điểm ảnh xk. Khi đó, bài toán phân lớp chính là tối ưu hoá hàm mục tiêu: 2 ik n 1k c 1i m k,im vxu)V,U(J −= ∑∑ == (1) trong đó ||.|| chính là giá trị chuẩn Euclidean trên không gian tương ứng và ma trận Vcd biểu diễn tập hợp các điểm tâm của các phân lớp trong không gian này còn tham số m được gọi là tham số mờ của các tập dữ liệu. Khi đó, mô hình của bài toán phân đoạn ảnh được biểu diễn: [] ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ ====∈ −= ∑ ∑∑ = == n, 1k1uc 1i;n, 1k1,0u vxu)V,U(Jmin c 1i k,ik,i 2 ik n 1k c 1i m k,im (2) Một trong những nhược điểm của các thuật toán FCM là không xét đến đặc tính liên thông của các điểm ảnh trên một hình ảnh, như vậy kết quả thu nhận được thường bị ảnh hưởng vì các ảnh thông thường là luôn có nhiễu. Ở đây, khi xét đến các điểm ảnh, chúng ta biết rằng các điểm ảnh thường có mối liên hệ với các điểm xung quanh. Thông thường, các điểm ảnh xung quanh mỗi điểm ảnh thường có cùng các đặc tính (ví dụ như mức xám) với điểm ảnh đó và khả năng chúng có cùng phân lớp là rất cao. Hiện nay, có một số bài báo đề cập đến mối quan hệ giữa các điểm ảnh như một đặc tính của ảnh trong việc phân lớp theo mô hình FCM ([1]; [7]; [8]). 2.2. Mô hình FCM với quan hệ liên thông giữa các điểm ảnh Trong bài báo này, chúng tôi xét đến quan hệ của mỗi điểm ảnh với các điểm xung quanh thông qua giá trị mức xám của chúng. Điều này có nghĩa là, khả năng điểm ảnh và các điểm xung quanh có cùng mức xám là lớn. Nếu xét theo tính liên thông, một điểm ảnh sẽ có 8 điểm liên thông xung quanh nó. Như vậy, trên mô hình của bài toán, mỗi điểm ảnh sẽ có 2 đặc tính: mức xám của điểm ảnh và mức xám trung bình của các điểm ảnh xung quanh xk = (xk1, xk2) ∈ ℜ 2d với xk1 biểu diễn mức xám của điểm ảnh xk và xk2 là giá trị trung bình xk2 = (xk1 + ∑i∈Nkxi)/9 trong đó Nk là tập các điểm xung quanh của xk. Khi xét đến đặc tính này, mô hình bài toán không thay đổi tuy nhiên độ phức tạp đã thay đổi bởi số lượng biến tăng lên 2 lần. CNTT- CB III. GIẢI THUẬT FCM DỰA TRÊN DC VÀ THUẬT TOÁN DCA Dễ dàng nhận thấy mô hình của bài toán chính là bài toán tối ưu trên miền không lồi và đây là một bài toán NP-Complete. Để giải bài toán này, chúng tôi dùng phương pháp DC bằng cách phân rã hàm mục tiêu thành hiệu hai hàm lồi, sau đó áp dụng thuật toán DCA để giải bài toán. Phương pháp DC và thuật toán DCA được đưa ra bởi Pham D.T. năm 1985 và được áp dụng trên nhiều bài toán thực tiễn ([6]). 3.1. DC và thuật toán DCA Lý thuyết chung của DC trong việc tính giá trị của hàm mục tiêu không lồi là phân tích nó thành hiệu hai hàm lồi trên không gian ℜ p . Một cách đơn giản, chúng ta có thể thấy được mô hình của bài toán: { } )P(x:)x(h)x(g:)x(finf dc p ℜ∈−==α trong đó: f là hàm mục tiêu và g, h là các hàm lồi nửa liên tục trên miền ℜ p . Xét bài toán đối ngẫu (D dc ): { } )D(y:)y(g)y(hinf dc p** D ℜ∈−=α trong đó h * và g * là các hàm liên hợp của hàm h và g với { } p* x:)x(gy,xsup:)y(g ℜ∈−= Bằng cách giải đồng thời bài toán (P dc ) và bài toán đối ngẫu (D dc ), người ta chứng minh được rằng sau hữu hạn các bước, chúng ta có thể xác định được điểm tối ưu cục bộ của bài toán ban đầu khi mà x k hội tụ về giá trị MIN. Thuật toán DCA được mô tả như sau: Thuật toán DCA-1: • Chọn x o ∈ℜ p • Thực hiện tính toán theo mỗi bước giá trị x k o Tính y k ∈ ∂ h(x k ) o Tính x k+1 ∈ argmin { g(x) – h(x k ) - <x-x k , y k > : x ∈ℜ p } o k <= k+1 • Kiểm tra sự hội tụ của x k . Các đặc tính hội tụ của thuật toán được chứng minh trong [6]. 3.2. Phân tích DC của mô hình FCM Theo như các phân tích ở trên, để giải được bài toán, chúng ta sẽ xác định một phân rã hàm mục tiêu thành hiệu của hai hàm lồi. Xét biến t i,k sao cho u i,k = t 2 i,k . Khi đó .1t c 1i k,i 2 = ∑ = Mô hình bài toán sẽ được biểu diễn dưới dạng ⎪ ⎩ ⎪ ⎨ ⎧ ∏=∈∏=∈ −= == == ∑∑ i 1i c k 1k n 2 ik n 1k c 1i k,i m2 m2 R:CVS:ST vxt)V,T(Jmin (3) Như vậy chúng ta có: J 2m (T,V) = G(T,V) – H(T,V) với: )V,T(J)V,T( 2 )V,T(HV 2 n 2 )V,T(G m2 22 − ρ = ρ + ρ = (4) Chứng minh được rằng G và H là hai hàm lồi trên miền không gian của bài toán. 3.3. Thuật toán DCA trên mô hình FCM CNTT-CB Áp dụng thuật toán DCA ở trên bằng cách tính các giá trị x k (ở đây chính là (T k ,V k )) và y k của hai bài toán đối ngẫu, chúng ta có: () () ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ ∈ ρ ∈ ∂∈ ++ BxC)V,T(:Z,Y,V,TV 2 minarg)V,T( )V,T(H)Z,Y( kk 2 1k1k kkkk Giá trị trên được xác định tường minh bởi việc tính đạo hàm của các hàm, ta có: )Z 1 (ojPrVand)Y(ojPrT )t)xv(2,vxtm2()V,T()Z,Y( k C 1kk B 1k n 1k k,i m2 ki 2 ik k,i 1m2kkkk ρ == −−−ρ= ++ = − ∑ (5) (6) Thuật toán DCA-2: • Chọn (T o , V o ) ∈ ( ℜ cn, ℜ cp ) • Thực hiện tính toán theo mỗi bước giá trị (T k ,V k ) o Tính (Y k , , Z k ) theo (5). o Tính (T k+1 , V k+1 ) theo (5). o k <= k+1 • Kiểm tra sự hội tụ của (T k , , V k ). 3.4. Kết hợp thuật toán FCM và thuật toán DCA Điều chú ý trong thuật toán DCA ở trên đây chính là việc xác định giá trị ban đầu x o của thuật toán. Từ các bài toán thực tế, người ta thấy rằng việc xác định giá trị này ảnh hưởng khá lớn đến giá trị tối ưu của bài toán tìm được. Qua kinh nghiệm thực tế, chúng ta có thể kết hợp các bước của thuật toán DCA với các bước của thuật toán FCM để thực hiện giải bài toán hoặc có thể thực hiện một số bước của FCM để xác định giá trị x o ban đầu cho thuật toán DCA. Thuật toán DCA-3: CNTT- CB • Chọn (U o , V o ) ban đầu của bài toán FCM. • Thực hiện tính toán theo mỗi bước giá trị o Tính (U k , , V k ) theo thuật toán FCM. o Đặt T k = sqrt(U k ), tính (T k+1 , V k+1 ) theo thuật toán DCA-2. o k <= k+1 Kiểm tra sự hội tụ của (U k , , V k ). Thuật toán DCA-4: • Chọn (U o , V o ) ban đầu của bài toán FCM • Thực hiện thuật toán FCM theo một số hữu hạn bước để xác định (T 0 ,V 0 ) của DCA. • Thực hiện thuật toán DCA-2 trên(T 0 ,V 0 ). • Kiểm tra sự hội tụ của (U k ,V k ). IV. CÀI ĐẶT VÀ CÁC KẾT QUẢ Để kiểm tra kết quả đạt được, chúng tôi so sánh các kết quả với thuật toán FCM trong bài toán phân đoạn ảnh [1]. Các thuật toán đều được cài đặt bằng ngôn ngữ C++ và chạy trên PC Pentium4, CPU 3.00GHz 1.00Go RAM. Để kiểm tra tính hiệu quả của các thuật toán, chúng tôi xử dụng các hình ảnh xám có nhiều vùng được phân biệt. Với việc thêm các nhiễu vào ảnh gốc như nhiễu Gauss với các tỉ lệ nhiễu khác nhau, chúng tôi kiểm tra tính hiệu quả của thuật toán. Sau cùng, chúng tôi thực hiện các thuật toán trên các ảnh y học và các ảnh có nhiều vùng khó phân biệt để có thể thấy được các kết quả thu nhận được. Ở các kết quả chạy thử nghiệm dưới đây, các ảnh (a) và (b) là ảnh gốc và ảnh có nhiễu. Các ảnh (c) và (d) là kết quả khi thực hiện phân đoạn theo thuật toán FCM thông thường còn các ảnh (d), (e) và (f) là kết quả thông qua sự kết hợp DCA trên mô hình FCM. Data FCM Algorithm 3 Algorithm 4 N o Size c N o F Time N o I Time N o D Time 1 128 2 2 24 1.453 16 1.312 10 1.219 2 128 2 2 17 1.003 12 0.985 2 0.765 3 256 2 3 36 15.340 24 13.297 2 10.176 4 256 2 3 75 31.281 57 30.843 12 26.915 5 256 2 3 39 15.750 27 14.687 14 13.125 6 256 2 5 91 84.969 75 86.969 78 61.500 7 256 2 3 73 31.094 62 34.286 21 24.188 8 256 2 3 78 34.512 52 32.162 13 29.182 9 512 2 3 48 92.076 41 102.589 46 74.586 10 512 2 5 246 915.095 196 897.043 86 691.854 CNTT-CB V. KẾT LUẬN - Bảng 1 trên đây thể hiện thời gian thực hiện của thuật toán đề xuất trên một số các ảnh phân đoạn có kích thước và số lượng phân đoạn khác nhau. Có thể thấy rằng, khi số lượng phân đoạn của một ảnh càng nhiều (Hình 4), thuật toán đề xuất có tốc độ nhanh hơn và hiệu quả loại nhiễu tốt hơn so với thuật toán FCM thông thường. CNTT- CB Với việc áp dụng các thuật toán trên các ảnh y học và đặc biệt là các ảnh nhiễu (hình 1, 2, 3, 4), phương pháp tiếp cận của chúng tôi cho phép phân đoạn và loại bỏ các nhiễu hiệu quả. Tài liệu tham khảo [1]. M.N Ahmed, S.M Yamany, N. Mohamed, A.A Farag and T. Moriarty (2002). A modified fuzzy C- means algorithm for bias field estimation and segmentation of MRI data. IEEE Trans. on Medical Imaging, 21, 193–199. [2]. J.C Bezdek (1981). Pattern Recognition with Fuzzy, Objective Function Algorithm. New York, NY. Plenum Press. [3]. J.C Bezdek, L.O Hall and L.P Clake (1993). Review of MR image segmentation techniques using pattern recognition. Medical Physics, 20, 1033–1048. [4]. K.S Chuang,H.L Tzeng, S. Chen, J.Wu and T.J. Chen (2006). Fuzzy c-means clustering with spatial information for image segmentation. Computerized Medical Imaging and Graphics 30, 9-15. [5]. W.L Hung, M.S Yang and D.H Chen (2006). Parameter selection for suppressed fuzzy c-means with an application to MRI segmentation. Pattern Recognition Letters, 27, 424–438. [6]. H.A Le Thi and T. Pham Dinh (2005). The DC (Difference of convex functions) Programming and DCA revisited with DC models of real world no convex optimization problems. Annals of Operations Research, 133, 23–46. [7]. D.L Pham (2001). Image segmentation using probabilistic fuzzy c-means clustering Image Processing 2001, 1, 722–725. [8]. D.L Pham (8-2002). Fuzzy Clustering with spatial constraints. Proc.IEEE Intern. Conf. on Image Processing, New Yord, USA. [9]. J.C Rajapakse, J.N Giedd and J.L Rapoport (4-2004). Statistical Approach to Segmentation of Singke-Chanel Cerebral MR Images. IEEE Trans. On Medical Imaging, 16. [10]. D.Q Zhang and S.C Chen (2004). A novel kernelized fuzzy C-means algorithm with application in medical image segmentation. Artificial Intelligence in Medicine, 32, 37–50♦ CNTT-CB . thực hiện các thuật toán trên các ảnh thực tiễn và các nhận xét về các thuật toán. II. MÔ HÌNH FCM CỦA BÀI TOÁN 2.1. Mô hình FCM của bài toán Phân lớp Fuzzy C-Means (CFM) là một trong những. đưa ra một thuật toán nhanh và mềm dẻo để giải quyết bài toán bởi vì mô hình phân lớp trong bài toán phân đoạn ảnh là một mô hình lớn, nhiều hướng và cần có một thuật toán hiệu quả. Hơn nữa, với. đến thuật toán phân đoạn ảnh dựa trên mô hình Fuzzy C-Means (FCM) với việc áp dụng lý thuyết DC và thuật toán DCA tương ứng để giải quyết bài toán. Mục đích của chúng tôi là đưa ra một thuật toán