Phát hiện đột nhập bằng camera theo dõi
Nguyễn Quang Quý
Khoa Luật
Luận văn Thạc sĩ ngành: Công nghệ phần mềm; Mã số: 60 48 10
Người hướng dẫn: PGS. TS. Ngô Quốc Tạo
Năm bảo vệ: 2011
Abstract: Giới thiệu tổng quan về hệ thống giám sát bằng video, bài toán phát hiện
chuyển động và một số ứng dụng thực tế của bài toán. Giới thiệu một số giải thuật
phát hiện chuyển động trước đó. Giới thiệu nội dung chính giải thuật phát hiện chuyển
động. Giới thiệu chương trình demo phát hiện đột nhập và mô hình hệ thống tự động
phát hiện và cảnh báo đối tượng đột nhập vào mục tiêu cần bảo vệ, một số kết quả
thực nghiệm
Keywords: An toàn dữ liệu; Hệ thống giám sát; Phát hiện chuyển động; Camera;
Công nghệ thông tin
Content
Chương 1
GIỚI THIỆU BÀI TOÁN PHÁT HIỆN CHUYỂN ĐỘNG
1.1. Giới thiệu
Ngay từ xa xưa, con người đã có ý thức bảo vệ an toàn cho các địa điểm, mục tiêu quan
trọng tránh sự xâm nhập của kẻ thù và các đối tượng khác. Con người là công cụ đơn giản
nhất nhưng đồng thời cũng mang lại hiệu quả nhất trong việc giám sát bảo vệ mục tiêu. Công
nghệ thông tin và các thiết bị kỹ thuật số phát triển đã mang đến cho con người nhiều công cụ
mới phục vụ cho các nhu cầu của mình. Các thiết bị kỹ thuật số ra đời như máy ảnh,
camera… đã hỗ trợ đắc lực con người trong việc bảo vệ mục tiêu an toàn và liên tục.
Bên cạnh sự phát triển của các thiết bị phần cứng, kỹ thuật xử lý ảnh số cho phép xử lý dữ
- Phương pháp dựa vào sự biến đổi giá trị theo thời gian: dựa vào sự biến đối của một giá
trị ảnh theo thời gian để xác định đối tượng chuyển động (Ví dụ: Temporal Gradient – dựa
trên biến đối của Gradient theo thời gian. Khả năng chuyển động của đối tượng theo phương
pháp này được đo bằng sự thay đổi tức thời của cường độ hình ảnh). Phương pháp này thích
ứng với sự thay đổi của môi trường, nhưng nó bị phụ thuộc vào tốc độ và kích thước và số
lượng đối tượng chuyển động. Phương pháp này hiệu quả nhất khi dùng phát hiện và theo dõi
một đối tượng chuyển động.
- Phương pháp luồng tối ưu: chỉ ra sự chuyển động dự kiến của đối tượng trong ảnh.
Phương pháp này cho kết quả khá tốt với những ảnh đầu vào phức tạp. Tuy nhiên, nó đòi hỏi
độ phức tạp tính toán cao, nên khó khăn trong việc áp dụng, triển khai thực tế.
Các chức năng chính của hệ thống giám sát bằng camera:
(1) Xác định các vùng có khả năng chứa đối tượng chuyển động - Mặt nạ vùng chuyển
động:
(2) Trên cơ sở mặt nạ vùng chuyển động, ta sẽ xác định các đối tượng chuyển động (vị trí,
kích thước)
(3) Khi phát hiện được đối tượng chuyển động, ta thực hiện chức năng theo dõi đối tượng
chuyển động. Đối tượng chuyển động sẽ được theo dõi khi chuyển động trong vùng camera
theo dõi: 3
FG/BG
Detection
Module
Blob
Tracking
Module
Trajectory Generation
Module
phương tiện tham gia giao thông tại từng nút giao thông, từ đó người điều hành giao thông có
thể tính toán để phân định luồng giao thông hợp lý nhất.
Trên lĩnh vực nghiên cứu khoa học, bài toán phát hiện chuyển động còn được sử dụng trong
các ứng dụng về thị giác máy tính (Computer Vision Applications) bao gồm: phân tích cử
động của con người, tương tác người máy… Một ứng dụng chúng ta thường thấy là nghiên
cứu, chế tạo robot.
4
Chương 2
MỘT SỐ GIẢI THUẬT PHÁT HIỆN CHUYỂN ĐỘNG
Một số giải thuật sử dụng phương pháp trừ nền đã được nghiên cứu: Giải thuật trừ nền cơ
bản - Simple background Subtraction; Giải thuật trừ nền trung bình - Running Average; Giải
thuật Σ-Δ - Σ-Δ Estimation; Giải thuật Σ-Δ cải tiến - Multiple Σ-Δ Estimation; Giải thuật
thống kê khác biệt cơ bản - Simple Statistical Difference; Giải thuật trừ nền trung bình với
biến đổi cosine rời rạc - Running Average with Discrete Cosine Transform.
2.1. Giải thuật trừ nền cơ
Là phương pháp so sánh ảnh đơn giản nhất, dựa trên sự sai khác giữa hai ảnh và so sánh sự
sai khác này với một giá trị ngưỡng cho trước. Trường hợp sự sai khác này lớn hơn giá trị
ngưỡng đã cho, đưa ra kết luận có đối tượng chuyển động.
D(x,y): Mặt nạ nhị phân phát hiện chuyển động được định nghĩa:
t
t
1, if ( , ) ( , )
( , )
0, if ( , ) ( , )
I x y B x y
D x y
I x y B x y
[0,1]; B
t
(x,y): Giá trị nền;
I
t
(x,y): Giá trị frame đến. Giá trị khởi tạo: B
0
(x,y) = I
0
(x,y)
Bước 1: Cập nhật giá trị nền B
t
(x,y) theo chỉ số frame t:
1
( , ) (1 ) ( , ) ( , )
t t t
B x y B x y I x y
Bước 2: Tính mặt nạ nhịn phân phát hiện chuyển động D(x,y):
t
t
1, if ( , ) ( , )
( , )
0, if ( , ) ( , )
t
t
sgn( ) 0, if = 0
1 if < 0
a: là giá trị thực cho trước
Khi đó mô hình nền sẽ được cập nhật theo hàm sgn(a) như sau:
11
( , ) ( , ) sgn( ( , ) ( , ))
t t t t
B x y B x y I x y B x y
1
( , ), ( , )
tt
B x y B x y
: giá trị nền hiện tại thứ t và trước đó (t-1);
( , )
t
V
t
(x,y), V
t-1
(x,y) tương ứng là giá trị biến theo thời gian hiện thời thứ t và trước đó thứ (t-
1) ; N là tham số cho trước từ 1 – 4
Mặt nạ nhị phân phát hiện đối tượng chuyển động D(x,y):
t
t
1, if ( , ) ( , )
( , )
0, if ( , ) ( , )
t
t
x y V x y
D x y
x y V x y
Nếu D(x,y) = 0, pixel của nền. Ngược lại, D(x,y) = 1, pixel của đối tượng chuyển động.
Đánh giá:
Ưu điểm: Sử dụng thuật toán được chuẩn hóa theo thời gian, giải thuật xử lý nhanh, tăng
Trong đó,
( , )
i
t
b x y
,
1
( , )
i
t
b x y
: giá trị nền tham chiếu thứ i tại thời điểm t, (t-1);
1
( , )
i
t
b x y
: giá
trị nền tham chiếu thứ (i-1) tại thời điểm t ; Giá trị khởi tạo với i=0:
0
( , ) ( , )
tt
b x y I x y
Giá trị mô hình nền thích ứng tổng hợp
( , )
t
B x y
được tính:
1,
1,
( , )
( , )
( , )
( , )
i
it
i
iR
t
t
i
i
iR
t
b x y
v x y
B x y
sử dụng giá trị trung bình, độ lệch tiêu chuẩn cũng như sắp xếp mô hình nền. Mô hình nền
thích ứng được tạo ra thông qua việc xác định giá trị từng pixel
xy
của mô hình nền.
xy
là
giá trị trung bình của các pixel tương ứng từ một tập frame trước đó trong một khoảng thời
gian nhất định.
1
0
1
( , )
K
xy k
k
I x y
K
K: số lượng frame đang xét; t: chỉ số của khung video, t = 1 K;
( , )
t
I x y
: giá trị frame đến
Tính giá trị hiệu tuyệt đối của frame video đến và mô hình nền. Từ đó ta sẽ xác định mặt nạ
nhị phân phát hiện chuyển động
( , )
t
D x y
được tính bởi công thức sau:
t
t
1, if ( , )
( , )
0, if ( , )
xy xy
t
xy xy
I x y
D x y
I x y
: Tham số thực nghiệm (như giải thuật trừ nền trung bình);
L
: Số lượng khối trong một
frame;
k
: Chỉ số khối,
1,2, ,kL
k
t
d
: Biểu thị vector hệ số biến đổi cosin rời rạc của khối pixel thứ k, tại thời điểm t, của
khung video đến hiện tại.
,Bk
t
d
: Biểu thị vector hệ số biến đổi cosin rời rạc nền của khối pixel thứ k, tại thời điểm t,
trong miền biến đổi cosin rời rạc.
,
1
Bk
t
d
: Biểu thị vector hệ số biến đổi cosin rời rạc nền trước đó của khối pixel thứ k, tại thời
điểm t-1, trong miền biến đổi cosin rời rạc
Giải thuật sử dụng kỹ thuật trừ nền xác định sự khác biệt giữa frame đến và nền tương ứng
thì khối thứ k này được xác định là nền
k
t
thì khối thứ k được xác định là khối chuyển động
Như vậy, giải thuật Trung bình liên tục với biến đổi cosin rời rạc đã xác định được ở mức
khối của đối tượng chuyển động. Từ đây, có thể biến đổi để xác định đối tượng chuyển động
ở mức pixel.
Đánh giá:
8
Giải thuật sử dụng hệ số biến đổi cosin rời rạc ở mức khối pixel để tạo mô hình nền thích
ứng. Kết quả đưa ra các vùng chứa đối tượng chuyển động với độ chính xác nhất định thông
qua quá trình xử lý hai giai đoạn. Giai đoạn 1, sử dụng kỹ thuật trừ nền mới trong không gian
miền biến đổi cosin rời rạc để xác định toàn bộ hoặc một phần vùng chứa đối tượng chuyển.
Giai đoạn 2, là xác định những pixel của đối tượng chuyển động trong những khối chứa
chuyển động. Đặc biệt, giải thuật này sẽ giảm thời gian tính toán khi video đầu vào đã được
nén sử dụng phương pháp biến đổi cosin rời rạc.
9
Chương 3
NỘI DUNG CHÍNH CỦA GIẢI THUẬT
3.1. Giới thiệu giải thuật
Những giải thuật cho bài toán phát hiện chuyển động trước đó (Chương 2) còn hạn chế
trong nhiều trường hợp, đối với ảnh phức tạp chứa nhiều đối tượng chuyển động, các đối
tượng chuyển động với quy luật và vận tốc khác nhau… gặp phải vấn đề không xác định được
chính xác toàn bộ các đối tượng chuyển động, thời gian xử lý còn chậm. Học viên tìm hiểu,
nghiên cứu giải thuật mới nhằm tăng tính chính xác phát hiện chuyển động trong những ảnh
số nguyên).
Với mỗi pixel (x,y), giá trị nền B
t
(x,y) được tính như sau:
11
1
( , ) ( , ) ( ( , ) ( , ))
t t t t
B x y B x y I x y B x y
t
B
t
(x,y), B
t-1
(x,y): Giá trị nền ở thời điểm hiện tại t và trước đó (t-1); I
t
(x,y): Giá trị frame
video đến hiện thời ; t: Chỉ số frame của chuỗi video, t < K; K: Số frame đầu tiên của chỗi
video đầu vào để khởi tạo nền ban đầu. Trong thực nghiệm, K=50.
Trong phần khởi tạo mô hình nền, ta chỉ quan tâm đến hai kết quả cuối cùng đó là giá trị
nền hiện thời B
t
(x,y) và frame video đến hiện thời I
t
(x,y) mà không cần phải lưu trữ những giá
trị trung gian, do đó giảm được các biến nhớ và dung lượng bộ nhớ, giúp cho việc xử lý, tính
toán nhanh hơn.
t t t
t
t t t
M x y p I x y M x y
M x y
M x y p I x y M x y
M
t
(x,y), M
t-1
(x,y): frame ứng cử viên nền hiện tại và trước đó; I
t
(x,y): frame video đến; p:
Giá trị huấn luyện, thực nghiệm đặt p = 1.
Ứng cử viên nền khởi tạo: M
0
(x,y) = I
0
(x,y).
11
(x,y) là nền sau K=50 frame đầu
tiên; I
t
(x,y) là frame video đến.
Quá trình cập nhật nền sẽ được tiến hành đối với tất cả những frame của video đầu vào. Cải
tiến bằng việc 3 frame cập nhật nền một lần. Kết quả phát hiện chuyển động vẫn được đảm
bảo và tăng tốc độ thuật toán.
3.2.2. Modun cảnh báo chuyển động:
Modun được gồm 2 phần:
(1) Sử dụng giá trị Entropy của khối để xác định xem khối này có khả năng chứa đối tượng
chuyển động hay không.
(2) Sử dụng phép toán hình thái học “co ảnh” và “giãn ảnh” để xác định khối nền và khối
chỉ chứa đối tượng chuyển động.
3.2.2.1. Xác định giá trị Entropy của khối
Khối chuyển động là khối có độ lệch màu sắc giữa 2 ảnh đến và ảnh hiện thời biến đổi ngẫu
nhiên nên Entropy > 1, ngược lại, nếu Entropy
1 tức là các giá trị màu biến đổi là như
nhau, có thể là không đổi hoặc cùng thay đổi trong một khoảng nhỏ nào đó. Ta có thể sử dụng
Entropy để xác định các khối chuyển động.
Entropy được xác định (đơn vị tính bit)
1 2 3 2
1
, , , ,( ) log ( )
n
in i
i
HX H p p p ppp
:
( , )ij
h
P
được định nghĩa như sau:
( , ) ( , ) 2
/
i j i j
hh
Pn
Trong đó: h là phần tử tùy ý của {L
0
, L
1
, …, L
V-1
} đại diện cho bất kỳ vector mức xám
trong mỗi khối
( , )ij
;
( , )ij
h
n
là số pixel tương ứng với mức xám h tùy ý.
E P P
Khối chuyển động
( , )A i j
được xác định như sau:
1, if ( , )
( , )
0,
E i j T
A i j
otherwise
T là ngưỡng cho các giá trị Entropy,
( , )A i j
= 1, chứa những pixel của đối tượng chuyển
động. Ngược lại, không chứa pixel của đối tượng chuyển động.
3.2.2.2. Sử dụng các phép toán hình thái học:
Phép toán hình thái học “co ảnh” và “giãn ảnh” xác định những khối nền và khối chứa
chuyển động hoàn toàn. Phần 2.2.1 đã xác định được những khối có khả năng chứa đối tượng
chuyển động. Tuy nhiên, để kết luận chính xác những khối nào chứa chuyển động ta sử dụng
hai phép “co ảnh” và “giãn ảnh”. Phép “co ảnh” loại bỏ một số thành phần phụ của ảnh.
( , ) , if ( , ) ( , )
( , )
( , ) , if ( , ) ( , )
ss
s
t t t
t
ss
t t t
v x y p N x y v x y
v x y
v x y p N x y v x y
13
( , )
s
t
v x y
,
1
( , )
v x y p v x y v x y
( , )
l
t
v x y
,
1
( , )
l
t
v x y
: giá trị biến dài hiện thời, trước đó
Giá trị khởi tạo biến dài:
0 0 0
( , ) ( , ) ( , )
sl
v x y v x y x y
Giá trị biến tốt nhất
( , )
( , ) 0D x y
pixel của nền. Như
vậy ta đã trích xuất được đối tượng chuyển động thông qua tập các pixel có
( , ) 1D x y
.
14
Chương 4
BÀI TOÁN PHÁT HIỆN ĐỘT NHẬP
BẰNG CAMERA THEO DÕI
4.1. Chương trình demo phát hiện đột nhập
Giải quyết bài toán phát hiện đột nhập bằng camera theo dõi dựa trên kết quả giải quyết bài
toán phát hiện chuyển động. Học viên xây dựng phần mềm phát hiện đột nhập bằng camera
theo dõi dựa trên giải thuật phát hiện chuyển động đã được trình bày ở Chương 3. Đây là
chương trình demo tính năng cơ bản của chương trình phát hiện đột nhập từ những video đầu
vào đã được quay ở những địa điểm, thời gian khác:
Giao diện chính của chương trình demo
Chương trình được viết bằng ngôn ngữ lập trình Visual C++ trên nền tảng bộ công cụ
Microsoft Visual Studio 2010, sử dụng một số thư viện của OpenCV. Chương trình cài đặt
thuật toán phát hiện chuyển động đã được trình bày tại Chương 3 và bổ sung phần định nghĩa
khu vực theo dõi (vùng hình vuông màu đỏ).
Tính năng chính của chương trình demo:
- Show background: Quá trình cập nhật nền liên tục của thuật toán để tạo ra nền tối ưu. Nền
tối ưu là những frame chứa những pixel hầu như không thay đổi giá trị và đảm bảo thời gian
tính toán nền này là nhỏ trong giới hạn chấp nhận được. Sau 50 frame bắt đầu khởi tạo nền
đâu tiên, sau một thời gian tính toán, thuật toán trả về nền hầu như rất ít thay đổi.
- Show video: Hình ảnh thật thu được từ video. Sau 200 frame (khoảng 4s) thuật toán bắt
đầu phát hiện đối tượng chuyển động. Những đối tượng chuyển động này được đánh dấu bằng
hình chữ nhật màu xanh.
phòng quan trọng.
- Lên sơ đồ camera theo dõi bao quát hết mục tiêu.
- Xây dựng phầm mềm xử lý đồng thời những camera giám sát. Việc xử lý với mỗi camera
được thực hiện như chương trình demo. Trên cơ sở thử nghiệm với những thời điểm khác
nhau để lựa chọn bộ giá trị ngưỡng phù hợp để tối ưu kết quả phát hiện đột nhập.
- Khi phát hiện đối tượng xâm nhập vào khu vực giám sát, chương trình phần mềm sẽ tự
động cảnh báo theo các chế độ người quan sát cài đặt như: bằng âm thanh báo động, tô màu
đối tượng, lưu những đoạn video có đối tượng đột nhập trong ổ cứng của máy tính…
4.3. Một số kết quả thực nghiệm: Được trình bày cụ thể trong bản luận văn.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Kết luận
Giám sát và bảo vệ các mục tiêu quan trọng là bài toán được đặt ra từ rất sớm nhằm đảm
bảo tuyệt đối an toàn cho các mục tiêu này. Trong thời đại ngày nay, không chỉ những mục
tiêu truyền thống cần được giám sát và bảo vệ như: những mục tiêu quan trọng về chính trị,
kinh tế, an ninh, quốc phòng mà việc giám sát, bảo vệ mục tiêu được áp dụng rộng rãi và phổ
cấp hóa trong xã hội như tại các tổ chức, cơ quan, công ty và cá nhân người dùng.
Khoa học công nghệ phát triển đã hỗ trợ đắc lực cho con người trong những công việc khó
khăn, nguy hiểm. Công nghệ thông tin và công nghệ điện tử ngày nay đã cho phép sử dụng
những thiết bị phần cứng (các loại camera giám sát, máy tính, đường truyền…) và phần mềm
hỗ trợ hiệu quả cho việc giám sát và bảo vệ mục tiêu.
16
Bài toán phát hiện đột nhập bằng camera theo dõi quy về bài toán cơ bản là phát hiện
chuyển động đã được nghiên cứu từ rất sớm, xuất hiện ngay từ khi kỹ thuật ảnh số ra đời. Đã
có nhiều nghiên cứu trước đó để giải quyết bài toán phát hiện chuyển động, tuy nhiên về mặt
thời gian và kết quả phát hiện chuyển động vẫn chưa được tối ưu. Qua quá trình tìm hiểu,
nghiên cứu của mình về bài toán phát hiện chuyển động, học viên đã đạt được một số kết quả
như sau:
- Tìm hiểu lịch sử phát triển của ảnh số và kỹ thuật xử lý ảnh số, những ứng dụng của nó.
Tiếng Anh
17
3. Luong Chi Mai, Introduction to Image Processing and Computer vision, Viện Công nghệ
thông tin năm 2009.
4. Shih-Chia Huang, An Advanced Motion Detection Algorithm with Video Quality Analysis
for Video Surveillance Systems, IEEE Transactions on circuits and systems for video
technology, Vol 21, No. 1, January 2011.
5. Antoine Manzanera , Julien C. Richefeu, A new motion detection algorithm based on Σ-Δ
background estimation, Ecole Nationale Supe ´rieure de Techniques Avance ´es (ENSTA),
Laboratoire d’Electronique de Informatique (LEI), 32 Boulevard Victor, Room No. 381, F-
75739, Paris Cedex 15, France.
6. W. Wang, J. Yang, and W. Gao, “Modeling background and segmenting moving objects
from compressed video”, IEEE Trans. Circuits Syst. Video Technol, vol. 18, no. 5, pp. 670–
681, May 2008.
7. M. Oral and U. Deniz, “Center of mass model: A novel approach tobackground modeling
for segmentation of moving objects”, Image Vis. Comput., vol. 25, pp. 1365–1376, Aug.
2007.
8. Bijan Shoushtarian, Helmut E. Bez, A practical adaptive approach for dynamic
background subtraction using an invariant colour model and object tracking, Department of
Computer Science, Loughborough University, Ashby Road, Loughborough, LE11 3TU, UK
Available online 18 October 2004
9. Lucia Maddalena, Alfredo Petrosino, A Self-Organizing Approach to Background
Subtraction for Visual Surveillance Applications, IEEE TRANSACTIONS ON IMAGE
PROCESSING, VOL. 17, NO. 7, JULY 2008
10. Yu-Kumg Chen, Tung-Yi Cheng, Shuo-Tsung Chiu, Motion Detection with Using Theory
of Entropy, IEEE International Symposium on Industrial Electronics (ISlE 2009).
11. S. Saravanakumar, A.Vadivel, C.G Saneem Ahmed, Multiple Human Object Tracking
using Background Subtraction and Shadow Removal Techniques, Department of Electronics
and Communication, National Institute of Technology Tiruchirappalli, Tamilnadu, India.