Sau khi đó phỏt hiện đƣợc sự sai khỏc giữa khung hỡnh nền và khung hỡnh hiện tại, tức là đó cú xuất hiện đối tƣợng trong vựng camera quan sỏt đƣợc. Hệ thống cần thực hiện cỏc thủ tục sau để cú thể phỏt hiện chớnh xỏc cú đối tƣợng xuất hiện hay khụng?
- Sử dụng bộ lọc thụng cao để loại bỏ cỏc vựng điểm rời rạc do nhiễu và tỏch cỏc đối tƣợng dớnh nhau do búng.
- Cú thể sử dụng phƣơng đơn giản là dựng cỏc hỡnh chiếu dọc và ngang để định vị đƣợc vị trớ của đối tƣợng. Phƣơng phỏp này cho kết quả nhanh tuy
(a) (b)
(c)
Hỡnh 4.1:
nhiờn khi cú nhiều đối tƣợng thỡ khụng hiệu quả, đặc biệt khi hỡnh chiếu của cỏc đối tƣợng giao nhau.
- Sau khi đó cú đƣợc ảnh nền, ta cú thể xỏc định điểm thuộc đối tƣợng chuyển động bằng cỏch so sỏnh sự chờnh lệch màu sắc giữa điểm đú và điểm cựng vị trớ trờn ảnh nền. Kết hợp với một số kỹ thuật heuristic nhƣ: loại bỏ những vựng cú mật độ điểm chuyển động thƣa thớt, tỏch cỏc đối tƣợng bị dớnh nhau do búng, điều chỉnh khung detect cho sỏt với kớch thƣớc thực của đối tƣợng, cựng với thuật toỏn “vết dầu loang” để tỡm cỏc vựng liờn thụng, cuối cựng cú đƣợc danh sỏch cỏc đối tƣợng .
Thuật toỏn vết dầu loang
void loang(int i,int j,int a[100][100],int n) int dem,dong,cot; int ld[4]; int lc[4]; ld[0]=1;ld[1]=0;ld[2]=-1;ld[3]=0; lc[0]=0;lc[1]=1;lc[2]=0;lc[3]=-1; a[i][j]=2; for (dem=0;dem<4;dem++) { Dong=i+ld[dem]; cot=j+lc[dem]; if (dong>=0&&cot>=0&&dong if (a[dong][cot]==1) loang(dong,cot,a,n);}
í tƣởng cơ bản của thuật toỏn là xuất phỏt từ một điểm, kiểm tra điểm lõn cận cú liờn thụng hay khụng. Nếu cú thỡ điểm lõn cận đú đƣợc coi là điểm xuất phỏt. Thuật toỏn đƣợc viết theo dạng đệ qui giỳp ngƣời đọc dễ dàng nắm đƣợc ý tƣởng chớnh của thuật toỏn.
Chỳ ý với một điểm trờn ảnh, chỳng ta cú thể xột 4 hoặc 8 điểm lõn cận.
Thuật toỏn phỏt hiện đối tượng
B1: Khởi tạo danh sỏch cỏc đối tƣợng ObjectList = Detect(Ic) B2: Tớnh ma trận “điểm chuyển động”
- CPM(x) = 1 nếu mật độ điểm chuyển động lõn cận x trờn MPM > Ngƣỡng liờn thụng
- Ngƣợc lại CPM(x) = 0 B4:Tỡm danh sỏch cỏc vựng liờn thụng
CPLits = VetDauLoang(CPM)
Nếu kớch thƣớc CPList(i) với i = 1,... số vựng liờn thụng” > Ngƣỡng kớch thƣớc và mật độ điểm chuyển động trong CPList(i) > Ngƣỡng mật độ thỡ ghi nhận CPList(i) là một đối tƣợng đƣợc phỏt hiện:
Đƣa CPList(i) vào ObjectList