Download as pdf or txt
Download as pdf or txt
You are on page 1of 89

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI


---------------------------------------

Phan Huy Tùng

NGHIÊN CỨU GIẢI PHÁP ỨNG DỤNG CAMERA GIÁM SÁT TRONG
AN NINH VÀ GIAO THÔNG

Chuyên ngành : Công nghệ thông tin

LUẬN VĂN THẠC SĨ KHOA HỌC


CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC


TS. Tạ Tuấn Anh

Hà Nội – 2011

1
LỜI CẢM ƠN

Sau hơn 6 năm học tập và rèn luyện tại trường Đại học Bách Khoa Hà
Nội, đến nay em đã hoàn thành chương trình học tập và luận văn tốt nghiệp
Thạc sĩ khoa học chuyên ngành Công nghệ thông tin.

Để có được những kết quả khiêm tốn ngày hôm nay, em xin trân trọng cảm
ơn:

 Ban giám hiệu nhà trường đã quan tâm, tạo điều kiện thuận lợi cho
chúng em học tập và rèn luyện tốt.
 Các Thầy, Cô trong viện Công nghệ thông tin và truyền thông đã tận
tâm giảng dạy, truyền đạt những kiến thức nền tảng là hành trang quý
báu để chúng em bước vào đời.

Em xin đặc biệt bày tỏ lòng kính trọng và biết ơn chân thành đến Thầy giáo,
Tiến sĩ Tạ Tuấn Anh, người đã trực tiếp hướng dẫn tận tình và tạo mọi điều
kiện giúp em hoàn thành được luận văn tốt nghiệp này. Em xin cảm ơn Thầy.

Em cũng xin được đặc biệt cảm ở đến các anh, chị đồng nghiệp tại công ty
CadPro đã tạo điều kiện, giúp đỡ em trong thời gian vừa qua.

Đồng thời, tôi cũng xin gửi lời cảm ơn đến :

 Bạn Nguyễn Danh Thắng, người đã nhiệt tình tham gia, giúp đỡ
để tạo bộ dữ liệu mẫu.
 Bạn Vũ Mạnh Thiên, người đã có những góp quý báu trong quá
trình thực hiện các nghiên cứu.

Cuối cùng, tôi xin được gửi lời cảm ơn đến gia đình và bạn bè, những người đã
luôn ở bên, động viên và khích lệ tôi trong suốt chặng đường học tập đã qua.

2
Hà Nội, ngày 10, tháng 11, năm 2011

Phan Huy Tùng

3
MỤC LỤC
DANH MỤC CÁC THUẬT NGỮ VÀ KÝ HIỆU VIẾT TẮT ................................. 6
T
2
3 T
2
3

DANH MỤC CÁC HÌNH VẼ TRONG LUẬN VĂN .............................................. 7


T
2
3 T
2
3

MỞ ĐẦU .............................................................................................................. 10
T
2
3 32T

Chương 1 - CƠ SỞ LÝ THUYẾT ......................................................................... 13


T
2
3 T
2
3

1.1
T
2
3 T
2
3 Tổng quan ................................................................................................ 13
32T 32T

1.2
T
2
3 T
2
3 Phát hiện chuyển động.............................................................................. 16
32T T
2
3

1.2.1
T
2
3 32T Các vấn đề của bài toán ..................................................................... 18
32T T
2
3

1.2.2
T
2
3 32T Các phương pháp cơ bản.................................................................... 19
32T T
2
3

1.2.3
T
2
3 32T Các phương pháp nâng cao ................................................................ 29
32T T
2
3

1.2.4
T
2
3 32T So sánh và đánh giá các phương pháp ................................................ 34
32T T
2
3

1.3
T
2
3 T
2
3 Tracking ................................................................................................... 36
32T 32T

1.4
T
2
3 T
2
3 Kết chương ............................................................................................... 40
32T 32T

Chương 2 - ỨNG DỤNG CAMERA GIÁM SÁT ĐỂ PHÁT HIỆN CHUYỂN


T
2
3

ĐỘNG ................................................................................................................... 41
32T

2.1
T
2
3 T
2
3 Tổng quan ................................................................................................ 41
32T 32T

2.2
T
2
3 T
2
3 Giải thuật phát hiện chuyển động ............................................................. 41
32T T
2
3

2.2.1
T
2
3 32T Giải thuật trừ frame............................................................................ 41
32T T
2
3

2.2.2
T
2
3 32T Giải thuật trung bình liên tục.............................................................. 43
32T T
2
3

2.3
T
2
3 T
2
3 Thực nghiệm: vòng từ ảo .......................................................................... 50
32T T
2
3

2.3.1
T
2
3 32T Vòng từ vật lý .................................................................................... 50
32T 32T

2.3.2
T
2
3 32T Vòng từ ảo ......................................................................................... 51
32T 32T

2.3.3
T
2
3 32T Kết quả thực nghiệm .......................................................................... 54
32T T
2
3

2.4
T
2
3 T
2
3 Kết chương ............................................................................................... 57
32T 32T

Chương 3 - ỨNG DỤNG CAMERA GIÁM SÁT TRONG TRONG HỆ THỐNG


T
2
3

GIÁM SÁT AN NINH .......................................................................................... 58


32T

3.1
T
2
3 T
2
3 Tổng quan ................................................................................................ 58
32T 32T

3.2
T
2
3 T
2
3 Các chức năng của hệ thống ..................................................................... 62
32T T
2
3

4
3.2.1
T
2
3 32T Kiểm tra camera................................................................................. 62
32T 32T

3.2.2
T
2
3 32T Phát hiện kẻ xâm nhập ....................................................................... 64
32T T
2
3

3.2.3
T
2
3 32T Phát hiện vào vùng cấm ..................................................................... 66
32T T
2
3

3.2.4
T
2
3 32T Phát hiện vượt rào .............................................................................. 69
32T T
2
3

3.2.5
T
2
3 32T Phát hiện quên đồ .............................................................................. 73
32T T
2
3

3.2.6
T
2
3 32T Phát hiện mất đồ ................................................................................ 76
32T 32T

3.2.7
T
2
3 32T People tracking .................................................................................. 77
32T 32T

3.2.8
T
2
3 32T Đếm đầu người .................................................................................. 80
32T 32T

3.3
T
2
3 T
2
3 Kết chương ............................................................................................... 81
32T 32T

Chương 4 - GIẢI PHÁP ỨNG DỤNG CAMERA GIÁM SÁT TRONG GIAO
T
2
3

THÔNG ................................................................................................................ 82
32T

4.1
T
2
3 T
2
3 Tổng quan ................................................................................................ 82
32T 32T

4.2
T
2
3 T
2
3 Xác định các thông số của phương tiện giao thông ................................... 82
32T T
2
3

4.3
T
2
3 T
2
3 Các ứng dụng ........................................................................................... 83
32T 32T

4.5
T
2
3 T
2
3 Kết chương ............................................................................................... 85
32T 32T

KẾT LUẬN ........................................................................................................... 86


T
2
3 32T

DANH MỤC THAM KHẢO................................................................................. 87


T
2
3 32T

5
DANH MỤC CÁC THUẬT NGỮ VÀ KÝ HIỆU VIẾT TẮT

STT Từ Nghĩa
1 BG Background – nền
2 FG Foreground – tiền cảnh
3 KDE Kernel Density Estimators
4 MDP Motion Detection Problem
5 MM Motion mask
6 MVC Mẫu thiết kế Model–view–controller
7 OM Object mask
8 ROI Region of interest
9 Fps frame per second
10 Frame Khung ảnh

6
DANH MỤC CÁC HÌNH VẼ TRONG LUẬN VĂN

Hình 1: Mô hình hệ thống camera giám sát truyền thống .......................................... 13


U
T
2
3 T
2
3
U

Hình 2: Phòng điều khiển hệ thống camera giám sát ................................................. 14


U
T
2
3 T
2
3
U

Hình 3: Sơ đồ quy trình thực hiện của hệ thống camera giám sát .............................. 15
U
T
2
3 T
2
3
U

Hình 4: Sơ đồ chung cho giải thuật phát hiện chuyển động ....................................... 16
U
T
2
3 T
2
3
U

Hình 5: Minh họa nhược điểm nhạy với ngưỡng của phương pháp trừ frame............ 21
U
T
2
3 T
2
3
U

Hình 6: Phương pháp xác định ngưỡng động ............................................................ 23


U
T
2
3 T
2
3
U

Hình 7: Minh họa phương pháp trộn gaussian........................................................... 26


U
T
2
3 T
2
3
U

Hình 8: Minh họa quỹ đạo dịch trung vị trong không gian dữ liệu ............................ 27
U
T
2
3 T
2
3
U

Hình 9: So sánh giữa KDE(trên) và SKDA(dưới) ..................................................... 28


U
T
2
3 T
2
3
U

Hình 10: Minh họa cách xây dựng một codebook ..................................................... 30
U
T
2
3 T
2
3
U

Hình 11:Minh họa sự thay đổi giá trị của đường các điểm ảnh.................................. 31
U
T
2
3 T
2
3
U

Hình 12: Codebook mẫu ........................................................................................... 32


U
T
2
3 32T
U

Hình 13: So sánh foreground thu được từ phương pháp codebook và phương pháp
U
T
2
3

trung bình ................................................................................................................. 33


32T
U

Hình 14: Kết quả thực nghiệm của Toyama, K et al với một số phương pháp trong
U
T
2
3

các môi trường khác nhau ......................................................................................... 34


32T
U

Hình 15: Mô hình tổng quan của giải thuật tracking ................................................. 36
U
T
2
3 T
2
3
U

Hình 16: Gán ID cho các blob dựa vào tập các track hiện thời .................................. 37
U
T
2
3 T
2
3
U

Hình 17: Cách tính khoảng cách giữa các blob ......................................................... 37
U
T
2
3 T
2
3
U

Hình 18: Ma trận khoảng cách giữa các blobs và các tracks...................................... 38
U
T
2
3 T
2
3
U

Hình 19: Các trường hợp ứng với từng blob ............................................................. 38
U
T
2
3 T
2
3
U

Hình 20: hai trường hợp khi blob bị tách .................................................................. 39


U
T
2
3 T
2
3
U

Hình 21: Minh họa hai đối tượng đụng độ nhau ........................................................ 40
U
T
2
3 T
2
3
U

Hình 22: Sơ đồ giải thuật trừ frame .......................................................................... 42


U
T
2
3 T
2
3
U

Hình 23: Sơ đồ giải thuật trung bình liên tục ............................................................ 43


U
T
2
3 T
2
3
U

7
Hình 24: Mô hình giải thuật lấy ngưỡng động .......................................................... 45
U
T
2
3 T
2
3
U

Hình 25: Dạng histogram của ảnh hiệu ..................................................................... 46


U
T
2
3 T
2
3
U

Hình 26: Vị trí các ngưỡng cao và ngưỡng thấp ........................................................ 47


U
T
2
3 T
2
3
U

Hình 27: Lượng hóa histogram để xác định các cực đại, cực tiểu.............................. 48
U
T
2
3 T
2
3
U

Hình 28: Cài đặt vòng từ cảm ứng trong thực tế ....................................................... 51
U
T
2
3 T
2
3
U

Hình 29: Mô hình giải thuật vòng từ ảo .................................................................... 51


U
T
2
3 T
2
3
U

Hình 30: Tín hiệu trước và sau khi khử nhiễu ........................................................... 52
U
T
2
3 T
2
3
U

Hình 31: Kết quả thực nghiệm vòng từ ảo ................................................................ 54


U
T
2
3 T
2
3
U

Hình 32: Kết quả của bước set ROI .......................................................................... 55


U
T
2
3 T
2
3
U

Hình 33: Kết quả tại các bước của giải thuật trừ frame, lần lượt từ trên xuống: frame
U
T
2
3

đầu vào, ảnh xám, ảnh hiệu, motion mask................................................................. 56


T
2
3
U

Hình 34: Mô hình MVC ........................................................................................... 59


U
T
2
3 32T
U

Hình 35: Giao diện lựa chọn và điều chỉnh tham số đầu vào ..................................... 60
U
T
2
3 T
2
3
U

Hình 36: Khung ảnh hiển thị ảnh đầu ra của chức năng đang thực hiện .................... 61
U
T
2
3 T
2
3
U

Hình 37: Sơ đồ giải thuật kiểm tra camera bị che/dịch chuyển .................................. 62
U
T
2
3 T
2
3
U

Hình 38: Kết quả thực nghiệm chức năng kiểm tra camera ....................................... 63
U
T
2
3 T
2
3
U

Hình 39: Sơ đồ giải thuật phát hiện kẻ xâm nhập ..................................................... 64


U
T
2
3 T
2
3
U

Hình 40: Ảnh đầu ra của chức năng phát hiện kẻ xâm nhập ở chế độ verbose ........... 65
U
T
2
3 T
2
3
U

Hình 41: Kết quả thực nghiệm chức năng phát hiện kẻ xâm nhập ............................. 66
U
T
2
3 T
2
3
U

