ШІ-система діагностики стану шкіри за фотографією

Оцінка стану шкіри за знімком часто дає розбіжності: той самий кадр різні фахівці читають по-різному. Ми розробляємо системи діагностики шкіри за фото з ШІ під ключ — від збору та розмітки знімків до вбудовування у ваші процеси. Рішення скорочує час на оцінку та робить висновки відтворюваними від кадру до кадру.

ШІ-система діагностики стану шкіри за фотографією

Комп'ютерний зір — послуги AI/ML розробкиСередній~2-4 тижні
Часті запитання

Діагностика шкіри за фото ШІ: де ламається точність

Діагностика шкіри за фото за допомогою ШІ ламається не на моделі, а на вході.

Один і той самий знімок, зроблений за різного світла, з різної дистанції та з різною різкістю, дає помітний розкид результатів аналізу — ймовірність за класом «акне» або «пігментація» може відрізнятися на десятки відсотків. Користувач робить два фото підряд, отримує два різні вердикти й перестає довіряти сервісу.

Причина в тому, що модель навчається на датасеті, а на вхід у продакшені надходить потік із телефонів: пересвіт від спалаху, жовтий відтінок від ламп розжарювання, розмиття від руху руки, випадковий кроп.

Точність розпізнавання знімків на такому потоці падає нелінійно — чим ширший розкид якості вхідних фотографій, тим сильніше розходяться передбачення між сесіями однієї й тієї самої людини.

Для замовника це не абстрактна метрика. Розкид результатів аналізу означає зростання звернень до підтримки, відтік користувачів після першої невдалої спроби та неможливість використовувати висновки системи в клінічному чи косметологічному сценарії.

Якщо сервіс продає рекомендації з догляду, нестабільний вердикт б'є по поверненнях і по репутації бренду.

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

Що дає ШІ-аналіз знімків шкіри та як він влаштований

Режими аналізу зображень

Система працює у двох режимах. Скринінговий режим оцінює знімок за шкалами ризику та повертає клас із упевненістю — його завдання відсіяти кадри, де патологія не проглядається, і не пропустити випадки, що потребують уваги фахівця.

Режим порівняння зіставляє два знімки однієї ділянки, зняті в різний час, і показує динаміку: чи посилилася еритема, чи змінилися межі утворення, чи стабільна пігментація.

Попередня обробка знімків

Якість вихідного кадру визначає стелю точності моделі, тому до інференсу знімок проходить нормалізацію: приведення до єдиного колірного простору, баланс білого, відсікання відблисків і тіней, вирівнювання різкості.

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

Порівняння підходів розпізнавання

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

Метрики якості моделі

Модель оцінюється не однією точністю, а набором: чутливість за кожним класом (скільки реальних випадків пропущено), специфічність (скільки здорових помилково позначено), частка відсіяних неякісних кадрів і стабільність оцінки при повторному зніманні тієї самої ділянки.

Окремо рахуємо матрицю помилок — які класи модель плутає між собою, щоб точково донавчати на спірних прикладах. Такий розбір прибирає найдорожчий клас помилок — упевнений пропуск.

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

Як ми впроваджуємо систему аналізу шкіри крок за кроком

Впровадження системи діагностики шкіри за фото іі починається не з моделі, а з даних і клінічної логіки: якщо на вході розмітка суперечлива, жодна архітектура не дасть стійкого результату.

Тому перші тижні йдуть на аудит датасету та фіксацію того, які стани система зобов'язана розрізняти, а які — чесно відправляти на очний огляд. Нижче — етапи впровадження іі, за якими ми ведемо проєкт від сирих знімків до працюючого контуру.

  1. Аудит датасету та постановка задачі. Дивимося, що вже є: знімки, історія висновків, розмітка. Перевіряємо баланс класів, якість світла та ракурсів, дублі та витоки між вибірками. На виході — узгоджений перелік станів і критерії, за якими рішення вважається правильним.
  2. Схема зйомки та протокол. Фіксуємо, як користувач робить фото: освітлення, дистанція, зони. Без стабільного входу модель деградує на реальних знімках, тому протокол зйомки — частина системи, а не побажання.
  3. Підготовка даних і розмітка. Чистимо датасет, доповнюємо рідкісні класи, приводимо розмітку до єдиного стандарту. Спірні випадки виносимо на узгодження з профільними спеціалістами, щоб мітка відображала клінічну логіку, а не думку одного розмітника.
  4. Навчання та налаштування моделі. Підбираємо архітектуру під задачу, налаштовуємо пороги чутливості окремо для кожного класу. Для діагностики важливіше не пропустити небезпечний стан, ніж помилитися в бік переперевірки.
  5. Валідація моделі. Перевіряємо на відкладеній вибірці, яку модель не бачила під час навчання, і на знімках з інших пристроїв. Рахуємо не лише загальну точність, а й повноту за кожним класом — саме вона показує, скільки випадків система пропускає.
  6. Інтеграція та передача системи замовнику. Вбудовуємо в інтерфейс або процес, налаштовуємо журналювання рішень і зворотний зв'язок від спеціалістів. Передаємо документацію, доступи та регламент оновлення моделі.
  7. Супровід і донавчання. Збираємо випадки, де система сумнівалася, і періодично перенавчаємо на нових даних. Це утримує якість, коли змінюється техніка зйомки або надходять нові типи станів.

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

