В приложении используется системная функция для определения черт лица (Vision Framework), после чего происходит выборочная модификация найденных областей при помощи библиотеки OpenCV. Приложение работает на CPU без использования GPU.
Размер библиотеки ≈ 1,5 MB с потенциальным уменьшением до требуемого размера.
Приложение в автоматическом режиме преобразовывает лицо пользователя – сглаживает тон кожи лица. Пользователю выводится два видеопотока – исходное видео с камеры и результат работы алгоритма. При движении устройства преобразованный видеопоток опускается ниже ожидаемых 30 FPS.
В ходе тестирования приложения и моделирования различных ситуаций реального мира были выявлены следующие недоработки как алгоритма, так и приложения:
– Глубина эффекта маски чрезмерно навязчивая, резкая. Лицо с наложенным фильтром выглядит искусственным, чересчур однородным.
– Пропорции видеопотоков нарушены. Так, на iPhone 6S Plus видео выводится растянутым по ширине.
– Приложение часто вылетает после одной-двух минут в активном состоянии.
– Устройства, на которых запускалось приложения, сильно нагреваются.
iPhone 12 Pro (iOS 15.3); iPhone XS (iOS 15.3); iPhone 6S Plus (iOS 15.3).