Tải bản đầy đủ
ỨNG DỤNG PHƯƠNG PHÁP PHÂN CỤM TRỪ MỜ

ỨNG DỤNG PHƯƠNG PHÁP PHÂN CỤM TRỪ MỜ

Tải bản đầy đủ

Ta có thể xem mô hình tính toán này trong phạm vi của một hệ thống suy luận
mờ sử dụng luật mờ if-then truyền thống. Mỗi luật có dạng nhưa sau:
if { Y1 là Ai1 và Y2 là Ai 2 …} then { Z1 là Bi1 và Z 2 là Bi 2 …}
Trong đó, Y j là biến vào thứ j, Z j là biến ra thứ j; Aij là một hàm thành viên dạng
lũy thừa của luật thứ i liên kết với đầu vào thứ j và Bij là hàm thành viên của luật
thứ i liên kết với đầu ra thứ j. Với luật thứ i, được thể hiện bởi tâm cụm xi* , Aij
được cho bởi công thức:
Aij (Y j ) = e

−α (Y j − y ij* ) 2

*
*
và Bij có thể là bất kỳ hàm thành viên đối xứng nào tập trung vào zij , với yij là
*
thành phần thứ j của yi* , zij là thành phần thứ j của zi* .

Chiến lược tính toán của ta tương đương với một phương pháp suy luận có sử
dụng phép nhân như toán tử AND, trọng số kết quả của mỗi luật là mức độ hoàn
thành của luật, và xác định giá trị đầu ra cuối cùng là trung bình trọng số của tất cả
kết quả.
Một số cách tiếp cận để tối ưu hóa các luật:
- Một cách tiếp cận là ứng dụng phương pháp gradient cơ bản để tối ưu hóa
*
*
các tham số zij và yij . Cách tiếp cận này đưa ra bởi Yager và Filev để tối ưu hóa

các luật khởi tạo thu được từ giải thuật Mountain.
*
- Một cách tiếp cận khác là cho tham số zij là một hàm tuyến tính của các biến

đầu vào, thay vì một hằng số đơn giản:
zij* = Gij y + hij ,
với Gij là một vector hệ số N thành phần và hij là một hằng số vô hướng. Các luật
if-then trở thành dạng Takagi-Sugeno. Chiu đã đưa ra cách tiếp cận này để tối ưu
hóa các luật thu được từ phương pháp phân cụm trừ, chỉ tối ưu hóa các hệ số trong

32

biểu thức kết quả cho phép một mức độ đáng kể sự tối ưu hóa mô hình được thực
hiện mà không cần thêm nhiều tính toán phức tạp.
- Một cách tiếp cận thứ ba cũng liên quan đến việc sử dụng định dạng luật
Takagi-Sugeno, nhưng nó kết hợp tối ưu hóa các hàm thành viên tiền đề theo
phương pháp Gradient với tối ưu hóa các biểu thức kết quả bằng đánh giá ít nhất là
hàm bậc hai tuyến tính. Đây là ANFIS (Adaptive Network-Based Fuzzy Inference
System) phương pháp được phát triển bởi Jang. Khi hướng tiếp cận ANFIS được sử
dụng để tối ưu hóa các luật tương tự, mô hình kết quả chính xác hơn là thu được từ
một trong hai hướng tiếp cận trên.
Mặc dù số lượng các cụm (hoặc các luật) tự động được xác định theo phương
pháp, chúng ta nên lưu ý rằng người dùng xác định tham số ra (bán kính ảnh hưởng
của tâm cụm) ảnh hưởng lớn đến số lượng các cụm thu được. Một bán kính ra lớn
thì kết quả thường ít cụm hơn và do đó có một mô hình không mịn, trong khi đó
một bán kính ra nhỏ có thể đưa ra quá nhiều cụm và một mô hình không tổng quát.
3.1.2 Hệ thống suy diễn mờ (FIS) cho bài toán nút giao thông vùng ngoại ô
Bài toán: Mô hình hóa mối quan hệ giữa số lượng các chuyến đi bằng ô tô
được phát sinh từ một khu vực với nhân khẩu học ở khu vực đó. Từ đó ước lượng
số chuyến đi bằng ô tô phát sinh từ khu vực này. Các dữ liệu về chuyến đi và nhân
khẩu học được lấy từ 100 khu phân tích lưu lượng ở quận New Castle, Delaware,
Mỹ. Năm yếu tố nhân khẩu học được đề cập đến là: dân số (population), số lượng
các đơn vị chỗ ở (number of dwelling units), quyền sở hữu phương tiện giao thông
(vehicle ownership), thu nhập trung bình của các hộ gia đình (median household
income), và tổng số lao động (total employment). Như vậy, bài toán gồm 5 biến đầu
vào (5 nhân tố nhân khẩu học) và 1 biến đầu ra (số chuyến xe phát sinh). Tìm hiểu
demo với ngôn ngữ Matlab.
Dữ liệu: Dữ liệu từ 100 khu phân tích được thống kê và xây đựng file dữ liệu
tripdata. Trong số 100 điểm dữ liệu ban đầu, sử dụng 75 điểm như dữ liệu huấn
luyện (datin và datout) và 25 điểm như dữ liệu kiểm tra (cũng như cho các dữ liệu
thử nghiệm để xác nhận mô hình).
33

