Tải bản đầy đủ (.pdf) (28 trang)

Báo cáo: Hệ thống giám sát camera nhận diện khuôn mặt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.84 MB, 28 trang )

Hệ thống giám sát camera
nhận diện khuôn mặt
Báo cáo nghiên cứu Q2 – 2018
Người thực hiện: Triệu Minh Tiến

Thời gian: 25/05 ~ 01/06


Giới thiệu Topic
• Động cơ: Văn phòng VietnamLab Hà Nội có người lạ vào khi không ai
có mặt, không đảm bảo về mặt security (giấy tờ, trang thiết bị của công
ty)

• Do đó:



Công ty cần trang bị camera giám sát.

Nâng cao tính năng giám sát của camera:




Nhận diện được người của công ty
Phát hiện người lạ


Các giai đoạn nghiên cứu

• Giai đoạn 1: Lấy dữ liệu hình ảnh của camera


• Giai đoạn 2: Huấn luyện model nhận diện nhân viên VietnamLab

Hà Nội

• Giai đoạn 3: Xây dựng hệ thống camera giám sát của VietnamLab Hà Nội


Các giai đoạn nghiên cứu

• Giai đoạn 1: Lấy dữ liệu hình ảnh của camera
• Giai đoạn 2: Huấn luyện model nhận diện nhân viên VietnamLab

Hà Nội

• Giai đoạn 3: Xây dựng hệ thống camera giám sát của VietnamLab Hà Nội


Giai đoạn 1: IP Camera
• IP Camera – Internet Protocol
Camera: chỉ những camera cho
phép truy cập trực tiếp thông
qua kết nối mạng

• Có 2 loại IP Camera chính:


Tập trung (centralized): cần một bộ
NVR




Phi tập trung (decentralized): không
cần NVR


Truy cập IP Camera

• 2 cách chính


Thông qua Internet



Thông qua LAN


Truy cập thông qua Internet
• Truy cập từ bất cứ đâu thông qua ứng dụng trên smartphone
• Hầu hết các camera đều hỗ trợ cách này
• Nguyên lý hoạt động: P2P







Mỗi một camera sẽ được cấp một UID, có thiết lập username/password
Ứng dụng trên smartphone (client) gửi request đến P2P server

P2P server xác nhận UID và username/password
P2P server làm trung gian tạo một kết nối trực tiếp giữa IP camera và client
IP camera truyền dữ liệu (hình ảnh, âm thanh) tới client

Client gửi tín hiệu âm thanh (và lệnh điều khiển với IP camera hỗ trợ PTZ) theo
chiều ngược lại


Truy cập thông qua LAN
• IP camera khi kết nối với router sẽ được cấp một địa chỉ IP trong LAN
• Một số loại camera hỗ trợ việc truy cập và cài đặt thông số qua địa chỉ
IP này

• Để truy cập và xem hình ảnh trực tiếp của camera từ LAN thì camera
phải hỗ trợ một trong các giao thức streaming sau:




HLS (HTTP Live Streaming): Apple phát triển




RTMP (Real time messaging protocol): Adobe phát triển

RTSP (Real time streaming protocol): RealNetworks, Netscape and Columbia
University phát triển
WebRTC (Web Real time Communication): Google phát triển



Thực tế nghiên cứu
• Cần truy cập vào live streaming của IP Camera để nhận diện khuôn mặt
• Cách qua Internet: quá phức tạp
• Cách qua LAN:


Thử với 4 camera:




Tàu xuất Việt (siêu rẻ 400K): chất lượng hình ảnh quá tệ, trả hàng ngay lập tức



Tàu xuất Nhật (SkyGenius): hỗ trợ giao thức RTMP, streaming URL cần khá nhiều tham số
phức tạp, hết hạn theo session nên khó khăn trong việc xây dựng streaming server ở giai
đoạn sau.



USA xuất Việt (KBVision KX-H30WN): hỗ trợ giao thức RTSP, hỗ trợ chuẩn ONVIF nên bắt
URL streaming dễ dàng thông qua phần mềm ONVIF Device Manager.

Nhật xách tay (Planex QR-220): hỗ trợ thiết lập camera nhưng không hỗ trợ streaming qua
LAN

• Chọn IP Camera KBVision KX-H30WN



Các giai đoạn nghiên cứu

• Giai đoạn 1: Lấy dữ liệu hình ảnh của camera
• Giai đoạn 2: Huấn luyện model nhận diện nhân viên VietnamLab

Hà Nội

• Giai đoạn 3: Xây dựng hệ thống camera giám sát của VietnamLab Hà Nội


Giai đoạn 2: Huấn luyện model nhận diện khuôn
mặt nhân viên VietnamLab Hà Nội


Nhận diện khuôn mặt gồm 2 bước chính:



Bước 1: Phát hiện mặt người trong bức ảnh



Bước 2: Xác định khuôn mặt đã phát hiện là ai
Ngọc Trinh


Bước 1: Phát hiện mặt người trong bức ảnh

• Một số phương pháp nổi bật:





Haar Cascade
Histograms of Oriented Gradients (HOG)
Deep Learning - Convolutional Neural Network



MTCNN


Haar Cascade
• Đưa ra vào 2001



Haar Features

Adaboost




Lựa chọn những feature tốt nhất
Huấn luyện bộ phân loại mạnh mẽ: tổ hợp tuyến tính của các bộ phân loại yếu hơn

