Nói cách khác, tính chất đồng nhất sử dụng hàm cơ sở f và mức nhiễu cực đại
cho phép h. Việc xem xét mức bw của tế bào (x, y) là tương đương với kết
quả của hàm f nếu
|bw-level(x, y) –f(x, y)|<h
Nghĩa là nếu cả hai khác nhau không quá giá trị h.
Sau đó kiểm tra xem có đủ nhiều tế bào (xác định bởi hệ số d) trong vùng phù
hợp với kết quả của hàm f. Nếu có, hãy coi vùng R là đồng nhất và nó cho lại
giá trị “true”. Mặt khác nó cho lại giá trị “false”.
3. Trước hết phân lớp mọi mức bw-level. Thí dụ, có thể phân lớp mọi bw-level
giữa 0 và 0.1 là 1, mọi bw-level giữa 0.1 và 0.2 là 2, cho đến mức bw-level giữa
0.9 và 1 là mức 10. Tương tự như trên đây, nếu d nằm giữa 0 và 1 thì H
class
(R) cho
lại “true” nếu trên (100*d)% của tế bào trong vừng R rơi vào cùng lớp.
4. Tính chất đồng nhất khác nữa được ký hiệu là H
dyn
, đó là phiên bản động của
hàm H
class
. H
class
đặt mức ưu tiên cho các lớp chứ không phải đặt động. Ngược lại,
ta có thể nói rằng R là đồng nhất, tuỳ theo giá trị
Error!
, nếu trên (100*d)% của tế bào trong vùng R nằm trong dải h của số thực r nào đó.
Cuối cùng, chú ý rằng dự báo đồng nhất không phải chỉ trên cơ sở các mức b/w
hay các mức xám. Nó dự báo tuỳ ý, khi cho trước vùng R, giá trị “true” hay “false”
cho lại dựa trên một vài tính toán. Nó có thể quan tâm đến các hệ số như độ sâu,
cường độ, kết cấu, lược đồ màu
Cho trước ảnh I với tập pixel (m x n), hãy xác định đoạn của I với dự báo đồng
nhất P là các tập R
1
, ,R
k
thoả mãn:
1. R
i
Ç R
j
=0 với mọi 1£ i ¹ j £ k,
2. I= R
i
È È R
k
,
3. H(R
i
)=true với mọi 1£ i £k, và
4. Với mọi i, j khác nhau, 1£ i, j £n, và R
i
È R
j
là vùng liên thông thì
H(R
i
ÈR
j
)=false.
Thí dụ, hãy xem xét vùng (4x4) chứa b-w levels chỉ ra trên bảng sau:
Error!
Cột
Hàng
1 2 3 4
1 0.1 0.25 0.5 0.5
2 0.05 0.30 0.6 0.6
3 0.35 0.30 0.55 0.8
4 0.6 0.63 0.85 0.90
Hãy xem xét hàm dự báo đồng nhất
Error!
. Hàm dự báo đồng nhất này cho biết vùng R được xem như đồng nhất nếu tồn tại r
sao cho mỗi tế bào trong vùng có mức bw là v thoả mãn
|v-r| £ 0.03
Theo cách phân lớp này, dễ dàng thấy rằng ta có 5 vùng hình thành từ phân đoạn
ảnh trên theo
Error!
như trên hình 3.5.
R
1
={(1,1), (1,2)}
R
2
={(1,3), (2,1), (2,2),(2,3)}
R
3
={(3,1),(3,2),(3,3),(4,2),(4,2)}
R
4
={(3,4),(4,3),(4,4)}
R
5
={(1,4),(2,4)}
Dưới đây là phương pháp đơn giản tìm kiếm phân đoạn ảnh theo dự báo đồng nhất
H:
1. Bẻ gẫy: Bắt đầu bằng toàn bộ ảnh. Nếu là đồng nhất, thực hiện xong và ảnh
chính là đoạn hợp lệ. Nếu không, chia ảnh thành 2 phần và thực hiện lặp cho đến
khi ta tìm ra R
1
, ,R
n
các vùng đồng nhất và thoả mãn mọi điều kiện (trừ điều kiện
4) trong định nghĩa thuộc tính đồng nhất.
2. Trộn: Kiểm tra xem những R
i
nào có thể trộn vào nhau. Kết thúc bước này ta
có các đoạn hợp lệ R’
1
, ,R’
k
của ảnh, trong đó k£n và mỗi R’
i
là hợp nhất của một
vài R
j
.
Giải thuật cài đặt các bước trên có thể mô tả dễ dàng bằng ba hàm và hàm chính có
tên segment như sau:
Giải thuật 3.1
function segment(I:image)
SOL=0;
check_split(I);
merg(SOL);
end function
function check_split(R)
if H(R)=”true” then addsol(R)
else
{X=split(R);
check_split(X.part1);
check_split(X.part2);
}
end function
procedure addsol(R)
SOL=SOLÈ{R}
end procedure
function merge(S)
while S¹Æ do {
Pick some Cand in S;
merged=false;
S=S-{Cand};
Enumerate S as C
1
, ,C
k
;
while i £ k do
{if adjacent(Cand, C
i
) then
{Cand=Cand È C
i
;
S=S-{C
i
};
merged=true;
}
else {i=i+1;
if merged then S=SÈ{Cand};
merged=false;
}
}};
end function
3.4 Truy vấn trên cơ sở tương tự
Tại đây ta đã nghiên cứu kỹ thuật lấy ảnh làm đầu vào, cho lại phiên ảnh nén của
ảnh đầu vào nhờ biến đổi ảnh DCT, DFT hay wavelet. Câu hỏi cần trả lời là: Cách
nào có thể xác định nội dung của phân đoạn (hay ảnh phân đoạn) tương tự với ảnh
khác (hay tập ảnh khác) hay không?
Có nhiều trường hợp ứng dụng, khi có CSDL ảnh lớn, người sử dụng mong muốn
truy vấn như “Đây là ảnh của một người. Hãy cho biết đó là ai?”.
Có hai tiệm cận chính đến truy vấn ảnh trên cơ sở tương tự.
1. Tiệm cận thước đo: Trong tiệm cận này ta giả sử rằng có thước đo khoảng
cách d để so sánh hai đối tượng ảnh. Hai đối tượng ảnh càng gần nhau thì chúng
càng tương tự nhau. Vấn đề truy vấn trên cơ sở tương tự có thể được phát biểu như
sau: Cho trước ảnh vào i, hãy tìm láng giềng gần nhất của i trong tập ảnh. Cho đến
nay, tiệm cận thước đo được sử dụng nhiều nhất trong các CSDL ảnh.
2.
Error!
Tiệm cận biến đổi: Tiệm cận thước đo giả sử rằng quan niệm tương tự là “cố định”;
có nghĩa rằng, trong bất kỳ ứng dụng nào, chỉ một quan niệm tương tự được sử
dụng để làm chỉ mục dữ liệu (mặc dù nhiều ứng dụng sử dụng nhiều quan niệm
tương tự khác nhau). Tương tự câu châm ngôn “Cái đẹp nằm trong mắt của người
xem” thì cũng đúng với “Cái tương tự nằm trong mắt của người xem”. Thí dụ với
hai ảnh, người này cho rằng hai con vật giống nhau (hai con khỉ), nhưng chuyên
gia động vật cho rằng hai ảnh khác nhau: con đười ươi (hình 3.6a) và con tinh tinh
(hình 3.6b). Tương tự với xâu ký tự “AI” và “intelligence”. Dưới con mắt người
làm tin học thì chúng tương đương, nhưng với các chuyên gia sinh học thì AI lại là
Artificial Insemination (thụ tinh nhân tạo)
Do vậy, người sử dụng phải chỉ ra cái gì được coi là tương tự, thay cho việc để
toàn bộ công việc cho hệ thống.
3.4.1 Tiệm cận thước đo
Giả sử ta xem xét tập đối tượng Obj với các đặc tính pixel p
1
, ,p
n
. Mỗi đối tượng
o được xem như tập S(o) của bộ (n+2) (n+2 tuple)có khuôn dạng sau:
(xcoord, ycoord, v
1
, ,v
n
)
trong đó, v
i
là giá trị của thuộc tính p
i
kết hợp với tọa độ pixel (x, y). Rõ ràng, S(o)
chứa (w x h) của bộ (n+2), trong đó w là độ rộng và h là độ cao của chữ nhật kết
hợp với o.
Thông thường, một đối tượng là toàn bộ ảnh hay đoạn ảnh. Thí dụ, cho trước
CSDL ảnh mặt người. Nó bao gồm ảnh của nhiều người chụp dưới các điều kiện
khác nhau thì một đối tượng có thể bao gồm nhiều mặt người.
Trong tiệm cận thước đo, mức độ khác nhau được xác định bởi hàm khoảng cách
d. Hàm d từ tập X đến khoảng cách đơn vị [0, 1] được gọi là hàm khoảng cách nếu
thoả mãn các tiên đề sau đây. Với mọi x, y, z Î X ta có:
d(x, y)=d(y,x)
d(x,y)£d(x, z)+d(z,y)