LỜI CAM ĐOAN . 3
LỜI CẢM ƠN . 4
MỤC LỤC . 5
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT. 8
DANH MỤC CÁC BẢNG . 9
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ. 10
MỞ ĐẦU . 12
CHƯƠNG 1: TỔNG QUAN VỀ CHUYỂN TIẾP VÀ PHÁT HIỆN BẤT
THƯỜNG TRONG CÁC HỆ THỐNG CAMERA GIÁM SÁT
. 20
1.1. Hệ thống camera giám sát tự động . 20
1.1.1. Giới thiệu . 20
1.1.2. Các vấn đề cơ bản trong hệ thống camera giám sát tự động. 23
1.2. Chuyển tiếp camera và phát hiện bất thường. 27
1.2.1. Theo vết đối tượng với với nhiều camera. 27
1.2.2. Bài toán chuyển tiếp camera. 34
1.2.3. Phát hiện bất thường trong giám sát video . 36
1.3. Kết luận và vấn đề nghiên cứu. 41
CHƯƠNG 2: MỘT SỐ KỸ THUẬT XỬ LÝ VÙNG QUAN SÁT TRONG
CHUYỂN TIẾP CAMERA . 43
2.1. Giới thiệu . 43
126 trang |
Chia sẻ: mimhthuy20 | Lượt xem: 629 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận án Kỹ thuật xử lý vùng quan sát và phát hiện bất thường của các đối tượng trong hệ thống camera giám sát, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
đường nối hai điểm giao cắt là đường chia cắt mà mỗi đa
giác sau khi chia có số cạnh nhỏ nhất (Hình 2.4).
Chứng minh:
Gọi hai điểm giao cắt của hai đa giác A, B là Ls, Le. Việc phân chia hai
đa giác A, B sẽ cho ta hai đa giác mới tương ứng là phần riêng của các đa giác
và một phần trong phần chung của hai đa giác.
Đoạn nối giữa Ls và Le chia phần chung giữa A và B thành hai phần. Khi
đó, với mỗi đa giác kết quả sau khi chia, rõ ràng đường đi từ Ls đến Le là ít
cạnh nhất khi nó là đoạn nối trực tiếp từ Ls đến Le. Do đó, tương ứng với nó,
đa giác kết quả sau khi chia sẽ có số cạnh ít nhất.
50
(a) (b)
Hình 2.4. Chia cắt phần giao giữa hai đa giác
2.2.3.2. Phân vùng quan sát của hệ thống giám sát gồm nhiều camera
Với khu vực giám sát đã triển khai có n camera tĩnh, cùng với thông tin
về vùng quan sát của mỗi camera, các đa giác quan sát của các camera chồng
chéo lên nhau và thuộc loại giao cắt đơn. Thực hiện phân vùng giám sát của
hệ thống thành tập các đa giác quan sát của từng camera, tập các đa giác này
không giao nhau.
Ý tưởng
Tiến hành đánh số các camera theo thứ tự liên tiếp khi duyệt theo đường
biên của khu vực giám sát. Xuất phát từ đa giác quan sát của camera thứ nhất,
bổ sung dần vùng quan sát của camera tiếp theo, xét sự giao nhau của đa giác
này với các đa giác đã xét trước đó.
Như vậy, tại lượt thứ i, xét sự giao nhau của đa giác quan sát của camera
i với i-1 camera trước đó: (1, i); (2, i);...; (i -1; i). Thực hiện phân vùng quan
sát của từng cặp camera (1, i); (2, i);...; (i-1; i) theo nội dung đã trình bày ở
phần trên.
Trước hết ta xây dựng hàm thực hiện việc phân vùng giao nhau của hai
đa giác.
Hàm partitionTwoPolygon: Phân vùng hai đa giác giao nhau sao cho số
cạnh của mỗi đa giác sau khi chia là nhỏ nhất.
51
Hàm: partitionTwoPolygon (A, B: polygon)
Vào: A=(A[1], A[2], ..., A[n]); B=(B[1], B[2], ..., B[m]); trong
đó A[i], B[j] là các đỉnh.
Ra: hai đa giác X và Y, thỏa mãn: 𝐴 ∪ 𝐵 = 𝑋 ∪ 𝑌
trong đó 𝐴 ∪ 𝑋 ∩ 𝑌 = ∅; 𝑋 ⊆ 𝐴; 𝑌 ⊆ 𝐵;
Phương pháp: Tìm hiệu P(P[1], P[2], ..., P[t]) = A\B.
Tìm hai giao điểm P[h], P[k] (h< k< t) của mỗi cặp cạnh
trong phần giao của A và B.
For i = 1 to h
𝑋 = 𝑋 ∪ 𝑃[𝑖];
For i = k to t
𝑋 = 𝑋 ∪ 𝑃[𝑖];
Y = B – X;
A = X; B = Y
Thuật toán PartitionFOV
Vào: Vùng quan sát hệ thống 𝑃 = {𝑃[1], 𝑃[2], . . , 𝑃[𝑛]} (với n
nguyên dương)
𝑃[𝑖] = {𝑉1, 𝑉2, . . 𝑉𝑡}, với Vk (xk,yk) là đỉnh của đa giác có
tọa độ (xk, yk), các đỉnh được sắp theo thứ tự kim đồng hồ.
Ra: Q=(Q[1], Q[2], ..., Q[n]) thỏa mãn: 𝑃 = ⋃ 𝑄[𝑖]𝑛𝑖=1 ;
trong đó:
Q[i] ∩ Q[j] = ∅ (∀𝑖, 𝑗 ∈ 1. . 𝑛) và Q[i] ∈ P[i](∀𝑖 ∈ 1. . 𝑛).
Phương pháp: Nhập thông tin vùng quan sát của n camera: P[i] (i=1..n)
52
Q[] = {0};
Q[1]=P[1]; i=1; j=1;
While (i n){
i=i+1;
T=P[i];
k=1;
While (k<=j){
if(Q[k] giao với T)
partitionTwoPolygon(Q[k],T);
k=k+1;}
j=j+1; Q[j]=T;}
Độ phức tạp tính toán:
Có thể thấy rằng, với một vùng giám sát có n camera, tại lượt thứ i ta cần
thực hiện (i – 1) hàm phân vùng partitionTwoPolygon. Tổng quát, số lần thực
hiện:
2
)1(...21
2n
n
Do vậy, độ phức tạp của thuật toán PartitionFOV là O(n2).
2.2.4. Thực nghiệm
Luận án đã tiến hành cài đặt thử nghiệm thuật toán đề xuất trên trong môi
trường Matlab R2010a. Mục đích của thực nghiệm là nhằm đưa ra một cách
chia vùng quan sát của hệ thống camera đã triển khai thành các vùng con
không giao cắt, mỗi vùng con này sẽ được giao cho một camera quản lý.
Hình 2.5 minh họa kết quả thực hiện thuật toán với hệ thống được giám
sát bởi 4 camera (Hình 2.5.a), vùng quan sát của hệ thống camera đã được chia
53
thành các vùng con không giao nhau (Hình 2.5.b), mỗi vùng con này được
giao cho một camera quản lý. Việc chuyển đổi giữa các camera khi đối tượng
di chuyển từ camera này tới camera khác giờ đây chỉ cần xét khi đối tượng đi
qua đường ranh giới giữa chúng.
(a) Trước khi phân vùng (b) Sau khi phân vùng
Hình 2.5. Phân chia vùng quan sát của hệ thống camera giám sát
Năm 2006, Erdem và Sclaroff [28] đã đưa ra một phương pháp cho phép
xác định vị trí các camera cho một sơ đồ mặt bằng giám sát đảm bảo được
vùng yêu cầu bao phủ cùng với mức độ chồng chéo vùng quan sát và giải quyết
việc chuyển tiếp giữa các camera. Năm 2010, Yi Yao [113] đã thực nghiệm
triển khai thuật toán của Erdem [28] trên sơ đồ mặt bằng giám sát như hình
2.6.a.
Thực nghiệm được thực hiện với đầu vào là các vùng quan sát của hệ
thống camera được Yi Yao [113] triển khai theo thuật toán của Erdem [28]
(Hình 2.6.b). Kết quả thực nghiệm (Hình 2.6.d) được đánh giá thông qua việc
so sánh số lần tính toán va chạm với đường biên khi đối tượng di chuyển vào
các vùng giao nhau của các đa giác quan sát.
54
a) Sơ đồ mặt bằng giám sát b) Sơ đồ bố trí của Yi Yao [113]
c) Các vùng chồng lấn và số cạnh
của đa giác theo sơ đồ bố trí của
Yi Yao
d) Kết quả thực hiện theo thuật
toán đề xuất
Hình 2.6. Phân vùng giám sát cho các camera của hệ thống giám sát
Trong phương án triển khai của Yi Yao [113], số vùng chồng lấn giữa
hai camera là 5 với tổng số cạnh của các đa giác chồng lấn là 28, số vùng
chồng lấn giữa ba camera là 2 với tổng số cạnh là 7.
Có thể thấy rằng trong các trường hợp trên, khi một đối tượng di chuyển
trong các khu vực chồng lấn giữa hai camera trong trường hợp nhiều nhất phải
xét sự va chạm của đối tượng tới 8 cạnh của đường biên, hoặc là tối thiểu là 3
đường biên. Trong khi đó với phương án đề xuất thì phần giao nhau đã được
phân chia cho từng camera và được giới hạn bởi các đường biên, trong trường
hợp này việc xét va chạm của đối tượng với đường biên luôn là một.
-15 -10 -5 0 5 10 15
-20
-18
-16
-14
-12
-10
-8
-6
-4
-2
0
C1
C2
C4
C3
C6
C5
55
Với kỹ thuật phân vùng như đã đề xuất thì độ bao phủ luôn được đảm
bảo cao nhất, đồng thời vùng quan sát được chia thành các đa giác không giao
nhau, việc giải quyết bài toán chuyển tiếp camera sẽ thuận lợi hơn rất nhiều
khi kết hợp với kỹ thuật đường ranh giới ảo được trình bày trong mục 2.3.
Kỹ thuật đề xuất đã được công bố trong Chuyên san của Tạp chí Công
nghệ thông tin và Truyền thông năm 2014.
2.3. Chuyển tiếp camera dựa vào đường ranh giới ảo
2.3.1. Đường ranh giới ảo
Đường ranh giới ảo (virtual line) thực chất là một đường thẳng được vẽ
lên trên mỗi khung hình trong quá trình thao tác với dữ liệu video. Bài toán
thông thường được đặt ra đối với đường ranh giới ảo là xác định khi nào đối
tượng vượt qua nó, mở rộng hơn là khi nào đối tượng đi vào một vùng hoặc đi
ra khỏi vùng được giới hạn bởi đường ranh giới ảo. LeFloch [65] đã sử dụng
đường ranh giới ảo vào việc đếm số người ra/vào trong một tòa nhà. Liu Anan
và cộng sự [3] đề xuất sử dụng nhóm các đường ranh giới ảo trong việc phát
hiện xe tải trong giao thông (Hình 2.7).
Hình 2.7. Đường ranh giới ảo
56
Trong quá trình giám sát đối tượng với hệ thống nhiều camera, thời điểm
chuyển giao camera là một yếu tố quan trọng để có thể theo dõi đối tượng
được liên tục. Chung-Hao Chen [16] dựa vào 3 tiêu chí nhằm xác định thời
điểm chuyển tiếp camera: Tình trạng bị che lấp của đối tượng theo dõi; khoảng
cách từ đối tượng đến cạnh của FOV camera giám sát; độ phân giải (kích
thước) đối tượng được giám sát. Li và Bhanu [70] dựa vào kích thước của đối
tượng theo dõi được đo bằng tỷ lệ số lượng điểm ảnh trong khối bao; Vị trí
của đối tượng trong vùng quan sát: được tính từ đối tượng đến tâm của mặt
phẳng ảnh và tỷ lệ số lượng điểm ảnh của khuôn mặt trên khối bao. Các tiếp
cận của họ đều dựa trên việc sử dụng các kỹ thuật xử lý ảnh thao tác với các
vùng ảnh của đối tượng chuyển động trong video.
Trong phần này, luận án đưa ra một cách tiếp cận khác, với ý tưởng tại
vùng giao nhau giữa các camera, thực hiện lập các đường ranh giới ảo nhằm
xác định khu vực giám sát của mỗi camera (Hình 2.8), từ đó thời điểm chuyển
giao camera được xác định khi đối tượng di chuyển va chạm với đường ranh
giới ảo.
Hình 2.8. Đường ranh giới ảo và khu vực giám sát của mỗi camera
Đường
ranh giới
ảo
57
Trong thực tế, tốc độ di chuyển của đối tượng và tốc độ thu nhận của
camera không phù hợp, do vậy để tránh trường hợp khi đối tượng di chuyển
nhanh qua đường ranh giới ảo mà camera chưa bắt kịp, luận án đề xuất thay
vì sử dụng một đường ranh giới ảo, ta sẽ dùng một nhóm 3 đường ranh giới
ảo (hai đường mở rộng về hai phía của đường ban đầu với khoảng cách dx).
Hơn nữa, do hình ảnh thu nhận được ở camera là ảnh 2D từ góc nhìn của
camera đó, nên sẽ xuất hiện tình huống đối tượng chưa di chuyển đến đường
ranh giới ảo, nhưng ảnh thu nhận lại cho thấy đối tượng đã chạm vào đường
ranh giới ảo (Hình 2.9.a).
(a) (b)
Hình 2.9. Vị trí của đối tượng với đường ranh giới ảo
Để giải quyết vấn đề này, ta có thể chuyển đổi không gian quan sát từ
môi trường 2D sang 3D (Hình 2.9.b), bằng cách sử dụng phép biến đổi tương
quan homography (Hình 2.10), hình ảnh từ các camera được nắn vào cùng một
mặt phẳng thế giới thực [97] hoặc tính toán các khối bao 3D cho đối tượng di
chuyển [49].
58
Hình 2.10. Phép biến đổi homography
Chính vì vậy, để nâng cao được độ chính xác việc xác định thời điểm
chuyển giao đối tượng trong quá trình giám sát, luận án thực hiện tính toán va
chạm của đối tượng chuyển động với đường ranh giới ảo trong môi trường 3D
thay vì tính toán trong môi trường 2D. Khi đó đối tượng được giám sát và
đường ranh giới ảo được mô hình hóa là các khối hộp trong môi trường 3D.
Luận án sử dụng hình hộp bao theo hướng đối tượng (OBB) để tính toán. Giờ
đây, việc kiểm tra va chạm sẽ thực hiện trên hai khối hình hộp (Hình 2.11).
Hình 2.11. Đối tượng chuyển động và đường ranh giới ảo trong môi trường 3D
59
2.3.2. Tính toán va chạm của đối tượng với đường ranh giới ảo
2.3.2.1. Hình hộp bao theo hướng
Trong không gian IR3, hình hộp bao theo hướng OBB [27] gồm một tâm
C0, ba véc tơ 210 ,, AAA
chỉ hướng của hình hộp và 3 hệ số độ dài tương ứng với
kích thước của hình hộp là: 𝑎0 > 0, 𝑎1 > 0, 𝑎2 > 0. Khi đó, 8 đỉnh của hình
hộp sẽ được xác định như sau:
2
0
0
.2,1,0,1||*
i
iiii
isAasC
(2.1)
2.3.2.2. Tính toán va chạm
Mệnh đề 2.1 [27]: Hai khối đa diện lồi không giao nhau nếu có thể tách
rời được chúng bằng một mặt phẳng P thoả mãn một trong hai điều kiện sau:
P song song với một mặt nào đó của một trong hai khối đa diện.
Hoặc là P chứa một cạnh thuộc đa diện thứ nhất và một đỉnh thuộc đa
diện thứ hai.
Từ mệnh đề trên, ta rút ra nhận xét sau cho phép kiểm tra nhanh sự giao
nhau của hai khối đa diện lồi: Điều kiện cần và đủ để kiểm tra hai khối đa diện
lồi có giao nhau hay không là kiểm tra sự giao nhau giữa các hình chiếu của
chúng lên đường thẳng vuông góc với mặt phẳng P ở trên, đường thẳng này
được gọi là trục tách (Hình 2.12).
Ta thấy rằng các hộp bao OBB là những khối đa diện lồi, bởi vậy ta hoàn
toàn có thể áp dụng định lý trên để kiểm tra va chạm giữa chúng.
60
Hình 2.12. Mặt phẳng tách và trục tách
Cho hai hình bao OBB xác định bởi các thông số [C0, 210 ,, AAA
, a0, a1, a2]
và [C1, 210 ,, BBB
, b0, b1, b2]. Tập các trục tách tối đa là 15 trục sau:
3 trục chỉ hướng của hộp bao thứ nhất ( iA
).
3 trục chỉ hướng của hộp bao thứ hai ( jB
).
9 trục tạo bởi tích có hướng của một trục thuộc hộp bao thứ nhất và một
trục thuộc hộp bao thứ hai (
ji
BA
).
Mặt khác, ta biết rằng nếu một trục là trục tách thì khi tịnh tiến đến vị trí
nào, nó vẫn là trục tách. Bởi vậy, không mất tính tổng quát ta sẽ gọi trục tách
có véc tơ chỉ phương là V
và đi qua tâm C0 của hộp bao thứ nhất, do vậy nó
có phương trình như sau: VtCd
*
0
. Trong đó, t là tham số. V
có thể là
ji
BA
, hoặc
ji
BA
với i, j = 0, 1, 2.
Gọi A là một điểm bất kỳ, H là hình chiếu của A lên đường thẳng d (Hình
2.13) khi đó độ dài đoạn thẳng C0H xác định như sau:
||
*
),,( 0
0
V
VAC
CdAL
(2.2)
61
Hình 2.13. Hình chiếu A lên
đường thẳng d với tâm chiếu C0.
Hình 2.14. Chiếu 8 đỉnh của hình
hộp lên trục tách d
Như vậy, khi chiếu 8 đỉnh của hộp bao thứ nhất lên trục tách d thì sẽ thu
được 4 cặp đoạn thẳng có độ dài bằng nhau nằm về hai phía so với C0 (Hình
2.14), độ dài của mỗi đoạn thẳng được xác định như sau:
||
***
),,**(
2
0
0
2
0
0
V
VAas
CdAasCL i
iii
i
iii
(2.3)
Như vậy, đoạn thẳng ngắn nhất chứa 8 đoạn thẳng (2.1) sẽ có tâm là C0
và bán kính r0 được xác định như sau:
||
***
max
2
0
0
V
VAas
r
i
iii
với mọi |𝑠𝑖| = 1 (2.4)
Đặt VrR
*
00
, ta có:
max{0 R VAaVAVAa
******
22100
1
a ,
VAaVAVAa
******
22100
1
a ,
VAaVAVAa
****a** 221100 ,
VAaVAVAa
****a** 221100 ,
62
VAaVAVAa
****a** 221100 ,
VAaVAVAa
****a** 221100 ,
VAaVAVAa
****a** 221100 ,
VAaVAVAa
****a** 221100
}
VAaVAVAaR
******
221000
1
a (2.5)
Tương tự, chiếu 8 đỉnh của hộp bao thứ hai lên d với gốc C1, sẽ thu được
4 cặp đoạn thẳng có độ dài bằng nhau nằm về hai phía so với C1, như sau:
||
***
),,**(
2
0
1
2
0
1
V
VBbs
CdBbsCL i
iii
i
iii
(2.6)
Chú ý rằng, 8 đoạn thẳng này được nhóm thành 4 cặp đối xứng nhau qua
C1. Do vậy, đoạn thẳng ngắn nhất chứa 8 đoạn thẳng (2.2) sẽ có tâm là C1 và
bán kính r1 được xác định như sau:
||
***
max
2
0
1
V
VBbs
r i
iii
với mọi |si| = 1 (2.7)
Đặt VrR
*
11
, tương tự như trên ta có:
VBbVBVBbR
******
221001
1
b (2.8)
Thực hiện chiếu cả hai hình hộp lên trục tách d, ta thu được các đoạn
thẳng C0C1, r0r1 (Hình 2.15).
63
Hình 2.15. Kết quả chiếu 2 hình hộp lên trục tách d
Hai đoạn thẳng trên sẽ không giao nhau nếu:
1010101010
*** RRRrVrVCCVrrCC
(2.9)
Trong đó: R = C0C1* ||V
Bây giờ ta sẽ giải cụ thể các phương trình trên.
Với mỗi véc tơ iB
của hình bao thứ hai ta có thể biểu diễn thông qua các
trục của hình bao thứ nhất, tức là: 221100 AcAcAcB iiii
với i = 0, 1, 2.
Đặt:
210
,, AAAA
và 210 ,, BBBB
;
222120
121110
020100
ccc
ccc
ccc
C (2.10)
B = A*C, do A được cấu thành từ 210 ,, AAA
là các véc tơ đơn vị và vuông
góc với nhau AT*B= C
C =
210
2
1
0
* BBB
A
A
A
=
221202
211101
201000
***
***
***
BABABA
BABABA
BABABA
(2.11)
Từ (2.10) và (2.11) suy ra: jiij BAc
* , hay cij chính là tích vô hướng của
hai véc tơ iA
, jB
. Tương tự ta có 221100 BcBcBcA iiii
64
Như đã trình bày ở phần trên, tập các trục tách ứng cử viên:
V
={
i
A
,
j
B
,
ji
BA
}với i, j = 0, 1, 2.
Để tính toán các hệ số R0, R1, R ở trên, ta sẽ làm minh họa cho hai trường
hợp V
= iA
và V
= ji BA
, các trường hợp còn lại được tính toán tương tự.
Xét trường hợp 0AV
:
R0 = VAa
**
00
+ VAa
**
11 + 022 ** aVAa
R1 = VBb
**
00 + VBb
**
11
+
02201100022
***** cbcbcbVBb
R = 0A
* D
, với 01 CCD
Xét trường hợp 00 BAV
:
R0 = 0000 ** BAAa
+
0011
** BAAa
+
0022
** BAAa
Mặt khác: 00 BAV
= )( 2201100000 AcAcAcA
= 120210 AcAc
1022010 ** cacaR
DVR
* = DAcAc
*)(
120210
VBbR
**
001
+ VBb
**
11
+ VBb
**2
2
Ta có thể viết lại V
dưới dạng:
V
= 00 BA
= 0202101000 )( BBcBcBc
= 102201 BcBc
VB
*
0 = )(* 1022010 BcBcB
= 0 VB
*
1 = 021022011 )(* cBcBcB
VB
*
2 = 011022012 )(* cBcBcB
0120211 ** cbcbR
Tiếp tục thực hiện với các trường hợp còn lại, ta xây dựng được bảng các
giá trị cho R, R0, R1 (Bảng 2.1).
65
Bảng 2.1. Các giá trị R, R0, R1
V
0
R
1
R
R
0A
0
a
022011000 cbcbcb
DA
.0
1A
1a 122111100 cbcbcb
DA
.1
2A
2
a
222211200 cbcbcb
DA
.2
0B
202101000 cacaca
0
b
DB
.0
1B
212111010 cacaca
1
b DB
.1
2B
222121020 cacaca
2
b DB
.1
00 BA
102201 caca
012021 cbcb
DAcDAc
.. 120210
10 BA
112211 caca
002020 cbcb
DAcDAc
.. 121211
20 BA
122221 caca
001010 cbcb
DAcDAc
.. 122212
01 BA
002200 caca
112121 cbcb
DAcDAc
.. 200020
11 BA
012210 caca
102120 cbcb
DAcDAc
.. 201021
21 BA
022220 caca
101110 cbcb
DAcDAc
.. 202022
02 BA
001100 caca
212221 cbcb
DAcDAc
.. 010100
12 BA
011110 caca
202220 cbcb
DAcDAc
.. 011101
22 BA
021120 caca
201210 cbcb
DAcDAc
.. 012102
2.3.3. Kỹ thuật đề xuất
2.3.3.1. Mô hình hệ thống
Mô hình của cấu trúc của hệ thống được thể hiện trong Hình 2.16.
66
Hình 2.16. Mô hình cấu trúc của hệ thống
2.3.3.2. Thuật toán chuyển tiếp camera dựa vào đường ranh giới ảo
Dựa vào việc tính toán va chạm ở trên (bảng 2.1), tại mỗi thời điểm liên
tục kiểm tra xem có đối tượng nào va chạm với đường ranh giới ảo.
Sơ đồ thực hiện thuật toán được thể hiện trong Hình 2.17.
2.3.4. Thực nghiệm
2.3.4.1. Mô hình thực nghiệm
Nhằm kiểm chứng kỹ thuật đề xuất, chúng tôi đã tiến hành cài đặt chương
trình demo VirtualLine. Chương trình được phát triển trên môi trường Visual
C++ 2008 với bộ thư viện mã nguồn mở OpenCV. Đầu vào của chương trình
là các file video hoặc kết nối trực tiếp với camera. Chương trình cho phép
dựng đường ranh giới ảo, thực hiện tính toán, phát hiện sự va chạm của các
đối tượng chuyển động với đường ranh giới ảo, các đối tượng sau khi va chạm
với đường ranh giới ảo sẽ được đánh dấu, chương trình được thực hiện trên
thời gian thực.
67
ServerWorkstation
Phát hiện đối tượng
chuyển động
Có đối tượng
chuyển động
Sai
Có yêu cầu
chuyển tiếp
Đúng
Theo vết đối
tượng
Đối tượng
đã có nhãn
Lưu thông tin
đối tượng
Cập nhật CSDL
đối tượng
Tiếp nhận nhãn
đối tượng
Yêu cầu tiếp nhận
chuyển tiếp
Khởi tạo CSDL
Sinh nhãn mới
Va chạm với
đường ranh giới ảo
Yêu cầu
chuyển tiếp
Đúng
Sai Đúng
Yêu cầu cập
nhật CSDL
Sai
Đúng
Sai
Chọn lựa camera
chuyển tiếp
Điều phối chuyển
tiếp camera
Hình 2.17. Sơ đồ thực hiện chương trình của hệ thống
Luận án sử dụng 3 camera USB Logitec để giám sát một căn phòng với
thị trường quan sát bị chồng chéo như Hình 2.18. Các camera này được gắn
68
cố định trên tường của căn phòng. Dữ liệu video được ghi với kích thước
khung hình 640480, tốc độ 15 hình/giây.
Hình 2.18. Sơ đồ mặt bằng bố trí camera
2.3.4.2. Kết quả thực nghiệm
Hình 2.19 thể hiện việc chuyển tiếp theo dõi giữa các camera. Người
được giám sát di chuyển va chạm với đường ranh giới ảo giữa các camera
(đường mầu đỏ) đã được đánh dấu (mầu đỏ) và xuất hiện tại vùng quan sát của
camera được chuyển tiếp cùng với thông tin về chỉ số của đối tượng và camera
chuyển/nhận bàn giao.
69
(a) Chuyển tiếp giữa camera 1 và camera 2
(b) Chuyển tiếp giữa camera 2 và camera 3
Hình 2.19. Chuyển tiếp giữa 2 camera
Để đánh giá kết quả kỹ thuật đề xuất, luận án thực hiện so sánh thử
nghiệm kỹ thuật kiểm tra va chạm của đối tượng với đường ranh giới ảo trên
hai môi trường 2D và 3D, tham số Precision được dùng để đo độ chính xác
của của kỹ thuật xác định thời điểm chuyển tiếp camera, được xác định bởi
công thức sau:
FC
C
NN
N
Precision (2.12)
Trong đó, NC là số lần chuyển tiếp phát hiện chính xác; NF là số lần
chuyển tiếp phát hiện nhầm. Kết quả được chỉ ra ở Hình 2.20.
70
Hình 2.20. Biểu đồ so sánh giá trị Precision ở mỗi camera
Kết quả thực nghiệm cho thấy, tất cả các thời điểm chuyển tiếp camera
đều được phát hiện khi đối tượng di chuyển va chạm vào đường ranh giới ảo
đối với cả hai môi trường 2D và 3D. Với tính toán trong môi trường 2D, hầu
hết thời điểm yêu cầu chuyển tiếp được phát hiện sớm hơn, ngay cả khi đối
tượng thực tế chưa va chạm với đường ranh giới ảo, điều này đã được cải thiện
đáng kể khi thực hiện tính toán trong môi trường 3D. Tuy vậy, do kỹ thuật sử
dụng trong giai đoạn phát hiện đối tượng chuyển động có bỏ qua một số khung
hình trong quá trình thao tác, nên vẫn còn một số trường hợp khi đối tượng di
chuyển qua đường ranh giới ảo thì hệ thống chưa kịp phát hiện. Kỹ thuật đề
xuất đã được công bố trong Tạp chí Khoa học Công nghệ, Viện Hàn lâm Khoa
học và Công nghệ Việt Nam năm 2013.
2.4. Chọn lựa camera dựa trên hướng chuyển động của đối tượng
Công việc thứ hai trong chuyển tiếp camera là xác định camera nhận
chuyển giao, đây là một trong hai yêu cầu quan trọng của quá trình chuyển
tiếp camera. Trong phần này, luận án đề xuất một kỹ thuật chọn lựa camera
dựa vào hướng chuyển động của đối tượng, nhằm giảm thiểu số lần chuyển
47%
40%
55%
92% 95%
97%
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Camera 1 Camera 2 Camera 3
Precision %
2D 3D
71
tiếp camera khi đối tượng di chuyển qua các vùng giám của các camera trong
hệ thống OVL.
2.4.1. Dự đoán vị trí và hướng chuyển động của đối tượng
Việc dự báo trạng thái của đối tượng rất quan trọng trong bài toán giám
sát, có nhiều mô hình dự báo trạng thái đối tượng, trong phần này luận án xây
dựng một mô hình dự báo để xác định vị trí và hướng chuyển động của đối
tượng chuyển động trong tương lai. Mô hình được xây dựng dựa trên bộ lọc
Kalman [109].
Tại thời điểm 𝑡1, đối tượng được giám sát có vị trí (𝑥𝑡1 , 𝑦𝑡1), di chuyển
với vận tốc (𝑣𝑡1
𝑥 , 𝑣𝑡1
𝑦
) và gia tốc (𝑎𝑡1
𝑥 , 𝑎𝑡1
𝑦
).
Ký hiệu 𝑠𝑡1 là trạng thái của đối tượng tại thời điểm 𝑡1:
𝑠𝑡 =
[
𝑥𝑡1
𝑦𝑡1
𝑣𝑡1
𝑥
𝑣𝑡1
𝑦
]
(2.13)
Trạng thái của đối tượng ở thời điểm 𝑡2:
𝑠𝑡2 =
[
𝑥𝑡2
𝑦𝑡2
𝑣𝑡2
𝑥
𝑣𝑡2
𝑦
]
=
[
𝑥𝑡1 + 𝑣𝑡1
𝑥 ∆𝑡 +
1
2
𝑎𝑡1
𝑥 ∆𝑡2
𝑦𝑡1 + 𝑣𝑡1
𝑦∆𝑡 +
1
2
𝑎𝑡1
𝑦 ∆𝑡2
𝑣𝑡1
𝑥 + 𝑎𝑡1
𝑥 ∆𝑡
𝑣𝑡1
𝑦 + 𝑎𝑡1
𝑦 ∆𝑡 ]
(2.14)
Trong đó t là khoảng thời gian từ 𝑡1 đến 𝑡2;
Công thức (2.14) có thể được biểu diễn như sau:
72
[
𝑥𝑡2
𝑦𝑡2
𝑣𝑡2
𝑥
𝑣𝑡2
𝑦
]
= [
1 0 ∆𝑡 0
0 1 0 0
0 0 1 ∆𝑡
0 0 0 1
]
[
𝑥𝑡1
𝑦𝑡1
𝑣𝑡1
𝑥
𝑣𝑡1
𝑦
]
+
[
∆𝑡2
2
0
0
∆𝑡2
2
∆𝑡 0
0 ∆𝑡 ]
[
𝑎𝑡1
𝑥
𝑎𝑡1
𝑦 ] (2.15)
Đặt 𝐴 = [
1 0 ∆𝑡 0
0 1 0 0
0 0 1 ∆𝑡
0 0 0 1
]; 𝐺 =
[
∆𝑡2
2
0
0
∆𝑡2
2
∆𝑡 0
0 ∆𝑡]
; 𝑎𝑡1 = [
𝑎𝑡1
𝑥
𝑎𝑡1
𝑦 ]
Phương trình (2.15) có thể được viết lại như sau:
𝑠𝑡2 = 𝐴𝑠𝑡1 + 𝐺𝑎𝑡1 (2.16)
Biểu diễn trong không gian trạng thái, ta có trạng thái dự báo:
𝑠𝑡2 = 𝐴𝑠𝑡1 + 𝑤𝑡1 (2.17)
Trong đó:
𝑠𝑡2: là trạng thái của đối tượng mà ta cần dự báo;
𝑠𝑡1: Trạng thái hiện thời của đối tượng;
𝐴: Ma trận chuyển trạng thái từ trạng thái 𝑡1 sang 𝑡2;
𝐴 = [
1 0 ∆𝑡 0
0 1 0 0
0 0 1 ∆𝑡
0 0 0 1
] (2.18)
w: là biến ngẫu nhiên đại diện cho nhiễu hệ thống. Biến ngẫu nhiên này
độc lập và tuân theo luật phân phối chuẩn a với giá trị trung bình = 0 và
ma trận hiệp biến (covariance) là Q.
𝑝(𝑤)~𝑁(0,𝑄) (2.19)
73
𝑄 = 𝐺𝐺𝑇𝜎𝑎
2 =
[
∆𝑡2
4
0
∆𝑡3
2
0
0
∆𝑡2
4
0
∆𝑡3
2
∆𝑡3
2
0 ∆𝑡2 0
0
∆𝑡3
2
0 ∆𝑡2]
𝜎𝑎
2 (2.20)
Giá trị tọa độ x đo được tại thời điểm 𝑡2 là:
𝑧𝑡2
𝑥 = 𝑥𝑡2 + 𝑢1(𝑡2) (2.21)
Giá trị tọa độ y đo được tại thời điểm t+1 là:
𝑧𝑡2
𝑦 = 𝑦𝑡2 + 𝑢2(𝑡2) (2.22)
Kết hợp hai phương trình (2.21) (2.22), ta có:
[
𝑧𝑡2
𝑥
𝑧𝑡2
𝑦 ] = [
1 0 0 0
0 0 1 0
] ×
[
𝑥𝑡2
𝑦𝑡2
𝑣𝑡2
𝑥
𝑣𝑡2
𝑦
]
+ [
𝑢1(𝑡2)
𝑢2(𝑡2)
] (2.23)
Mô hình kết quả đo đạc:
𝑧𝑡2 = 𝐻𝑠𝑡2 + 𝑢𝑡2 (2.24)
Trong đó:
𝑧𝑡2: là giá trị đo đạc được của 𝑠𝑡2;
H: là Ma trận mô hình quan sát giá trị của trạng thái đo được tại 𝑡2:
𝐻 = [
1 0 0 0
0 0 1 0
] (2.25)
74
u: là biến ngẫu nhiên đại diện cho nhiễu đo đạc. Biến ngẫu nhiên này độc
lập và tuân theo luật phân phối chuẩn z với giá trị trung bình = 0 và ma
trận hiệp biến (covariance) là 𝑅 = 𝐸[𝑢𝑢𝑇]𝜎𝑧
2
𝑝(𝑢)~𝑁(0, 𝑅) (2.26)
2.4.2. Biểu diễn mối quan hệ giữa các vùng quan sát của hệ thống
Vùng quan sát của hệ thống camera có thể biểu diễn bằng đồ thị
EVG , : nvvvV ,...,, 21 , meeeE ,...,, 21 . Trong đó, mỗi vùng quan sát của
một camera được biểu thị bằng một đỉnh iv . Hai đỉnh được nối với nhau bằng
một cạnh je nếu hai vùng có một điểm chung. Có nhiều hình thức biểu diễn
Các file đính kèm theo tài liệu này:
- luanants_ngo_duc_vinh_767_1854498.pdf