Facenet: использование ансамблей наборов для вставки лиц
Facenet - это модель глубокого обучения распознаванию лиц. Он обучен для извлечения признаков, то есть для представления изображения с помощью вектора фиксированной длины, называемого внедрением. После обучения для каждого данного изображения мы берем вывод второго последнего слоя в качестве его векторного признака. После этого мы можем выполнить проверку (чтобы определить, принадлежат ли два изображения одному и тому же человеку) на основе характеристик и некоторой функции расстояния (например, евклидова расстояния).
Потеря триплета - это функция потерь, которая в основном говорит, что расстояние между векторами признаков одного и того же человека должно быть небольшим, а расстояние между разными людьми должно быть большим.
У меня вопрос, есть ли способ смешать разные наборы вложений из разных сверточных моделей? Например, потренируйте 3 разные модели (модель Resnet, Inception и VGG) с потерей триплета, а затем смешайте 3 128-мерное вложение, чтобы создать новое мета-вложение для лучшей точности проверки лица. Как можно смешивать эти встраиваемые наборы?
1 ответ
Здесь тот же вопрос и полезный ответ.
Я думаю, что есть разные способы сделать это, например 1) объединить два вложения и применить PCA после этого 2) нормализовать каждое вложение и объединить их вместе, чтобы каждая модель внесла одинаковый вклад в конечные результаты 3) нормализовать каждую функцию каждого вложения в (0,1), скажем, с помощью гауссовых CDF и объединить их вместе, так что каждый признак вносит одинаковый вклад в результаты.