Dị biên theo quy hoach động 1 Mơ tả phương pháp

Một phần của tài liệu Báo cáo chuyên đề xử lý ảnh: Các phương pháp dò biên (Trang 45 - 52)

8.1. Mơ t phương pháp I(x,y) Arctan fy/fx 2 2 y x f f +

KILOBOOKS.COM

Dị biên theo phương pháp gradient là xác định cực trị cục bộ của gradient theo các hướng; cịn phương pháp Laplace dựa vào cắt điểm khơng của đạo hàm bậc hai. Phương pháp dị biên theo quy hoạch động là phương pháp tìm cực trị tổng thể của các quá trình nhiều bước. Nĩ dựa vào nguyên lý tối ưu của Bellman. Nguyên lý Bellman phát biểu như sau: “con đường tối ưu giữa 2 điểm cho trước cũng là tối ưu giữa 2 điểm bất kỳ nằm trên đường tối ưu đĩ”.

Thí dụ, nếu C là một điểm trên đường tối ưu giữa A và B thì đoạn CB cũng là con đường tối ưu từ C đến B khơng kể đến C bằng cách nào.

E B

C A

D

Trong kỹ thuật này, ta giả sử bản đồ biên đã được xác định và được biểu diễn dưới dạng một đồ thị liên thơng N chặng. Hơn nữa, giả sử hàm đánh giá

được tính theo cơng thức:

∑∑ ∑ ∑ = − = − = − − − = N k N N N k k k N k k N N g x x x d x x x x S 2 1 1 1 1 1,..., , ) ( ) ( ) ( ) ( , ) ( α θ θ β Với: Xk, k=1,…,N: biểu diễn các đỉnh của đồ thị trong chặng thứ k;

d(x,y): khoảng cách giữa 2 đỉnh x và y tính theo các định nghĩa tương

KILOBOOKS.COM

|g(xk)| và θ(xk) là gradient biên độ và gradient hướng ởđỉnh xk;

α và βlà các tham số khơng âm.

Đường bao tối ưu sẽ nhân được bằng cách nối các đỉnhx, k=1,…,N nào đĩ thỏa mãn, sao cho S(x1,…,xN) đạt cực đại.

Ta định nghĩa hàm như sau: 1 1,..1 )} , ,.., ( { ) , ( − = Φ N x x N N N Max S x x N x Khi đĩ ta được: ) , ( ) ( ) ( ) ( ) 1 , ,.., ( ) , ,.., (x1 xN N =S x1 xN−1 N − + g xN + xkxk−1 − d xN xN−1 S αθ θ β Với cách thức này, thay vì tìm tối ưu tồn cục của S(x1,,…,xN,N) một vấn đề phức tạp, ta đi tìm tối ưu của N chặng của tối ưu 2 biến. Trong mỗi chặng, với mỗi xk ta phải tìm tối ưu Φ(xk,k). Ví dụ:

Giả sử ta cĩ bản đồ biên biểu diễn đồ thị liên thơng sau:

D 4 7 Φ(xk 6 5 D(11,12) E(16) F(23) A 5 B A 5 C B 3 2 6 I(8) (18,28) 2 3 G(8) H(8,10) j(13,10) 1 2 3 4 5 k

Theo phương pháp trên ta cĩ Φ(xk,k)=5. với k=2 cĩ Φ(D,2)=max(11,12)=12. Điều

đĩ cĩ nghĩa là con đường từ A đến D di qua C và ACD là biên được chọn với k=2. Một cách tương tự, với k=4 cĩ 2 con đường được chọn là ACDEF và AGHJ. Tuy nhiên, với k=5 thì đoạn JB bị loại và chỉ tồn tại con đường duy nhất với cực đại là 28. Như vậy biên được xác định là ADEFB.

KILOBOOKS.COM

8.2. Thut tốn

Theo phân tích trên, thuật tốn dị biên theo qui hoạch động được mơ tả một cách hình thức như sau:

• Xuất phát từ điểm ban đầu XA, ta xác định con đường gồm các đỉnh để đạt đến đỉnh XB

• Việc dị tìm này giống như phép duyệt đồ thị theo bề sâu: tại thời điểm hiện thời xi (lúc xuất phát là XA), ta xác định các điểm kế tiếp, dựa vào 8 lân cận theo hướng của điểm hiện tại và điểm trước đĩ. Nếu hướng đĩ hợp lệ, ta chọn nĩ như một đỉnh trên con đường cần tìm. Ngược lại, để

tìm đỉnh cĩ khả năng ta sẽ chọn 1 trong 8 lân cận của đỉnh đang xét với chi phi lớn nhất. Cĩ thể cĩ nhiều đỉnh thỏa mãn và như vậy ta cần lưu trữ

các đỉnh này coi như các đỉnh cĩ khả năng. Nếu khơng cĩ đỉnh nào được chọn trong 8 lân cận đĩ, ta phải quay lui và chọn đỉnh khác đã lưu trữ. • Quá trình được lặp lại cho đến đỉnh được xem xét hiện tại chính là đích

X8

Để cài đặt giải thuật này, cần sử dụng các cấu trúc dữ liệu và các thủ tục sau: Stack winerstack: lưu trữ các đỉnh trên con đường tối ưu từđỉnh xuất phát

X đến đỉnh đích X8.

Stack tempstack: lưu trữ các đỉnh cĩ khả năng để xem xét lúc quay lui một khi thất bại tạm thời. (adsbygoogle = window.adsbygoogle || []).push({});

Véc tơ Index: gồm 9 phần tử. Mỗi phần tử của véc tơ gồm 3 trường: hàng, cột và giá. Giá là tiêu chí xét điểm thỏa mãn;

Image: ảnh vào

XA, XB, last: cĩ cấu trúc như một phần tử của véc tơ Index

Find_Direc (last, current): hàm cung cấp giá trị về hướng của điểm đang xét và điểm trước nĩ.

- Thủ tục Find_Successor(ImageIn,X,last, Index): tìm các điểm tiếp theo cĩ thể và đặt vào véc tơ Index. Điểm tiếp theo này phải nằm

KILOBOOKS.COM

trong giới hạn của ảnh, khác với điểm hiện thời và điểm trước đĩ và cường độ mức xám phải lớn hơn ngưỡng T. Khi điểm ảnh được chọn, trường giá sẽ tăng lên một lượng: bằng mắc xám của điểm ảnh đĩ. - Thủ tục Init_index(Index): đặt lại giá trị cho mỗi phần tử của véc tơ

Index bằng -1 mỗi khi khởi tạo một đợt tìm mới.

- Thủ tục sort_pixel(Index): sắp xếp lại véc tơ index theo trường giá tăng dần để tìm các đỉnh cĩ khả năng làm cực đạiΦ

Giải thuật dị biên theo qui hoạch động được viết như sau: Edge_Dynamic(XA,XB,ImageIn,T,Index,Last,WinerStack) /*XA, XB, T, ImageIn: các tham số vào

WinerStack” tham số ra. Chứa các đỉnh biên trên đường từ XAđến XB*/ 1. if XA=XB then kết thúc; 2. khởi tạo ban đầu Last=XA; Push(WinerStack,XA); ImageIn[XA]=0;{đánh dấu để khơng xét lại} Init_Index(Index);

Find_Successor(ImageIn, Xi,T,Index, last); Sort_pixel(Index);

If Index[8]=-1 then {điểm hiện tại khơng cĩ điểm tiếp theo – đã xét hết} Begin

Xi<-tiếp theo trong index Init_Index(Index); End 3. vịng lặp chính While true do Begin Push(WinerStack,Xi);

KILOBOOKS.COM ImageIn[Xi]=0; ImageIn[Xi]=0;

If Xi=XB then exit; {kết thúc}

Find_Successor(ImageIn, Xi,T,Index, last); D=Find_Direc(Last,Xi);

Last=Xi;

If (d>0) & (ImageIn[Index[d]] là thỏa then Xi=Index[d]; Sort_pixel(Index);

/* xác định đỉnh cĩ khả năng*/ For i=1 to 8 do

If Index[i].gia<>-1 then Push(TempStack, Index[i]); If Index[8]<>-1 & ImageIn[index[8]]=0 then Xi=Index[8]; Else

While (TempStack not Empty) & (ImageIn[Xi]=0) do Begin

Xi=pop(TempStack);

If TempStack is Empty then quay lui;

While (WinerStack not Empty and Xi<>X0 )do X0=pop(winerStack); End Init_Index(Index); End 4. Kết thúc 9. Mt s thut tốn khác

KILOBOOKS.COM

1. Lượng tử hĩa khơng gian số tổng giới hạn của tham số a. Khơng gian tham số với n chiều được cho bởi tham số của véc tơ a.

2. bộ nhớ n chiều là mảng A(a) với cấu trúc lượng tử hĩa của khơng gian tham số; tập hợp các phần tử tới 0.

3. Từ một điểm ảnh (x1,x2) trong độ dốc thích hợp của hình ảnh, tăng tất cả các ơ nhớ A(a) nếu f(x,a)=0

A(a)=A(a)+∆A (adsbygoogle = window.adsbygoogle || []).push({});

Cho tất cả giá trị a bên trong giới hạn dùng trong bước (1)

4. tìm số lớn nhất trong mảng A phù hợp với sự mơ tả đường cong f(x,a) hiện cĩ trong hình ảnh gốc.

- Nếu chúng ta tìm được đường trịn, phân tích biểu thức f(x,a) được hình trịn mong muốn là :

(x1-a)2 + (x2-b)2= r2

- bộ chứa cấu trúc dữ liệu phải là khơng gian 3 chiều

- phép biến đổi Hough là kĩ thuật mạnh cho phép tìm ra đường cong, theo phát triển luật số mũ của bộ chứa cấu trúc dữ liệu sự ra tăng của những hạn chế về tham số đường cong là điều kiện thuận lợi để tìm ra đường cong cĩ những tham số nhỏ.

- Nếu ưu tiên những thơng tin về quản lý biên được sử dụng thì lượng tính tốn cần thiết cĩ thể giảm đáng kể.

- Ngồi việc sử dụng thơng tin đường biên định hướng, tất cả các ơ bộ

chứa A(a,b) là tăng lên trong khơng gian tham số nếu con trỏ (a,b) là một đường trịn với tâm x.

Sự hiểu biết mang tính định hướng chỉ là số nhỏ trong bộ nhớ cần tăng lên. Nếu đường biên định hướng là lượng tử hĩa 8 giá trị cĩ thể, chỉ giá trị thứ 8 của đường trịn cần thêm phần nhỏ trong tăng dung lượng ơ chứa

Sử dụng đường trịn định hướng, ứng với tham số a và b cĩ thể được định nghĩa từ cơng thức sau:

Một phần của tài liệu Báo cáo chuyên đề xử lý ảnh: Các phương pháp dò biên (Trang 45 - 52)