Áp dụng phương pháp học chuyển giao với mạng VGG và Resnet vào

Một phần của tài liệu Phương pháp nhận dạng khuôn mặt dựa trên phương pháp học chuyển giao của mạng nowrron tích chập và ứng dụng vào bài toán điểm danh học sinh tại trường thpt chuyên vĩnh phúc (Trang 77 - 81)

2.4. Áp dụng phương pháp học chuyển giao cho bài tốn nhận dạng khuơn mặt để

2.4.3. Áp dụng phương pháp học chuyển giao với mạng VGG và Resnet vào

nhận dạng khuơn mặt

Học chuyển giao là việc ứng dụng kỹ năng/tri thức mình học được từ vấn đề này với ứng dụng này sang vấn đề khác với ứng dụng khác cĩ liên quan. Nĩi một cách đơn giản, là việc sẽ áp dụng tri thức đã được học từ một pre-trained model sang bài tốn hiện tại với điều kiện 2 bài tốn phải cĩ liên quan tới nhau. Ví dụ bạn tìm trên mạng thấy VGGFace2 cĩ dataset tới 3.31 triệu ảnh của 9131 người, tức là trung bình mỗi người cĩ 362 ảnh. Bài tốn Nhận diện khuơn mặt người của họ sử dụng Convolutional Neural Network (CNN) và mơ hình của họ đạt accuracy tới hơn 99%. Bài tốn của bạn cũng là nhận diện khuơn mặt, tuy nhiên mỗi đối tượng bạn cĩ chỉ khoảng 9-10 ảnh.

69

Các mơ hình đào tạo trước thường là các bài tốn với lượng dữ liệu lớn, kiến trúc phù hợp và đem lại độ chính xác tương đối cao. Vì vậy ở đây, với bài tốn nhận dạng khuơn mặt người, ta hồn tồn cĩ thể sử dụng phần ConvNet của VGGFace2 model vào bài tốn nhận diện khuơn mặt của mình.

Quá trình học chuyển giao sẽ tận dụng lại các đặc trưng được học từ mơ hình đào tạo trước. Kiến trúc mơ hình sử dụng học chuyển giao bao gồm 2 phần:

• Một mạng Based network cĩ tác dụng trích lọc đặc trưng, based network này được trích xuất từ một phần của pre-trained model sau khi loại bỏ các top fully connected layers

• Các lớp Fully Connected Layers giúp giảm chiều dữ liệu và tính tốn phân phối xác suất ở output.

2.4.3.1. Mạng VGG

Việc học chuyển giao mơ hình VGG19 được thể hiện qua các bước sau

- Bước 1: Tải mơ hình đào tạo VGG [14]. Mơ hình này được đào tạo trên tập dữ liệu của imagenet.

current_model = VGG19(include_top=False, weights='imagenet',

input_shape=data['image_shape'])

- Bước 2: Định nghĩa lại mơ hình CNN. Thêm một số các layer mới vào lớp phía sau

current_model.summary()

# Create new model based on current model

70

# Add current model

my_model.add(current_model)

# Add new layers

my_model.add(layers.Flatten()) my_model.add(layers.Dense(data['num_classes'] * 100, activation='sigmoid')) my_model.add(layers.Dropout(0.25)) my_model.add(layers.Dense(data['num_classes'] * 10, activation='sigmoid')) my_model.add(layers.Dropout(0.25)) my_model.add(layers.Dense(data['num_classes'], activation='softmax'))

- Bước 3: Đào tạo lại mơ hình. Mơ hình của chúng ta cần phải thực hiện complied với các thơng số khác như hàm loss sử dụng để tối ưu là crossentropy, thuật tốn tối ưu là Adam, sử dụng độ đo accuracy để làm metrics đánh giá mạng.

my_model.compile(loss=keras.losses.categorical_crossentropy, optimizer=my_optimizer1, metrics=['accuracy'])

Sau đĩ chúng ta sẽ sủ dụng dữ liệu training và dữ liệu testing để huấn luyện mạng cũng như đánh giá hiệu năng của thuật tốn

train_X, train_y, test_X, test_y = set_train_test(data, kfold)

my_model.fit(train_X, train_y, batch_size=batch_size, epochs=epochs,

verbose=1, validation_data=(test_X, test_y))

train_model(data, kfold=0, batch_size=32, epochs=800, file_model=file_model)

Bước 4: Lưu đặc điểm nhận dạng vào File Model

new_model = models.Model(inputs=my_model.input,

outputs=my_model.layers[-5].output)

2.4.3.2 Mơ hình Resnet50

Do bộ dữ liệu vào VGGFace2 tương đối giống với dữ liệu nguồn, nên quá trình học chuyển giao khơng cần huấn luyện lại tập dữ liệu ban đầu.

Việc học chuyển giao mơ hình VGG19 được thể hiện qua các bước sau - Bước 1: Tải mơ hình VGGFace2

71 - Bước 2: Định nghĩa lại mơ hình CNN

new_model= keras_vggface.VGGFace(model='resnet50', include_top=False, input_shape=(224, 224, 3), pooling='avg')

Bước 3: Lưu đặc điểm nhận dạng vào File “model.h5”

Kết luận chương

Học chuyển giao là quá trình khai thác các tri thức đã được học tập bởi một mơ hình huấn luyện trước đĩ vào giải quyết một bài tốn mới mà khơng phải xây dựng một mơ hình huấn luyện khác từ đầu. Đặc biệt với những bài tốn cĩ bộ dữ liệu kích thước nhỏ thì những mơ hình được huấn luyện từ chúng sẽ khĩ cĩ thể dự báo tốt. Tận dụng lại tri thức từ mơ hình đào tạo trước cùng với việc phân loại sẽ giúp mơ hình được huấn luyện với dự báo tốt hơn vì mơ hình được học trên cả hai nguồn tri thức đĩ là dữ liệu huấn luyện và dữ liệu đã được học trước đĩ. Điều đĩ sẽ được chứng minh ở kết quả thực nghiệm trong chương 3.

72

CHƯƠNG 3: XÂY DỰNG PHẦN MỀM MƠ PHỎNG VÀ KẾT QUẢ THỬ NGHIỆM

Một phần của tài liệu Phương pháp nhận dạng khuôn mặt dựa trên phương pháp học chuyển giao của mạng nowrron tích chập và ứng dụng vào bài toán điểm danh học sinh tại trường thpt chuyên vĩnh phúc (Trang 77 - 81)

Tải bản đầy đủ (PDF)

(100 trang)