Đối sánh ảnh trong xử lý ảnh

7 2.1K 18
Đối sánh ảnh trong xử lý ảnh

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

Thông tin tài liệu

Đối sánh ảnh trong xử lý ảnh

Đối sánh ảnh 1. Bài toán Cho ảnh I có kích thớc MìN và mẫu T có kích thớc mìn. Cần xác định mẫu T có trong ảnh I hay không? Cũng nh trong các mục trớc, trong bài toán này các ảnh T, I đều là ảnh xám. Các giá trị điểm ảnh là cờng độ xám. Thuật giải: Thiết lập cửa sổ W có kích thớc bằng T. Di chuyển cửa sổ W trên ảnh I từ trái sang phải, từ trên xuống dới mỗi lần một cột, một hàng. Tại mỗi vị trí so sánh hai ma trận điểm ảnh W và T. Nh vậy, bài toán trên chuyển thành bài toán so sânh hai ảnh T và W có cùng kích thớc mìn. Số lần thực hiện đối sánh 2 ảnh W và T là =(M- m+1)ì(N-n+1). Số phép tính phải thực hiện phụ thuộc vào việc so sánh hai ảnh W và T nh thế nào và số =(M-m+1)ì(N-n+1). Để giảm số =(M-m+1)ì(N-n+1) ta có thể thực hiện so sánh thô bằng cách co ảnh trớc khi dò tìm. Ví dụ, lấy trung bình 4 điểm lân cận để tạo ra điểm mới cho ảnh kết quả. Việc thu nhỏ này cũng sẽ đợc thực hiện cho mẫu T. 2. Đối sánh theo điểm ảnh: Kí hiệu W(i,j) là giá trị của điểm ảnh (i,j), hàng i, cột j, trên cửa sổ W; T(i,j) là giá trị của điểm ảnh tại ô (i,j) trên mẫu T. Giá trị E = = = m i n j jiTjiW 1 1 ),(),( hoặc e = ( ) 2 1 1 ),(),( . 1 = = m i n j jiTjiW nm Trong các công thức trên E đợc gọi là sai số tuyệt đối, còn e đợc gọi là sai số tơng đối. Ngời ta so sánh các giá trị sai số này với các giá trị ng ỡng H hoặc h. Nếu E<H (hoặc tơng tự nh vậy, e<h) thì kết luận W giống (trùng) với T. 1 Phơng pháp này có hai nhợc điểm lớn là khó định các giá trị ngỡng H và h và các công thức tính trên rất nhạy với nhiễu. Thật vây, xét trờng hợp ảnh T và W có kích thớc 100ì100: a) Mỗi điểm ảnh của W có giá trị cờng độ lớn hơn giá trị của T 1 đơn vị. Điều này dễ xảy ra bởi quá trình xử ảnh thực. Rõ ràng E> 10000. b) Mỗi dòng ảnh của W có 1 điểm lệch cờng độ so với T 100 đơn vị (do nhiễu). Rõ ràng là là e>100. Hai ví dụ trên chỉ ra rằng rất khó định ngỡng H và h. 3. Đối sánh dựa trên ma trận tơng quan a) ý t ởng Biến đổi ảnh T và W thành một ảnh khác để so sánh và chuyên đánh giá về so sánh trong phạm vi [0,1], là phạm vi đánh giá quen thuộc. Với phạm vi đánh giá này có thể định ra sai số =0.01 hoặc giá trị rất nhỏ nào đó khác. Trong các công thức trong mục này ta xét các tổng với biến chạy từ - đến +. Trong kí hiệu W(i,j), tơng tự nh vậy đối với T(i,j), nếu i nằm ngoài khoảng [1 m] hoặc j nằm ngoài khoảng [1 n] ta sẽ coi nh W(i,j)=0, cũng nh T(i,j)=0. b) Tính ma trận t ơng quan R Xây dựng ma trận R WT nh sau: )1(),().,(),( + = + = = i j WT qjkiTjiWqkR với k = 0, 1, 2, 3, 4, và q = 0, 1, 2, 3, 4 Dễ thấy từ (1) R WT (k,q) = W(i+k,j+q).T(i,j) (2) Thật vậy, nếu ta đặt i':= i-k, j' := j-q suy ra i := i'+k, j := j'+q. Thay vào công thức (1) và để ý rằng do cận là từ - đến + nên cận không thay đổi, từ đó nhận đợc công thức (2). )1(),().,(),( + = + = = i j WT qjkiTjiWqkR Ví dụ, Hai ảnh W và T có kích thớc 3ì3: W: 1 2 3 1 1 4 1 1 3 T: 1 2 3 2 1 1 4 1 1 3 R(-2,-2) = W(i,j)T(i+2,j+2), với 1 i 1 và 1 j 1, R(-2,-2) = W(1,1)T(3,3) = 3 R(-2,-1) = W(i,j)T(i+2,j+1), với 1 i 1 và 1 j 2, R(-2,-1) = W(1,1)T(3,2) + W(1,2)T(3,3)= 1 + 6 = 7 R(-2,0) = W(i,j)T(i+2,j), với 1 i 1 và 1 j 3, R(-2,0) = W(1,1)T(3,1)+W(1,2)T(3,2)+W(1,3)T(3,3)= 1+2+9 = 12 R(-2,1) = W(i,j)T(i+2,j-1), với 1 i 1 và 2 j 3, R(-2,0) = W(1,2)T(3,1)+W(1,3)T(3,2) = 2+3 = 5 Các ma trận tự tơng quan của W cũng nh T: R WW (k,q) = W(i,j).W(i-k,j-q) (3) R TT (k,q) = T(i,j). T(i-k,j-q) (4) Rõ ràng là R WW (0,0) = W 2 (i,j) >0 và R TT (0,0) = T 2 (i,j) >0. c) Tính ma trận hệ số t ơng quan Q )5( )0,0()0,0( ),( ),( ƯƯ TTWW WT WT RR qkR qkQ = Nhận xét rằng R WT (0,0) chính là tích vô hớng của hai vectơ W và T, khi này Q WT (0,0) chính là cosin góc giữa hai vectơ W và T. d) Định lý 1. Q WT (k,q) 1, k,q = 0, 1, 2, 3, 2. Q WT (i 0 ,j 0 ) = 1 c, sao cho, với i,j có W(i,j) = c.T(i-i 0 ,j-j 0 ) Chứng minh định lý: 1. Rõ ràng là (aW(i,j) + T(i-k,j-q)) 2 0 với mọi k,q và a hay (a 2 W 2 (i,j) + T 2 (i-k,j-q) + 2aW(i,j)T(i-k,j-q) ) 0 a 2 W 2 (i,j) + T 2 (i-k,j-q) + 2aW(i,j)T(i-k,j-q) 0 a 2 W 2 (i,j) + 2a W(i,j)T(i-k,j-q) + T 2 (i-k,j-q) 0 ' = (W(i,j)T(i-k,j-q))2 - W 2 (i,j) T 2 (i-k,j-q) 0 ' = (R WT (k,q))2 - W 2 (i,j) T 2 (i-k,j-q) 0 (R WT (k,q))2 W 2 (i,j) T 2 (i-k,j-q) (R WT (k,q))2 / W 2 (i,j) T 2 (i-k,j-q) 1 (đpcm). 3 2. Giả thiết là tồn tại hằng số c0 sao cho W(i,j) = c T(i-i 0 ,j-j 0 ) với mọi i,j. Hiển nhiên, khi này R WT (i 0 ,j 0 ) = W(i,j).T(i-i 0 ,j-j 0 ) = c. W 2 (i,j) R WW (0,0) = W 2 (i,j) R TT (0,0) = T 2 (i,j)= T 2 (i-i 0 ,j-j 0 ), bằng cách đặt i':=i-i 0 , j':=j-j 0 và đảo chỉ số nh trên. Cuối cùng ta có: R TT (0,0) = c 2 W 2 (i,j) = c 2 W 2 (i,j) = c 2 R WW (0,0). Từ đây suy ra Q WT (i 0 ,j 0 ) = 1. Giả sử Q WT (i 0 ,j 0 ) =1 với (i 0 ,j 0 ) nào đó. Từ chứng minh trên suy ra ' = (R WT (k,q))2 - W 2 (i,j) T 2 (i-i 0 ,j-j 0 ) = 0 Dẫn đến tồn tại duy nhất một giá trị c sao cho c 2 W 2 (i,j) + 2c W(i,j)T(i-i 0 ,j-j 0 ) + T 2 (i-i 0 ,j-j 0 ) = 0 Hay (cW(i,j) + T(i-i 0 ,j-j 0 )) 2 = 0. Suy ra -cW(i,j) = T(i-i 0 ,j-j 0 ). Đặt lại c := -1/c ta có điều phải chứng minh. Nhận xét rằng W(i,j) = c.T(i,j) với mọi i,j có thể hiểu rằng c ờng độ sáng của W bằng c lần cờng độ sáng của T, tính theo từng điểm ảnh. Trong biểu thức W(i,j) = c.T(i-i 0 ,j-j 0 ) có thể hiểu rằng, nếu rời điểm (1,1) của W đến điểm (i 0 ,j 0 ) của T thì ta nhận đợc hai phần nào đó của W và T lệch nhau về cờng độ sáng c lần. 4. Hệ quả Nếu hệ số tơng quan Q WT (k,q)=1 thì hoặc T là thành phần của W hoặc W và T giống nhau. 5. Tính ma trận R WT Ta có thể dễ dàng thấy rằng ma trận R có kích thớc (2m-1)ì(2n-1). Nếu ta chia ma trận R thành 4 phần. Xét công thức W(i,j)T(i-k,j-q) với 1 i m, 1 j n. Rõ ràng là khi k [-m+1 m-1] thì T(i-k,j-q) không xác định (ở trên ta đã giả thiết là bằng 0 để dễ biến đổi. For k:=-m+1 to m-1; For q:=-n+1 to n-1 R(k,q) := 0; Tính phần A: k:= -m+1 to -1 q:= - n+1 to -1 A B C D 4 1≤ i-k ≤ m ⇒ 1+k ≤ i ≤ m+k ⇒ 1 ≤ i ≤ m+k 1≤ j-q ≤ n ⇒ 1+q ≤ j ≤ n+q ⇒ 1 ≤ j ≤ n+ q TÝnh phÇn B: k:= -m+1 to -1 q:= 0 to n-1 1≤ i-k ≤ m ⇒ 1+k ≤ i ≤ m+k ⇒ 1 ≤ i ≤ m+k 1≤ j-q ≤ n ⇒ 1+q ≤ j ≤ n+q ⇒ 1+q ≤ j ≤ n TÝnh phÇn C: k:= 0 to m-1 q:= - n+1 to -1 1≤ i-k ≤ m ⇒ 1+k ≤ i ≤ m+k ⇒ 1+k ≤ i ≤ m 1≤ j-q ≤ n ⇒ 1+q ≤ j ≤ n+q ⇒ 1 ≤ j ≤ n+ q TÝnh phÇn D: k:= 0 to m-1 q:= 0 to n-1 1≤ i-k ≤ m ⇒ 1+k ≤ i ≤ m+k ⇒ 1+k ≤ i ≤ m 1≤ j-q ≤ n ⇒ 1+q ≤ j ≤ n+q ⇒ 1+q ≤ j ≤ n R(k,q) := R(k,q) + W(i,j)*T(i-k,j-q); VÝ dô: 1. Hai ¶nh W vµ T gièng hÖt nhau W: 1 2 3 1 1 4 1 1 3 T: 1 2 3 1 1 4 1 1 3 Q: 0.07 0.16 0.28 0.12 0.07 0.16 0.30 0.67 0.23 0.16 0.23 0.40 1.00 0.40 0.23 0.16 0.23 0.67 0.30 0.16 0.07 0.12 0.28 0.16 0.07 2. Hai ¶nh W vµ T lÖch nhau W = 3T W: 3 6 9 3 3 12 3 3 9 T: 1 2 3 1 1 4 1 1 3 Q: 5 0.07 0.16 0.28 0.12 0.07 0.16 0.30 0.67 0.23 0.16 0.23 0.40 1.00 0.40 0.23 0.16 0.23 0.67 0.30 0.16 0.07 0.12 0.28 0.16 0.07 3. Hai ¶nh W vµ T lÖch nhau W = T +2 W: 3 4 5 3 3 6 3 3 5 T: 1 2 3 1 1 4 1 1 3 Q: 0.11 0.19 0.28 0.11 0.06 0.26 0.39 0.64 0.23 0.14 0.38 0.57 0.97 0.39 0.20 0.26 0.38 0.67 0.29 0.14 0.11 0.19 0.30 0.16 0.06 4. Hai ¶nh W vµ T lÖch nhau t¹i mét ®iÓm ¶nh W: 1 2 3 1 1 7 1 1 3 T: 1 2 3 1 1 4 1 1 3 Q: 0.05 0.12 0.21 0.09 0.05 0.12 0.23 0.66 0.23 0.17 0.17 0.30 0.96 0.35 0.23 0.12 0.17 0.66 0.33 0.17 0.05 0.09 0.21 0.12 0.05 Const n=3; m=3; Type Anh = Array[1 m,1 n] of byte; TQ = Array[-m+1 m-1,-n+1 n-1] of Real; Const T : Anh = (( 1, 2, 3), ( 1, 1, 4), ( 1, 1, 3)); W : Anh = ( ( 1, 2, 3), ( 1, 1, 7), ( 1, 1, 3)); Var i,j,k,q : Integer; R, MQ : TQ; 6 Mw,Mt : Real; f : Text; BEGIN Mw:=0; For i:=1 to m do For j:=1 to n do Mw := Mw + Sqr(W[i,j]); Mt:=0; For i:=1 to m do For j:=1 to n do Mt := Mt + Sqr(T[i,j]); For k:=-m+1 to m-1 do For q:=-n+1 to n-1 do R[k,q] := 0; { Tinh phan A:} For k:= -m+1 to -1 do For q:= - n+1 to -1 do For i:=1 to m+k do For j:=1 to n+q do R[k,q] := R[k,q] + W[i,j]*T[i-k,j-q]; { Tinh phan B:} For k:= -m+1 to -1 do For q:= 0 to n-1 do For i:=1 to m+k do For j:=1+q to n do R[k,q] := R[k,q] + W[i,j]*T[i-k,j-q]; { Tinh phan C:} For k:= 0 to m-1 do For q:= - n+1 to -1 do For i:=1+k to m do For j:=1 to n+q do R[k,q] := R[k,q] + W[i,j]*T[i-k,j-q]; { Tinh phan D:} For k:= 0 to m-1 do For q:= 0 to n-1 do For i:=1+k to m do For j:=1+q to n do R[k,q] := R[k,q] + W[i,j]*T[i-k,j-q]; For k:=-m+1 to m-1 do Begin For q:=-n+1 to n-1 do write(R[k,q]/Sqrt(Mw*Mt):10:2); Writeln; End; Readln; END. 7 . Đối sánh ảnh 1. Bài toán Cho ảnh I có kích thớc MìN và mẫu T có kích thớc mìn. Cần xác định mẫu T có trong ảnh I hay không? Cũng nh trong các mục trớc, trong bài toán này các ảnh T,. Tại mỗi vị trí so sánh hai ma trận điểm ảnh W và T. Nh vậy, bài toán trên chuyển thành bài toán so sânh hai ảnh T và W có cùng kích thớc mìn. Số lần thực hiện đối sánh 2 ảnh W và T là =(M- m+1)ì(N-n+1). Số. lân cận để tạo ra điểm mới cho ảnh kết quả. Việc thu nhỏ này cũng sẽ đợc thực hiện cho mẫu T. 2. Đối sánh theo điểm ảnh: Kí hiệu W(i,j) là giá trị của điểm ảnh (i,j), hàng i, cột j, trên cửa

Ngày đăng: 02/04/2014, 00:17

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan