Tải bản đầy đủ (.pdf) (44 trang)

Luận văn tốt nghiệp Phát hiện và định vị sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (640.89 KB, 44 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA TOÁN - TIN HỌC
BỘ MÔN ỨNG DỤNG TIN HỌC

LUẬN VĂN TỐT NGHIỆP:

PHÁT HIỆN VÀ ĐỊNH VỊ
SỰ THAY ĐỔI CỦA ĐỐI TƯNG
TRONG DÃY ẢNH LIÊN TIẾP

GVHD : Th.S Phạm Thế Bảo
SVTH : Huỳnh Lê Tấn Tài - 9911178
Hồ Quang Thái
- 9911191

Thành phố Hồ Chí Minh
07 - 2003


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 2

lời cảm ơn

Chúng em xin chân thành cảm ơn Ban giám hiệu, các thầy cô giảng
dạy trường Đại Học Khoa Học Tự Nhiên cùng các thầy cô trong khoa Toán
– Tin học đã tận tình hướng dẫn, truyền đạt kiến thức cho chúng em trong
những tháng năm ở giảng đường Đại Học.


Chúng em xin chân thành cảm ơn Th.S Phạm Thế Bảo, là người trực
tiếp hướng dẫn, tạo điều kiện và giúp đỡ chúng em trong suốt thời gian thực
hiện luận văn.
Chúng em cũng xin ghi nhận sự giúp đỡ của Prof. Sethian (University of
Berkeley, America), Ph.D Grinas (University of Crete, Greece), Ph.D Sifakis
(University of Stanford, America) và anh Võ Trường Tiền (Công ty TNHH
Compotech).

Và cuối cùng, xin cảm ơn gia đình và bè bạn đã động viên và giúp đỡ
trong suốt con đường học vấn.

TP Hồ Chí Minh , tháng 7 năm 2003
Nhóm thực hiện

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 3

MỤC LỤC
LỜI MỞ ĐẦU.................................................................................................................. 3
CHƯƠNG 1 LEVEL SET & FAST MARCHING........................................................ 6
1.1 Giới thiệu ................................................................................................................... 6
1.2 Phương pháp Level Set ............................................................................................ 7
1.2.1 Phương trình Level Set......................................................................................7
1.2.2 Nghiệm xấp xỉ của phương trình Level Set.......................................................9

1.2.3 Kỹ thuật Narrow Band ....................................................................................10
1.3 Phương pháp Fast Marching ................................................................................. 11
1.3.1 Phương trình Eikonal .......................................................................................11
1.3.2 Nghiệm xấp xỉ của phương trình Eikonal........................................................12
1.3.3 Thuật toán Fast Marching Level Set (FMLS) .................................................13
1.3.4 Chi tiết các bước trong thuật toán FMLS ........................................................15
1.4 Thuật toán Multi - Class Fast Marching .............................................................. 18
CHƯƠNG 2 PHÁT HIỆN SỰ THAY ĐỔI TRONG DÃY ẢNH LIÊN TIẾP ......... 20
2.1 Tóm tắt phương pháp sử dụng FM LS và SRG ................................................... 20
2.2 Phát hiện đối tượng chuyển động ......................................................................... 21
2.2.1 Thiết lập mô hình thống kê.............................................................................21
2.2.2 Gán nhãn khởi tạo ban đầu .............................................................................22
2.2.3 Lan truyền nhãn ..............................................................................................25
2.3 Đònh vò đối tượng .................................................................................................... 28
2.3.1 Khởi tạo ...........................................................................................................28
2.3.2 Tạo vùng chứa biên.........................................................................................29
2.3.3 Lọc biên đối tượng ..........................................................................................30
CHƯƠNG 3 KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN................................................ 34
3.1 Thực hiện ................................................................................................................. 34
3.2 Kết quả thực nghiệm.............................................................................................. 35
3.3 Hướng phát triển .................................................................................................... 35
TÀI LIỆU THAM KHẢO ............................................................................................ 36
PHỤ LỤC ...................................................................................................................... 38
Ước lượng tham số bằng phương pháp hợp lý cực đại .............................................. 38
Giải thuật phân lớp bằng phương pháp xác suất ...................................................... 40
Hệ màu CieLab............................................................................................................. 43
LỜI MỞ ĐẦU

Trong thời đại bùng nổ thông tin như hiện nay, máy tính ngày càng được sử
dụng rộng rãi trong các lónh vực nghiên cứu khoa học và trong đời sống hàng ngày.


GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 4

Các ứng dụng từ việc nghiên cứu sử dụng máy tính mang lại những lợi ích thiết
thực vô cùng lớn cho con người, trong đó phải kể đến những ứng dụng trong lónh
vực thò giác máy tính, xử lý ảnh…. Và một ứng dụng thường gặp trong lónh vực này
là các hệ thống camera theo dõi, quan sát sử dụng trong an ninh, quốc phòng,.. mà
mấu chốt của các hệ thống này là nhận biết sự thay đổi của các frame ảnh liên
tiếp.
Ta có thể hình dung một hệ thốngï theo đơn giản như sau: cứ sau một chu kì
hợp lý (khoảng 2 – 3 giây), camera sẽ cho ta một ảnh chụp từ không gian đang cần
theo dõi. Và mục tiêu đặt ra là hệ thống phải báo động khi phát hiện sự thay đổi
giữa các frame ảnh đó. Công việc này nếu thực hiện được sẽ làm giảm bớt không
gian lưu trữ, chỉ lưu lại những ảnh khác nhau trong hệ thống thay vì phải lưu lại
toàn bộ ảnh chụp được. Ngoài ra, nếu xác đònh được chính xác các đối tượng thay
đổi trong các frame ảnh liên tiếp, ta sẽ tạo được một tiền đề lớn cho các hệ thống
mở rộng sau này như : nén ảnh video (chuẩn MPEG), hệ thống nhận dạng đối
tượng động online, các kỹ thuật phân tích và ước lượng chuyển động ...
Có rất nhiều phương pháp để giải quyết bài toán trên. Đơn giản thì có kỹ
thuật trừ ảnh trên từng pixel, hoặc trên từng khối pixel. Phức tạp hơn thì có các kỹ
thuật sử dụng lọc Kalman, mô hình Markov ẩn,... Trong đề tài, chúng em sẽ trình
bày một phương pháp mới và hiệu quả hơn những phương pháp trên, chủ yếu dựa
trên lý thuyết Level Set, thuật toán Fast Marching và thuật toán Seeded Region

Growing.
Cấu trúc đề tài được phân thành các chương như sau
-

Chương 1: Phương pháp Level Set và phương pháp Fast Marching

-

Chương 2: Phát hiện và đònh vò sự thay đổi của các đối tượng trong dãy
ảnh liên tiếp dựa trên thuật toán Fast Marching và Seeded Region
Growing.

-

Chương 3: Kết quả và hướng phát triển.

TP Hồ Chí Minh, tháng 7 năm 2003

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 5

Nhóm thực hiện

GVHD: ThS Phạm Thế Bảo


SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 6

LEVEL SET & Fast Marching

Phương pháp Fast Marching1 và phương pháp Level Set2 là những phương
pháp số học có thể theo dõi được sự tiến triễn của đường cong chuyển động từng
phần. Đường cong này có thể có những góc nhọn, có thể tách ra thành nhiều
đường cong riêng biệt cũng như có thể hợp lại thành một đường cong lớn hơn. Đây
cũng là hai kỹ thuật được áp dụng rộng rãi trong nhiều ngành khoa học như : Hình
học tính toán, Thò giác máy tính, Cơ học chất lỏng, Chế tạo chip,…

Giới thiệu
Phương pháp Fast Marching [3, 13, 14] (Sethian – 1996) và phương pháp
Level Set [3, 15] (Osher và Sethian – 1988) là những kỹ thuật số học được thiết
lập để theo dõi sự tiến triển của đường cong, nhằm giải quyết bài toán sau:
Xét một đường cong kín trong mặt phẳng 2 chiều (mặt kín trong không
gian 3 chiều), chia mặt phẳng (không gian) thành hai vùng tách biệt lẫn nhau. Ta
tưởng tượng đường cong (mặt) đó chuyển động từng phần theo hướng pháp tuyến
của nó với một vận tốc F. Mục tiêu đặt ra là làm sao tại mỗi thời điểm bất kỳ, ta
phải xác đònh vò trí của đường cong tương ứng với thời điểm đó. Điểm chú ý ở đây
là ta chỉ xét các chuyển động theo hướng pháp tuyến. Để dễ tưởng tượng hơn, ta
hãy nghó đến viên nước đá khi bỏ vào chậu nước nóng. Viên nước đá này sẽ nhỏ
dần theo thời gian, hay đường bao quanh cục đá này sẽ chòu một lực tương tự một
lực kéo vào tâm. Đây là một trường hợp của bài toán trên với vận tốc F < 0. Một

trường hợp khác của bài toán với F > 0 là khi ta bơm một quả bóng, và quả bóng
đó sẽ lớn dần theo thời gian.

1
2

Fast Marching Methods: phương pháp lan truyền nhanh (tạm dòch)
Level Set Methods: phương pháp tiếp cận dựa trên đường mức (tạm dòch)

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Trang 7

Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

t

Hình 1: Sự tiến triển của đường cong

Thoạt nhìn, ý tưởng đơn giản để giải quyết bài toán này là ta sẽ biểu diễn
đường cong thông qua một số điểm đònh vò. Khi đường cong chuyển động với vận
tốc F, thì những điểm đònh vò này cũng chuyển động cùng với vận tốc đó. Bằng
một số công thức vật lý, ta có thể dễ dàng xác đònh vò trí mới của những điểm này,
và từ đó xây dựng lại đường cong. Hiển nhiên, số điểm đònh vò được chọn càng
nhiều thì đường cong được xây dựng càng chính xác.
Tuy nhiên, phương pháp trên sẽ không thực hiện được khi các điểm đònh vò
này chuyển động ngang qua nhau, hay đường cong bò tách ra thành nhiều phần.

Các phương pháp xử lý hiệu quả trường hợp phức tạp trên chính là phương pháp
Level Set và phương pháp Fast Marching mà ta sẽ xét đến trong phần kế tiếp.

Phương pháp Level Set
Phương trình Level Set
Cho vò trí ban đầu của đường cong Γ trong R2, và hàm vận tốc F biểu thò
chuyển động của Γ theo phương pháp tuyến. Đặt φ(x, t = 0) = ±d, với d là khoảng
cách từ điểm x đến Γ, dấu cộng (hay trừ) biểu thò x nằm ngoài (hay trong) Γ. Ta dễ
dàng nhận thấy rằng:
{x | φ(x(t), t = 0) = 0} ≡ Γ
và vò trí của Γ tại thời điểm t là tập hợp x sao cho

φ(x(t), t) = 0.

GVHD: ThS Phạm Thế Bảo

(1.2.1a)

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Trang 8

Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

z = φ(x,y,t)
y
γ(0)

đường mức gốc


x

x
z = φ(x,y,t)
y
đường mức gốc

γ(t)

x

Hình 2: Sự tiến triển của đường tròn theo phương pháp Level Set

Từ công thức (2.1), ta đi tìm sự tương quan giữa φ(x, t) và φ(x, t = 0)
Đạo hàm công thức (2.1), và theo tính chất đạo hàm hàm hợp, ta có:

φt + ∇φ(x(t), t). x’(t) = 0

(1.2.1b)

Do F là vận tốc cùng chiều với vector pháp tuyến, nên x’(t).η = F, với η là vector
pháp tuyến η =

∇φ
.
∇φ

Vì vậy, phương trình (2.2) trở thành :


φt + F|∇φ | = 0

(1.2.1c)

Phương trình (2.3) được gọi là phương trình Level Set. Lời giải của bài toán được
đặt ra ban đầu cũng là nghiệm của phương trình Level Set. Các lời giải số học khi
“rời rạc hóa” phương trình này ta sẽ trình bày ở phần sau.
Một vài tính chất của phương pháp Level Set
1. Phương pháp Level Set giải quyết hiệu quả những biến đổi topology trên
đường cong Γ. Vò trí đường cong tại thời điểm t được cho bởi tập mức gốc
(zero level set) φ(x, t) = 0. Tập hợp này không nhất thiết phải là một đường
cong đơn, và nó có thể bò tách ra hay ghép lại khi tiến triển.

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Trang 9

Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Hình 3 : Sự tiến triển của hai đường tròn

2. Các đặc tính hình học của đường cong có thể được dễ dàng xác đònh từ
phương trình Level Set φ. Vectơ pháp tuyến n =
tập đồng mức là κ = ∇

∇φ
và độ cong của mỗi

∇φ

∇φ
.
∇φ

3. Mô hình Level Set không thay đổi trong trường hợp nhiều chiều.
4. Dựa trên nghiệm mạnh của phương trình đạo hàm riêng Level Set để đảm
bảo tính duy nhất, và sự hợp lệ của nghiệm yếu.
5. Nghiệm xấp xỉ của phương trình Level Set có được nhờ mô hình tính toán
dựa trên luật bảo toàn hyperbolic.

Nghiệm xấp xỉ của phương trình Level Set
Như đã đề cập ở trên, ta cần một nghiệm xấp xỉ cho phương trình Level Set
để chuyển bài toán từ liên tục sang rời rạc, và một trong những nghiệm đơn giản
nhất là: [15]

(

φ ijn +1 = φ ijn − Δt max (Dij− xφ ,0 ) + min (Dij+ xφ ) max (Dij− y φ ,0 ) + min (Dij+ y φ ,0 )
2

2

2

)

2 1/ 2


(1.2.2)
Trong đó F = 1

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 10

Dij+ xφ = (φ i +1, j − φ i , j ) / (Δx ) , Dij− xφ = (φ i , j − φ i −1, j ) / (Δx )
Dij+ y φ = (φ i , j +1 − φ i , j ) / (Δy ) , Dij− y φ = (φ i , j − φ i , j −1 ) / (Δy )

Kỹ thuật Narrow Band
Phương pháp đưa trên phụ thuộc vào việc tính toán sự tiến triển của tất cả
các đường mức, chứ không chỉ riêng đường mức gốc (zero level set) tương xứng.
Điều này đòi hỏi một sự tính toán phức tạp, và càng phức tạp hơn khi phương pháp
Level Set chuyển bài toán hơn một chiều so với bài toán gốc (chiều thời gian).
Để cải tiến phương pháp, ta cần có một sự thay đổi trong kỹ thuật duyệt,
tức là chỉ tính toán trong lân cận của đường mức gốc. Kỹ thuật này được gọi là
phương pháp dải hẹp (Narrow Band). Độ phức tạp tính toán của kỹ thuật này trong
không gian 3 chiều cho N3 điểm trên lưới giảm từ O(N3) xuống còn O(kN2), với k là
số lượng ô trong Narrow Band. Dẫn đến chi phí tính toán được rút gọn đáng kể.
Ý tưởng cơ bản của phương pháp này là đánh dấu các điểm trên lưới với
một trong các nhãn alive3 , land mines4 hoặc far away5, phụ thuộc vào chúng nằm
trong, nằm trên, hoặc nằm ngoài band. Ở mỗi bước tiến triển, một điểm land mines
sẽ trở thành alive, và band được cập nhật trở lại với những lân cận của điểm land
mines vừa tìm.

alive
land mines
far away
Hình 4 Kỹ thuật đánh dấu điểm trong phương pháp Narrow Band

Kỹ thuật Narrow Band là tiền đề của một thuật toán hiệu quả hơn, đó là thuật lan
truyền nhanh (Fast Marching Level Set) sẽ được trình bày trong phần kế.

3

alive : biểu diễn những điểm đá thuộc về đường cong
land mines hay trial : biểu diễn những điểm sẽ được chọn gần nhất đề ghép vào đường cong
5
far away : biểu diễn những điểm chưa được xét để ghép vào đường cong, hay đường cong sẽ phải
cần một khoảng thời gian khá lớn mới đến được các điểm này.
4

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 11

Phương pháp Fast Marching
Phương trình Eikonal
Bây giờ, chúng ta tiếp tục tìm hiểu phương pháp Fast Marching Level Set
[3], một lời giải hiệu quả cho bài toán đường cong chuyển động trong trường hợp

vận tốc F không đổi dấu.
Cũng xét bài toán như trên nhưng đường cong chuyển động với vận tốc
F = F ( x, y ) > 0 ∀( x, y ) (hoặc F ( x, y ) < 0 ∀( x, y ) ). Với vận tốc luôn dương

đường cong sẽ luôn “phình ra” như trong ví dụ bơm quả bóng, và với vận tốc luôn
âm đường cong sẽ luôn “co lại” như trong ví dụ viên nước đá bỏ vào chậu nước
nóng. Phương trình Level Set :

φ t + F ( x , y , z ) ∇φ = 0

(1.3.1a)

Giới hạn bài toán trong trường hợp 2 chiều, và ta biểu diễn sự tiến triển của
đường cong trên lưới điểm N*N. Gọi T(x, y) là thời điểm mà đường cong đi qua
điểm (x, y). Ta có thể xác đònh được hàm T(x, y) do tính chất đường cong “phình
ra” hoặc “co lại” nên nó luôn đi qua mỗi điểm trên lưới điểm chỉ một lần duy
nhất.
Từ công thức : “đường đi = vận tốc * thời gian”. Khi xét bài toán một
chiều ta có

1= F

dT
dx

(1.3.1b)

T(x)

dT

dx

Hình 5: quãng đường = vận tốc * thời gian

Còn trong trường hợp nhiều chiều, ∇T vuông góc với đường mức thời điểm T, và
phương trình (1.3.1b) trở thành

∇T F = 1

GVHD: ThS Phạm Thế Bảo

(1.3.1c)

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Trang 12

Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Phương trình (1.3.1c) là một dạng của phương trình Eikonal (1).

Hình 6: Biểu diễn mặt nón T

Một vài tính chất của phương pháp Fast Marching
-

Chuyển bài toán từ mô hình động sang mô hình tónh, đường cong được
cập nhật theo chiều tăng từ giá trò nhỏ nhất đến giá trò lớn nhất của T.


-

Tương tự phương pháp Level Set : không thay đổi tính chất trong trường
hợp nhiều chiều, có thể thu được nghiệm xấp xỉ bằng cách “rời rạc
hóa” và giải nghiệm yếu cho phương trình Eikonal.

Nghiệm xấp xỉ của phương trình Eikonal
Ta xét bài toán hai chiều giới hạn trong ô [0, 1] x [0, 1] và tưởng tượng
đường cong ban đầu nằm trên trục y = 0, và vận tốc F làm đối tượng chuyển động
trên trục x. Sử dụng phương pháp xấp xỉ gradient, ta tìm một nghiệm trong ô đơn
vò của phương trình [9].

[max(D

−x
ij

]

T ,0) 2 + min( Dij+ x T ,0) 2 + max( Dij− y T ,0) 2 + min( Dij+ y T ,0) 2 = 1

hoặc có thể viết gọn hơn:

[max(max(D

−x
ij

)


2

(

T ,0),− min( Dij+ x T ,0) + max max( Dij− y T ,0),− min( Dij+ y T ,0

F2

) ]= 1F
2

2

(1.3

.2)

(1)

⎛ ∂u
phương trình Eikonal: ∑ ⎜⎜
i =1 ⎝ ∂x i
n

GVHD: ThS Phạm Thế Bảo

2


⎟⎟ = 1


SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Trang 13

Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

với Dij− x T =

Tij − Ti −1, j
xi − xi −1

; Dij+ x T =

Ti +1, j − Ti , j
xi +1 − xi

; Dij− y T =

Tij − Ti , j −1
y j − y j −1

; Dij+ y T =

Ti , j +1 − Tij
y j +1 − y j

Thuật toán Fast Marching Level Set (FMLS)
Điểm mấu chốt để xây dựng thuật toán FMLS là ta sẽ đưa bài toán lan

truyền về một chiều theo T, tăng dần từ giá trò thấp nhất đến giá trò cao nhất. Ý
tưởng chính ở đây là ta sẽ đánh dấu tất cả các điểm trong lưới tương tự phương
pháp Narrow Band. Ở mỗi bước, ta tìm một vò trí trong các lân cận của đường cong
tại bước đó, có giá trò thời điểm đường cong đi qua T(x,y) là nhỏ nhất để ghép vào
đường cong mới. Hay nói cách khác, ta sẽ chọn nơi mà đường cong đến sớm nhất
để tạo thành đường cong mới. Vì lý do này thuật toán Fast Marching còn có một
tên gọi khác là “Dijkstra like Marching” (tựa Dijkstra6).
Thuật toán Fast Marching được mô tả như sau:
1. Khởi tạo
(a) Đánh dấu nhãn alive và đặt thời gian tiếp cận Tij = 0 cho tất cả
các điểm thuộc về đối tượng, và đưa vào tập hợp A.
(b) Đánh dấu nhãn trial và đặt thời gian tiếp cận Tij = 1

Fij

cho tất

cả các điểm lân cận A, và đưa vào tập hợp Narrow Band.
(c) Đánh dấu nhãn far away và đặt thời gian tiếp cận Tij = ∞ cho
tất cả các điểm còn lại và đưa vào tập hợp Far Away.
2. Lan truyền
(a) Bắt đầu bước lặp: Đặt minTrial = (imin, jmin) là điểm trong
Narrow Band có thời gian tiếp cận nhỏ nhất, nếu không tồn tại
thì kết thúc thuật toán.
(b) Thêm điểm (imin, jmin) vào A, và xóa nó trong Narrow Band
(c) Kiểm tra 4 lân cận của minTrial: (imin – 1, jmin), (imin, jmin – 1),
(imin + 1, jmin), (imin , jmin + 1) thuộc tập hợp Far Away hay

6


Dijkstra: là thuật toán tìm đường đi ngắn nhất từ một đỉnh đến các đỉnh khác trong đồ thò có trọng
số không âm.
GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Trang 14

Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Narrow Band. Nếu lân cận thuộc Far Away, xóa nó trong Far
Away và thêm vào Narrow Band.
(d) Cập nhật lại thời gian tiếp cận Tij cho các lân cận của minTrial
từ phương trình (2.6) với nghiệm lớn nhất.
(e) Quay lại bước lặp.

a)

b)

