ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
ĐỖ PHÚC THỊNH
XÂY DỰNG HỆ THỐNG GIÁM SÁT ĐÁM ĐÔNG
LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH
Tp. Hồ Chí Minh, Năm 2018
ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
ĐỖ PHÚC THỊNH
XÂY DỰNG HỆ THỐNG GIÁM SÁT ĐÁM ĐÔNG
Chuyên ngành:
Khoa học máy tính
Mã số chuyên ngành:
8480101
LUẬN VĂN THẠC SĨ: CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS. TS. LÝ QUỐC NGỌC
Tp. Hồ Chí Minh, Năm 2018
LỜI CAM ĐOAN
Tôi xin cam đoan nội dung trình bày trong luận văn là công trình nghiên cứu của tôi,
dưới sự hướng dẫn của Thầy PGS. TS. Lý Quốc Ngọc, tại trường đại học Khoa Học Tự
Nhiên, Đại học Quốc Gia Thành Phố Hồ Chí Minh.
Trong luận văn, các kiến thức từ các công trình có liên quan được kế thừa lại có trích
dẫn đầy đủ. Mã nguồn cài đặt của hệ thống, các thực nghiệm, kết quả, số liệu và hình
ảnh được sử dụng trong luận văn là trung thực.
TP.HCM, ngày 28 tháng 11 năm 2018
Đỗ Phúc Thịnh
3
LỜI CẢM ƠN
Trong quá trình thực hiện đề tài luận văn này, tôi xin chân thành gửi lời cảm ơn đến:
• Thầy PGS. TS. Lý Quốc Ngọc đã tận tình hướng dẫn, định hướng và dành thời
gian quý báu để góp ý cho tôi hoàn thành luận văn này.
• Phòng Đào Tạo Sau Đại Học trường Đại học Khoa học Tự nhiên TP.HCM, thầy
cô Khoa Công nghệ Thông tin, đã giảng dạy, truyền đạt kiến thức và kinh nghiệm
quý báu, chỉ bảo và tạo điều kiện cho tôi hoàn thành luận văn.
Xin chân thành cảm ơn
Đỗ Phúc Thịnh
4
MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................3
LỜI CẢM ƠN ..................................................................................................................4
MỤC LỤC ........................................................................................................................5
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT ............................................................8
DANH MỤC CÁC BẢNG...............................................................................................9
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ ........................................................................10
Chương 1.
Giới Thiệu ..............................................................................................12
Tổng quan .........................................................................................................12
Động lực nghiên cứu ........................................................................................12
1.2.1.
Tính khoa học .........................................................................................12
1.2.2.
Tính ứng dụng ........................................................................................13
Phát biểu bài toán .............................................................................................13
Phạm vi bài toán ...............................................................................................13
Mô tả chung về hệ thống ..................................................................................14
Đóng góp của luận văn .....................................................................................14
Cấu trúc luận văn ..............................................................................................15
Chương 2.
Cơ Sở Lý Thuyết Và Các Công Trình Nghiên Cứu Liên Quan .............16
Một số cơ sở lý thuyết ......................................................................................16
2.1.1.
Phân phối chuẩn .....................................................................................16
2.1.2.
Mạng Nơ-ron tích chập (Convolutional Neural Network – CNN) ........17
5
Các phương pháp giải quyết hiện có ................................................................20
2.2.1.
Các phương pháp dựa trên phát hiện đối tượng .....................................20
2.2.2.
Các phương pháp dựa trên hồi quy ........................................................20
2.2.3.
Các phương pháp dựa trên ước lượng mật độ ........................................20
Các công trình nghiên cứu liên quan ................................................................21
Hướng tiếp cận của luận văn ............................................................................36
2.4.1.
Một số đề xuất cải tiến ...........................................................................36
2.4.2.
Hướng tiếp cận của luận văn ..................................................................38
Chương 3.
Hệ Thống Ước Lượng Đám Đông .........................................................40
Giới thiệu ..........................................................................................................40
Mô hình phân lớp Human Classifier ................................................................40
Ước lượng số người trong đám đông ...............................................................42
3.3.1.
Xây dựng bản đồ mật độ xác thực ..........................................................42
3.3.2.
Regressor ................................................................................................46
3.3.3.
Switch Classifier.....................................................................................48
3.3.4.
Mô hình ước lượng số người trong đám đông .......................................49
Chương 4.
Thực Nghiệm Và Đánh Giá ....................................................................53
Giới thiệu ..........................................................................................................53
Các bộ dữ liệu chuẩn để thực nghiệm ..............................................................53
4.2.1.
Bộ dữ liệu UCF_CC_50 .........................................................................53
4.2.2.
Bộ dữ liệu ShanghaiTech .......................................................................53
6
Phương pháp đánh giá ......................................................................................54
Cài đặt chương trình ứng dụng demo ...............................................................55
4.4.1.
Môi trường và ngôn ngữ cài đặt .............................................................55
4.4.2.
Giao diện chương trình ...........................................................................56
4.4.3.
Tạo dữ liệu để huấn luyện và kiểm thử mô hình ....................................57
4.4.4.
Huấn luyện mô hình trên giao diện console ...........................................58
4.4.5.
Kiểm thử mô hình trên giao diện console ..............................................58
Kết quả thực nghiệm.........................................................................................59
4.5.1.
Tập dữ liệu UCF_CC_50 .......................................................................59
4.5.2.
Tập dữ liệu ShanghaiTech ......................................................................61
Chương 5.
Kết Luận .................................................................................................63
Kết luận .............................................................................................................63
Hướng phát triển ...............................................................................................63
CÔNG TRÌNH CÔNG BỐ ............................................................................................64
TÀI LIỆU THAM KHẢO ..............................................................................................65
7
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
STT
Ký hiệu viết tắt
Nội dung viết tắt
1
CCTV
closed-circuit television
2
CNN
Convolutional Neural Network
3
conv
Convolutional
4
ReLU
Rectified Linear Unit
5
CCNN
Couting Convolutional Neural Network
6
MCNN
Multi-column Convolutional Neural Network
7
Switch-CNN
Switching Convolutional Neural Network
8
GAP
global average pool
8
DANH MỤC CÁC BẢNG
Bảng 2.1. Tổng kết các kiến trúc mạng và thông tin đầu vào, đầu ra của các công trình
nghiên cứu liên quan ......................................................................................................25
Bảng 2.2. Mô hình học bộ trọng số của các công trình nghiên cứu liên quan...............30
Bảng 2.3. Phương pháp ước tính số người của các công trình nghiên cứu liên quan....34
Bảng 2.4. Khuyết điểm của một số phương pháp ..........................................................35
Bảng 2.5. Hướng tiếp cận của luận văn .........................................................................39
Bảng 4.1. Kết quả đánh giá trên tập dữ liệu UCF_CC_50 so sánh với các phương pháp
hiện có ............................................................................................................................61
Bảng 4.2. Kết quả đánh giá bằng độ đo MRE trên tập dữ liệu ShanghaiTech Part A so
sánh với các phương pháp ..............................................................................................61
Bảng 4.3. Kết quả đánh giá trên tập dữ liệu ShanghaiTech so sánh với các phương pháp
hiện có ............................................................................................................................62
9
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1. Mô hình chung của hệ thống ước lượng số người giai đoạn ngoại tuyến và trực
tuyến ...............................................................................................................................14
Hình 1.2. Kết quả khi tạo bản đồ mật độ và ước tính số người .....................................14
Hình 2.1. Một số dạng phân phối dữ liệu.......................................................................16
Hình 2.2. Kiến trúc CNN cơ bản....................................................................................17
Hình 2.3. Mô tả cách tính của các filter .........................................................................18
Hình 2.4. Hình dạng hàm kích hoạt f(x) ........................................................................19
Hình 2.5. Ví dụ về maxpooling với filter 2x2 và stride là 2 .........................................19
Hình 2.6. Kiến trúc MCNN............................................................................................22
Hình 2.7. Ảnh input, bản đồ mật độ và số đếm ước tính được ......................................23
Hình 2.8. Mô hình Switching-CNN giai đoạn online ....................................................24
Hình 2.9. Một số điểm có thể cải tiến ............................................................................38
Hình 3.1. Kiến trúc của mô hình Human Classifier.......................................................41
Hình 3.2. Minh họa phương pháp tính bản đồ mật độ ...................................................43
Hình 3.3. Phân phối Gaussian 2 chiều x, y với kỳ vọng mean tại điểm (0,0) và phương
sai
1 ........................................................................................................................44
Hình 3.4. Khoảng cách từ điểm đang xét đến các điểm lân cận gần nhất đã được đánh
dấu đầu người (Xét k = 5) ..............................................................................................45
Hình 3.5. Kiến trúc của Regressor với 3 cột R1, R2, R3 ...............................................47
Hình 3.6. Kiến trúc của mô hình Switch Classifier .......................................................49
10
Hình 3.7. Kiến trúc của hệ thống giai đoạn trực tuyến ..................................................50
Hình 4.1. Một số mẫu trong bộ dữ liệu UCF_CC_50....................................................53
Hình 4.2. Một số mẫu trong bộ dữ liệu ShanghaiTech ..................................................54
Hình 4.3. Dòng a) Mẫu từ tập dữ liệu UCF_CC_50; b) Bản đồ mật độ xác thực; c) Bản
đồ mật độ ước tính không dùng Human Classifier; d) Bản đồ mật độ ước tính dùng
Human Classifier............................................................................................................60
11
Chương 1. Giới Thiệu
Tổng quan
Hiện nay đang diễn ra cuộc cách mạng công nghệ lần thứ tư, tức là có sự liên kết
giữa vạn vật (Internet Of Things) thông qua các thiết bị máy móc cũng như các giải pháp
công nghệ về trí tuệ nhân tạo. Trong cuộc cách mạng đó, người ta có nhu cầu xây dựng
thành phố thông minh (Smart City) với hệ thống giám sát bằng các camera giám sát
CCTV, điều này có nghĩa là chúng có khả năng thông qua các thiết bị và phần mềm với
cốt lõi chính là trí tuệ nhân tạo để giúp tự động giám sát, quản lý sự vật cũng như con
người. Trong đó, công đoạn xử lý các camera giám sát là công đoạn rất quan trọng vì nó
liên quan đến việc quản lý các hoạt động của người. Hiện nay, có nhiều tác vụ tự động
giám sát như nhận dạng bảng số xe, phát hiện người vi phạm lỗi luật giao thông… và tác
vụ phân tích thống kê như ước lượng mật độ đám đông, đếm số đối tượng… Tuy nhiên,
từ nhu cầu giám sát những đối tượng riêng lẻ đã phát triển lên giám sát cả một đám đông,
vì thế các giải pháp trước đây áp dụng cho cảnh có mật độ người thưa thớt đã không còn
phù hợp.
Ngày nay, các thành phố ngày càng được xây dựng nhiều lên, làm cho mật độ dân cư
ngày càng đông. Mặt khác nhiều sự kiện thể thao, mít tinh, biểu tình… cũng được tổ
chức. Song song với đó thì tình hình bất ổn về an ninh cũng tiến triển rất phức tạp, đặc
biệt là các tổ chức khủng bố luôn nhắm đến đám đông làm cho thiệt hại vô cùng to lớn.
Vì thế, cần cải tiến các camera giám sát thông minh hơn để giúp con người làm chủ cũng
như tránh hoặc ít nhất là giải quyết kịp thời được hiện trạng này.
Động lực nghiên cứu
1.2.1. Tính khoa học
12
Đám đông không chỉ là tổng các thành phần, vì vậy khi áp dụng các giải pháp trên
từng phần cho đám đông sẽ không đem lại hiệu suất cao. Mặt khác, giám sát đám đông
vẫn còn nhiều thách thức như bị che khuất, ánh sáng phân bố không đồng đều, độ giãn…
Vì thế cộng đồng cần phải nỗ lực hơn nữa để khảo sát riêng biệt cho bài toán này, cải
tiến các giải pháp cũ cũng như đề xuất những giải pháp mới.
Bài toán này còn có thể được mở rộng cho các sự vật khác như xe cộ, động vật, tế
bào…
1.2.2. Tính ứng dụng
Ngày nay, camera giám sát được gắn ở khắp mọi nơi. Tuy nhiên, hầu hết các videos
từ các camera này thường chỉ được lưu trữ để tìm kiếm. Khi sự cố xảy ra thì sẽ tốn chi
phí và thời gian để điều tra. Vì thế việc tự động giám sát đám đông từ các camera này là
cần thiết để có thể phát hiện hay cảnh báo sớm để phòng tránh các sự cố đáng tiếc.
Việc ước lượng mật độ đám còn được ứng dụng cho các siêu thị, rạp chiếu phim...
Khi biết được sự phân bố của người mua hàng, người quản lý có thể bố trí thời gian đóng
mở cửa, điều phối nhân viên cho phù hợp.
Phát biểu bài toán
Đầu vào: Ảnh I là cảnh đám đông bất kì.
Đầu ra: Bản đồ mật độ D của ảnh I và ước lượng số người N có trong ảnh I.
Phạm vi bài toán
Trong phạm vi luận văn này học viên chỉ nghiên cứu trên đám đông với các đối
tượng là người.
Tập dữ liệu được sử dụng để thử nghiệm và đánh giá là UCF_CC_50 và
ShanghaiTech Part A, B.
13
Mô tả chung về hệ thống
Giai đoạn ngoại tuyến:
A. Tạo bản đồ mật
Huấn luyện để
độ xác thực
lấy bộ trọng số
B. Xây dựng
Bản đồ mật độ
bản đồ mật độ
cuối cùng
Tập dữ liệu mẫu
Ước lượng số người
Giai đoạn trực tuyến:
Ảnh đám đông
bất kì
Bản đồ mật độ
Ước lượng số người
Hình 1.1. Mô hình chung của hệ thống ước lượng số người giai đoạn ngoại tuyến
và trực tuyến.
Hình 1.2. Kết quả khi tạo bản đồ mật độ và ước tính số người.
Đóng góp của luận văn
Với sự phát triển của Deep learning thì việc áp dụng CNN vào bài toán này là rất
khả quan, tuy nhiên với những phương pháp hiện tại, họ ước tính số người ngay cả trong
14
những vùng không có người. Vì vậy học viên đề xuất sử dụng thêm một bộ phân lớp có
người hay không có người để tiền phân loại những vùng không có người.
Học viên cũng khắc phục nhược điểm của hai phương pháp M-CNN và SwitchCNN để tạo ra phương pháp tốt hơn trong các môi trường có mật độ người vừa và đông.
Cấu trúc luận văn
Luận văn được trình bày trong 5 chương như sau:
-
Chương 1: Trình bảy tổng quan về đề tài của luận văn, phát biểu bài toán, động
lực, các thách thức và đóng góp của luận văn.
-
Chương 2: Trình bày chi tiết về bài toán, cơ sở lý thuyết quan trọng và một số
nghiên cứu liên quan đến dề tài của luận văn.
-
Chương 3: Mô tả chi tiết về hệ thống và các cải tiến so với các cách tiếp cận
trước đó.
-
Chương 4: Cài đặt hệ thống, thử nghiệm và đánh giá trên các bộ dữ liệu chuẩn.
-
Chương 5: Kết luận và hướng phát triển.
15
Chương 2. Cơ Sở Lý Thuyết Và Các Công Trình Nghiên Cứu Liên Quan
Một số cơ sở lý thuyết
2.1.1. Phân phối chuẩn
Dữ liệu có thể được phân phối theo nhiều cách như trải về bên phải, trải về bên trái
phải hoặc không đồng đều. Nhưng trong đa số trường hợp, dữ liệu có xu hướng tập trung
quanh một giá trị trung tâm (0). Phân phối này được gọi là phân phối chuẩn.
Phân phối chuẩn hay còn được gọi là phân phối Gauss là một trong những phân
phối quan trọng nhất và được ứng dụng rất rộng rãi trong thực tế. Giống như các phân
phối khác, phân phối chuẩn được định nghĩa dựa vào hàm mật độ xác suất:
f x
với
1
−
−
√2
là giá trị trung bình,
là độ lệch chuẩn,
là phương sai.
Hình 2.1. Một số dạng phân phối dữ liệu.1
1
https://www.mathsisfun.com/data/standard-normal-distribution.html
16
2.1.2. Mạng Nơ-ron tích chập (Convolutional Neural Network – CNN)
Mạng Nơ-ron tích chập rất giống với mạng Nơ-ron thông thường, chúng được tạo
thành từ các nơ-ron có trọng số, bias và hàm mất mát (ví dụ: SVM, Softmax…) trên tầng
kết nối đầy đủ (fully connected) cuối cùng. Kiến trúc CNN được tạo thành từ các tầng
cơ bản như sau:
Hình 2.2. Kiến trúc CNN cơ bản.2
-
Tầng Convolutional: Bao gồm các bộ lọc (filter) là một ma trận vuông có kích
thước nhỏ cho trượt qua toàn bộ ma trận các pixel của ảnh đầu vào. Các bộ lọc
này có các thông số như Depth (chiều sâu của bộ lọc), Stride (khoảng cách giữa
mỗi lần trượt) và Padding (kích thước viền cho ảnh đầu vào). Khi trượt, ta tính
tích chập của ma trận này và ma trận các pixel của vùng ảnh đang xét tới (cách
tính như hình 2.3). Sau khi tính trên toàn bộ ảnh ta sẽ được bản đồ đặc trưng
(feature map).
Ví dụ:
2
https://en.wikipedia.org/wiki/Convolutional_neural_network
17
Hình 2.3. Mô tả cách tính tích chập của các bộ lọc.3
-
Kết quả đầu ra được tính bằng công thức:
. Với wi là trọng số của filter,
là giá trị pixel của ảnh đầu vào, b là bias. Ở đây 3 ma trận vuông xếp theo cột
thể hiện 3 kênh màu (Red, Green, Blue) của ảnh đầu vào. Viền gồm các giá trị 0
(zero padding) cũng được tạo để không làm giảm kích thước ảnh đầu vào. Ví dụ
trên gồm 2 bộ lọc nên kết quả sẽ ra 2 feature map.
-
Tầng ReLU: Là một dạng hàm kích hoạt (activation function). Sau mỗi tầng conv,
chỉ có phép nhân và cộng được sử dụng, vì vậy hàm kích hoạt này để loại bỏ tính
tuyến tính của mô hình. Có nhiều hàm kích hoạt được sử dụng như tanh, sigmoid
3
http://cs231n.github.io/convolutional-networks/
18
nhưng người ta thường sử dụng ReLU do khả năng tính toán nhanh của nó. Hàm
kích hoạt có dạng:
.
Hình 2.4. Hình dạng hàm kích hoạt ReLU.
-
Tầng pooling: Thường dùng nhất là max pooling, tức là trong một cửa sổ thì sẽ
lấy giá trị lớn nhất làm đại diện. Chức năng của tầng này là làm giảm kích thước
ảnh, tránh overfitting vì các chi tiết nhỏ thường không quan trọng trong việc dự
đoán. Ngoài max pooling còn có min pooling là lấy giá trị nhỏ nhất làm đại diện
và average pooling là lấy giá trị trung bình làm đại diện.
Hình 2.5. Ví dụ về maxpooling với filter 2x2 và stride là 2.4
-
Tầng kết nối đầy đủ (fully connected): Tương tự như mạng nơ -ron bình thường.
Sau khi qua các tầng trên thì dữ liệu đã được rút trích thành những đặc trưng, nhờ
đó ta có thể dùng tầng fully connected như một bộ phân lớp.
4
https://en.wikipedia.org/wiki/Convolutional_neural_network
19
Để huấn luyện cho mạng, tức là cập nhật bộ trọng số của các bộ lọc cũng như của
tầng FC, ta sử dụng thuật toán lan truyền ngược như gradient descent.
Các phương pháp giải quyết hiện có
Hiện nay có nhiều cách tiếp cận để giải quyết việc ước lượng và đếm số người trong
đám đông. Có thể chia thành như sau:
-
Các phương pháp dựa trên phát hiện đối tượng (Detection-based)
-
Các phương pháp dựa trên hồi quy (Regression-based)
-
Các phương pháp dựa trên ước lượng mật độ (Density estimation-based)
2.2.1. Các phương pháp dựa trên phát hiện đối tượng
Hầu hết các phương pháp này tập trung vào việc phát hiện đối tượng bằng cách
dùng cửa sổ trượt để phát hiện người trong ảnh hay video và dùng thông tin này để đếm
số người. Nhược điểm của phương pháp này là khi mật độ người càng đông thì hiệu quả
của nó càng thấp.
2.2.2. Các phương pháp dựa trên hồi quy
Các phương pháp này gồm 2 phần: rút trích các đặc trưng từ ảnh và xây dựng một
mô hình hồi quy để ánh xạ các đặc trưng này với kết quả đếm được. Các phương pháp
này tránh được việc giải quyết bài toán khó là việc phát hiện đối tượng. Tuy nhiên lại bỏ
qua thông tin về không gian trong ảnh như là vị trí người có trong ảnh.
2.2.3. Các phương pháp dựa trên ước lượng mật độ
Các phương pháp dựa trên hồi quy tuy tránh được các thách thức về che khuất tuy
nhiên lại bỏ qua thông tin về không gian mà chỉ ước lượng ra số đếm. Vì vậy, việc đếm
số người trong đám đông chuyển sang hướng mới là đếm số người dựa trên ước lượng
mật độ. Bản chất của phương pháp này là hàm mật độ xác suất và số đếm được tính bằng
cách lấy tích phân hàm mật độ này trên khoảng xác định. Phương pháp này có ưu điểm
tránh được bài toán khó là phát hiện và định vị đối tượng trong ảnh và chú yếu dựa vào
20
- Xem thêm -