Hình 42: Sơ đồ giải thuật phát hiện vào vùng cấm .................................................... 67
U
T
2
3 T
2
3
U

Hình 43: Thực nghiệm chức năng phát hiện vào vùng cấm, cảnh không vào vùng
U
T
2
3

cấm........................................................................................................................... 68
T
2
3
U

Hình 44: Thực nghiệm chức năng phát hiện vào vùng cấm, cảnh vào vùng cấm ....... 69
U
T
2
3 T
2
3
U

Hình 45: Sơ đồ giải thuật phát hiện vượt rào............................................................. 70


U
T
2
3 T
2
3
U

Hình 46: Giải thích đầu vào frame ............................................................................ 70


U
T
2
3 T
2
3
U

Hình 47: Các vị trí ứng với các thông báo khác nhau trong chức năng phát hiện vượt
U
T
2
3

rào ............................................................................................................................ 71
T
2
3
U

Hình 48: Kết quả thực nghiệm chức năng phát hiện vượt rào, phát hiện người tiếp
U
T
2
3

cận hàng rào ............................................................................................................. 72


32T
U

8
Hình 49: Kết quả thực nghiệm chức năng phát hiện vượt rào, phát hiện người vượt
U
T
2
3

rào ............................................................................................................................ 73
T
2
3
U

Hình 50: Sơ đồ giải thuật phát hiện quên đồ ............................................................. 74


U
T
2
3 T
2
3
U

Hình 51: So sánh Object mask và SOM .................................................................... 75


U
T
2
3 T
2
3
U

Hình 52: Kết quả thực nghiệm của chức năng phát hiện quên đồ .............................. 76
U
T
2
3 T
2
3
U

Hình 53: Dự đoán vị trí mới của đối tượng trong frame kế tiếp................................. 78
U
T
2
3 T
2
3
U

Hình 54: Sự tương đồng giữa hai histogram ............................................................. 79


U
T
2
3 T
2
3
U

Hình 55: Kết quả thực nghiệm chức năng poeple tracking ........................................ 80
U
T
2
3 T
2
3
U

Hình 56: Sơ đồ giải thuật đếm người ........................................................................ 81


U
T
2
3 T
2
3
U

Hình 57: Sơ đồ giải thuật xác định thông số của phương tiện tham gia giao thông .... 82
U
T
2
3 T
2
3
U

Hình 58: Sơ đồ giải thuật tổng quát của các ứng dụng cảnh báo vi phạm ................. 84
U
T
2
3 T
2
3
U

9
MỞ ĐẦU

Mục đích và lý do chọn đề tài

Ngày nay, với sự bùng nổ mạnh mẽ, ngành công nghệ thông tin đã có những
đóng góp quan trọng trong việc thúc đẩy đất nước phát triển, hòa vào cùng thành
công chung trong sự nghiệp công nghiệp hóa hiện đại hóa đất nước. Nhờ công nghệ
thông tin, mà xu hướng tin học hóa đã đi sâu vào hầu hết các lĩnh vực kinh tế-xã hội,
đem lại hiệu quả làm việc, năng suất lao động cao, và trình độ quản lý hiệu quả.
Một trong những ứng dụng vô cùng quan trọng của công nghệ thông tin mà ta
không thể không kể đến, đó là : Ứng dụng công nghệ thông tin trong việc giám sát
các chuyển động.

Như đã biết trên thế giới hiện đã triển khai rất nhiều mô hình, ứng dụng của hệ
thống giám sát chuyển động bằng hình ảnh :Hệ thống giám sát giao thông bằng hình
ảnh (theo dõi xe lưu thông, điều khiển xe, phát hiện xe vi phạm,…), hệ thống an
ninh (camera thông minh, phát hiện các chuyển động và cảnh báo xâm phạm , phát
hiện các tình huống bất ngờ như ẩu đả, cướp ngân hàng,…), các hệ thống theo dõi
quản lý bằng hình ảnh ở các cửa khẩu, sân bay, bến cảng,…

Ở nước ta, một số tuyến, nút giao thông quan trọng cũng đã triển khai hệ thống
giám sát giao thông bằng hình ảnh như Quốc lộ 1 đoạn Pháp Vân - Cầu Giẽ. Đây là
một ứng dụng vô cùng quan trọng, hữu hiệu trong việc giải quyết bài toán giao
thông vốn rất nan giải ở nước ta.

Xuất phát từ thực tiễn cùng niềm đam mê về lĩnh vực xử lý ảnh, tác giả mong muốn
có được hiểu biết sâu rộng hơn, có nhiều kinh nghiệm hơn về lĩnh vực giám sát
chuyển động bằng hình ảnh. Chính vì vậy, tác giả quyết định chọn đề tài :

10
“Nghiên cứu giáp pháp ứng dụng camera giám sát trong an ninh và giao
thông”

Lịch sử nghiên cứu

Trước khi thực hiện luận văn này, tác giả đã có một số nghiên cứu trong lĩnh vực
xử lý ảnh:

1. 2009, Tìm hiểu thư viện mở về xử lý ảnh OpenCV của Intel: sử dụng thư
viện để xây dựng chương trình xử lý ảnh với hầu hết các tính năng cơ bản.
2. 2010, Xây dựng giao diện và module nhận dạng ký tự trong hệ thống nhận
dạng biển số xe.
3. 2011, Xây dựng ứng dụng tăng cường ảnh cho ảnh X quang trong y tế: tác
giả đã nghiên cứu, và cài đặt nhiều giải thuật tăng cường ảnh trong lĩnh vực
y tế. Lựa chọn, thay đổi để tối ưu giải thuật cân bằng mức xám.

Đối tượng, phạm vi nghiên cứu của luận văn

Đối tượng nghiên cứu của luận văn là các giải thuật phát hiện chuyển động,
tracking.

Phạm vi nghiên cứu của luận văn khá rộng: là toàn bộ các ứng dụng trong giám sát
an ninh và giao thông. Luận văn sẽ phải chỉ ra được giải pháp hợp lý cho mỗi ứng
dụng cụ thể.

Bố cục trình bày và đóng góp mới của tác giả

Toàn bộ nội dung luận văn được trình bày trong bốn chương:

 Chương 1 - Cơ sở lý thuyết: đưa ra cái nhìn tổng quan về bài toán giám sát
chuyển động. Đồng thời, trình bày về các giải thuật phát hiện chuyển động
và tracking. Trong quá trình trình bày, tác giả có liên hệ với những phương

11
pháp đã tìm hiểu qua các bài báo khoa học. Đồng thời, đưa ra những đánh
giá dựa trên kết quả cài đặt các giải thuật.
 Chương 2 - Ứng dụng camera giám sát để phát hiện chuyển động: trình
bày chi tiết các vấn đề của hai giải thuật phát hiện chuyển động phổ biến
trong luận văn: giải thuật trừ frame và giải thuật trung bình liên tục. Tác giả
đã đưa ra phương pháp xác định ngưỡng động. Cuối chương có trình bày ứng
dụng vòng từ ảo, để có thể minh họa cho giải thuật phát hiện chuyển động.
 Chương 3 - Ứng dụng camera giám sát trong hệ thống giám sát an ninh:
trình bày các ứng dụng, chức năng của hệ thống giám sát an ninh. Tác giả đã
đưa ra các giải thuật hợp lý cho từng chức năng. Và chứng minh tính hợp lý
đó bằng kết quả thực nghiệm.
 Chương 4 – Giải pháp ứng dụng camera giám sát trong giao thông: trình
bày cách tiếp cận dựa vào tracking để đưa ra những thông báo khi phát hiện
vi phạm, hoặc những thông tin thông kê về tình hình giao thông.

Cuối cùng, trong phần kết luận, tác giả trình bày những đóng góp của cá nhân,
những khó khăn khi làm luận văn, và hướng phát triển tiếp theo của đề tài.

Phương pháp nghiên cứu

Trong quá trình làm luận văn, tác giả nghiên cứu theo phương pháp:

 Lựa chọn các bài báo thuộc lĩnh vực đang làm theo sự định hướng của thầy
hướng dẫn.Nghiên cứu và cài đặt một số giải thuật trong các bài báo để kiểm
định kết quả.
 Tham khảo các ứng dụng camera giám sát đã có trong thực tiễn.
 Trao đổi với bạn bè, đồng nghiệp để có thể có được những ý tưởng tốt.

Báo cáo này là kết quả của phương pháp nghiên cứu trên, và nỗ lực của tác giả.

12
Chương 1 - CƠ SỞ LÝ THUYẾT

1.1 Tổng quan


Mục đích của hệ thống camera giám sát là đưa ra thông báo khi một trong
các sự kiện định trước xảy ra. Các sự kiện định trước này rất đa dạng. Ví như trong
hệ thống giám sát an ninh có: phát hiện kẻ xâm nhập, vi phạm vùng cấm, mất đồ…
Còn trong hệ thống giám sát giao thông có: xe vượt quá tốc độ, đi sai làn đường, tắc
đường…

Ở mô hình hệ thống camera giám sát truyền thống, tất cả tín hiệu từ camera giám
sát được truyền về phòng điều khiển. Ở đó đặt tất cả các thiết bị lưu trữ, các màn
hình hiển thị, bảng điều khiển, và nhân viên giám sát phải thực hiện giám sát một
cách thủ công.

Hình 1: Mô hình hệ thống camera giám sát truyền thống

13
Hình 2: Phòng điều khiển hệ thống camera giám sát

Ngày nay, thay vì việc tập trung quá nhiều thứ tại phòng điều khiển. Chúng ta có
thể phân tán hệ thống thành nhiều trạm với những nhiệm vụ riêng, có thể lưu trữ
video ngay tại camera giám sát, dùng ethernet thay vì sử dụng cable đồng trục. Và
điều quan trọng hơn cả, phần mềm hệ thống camera giám sát sẽ thông minh hơn –
tự động phát hiện các sự kiện. Các bước trong một phần mềm hệ thống camera giám
sát được phân chia như sau:

14
Video

Phát hiện đối tượng


chuyển động

Đối tượng chuyển động


Theo vết đối tượng

Các đường đi của đối tượng


Phân loại đối tượng

Các đối tượng được phân loại


Đánh nhãn sự kiện

Các sự kiện

Hình 3: Sơ đồ quy trình thực hiện của hệ thống camera giám sát

Video lấy từ các camera giám sát là đầu vào của hệ thống. Video bản chất là các
frame (khung ảnh) thay đổi theo thời gian. Công việc tại mỗi bước cụ thể như sau:

 Phát hiện các đối tượng chuyển động: tìm ra các vật thể chuyển động trong
frame hiện thời. Ở bước này, chúng ta đã có thể nhận biết được rất nhiều các
sự kiện, như: phát hiện kẻ xâm nhập, phát hiện vào vùng cấm, phát hiện vượt
rào, phát hiện mất đồ, ước lượng mật độ giao thông…
 Theo vết đối tượng – tracking: lưu lại đường đi của các đối tượng chuyển
động giữa các frame liên tiếp nhau. Việc xác định vị trí và lưu đường đi của
các đối tượng giúp chúng ta giải quyết được rất nhiều bài toán, như: đếm số
phương tiện giao thông, đi ngược chiều, ước lượng tốc độ…
 Phân loại đối tượng: các đối tượng được phân loại thành: người, xe máy, ô-
tô con, ô-tô tải… giúp ích cho việc thống kê, cũng như hỗ trợ đưa ra cảnh
báo đi sai làn đường.

15
 Đánh nhãn sự kiện: dựa vào kết quả của các bước trên, bước này sẽ chỉ ra
các sự kiện tương ứng và phát đi những cảnh báo cần thiết.

Trong bốn bước trên, phát hiện chuyển động là bước quan trọng nhất. Không chỉ
cần thiết cho mọi bài toán, mà kết quả của bước này còn ảnh hưởng lớn đến độ
chính xác của các bước sau. Theo vết đối tượng – tracking cũng đóng vai trò không
thể thiếu trong một số bài toán.

1.2 Phát hiện chuyển động


Mục đích chính của bài toán này là xác định được vật chuyển động trong
khung ảnh hiện thời của chuỗi video đầu vào. Camera giám sát có thể là cố định
hoặc di chuyển, nhưng thường là cố định. Trong luận văn này, chúng ta mặc định là
camera được cố định.

Một hệ thống phát hiện chuyển động được hình dung theo sơ đồ sau:

Video
sequence
Update

Background Foreground
Preprocessing PostProcessing
modeling detection

Foreground
mask

Hình 4: Sơ đồ chung cho giải thuật phát hiện chuyển động

16
Đầu vào video sequence là chuỗi các hình ảnh - có thể là một stream, hoặc một file
trên ổ cứng. Đầu ra foreground mask cho thông tin về vị trí và hình dáng của vật.
Một giải thuật phát hiện chuyển động cơ bản có bốn bước chính:

1. Tiền xử lý (Preprocessing): lấy và chuẩn hóa frame ảnh từ video đầu vào để
phục vụ cho các bước sau. Thông thường, frame ảnh sẽ được chuyển về
grayscale nhằm giảm thiểu việc xử lý, hoặc có thể chuyển về không gian
màu HSV, hoặc YUV cho đúng với bản chất vật lý của ảnh.
2. Xây dựng mô hình nền (Background modeling): đây là bước quan trọng,
tùy vào từng giải thuật mà mô hình nền được xây dựng theo những cách khác
nhau. Những giải thuật đơn giản sẽ mô hình hóa background chỉ bằng một
ảnh, còn những giải thuật phức tạp hơn sẽ đưa ra một bản mô tả, với cấu trúc
dữ liệu phức tạp hơn.
3. Phát hiện tiền cảnh (Foreground detection): dựa vào frame (khung ảnh)
hiện tại, và background model đã xây dựng từ bước trước sẽ đưa ra hình ảnh
cơ bản của foreground.
4. Hậu xử lý (Postprocessing): xác nhận lại ảnh foreground, loại trừ những
điểm ảnh không thực sự thuộc foreground (nhiễu). Có thể xử lý thêm để
được foreground tốt hơn: không bị phân mảnh, không bị dính các vật với
nhau…

Một số giải thuật có sử dụng ảnh âm bản của foreground để làm mặt nạ khi cập nhật
nền background. Việc này sẽ giúp cho vật không bị cập nhật vào nền.

Hiện nay có rất nhiều giải thuật phát hiện chuyển động, nhưng không có giải thuật
nào được coi là hoàn hảo1[14]. Bởi MDP (Motion Detection Problem – bài toán
0F
P P

phát hiện chuyển động) có rất nhiều vấn đề phải đương đầu.

1
Giải thuật phát hiện chuyển động hoàn hảo là giải thuật có thể khắc phục được tất cả các
vấn đề của bài toán phát hiện chuyển động

17
1.2.1 Các vấn đề của bài toán
 Vật thuộc nền chuyển động: một vật vốn là một phần của nền, đột nhiên
di chuyển khỏi vị trí của nó, và vị trí này sẽ xuất hiện trên foreground mà
đúng ra nó phải thuộc về background.
Lấy ví dụ: hệ thống phát hiện chuyển động quan sát một sân. Khi khởi tạo,
trên sân có đậu một chiếc ô-tô. Sau một khoảng thời gian, ô-tô di chuyển
khỏi vị trí ban đầu. Khi này hệ thống phát hiện chuyển động phải xem xét
để cập nhật lại nền tại vị trí ô-tô đỗ trước kia, nếu không trên foreground
sẽ luôn có một ô-tô đứng yên. Một số bài báo gọi hiện tượng này là ghost
(bóng ma).
 Ánh sáng thay đổi trong ngày: cường độ ánh sáng thay đổi từ từ theo
thời gian trong ngày cũng cần được để ý để cập nhập sự thay đổi này lên
background. Đặc biệt là những camera quan sát ngoài trời.
 Ánh sáng thay đổi đột ngột: sự thay đổi đột ngột về cường độ ánh sáng
có thể làm hỏng background model.
 Cây rung: background đôi khi không tĩnh như mong đợi, mà có thể có
những sự di chuyển, thường là nhỏ , dao động tại chỗ… Những phần tử
này sẽ gây ra nhiễu, và rất dễ bị nhầm lẫn là foreground.
 Ngụy trang: đây là hiện tượng rất thú vị và khó xử lý. Khi mà vật có một
số đặc điểm giống với nền, dẫn đến foreground không bao gồm toàn bộ
vật, mà chỉ chỉ là các phần có thể không liên thông dẫn đến bị nhận biết
thành nhiều vật.
 Mồi: trong một số trường hợp, không thể có thời gian để khởi tạo
background. Có thể là do yêu cầu của ứng dụng, cũng có thể là do cảnh
với foreground dày đặc.
 Sự đồng màu: màu sắc của vật giống với background, nên hệ thống
không phát hiện ra vật đó. Đặc biệt, khi toàn bộ background chỉ có 1 màu
(đồng màu), mà vật cũng cùng màu. Dẫn đến, toàn bộ vật có thể không
được nhận biết.

18
 Vật ngủ quên: một vật vốn thuộc về foreground, nhưng không di chuyển
nữa. Khi đó hệ thống cần phải có cơ chế biến vật đó thành thuộc về
background.
 Bóng: đây là vấn đề rất phổ biến, đặc biệt khi quan sát ngoài trời. Hệ
thống, cần có cơ chế để loại bỏ bóng để có được foreground chính xác.

Để khắc phục các vấn đề trên đã có rất nhiều các phương pháp được để cử. Mỗi
phương pháp có những ưu, nhược điểm riêng. Có thể chia thành 2 nhóm dựa vào
cách biểu diễn mô hình background: các phương pháp cơ bản và các phương
pháp nâng cao.

1.2.2 Các phương pháp cơ bản


Nhóm các phương pháp cơ bản hầu hết được phát triển từ giải thuật trừ nền
cơ bản sau đây.

Trong đó:

 : là khung ảnh hiện tại


 : là ảnh nền hiện tại
 : là ngưỡng

Có thể thấy phương pháp này nhận biết foreground bằng sự khác biệt giữa
khung ảnh hiện thời với một ảnh nền. Ở các phương pháp cơ bản,
thường là một ảnh tĩnh, hơn là một cấu trúc dữ liệu đặc thù. Phương pháp trừ frame
được coi là đơn giản nhất trong tất cả các phương pháp phát hiện chuyển động .

a. Phương pháp trừ frame


Phương pháp này nhận biết foreground bằng sự khác biệt giữa khung ảnh hiện
tại và khung ảnh trước đó .

19
Ánh xạ với phương pháp trừ nền cơ bản thì được coi là nền ứng với
. Lưu ý: không nhất thiết phải là frame ngay trước .
Trong một số trường hợp, do sự khác biệt giữa hai frame liên tiếp là quá nhỏ, chúng
ta có thể nhảy cách vài frame.

Ưu điểm:
U

 Tốc độ thực thi nhanh


 Không yêu cầu bộ nhớ nhiều hơn các phương pháp khác
 Cài đặt đơn giản

Do vậy, phương pháp này phù hợp để tích hợp trong các thiết bị phần cứng để phát
hiện chuyển động.

Nhược điểm :
U

 Rất nhạy cảm với ngưỡng


 Không thể áp dụng trong một số trường hợp, khi mà sự khác biệt giữa các
khung ảnh liên tiếp là quá ít (vật chuyển động chậm chẳng hạn)
 foreground lấy được từ phương pháp này không cho hình dạng đúng của vật
thể

20
Hình 5: Minh họa nhược điểm nhạy với ngưỡng của phương pháp trừ frame

b. Phương pháp trung bình


Background là trung bình của n frame trước đó.Tốc độ nhanh hơn nhưng bù lại
yêu cầu bộ nhớ lớn: bộ nhớ yêu cầu là n*kích thước của một frame.

Đôi khi người ta cũng áp dụng trọng số cho mỗi frame (các frame có càng mới thì
có trọng số càng lớn). Tùy từng trường hợp, việc áp dụng trọng số sẽ cho kết quả tốt
hơn.

21
c. Phương pháp trung bình liên tục
Ở phương pháp này, background được thay đổi liên tục bằng việc cập nhật
frame hiện tại vào nền với một hệ số alpha rất nhỏ.

Trong đó:

 : background của frame kế tiếp


 : background của frame hiện tại
 : frame hiện tại
 : hệ số cập nhật, hệ số này thường nhỏ cỡ 0.1

Đây là phương pháp khá tốt để tạo background mà khắc phục được vấn đề mồi, khi
mà background hoàn hảo không có.

Để ý rằng, phương pháp này cũng không chỉ ra một cách rõ ràng để lựa chọn
hợp lý. Để đơn giản, người ta có thể chọn là một giá trị hằng. Nhưng chỉ với
một giá trị cố định sẽ không thể cho kết quả tốt với tất cả các trường hợp được.
Gupte et al đề cử phương pháp xác định ngưỡng dựa vào độ cao của histogram [6] :

22
Số
điể
Đỉnh của histogram
m
ảnh

10% độ cao của đỉnh

Th Mức xám

Hình 6: Phương pháp xác định ngưỡng động

Cụ thể các bước thực hiện :

 Xây dựng histogram của ảnh hiệu ( )


 Xác định đỉnh của histogram (số điểm ảnh lớn nhất tại một mức xám xác
định)
 Đi từ phải qua trái, hay từ mức xám cao xuống mức xám thấp, nếu gặp vị trí
đầu tiên trên histogram có số điểm ảnh bằng 10% số điểm ảnh của đỉnh thì
mức xám tại vị trí đó được chọn làm ngưỡng Th.

Gupte et al đồng thời cũng sử dụng mặt nạ vùng chuyển động (motion mask) để tối
ưu việc cập nhật lại nền. Young-Kee Jung et al cũng tận dụng motion mask[16],
nhưng cách cập nhật nền có thay đổi:

Qua thực nghiệm, background tạo ra bằng cách này sẽ cho ra những vùng có chung
một mức xám. Dẫn đến ảnh hiệu sẽ có hiện tượng phân thành những vùng giống
như đường đồng mức.

23
d. Phương pháp trung bình liên tục Gaussian
Được để cử bởi Christopher Wren et all (1997)[2]. Coi toàn bộ histogram là một
phân bố chuẩn Gaussian : hàm phân bố mật độ xác suất PDF(probability
density function) của background. Phương pháp cập nhật background pdf: là
phương pháp trung bình liên tục.

Foreground được xây dựng từ :

có thể được chọn bằng , thường lấy . Như vậy, ngưỡng Th với mỗi
điểm ảnh tại mỗi thời điểm là khác nhau.

Có thể thấy độ phức tạp tính toán ở giải thuật này đã lớn hơn các giải thuật trước.
Để giảm độ phức tạp Jianpeng Zhou et al đã đơn giản hóa cách tính độ lệch chuẩn
[8]:

Đồng thời cũng đưa ra thêm hai ngưỡng, ba giá trị khác nhau nhằm tối ưu hóa
giải thuật. Qua thực nghiệm, giải thuật chạy khá nhanh. Nhưng giải thuật phụ thuộc
nhiều vào tham số, và số lượng tham số thì khá lớn.

Phương pháp này không thực hiện được với background đa mô hình, mà phải dùng
đến phương pháp trộn Gaussian.

e. Phương pháp trộn Gaussian


Trộn của K hàm Gaussians [Stauffer and Grimson, 1999]
Trong phương pháp này, background luôn luôn phải là đa mô hình. Nhưng:

 Số lượng mô hình phải đặt trước

24
 Làm thế nào để khởi tạo các hàm Gaussian này?
 Làm thế nào để cập nhật các hàm Gaussian?

Với mỗi frame mới:

 Cập nhật/chuẩn hóa tất cả các


 Cập nhật với những hàm gaussian được chấp nhận (khoảng cách
)

Có thể nhận thấy rằng, phương pháp trộn gaussian thực chất mô hình cả foreground
lẫn background. Vậy làm thế nào để nhặt ra những phân bố là mô hình của
background? Tất cả các phân bố được xếp hạng dựa theo tỷ lệ tương ứng,
phân bố đầu tiên sẽ được chọn làm “background”.

25
Hình 7: Minh họa phương pháp trộn gaussian 2 F
1
P

f. Phương pháp bộ đánh giá mật độ nhân


Phương pháp này thường được gọi tắt là KDE - Kernel Density Estimators
[Elgammal, Harwood, Davis, 2000]. Ý tưởng chung như sau:
 Background PDF(hàm phân bố mật độ xác suất) được tạo từ histogram của n
điểm ảnh mới nhất. Mỗi histogram này đều được làm trơn với một nhân
gaussian
 Điểm ảnh thuộc về background nếu
 Sử dụng motion mask khi cập nhật background
Phương pháp này yêu cầu bộ nhớ , thời gian tính các giá trị của
nhân lớn.

2
Nguồn: Pavlidis, I. Morellas, V. Tsiamyrtzis, P. Harp, S. (2001). Urban
surveillance systems: from the laboratory to the commercial world.
Proceedings of the IEEE, 89, trang 1478 - 1497.

26
g. Phương pháp đánh giá dựa vào dịch trung vị
Phương pháp đánh giá dựa vào dịch trung vị - Mean-shift based estimation [Han,
Comaniciu, Davis, 2004; Piccardi, Jan, submitted 2004]. Phương pháp gradient-
ascent có thể phát hiện các mode cùng với ma trận hiệp biến của phân bố đa mô
hình. Bước lặp, dừng lại cho tới khi hội tụ.

Vector dịch trung vị:

Hình 8: Minh họa quỹ đạo dịch trung vị trong không gian dữ liệu