Khi tải dữ liệu tripdata sẽ tạo ra các biến, 2 biến là datin và datout. Trong đó,
datin có 5 cột thể hiện 5 biến đầu vào và datout có 1 cột thể hiện 1 biến đầu ra.

Hình 3.1: Biểu đồ dữ liệu vào và dữ liệu ra
Để mô hình hóa mối quan hệ giữa 5 biến đầu vào và 1 biến đầu ra, trước tiên
ta phải phân cụm dữ liệu là ma trận gồm 6 cột. Sử dụng thuật toán phân cụm trừ
(SC) để xác định số lượng cụm và các tâm cụm, các tâm cụm tìm được sẽ dùng làm
cơ sở để xây dựng hệ thống luật mờ.
Phân cụm dữ liệu sử dụng SC: Phân cụm trừ là một thuật toán nhanh, dịch
một lần dùng để ước lượng số lượng cụm và các tâm cụm của tập dữ liệu. Ở đây, sử
dụng hàm subclust để thực hiện trên dữ liệu như sau:
[C,S] = subclust([datin datout], 0.5);
trong đó tham số thứ nhất là dữ liệu cần phân cụm, tham số thứ 2 là bán kính cụm.
Kết quả: Ma trận C lưu trữ các tâm cụm, mỗi hàng của C là một tâm cụm.
Trong trường hợp này có 3 tâm cụm, thể hiện như sau:

Hình 3.2 Kết quả sau khi phân cụm

34

Biến S lưu trữ giá trị thể hiện phạm vi ảnh hưởng của một tâm cụm trong mỗi
thành phần chiều dữ liệu. Tất cả các tâm cụm đều có chung tập giá trị này. Ở đây:
S = 1.1621 0.4117 0.6555 7.6139 2.8931 1.4395
Đưa ra hệ thống luật mờ:
Dùng hàm genfis2 tạo lên hệ thống FIS sử dụng SC. Hàm genfis2 sử dụng
hàm subclust ở bên trong để phân cụm dữ liệu và sử dụng các tâm cụm cùng với
bán kính cụm để xây dựng hệ thống FIS, hệ thống FIS sau đó được dùng để khai
thác và hiểu các mẫu dữ liệu giao thông.
myfis=genfis2(datin,datout,0.5);
Tham số thứ nhất là các biến đầu vào trong ma trận datin, tham số thứ 2 là các
biến ra trong ma trận datout và tham số thứ ba là bán kính cụm dùng để phân cụm
trong subclust.
Hàm genfis2 chỉ định tên mặc định cho các đầu vào, các đầu ra và các hàm
thành viên.
myfis = setfis(myfis, 'input',1,'name','population');
myfis = setfis(myfis, 'input',2,'name','dwelling units');
myfis = setfis(myfis, 'input',3,'name','num vehicles');
myfis = setfis(myfis, 'input',4,'name','income');
myfis = setfis(myfis, 'input',5,'name','employment');
myfis = setfis(myfis, 'output',1,'name','num of trips');
Một hệ thống FIS bao gồm các đầu vào, các đầu ra và các luật. Mỗi đầu vào và
đầu ra có một số bất kỳ các hàm thành viên. genfis2 xây dựng hệ thống FIS để ghi
lại vị trí và ảnh hưởng của mỗi cụm trong không gian dữ liệu.
myfis là hệ thống FIS mà genfis2 đã tạo ra. Từ một tập dữ liệu gồm 5 biến đầu
vào và 1 biến đầu ra, genfis2 tạo lên hệ thống FIS với 5 đầu vào và 1 đầu ra. Mỗi
đầu vào và đầu ra lại có số hàm thành viên là số cụm mà subclust đã xác định. Như
đã trình bày ở trên hàm subclust phân tập dữ liệu đang xét thành 3 cụm. Do đó, mỗi
đầu vào và đầu ra sẽ được mô tả bằng 3 hàm thành viên. Tương tự, số lượng các
luật bằng với số lượng cụm và có 3 luật được tạo.