c)

d)

e)

f)

Hình 7: Minh họa thuật toán Fast Marching.


Ta xét ví dụ minh họa để hiểu rõ thuật toán Fast Marching.
Giả sử đường cong ban đầu là đường tròn điểm màu đen trong hình a).
Bước khởi tạo, điểm này được gán nhãn alive, và các lân cận A,B,C và D
xung quanh nó được gán nhãn trial.
Bước lặp, ta chọn điểm mang nhãn trial có giá trò thời điểm tiếp cận T(x,y)
nhỏ nhất, giả sử ta chọn được điểm A. Cập nhật điểm A vào đường cong (đánh dấu
alive), cập nhật các lân cận của nó vào Narrow Band và tiếp tục bước lặp (hình c).
Giả sử điểm trial có giá trò T nhỏ nhất trong 5 điểm trial là D. Ta đánh dấu D nhãn
alive, đường cong bây giờ được mở rộng thành 3 điểm, và Narrow Band cũng tăng
kích thước lên thành 6 điểm (hình d)… Và bước lặp được tiếp tục khi không còn
điểm trial nào nữa.

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 15

Đến đây ta sẽ nghó ngay đến câu hỏi : tại sao thuật toán trên hoạt động và
đem lại kết quả ? Và câu trả lời là: đường cong luôn luôn tiến ra tại vò trí nhỏ nhất
trong Narrow Band, những điểm khác trong Narrow Band và trong Far Away có
thời gian tiếp cận nhỏ hơn không gây ảnh hưởng gì đến điểm này. Bước cập nhật
thời gian tiếp cận cho các điểm lân cận sẽ tạo một thời gian mới luôn lớn hơn thời
gian tiếp cận của các điểm alive, bởi vì ta đã chọn thời gian cập nhật là nghiệm
lớn của phương trình Eikonal. Do đó ta có thể lan truyền đường cong rộng dần ra,
chọn điểm trial có thời gian tiếp cận nhỏ nhất và điều chỉnh lại lân cận của nó, cứ