Với phương pháp này, nếu cài đặt thông thường – sử dụng phương pháp lặp thì
chi phí tính toán lớn, và yêu cầu bộ nhớ . Do vậy, khi cài đặt cần
chú ý tối ưu hóa tính toán và chỉ sử dụng để xác định background PDF mode khi
khởi tạo, sau đó có thể dùng phương pháp có chi phí tính toán nhỏ hơn như chế độ
lan truyền.

27
h. Phương pháp xấp xỉ mật độ nhân liên tục
Xấp xỉ mật độ nhân liên tục (SKDA) – Sequential Kernel Density
Approximation [Han, Comaniciu, Davis, 2004] là phương pháp được đánh giá
nhanh và sử dụng ít bộ nhớ hơn KDE. Nó là phương pháp kết hợp giữa đánh giá và
lan truyền:

 Khởi tạo, sử dụng việc phát hiện mode dịch trung vị từ các mẫu
 Những mode sau khi khởi tạo sẽ được lân truyền bằng cách thích ứng chúng
với các mẫu mới:

 Những mode đã có được trộn với nhau bằng các thủ tục heuristic. Số lượng
các mode có thể thay đổi.

Hình 9: So sánh giữa KDE(trên) và SKDA(dưới) 3 F


2
P

3
Nguồn: B. Han, D. Comaniciu, and L.. Davis, "Sequential kernel density approximation
through mode propagation: applications to background modeling,“ Proc. ACCV 2004

28
i. Phương pháp Eigenbackgrounds
Eigenbackground [N. M. Oliver, B. Rosario, and A. P. Pentland, 2000] được chính
tác giả khảng định là chạy nhanh và tốt hơn phương pháp trộn Gaussians. Có sáu
bước chính:

1. Lấy ra n frame để sắp xép lại thành các cột của ma trận A
2. Tính ma trận hiệp biến
3. Tính ma trận đường chéo L, và ma trận eigenvector từ C
4. Chỉ giữ lại M eigenvector đầu tiên (Eigenbackgrounds )
5. Khi có ảnh mới I, chiếu I lên không gian con trong M eigenvector đã có. Sau
đó, xây dựng lại thành I’
6. Tính hiệu . Hiệu này chính là foreground, vì không gian con chỉ thể
hiện phần tĩnh của khung cảnh.

1.2.3 Các phương pháp nâng cao


Những phương pháp cơ bản không thể áp dụng cho những cảnh có nền phức tạp,
như: quạt quay, rèm đung đưa, cây rung, sóng nước… Dẫn đến, background không
thể biểu diễn bằng một ảnh nền nữa mà phải mô hình hóa với những cấu trúc dữ
liệu đặc thù tương ứng với mỗi phương pháp. Cũng có nhiều phương pháp riêng
biệt để khắc chế những khó khăn này, như:

 Trộn Gaussian dựa theo vùng (Region-based mixture of Gaussians)


 Khung thống kê cho phương pháp trừ nền (Statistical framework for BGS)
 Phát hiện dịch chuyển dựa chuyển động

Có thể thấy, tất cả các phương pháp nâng cao đều yêu cầu chi phí về bộ nhớ và thời
gian tính toán lớn. Ứng dụng những phương pháp này trong hệ thống thời gian thực
là rất khó khăn. Luận văn sẽ trình bày một phương pháp nâng cao khá hiệu quả, đó
là codebook. Background sẽ được mô hình bởi các codebook.

29
Một codebook được tạo thành từ những hộp bao nhiều giá trị chung của một
điểm ảnh qua chuỗi ảnh đầu vào (qua thời gian)[5]. Hình minh họa sau sẽ làm rõ
hơn:

Hình 10: Minh họa cách xây dựng một codebook 4 F


3
P

Hình phía trên (Waveform) thể hiện sự thay đổi về giá trị của một điểm ảnh
theo thời gian ở dạng đường. Giá trị của điểm ảnh ở đây chỉ giá trị mức xám nếu là
ảnh xám, là giá trị của từng kênh riêng biệt ở không gian màu YUV hoặc HSV nếu
là ảnh màu.

4
Nguồn: Gary Bradski; Adrian Kaehler. (2008). Learning OpenCV: Computer Vision with
the OpenCV Library. Sebastopol: O’Reilly, page 279.

30
Hình phía dưới (Codebook formation) chỉ ra cách hình thành codebook. Codebook
là những hộp (hình chữ nhật dọc), nó được khởi tạo với kích thước tối thiểu vào bao
lấy giá trị điểm ảnh. Qua thời gian, giá trị điểm ảnh thay đổi:

 Nếu thay đổi nhỏ, không vượt quá xa kích thước của hộp thì hộp đó sẽ to lên
để bao lấy giá trị mới.
 Nếu thay đổi quá lớn, một hộp mới được khởi tạo.

Lấy một ví dụ trực quan: hình dưới thể hiện sự thay đổi mức xám trên một hàng
(đường bị tô đen đậm) qua thời gian (60 frames). Background là cảnh cây rung
trong gió, foreground là bàn tay.

Hình 11:Minh họa sự thay đổi giá trị của đường các điểm ảnh.5 F
4
P

Có thể thấy, vùng màu tối (bên trái, phía trên) tương đối ổn định. Vùng các
nhánh cây dao động (ở giữa, phía trên) có dao động lớn.

5
Nguồn: Gary Bradski; Adrian Kaehler. (2008). Learning OpenCV: Computer Vision with
the OpenCV Library. Sebastopol: O’Reilly, page 268.

31
Khi học mô hình background theo phương pháp codebook, mỗi hộp được
định nghĩa bởi hai ngưỡng (max và min) cho mỗi kênh. Các ngưỡng này sẽ được nở
ra (max lớn lên, min bé lại) nếu giá trị điểm ảnh ở background mới rơi trong
ngưỡng học (learnHigh và learnLow) những phía trên max hoặc dưới min. Nếu giá
trị này rơi ngoài hai ngưỡng và vượt quá ngưỡng học thì một hộp khác bắt đầu
(không bỏ hộp cũ). Chúng ta có thể định nghĩa thêm hai ngưỡng nữa: hai ngưỡng
chấp nhận (dưới và trên) để sử dụng khi trừ nền. Một điểm ảnh sẽ thuộc về nền nếu
giá trị của nó nằm trong hoặc đủ sát (xác định bởi ngưỡng chấp nhận) với bất kỳ
hộp nào của codebook tương ứng. Ngược lại, điểm đó thuộc foreground.

Hình dưới đưa ra một minh họa rất thú vị. Dưới đây là codebooks của sáu điểm ảnh
(vùng sẽ bị tay che) thuộc đường đang xét ở hình trên.

Hình 12: Codebook mẫu

Nếu dùng các phương pháp cơ bản thì một số trường hợp như ở hình trên sẽ
không phân biệt được điểm ảnh thuộc nền hay vậy. Nhưng với codebook, độ sáng
của tay hoàn toàn nằm ngoài những hộp, do vậy điểm này được nhận biết chính xác
thuộc về foreground. Điều này thể hiện rõ ở kết quả thực nghiệm sau:

32
Hình 13: So sánh foreground thu được từ phương pháp codebook và phương pháp
trung bình

33
1.2.4 So sánh và đánh giá các phương pháp
Toyama, K et al đã công bố kết quả thực nghiệm một số phương pháp với
các vấn đề của bài toán[14].

Hình 14: Kết quả thực nghiệm của Toyama, K et al với một số phương pháp trong
các môi trường khác nhau

34
Bảng sau sẽ cho cái nhìn tổng quan về tốc độ thực thi, và yêu cầu bộ nhớ của các
phương pháp cơ bản.

Phương pháp Phương pháp


Phương pháp Phương pháp
trung bình liên trung bình liên
trừ frame trung bình
tục tục Gaussian
Tốc độ Nhanh Nhanh Nhanh Trung bình
Yêu cầu bộ nhớ Ít Nhiều Ít Trung bình

Phương pháp bộ Phương pháp Phương pháp xấp Phương pháp


Phương pháp
đánh giá mật độ đánh giá dựa vào xỉ mật độ nhân Eigenbackgrounds
trộn Gaussians
nhân dịch trung vị liên tục
Trung bình Trung bình Chậm Trung bình Trung bình
Trung bình Nhiều Nhiều Trung bình Trung bình

Mỗi phương pháp có những ưu điểm và nhược điểm riêng, có thể khắc chế
được nhiều hay ít các vấn đề của bài toán. Những, không tồn tại giải thuật hoàn hảo.
Tùy vào từng trường hợp, chúng ta sẽ cân nhắc, lựa chọn giải thuật phù hợp.

35
1.3 Tracking
Nhiệm vụ của tracking là định danh các đối tượng trong frame ảnh hiện thời,
và lưu lại những vị trí trước đó của đối tượng. Mô hình tổng quan của giải thuật
tracking như sau:

Các blob

Trạng thái hiện tại Gán ID cho các


(tập các track) blob

Cập nhật lại


Đối tượng Phát hiện
mô hình đã có tách
Đối tượng Phát
mới hiện gộp

Cập nhật Tạo mới Giải quyết Giải quyết


track track gộp tách

Hình 15: Mô hình tổng quan của giải thuật tracking

Đầu vào của bài toán này chính là đầu ra của bài toán phát hiện chuyển động:
foreground mask (mặt nạ tiền cảnh). Trên thực tế, các vùng trên foreground mask
được phân chia thành các blob. Các blob này mới thực sự là đầu vào.

Mỗi đối tượng sẽ được đại diện bởi một track gồm ID(định danh) và lịch sử các vị
trí của đối tượng đó. Trạng thái hiện tại chính là tập các track. Việc gán ID cho các
blob đầu vào sẽ dựa vào trạng thái hiện tại.

36
Hình 16: Gán ID cho các blob dựa vào tập các track hiện thời

Chúng ta phải tính khoảng cách của các blob với các track để có thể tìm ra
track tương ứng cho mỗi blob. Khoảng cách giữa blob với track chính là khoảng
cách giữa blob trong frame hiện thời với blob ứng với track trong frame trước. Một
số cách tính khoảng cách như sau:

Hình 17: Cách tính khoảng cách giữa các blob

a. Khoảng cách từ biên tới biên của hai blob


b. Khoảng cách từ tâm tới tâm của hai blob
c. Khoảng cách từ tâm của blob thuộc frame trước tới hình chữ nhật bao của
blob đầu vào
d. Khoảng cách giữa hai hình chữ nhật bao blob.

Chọn một trong bốn cách đo khoảng cách trên, chúng ta xây dựng ma trận khoảng
cách giữa blob và track. Giả sử kết quả được như sau:

37
Hình 18: Ma trận khoảng cách giữa các blobs và các tracks

Chọn ngưỡng để lấy ra những blob và track gần nhau. Những vị trí nhỏ hơn ngưỡng
được tô đậm. Các trường hợp có thể xảy ra được thể hiện ở hình dưới:

Hình 19: Các trường hợp ứng với từng blob

1. Cập nhật track: trường hợp gán không bị nhập nhằng. Cập nhật track này
vào mô hình bằng cách thêm những thuộc tính của blob hiện tại vào lịch sử
của track. Các thuộc tính của blob có thể là: tâm, hình chữ nhật bao, mặt nạ,
thể tích… Nếu cảnh mà thưa thì hầu hết là xảy ra trường hợp này.
2. Tạo mới/xóa track:

38
 Tạo mới track khi mà blob không được gán cho track nào. Cần lưu ý,
nhiễu sẽ tạo ra những track ngắn
 Xóa track khi track đó không xuất hiện trong N frame. N phụ thuộc
vào cảnh và giải thuật
3. Giải quyết tách: khi một blob bị tách thì có thể xảy ra hai trường hợp
 Đối tượng bị phân mảnh: cần phải gán tất cả các mảnh cho cùng một
đối tượng
 Hai đối tượng đi cùng nhau, và bây giờ tách ra: cần tạo đối tượng mới

Hình 20: hai trường hợp khi blob bị tách

4. Giải quyết gộp: khi hai đối tượng luôn luôn di chuyển cùng nhau, với cùng
tốc độ thì cần phải xem xét để gộp hai đối tượng thành một.

Đụng độ là hiện tượng rất phổ biến, khi hai đối tượng riêng biệt di chuyển lại gần
nhau, đè lên nhau sau đó lại tách ra. Cần phải có cơ chế để gán ID đúng cho từng
đối tượng. Có thể hình dung như hình dưới đây:

39
Hình 21: Minh họa hai đối tượng đụng độ nhau

Một cách đơn giản để giải quyết vấn đề này như sau:

 Khi hai đối tượng đụng độ: track nó như một đối tượng mới
 Khi đối tượng mới này tách ra: cần xem xét A==C hay A==D bằng cách sử
dụng các đặc điểm của đối tượng: hình dạng, kích thước, quỹ đạo, độ tương
quan…

1.4 Kết chương