35

Biểu đồ thể hiện các hàm thành viên như sau:

Hình 3.3: Hàm thành viên tương ứng với biến vào số ô tô sở hữu

Hình 3.4: Hàm thành viên tương ứng với biến vào số lượng việc làm

Hình 3.5: Hàm thành viên tương ứng với biến vào thu nhập trung bình
Từ các biến đầu vào trên các Hình 3.3, 3.4 và 3.5 ta xác định được 3 luật mờ
chỉ còn lại với 2 biến đầu vào là các cụm có ảnh hưởng lớn đến số chuyến xe đi đó
là số lượng xe cá nhân và tổng số việc làm trong khu. Bởi vì theo quá trình thu thập
dữ liệu về nhân khẩu học cho thấy quá trình phân cụm sẽ tập trung vào các biến tác
động đến số lượng chuyến xe đi là: Số lượng xe cá nhân và Số lượng việc làm. Các
luật mờ sẽ có dạng sau:

36


Nếu thì < Số chuyến xe sẽ
dự báo là...>
Luật 1: if car.ownership is cluster1 and employment is cluster1

then

num.trips = 0.95*car.ownership + 0.50 employment + 0.49
Luật 2: if car.ownership is cluster2 and employment is cluster2

then

num.trips = 1.3*car.ownership + 1.8* employment - 0.17
Luật 3: if car.ownership is cluster3 and employment is cluster3

then

num.trips = 1.0*car.ownership + 1.5* employment - 0.6
3.2 Ứng dụng thuật toán FSC vào phân đoạn ảnh
3.2.1 Phân đoạn ảnh
Phân đoạn ảnh là một thao tác ở mức thấp trong toàn bộ quá trình xử lý ảnh.
Quá trình này thực hiện việc phân vùng ảnh thành các vùng rời rạc và đồng nhất với
nhau. Các vùng ảnh đồng nhất này thông thường sẽ tương ứng với toàn bộ hay từng
phần của các đối tượng thật sự bên trong ảnh. Vì thế, trong hầu hết các ứng dụng
của lĩnh vực xử lý ảnh, thị giác máy tính, phân đoạn ảnh luôn đóng một vai trò cơ
bản và thường là bước tiền xử lý đầu tiên trong toàn bộ quá trình trước khi thực
hiện các thao tác khác ở mức cao hơn như nhận dạng đối tượng, biểu diễn đối
tượng, nén ảnh dựa trên đối tượng, hay truy vấn ảnh dựa vào nội dung…
Vào những thời gian đầu, các phương pháp phân vùng ảnh được đưa ra chủ
yếu làm việc trên các ảnh mức xám do các hạn chế về phương tiện thu thập và lưu
trữ. Ngày nay, cùng với sự phát triển về các phương tiện thu nhận và biểu diễn ảnh,
các ảnh màu đã hầu như thay thế hoàn toàn các ảnh mức xám trong việc biểu diễn
và lưu trữ thông tin do các ưu thế vượt trội hơn hẳn so với ảnh mức xám. Do đó, các
kỹ thuật, thuật giải mới thực hiện việc phân vùng ảnh trên các loại ảnh màu liên tục
được phát triển để đáp ứng các nhu cầu mới. Các thuật giải, kỹ thuật này thường
được phát triển dựa trên nền tảng các thuật giải phân vùng ảnh mức xám đã có sẵn.

37

Các hướng tiếp cận phân đoạn ảnh
Phân đoạn ảnh là chia ảnh thành các vùng không trùng lặp. Mỗi vùng gồm
một nhóm pixel đồng nhất theo một tiêu chí nào đó. Tiêu chí này phụ thuộc vào
mục tiêu của quá trình phân đoạn. Ví dụ như đồng nhất về màu sắc, mức xám, kết
cấu, độ sâu của các layer… Sau khi phân đoạn mỗi pixel chỉ thuộc về một vùng duy
nhất. Để đánh giá chất lượng của quá trình phân đoạn là rất khó. Vì vậy trước khi
phân đoạn ảnh cần xác định rõ mục tiêu của quá trình phân đoạn là gì. Xét một cách
tổng quát, ta có thể chia các hướng tiếp cận phân đoạn ảnh thành ba nhóm chính
như sau:
-

Các kỹ thuật phân đoạn ảnh dựa trên không gian đặc trưng,

-

