CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT
2.7. Model nhận dạng khuôn mặt
Nhờ vào mối quan hệ chặt chẽ của nhận dạng đối tượng với phân tích video và hình ảnh n đã thu hút rất nhiều sự chú của các nhà nghiên cứu trong những n m gần đây. Phương pháp nhận dạng đối tượng thơng thường được xây dựng dựa trên các tính n ng thủ cơng và cấu trúc huấn luyện đơn giản. Với sự phát triển nhanh ch ng của deep learning chúng ta ngày càng c thêm những công cụ mạnh mẽ c thể học các tính n ng ngữ ngh a cao cấp và đặc điểm sâu hơn nhằm giải quyết các vấn đề c n tồn đọng trong cấu trúc huấn luyện truyền thống. Trong m i model nhận dạng đối tượng sẽ c 2 phần là feature extractor và detection framework. Thứ nhất là feature extractor d ng để trích xuất các đặc điểm của object n được hiểu là cấu trúc của mạng CNN. Thứ hai là detection framewok là phần nhận dạng đối tượng (detector).
2.7.1. MobileNet V1 (2017) (Extractor)
Howard (2017) đã phát triển một nh m các mơ hình nhỏ được gọi là MobileNets [3] dành cho các ứng dụng tầm nhìn được nhúng trên điện thoại. Họ đã xây dựng mơ hình đ với mục đích đánh đổi độ chính xác thành tốc độ huấn luyện để ph hợp với mục đích khác nhau. Kiến trúc của MobileNets dựa trên cách tính tích chập c tên là “the depth separable convolution” để giảm kích thước mơ hình đồng thời c ng giảm độ phức tạp. Do đ mơ hình sẽ hữu ích khi chạy các ứng dụng trên di động và các thiết bị nhúng.
Đầu tiên tích chập cổ điển với bộ lọc c kích thước cố định (ví dụ 3x3) được áp dụng với tất cả ngõ vào và tạo ra một số Feature Map đ là tích chập theo chiều sâu (the depthwise convolution). Sau đ kết hợp với các bộ lọc 1x1 được s dụng trên m i Feature Map đ là tích chập điểm. Sau khi qua lớp chập điểm giảm được một lượng đáng kể các thông số. “ Depthwise separable convolution ” [4] hay tích chập phân tách theo chiều sâu là một tích chập theo chiều sâu (depthwise convolution) theo sau b i một pointwise convolution (tích chập điểm) được mơ tả trong hình 2.37.
(https: dlapplications.github.io 2018-07-06-CNN)
Depthwise convolution: là một channel-wise Dk x Dk spatial convolution. Nếu
chúng ta c n channels ngõ vào thì chúng ta c ng c nDkxDkspatial convolution.
Ở hình 2.37. trên ta c 5 channels ( để bước đầu tiên c 5 khối hộp bước thứ 2 là phân tách 5 khối hộp ra thành ma trận [m x n] bước thứ 3 là spatial convolution c kích thước [n x n] bước thứ 4 là kết quả sau khi tích chập bước
thứ 5 là ráp 5 kết quả của tích chập lại ) do đ chúng ta sẽ c 5 Dk×Dk spatial
convolution tương ứng với 5 channels trên.
Pointwise convolution: đơn giản là một tích chập c kích thước 1x1
Với M là số lượng input channel N là số lượng output channel Dk là kernel size Df là feature map size (với dataset ImageNet thì input c kích thước là 224 do đ feature map ban đầu c Df = 224) chúng ta c thể tính được:
Chi phí tính tốn của Depthwise convolution là :
(2.4) Chi phí tính tốn của Pointwise convolution là :
(2.5) Tổng chi phí tính tốn của Depthwise Separable Convolution là:
(2.6) Nếu chúng ta khơng s dụng Depthwise Separable Convolution mà s dụng phép tích chập như bình thường chi phí tính tốn là:
(2.7) Do đ chi phí tính tốn sẽ giảm:
(2.8) Giả s chúng ta chọn kernel size = 3 chúng ta sẽ giảm từ 8 đến 9 lần phép tính nhân d n đến giảm tính tốn đi rất nhiều nhưng độ chính xác ch giảm một ít.
Chúng ta thấy rằng mơ hình c 30 lớp với các đặc điểm:
Lớp 1: Convolution layer với stride bằng 2
Lớp 2: Depthwise layer [3x3]
Lớp 3: Pointwise layer [1x1]
Lớp 4: Depthwise layer với stride bằng 2 (khác với lớp 2 c stride bằng 1)
Lớp 5: Pointwise layer [1x1]
So sánh kết quả giữa Depthwise Separable Convolution và phép tích chập tiêu chuẩn trên một tập dữ liệu ImageNet Dataset (bảng 2.6.). MobileNet giảm 1% độ chính xác nhưng số lượng tham số của mơ hình và số lượng phép tính tốn giảm đi rất rất nhiều gần xấp x 90%.
Bảng 2.6. So sánh kết quả giữa Depthwise Separable Convolution và phép tích chập
Model Độ chính xác ImageNet Số lượng tham số (tr)
Conv MobileNet 71.7% 29.3
MobileNet 70.6% 4.2
Cấu trúc của MobileNet-v1 được thể hiện hình 2.33.
Hình 2.38. Cấu trúc của MobileNet-v1
2.7.2. Single Shot Detector (SSD) (Detector)
Tương tự với mơ hình YOLO W. Liu (2016) đã phát triển ra model SSD [5] để dự đoán tất cả bounding box trong 1 lần duy nhất và xác suất của đối tượng với cấu trúc mạng CNN end-to-end. Mơ hình lấy ảnh ngõ vào đi qua nhiều lớp tích chập với kích thước bộ lọc khác nhau (10x10 5x5 và 3x3).
Các feature map từ các lớp tích chập những vị trí khác nhau trong mạng được lấy ra s dụng để dự đoán các bounding box. Chúng được x l b i các lớp chập cụ thể với bộ lọc 3x3 được gọi là lớp bổ sung đặc tính (extra feature layer) để tạo ra một bộ các bounding box giống với lại các anchor box của Fast R-CNN. Hình 2.39 thể hiện cấu trúc của SSD.
Hình 2.39. Cấu trúc của model SSD
Tương tự như anchor box các box đều c 4 tham số: tọa độ trung điểm chiều dài và chiều rộng. Đồng thời n c n tạo ra một véc tơ xác suất tương ứng với độ tin cậy qua từng lớp của đối tượng. Thuật toán Non-Maximum Suppression c ng được s dụng tại điểm kết thúc của model SSD để ch giữa lại các model c liên quan tức là các box của c ng 1 đối tượng sẽ gộp lại thành 1 box duy nhất.
Ngồi ra thuật tốn Hard Negative Mining (HNM) c ng được s dụng do c rất nhiều box bị âm v n được dựa đoán. N bao gồm việc ch chọn các phần phụ của box trong suốt quá trình huấn luyện. Các box này được s p xếp theo độ tin cậy và phần trên đ nh sẽ được chọn t y thuộc vào t lệ giữa box dương và âm nhiều nhất là 1 3.
W. Liu (2016) phân biệt SSD300 và SSD512 là SSD300 c thêm lớp chập để cải thiện hiệu suất dự đoán. Các model SSD tốt nhất được huấn luyện với các tập dữ liệu PASCAL VOC và COCO 2015 nhằm t ng cường dữ liệu. N đã đạt được 83.2% mAP trên PASCAL VOC 2007 và 82.2% trên PASCAL VOC 2012. Trong cuộc thi của COCO 2015 n đã đạt được 48.5% mAP cho IoU = 0.5 30.3% mAP cho IoU = 0.75 và 31.5% mAP cho số liệu chính thức. Hình 2.40. thể hiện framework của SSD.