Chương cơ sở lý thuyết đã đưa ra cái nhìn tổng quan, đồng thời cũng trình
bày rõ ràng các phương pháp để giải quyết hai bài toán quan trọng nhất trong hệ
thống camera giám sát, đó là phát hiện chuyển động và tracking. Phần phát hiện
chuyển động lần lượt trình bày các phương pháp. Trong đó có đưa ra những đánh
giá, so sánh giữa các giải thuật mà tác giả đã đọc, cài đặt. Phần tracking có đưa ra
mô hình tổng quan của giải thuật và trình bày chi tiết theo mô hình. Chương này
đóng một vai trò quan trọng trọng làm tiền đề cho các chương ứng dụng về sau.

40
Chương 2 - ỨNG DỤNG CAMERA GIÁM SÁT ĐỂ PHÁT HIỆN
CHUYỂN ĐỘNG

2.1 Tổng quan


Phát hiện chuyển động là phần quan trọng, không thể thiếu đối với mọi hệ
thống ứng dụng camera giám sát. Nó ảnh hứng trực tiếp đến độ chính xác, tốc độ,
cũng như yêu cầu bộ nhớ của hệ thống. Ở chương trước – chương cơ sở lý thuyết,
đã trình bày các phương pháp phát hiện chuyển động cơ bản lẫn nâng cao. Chương
này sẽ đi vào chi tiết cài đặt các giải thuật phát hiện chuyển động được sử dụng
trong luận văn.

2.2 Giải thuật phát hiện chuyển động

2.2.1 Giải thuật trừ frame


Trừ frame là giải thuật phát hiện chuyển động nhanh và yêu cầu ít bộ nhớ
nhất. Nó thích hợp cho các bài toán đơn giản, chỉ cần chỉ ra có chuyển động hay
không. Vì vậy, trừ frame được dùng trong ứng dụng vòng từ ảo 6 F
5
P

6
Xem mục 2.3

41
Frame hiện tại

Chuyển về Ảnh xám Lấy hiệu Ảnh hiệu Lấy Motion mask
ảnh xám tuyệt đối ngưỡng

Frame trước
Lưu frame

Hình 22: Sơ đồ giải thuật trừ frame

Cụ thể các bước thực hiện:

 Chuyển về mức xám: chuyển frame hiện tại thành ảnh đa mức xám. Việc này
sẽ giúp giải thuật thực hiện nhanh hơn. Đồng thời, nó cũng giúp đảm bảo
chất lượng của giải thuật vì mức xám của điểm ảnh thể hiện cường độ sáng
của điểm ảnh đó.
 Lấy hiệu tuyệt đối:
 Lấy ngưỡng: để đảm bảo tốc độ tối ưu cho giải thuật, ngưỡng sẽ được chọn
là một giá trị cố định Th. Với mỗi điểm ảnh

42
2.2.2 Giải thuật trung bình liên tục
Giải thuật trung bình liên tục được cài đặt trong hầu hết các ứng dụng của
luận văn. Bởi tính dễ cài đặt, kết quả tốt, chạy nhanh và không yêu cầu bộ nhớ lớn.

Frame hiện tại

Chuyển về ảnh
xám/HSV

Ảnh xám

Cập nhật BG Lấy hiệu Diff Lấy


background tuyệt đối ngưỡng

Motion mask
Object mask
Hậu
xử lý

Object mask

Hình 23: Sơ đồ giải thuật trung bình liên tục

Các bước thực hiện:

a) Chuyển về ảnh xám: đây có thể được coi là bước tiền xử lý. Frame ảnh hiện
tại sẽ được chuyển về ảnh đa mức xám hoặc về hệ màu HSV, tùy vào từng
bài toán. Trong một số trường hợp, đầu vào là video HD, có thể có thêm
bước thay đổi kích thước của frame để tăng tốc xử lý.
b) Cập nhật background: do có sử dụng mặt nạ đối tượng trong khi cập nhật
background, nên cần có bước khởi tạo background.

43
 Bước khởi tạo: sử dụng phương pháp trung bình liên tục, không dùng
mặt nạ.
 Bước cập nhật: thực hiện tại mỗi frame mới, dựa vào mặt nạ đối
tượng – object mask, background sẽ chỉ cập nhật tại những điểm ảnh
không phải là foreground.Với mỗi điểm ảnh

Trong đó:
- : background của frame hiện tại và kế tiếp
- : frame hiện tại
- : mặt nạ đối tượng tại frame
c) Lấy hiệu tuyệt đối: , theo phương pháp tính này, giá
trị điểm ảnh thuộc là số thực, cần chuyển về số nguyên trước khi lấy hiệu.
d) Lấy ngưỡng: tùy vào từng bài toán mà có cách lấy ngưỡng khác nhau, đơn
giản nhất, có thể chọn một giá trị cố định phù hợp. Tuy nhiên, phương pháp
này rất nhạy cảm với ngưỡng, ngưỡng cố định có thể sẽ không cho kết quả
như mong đợi. Khi đó chúng ta có thể chọn ngưỡng động, hoặc dùng các
phương pháp lấy ngưỡng thích nghi (adaptive threshold). Đầu ra của bước
này sẽ là MM – Motion Mask
e) Hậu xử lý: ảnh nhị phân thu được sau khi lấy ngưỡng thường có nhiều nhiễu,
và các đối tượng bị phân mảnh. Nhiệm vụ của bước này là lọc nhiễu và kết
nối các phân mảnh của cùng đối tượng bằng phương pháp hình thái học –
morphology.
 Thực hiện erode (ăn mòn) với số lần lặp là , sẽ giúp loại bỏ nhiễu.
Việc chọn là rất quan trọng:
- quá bé sẽ không loại bỏ được nhiều nhiễu
- quá lớn sẽ làm ăn mòn cả đối tượng

44
 Thực hiện dilate (nở) với số lần lặp là . Chọn để có thể kết
nối những bộ phận phân mảnh của đối tượng.

Lấy ngưỡng động:

Việc lấy ngưỡng ảnh hưởng lớn đến chất lượng của giải thuật. Phương pháp
lấy ngưỡng động sẽ cho kết quả tối ưu hơn nhưng chi phí tính toán sẽ lớn hơn. Thực
hiện lấy ngưỡng động bao hàm cả hai bước lấy ngưỡng và hậu xử lý. Do vậy, đầu
vào sẽ là ảnh hiệu , đầu ra sẽ là Object Mask.

Lấy ngưỡng Morphology L mask


thấp
AND Object mask

Lấy ngưỡng Morphology


cao H mask

Hình 24: Mô hình giải thuật lấy ngưỡng động

Thay vì chọn một ngưỡng, giải thuật này chọn hai ngưỡng: ngưỡng cao và ngưỡng
thấp. Kết quả sau khi lấy ngưỡng sẽ được morphology (erode, dilate) thành L mask
(ngưỡng thấp) và H mask (ngưỡng cao). Có thể nhận thấy rằng:

 L mask trước khi thực hiện morphology, do lấy ngưỡng thấp nên sẽ có nhiều
nhiễu, nhưng đối tượng lại liên thông – không bị phân mảnh. Do vậy, sẽ thực
hiện erode với một số lần lớn để mất đi nhiễu, sau đó lại thực hiện dilate với
số lần rất lớn. Thực hiện nhiều lần cách thao tác morphology sẽ làm mất đi
hình dạng của đối tượng. Kết quả là L mask sẽ không cho chúng ta được mặt
nạ đối tượng mà chỉ chỉ ra được những vùng chứa đối tượng .

45
 H mask trước khi thực hiện morphology, do lấy ngưỡng cao nên đã loại được
một phần nhiễu, nhưng đối tượng lại bị phân mảnh. Vì thế, thao tác
morphology ở đây chủ yếu là dilate (nở). H mask sẽ cho ta mặt nạ của đối
tượng và nhiễu.

Bằng việc AND L mask và H mask chúng ta sẽ thu được mặt nạ đối tượng, đồng
thời loại trừ được nhiễu. Trong giải thuật này, chúng ta vẫn chưa đề cập đến việc
chọn các ngưỡng như thế nào? Khi mà, các ngưỡng này lại có ảnh hưởng lớn đến
chất lượng của giải thuật.

Chọn ngưỡng động

Nhận xét: ảnh


U U là ảnh hiệu nên màu nền sẽ là màu đen. Histogram của nó
thường có dạng sau:

Số điểm ảnh

Background Foreground Mức xám

Hình 25: Dạng histogram của ảnh hiệu

Background luôn luôn là màu có mức xám nhỏ, foreground có mức xám lớn hơn.
Điểm cực tiểu Th nằm giữa hai đỉnh phân chia foreground và background là ngưỡng
tối ưu trong trường hợp dùng một ngưỡng. Trong trường hợp dùng hai ngưỡng, ta
chọn như sau:

46
Số điểm ảnh

bP Th fP Mức xám

Hình 26: Vị trí các ngưỡng cao và ngưỡng thấp

Chọn các ngưỡng là trung vị của Th và các đỉnh, cách chọn này sẽ đảm bảo hiệu
quả của giải thuật :

 Ngưỡng thấp (low threshold): , bP (background peak)


- mức xám tại đỉnh của background
 Ngưỡng cao (high threshold): , fP (foreground peak) -
mức xám tại đỉnh của foreground

Trên thực tế, histogram của ảnh không thể trơn như hình trên, mà nó nhấp nhô, gồm
rất nhiều các điểm cực tiểu, cực đại địa phương. Do vậy, việc xác định các điểm Th,
fP, bP khó có thể thực hiện được trên histogram ban đầu. Các phương pháp làm trơn
histogram cũng không thể giải quyết được vấn đề này. Giải pháp ở đây là lượng hóa
histogram:

47
n
Bin length( )

Hình 27: Lượng hóa histogram để xác định các cực đại, cực tiểu

 Bước 1: chia histogram thành các bin có độ dài bằng nhau (bin length). Nên
chọn bin length là 2, 4, 8, 16, 32 … (ước số của 256) để thuận lợi cho việc
tính toán. Giá trị của mỗi bin bằng số điểm ảnh nằm trong bin đó

Trong đó, là độ dài của mỗi bin – bin length.

 Bước 2: khảo sát sự biến thiên của các bin. Khởi tạo mảng có độ dài
bằng số bin. Như ở ví dụ trên có 12 bin. Tính:

Với

48
- bin tương ứng là cực đại
- bin tương ứng là cực tiểu
 Bước 3: xác định và tính các ngưỡng .
- Giá trị mức xám của đỉnh histogram thuộc background sẽ nằm
trong bin đầu tiên có (cực đại).
- Giá trị mức xám tại vị trí cực tiểu phân cách background và
foreground sẽ nằm trong bin đầu tiên có (cực tiểu).
- Giá trị mức xám của đỉnh histogram thuộc foreground sẽ nằm
trong bin lớn nhất trong số tất cả các bin nằm bên phải bin chứ . Có
thể thực hiện tối ưu bằng việc chỉ so sánh những bin tương ứng với
.
- bP, Th, fP được tính bằng điểm chính giữa thuộc bin đó. Ví dụ, bP
thuộc thì .

- Tính: như công thức đã đưa ra ở trên:

Như vậy, luận văn vừa trình bày chi tiết hai giải thuật phát hiện chuyển động.
Giải thuật trừ frame sẽ được áp dụng trong bài toán vòng từ ảo, giải thuật trung bình
liên tục dùng trong tất cả các bài toán còn lại. Mục sau sẽ là một thực nghiệm đơn
giản, ứng dụng giải thuật phát hiện chuyển động.

49
2.3 Thực nghiệm: vòng từ ảo

2.3.1 Vòng từ vật lý


Vòng từ vật lý, vòng từ cảm ứng hay gọi tắt là vòng từ được cài đặt trong
thực tế là bộ cảm ứng , dùng để phát hiện phương tiện giao thông tại vị trí đặt vòng
từ. Mô hình bên dưới cho chúng ta cái nhìn tổng quan về hệ thống.

Figure 1: Hệ thống vòng từ cảm ứng 7F


6
P

Khi phương tiện di chuyển qua vị trí đặt vòng từ, sẽ gây ra sự thay đổi trong trường
điện từ, và được đo bởi điện kế. Tín hiệu có sự thay đổi sẽ truyền đến máy tính hệ
thống.

7
Nguồn: HowStuffWorks

50
Hình 28: Cài đặt vòng từ cảm ứng trong thực tế

Vòng từ được lắp đặt trên đường, nên rất khó khăn cho việc lắp đặt và bảo trì. Tận
dụng hệ thống camera giám sát, vòng từ ảo sẽ là giải pháp hợp lý thay thế cho vòng
từ vật lý.

2.3.2 Vòng từ ảo
Ứng dụng của vòng từ ảo cũng phải giống như của vòng từ vật lý: phát hiện
phương tiện chuyển động qua vị trí đặt vòng từ. Đầu vào của giải thuật là video từ
camera giám sát và vị trí vòng từ.

Vị trí vòng từ

Tín hiệu
Video Set ROI Phát hiện Đánh giá
chuyển động

Hình 29: Mô hình giải thuật vòng từ ảo

51
Vị trí vòng từ chỉ ra vùng trên frame mà cần phát hiện chuyển động, hay nói các
khác, đó chính là vùng ảnh sẽ thao tác (ROI – region of interest). Việc set ROI
giống như đặt mặt nạ lên tất cả các frame đầu vào.