Các kỹ thuật dựa trên không gian ảnh,

-

Các kỹ thuật dựa trên các mô hình vật lý.

Các phương pháp dựa trên không gian đặc trưng
Nếu chúng ta giả định màu sắc bề mặt của các đối tượng trong ảnh là một
thuộc tính bất biến và các màu sắc đó được ánh xạ vào một không gian màu nào đó,
vậy thì chúng ta sẽ coi mỗi đối tượng trong ảnh như là một cụm các điểm trong
không gian màu đó. Mức độ phân tán của các điểm ảnh trong một cụm được xác
định chủ yếu bởi sự khác biệt về màu sắc. Do đó, việc phân vùng các đối tượng
trong ảnh tương ứng với việc xác định các cụm.
Các phương pháp tiếp cận này chỉ làm việc trên một không gian màu xác định,
dựa trên không gian đặc trưng, ta có các phương pháp phân đoạn:
+ Phương pháp phân cụm không giám sát,
+ Phương pháp lấy ngưỡng histogram.
Các phương pháp dựa trên không gian ảnh
Hầu hết những phương pháp được đề cập trong phần trên đều hoạt động dựa
trên các không gian đặc trưng của ảnh (thông thường là màu sắc). Do đó, các vùng
ảnh kết quả là đồng nhất tương ứng với các đặc trưng đã chọn cho từng không gian.
Tuy nhiên, không có gì đảm bảo rằng tất cả các vùng này thể hiển một sự cô đọng
về nội dung xét theo ý nghĩa không gian ảnh (ý nghĩa các vùng theo sự cảm nhận

38

của hệ thần kinh con người). Mà đặc tính này là quan trọng thứ hai sau đặc tính về
sự thuần nhất của các vùng ảnh. Do các phương pháp gom cụm cũng như xác định
ngưỡng histogram đã nêu đều bỏ qua thông tin về vị trí của các pixel trong ảnh.
Trong các báo cáo khoa học về phân vùng ảnh mức xám, có khá nhiều kỹ
thuật cố thực hiện việc thoả mãn cùng lúc cả hai tiêu chí về tính đồng nhất trong
không gian đặc trưng của ảnh và tính cô đọng về nội dung ảnh. Tuỳ theo các kỹ
thuật mà các thuật giải này áp dụng, chúng được phân thành các nhóm sau:
Các thuật giải áp dụng kỹ thuật chia và trộn vùng,
Các thuật giải áp dụng kỹ thuật tăng trưởng vùng,
Các thuật giải áp dụng lý thuyết đồ thị,
Các giải thuật áp dụng mạng nơron,
Các giải thuật dựa trên cạnh.
Các phương pháp dựa trên mô hình vật lý
Tất cả các giải thuật được xem xét qua, không ít thì nhiều ở mặt nào đó đều có
khả năng phát sinh việc phân vùng lỗi trong các trường hợp cụ thể nếu như các đối
tượng trong ảnh màu bị ảnh hưởng quá nhiều bởi các vùng sáng hoặc bóng mờ, các
hiện tượng này làm cho các màu đồng nhất trong ảnh thay đổi nhiều hoặc ít một
cách đột ngột. Và kết quả là các thuật giải này tạo ra các kết quả phân vùng quá
mức mong muốn so với sự cảm nhận các đối tượng trong ảnh bằng mắt thường. Để
giải quyết vấn đề này, các giải thuật phân vùng ảnh áp dụng các mô hình tương tác
vật lý giữa bề mặt các đối tượng với ánh sáng đã được đề xuất. Các công cụ toán
học mà các phương pháp này sử dụng thì không khác mấy so với các phương pháp
đã trình bày ở trên, điểm khác biệt chính là việc áp dụng các mô hình vật lý để minh
hoạ các thuộc tính phản chiếu ánh sáng trên bề mặt màu sắc của các đối tượng.
3.2.2. Phân đoạn ảnh sử dụng thuật toán phân cụm trừ mờ FSC
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là
đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối
tượng trong không gian. Không gian màu RGB biểu điễn điểm ảnh với ba mầu red,
green và blue. Đây là mô hình màu cơ bản được sử dụng trong máy tính.
39

