AI-система диагностики состояния кожи по фотографии

Оценка состояния кожи по снимку часто даёт разброс: один и тот же кадр разные специалисты читают по-разному. Мы разрабатываем системы диагностики кожи по фото с ИИ под ключ — от сбора и разметки снимков до встраивания в ваши процессы. Решение сокращает время на оценку и делает выводы воспроизводимыми от кадра к кадру.
Часто задаваемые вопросы

Диагностика кожи по фото ИИ: где ломается точность

Диагностика кожи по фото с помощью ИИ ломается не на модели, а на входе. Один и тот же снимок, снятый при разном свете, с разной дистанции и с разной резкостью, даёт заметный разброс результатов анализа — вероятность по классу «акне» или «пигментация» может отличаться на десятки процентов. Пользователь делает два фото подряд, получает два разных вердикта и перестаёт доверять сервису.

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

Для заказчика это не абстрактная метрика. Разброс результатов анализа означает рост обращений в поддержку, отток пользователей после первой неудачной попытки и невозможность использовать выводы системы в клиническом или косметологическом сценарии. Если сервис продаёт рекомендации по уходу, нестабильный вердикт бьёт по возвратам и по репутации бренда.

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

Что даёт ИИ-анализ снимков кожи и как он устроен

Режимы анализа изображений

Система работает в двух режимах. Скрининг-режим оценивает снимок по шкалам риска и возвращает класс с уверенностью — его задача отсеять кадры, где патология не просматривается, и не пропустить случаи, требующие внимания специалиста. Режим сравнения сопоставляет два снимка одного участка, снятых в разное время, и показывает динамику: усилилась ли эритема, изменились ли границы образования, стабильна ли пигментация.

Предобработка снимков

Качество исходного кадра определяет потолок точности модели, поэтому до инференса снимок проходит нормализацию: приведение к единому цветовому пространству, баланс белого, отсечение бликов и теней, выравнивание резкости. Кадры, не прошедшие порог по размытию и освещённости, не уходят в модель, а возвращаются с подсказкой переснять — это снижает долю ложных срабатываний на входе.

Сравнение подходов распознавания

Подход Когда подходит Ограничения
Классификатор по шкалам Массовый скрининг, быстрый ответ Не локализует очаг, чувствителен к фону
Сегментация очага Нужны границы и площадь образования Требует разметки, дольше обучается
Сравнение пары снимков Наблюдение динамики во времени Критично совпадение ракурса и света

Метрики качества модели

Модель оценивается не одной точностью, а набором: чувствительность по каждому классу (сколько реальных случаев пропущено), специфичность (сколько здоровых ошибочно отмечено), доля отсеянных некачественных кадров и стабильность оценки при повторной съёмке того же участка. Отдельно считаем матрицу ошибок — какие классы модель путает между собой, чтобы точечно дообучать на спорных примерах. Такой разбор убирает самый дорогой класс ошибок — уверенный пропуск.

Методологию валидации строим по принципам, отработанным в медицинской визуальной диагностике DermNet: разделение выборок по пациентам, а не по снимкам, чтобы модель не «узнавала» одного человека в обучении и тесте.

Как мы внедряем систему анализа кожи по шагам

Внедрение системы диагностики кожи по фото ии начинается не с модели, а с данных и клинической логики: если на входе разметка противоречива, никакая архитектура не даст устойчивого результата. Поэтому первые недели уходят на аудит датасета и фиксацию того, какие состояния система обязана различать, а какие — честно отправлять на очный осмотр. Ниже — этапы внедрения ии, по которым мы ведём проект от сырых снимков до работающего контура.

  1. Аудит датасета и постановка задачи. Смотрим, что уже есть: снимки, история заключений, разметка. Проверяем баланс классов, качество света и ракурсов, дубли и утечки между выборками. На выходе — согласованный перечень состояний и критерии, по которым решение считается верным.
  2. Схема съёмки и протокол. Фиксируем, как пользователь делает фото: освещение, дистанция, зоны. Без стабильного входа модель деградирует на реальных снимках, поэтому протокол съёмки — часть системы, а не пожелание.
  3. Подготовка данных и разметка. Чистим датасет, дополняем редкие классы, приводим разметку к единому стандарту. Спорные случаи выносим на согласование с профильными специалистами, чтобы метка отражала клиническую логику, а не мнение одного разметчика.
  4. Обучение и настройка модели. Подбираем архитектуру под задачу, настраиваем пороги чувствительности отдельно для каждого класса. Для диагностики важнее не пропустить опасное состояние, чем ошибиться в сторону перепроверки.
  5. Валидация модели. Проверяем на отложенной выборке, которую модель не видела при обучении, и на снимках с других устройств. Считаем не только общую точность, но и полноту по каждому классу — именно она показывает, сколько случаев система пропускает.
  6. Интеграция и передача системы заказчику. Встраиваем в интерфейс или процесс, настраиваем журналирование решений и обратную связь от специалистов. Передаём документацию, доступы и регламент обновления модели.
  7. Сопровождение и дообучение. Собираем случаи, где система сомневалась, и периодически переобучаем на новых данных. Это удерживает качество, когда меняется техника съёмки или приходят новые типы состояний.

Ключевой принцип на всех этапах — система помогает специалисту расставить приоритеты, а не заменяет осмотр. Опишите задачу и текущие данные — вернёмся с оценкой и планом работ.

Чем отличается анализ по одному кадру от серии снимков?

Одиночный кадр фиксирует состояние кожи в одной точке времени и в одном ракурсе. Модель получает один вектор признаков и выдаёт оценку — но эта оценка наследует все дефекты съёмки: блик от вспышки читается как жирный блеск, тень в складке — как пигментация, а случайный поворот головы меняет геометрию зон. Диагностика кожи по фото ии на одном снимке даёт разброс между двумя кадрами одной и той же кожи, и этот разброс — не шум модели, а следствие входа.