Vòng từ ảo thường là một phần nhỏ trong một hệ thống lớn, với mục đích đưa ra tín
hiệu khi có chuyển động. Mặt khác, khung cảnh là ngoài trời, thường có sự thay đổi
về độ sáng, mật độ giao thông đông. Do vậy, phải lựa chọn giải thuật phát hiện
chuyển động yêu cầu chi phí tối thiểu mà vẫn giải quyết được vấn đề thay đổi ánh
sáng và không cần khởi tạo nền. Giải thuật trừ frame thỏa mãn tốt tất cả những yêu
cầu này.

Bước đánh giá sẽ dựa vào mặt nạ chuyển động trả về từ bước trước để để đưa ra
quyết định có xe chạy qua vòng từ hay không. Cụ thể, thực hiện như sau:

 Tính tỷ lệ: nằm trong


ROI
 Tìn hiệu phát đi khi . thường là nhỏ, và phụ thuộc vào cảnh
cũng như kích thước của vòng từ. Mặc định .

Do ngưỡng phát tín hiệu rất nhỏ nên chỉ cần có chút nhiễu trên vòng từ cũng
có thể gây phát tín hiệu. Nếu không khử nhiễu, tín hiệu đầu ra sẽ ON/OFF liên tục
tại thời điểm bị nhiễu. Cần phải có một phương pháp khử nhiễu.

Hình 30: Tín hiệu trước và sau khi khử nhiễu

52
Giải pháp khử nhiễu tín hiệu: khi tín hiệu đầu vào thay đổi, không thay đổi tín hiệu
đầu ra ngay mà đợi một khoảng thời gian là . Mặc định .
Trong nếu tín hiệu vào có sự thay đổi thì giữ nguyên tín hiệu ra và ngược lại,
nếu không sự thay đổi ở tín hiệu vào thì tín hiệu ra sẽ thay đổi. Tuy nhiên, với giải
pháp này, tín hiệu đầu ra sẽ bị trễ .

53
2.3.3 Kết quả thực nghiệm
Dưới đây là kết quả cài đặt ứng dụng vòng từ ảo theo giải thuật ở trên. Các
thông số, danh sách các video đầu vào cùng với các tham số ứng với mỗi video có
thể được hiển thị, thay đổi, thêm/xóa ở giao diện console. Đầu vào có thể là video
file, video stream, hay thiết bị camera gắn với máy. Đầu ra được thực thể hiện trực
quan ngay trên frame hiển thị đầu ra:

Hình 31: Kết quả thực nghiệm vòng từ ảo

Vị trí vòng từ ảo được thể hiện bằng hình đa giác như trong hình. Có hai tín hiệu
đầu ra:

 ON: vòng từ được điền bằng màu đỏ, cạnh màu vàng

54
 OFF: vòng từ không được điền, cạnh có màu xanh

Ở hình trên, tín hiệu ra là ON. Sau đây chúng ta sẽ xem xét chi tiết đầu ra ở từng
bước của giải thuật:

Hình 32: Kết quả của bước set ROI

55
Hình 33: Kết quả tại các bước của giải thuật trừ frame, lần lượt từ trên xuống:
frame đầu vào, ảnh xám, ảnh hiệu, motion mask

Dựa vào kết quả thực nghiệm, có thể khảng định ứng dụng vòng từ ảo hoạt động tốt,
đáp ứng mọi yêu cầu đã đặt ra của ứng dụng.

56
2.4 Kết chương
Ở chương này, chúng ta đã đi vào chi tiết hai giải thuật phát hiện chuyển động
được cài đặt trong các bài toán ứng dụng. Và kết chương với ứng dụng vòng từ ảo:

 Giải thuật trừ frame: Trình các sơ đồ, và chi tiết bước của giải thuật. Đồng
thời cũng khảng định đây là giải thuật đơn giản, dễ cài đặt, và có chi phí tính
toán thấp.
 Giải thuật trung bình liên tục: Trình bày sơ đồ, và cặn kẽ các bước của giải
thuật. Đồng thời đưa ra phương pháp lấy ngưỡng động để nâng cao chất
lượng của giải thuật.
 Ứng dụng vòng từ ảo được trình bày ở cuối chương, khảng định lại bằng
thực nghiệm những ưu/nhược điểm của giải thuật trừ frame. Mục này cũng
đưa ra phương pháp khử nhiễu tín hiệu đơn giản, nhưng rất hiệu quả.

57
Chương 3 - ỨNG DỤNG CAMERA GIÁM SÁT TRONG TRONG
HỆ THỐNG GIÁM SÁT AN NINH

3.1 Tổng quan


Hệ thống giám sát an ninh có nhiệm vụ đưa ra những thông báo/cảnh báo khi
phát hiện ra các vấn đề an ninh qua việc tự động phân tích video từ hệ thống camera
giám sát. Theo định nghĩa, có rất nhiều chức năng trong hệ thống, dưới đây là các
chức năng điển hình và đã được cài đặt:

 Kiểm tra camera: đưa ra cảnh báo khi camera không có tín hiệu, bị che, hay
bị di chuyển
 Phát hiện kẻ xâm nhập: đưa ra cảnh báo khi có kẻ xâm nhập.
 Phát hiện vào vùng cấm: đưa ra cảnh báo khi phát hiện có người/vật di
chuyển vào trong khu vực cấm
 Phát hiện vượt rào: cảnh báo khi có người vượt rào vào khu vực cấm/nguy
hiểm
 Phát hiện quên đồ: ứng dụng trong phòng chờ của sân bay, ga tàu… Đưa ra
cảnh báo khi có đồ vật để quên
 Phát hiện mất đồ: có thể ứng dụng trong viện bảo tàng, phòng trưng bày
hay gian hàng. Đưa ra cảnh báo khi đồ vật bị mất (có thể là trộm)
 People tracking: ứng dụng tracking dùng để lưu dấu của con người khi di
chuyển. Chức năng này được dùng như bài toán cơ bản của nhiều chức
năng/ứng dụng khác
 Đếm đầu người: kết hợp với tracking, đếm số lượng người vào/ra.

Về thiết kế, hệ thống dựa trên mô hình MVC (Model–view–controller). Có thể hình
dung một cách tổng quan về MVC như mô hình dưới đây:

58
Hình 34: Mô hình MVC

 Đường liền nét thể hiện quên hệ kết hợp trực tiếp
 Đường dứt nét thể hiện quan hệ gián tiếp (có thể thông qua lớp thứ ba chẳng
hạn)

Chức năng của mỗi thành phần như sau:

 Model: có nhiệm vụ lưu trữ dữ liệu của toàn bộ hệ thống, cung cấp giao diện
để thao tác dữ liệu, đồng thời đảm nhiệm việc vào/ra dữ liệu.
 View: đảm nhiệm việc giao tiếp với người dùng, giao diện người dùng.
 Controller: thực thi các yêu cầu từ phía người dùng từ view, rồi chuyển cho
model. Khi model thay đổi, sẽ đưa ra tín hiệu cập nhật lại view (có thể thông
qua một observer).

Với mô hình MVC, chúng ta có thể thay đổi Model để thích ứng với các cấu trúc dữ
liệu đầu vào khác nhau, thay đổi view để cung cấp các giao diện hợp lý đối với yêu
cầu của từng ứng dụng. Sự linh hoạt này chính là lý do MVC được chọn làm mẫu
thiết kế cho hệ thống.

Dưới đây sẽ giới thiệu về giao diện của hệ thống camera giám sát trong an ninh.
Giao diện gồm hai phần chính:

 Phần thứ nhất: giao diện lựa chọn và điều chỉnh tham số đầu vào của các
chức năng
 Phần thứ hai: Các khung ảnh hiển thị ảnh đầu ứng với chức năng đang thực
thi.

59
Hình 35: Giao diện lựa chọn và điều chỉnh tham số đầu vào

Trên giao diện lựa chọn và điều chỉnh tham số đầu vào, cho phép chọn verbose
level ở ba mức:

 Mức 0: Khung ảnh đầu ra không hiển thị thêm thông tin gì về kết quả của
chức năng đang thực hiện
 Mức 1: Hiển thị ROI, và kết quả của chức năng đang thực hiện bằng đường
bao
 Mức 2: Hiển thị ROI, và kết quả của chức năng đang thực hiện bằng đường
bao và điền đầy vùng được bao
 Mức 3: Khung ảnh chính hiển thị giống như mức 2. Ngoài ra hiển thị thêm
những khung ảnh tại các bước của giải thuật. Mức này nhằm mục đích trợ
giúp việc debug.

60

Hình 36: Khung ảnh hiển thị ảnh đầu ra của chức năng đang thực hiện

61
3.2 Các chức năng của hệ thống

3.2.1 Kiểm tra camera

a. Mô tả chức năng
Đây là chức năng cơ bản trong hệ thống camera giám sát an ninh. Ý nghĩa của
chức năng này là đưa ra cảnh báo khi camera giám sát bị mất tín hiệu, bị che/dịch
chuyển.

b. Giải pháp
Thông báo không có tín hiệu được đưa ra khi không thể lấy được frame từ
capture của camera giám sát. Thông báo camera bị che/dịch chuyển được quyết theo
giải thuật sau:

Frame Phát hiện Diff Đánh giá Thông báo


chuyển động

Hình 37: Sơ đồ giải thuật kiểm tra camera bị che/dịch chuyển

Giải thuật trung bình liên tiếp được lựa chọn làm giải thuật phát hiện chuyển động,
vì đây là giải thuật nhanh và tốn ít bộ nhớ nhất mà vẫn có thể đưa ra được ảnh hiệu
diff tối ưu cho việc đánh giá. Lý do dùng ảnh diff là để giảm chi phí trong thao tác
lấy ngưỡng.

Tại bước đánh giá, thực hiện tính giá trị mức xám trung bình của ảnh diff.

 Nếu : đưa ra thông báo bị che/dịch chuyển. goik là ngưỡng che,


mặc định .
 Ngược lại, thông báo OK.

62
Khi đưa ra thông báo camera bị che/dịch chuyển thì giải thuật phát hiện chuyển
động sẽ tạm dùng việc cập nhật background cho tới khi thông báo OK được đưa ra.

c. Kết quả thực nghiệm


Để thuận tiện cho việc kiểm tra, video đầu vào của hệ thống lấy từ webcam trên
máy tính cá nhân.

Hình 38: Kết quả thực nghiệm chức năng kiểm tra camera

63
Hệ thống sẽ đưa ra thông báo “Be covered” (bị che) khi camera bị che/dịch
chuyển. Thông báo “Ok” đưa ra khi hệ thống trở về trạng thái như trước khi có
thông báo “Be covered”.

3.2.2 Phát hiện kẻ xâm nhập

a. Mô tả chức năng
Chức năng này có nhiệm vụ đưa ra thông báo, và chỉ ra vị trí chính xác khi có
người đi lại trong khu vực giám sát. Đây là chức năng không thể thiếu trong mọi hệ
thống camera giám sát an ninh.

b. Giải pháp
Mô hình giải thuật phát hiện kẻ xâm nhập không hoàn toàn giống với mô hình
giải thuật kiểm tra camera bị che/dịch chuyển. Trong giải thuật này, đầu vào của
bước đánh giá phải là object mask (mặt nạ đối tượng).

Frame Phát hiện Object mask Đánh giá Thông báo


chuyển động

Hình 39: Sơ đồ giải thuật phát hiện kẻ xâm nhập

Giải thuật phát hiện chuyển động ở đây là giải thuật trung bình liên tục, có sử dụng
ngưỡng động và motion mask để tối ưu việc cập nhật background.

Từ object mask, bước đánh giá sẽ thực hiện tìm đường bao (contour) của các đối
tượng. Từ đó xác định ra các blob, rồi xây dựng hình chữ nhật bao cho mỗi blob.
Mỗi blob được coi là một đối tượng hay kẻ xâm nhập. Nên có thêm rằng buộc về
kích thước của mỗi blob để có được kết quả chính xác hơn. Nhưng do xác định kích
thước của blob tốn kém hơn tính kích thước của hình chữ nhật bao blob đó. Do vậy,

64
giới hạn kích thước của blob sẽ được thể hiện thông qua giới hiạn kích thước của
hình chữ nhật bao tương ứng.

Thông báo có kẻ xâm nhập được đưa ra khi trong frame hiện thời có blob với kích
thước nằm trong giới hạn (thường là giới hạn dưới).

c. Kết quả thực nghiệm


Video đầu vào được quay thủ công tại trường Đh Bách Khoa Hà Nội.

Hình 40: Ảnh đầu ra của chức năng phát hiện kẻ xâm nhập ở chế độ verbose

65
Hình 41: Kết quả thực nghiệm chức năng phát hiện kẻ xâm nhập

Khi phát hiện đối tượng di chuyển trong khung cảnh, hệ thống đưa ra thông
báo “Intruders deteted”. Thông báo “Secure” đưa ra khi không có đối tượng nào di
chuyển trong khung cảnh.

