Training với VGG-16

Một phần của tài liệu Nghiên cứu, thiết kế hệ thống nhận diện khuôn mặt sử dụng trí tuệ nhân tạo (Trang 42 - 45)

VGG16 là một Kiến trúc mạng nơ-ron liên kết (CNN) đơn giản và được sử dụng rộng rãi được sử dụng cho ImageNet, một dự án cơ sở dữ liệu trực quan lớn được sử dụng trong nghiên cứu phần mềm nhận dạng đối tượng trực quan. Kiến trúc VGG16 được phát triển và giới thiệu bởi Karen Simonyan và Andrew Zisserman từ Đại học Oxford, vào năm 2014, thông qua bài báo của họ “Các mạng kết hợp rất sâu để nhận dạng hình ảnh quy mô lớn”. 'VGG' là tên viết tắt của Visual Geometry Group, là một nhóm các nhà nghiên cứu tại Đại học Oxford, những người đã phát triển kiến trúc này, và '16' ngụ ý rằng kiến trúc này có 16 lớp.

29

Kiến trúc của VGG16 bao gồm 16 layer :13 layer Conv (2 layer conv-conv,3 layer conv-conv-conv) đều có kernel 3x3 và 3 layer fully connection.

Dữ liệu ảnh dùng để traning là bộ dữ liệu tổng hợp ảnh chụp khuôn mặt của những người nổi tiếng. Nhóm sinh viên đã tiến hành thu thập ảnh chụp của những người nổi tiếng, cắt phần ảnh có chứa khuôn mặt sau đó resize ảnh về kích thước 224*224 pixel. Đây là kích thước ảnh tiêu chuẩn để traning với mạng VGG-16.

Để tăng sự đa dạng cho bộ dữ liệu và tiết kiệm thời gian thu thập. Phương pháp data augment được sử dụng. Phương pháp này sẽ thay đổi các giá trị trên bức ảnh gốc

như độ sáng, góc xoay, chiều,.... Kết quả ảnh thu được sẽ lưu lại và được sử dụng làm data training.

Hình 26: Kiến trúc VGG-16

30

Ảnh khuôn mặt từng người sau khi được resize sẽ được xếp vào thư mục tương ứng được đặt tên là tên của người cần nhận diện. Input của VGG-16 là ảnh 2D, output sẽ là một vecto biểu diễn đặc trưng của bức ảnh tương ứng đó. Mỗi một người sẽ có 1 đặc trưng trên khuôn mặt và vecto biểu diễn ảnh cũng là vecto biểu diễn đặc trưng khuôn mặt của người đó.

Bộ dữ liệu sẽ được chia tỷ lệ 80% training và 20% test. Cụ thể gồm 22 class như sau:  524 ảnh cho training

 189 ảnh cho test

Sau khi hoàn thành quá trình thu thập dữ liệu, tất cả ảnh sẽ được đưa lên Google Drive để tiến hành training trên Google Colab.

Ảnh sẽ được training 50 vòng, nếu sau 5 vòng train liên tiếp mà độ chính xác không được cải thiện, quá trình training sẽ tự động kết thúc.

Hình 28: Dữ liệu training VGG-16

31

Với 22 class và 713 ảnh quá trình training kết thúc sau 37 phút với accuracy đạt khoảng 88% và loss là 38%. Tuy nhiên Google Colab không thể trích xuất biểu đồ khi kết thúc training. Dưới đây là kết quả thực tế:

Độ chính xác hội tụ ở ngưỡng khoảng 88% tuy nhiên độ sai lệch (loss) giữa các class vẫn còn khá cao.

Một phần của tài liệu Nghiên cứu, thiết kế hệ thống nhận diện khuôn mặt sử dụng trí tuệ nhân tạo (Trang 42 - 45)