tiếp tục như vậy mà không cần phải quay lại các điểm đã xét trước.
Phương pháp Fast Marching cũng tương tự nguyên lý Huygens trong vật lý,
mỗi điểm alive và điểm minTrial xem như một nguồn sóng và sóng sẽ lan truyền
sang các điểm lân cận và các điểm này trở thành nguồn sóng mới.

Chi tiết các bước trong thuật toán FMLS
Xác đònh minTrial
Ở bước 2a) của thuật toán ta cần phải xác đònh vò trí có thời gian
tiếp cận nhỏ nhất trong Narrow Band. Để tăng hiệu quả hơn cho việc tìm
kiếm, ta tổ chức Narrow Band theo cấu trúc Heap(1)gồm 3 chức năng: thêm,
xóa phần tử nhỏ nhất, và cập nhật giá trò. Chức năng xóa phần tử được thực
hiện trong thời gian tính toán hằng O(1), còn thêm và cập nhật được thực
hiện với độ phức tạp O(logN) với N là số phần tử trong Heap. Như vậy bước
xác đònh giá trò nhỏ nhất trong Narrow Band từ độ phức tạp tìm kiếm thông
thường O(N), ta đã giảm xuống còn O(logN).

Cập nhật thời gian tiếp cận
Ở đây, chúng ta chứng tỏ rằng thuật toán FMLS đưa ra một kết quả
mà tất cả các điểm đều thỏa phương trình Eikonal rời rạc:

(1)

Heap: (còn gọi Priority Queue) là một hằng đợi có giá trò của phần tử i luôn nhỏ hơn tại giá trò
của phần tử 2*i và 2*i+1, và do đó phần tử 0 là phần tử có giá trò nhỏ nhất trong hằng đợi.
GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Trang 16


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

[max(max(D

−x
ij

)

(

T ,0 ,− min Dij+ x T ,0

))

2

(

(

)

(

+ max max Dij− y T ,0 ,− min Dij+ y T ,0

)) ] = f
2


2
ij

với f ij2 = 1 / Fij2
Do tính chất lan truyền theo chiều tăng dần của thời điểm đường
cong tiếp cận T(x, y), chúng ta chỉ cần chỉ ra rằng bất một vò trí trial nào
được chuyển thành alive thì sẽ không có điểm nào trong các lân cận của nó
có thời gian tiếp cận được tính lại nhỏ hơn bất kỳ thời gian tiếp cận nào của
các điểm alive. Chúng ta sẽ kiểm đònh kết quả này trong không gian hai
chiều, không gian ba chiều được chứng minh tương tự.

B
A

?

C

D

Hình 8: Cập nhật thời gian tiếp cận

Xét lưới điểm trên. Chúng ta cần ước tính giá trò mới T tại điểm tâm
của lưới để thay thế vào giá trò ?, dựa vào giá trò của các điểm lân cận.
Không mất tính tổng quát, ta giả sử rằng giá trò A tại điểm trái của lưới là
nhỏ nhất trong tất cả các giá trò trial, và cần chỉ ra rằng khi ta tính lại giá trò
của điểm tâm của lưới(Trecomputed-from-A), thì nó không thể nhỏ hơn A. Có tất
cả bốn trường hợp
(1) không có vò trí nào trong các lân cận B,C hoặc D là alive