3.2.3 Phát hiện vào vùng cấm

a. Mô tả chức năng
Phát hiện vào vùng cấm có chức năng đưa ra thông báo khi có đối tượng (người,
phương tiện …) đi vào vùng cấm được xác định trong khung cảnh hiện tại. Đây
cũng là một chức năng cơ bản của hệ thống camera giám sát an ninh.

b. Giải pháp
Đầu vào của giải thuật là frame ảnh hiện thời và vị trí vùng cấm. Vị trí vùng cấm
xác định khu vực cấm trên frame hiện thời. Vị trí này là cố định với mọi frame.

66
Vị trí vùng cấm

PHÁT HIỆN VÀO VÙNG CẤM

PHÁT HIỆN KẺ XÂM NHẬP

Frame Phát hiện Object mask Đánh Thông báo


Set ROI
chuyển động giá

Hình 42: Sơ đồ giải thuật phát hiện vào vùng cấm

Bước set ROI giúp loại bỏ toàn bộ những điểm ảnh nằm ngoài vùng cấm, chỉ giữ lại
vùng cần quan tâm. Hai bước sau hoàn toàn giống với giải thuật của chức năng phát
hiện kẻ xâm nhập.

67
c. Kết quả thực nghiệm
Video đầu vào trong thực nghiệm này giống trong thực nghiệm phát hiện kẻ xâm
nhập: quay thủ công tại Đh Bách Khoa Hà Nội.

Hình 43: Thực nghiệm chức năng phát hiện vào vùng cấm, cảnh không vào vùng
cấm

Khi có chuyển động trong khung cảnh, nhưng không trong vùng cấm (trong hình
chữ nhật màu xanh) hệ thống không đưa ra cảnh báo. Chỉ đưa ra cảnh báo khi đi
vào vùng cấm như hình dưới.

68
Hình 44: Thực nghiệm chức năng phát hiện vào vùng cấm, cảnh vào vùng cấm

Thông điệp được ghi log khi có cảnh báo là “People enter the restricted area”. Khi
di chuyển ra ngoài vùng cấm. Hệ thống sẽ thông báo “Secure”.

3.2.4 Phát hiện vượt rào

a. Mô tả chức năng
Yêu cầu của chức năng này là đưa đưa ra cảnh báo khi có người cố ý vượt hàng
rào để vào khu vực cấm, hoặc khu vực nguy hiểm. Hàng rào được quan sát có thể là
hàng rào ngăn cách trên đường ray xe lửa, hàng vào bảo vệ của dinh tổng thống,
hàng rào bảo vệ quanh khu vực có phóng xạ …

69
b. Giải pháp
Đầu vào của giải thuật gồm có Frame và Fence.

Fence

Frame Phát hiện Object mask Đánh Thông báo


Set ROI
chuyển động giá

Hình 45: Sơ đồ giải thuật phát hiện vượt rào

Frame lấy từ video đầu vào. Fence là một cấu trúc gồm ba thông số:

 Vùng quan tâm (ROI): để hạn chế vùng phải quan sát. Hàng rào cần quan sát
phải nằm trong ROI.
 Đường chân rào: là một hay nhiều đoạn thẳng đánh dấu chân hàng rào.
 Bên an toàn: biến boolean , bằng “true” khi điểm gốc O(0,0) nằm bên
được phép đi lại (bên an toàn), bằng “false” trong trường hợp ngược lại.

Hàng rào

ROI
Đường chân rào

Hình 46: Giải thích đầu vào frame

70
Việc set ROI giúp làm chi phí cho giải thuật, vì trên thực tế hàng rào chỉ là một
vùng không to lắm, so với toàn bộ khung cảnh. Việc có hay không sử dụng ROI
không làm ảnh hưởng đến kết quả đầu ra.

Trung bình liên tục được lựa chọn làm giải thuật phát hiện chuyển động. Đầu ra là
object mask.

Bước đánh giá dựa vào object mask, đường chân rào và để đưa ra thông báo.
Từ object mask, tính contour, xác định hình chữ nhật bao. Có ba thông báo có thể
được đưa ra:

 “An toàn”: khi đối tượng ở vị trí A. A nằm ở bên an toàn, và hình chữ nhật
bao không đè lên đường chân rào
 “Có người tiếp cận hàng rào” : khi đối tượng ở vị trí B, hình chữ nhật bao đè
lên đường chân rào
 “Có người vượt rào”: có hai điều kiện
o Trạng thái trước đó phải là “Có người tiếp cận hàng rào”
o Hình chữ nhật bao có vị trí ở C: nằm bên cấm vào.

O(0,0) x

C
Đường chân rào
B

A
y

Hình 47: Các vị trí ứng với các thông báo khác nhau trong chức năng phát hiện
vượt rào

71
Để xác định xem đối tượng nằm ở bên nào tao thực hiện như sau:

 Xây dựng phương trình đường thẳng cho đường chân rào , đây
là phương trình bậc một đối với x,y.
 Tính
o Nếu thì A và O nằm cùng một bên
o Nếu thì A và O nằm khác bên.
Dựa vào để kết luận bên của A.

c. Kết quả thực nghiệm


Video đầu vào được quay thủ công tại trường ĐH Bách Khoa Hà Nội.

Hệ thống sẽ đưa ra cảnh báo “people approching the fence” khi phát hiện người tiếp
cận hàng rào.

Hình 48: Kết quả thực nghiệm chức năng phát hiện vượt rào, phát hiện người tiếp
cận hàng rào

Thông báo “People on fence entering restricted area” đưa ra khi phát hiện người
vượt rào.

72
Hình 49: Kết quả thực nghiệm chức năng phát hiện vượt rào, phát hiện người vượt
rào

Có thể ứng dụng phương pháp tracking để làm tăng tính chính xác của giải thuật.
Nhưng chi phí tính toán sẽ lớn hơn.

3.2.5 Phát hiện quên đồ

a. Mô tả chức năng
Ở những phòng chờ của nhà ga, sân bay… việc để quên đồ ảnh hưởng rất lớn
đến người để quên. Chức năng phát hiện quên đồ sẽ tự động đưa ra thông báo khi có
đồ vật của khách hàng để quên.

b. Giải pháp
Sơ đồ giải thuật phát hiện quên đồ gồm có hai bước: phát hiện chuyển động và
đánh giá. Thông báo được đưa ra khi hệ thống phát hiện ra đồ để quên trong khung
cảnh.

73
Frame Phát hiện Object mask Đánh giá Thông báo
chuyển động

Hình 50: Sơ đồ giải thuật phát hiện quên đồ

Giải thuật trung bình liên tục được sử dụng trong bước phát hiện chuyển
động. Có sử dụng object mask để tối ưu cập nhật background. Nhưng không thực
hiện lấy ngưỡng động.

Bước đánh giá thực hiện dựa trên nhận xét sau: một vật nằm yên tại chỗ trong
một khoảng thời gian xác định được coi là vật để quên. Khái niệm nằm yên ở đây
nghĩa là tuyệt đối không dịch chuyển. Việc này sẽ giúp tránh nhận nhầm người ngồi
đợi với đồ vật để quên. Lưu ý: khi hành khách cầm/tiếp xúc với hành lý thì toàn bộ
người và hành lý được nhận biết là một blob duy nhất. Gọi khoảng thời gian để xác
định vật để quên là . Mặc định . Cách đơn giản nhất để tìm được vật tĩnh
trong đó là:

 Lưu tất cả object mask trong gần đây nhất


 Thực hiện AND với tất cả các object mask ta được SOM (Statical Object
Mask – mặt nạ vật tĩnh)
 Xác định các blob trong SOM, tính kích thước các hình chữ nhật bao của các
blob
 So sánh kích thước của blob trong SOM với kích thước của blob tương ứng
trong object mask hiện thời. Nếu sự khác biệt về kích thước nhỏ hơn ngưỡng
cho phép thì đưa ra thông báo vật để quên.

Có thể thấy chi phí để thực hiện phương pháp này là rất lớn. Theo như mặc định
, video đầu vào có frame rate là 30 fps thì phải lưu và thực hiện phép AND
với ảnh object mask. Tuy object mask là ảnh nhị phân, chỉ cần 1 bit

74
để mã hóa mỗi điểm ảnh, nhưng 600 ảnh là con số lớn, tương đương
.

Giải pháp để giảm thiểu chi phí: trong mỗi khoảng thời gian (mặc định: 1s), thực
hiện việc AND tất cả các object mask, sẽ lấy được TSOM (Temporary Statical
Object mask – mặt nạ vật tĩnh tạm thời ). Thay vì việc lưu và AND tất cả object
mask, chúng ta sẽ chỉ làm với tất cả TSOM. Chi phí sẽ giảm đi được
lần. Để nâng cao độ chính xác, nên giới hạn kích thước của đối
tượng.

c. Kết quả thực nghiệm


Video mẫu được quay tại trường Đh Bách Khoa Hà Nội.

Hình 51: So sánh Object mask và SOM

SOM là AND của nhiều Object mask liên tiếp nên không thể hiện những đối tượng
chuyển động. Xe máy và người đi bộ là những đối tượng chuyển động, còn chiếc
balo để quên là đối tượng tĩnh.

75
Hình 52: Kết quả thực nghiệm của chức năng phát hiện quên đồ

Hệ thống đã phát hiện chiếc balo bị bỏ quên ở hành lang và đưa ra thông báo
“Object left behide detected”.

3.2.6 Phát hiện mất đồ


Mục đích của chức năng phát hiện mất đồ là đưa ra cảnh báo khi đồ vật trong
khung cảnh bị lấy mất. Chức năng này được dùng nhiều trong các phòng trưng bày,
hay triển lãm…

Về mặt giải thuật, phát hiện mất đồ hay phát hiện quên đồ là hoàn toàn giống
nhau. Điều khác nhau duy nhất là đối tượng cảnh báo: với quên đồ, đối tượng thuộc
foreground; với mất đồ, đối tượng thuộc background. Để tránh nhận nhầm, ứng
dụng phát hiện mất đồ phải xác định vị trí đồ vật cần quan sát qua việc set ROI.

76
3.2.7 People tracking

a. Mô tả chức năng
People tracking – lưu vết di chuyển của người đi bộ. Tracking sẽ giúp ích trong
một số bài toán như đếm đầu người, cũng có thể là cách tiếp cận khác cho bài toán
quên đồ/mất đồ hay phát hiện vượt rào.

b. Giải pháp
Giải thuật tracking dùng trong chức năng này được trình bày trong mục 1.3
chương cơ sở lý thuyết. Ở đây, chỉ nói rõ thêm về lựa chọn các tham số trong cài
đặt:

 Khoảng cách giữa hai blob được tính bằng khoảng cách từ tâm tới tâm của
các hình chữ nhật bao các blob tương ứng.
 Mỗi track(đối tượng được tracking) bao gồm:
o ID: định danh
o Hình chữ nhật bao: vị trí và kích thước của đối tượng
o Histogram của đối tượng trên frame hoặc trên ảnh đa mức xám
o Danh sách lưu lịch sử vị trí và histogram của đối tượng

77
 Để tăng tính chính xác của việc gán blob mới cho track, giải thuật sử dụng
phương pháp dự đoán vị trí của track trong frame đầu vào.

Hình 53: Dự đoán vị trí mới của đối tượng trong frame kế tiếp

Giả sử đang xét track của đối tượng với ID: 111. Track cho ta biết đường đi trong
quá khứ của đối tượng 111. Gọi lần lượt là các vị trí hiện tại và vị trí ngay
trước đó của đối tượng 111. Gọi là vị trí kế tiếp được dự đoán. Phép dự đoán

đơn giản nhất là nằm ở vị trí đối xứng với so với .

Giả sử, Blob là đối tượng 111 trong các blob đầu vào. Thông thường, khoảng
cách từ vị trí suy đoán đến vị trí hiện tại nhỏ hơn khoảng cách từ vị trí trước đó

đến vị trí hiện tại. Điều này sẽ làm tăng tính chính xác của giải thuật. Tuy nhiên, dự
đoán chỉ là hỗ trợ thêm. Với people tracking, do frame rate cao, đối tượng di chuyển
chậm nên không cần dự đoán cũng không ảnh hưởng đến kết quả. Nhưng đối với
video đầu vào có frame rate thấp thì dự đoán là cần thiết.

 Để xử lý các trường hợp nhập nhằng, hay việc gán lại ID cho các đối tượng
sau khi đụng độ, chúng ta sử dụng độ tương đồng của các đối tượng. Mà thực
chất là so sánh sự tương đồng giữa các histogram tương ứng của các đối
tượng.

78
Hình 54: Sự tương đồng giữa hai histogram

Giả sử hình trên là histogram của hai đối tượng A và C. Độ tương đồng giữa
hai đối tượng này được tính bằng công thức