Чим відрізняється аналіз за одним кадром від серії знімків?

Одиничний кадр фіксує стан шкіри в одній точці часу і в одному ракурсі.

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

Діагностика шкіри по фото іі на одному знімку дає розкид між двома кадрами однієї й тієї ж шкіри, і цей розкид — не шум моделі, а наслідок входу.

Серія знімків змінює природу оцінки. Коли на вхід ідуть 3-5 кадрів під різними кутами і при різному освітленні, система усереднює не пікселі, а ознаки: тон, текстуру, межі почервонінь.

Усереднення результатів за серією гасить викиди — одиничний відблиск або невдалий ракурс перестає визначати підсумок, бо інші кадри його переважують. Стійкість оцінки зростає не за рахунок складнішої моделі, а за рахунок того, що вхід перестає бути випадковою величиною.

Ракурс і світло — головне джерело помилок при одиничному знімку. Фронтальне світло згладжує рельєф, бокове його підкреслює, а верхнє створює хибні тіні під очима і носом.

Серія, знята з передбачуваними змінами положення і джерела світла, дозволяє системі відокремити постійні ознаки шкіри від змінних умов зйомки. Це той самий принцип, що у фотограмметрії: одна точка не дає об'єму, кілька — дають.

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

Для одиничного кадру таке порівняння майже безглузде — різниця між сеансами співмірна з різницею між двома кадрами одного сеансу.

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

Кейс: як зросла точність оцінки стану шкіри

Замовник прийшов з працюючим прототипом: модель навчена на розмічених знімках, у лабораторних умовах видає пристойний результат.

У реальній експлуатації картина виявилася іншою — частка згоди з висновком фахівця трималася на рівні близько 60%, а кожен третій кадр від користувача був непридатний: пересвітлення, розмиття, шкіра в тіні або знята під гострим кутом. Інженери витрачали час на ручний розбір сміттєвих знімків замість роботи зі змістовними випадками.

Що змінили

Першим кроком винесли вхідний контроль якості в окремий шар: перед подачею в модель знімок проходить перевірку різкості, експозиції, положення обличчя в кадрі та рівномірності освітлення.

Непридатні кадри не доходять до аналізу — користувач одразу отримує зрозумілу підказку, як перезняти. Це прибрало основну частку хибних спрацьовувань і розвантажило фахівців.

Другим — перезібрали навчальну вибірку: додали реальні користувацькі знімки з різним освітленням і типами шкіри, а розмітку звели до єдиного протоколу, щоб фахівці не розходилися в оцінці одних і тих самих кадрів.

Модель перестала «плисти» на граничних випадках, де раніше видавала впевнений, але неправильний результат.

Результат

Метрика До Після
Згода з висновком фахівця ~60% ~88%
Частка непридатних кадрів, що дійшли до аналізу кожен третій менше 5%
Час отримання результату хвилини ручного розбору секунди після перевірки кадру

Відсів на вході дав не лише точність, а й передбачуваність: фахівець тепер дивиться тільки ті випадки, де система справді сумнівається, а не розгрібає потік браку.

Час обробки знімка скоротився до секунд, а частка згоди з експертом зросла майже в півтора раза — це й стало головним критерієм приймання.

Модель і шар контролю якості зібрані на PyTorch з винесеним препроцесингом кадрів, що дозволило змінювати пороги перевірки без перенавчання основної мережі.

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

Діагностика шкіри за фото ШІ майже ніколи не запускається «в порожньому полі» — вона вбудовується в наявний контур: картку клієнта, запис на прийом, журнал звернень.

Тому перше технічне питання — не «наскільки точна модель», а «що станеться з поточною системою, коли ми підключимо новий модуль».

Що як знадобиться відкат? Модуль виноситься за ізольований інтерфейс: прийом фото, відповідь моделі та запис результату йдуть роздільними викликами, а версія моделі та ваг фіксується в конфігурації.

Відкат — це перемикання на попередню версію без правки коду інтеграції; історія рішень і вихідні знімки залишаються, тому вже видані висновки не втрачаються.

Хто і до чого отримує доступ? Ролі розводяться за рівнями: оператор бачить лише результат за своїм клієнтом, лікар — історію та обґрунтування, адміністратор — налаштування та журнал.

Знімки й метадані зберігаються роздільно, доступ до вихідників логується, а сервісні облікові записи не мають прав на вивантаження масиву.

Чи сумісно це з нашою поточною системою?

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

На здачі замовник отримує на руки:

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

Опишіть вашу поточну систему та вимоги до доступів — повернемося з оцінкою та планом інтеграції.

Терміни етапів впровадження аналізу зображень

Терміни залежать не від обсягу коду, а від готовності даних і швидкості узгодження клінічної частини. Нижче — орієнтири для проєкту діагностики шкіри за фото: від постановки задачі до введення в роботу.

Діапазони наведено для потоку з однією модальністю зйомки та одним сценарієм застосування; за кількох типів камер або кількох захворювань в одній моделі терміни розтягуються.

Підготовка даних — найдовший етап і головне джерело зсувів: якість розмітки прямо визначає, скільки помилок модель даватиме на потоці.

Якщо знімки вже зібрані та розмічені за єдиним протоколом, цей етап скорочується вдвічі; якщо зйомка велася різними камерами і без стандарту, додається час на приведення набору до єдиного вигляду.

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

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

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1374
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142