(2) một trong các lân cận này là alive
(3) hai trong các lân cận này là alive
(4) tất cả các lân cận naỳ là alive.

(1) A, B, C, và D là trial, A nhỏ nhất

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Trang 17

Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trong trường hợp này, tất cả các lân cận quanh tâm đều hoặc là
trial hoặc là far away. Khi A là giá trò nhỏ nhất, chúng ta chuyển giá trò đó
thành alive và tính lại giá trò tâm. Ta chứng minh
A ≤ Trecomputed-from-A ≤ A+f.
1. Trường hợp A+f ≤ min(B, D). ⇒ Trecomputed-from-A = (A+f) (thỏa)
2. Trường hợp A+f > min(B, D) = B. (không mất tính tổng quát, giả sử
B ≤ D. Phương trình trở thành :
(Trecomputed-from-A – A)2 + ( Trecomputed-from-A – B)2=f2

Δ = 2 f 2 − (TB − T A ) 2 > 0 do f > B − A
Chọn nghiệm lớn:

Trecoputed − from − A =

T A + TB + 2 f 2 − (TB − T A ) 2


>

2
T A + TB + 2(TB − T A ) 2 − (TB − T A ) 2
2

> TB

Như vậy, ta đã chứng minh được rằng A ≤ Trecomputed-from-A ≤ A+f.

(2) B là “alive”, A, C và D là “trial”, A là giá trò trial nhỏ nhất
Trong trường hợp này, A vừa được cập nhật bởi vì nó là giá trò trial
nhỏ nhất. Chúng ta sẽ chứng minh rằng khi chúng ta tính lại Trecomputed-from-A
, giá trò mới của nó vẫn phải lớn hơn A. Trong vài bước trước, khi B được
chuyển từ trial sang alive, các giá trò A, C, D đều là trial, do đó phải lớn
hơn. Điều này có nghóa là khi B được chuyển từ trial sang alive thì B ≤
Trecomputed-from-B ≤ B+f (theo trường hợp (1)), hơn nữa khi giá trò tâm không
được chọn là giá trò trial nhỏ nhất, chúng ta phải có A ≤ B+f. Từ trên, ta có
thể có được
B ≤ A ≤ Trecomputed-from-A ≤ B + f

(3) C là “alive”, A, C và D là “trial”. A là giá trò trial nhỏ nhất.
Trong trường hợp này, do ta đang xét bài toán theo chiều tăng từ trái
sang nên A không gây ảnh hưởng đến điểm giữa.
GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái



Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 18

Vậy ta đã chứng minh xong, khi cập nhật một giá trò T mới thì nó sẽ
không nhỏ hơn tất cả các giá trò alive và điểm minTrial, điều này đảm bảo
sự lan truyền sẽ tăng dần theo chiều T(x,y), thời gian đường cong tiếp cận
đến điểm (x,y).

Thuật toán Multi - Class Fast Marching
Bây giờ ta xét đến một biến thể của thuật toán Fast Marching, thuật toán
Multi-Class Fast Marching [4, 5, 6, 10] được Sifakis và Tziritas đưa ra năm 2001,
nhằm thực hiện phương pháp lan truyền Fast Marching trên nhiều đường cong
cùng lúc. Ý tưởng cải tiến ở đây là mỗi điểm thay vì nếu được gán nhãn trial thì
nó mang theo một danh sách các đường cong mà nó tiếp cận đến, gọi là TrialList,
và thời gian tiếp cận bây giờ là thời gian tiếp cận của đường cong đến nó sớm
nhất.

Thuật toán được mô tả như sau:

Khởi tạo thời gian tiếp cận T(x, y)
Khởi tạo danh sách các nhãn Trial List (x, y, ci) ∈ {alive, trial, far away}

Trong khi (Narrow Band chưa rỗng) {
Chọn (imin, jmin) là điểm có giá trò Tmin trong Narrow Band
Đánh dấu nhãn (imin, jmin) là alive cho đường cong đến nó sớm nhất.
Thêm các lân cận của (imin, jmin) vào Narrow Band
Cập nhật thời gian tiếp cận cho các lân cận (imin, jmin)
}


Phạm
Thế
Bảo
GVHD: ThS Phạm Thế Bảo

Digitally signed by Phạm Thế
Bảo
DN: cn=Phạm Thế Bảo, c=VN,
o=Khoa Tóan - Tin học trường
Đại học khoa học Tp.HCM,
Vietnam, ou=NCLAB,
email=
edu.vn
Reason: I am the author of this
document
Date: 2006.08.20 10:11:18
+07'00'

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 19

Một minh họa cho thuật toán Multi-Class Fast Marching. Từ các đường cong ban
đầu, chuyển động với vận tốc hằng F = 1, thuật toán chạy ở các bùc 5%, 10%,
30%, 60% và 100%. Kết quả thu được là lược đồ Voronoi.

Hình 9: Thuật toán Multi-Class Fast Marching


GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 20

PHÁT HIỆN SỰ THAY ĐỔI CỦA đối TượNG TRONG DÃY ẢNH LIÊN TIẾP
“Phát hiện và đònh vò đối tượng thay đổi trong dãy ảnh liên tiếp” là một
trong những vấn đề chủ yếu trong phân tích chuyển động video, cũng như những
ứng dụng theo dõi đối tượng di chuyển, ước lượng chuyển động hỗ trợ các hệ
thống an ninh, quốc phòng. Vấn đề này cũng được sử dụng nhiều trong việc nén
video, nhất là theo chuẩn MPEG, hoặc trong các kỹ thuật “blue-screening”.
Trong trường hợp ảnh được chụp từ một camera tónh, thì cơ sở chung để
phát hiện chuyển động là phân tích sự thay đổi màu sắc giữa hai frame ảnh liên
tiếp và từ đó sẽ đưa ra kết luận về đối tượng đang thay đổi giữa hai frame ảnh
này. Phương pháp đơn giản nhất là kỹ thuật trừ ảnh (hay xor ảnh). Nếu sự khác
biệt giữa hai frame ảnh lớn hơn một ngưỡng nào đó thì ta sẽ báo động có sự thay
đổi giữa chúng. Phương pháp này đặc biệt tối ưu về tốc độ nhưng cho kết quả
không tốt trong trường hợp ảnh bò nhiễu và không xác đònh được đối tượng chuyển
động một cách chính xác. Các kỹ thuật phức tạp hơn là sử dụng bộ lọc Kalman, sử
dụng mô hình Markov ẩn cũng có được kết quả khả quan nhưng tốc độ không được
cao lắm.
Trường hợp ảnh được chụp từ một camera di chuyển, vấn đề sẽ trở nên khó
hơn. Ta cần phải xét đến vector chuyển động cũng như hệ số phóng to thu nhỏ của
máy ảnh.
Trong phần này chúng em xin trình bày một trong những phương pháp phát

hiện đối tượng thay đổi dựa trên thuật toán Fast Marching Level Set và Region
Growing, giải quyết tương đối hiệu quả vấn đề trên trong trường hợp camera tónh.

Tóm tắt phương pháp sử dụng FM LS và SRG
Ban đầu từ các kiểm đònh thống kê và nguyên lý hợp lý cực đại ta sẽ đánh
dấu nhãn những pixel chắc chắn thuộc về đối tượng (đánh dấu nhãn động), và
những pixel chắc chắn thuộc về nền (đánh dấu nhãn tónh). Bước tiếp theo, thuật

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 21

toán Fast Marching Level Set được sử dụng để lan truyền hai tập hợp pixel đã đánh
dấu nhãn ở trên sang những pixel chưa được gán nhãn, và hình thành đối tượng đã
thay đổi giữa hai ảnh. Do bước này chỉ quan trọng hóa về mặt tốc độ thuật toán và
chỉ sử dụng độ chênh lệch cường độ xám nên kết quả sẽ không vừa vặn hoàn toàn
đối tượng. Kết quả chính xác sẽ có được ở bước kế tiếp. Từ đường biên của đối
tượng có từ bước trên, ta sử dụng thuật toán Fast Marching hai lần đề tiến nó theo
hai hướng đối nghòch: vào trong và ra ngoài, tạo thành hai đường cong nằm hẳn
bên trong và bên ngoài đối tượng. Cuối cùng, áp dụng thuật toán tăng vùng (SRG)
với vùng được tạo từ hai đường cong trên, ta sẽ được kết quả như ý.

Phát hiện đối tượng chuyển động
Thiết lập mô hình thống kê
Đặt d(x,y) = I(x,y,t+1) – I(x,y,t) biểu diễn độ chênh lệch cường độ xám tại

pixel (x,y), với I(x,y,t) và I(x,y,t+1) lần lượt là cường độ xám của pixel (x,y) trong
frame tại hai thời điểm t và t+1.
Đặt D = {d(x,y), (x,y) ∈ [0, chiều dài ảnh] x [0, chiều rộng ảnh]}.
Mỗi pixel được đánh dấu bởi một trong hai nhãn: động (mobile) hoặc tónh
(static). Với Θ(x,y) là nhãn của pixel (x,y), theo quy ước thống kê ta viết:
H0 : Θ(x,y) = static
H1 : Θ(x,y) = mobile
Đặt pD|static(d|static) và pD|mobile(d|mobile) lần lượt là hàm mật độ xác suất
của độ chênh lệch cường độ xám dưới hai giả thuyết H0 và H1. Các hàm mật độ
xác suất này độc lập với vò trí của pixel, và luôn tuân theo luật phân phối Laplace
hoặc Gauss.

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Trang 22

Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Ta sử dụng hàm phân phối Laplace(1) với kỳ vọng bằng 0 để mô tả sự tương quan
thống kê của các pixel đối với hai giả thuyết trên. Để đơn giản ta sử dụng ký hiệu
0 và 1 cho nhãn tónh và động.
Do vậy, hàm mật độ xác suất của độ chênh lệch cường độ xám dưới hai giả
thiết H0, H1 :
λ − λ d ( x, y )
p ( d ( x, y ) | Θ( x, y ) = l ) = l e l
2


với l∈ {0,1}

(2.2.1a)

và hàm mật độ xác suất tổng hợp của độ chênh lệch cường độ xám :
p D ( d ) = Pstatic ⋅ p D|static ( d | stactic ) + Pmobile ⋅ p D|mobile ( d | mobile )

(2.2.1b)

Trong hai hàm phân phối trên, {Pl , λl ; l∈{static, mobile}} là các tham số chưa
biết. Ta sẽ sử dụng nguyên lý hợp lý cực đại và giải thuật kết nhóm Bayes để ước
lượng chúng (phụ lục).

Gán nhãn khởi tạo ban đầu
Các nhãn khởi tạo ban đầu có được từ các kiểm đònh thống kê với độ tin
cậy cao nhất. Kiểm đònh đầu tiên sẽ xác đònh các pixel động và sau đó các kiểm
đònh tiếp theo sẽ xác đònh các pixel tĩnh. Thuật toán Fast Marching sẽ lan truyền
tiếp tục với các nhãn đã đánh dấu trước. Nên để hạn chế sai số cho sự lan truyền
này, các nhãn động được kiểm đònh trên từng pixel và các nhãn tónh được kiểm
đònh trên các khối pixel. Điều này giúp các pixel động và tónh không thể gần nhau,
tạo điều kiện tốt cho việc lan truyền sau này.

Đánh dấu nhãn động
Kiểm đònh đầu tiên xác đònh các nhãn động với độ tin cậy cao nhất.
Xác suất báo động lỗi được đặt rất nhỏ, gọi là PFA (trong phần cài đặt, PF
(1)

Luật phân phối Laplace: là phân phối của đại lượng ngẫu nhiên X có hàm mật độ phân phối:

f ( x, λ , θ ) =


λ

2

e

− λ x −θ

với λ > 0, θ là tham số cho trước

Các đặc trưng số: Kỳ vọng EX = θ, Phương sai DX =

GVHD: ThS Phạm Thế Bảo

1

λ2

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Trang 23

Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

được chọn bằng 1E-7). Do sử dụng phân phối Laplace, nên ngưỡng chênh
lệch mức xám cho nhãn động có được chọn như sau:
T1 =


1
1
ln
λ 0 PF

(2.2.2.1)

⇒ Tập mẫu các nhãn động: Mobile = {( x, y ) : d ( x, y ) > T1 }

Đánh dấu nhãn tónh
Các kiểm đònh tiếp theo được sử dụng với mục đích tìm ra các vò trí
tónh với độ tin cậy cao nhất. Xét một dãy 6 ô kích thước (2w+1)2, w =
2,...,7, và các ngưỡng tương ứng cho nhãn tónh được thiết lập theo λ1.
Đặt Bw là tập hợp các pixel được đánh dấu nhãn tónh khi kiểm đònh
các ô có chỉ số w.
w
w

γ ⎫
B w = ⎨( x, y ) : ∑ ∑ d ( x + k , y + l ) < l ⎬, w = 2,...7.
λ1 ⎭
k = − wl = − w


(2.2.2.2)

Với γw là các giá trò thu được từ thực nghiệm.
w

2


3

4

5

γw

0.4

1.6

3.5

7.0

⇒Tập mẫu các pixel tónh : Static =

6

7

12.0 20.0

6

ΥB

w


w= 2

Ví dụ: Kết quả của quá trình đánh dấu nhãn cho hai frame ảnh liên tiếp.
Trong hai bức ảnh này màu xanh biểu thò các điểm đánh dấu tĩnh, màu
vàng biểu thò các điểm đánh dấu động và màu xám là các điểm chưa xác
đònh được nhãn.

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 24

Hình 10: Đánh dấu các mẫu ban đầu

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


Tiểu luận: Phát hiện và đònh vò sự thay đổi của đối tượng trong dãy ảnh liên tiếp

Trang 25

Lan truyền nhãn
Thuật toán Fast Marching Level Set đđược áp dụng với hai tập pixel mẫu:

động và tĩnh tìm được ở phần trên. Đường biên của mỗi tập pixel sẽ được mở rộng
với một vận tốc riêng tùy thuộc mỗi loại nhãn và độ chênh lệch cường độ xám. Vận
tốc lan truyền đđược thiết lập dựa trên nguyên lý xác suất Bayes
Với vị trí s có nhãn l và độ chênh lệch cường độ xám d, vận tốc lan truyền sẽ
là:
vl(s) = Pr{l(s), d(s)}
Có thể viết lại như sau:

vl ( s ) =

p (d ( s ) | l ( s )) Pr{l(s)}
=
∑ p(d (s) | k (s)) Pr{k(s)}
k

1+ ∑
k ≠l

1
p (d ( s ) | k ( s )) Pr{k(s)}
p (d ( s ) | l ( s ) Pr{l(s)}

(2.2.3)
Vì thế tốc độ lan truyền dựa trên các tỉ lệ hợp lý (likelihood) và các xác suất
tiên nghiệm (priori). Tỉ lệ hợp lý có thể được đánh giá dựa vào tính chất dữ liệu,
còn xác suất tiên nghiệm có thể ước lượng trên toàn ảnh hoặc đđơn giản hơn cho tất
cả bằng nhau (P0 = P1 = ½).
Trong trường hợp quyết đònh lựa chọn giữa nhãn động và nhãn tĩnh theo
phân phối Laplace, tỉ lệ hợp lý là hàm exp của độ chênh lệch cường độ xám d(x,y).
Trong cách tổ chức theo pixel, xử lí các quyết đònh này rất phức tạp. Hơn nữa, vật

thể chuyển động không theo khuôn mẫu nào cả, các thành phần khác nhau của nó
di chuyển cũng khác nhau. Trong các vùng có cùng cường độ xám, sự khác nhau
của frame ảnh rất nhỏ khi đối tượng chuyển động. Vì vậy, tập hợp đối tượng động
của frame trước nên được sử dụng trong việc xác định xác suất tiên nghiệm trong
quá trình lan truyền.
Theo phương trình (2.2.1a) và (2.2.1b) hai tốc độ lan truyền có thể đđược
viết lại như sau

GVHD: ThS Phạm Thế Bảo

SVTH: Huỳnh Lê Tấn Tài, Hồ Quang Thái


×