Giá trị mức sáng chạy từ 0 đến 255 nếu là ảnh 8 bit, chạy từ 0 đến
nếu là ảnh n bit/kênh. Độ tương đồng thể hiện độ giống nhau giữa hai đối
tượng.

c. Kết quả thực nghiệm


Video được quay tại trường Đh Bách Khoa Hà Nội.

79
Hình 55: Kết quả thực nghiệm chức năng poeple tracking

Trên frame đầu ra có vẽ đường đi của các đối tượng chuyển động trong khung cảnh.
Màu của đường đi của mỗi đối tượng được lựa chọn ngẫu nhiên. Vị trí trên đường
đi là tâm của hình chữ nhật bao đối tượng.

3.2.8 Đếm đầu người

a. Mô tả chức năng
Ứng dụng của chức năng này là đếm số người ra/vào một tòa nhà, hoặc một khu
vực nào đó.

b. Giải pháp
Có hai cách tiếp cận để giải quyết bài toán này:

 Cách thứ nhất, dựa vào chuyển động (motion base): như phương pháp trình
bày trong bài toán phát hiện vượt rào.

80
 Các thứ hai, dựa vào tracking (tracking base): tracking có thể đưa ra số
lượng người trong khung cảnh hiện thời. Nhưng để có thể đếm được số
người vào/ra qua một của thì cần thêm một bước nữa.

Cách tiếp cận tracking base sẽ cho kết quả chính xác hơn motion base. Giải thuật
được xây dựng theo sơ đồ dưới đây:

Số lượng
Frame Tracking Tracks Đếm người người vào/ra

Đường cửa

Hình 56: Sơ đồ giải thuật đếm người

Đường cửa là một đoạn thẳng đánh dấu vị trí của cửa, phục vụ cho việc đếm
khi đối tượng di chuyển qua. Bước đếm người cũng khá đơn giản. Khi có track nào
đó cắt đường cửa thì căn cứ vào lịch sử của track đó để ra quyết định tăng biến đếm
vào hay ra thêm một.

3.3 Kết chương


Camera giám sát an ninh là bài toán có khả năng ứng dụng cao trong thực tế.
Chương này đã đưa ra một số chức năng của hệ thống. Với mỗi chức năng đều đưa
ra những nhận xét để có thể lựa chọn được giải thuật phù hợp. Và đã đưa ra một số
kết quả cài đặt để minh chứng cho tính đúng đắn của giải thuật đã lựa chọn. Tóm lại,
đóng góp lớn nhất của chương 3 là đưa ra giải thuật phù hợp cho mỗi chức năng của
hệ thống camera giám sát an ninh.

81
Chương 4 - GIẢI PHÁP ỨNG DỤNG CAMERA GIÁM SÁT
TRONG GIAO THÔNG

4.1 Tổng quan


Mục đích của việc ứng dụng camera giám sát trong giao thông là lấy được
các thông tin liên quan đến phương tiện như tốc độ, hướng đi, loại phương tiện…
Để từ đó đưa ra những thông báo khi xảy ra vi phạm, hoặc đưa ra các số liệu thống
kê giúp có được những giải pháp tối ưu hơn trong hoạch định giao thông.

4.2 Xác định các thông số của phương tiện giao thông
Để lấy được có thông số như tốc độ, hướng đi của phương tiện tham gia giao
thông, chúng ta phải sử dụng đến tracking. Sơ đồ của giải thuật như
sau:

Frame

Phát hiện Object mask Traking Tracks Phân tích Các thông số
chuyển động chuyển động

Hình 57: Sơ đồ giải thuật xác định thông số của phương tiện tham gia giao thông

Giải thuật trung bình liên tục được sử dụng để phát hiện chuyển động, với đầu ra
là object mask. Đồng thời cũng là đầu vào của tracking. Giải thuật tracking như đã

82
trình bày trong chương cơ sở lý thuyết 8. Các track đầu ra của giải thuật này gồm các
F
7
P P

thông số sau:

 ID: định danh, để phân biệt giữa các phương tiện.


 Hình chữ nhật bao: vị trí và kích thước của phương tiện
 Histogram của phương tiện trên frame hiện tại, và trên frame ngay trước đó.
Dùng để tính độ tương đồng với các phương tiện khác.
 Danh sách lưu lịch sử vị trí của phương tiện.

Dựa vào các thông tin từ các track, bước phân tích chuyển động sẽ đưa ra các thông
số cho mỗi track. Mỗi track là đại diện cho một phương tiện. Cách xác định các
thông số như sau:

 Tốc độ: thực hiện theo ba bước:


o Camera calibration
o Ánh xạ khoảng cách trên frame với khoảng cách trên thực tế: mỗi met
ứng với bao nhiêu pixel.
o Tính vận tốc của phương tiện theo đơn vị (pixel/s) sau đó ánh xạ sang
m/s hoặc km/h. Vận tốc là quãng đường đi được trong một đơn vị thời
gian. Quãng đường được xác định từ danh sách lưu lịch sử vị trí của
phương tiện. Thời gian tính theo số frame chia cho frame rate, đơn vị
là giây.
 Hướng di chuyển: xác định từ danh sách lưu lịch sử vị trí của phương tiện.
 Kích thước của phương tiện: chính là kích thước của hình chữ nhật bao.

4.3 Các ứng dụng


Có thể chia thành hai nhóm ứng dụng dựa vào mục đích. Nhóm các ứng dụng
cảnh báo vi phạm có mục đích đưa ra thông báo vi phạm luật giao thông của các
phương tiện. Những cảnh báo này phải là thời gian thực. Còn nhóm các ứng dụng
thống kê có mục đích đưa ra số liệu thống kê các phương tiện giao thông, không

8
Xem mục 1.3

83
nhất thiết phải chạy với thời gian thực. Hầu hết các ứng dụng sẽ chỉ cho kết quả
chính xác khi mật độ giao thông không cao. Do vậy, các ứng dụng này sẽ thích hợp
cho việc giám sát trên các tuyến đường cao tốc, hơn là áp dụng cho các tuyến đường
trong nội thành.

a. Các ứng dụng cảnh báo vi phạm


Một cách tổng quát, sơ đồ giải thuật được hình dung như sau:

Các tham số Thông báo


Phát hiện vi
phạm

Hình 58: Sơ đồ giải thuật tổng quát của các ứng dụng cảnh báo vi phạm

Dưới đây là các ứng dụng cụ thể:

 Vi phạm tốc độ: nếu tốc độ của phương tiện vượt quá tốc độ tối đa cho phép,
cộng với một sai số của hệ thống: thì đưa ra thông báo
phương tiện chạy vượt quá tốc độ.
 Vi phạm hướng di chuyển: kết hợp giữa tham số hướng di chuyển của
phương tiện và thông tin về làn đường có thể khảng định phương tiện đi
ngược chiều hay xuôi chiều.
 Vi phạm làn đường: dựa vào kích thước của phương tiện có thể phân loại
phương tiện: xe máy, ô-tô con, ô-tô tải/khách, công-te-nơ. Dựa vào hình chữ
nhật bao có thể xác định vị trí của phương tiện. Cùng với thông tin về các làn
đường được quy định sẵn, hệ thống có thể đưa ra quyết định phương tiện có
đi trong làn đường cho phép hay không. Trong trường hợp, hai xe bị nhận
biết thành một xe, hay một xe lớn bị phân mảnh và bị nhận nhầm là nhiều xe
nhỏ. Khi đó kết quả sẽ bị sai lệch.
 Vi phạm đậu đỗ xe: khi phương tiện dừng lại, xác định vị trí của phương
tiện đó. Nếu phương tiện đậu sai quy định, hệ thống sẽ đưa ra thông báo vi
phạm. Ngay cả khi phương tiện không vi phạm cũng cần đưa ra thông báo xe

84
dừng vì trong một số trường hợp, có thể là phương tiện bị hư hỏng, hoặc xảy
ra tai nạn.

b. Các ứng dụng thống kê


Dựa vào số liệu thu thập được có thể đưa ra các ứng dụng thống kê sau:

 Thống kê số lượng phương tiện, số lượng phương tiện đã phân loại


 Thống kê các lỗi vi phạm

4.5 Kết chương


Chương 4 đã đưa ra giải pháp cho các ứng dụng cảnh báo vi phạm và các
ứng dụng thống kê trong giao thông sử dụng hệ thống camera giám sát. Các giải
pháp này nhắm đến việc giám sát các tuyến đường cao tốc, nơi mà mật độ phương
tiện giao thông không quá lớn.

85
KẾT LUẬN

Trong luận văn, tác giả có những đóng góp rõ ràng sau:

 Đưa ra giải thuật chọn ngưỡng động


 Đưa ra các giải thuật hợp lý cho mỗi chức năng trong hệ thống giám sát an
ninh. Và đã chứng minh tính hợp lý bằng kết quả thực nghiệm.
 Đưa ra giải pháp để ứng dụng camera giám sát trong giao thông.
 Thống kê lại những giải thuật phát hiện chuyển động

Tuy nhiên, trong quá trình làm luận văn, tác giả cũng gặp phải một số khó khăn,
tiêu biểu như thiếu video mẫu thực tế để kiểm thử. Trong tương lai gần, tác giả sẽ
cài đặt, triển khai hệ thống ứng dụng camera giám sát trong giao thông. Cũng như
làm giàu thêm các chức năng cho hệ thống camera giám sát trong an ninh.

Kết quả của luận văn được mở, mọi người đều có thể tự do sử dụng.

86
DANH MỤC THAM KHẢO
[1] A. Prati, I. Mikic, C. Grana, M. M. Trivedi (2001), "Shadow detection
algorithms for traffic flow analysis: a comparative study", ITSC 2001 2001
IEEE Intelligent Transportation Systems Proceedings Cat No01TH8585, pp.
340-345.

[2] Christopher Wren , Ali Azarbayejani , Trevor Darrell , Alex Pentland (1997),
"Pfinder: Real-Time Tracking of the Human Body", IEEE Transactions on
Pattern Analysis and Machine Intelligence, 19, 780--785.

[3] Elıas Herrero-Jaraba, Carlos Orrite-Urunuela, Jesus Senar (2003), "Detected


motion classification with a double-background and a neighborhood-based
difference", Pattern Recognition Letters, 24(12), 2079-2092.

4] Fan Zhong, Xueying Qin, Qunsheng Peng (2010), "Transductive segmentation of


live video with non-stationary background", Computer Vision and Pattern
Recognition (CVPR), 2010 IEEE Conference on, pp 2189 - 2196.

[5] Gary Bradski; Adrian Kaehler (2008), Learning OpenCV: Computer Vision
with the OpenCV Library, Sebastopol: O’Reilly.

[6] Gupte, S.; Masoud, O.; Martin, R.F.K.; Papanikolopoulos, N.P (2002),
"Detection and classification of vehicles", Intelligent Transportation
Systems, IEEE Transactions on, 3, pp. 37 - 47.

[7] Hayman, E.; Eklundh, J.-O (2003), "Statistical background subtraction for a
mobile observer", Computer Vision, 2003. Proceedings. Ninth IEEE
International Conference on, 1, pp 67 - 74.

87
[8] Jianpeng Zhou; Jack Hoang (2005), "Real Time Robust Human Detection and
Tracking System", Computer Vision and Pattern Recognition - Workshops,
pp 149 - 149.

[9] Mahadevan, V.; Vasconcelos, N (2008), "Background subtraction in highly


dynamic scenes", Computer Vision and Pattern Recognition, 2008. CVPR
2008. IEEE Conference on, pp 1 - 6.

[10] Pavlidis, I. Morellas, V. Tsiamyrtzis, P. Harp, S (2001), "Urban surveillance


systems: from the laboratory to the commercial world", Proceedings of the
IEEE, 89, pp 1478 - 1497.

[11] Rafael C. Gonzalez; Richard E. Woods (2002), Digital Image Processing 2nd
Editio, New Jersey: Prentice-Hall.

[12] Sheikh, Y.; Javed, O.; Kanade, T (2009), "Background Subtraction for Freely
Moving Cameras", Computer Vision, 2009 IEEE 12th International
Conference on, pp 1219 - 1225.

[13] Stauffer, C.; Grimson, W.E.L (1999), "Adaptive background mixture models
for real-time tracking", Computer Vision and Pattern Recognition, 1999.
IEEE Computer Society Conference on., pp.246-252.

[14] Toyama, K.; Krumm, J.; Brumitt, B.; Meyers, B (1999), "Wallflower:
principles and practice of background maintenance", Computer Vision, 1999.
The Proceedings of the Seventh IEEE International Conference on, 1, pp.
255 - 261.

[15] Ying Ren; Chin-Seng Chua; Yeong-Khing Ho (2001), "Foreground Detection


with Non-stationary Background", Image Analysis and Processing, 2001.
Proceedings. 11th International Conference on, pp. 78 - 83.

88
[16] Young-Kee Jung; Yo-Sung Ho (1999), "Traffic parameter extraction using
video-based vehicle tracking", Intelligent Transportation Systems, 1999.
Proceedings, pp. 764 - 769.

89

You might also like