Một trong các hướng tiếp cận của phân đoạn ảnh dựa vào không gian đặc
trưng là phương pháp phân cụm dữ liệu.
Ứng dụng thực hiện với:
- Thuật toán phân cụm dữ liệu trừ mờ
- Ảnh biểu diễn bởi không gian RGB
- Ngôn ngữ Matlab
- Dữ liệu đầu vào là một ảnh
- Dữ liệu đầu ra là một ảnh đã được phân cụm
Một ảnh RGB, được lưu trữ trong Matlab dưới dạng một mảng dữ liệu có kích
thước 3 chiều m x n x 3 định nghĩa các giá trị màu red, green và blue cho mỗi điểm
ảnh riêng biệt. Màu của mỗi điểm ảnh được quyết định bởi sự kết hợp giữa các giá
trị R, G, B (Red, Green, Blue) được lưu trữ trong một mặt phẳng màu tại vị trí của
điểm ảnh. Định dạng file đồ hoạ lưu trữ ảnh RGB giống như một ảnh 24 bits trong
đó R, G, B chiếm tương ứng 8 bit một, mỗi thành phần màu có giá trị từ 0 đến 255.
Điều này cho phép nhận được 16 triệu màu khác nhau.
Một điểm ảnh mà thành phần màu của nó là (0, 0, 0) được hiển thị với màu
đen và một pixel mà thành phần màu là (255, 255, 255) được hiển thị với màu
trắng. Ba thành phần màu của mỗi điểm ảnh được lưu trữ cùng với chiều thứ 3 của
mảng dữ liệu. Chẳng hạn, giá trị màu R, G, B của điểm ảnh (10, 5) được lưu trữ
trong RGB(10, 5, 1), RGB(10, 5, 2) và RGB(10, 5, 3) tương ứng.
Ví dụ, để tính toán màu sắc của điểm ảnh tại hàng 2 và cột 3, ta nhìn vào bộ ba
giá trị được lưu trữ trong (2, 3, 1:3). Giả sử (2, 3, 1) chứa giá trị 51, (2, 3, 2) chứa
giá trị 16 và (2, 3, 3) chứa giá trị 6 thì màu sắc của điểm ảnh tại vị trí (2, 3) sẽ là
(51, 16, 6).
3.2.3 Thử nghiệm với thuật toán phân cụm trừ
Theo Chiu, các tham số ban đầu thường được chọn là ra = 0.25, η = 1.5, e =
0.5, e = 0.15. Tuy nhiên, việc lựa chọn bán kính ra tùy thuộc vào tập dữ liệu. Trong
thử nghiệm này, tập dữ liệu ban đầu là tập các điểm ảnh, mỗi điểm ảnh gồm 3 thành
phần R, G, B và mỗi thành phần nhận giá trị từ 0 đến 255. Do vậy ra là một giá trị
40

thuộc vào khoảng từ 0 đến 255, cụ thể chọn ra = 50. Các tham số khác sử dụng là η
= 1.5, e = 0.5, e = 0.15. Kết quả thu được 30 cụm.

Hình 3.6: Ảnh ban đầu của thuật toán phân cụm trừ

Hình 3.7: Ảnh kết quả của thuật toán phân cụm trừ
Thử nghiệm với bán kính cụm ra thay đổi, còn các tham số η = 1.5, e = 0.5,
e = 0.15 không đổi. Với đầu vào là ảnh .jpg có kích thước 121 x 184 x 3. Kết quả
thể hiện trong bảng sau:
STT
ra
Số
cụm

1
10
1180

2
20
246

3
30
90

4
40
50

5
50
32

6
60
22

7
70
12

8
80
9

9
90
6

10
100
7

Nhận xét:
41

- Do ảnh đầu vào có kích thước là 121 x 184 x 3 nên số lượng điểm dữ liệu
vào là 121 x 184 = 22264.
- Nhận thấy, bán kính ra càng nhỏ thì số lượng cụm thu được càng nhiều và
ngược lại. Nếu ra quá nhỏ (ra = 10) thì số lượng cụm thu được rất lớn (1180 cụm) so
với số điểm ảnh ban đầu (22264 điểm ảnh), nếu ra quá lớn (ra = 100) thì số lượng
cụm thu được rất ít (7 cụm).
3.2.4 Thử nghiệm với thuật toán phân cụm trừ mờ
Tương tự, tập dữ liệu ban đầu cũng là các điểm ảnh, mỗi điểm ảnh gồm 3
thành phần R, G, B và mỗi thành phần nhận giá trị từ 0 đến 255. Do vậy ra là một
giá trị thuộc vào khoảng từ 0 đến 255, cụ thể chọn ra = 20. Các tham số còn lại lựa
chọn như sau: η = 1.5, e = 0.5, e = 0.15, m = 2.27. Kết quả thu được 33 cụm.

Hình 3.8: Ảnh ban đầu của thuật toán phân cụm trừ mờ

42