Info

Testing and Issues

You can test this entry and submit issues during the testing period of the C++ Contest 2022 contest.

Entries with serious issues will not be able to win the contest, but even minor issues might be important for overall results.

Voting

Comments

For English version scroll down.

В архиве три папки:
ipa - лежат ipa файлы + txt с ссылкой на install on air (установка ipa по переходу по ссылке)
XcodeProject - весь проект Xcode, включая opencv
SourceCode - отдельно исходники, без opencv, сам модуль в MakePretty.cpp
iPhone XS Max, iOS 15.2; iPhone 11, iOS 15.3.1; iPad Air 3rd gen, iOS 15.3.1
Модуль работает следующим образом: ARKit занимается поиском лица, модулю передают координаты точек (в пикселях) и изначальную картинку. При помощи opencv накладывается GaussianBlur (глаза, губы и ноздри не блюрим). Потом полученное изображение усредняется с исходным. Эффект разглаживает морщины, немного убирает прыщи, сильно улучшает качество кожи и тому подобное.
iPhone XS Max, iOS 15.2; iPhone 11, iOS 15.3.1; iPad Air 3rd gen, iOS 15.3.1
Поскольку эффект применяется только к лицу, остальное изображение не теряет в качестве, все изменения происходят исключительно в контуре лица. При включенном улучшении внешности картинка обновляется только при наличии лица в кадре - это не проблема модуля просто такова реализация на Swift. Размер полученного ipa 650КБ. На iPhone XS Max приложение стабильно выдавало 30 FPS, на более старых моделях тест не проводился. Основной целью было сделать эффект как можно более естественным.
iPhone XS Max, iOS 15.2; iPhone 11, iOS 15.3.1; iPad Air 3rd gen, iOS 15.3.1
There are three folders in the archive:
ipa - there are ipa files + txt with a link to install on air (installing ipa by clicking on the link)
XcodeProject - the entire Xcode project, including opencv
SourceCode - separate source codes, without opencv, the module itself is MakePretty.cpp
iPhone XS Max, iOS 15.2; iPhone 11, iOS 15.3.1; iPad Air 3rd gen, iOS 15.3.1
The module works as follows: ARKit searches for a face, coordinates of its points (in pixels) and the original image are transmitted to the module. GaussianBlur is applied using opencv (eyes, lips and nostrils are not blurred). Then the resulting image is averaged with the original one. The effect smoothes wrinkles, removes pimples a little, greatly improves the quality of the skin and the like.
iPhone XS Max, iOS 15.2; iPhone 11, iOS 15.3.1; iPad Air 3rd gen, iOS 15.3.1
Since the effect is applied only to the face, the rest of the image does not lose quality, all changes occur exclusively in the contour of the face. With the appearance enhancement enabled, the picture is updated only if there is a face in the frame - this is not a problem of the module, it's just the implementation on Swift. The size of the resulting ipa is 650KB. On the iPhone XS Max, the application consistently gave out 30 FPS, on older models the test was not carried out. The main goal was to make the effect as natural as possible.
iPhone XS Max, iOS 15.2; iPhone 11, iOS 15.3.1; iPad Air 3rd gen, iOS 15.3.1
Solution uses only OpenCV (runs on CPU), not Open GL/Metal. Face detection is based on ARKit, but it can be easily swapped with ARCore.
iPhone XS Max, iOS 15.2; iPhone 11, iOS 15.3.1; iPad Air 3rd gen, iOS 15.3.1
You have not added any comments yet...
by rating

Issues

Fair Quokka Mar 17, 2022 at 17:47
В приложении используется системная функция для определения черт лица (ARKit), после чего происходит выборочная модификация найденных областей при помощи библиотеки OpenCV. Приложение работает на CPU без использования GPU.

Размер библиотеки ≈ 1,5 MB с потенциальным уменьшением до требуемого размера.

Приложение в автоматическом режиме преобразовывает лицо пользователя – сглаживает тон кожи лица. Приложению удаётся удерживать ожидаемую производительность не ниже 30 FPS только на мощных устройствах, например, iPhone 12 Pro, исключительно в статичном состоянии. При начале движения телефон нагревается, происходит заметное снижение производительности преобразования видеопотока.

В ходе тестирования приложения и моделирования различных ситуаций реального мира были выявлены следующие недоработки как алгоритма, так и приложения:
– Приложение вылетает на iPhone 6S Plus iOS 15;
– На iPhone XS производительность постоянно находится ниже ожидаемой при движении самого устройства. 
iPhone 12 Pro (iOS 15.3); iPhone XS (iOS 15.3); iPhone 6S Plus (iOS 15.3).
10
Nobody added any issues yet...