Серия снимков меняет природу оценки. Когда на вход идут 3-5 кадров под разными углами и при разном освещении, система усредняет не пиксели, а признаки: тон, текстуру, границы покраснений. Усреднение результатов по серии гасит выбросы — единичный блик или неудачный ракурс перестаёт определять итог, потому что остальные кадры его перевешивают. Устойчивость оценки растёт не за счёт более сложной модели, а за счёт того, что вход перестаёт быть случайной величиной.

Ракурс и свет — главный источник ошибок при одиночном снимке. Фронтальный свет сглаживает рельеф, боковой его подчёркивает, а верхний создаёт ложные тени под глазами и носом. Серия, снятая с предсказуемыми изменениями положения и источника света, позволяет системе отделить постоянные признаки кожи от переменных условий съёмки. Это тот же принцип, что в фотограмметрии: одна точка не даёт объёма, несколько — дают.

Практический эффект — повторяемость. Два независимых сеанса на одной коже дают близкие оценки, а значит, динамику во времени можно отслеживать: стало лучше или хуже — это видно, а не тонет в погрешности. Для одиночного кадра такое сравнение почти бессмысленно — разница между сеансами сопоставима с разницей между двумя кадрами одного сеанса.

Отсюда инженерное требование: не «сфотографируйте получше», а регламент съёмки — сколько кадров, под какими углами, при каком свете. Мы закладываем этот регламент в интерфейс, чтобы качество входа не зависело от того, насколько аккуратно пользователь держит телефон.

Кейс: как выросла точность оценки состояния кожи

Заказчик пришёл с работающим прототипом: модель обучена на размеченных снимках, в лабораторных условиях выдаёт приличный результат. В реальной эксплуатации картина оказалась другой — доля согласия с заключением специалиста держалась на уровне около 60%, а каждый третий кадр от пользователя был непригоден: пересвет, размытие, кожа в тени или снята под острым углом. Инженеры тратили время на ручной разбор мусорных снимков вместо работы с содержательными случаями.

Что изменили

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

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

Результат

Метрика До После
Согласие с заключением специалиста ~60% ~88%
Доля непригодных кадров, дошедших до анализа каждый третий менее 5%
Время получения результата минуты ручного разбора секунды после проверки кадра

Отсев на входе дал не только точность, но и предсказуемость: специалист теперь смотрит только те случаи, где система действительно сомневается, а не разгребает поток брака. Время обработки снимка сократилось до секунд, а доля согласия с экспертом выросла почти в полтора раза — это и стало главным критерием приёмки.

Модель и слой контроля качества собраны на PyTorch с вынесенным препроцессингом кадров, что позволило менять пороги проверки без переобучения основной сети.

Сомнения перед запуском: совместимость, откат, доступы

Диагностика кожи по фото ИИ почти никогда не запускается «в пустом поле» — она встраивается в существующий контур: карточку клиента, запись на приём, журнал обращений. Поэтому первый технический вопрос — не «насколько точна модель», а «что произойдёт с текущей системой, когда мы подключим новый модуль».

Что если потребуется откат? Модуль выносится за изолированный интерфейс: приём фото, ответ модели и запись результата идут раздельными вызовами, а версия модели и весов фиксируется в конфигурации. Откат — это переключение на предыдущую версию без правки кода интеграции; история решений и исходные снимки остаются, поэтому уже выданные заключения не теряются.

Кто и к чему получает доступ? Роли разводятся по уровням: оператор видит только результат по своему клиенту, врач — историю и обоснование, администратор — настройки и журнал. Снимки и метаданные хранятся раздельно, доступ к исходникам логируется, а сервисные учётные записи не имеют прав на выгрузку массива.

Совместимо ли это с нашей текущей системой?

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

На сдаче заказчик получает на руки:

  • схему интеграции с точками обмена и границами ответственности;
  • конфигурацию модели с зафиксированными версиями и порогами срабатывания;
  • матрицу ролей и политику разграничения доступов;
  • регламент отката на предыдущую версию с проверкой на стенде;
  • журнал решений модели и правила хранения снимков;
  • инструкцию по эксплуатации и чеклист приёмки.

Опишите вашу текущую систему и требования к доступам — вернёмся с оценкой и планом интеграции.

Сроки этапов внедрения анализа изображений

Сроки зависят не от объёма кода, а от готовности данных и скорости согласования клинической части. Ниже — ориентиры для проекта диагностики кожи по фото: от постановки задачи до вывода в работу. Диапазоны даны для потока с одной модальностью съёмки и одним сценарием применения; при нескольких типах камер или нескольких заболеваниях в одной модели сроки растягиваются.

Подготовка данных — самый длинный этап и главный источник сдвигов: качество разметки прямо определяет, сколько ошибок модель будет давать на потоке. Если снимки уже собраны и размечены по единому протоколу, этот этап сокращается вдвое; если съёмка велась разными камерами и без стандарта, добавляется время на приведение набора к единому виду.

Обучение и проверка идут с возвратами: после оценки на отложенной выборке обычно выясняется, что часть классов модель путает, и цикл «доразметка — дообучение — повторная проверка» повторяется. Мы закладываем на это отдельный резерв, а не считаем обучение однократным проходом.

Вывод в работу — не финальная точка, а режим сопровождения: модель дообучается на новых снимках, а пороги срабатывания уточняются по мере накопления статистики. Опишите ваш сценарий и объём снимков — вернёмся с оценкой и планом по этапам.

Направления AI-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139