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
Trang 2Giớ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ínhnă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ạ
Trang 3Cá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
Trang 4Các giai đoạn nghiên cứu
• 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
Trang 5Giai đ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
Trang 6Truy cập IP Camera
• 2 cách chính
• Thông qua Internet
• Thông qua LAN
Trang 7Truy 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
Trang 8Truy 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
• RTSP (Real time streaming protocol): RealNetworks, Netscape and ColumbiaUniversity pháttriển
• RTMP (Real time messaging protocol): Adobe phát triển
• WebRTC (Web Real time Communication): Google phát triển
Trang 9Thự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
• Nhật xách tay (Planex QR-220): hỗ trợ thiết lập camera nhưng không hỗ trợ streaming qua LAN
• 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.
• Chọn IP Camera KBVision KX-H30WN
Trang 10Cá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 3: Xây dựng hệ thống camera giám sát của VietnamLab Hà Nội
Trang 11Giai đ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
Trang 12Bướ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
Trang 14Histograms 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
Trang 15Neural 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
Trang 16Convolutional 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: https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/
Trang 17• Multi-task Cascaded Convolutional Network
• 3 bước, mỗi bước sử dụng mạng CNN riêng: P-Net, R-Net, Net
O-• 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)
Trang 18Haar Cascade HOG MTCNN
- Nhanh thứ ba
- Hoạt động tốt ngay cả trong trường hợp mặt bị thiếu, che lấp nhiều
- Ít bị ảnh hưởng bởi ánh sáng môi trường bên ngoài
Trang 19Bướ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?
• 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%
Bích Phương ?
Yua Ariga ?
Trang 20• 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
• Ả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
• 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
(3) (1) (2)
(2)
(3) (2) (1)
Trang 22• Facebook giới thiệu năm 2014
Trang 24Thực tế nghiên cứu
• 5 thành viên: QuyTC, TienTM, MinhNC, AnhNT3, AnhNT4
tạo bộ dữ liệu huấn luyện
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.
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
Trang 25Cá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
Trang 26Giai đoạn 3: Xây dựng hệ thống
• Truy cập vào RSTP url của camera đã lấy được ở giai đoạn 1
• Tách lấy từng frame của video stream
• Cho frame qua MTCNN model để phát hiện khuôn mặt người
• Cho khuôn mặt người đã phát hiện qua FaceNet model để tạo ra vector 128 feature
• Cho vector này qua bộ phân loại SVM đã được huấn luyện để tính xác suất mặt người là 1 trong 5 thành viên
• Nếu xác suất của thành viên nào lớn hơn 0.6 thì nhận định là thành viên đó
• Nếu không có thành viên nào có xác suất lớn hơn 0.6 thì nhận định là người lạ
• Trả frame sau khi đã phân tích về cho trình duyệt hiển thị
Trang 27• Một số nhận xét
• Độ trễ so với thực tế khá cao vì tốn thời gian load model vào bộ nhớ
• Có thể khắc phục bằng đa luồng
• Thời gian phân tích một frame ở mức chấp nhận được với độ phân giải 720p
• Độ chính xác chưa tốt vì tập dữ liệu của nhân viên VietnamLab Hà Nội chưa đủ lớn (mỗi người chỉ có khoảng 50 bức ảnh)