Добавить в корзинуПозвонить
Найти в Дзене
Дом по уму

Самое сложное оказалось не AI, а фотография

Когда начинаешь делать приложение для анализа внешности, кажется, что главная сложность будет в AI. На практике один из самых сложных вопросов звучит гораздо проще: какое фото загрузил пользователь? Потому что фото может сильно обмануть. Тёплая лампа делает кожу желтее. Окно сбоку даёт тень. Телефон может автоматически подкрутить цвет. Фильтр в галерее делает лицо более контрастным. А иногда человек загружает снимок, где половина лица закрыта волосами или свет падает сверху. И приложение всё равно должно дать результат, которому можно доверять. Цветотип строится не только на одном цвете кожи. Важны разные признаки: температура, глубина, контрастность, мягкость, то, как оттенки рядом с лицом выглядят в целом. Но если фото сделано в плохом освещении, часть этих признаков искажается. Представьте белую рубашку под тёплой лампой. Она уже не белая, а кремовая. То же самое происходит с кожей, волосами и глазами. Поэтому в приложении пришлось думать о качестве входа. Не только "загрузите фото
Оглавление

Когда начинаешь делать приложение для анализа внешности, кажется, что главная сложность будет в AI.

На практике один из самых сложных вопросов звучит гораздо проще: какое фото загрузил пользователь?

Потому что фото может сильно обмануть.

Тёплая лампа делает кожу желтее. Окно сбоку даёт тень. Телефон может автоматически подкрутить цвет. Фильтр в галерее делает лицо более контрастным. А иногда человек загружает снимок, где половина лица закрыта волосами или свет падает сверху.

И приложение всё равно должно дать результат, которому можно доверять.

Почему свет так важен

Цветотип строится не только на одном цвете кожи. Важны разные признаки: температура, глубина, контрастность, мягкость, то, как оттенки рядом с лицом выглядят в целом.

Но если фото сделано в плохом освещении, часть этих признаков искажается.

Представьте белую рубашку под тёплой лампой. Она уже не белая, а кремовая. То же самое происходит с кожей, волосами и глазами.

Поэтому в приложении пришлось думать о качестве входа. Не только "загрузите фото", а как помочь человеку загрузить нормальное фото.

Так появились вспомогательные сценарии:

  • подсказки по качеству снимка;
  • live camera;
  • калибровка;
  • уточнение результата, если приложение не уверено;
  • отдельная логика для ситуаций, когда результат пограничный.

Это скучнее, чем написать "AI всё поймёт", но именно такие детали делают продукт честнее.

Почему нужен не только один ответ

Ещё одна проблема: внешность не всегда идеально попадает в одну коробку.

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

Если в такой ситуации приложение уверенно пишет один результат и не показывает альтернативы, доверие падает.

Поэтому я решил, что результат должен быть спокойнее:

"Вот основной вариант. Вот уверенность. Вот близкие альтернативы. Если нужно, можно уточнить".

Мне нравится такой подход, потому что он ближе к реальности.

В стиле редко бывает математическая кнопка "истина". Есть признаки, сочетания, вероятности и практические решения.

Зачем нужны уточнения

Уточнение нужно не для того, чтобы усложнить путь, а чтобы не бросать человека в сомнении.

Если результат устойчивый, пользователь просто идёт дальше.

Если нет, приложение может предложить уточняющий сценарий. Например, сравнить, как разные оттенки ведут себя рядом с лицом, или пройти дополнительный шаг.

Это особенно важно для людей, которые уже раньше проходили разные тесты и получали разные ответы.

Один сайт сказал "лето", другой "зима", третий "мягкая осень". После такого легко перестать верить вообще всем тестам.

Я хотел, чтобы Твой цветотип не делал вид, что таких случаев нет.

Что я понял во время разработки

Самое важное в таком приложении не только модель, которая даёт ответ.

Важно всё вокруг:

как человек входит в анализ;

как он понимает, что фото подходит;

как показывается уверенность;

как объясняется результат;

что происходит, если приложение сомневается;

какой следующий шаг предлагается после анализа.

Именно поэтому приложение постепенно стало не просто экраном с результатом, а целым flow.

Мне кажется, в этом и есть интересная часть разработки: настоящая сложность часто прячется не там, где ждёшь.

Если вам интересно смотреть на приложение не только с красивой стороны, но и изнутри, подпишитесь на канал. В следующей статье расскажу, как я собирал Твой цветотип по частям: от первого анализа до гардероба и платных AI-разборов.