BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỒNG NAI
BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG
NGHIÊN CỨU MÔ HÌNH SINGLE SHOT MULTI
BOX DETECTOR CHO VIỆC PHÁT HIỆN VÀ
KHOANH VÙNG SINH VIÊN VÀ THẺ SINH VIÊN
Mã số: TR:2020-23/KCN-SV
Chủ nhiệm đề tài: Vũ Anh Khoa
Đồng Nai, 01/2021
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỒNG NAI
BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG
NGHIÊN CỨU MÔ HÌNH SINGLE SHOT MULTI
BOX DETECTOR CHO VIỆC PHÁT HIỆN VÀ
KHOANH VÙNG SINH VIÊN VÀ THẺ SINH VIÊN
Mã số: TR:2020-23/KCN-SV
Chủ nhiệm đề tài
(ký, họ tên)
Vũ Anh Khoa
Đồng Nai, 01/2021
DANH SÁCH NHỮNG THÀNH VIÊN THAM GIA NGHIÊN CỨU ĐỀ TÀI
STT
Họ và tên thành viên
Đơn vị chủ trì
1
Vũ Anh Khoa
Khoa Công nghệ
2
Nguyễn Hoàng Khoa
Khoa Công nghệ
3
Phan Huỳnh Thanh Tú
Khoa Công nghệ
4
Huỳnh Quốc Ân
Khoa Công nghệ
5
Đỗ Phúc Thịnh
Khoa Công nghệ
MỤC LỤC
MỤC LỤC ............................................................................................................................. i
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT ............................................................... iv
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ .............................................................................. v
THÔNG TIN KẾT QUẢ NGHIÊN CỨU ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP
TRƯỜNG ............................................................................................................................. 7
Chương 1.
Giới Thiệu ..................................................................................................... 8
Tổng quan ............................................................................................................... 8
Ý nghĩa khoa học và thực tiễn của đề tài ................................................................ 8
1.2.1.
Tính khoa học ............................................................................................... 8
1.2.2.
Tính ứng dụng ............................................................................................... 9
Mục tiêu của đề tài .................................................................................................. 9
Phát biểu bài toán .................................................................................................... 9
Phạm vi bài toán ...................................................................................................... 9
Mô tả chung về hệ thống ......................................................................................... 9
Đóng góp của đề tài .............................................................................................. 10
Cấu trúc đề tài ....................................................................................................... 10
Chương 2.
Cơ Sở Lý Thuyết Và Các Công Trình Nghiên Cứu Liên Quan ................. 11
Một số cơ sở lý thuyết ........................................................................................... 11
2.1.1.
Mạng Nơ-ron tích chập (Convolutional Neural Network – CNN) ............. 11
Các công trình nghiên cứu liên quan (Phần này em muốn để dưới vì các công trình
đều sử dụng CNN) .......................................................................................................... 16
Hướng tiếp cận của đề tài...................................................................................... 21
Chương 3.
Hệ Thống Nhận dạng thẻ sinh viên ............................................................ 22
Giới thiệu .............................................................................................................. 22
Mô hình Single Shot Multibox Detector SSD ...................................................... 22
3.2.1.
Single Shot Detector ................................................................................... 22
3.2.2.
Mô hình SSD .............................................................................................. 23
3.2.3.
Huấn luyện mô hình SSD ........................................................................... 27
3.2.4.
Một số kỹ thuật khác để huấn luyện mô hình ............................................. 28
3.2.5.
Kết quả của mô hình SSD trên bộ dữ liệu PASCAL VOC2007 ................ 29
Áp dụng mô hình SSD cho bài toán nhận dạng thẻ sinh viên .............................. 32
3.3.1.
Xây dựng dữ liệu huấn luyện ...................................................................... 32
3.3.2.
Đánh dấu dữ liệu huấn luyện ...................................................................... 32
3.3.3.
Mô hình huấn luyện .................................................................................... 34
Chương 4.
Thực Nghiệm Và Đánh Giá ........................................................................ 35
Giới thiệu .............................................................................................................. 35
Các bộ dữ liệu chuẩn để thực nghiệm ................................................................... 35
4.2.1.
Bộ dữ liệu PASCAL VOC 2007 ................................................................. 35
4.2.2.
Bộ dữ liệu sinh viên DNTU ........................................................................ 36
Cài đặt chương trình ứng dụng demo ................................................................... 36
4.3.1.
Môi trường và ngôn ngữ cài đặt ................................................................. 36
4.3.2.
Chuẩn bị dữ liệu .......................................................................................... 36
4.3.3.
Huấn luyện mô hình trên giao diện console ............................................... 37
Kết quả thực nghiệm ............................................................................................. 38
Chương 5.
Kết Luận ..................................................................................................... 40
Kết luận ................................................................................................................. 40
Hướng phát triển ................................................................................................... 40
TÀI LIỆU THAM KHẢO .................................................................................................. 41
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
CNN
Convolutional Neural Network
2
conv
Convolutional
3
ReLU
Rectified Linear Unit
4
SSD
Single shot multibox detector
5
Intersection over Union
IoU
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1. Mô tả chung về hệ thống trong hai giai đoạn ngoại tuyến và trực tuyến. .......... 10
Hình 2.1. Kiến trúc CNN cơ bản. ....................................................................................... 11
Hình 2.2. Các filter chính là thông số cần học ................................................................... 13
Hình 2.3. Hàm kích hoạt ReLU .......................................................................................... 14
Hình 2.4. Ví dụ về maxpooling với filter 2x2 và stride là 2............................................... 14
Hình 2.5. Max Pooling để cho CNN có khả năng nhận dạng được các đối tượng với mọi
biến dạng của hình ảnh ....................................................................................................... 15
Hình 2.6. Giai đoạn Flattening ........................................................................................... 15
Hình 2.7. Bước fully connection và hai nút output Dog, Cat ............................................. 16
Hình 2.8. Ví dụ một mạng CNN hoàn chỉnh ...................................................................... 16
Hình 2.9. Mô tả phương pháp vét cạn cho bài toán nhận dạng. ......................................... 17
Hình 2.10. Mô tả phương pháp selective search cho bài toán nhận dạng. ......................... 18
Hình 2.11. Mô tả việc sử dụng region proposal. ................................................................ 18
Hình 2.12. Mô tả việc sử dụng region proposal của R-CNN. ............................................ 19
Hình 2.13. Mô tả việc sử dụng proposal trên feature map và các bước tiếp theo của Fast RCNN. ................................................................................................................................... 19
Hình 2.14. Mô hình Fast R-CNN. ...................................................................................... 20
Hình 2.15. Mô tả cách thức hoạt động của Faster R-CNN. ............................................... 20
Hình 2.16. Mô hình Faster R-CNN. ................................................................................... 20
Hình 3.1. Bốn anchors đã được định nghĩa trước (màu xanh lá cây), và có 4 prediction (màu
xanh nước biển) tương ứng với từng anchor trên. .............................................................. 23
Hình 3.2. Mô phỏng mô hình SSD. .................................................................................... 24
Hình 3.3. Mô phỏng sử dụng các object detector khác nhau trên mỗi feature maps. ........ 24
Hình 3.4. Chi tiết về mô hình SSD. .................................................................................... 24
Hình 3.5. Ảnh qua mô hình sẽ có kích thước nhỏ đi và có thể sẽ bỏ qua một số đối tượng
nhỏ. ..................................................................................................................................... 25
Hình 3.6. Ground truth box là các khung ở mục a. Default box là các khung gạch nối ở mục
b, c. ..................................................................................................................................... 26
Hình 3.7. Cách tính Intersection over Union và việc phân loại mẫu dựa vào kết quả tính
được. ................................................................................................................................... 26
Hình 3.8. Mô tả việc đối xứng ảnh. .................................................................................... 29
Hình 3.9. Bộ dữ liệu PASCAL VOC2007. ........................................................................ 29
Hình 3.10. Kiến trúc SSD. .................................................................................................. 30
Hình 3.11. Chi tiết các thông số khi huấn luyện mô hình SSD. ......................................... 31
Hình 3.12. Các box được xác định dựa vào tọa độ ước tính được. .................................... 31
Hình 3.13. Các box và nhãn của chúng được xác định. ..................................................... 32
Hình 3.14. Công cụ đánh dấu dữ liệu labelImg. ................................................................. 33
Hình 3.15. Giao diện của phần mềm labelImg. .................................................................. 33
Hình 3.16. Vẽ khung cho sinh viên, thẻ sinh viên để xuất file txt dùng cho huấn luyện mô
hình SSD. ............................................................................................................................ 34
Hình 4.1. Một số ảnh trong bộ dữ liệu PASCAL VOC 2007............................................. 35
Hình 4.2. Train mô hình SSD với các thông số như hình. ................................................. 37
Hình 4.3. Train mô hình SSD với các thông số như hình. ................................................. 38
Hình 4.4. Một số mẫu cho kết quả khá tốt.......................................................................... 39
Hình 4.5. Một số mẫu cho kết quả không tốt. .................................................................... 39
THÔNG TIN KẾT QUẢ NGHIÊN CỨU ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP
TRƯỜNG
(dùng cho Báo cáo tổng kết đề tài)
1. Thông tin chung:
- Tên đề tài: Nghiên cứu mô hình Single shot multi box detector cho việc phát hiện và khoanh
vùng sinh viên và thẻ sinh viên
- Mã số: TR:2020-23/KCN-SV
- Chủ nhiệm đề tài: ThS. Đỗ Phúc Thịnh
Điện thoại: 0847088880
Email:
[email protected]
- Đơn vị quản lý về chuyên môn (Khoa, Tổ bộ môn): Khoa Công nghệ
- Thời gian thực hiện: 06 tháng
2. Mục tiêu: Nghiên cứu mô hình nhận dạng đối tượng SSD, sử dụng được mô hình này để áp
dụng nó cho bài toán cụ thể là nhận dạng sinh viên và thẻ sinh viên.
3. Nội dung chính:
- Nghiên cứu về các mô hình nhận dạng đối tượng
- Nghiên cứu về mô hình SSD
- Áp dụng mô hình SSD cho bài toán nhận dạng sinh viên và thẻ sinh viên
4. Kết quả chính đạt được
- Nghiên cứu, tổng hợp các tài liệu liên quan đến đề tài
- Phân tích điểm mạnh, điểm yếu của các đề tài nghiên cứu liên quan
- Phân tích và thiết kế hệ thống
- Thực nghiệm mô hình
- Rà soát, chỉnh sửa nội dung, hoàn thiện định dạng, đóng gói
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. Hệ thống Smart City này cũng được triển khai cho các
trường học với quy mô nhỏ hơn. 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 sinh viên. Hiện nay, có nhiều tác
vụ tự động nhận dạng như nhận dạng bảng số xe, nhận dạng người ra vào sử dụng các thuộc tính
thủ công. Tuy nhiên, những hệ thống này chỉ áp dụng cho các trường hợp cụ thể và tốc độ nhận
dạng thời gian thực vẫn còn khá chậm, vì thế các giải pháp này áp dụng cho việc nhận dạng là
không còn phù hợp.
Ngày nay, hệ thống camera giám sát đã trở lên phổ biến và đang được sử dụng rộng rãi trong
nhiều lĩnh vực với mục đích hỗ trợ an ninh cho các công ty, ngân hàng, cửa hàng.., nhưng các
camera này chỉ có khả năng lưu trữ các dữ liệu video và chúng ta cần thuê các nhân viên quan sát
và phát hiện khi có người nào đó xâm nhập. Phương pháp này không hiệu quả, tốn kém chi phí,
thời gian và phụ thuộc nhiều vào yếu tố con người, khó khăn trong việc tìm kiếm dữ liệu. Nêu áp
dụng phương pháp này vào việc quản lý sinh viên ra vào ở các trường đại học cũng sẽ tốn một số
lượng nhân công, bảo vệ để rà soát việc sinh viên có ăn mặc chỉnh tề hay không. Mặt khác, với
tình hình của dịch Covid-19, Nước ta đã ban lệnh giãn cách xã hội nên việc kiểm tra sinh viên ra
vào cũng rất khó khăn. Chính vì thế, cần cải tiến các camera giám sát thông minh hơn để giúp nhà
trường có thể tự động làm các công việc này mà không cần tốn nhiều nhân công như trước nữa.
Ý nghĩa khoa học và thực tiễn của đề tài
1.2.1. Tính khoa học
Việc nhận dạng đối tượng trong ảnh 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.
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, quản lý ra vào 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 nhận dạng dối tượng còn được ứng dụng cho các siêu thị, rạp chiếu phim... Khi quản
lý được thông tin về khuôn mặt, hình dáng của người mua hàng, người quản lý có thể sử dụng
thông tin này để biết được khách hàng của mình là khách hàng quen hay không quen.
Mục tiêu của đề tài
Đề tài đặt mục tiêu sử dụng được mô hình nhận dạng đối tượng SSD và áp dụng nó cho
bài toán cụ thể là nhận dạng sinh viên và thẻ sinh viên.
Phát biểu bài toán
Đầu vào: Ảnh I là hình ảnh sinh viên chụp từ camera giám sát hoặc frame F lấy từ video V
của camera giám sát.
Đầu ra: Ảnh I’ có ảnh sinh viên và thẻ sinh viên đã được khoanh vùng riẻng.
Phạm vi bài toán
Trong phạm vi đề tài này đề tài chỉ nghiên cứu trên ảnh tĩnh có hình sinh viên.
Tập dữ liệu được sử dụng để thử nghiệm và đánh giá là COCO, VOC.
Mô tả chung về hệ thống
Giai đoạn ngoại tuyến:
Tập dữ liệu mẫu
Vẽ khung đánh
Huấn luyện để
Nhận dạng
dấu đối tượng
lấy bộ trọng số
người trong ảnh
Giai đoạn trực tuyến:
Ảnh sinh viên
Khoanh vùng
Gán nhãn cho vùng
sinh viên và thẻ
sinh viên và thẻ sinh
sinh viên
viên
Hình 1.1. Mô tả chung về hệ thống trong hai giai đoạn ngoại tuyến và trực tuyến.
Đóng góp của đề tài
Với sự phát triển của Học sâu (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, tốc độ thực thi rất chậm và khó có thể áp
dụng cho ứng dụng chạy thời gian thực. Vì vậy đề tài sử dụng mô hình SSD cho kết quả nhận
dạng khá nhanh và áp dụng mô hình này cho bài toán nhận dạng thẻ sinh viên.
Vì mô hình SSD sử dụng cho tập dữ liệu có nhiều đối tượng khác nên khi áp dụng cho bài
toán nhận dạng thẻ sinh viên, đề tài phải tạo một bộ dữ liệu dành riêng cho bài toán này. Việc tạo
bộ dữ liệu mới đồng nghĩa với việc đề tài phải khoanh vùng đối tượng sinh viên và thẻ sinh viên
cho từng bức ảnh trong bộ dữ liệu thu thập được.
Cấu trúc đề tài
Đề tài đượ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 đề tài, phát biểu bài toán, động lực, các
thách thức và đóng góp của đề tài.
-
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 đề tài.
-
Chương 3: Mô tả chi tiết về hệ thống nhận dạng thẻ sinh viên.
-
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.
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. Mạng Nơ-ron tích chập (Convolutional Neural Network – CNN)
Mạng CNN là một tập hợp các lớp Convolution chồng lên nhau và sử dụng các hàm nonlinear
activation như ReLU và tanh để kích hoạt các trọng số trong các node. Mỗi một lớp sau khi thông
qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo. Mô hình này
gọi là mạng kết nối đầy đủ (fully connected layer) hay mạng toàn vẹn (affine layer). Còn trong
mô hình CNNs thì ngược lại. Các layer liên kết được với nhau thông qua cơ chế convolution.
Layer tiếp theo là kết quả convolution từ layer trước đó, nhờ vậy mà ta có được các kết nối cục
bộ. Như vậy mỗi neuron ở layer kế tiếp sinh ra từ kết quả của filter áp đặt lên một vùng ảnh cục
bộ của neuron trước đó. Mỗi một layer được sử dụng các filter khác nhau thông thường có hàng
trăm hàng nghìn filter như vậy và kết hợp kết quả của chúng lại. Ngoài ra có một số layer khác
như pooling/subsampling layer dùng để chắt lọc lại các thông tin hữu ích hơn (loại bỏ các thông
tin nhiễu).
Trong quá trình huấn luyện mạng (traning) CNN tự động học các giá trị qua các layer filter
dựa vào cách thức thực hiện. Ví dụ trong tác vụ phân lớp ảnh, CNNs sẽ cố gắng tìm ra thông số
tối ưu cho các filter tương ứng theo thứ tự raw pixel > edges > shapes > facial > high-level features.
Layer cuối cùng được dùng để phân lớp ảnh.
Hình 2.1. Kiến trúc CNN cơ bản.1
1
https://en.wikipedia.org/wiki/Convolutional_neural_network
Trong mô hình CNN có 2 khía cạnh cần quan tâm là tính bất biến (Location Invariance) và
tính kết hợp (Compositionality). Với cùng một đối tượng, nếu đối tượng này được chiếu theo các
gốc độ khác nhau (translation, rotation, scaling) thì độ chính xác của thuật toán sẽ bị ảnh hưởng
đáng kể. Pooling layer sẽ cho bạn tính bất biến đối với phép dịch chuyển (translation), phép quay
(rotation) và phép co giãn (scaling). Tính kết hợp cục bộ cho ta các cấp độ biểu diễn thông tin từ
mức độ thấp đến mức độ cao và trừu tượng hơn thông qua convolution từ các filter. Đó là lý do
tại sao CNNs cho ra mô hình với độ chính xác rất cao. Cũng giống như cách con người nhận biết
các vật thể trong tự nhiên.
Mạng CNN sử dụng 3 ý tưởng cơ bản: Các trường tiếp nhận cục bộ (local receptive field),
trọng số chia sẻ (shared weights), tổng hợp (pooling).
-
Trường tiếp nhận cục bộ (local receptive field): Đầu vào của mạng CNN là một ảnh. Ví dụ
như ảnh có kích thước 28×28 thì tương ứng đầu vào là một ma trận có 28×28 và giá trị mỗi
điểm ảnh là một ô trong ma trận. Trong mô hình mạng ANN truyền thống thì chúng ta sẽ
kết nối các neuron đầu vào vào tầng ảnh. Tuy nhiên trong CNN chúng ta không làm như
vậy mà chúng ta chỉ kết nối trong một vùng nhỏ của các neuron đầu vào như một filter có
kích thước 5×5 tương ứng (28- 5 + 1) 24 điểm ảnh đầu vào. Mỗi một kết nối sẽ học một
trọng số và mỗi neuron ẩn sẽ học một bias. Mỗi một vùng 5×5 đấy gọi là một trường tiếp
nhận cục bộ. Như vậy, local receptive field thích hợp cho việc phân tách dữ liệu ảnh, giúp
chọn ra những vùng ảnh có giá trị nhất cho việc đánh giá phân lớp.
-
Trọng số chia sẻ (shared weight and bias): Đầu tiên, các trọng số cho mỗi filter (kernel)
phải giống nhau. Tất cả các nơ-ron trong layer ẩn đầu sẽ phát hiện chính xác feature tương
tự chỉ ở các vị trí khác nhau trong hình ảnh đầu vào. Chúng ta gọi việc map từ input layer
sang hidden layer là một feature map. Tóm lại, một convolutional layer bao gồm các feature
map khác nhau. Mỗi một feature map giúp detect một vài feature trong bức ảnh. Lợi ích
lớn nhất của trọng số chia sẻ là giảm tối đa số lượng tham số trong mạng CNN.
-
Lớp tổng hợp (pooling layer): Pooling layer thường được sử dụng ngay sau layer
convulational để đơn giản hóa thông tin đầu ra để giảm bớt số lượng neuron. Thủ tục
pooling phổ biến là max-pooling, thủ tục này chọn giá trị lớn nhất trong vùng đầu vào 2×2.
Như vậy qua layer Max Pooling thì số lượng neuron giảm đi phân nửa. Trong một mạng
CNN có nhiều Feature Map nên mỗi Feature Map chúng ta sẽ cho mỗi Max Pooling khác
nhau. Chúng ta có thể thấy rằng Max Pooling là cách hỏi xem trong các đặc trưng này thì
đặc trưng nào là đặc trưng nhất.
Cuối cùng ta đặt tất cả các layer lại với nhau thành một CNN với đầu ra gồm các neuron với
số lượng tùy bài toán.
Thông thường một CNN thường bao gồm các bước sau: Convolution, Max Pooling, Flattening
và Fully Connection.
-
Convolution: 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. Sau khi tính trên toàn bộ ảnh ta sẽ được bản đồ đặc trưng (feature
map). Ở đây các filter chính là thông số cần học của mô hình. Sau bước convolution này
có thêm một hàm kích hoạt, ở đây là ReLU (Rectified linear unit)
Hình 2.2. Các filter chính là thông số cần học
Hình 2.3. Hàm kích hoạt ReLU
-
Max Pooling: Có ba loại Pooling là Average Pooling, Sum Pooling và Max Pooling. Mục
đích chính của Max Pooling là cho CNN khả năng detect được các đối tượng với mọi biến
dạng của hình ảnh.
Hình 2.4. Ví dụ về maxpooling với filter 2x2 và stride là 2.2
2
https://en.wikipedia.org/wiki/Convolutional_neural_network
Hình 2.5. Max Pooling để cho CNN có khả năng nhận dạng được các đối tượng với mọi
biến dạng của hình ảnh
-
Flattening: Bước này sẽ chuyển ma trận 2 chiều từ các bước trước hành ma trận một chiều
như mô tả ở Hình 2.6
Hình 2.6. Giai đoạn Flattening
-
Fully Connection: Bước này sẽ kết nối các input từ bước Flattening và các lớp ẩn của mô
hình và sẽ có các nút output tương ứng với các đối tượng. Các neuron tầng cuối đại diện
cho các feature cấp cao như: Mũi, tai, chân…
Hình 2.7. Bước fully connection và hai nút output Dog, Cat
Hình 2.8. Ví dụ một mạng CNN hoàn chỉnh
Các công trình nghiên cứu liên quan (Phần này em muốn để dưới vì các công trình đều
sử dụng CNN)
Để nhận dạng 1 đối tượng trong ảnh, các đơn giản nhất là thiết lập một cửa sổ trượt có kích
thước là window size trượt từ trái qua phải, từ trên xuống dưới, quét qua toàn bộ bức ảnh. Để phát
hiện các đối tượng khác nhau ở các góc nhìn khác nhau, chúng ta sẽ sử dụng cửa sổ trượt có kích
thước thay đổi và ảnh đầu vào có kích thước thay đổi. Dựa vào windowsize, chúng ta có thể cắt
tấm hình bự thành các tấm hình nhỏ, sau đó sẽ rescale các phần nhỏ của bức ảnh thành các bức
ảnh có kích thước cố định. Các phần của bức ảnh sau đó sẽ được đem qua bộ phân lớp CNN để
rút trích các đặc trưng, sau đó sử dụng một hàm phân lớp (như svm, logictic regression) để xác
định layer của bức hình và sử dụng linear regressor để tìm bao đóng của đối tượng. Các phương
pháp thuộc dạng này được gọi là vét cạn. Tuy nhiên, do phải quét trên toàn bộ ảnh nên hiệu năng
của phương pháp này không cao.
Hình 2.9. Mô tả phương pháp vét cạn cho bài toán nhận dạng.
Thay vì hướng tiếp cận vét cạn như đã đề cập ở trên, chúng ta sử dụng phương pháp region
proposal để tạo các region of interest (ROIs) để phát hiện đối tượng. Selective search là một
phương pháp nằm trong nhóm region proposal. Trong phương pháp selective search (SS) [1],
chúng ta bắt đầu bằng cách xem các pixel là mỗi nhóm, các lần lặp tiếp theo, chúng ta sẽ tính
khoảng cách ngữ nghĩa (ví dụ như là màu sắc, cường độ ánh sáng) giữa các nhóm và gom các
nhóm có khoảng cách gần nhau về chung 1 nhóm để tìm ra phân vùng có khả năng cao nhất chứa
đối tượng (ưu tiên gom những nhóm nhỏ trước).
Như hình bên dưới, dòng đầu tiên, bức ảnh đâu tiên là ta có một vài nhóm nhỏ ở thời điểm X
nào đó, ở hình thứ 2 là thực hiện gom nhớm theo cường độ màu sắc của hình số 1, và ở bước cuối
cùng, ta thu được hình số 3. Những hình chữ nhật màu xanh ở dòng thứ 2 là những ROIS mô
phỏng quá trình gom nhóm để tìm phân vùng có khả năng chứa đối tượng.