# Face Recognotion on Videos ## Early works In early works image sets from videos or not were treated as independent set of images. ### [Fitzgibbon & Zisserman, CVPR 2003](https://www.semanticscholar.org/paper/Face-recognition-based-on-image-sets-Cevikalp-Triggs/77dd85ed8749a4167776d1a9a41db09f83043dbe) ![](https://i.imgur.com/kS4H6K9.png) *Face Recognition Based on Image Sets by Hakan Cevikalp & Bill Triggs - CVPR 2010, San Francisco USA* In this kind of approaches we need to perform optimization to find closest distance. SVM may me reformulated to solve this convex problem. Baselines ate very toy. ### Learning Discriminative Aggregation Network for Video-based Face Recognition THe idea here is to use SET->IMAGE Gan to aggregate raw photos for better verification. Baselines are very toy. ## This talk ### Video Face Recognition: Component-wise Feature Aggregation Network (C-FAN) Здесь аггрегация уже более привычная. Они упомянают старые работы про аггрегацию на уровне картинок (первый столбец), по оценке качества картинки (второй столбец) и их предложенный подход покомпонентно (третий столбец) ![](https://i.imgur.com/zrJ44CX.png) Вся идея в том, как обучить правило аггрегации. Тут достаточно просто: ![](https://i.imgur.com/s4k51q9.png) С предпоследнего слоя перед фейсенами строится новая голова, которая предсказывает веса для аггрегации. Тут ничего сложного нет. Чтобы это обучать, авторы предлагают использовать триплет лосс. **Важные замечания** * веса каждой компоненты суммируются в единицу по количеству картинок. Если картинка одна, то вес аггрегации равен 1 для всех компонент. * Это расширяет подход с аггрегацией по качеству, так как единый вес для всех компонент -- частный случай. * Дообучение происходит на исходном тренировочном датасете * Бекбон не дообучается * Для дообучения происходит аугментация данных заблюриванием #### Интерпретация Визуально плохие картинки получают маленькие значения "качества". Причем как видно, этот эффект разнесен по компонентам. ![](https://i.imgur.com/R3cZ0KB.png) #### Бейзлайны **Подходы** * Простое усреднение * Усреднение с общими весами (оценка качества) * Усреднение с покомпонентными весами (качество на компоненту) **Датасеты** * IJB-S (The dataset includes 350 surveillance videos spanning 30 hours in total, 5, 656 enrollment images, and 202 enrollment videos. This) * YTF (YouTube Face datast) * IJB-A * UAV (is a small fixed-wing unmanned aerial vehicle that was flown to collect images and videos. Судя по резульатам, простое усреднение никуда не годится. А обучать либо общий вес либо покомпонентный будет докидывать. ![](https://i.imgur.com/aoAj2FM.png) Для референса, так выглядят тестовые данные ![](https://i.imgur.com/szE0hYe.png) ### Attention-aware Deep Reinforcement Learning for Video Face Recognition Здесь уже аггрегируются последовательности кадров рекуррентной моделью. Модель решает, какие кадры брать для аггрегации, какие не брать. Что интересного заявляют авторы в этом подходе: > Dropping a frame may lead to two states: st+1 and termination, where termination means that we already find a set of the most representative frames or there is only a pair of frames from each video. Evaluative Тоесть можно заранее прекратить просматривать видео, набрав необходимое количество хороших кадров. ### Как это работает Если опустить RL, который стоит за кадром, то они делают average pooling оставшихся после фильтрации кадров в один вектор и сравнивают видосы по cosine similarity этих векторов. ![](https://i.imgur.com/qOdEIxD.png) Но меня все равно смущает ряд вещей: **Непонятная зависимость от количества используемых фреймов (Figure 4)**. Смотреть на правую картинку (по оси X трешхолд по количеству картинок), левая это сабсемплинг (пропущенные фреймы, чтобы сильно близкие не брать). Ось Y тоже странная ![](https://i.imgur.com/nw5xmjT.png) **Внимание на FAR** ![](https://i.imgur.com/Njt3TAv.png) Тем не менее, статья хороша. При всей ее "из пушки по воробьям", там есть некоторые идеи, которые кажутся полезными. А именно * Не одним RL едины и использовать модели на последовательностях может быть действительно полезно. Например self attention модели, для формулировки в первой статье. Там используется просто предсказание без учета взаимоствязей. * Бейзлайн при обучении (на подумать): не все кадры могут быть одинаково хороши, можно учитывать относительное улучшение. ![](https://i.imgur.com/Zfncjhh.png)