Facenet: использование ансамблей наборов для вложения лиц

Facenet - это модель глубокого обучения для распознавания лиц. Он обучен извлекать признаки, то есть представлять изображение вектором фиксированной длины, называемым встраиванием. После обучения для каждого данного изображения мы берем выходные данные второго последнего слоя в качестве его вектора признаков. После этого мы можем выполнить проверку (чтобы определить, принадлежат ли два изображения одного и того же человека) на основе характеристик и некоторой функции расстояния (например, евклидова расстояния).

Триплетная потеря - это функция потерь, которая, по сути, гласит, что расстояние между векторами признаков одного и того же человека должно быть небольшим, а расстояние между разными людьми должно быть большим.

Мой вопрос: есть ли способ смешать разные наборы встраивания из разных сверточных моделей? Например, обучите 3 разные модели (модель Resnet, Inception и VGG) с триплетными потерями, а затем смешайте 3 128-мерных встраивания для создания нового мета-встраивания для повышения точности проверки лица. Как можно смешивать эти наборы для вложения?


person Alireza Akhavan    schedule 26.12.2017    source источник


Ответы (1)


Тот же вопрос и полезный ответ можно найти здесь.

Я думаю, что есть разные способы сделать это, например: 1) объединить два вложения и применить PCA после этого 2) нормализовать каждое вложение и объединить их вместе, так что каждая модель будет в равной степени способствовать конечным результатам 3) нормализовать каждую функцию каждого вложения в (0,1), скажем, гауссовскими CDF, и объединить их вместе, чтобы каждая функция в равной степени влияла на результаты.

person Alireza Akhavan    schedule 15.01.2018