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
Trang 1KHOA 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
Trang 2lờ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
Trang 3MỤ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
Trang 4Cá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
Trang 5Nhóm thực hiện
Trang 6LEVEL 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 Fast Marching Methods: phương pháp lan truyền nhanh (tạm dịch)
2 Level Set Methods: phương pháp tiếp cận dựa trên đường mức (tạm dịch)
Trang 7Hì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
t
Trang 8Hì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ó:
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
Trang 9Hì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 và độ cong của mỗi
tập đồng mức là
φ
φκ
∇
∇
∇
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]
0,min0
,maxmin
0,
x ij
x ij
Trang 10Kỹ 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 N 3 điểm trên lưới giảm từ O(N3) xuống còn O(kN 2 ), 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 alive 3 , land mines 4 hoặc far away 5 , 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
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
4 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
alive land mines far away
Trang 11Phươ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
),(0)
,
F
F = > ∀ (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 :
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
=
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
Trang 12Phươ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( ,0)2 min( ,0)2 max( ,0)2 min( ,0)2] 1 2
F T
D T
D T
D T
ij
y ij
x ij
x
ij− + + + − + + =hoặc có thể viết gọn hơn:
),0,max(
ij
y ij
x ij
1
Trang 13với
j j
ij j y
ij j j
j ij y ij i i
j j i x ij i i
j i ij
x
T T T D y y
T T T D x x
T T T D x x
T T
−
−
− +
+ +
1 , 1
, , 1 1
, 1
;
;
;
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 T ij =
ij
F
1 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
Trang 14Narrow 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
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
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
Trang 16x ij
x
ij T D T D T D T f
với f ij2 =1/F ij2
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ự
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(T recomputed-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
B
CD
Trang 17Trong 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 ≤ T recomputed-from-A ≤ A+f
1 Trường hợp A+f ≤ min(B, D) ⇒ T recomputed-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 :
(T recomputed-from-A – A) 2 + ( T recomputed-from-A – B) 2 =f 2
A B f do T
A B B
A A from recoputed
T T f T
B A
B B
+
>
2
)(
)(
Như vậy, ta đã chứng minh được rằng A ≤ T recomputed-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 T recomputed-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 ≤
T recomputed-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 ≤ T recomputed-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
Trang 18Vậ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)
Đạ i h ọ c khoa h ọ c Tp.HCM, Vietnam, ou=NCLAB, email=ptbao@mathdep.hcmuns.
edu.vn Reason: I am the author of this document
Date: 2006.08.20 10:11:18 +07'00'
Trang 19Mộ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 buớ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
Trang 20PHÁ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
Trang 21toá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
Trang 22Ta 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 :
),(2
)),(
|),
|()
p D = static⋅ D static + mobile⋅ D mobile (2.2.1b)
Trong hai hàm phân phối trên, {P l , λ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à P FA (trong phần cài đặt, P F
(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:
θ λλθ
λ = e− x−
x
f
2),
,
( với λ > 0, θ là tham số cho trước
Các đặc trưng số: Kỳ vọng EX = θ, Phương sai DX = 12
λ