• />Haar-like Features



Histograms of Oriented Gradients - HOG


HOG: thể hiện sự thay đổi về sự sáng tối trong
bức ảnh.



Tại các nét trên khuôn mặt có sự thay đổi sự
sáng tối rõ rệt



HOG thể hiện được đường nét của khuôn mặt



Sau khi huấn luyện với nhiều loại khuôn mặt, thu
được pattern của khuôn mặt



So sánh pattern với các vùng trong bức ảnh để
phát hiện mặt người


Neural Network - Deep Learning
• Neural Network: mô phỏng mạng lưới
neural của con người


• Deep learning:





Là Neural network
“Deep”: nhiều layer (nhiều nút mạng)
Đòi hỏi rất nhiều dữ liệu huấn luyện

Yêu cầu máy tính cấu hình cao


Convolutional Neural Network - CNN



Neural Network phù hợp với xử lý ảnh









Convolution: trích xuất feature từ ảnh đầu vào






Phụ thuộc vào ma trận filter
Cục bộ đối với từng khu vực trong bức ảnh
Có tính chất tuyến tính

Non Linearity (ReLU): Output = Max(Zero, Input)



Tạo ra tính chất phi tuyến tính cho bộ phân loại

Pooling: giảm kích thước của bộ feature,kiểm soát overfitting
Fully Connected:




Tạo tính chất phi tuyến tính cho bộ phân loại
Sử dụng feature trích xuất từ các layer trước để phân loại (Softmax)

Tham khảo: />

MTCNN



Multi-task Cascaded Convolutional Network

3 bước, mỗi bước sử dụng mạng CNN riêng: P-Net, R-Net, ONet





P-Net: Proposal network, dự doán các vùng trong bức ảnh có thể là
khuôn mặt (trong đó có nhiều vùng không phải khuôn mặt)
R-Net: Refine network, sử dụng đầu ra của P-Net để loại bỏ các vùng
không phải khuôn mặt
O-Net: Output network, sử dụng đầu ra của R-Net để đưa ra kết quả
cuối cùng cùng với 5 facial landmark (2 mắt + mũi + 2 khóe miệng)


Haar Cascade

HOG

MTCNN

- Nhanh nhất

- Nhanh thứ nhì

- Nhanh thứ ba

- Chỉ hoạt động tốt với frontial
face

- Không hoạt động tốt khi mặt

bị che lấp nhiều

- Hoạt động tốt ngay cả trong
trường hợp mặt bị thiếu, che
lấp nhiều

- Dễ bị ánh sáng môi trường
ảnh hưởng

- Ít bị ảnh hưởng bởi ánh sáng
môi trường ngoài

- Ít bị ảnh hưởng bởi ánh sáng
môi trường bên ngoài


Bước 2: Xác định khuôn mặt đã phát hiện là ai
• Phân biệt khuôn mặt của 2 người khác nhau như thế nào?
Bích Phương ?

Yua Ariga ?

• Sử dụng Deep Learning


FaceNet của Google giới thiệu năm 2015 cho kết quả rất tốt





Labeled Faces in the Wild (LFW): 99.63%
Youtube Faces DB: 95.12%


Facenet




Vector gồm 128 feature cho mỗi khuôn mặt

Độ khác nhau: khoảng cách Ơ-clít
Huấn luyện



Triple loss







(1)

(2)

Ảnh (1) của Bích Phương làm mốc
Ảnh (2) của Bích Phương

Ảnh (3) của Yua Ariga

Hiệu chỉnh parameter của network sao cho






(3)

Khoảng cách giữa ảnh (1) và ảnh (2) là nhỏ nhất
Khoảng cách giữa ảnh (1) và ảnh (3) là lớn

Sau khi huấn luyện trên tập dữ liệu lớn thu
được model có khả năng phân biệt ảnh cùng
một người và ảnh của người khác

(2)

(2)

(1)

(3)

(1)

(3)



OpenFace
• Open source – sử dụng FaceNet
• Homepage:

/>
• Github:

/>

DeepFace
• Facebook giới thiệu năm 2014



Thực tế nghiên cứu


Bước 1: Thu thập ảnh chụp của các nhân viên VietnamLab Hà Nội



5 thành viên: QuyTC, TienTM, MinhNC, AnhNT3, AnhNT4



Bước 2: Sử dụng model MTCNN để cắt mặt của 5 thành viên trong các bức ảnh để
tạo bộ dữ liệu huấn luyện




Bước 3: Sử dụng model của FaceNet (với cấu trúc mạng neural là Inception ResNet
v1) được huấn luyện với bộ dữ liệu CASIA-WebFace để tạo ra vector 128 feature
cho ảnh khuôn mặt của 5 thành viên.



Bước 4: Sử dụng bộ dữ liệu 5 thành viên đã được vector hóa để huấn luyện bộ
phân loại SVM với đầu ra là xác suất của một khuôn mặt là 1 trong 5 thành viên


Các giai đoạn nghiên cứu

• Giai đoạn 1: Lấy dữ liệu hình ảnh của camera
• Giai đoạn 2: Huấn luyện model nhận diện nhân viên VietnamLab

Hà Nội

• Giai đoạn 3: Xây dựng hệ thống camera giám sát của VietnamLab Hà Nội


×