Діагностика шкіри за фото ШІ: де ламається точність
Діагностика шкіри за фото за допомогою ШІ ламається не на моделі, а на вході.
Один і той самий знімок, зроблений за різного світла, з різної дистанції та з різною різкістю, дає помітний розкид результатів аналізу — ймовірність за класом «акне» або «пігментація» може відрізнятися на десятки відсотків. Користувач робить два фото підряд, отримує два різні вердикти й перестає довіряти сервісу.
Причина в тому, що модель навчається на датасеті, а на вхід у продакшені надходить потік із телефонів: пересвіт від спалаху, жовтий відтінок від ламп розжарювання, розмиття від руху руки, випадковий кроп.
Точність розпізнавання знімків на такому потоці падає нелінійно — чим ширший розкид якості вхідних фотографій, тим сильніше розходяться передбачення між сесіями однієї й тієї самої людини.
Для замовника це не абстрактна метрика. Розкид результатів аналізу означає зростання звернень до підтримки, відтік користувачів після першої невдалої спроби та неможливість використовувати висновки системи в клінічному чи косметологічному сценарії.
Якщо сервіс продає рекомендації з догляду, нестабільний вердикт б'є по поверненнях і по репутації бренду.
Закривається це не однією великою моделлю, а контуром: контроль якості вхідних фотографій на клієнті, нормалізація кольору й масштабу перед інференсом, калібрування порогів під реальний потік і моніторинг дрейфу на живих даних. Розбираємо, як це влаштовано і де саме втрачається точність.
Що дає ШІ-аналіз знімків шкіри та як він влаштований
Режими аналізу зображень
Система працює у двох режимах. Скринінговий режим оцінює знімок за шкалами ризику та повертає клас із упевненістю — його завдання відсіяти кадри, де патологія не проглядається, і не пропустити випадки, що потребують уваги фахівця.
Режим порівняння зіставляє два знімки однієї ділянки, зняті в різний час, і показує динаміку: чи посилилася еритема, чи змінилися межі утворення, чи стабільна пігментація.
Попередня обробка знімків
Якість вихідного кадру визначає стелю точності моделі, тому до інференсу знімок проходить нормалізацію: приведення до єдиного колірного простору, баланс білого, відсікання відблисків і тіней, вирівнювання різкості.
Кадри, що не пройшли поріг за розмитістю та освітленістю, не йдуть у модель, а повертаються з підказкою перезняти — це знижує частку хибних спрацювань на вході.
Порівняння підходів розпізнавання
| Підхід | Коли підходить | Обмеження |
|---|---|---|
| Класифікатор за шкалами | Масовий скринінг, швидка відповідь | Не локалізує осередок, чутливий до фону |
| Сегментація осередку | Потрібні межі та площа утворення | Потребує розмітки, довше навчається |
| Порівняння пари знімків | Спостереження динаміки в часі | Критичною є збіжність ракурсу та світла |
Метрики якості моделі
Модель оцінюється не однією точністю, а набором: чутливість за кожним класом (скільки реальних випадків пропущено), специфічність (скільки здорових помилково позначено), частка відсіяних неякісних кадрів і стабільність оцінки при повторному зніманні тієї самої ділянки.
Окремо рахуємо матрицю помилок — які класи модель плутає між собою, щоб точково донавчати на спірних прикладах. Такий розбір прибирає найдорожчий клас помилок — упевнений пропуск.
Методологію валідації будуємо за принципами, відпрацьованими в медичній візуальній діагностиці DermNet: розділення вибірок за пацієнтами, а не за знімками, щоб модель не «впізнавала» одну людину в навчанні та тесті.
Як ми впроваджуємо систему аналізу шкіри крок за кроком
Впровадження системи діагностики шкіри за фото іі починається не з моделі, а з даних і клінічної логіки: якщо на вході розмітка суперечлива, жодна архітектура не дасть стійкого результату.
Тому перші тижні йдуть на аудит датасету та фіксацію того, які стани система зобов'язана розрізняти, а які — чесно відправляти на очний огляд. Нижче — етапи впровадження іі, за якими ми ведемо проєкт від сирих знімків до працюючого контуру.
- Аудит датасету та постановка задачі. Дивимося, що вже є: знімки, історія висновків, розмітка. Перевіряємо баланс класів, якість світла та ракурсів, дублі та витоки між вибірками. На виході — узгоджений перелік станів і критерії, за якими рішення вважається правильним.
- Схема зйомки та протокол. Фіксуємо, як користувач робить фото: освітлення, дистанція, зони. Без стабільного входу модель деградує на реальних знімках, тому протокол зйомки — частина системи, а не побажання.
- Підготовка даних і розмітка. Чистимо датасет, доповнюємо рідкісні класи, приводимо розмітку до єдиного стандарту. Спірні випадки виносимо на узгодження з профільними спеціалістами, щоб мітка відображала клінічну логіку, а не думку одного розмітника.
- Навчання та налаштування моделі. Підбираємо архітектуру під задачу, налаштовуємо пороги чутливості окремо для кожного класу. Для діагностики важливіше не пропустити небезпечний стан, ніж помилитися в бік переперевірки.
- Валідація моделі. Перевіряємо на відкладеній вибірці, яку модель не бачила під час навчання, і на знімках з інших пристроїв. Рахуємо не лише загальну точність, а й повноту за кожним класом — саме вона показує, скільки випадків система пропускає.
- Інтеграція та передача системи замовнику. Вбудовуємо в інтерфейс або процес, налаштовуємо журналювання рішень і зворотний зв'язок від спеціалістів. Передаємо документацію, доступи та регламент оновлення моделі.
- Супровід і донавчання. Збираємо випадки, де система сумнівалася, і періодично перенавчаємо на нових даних. Це утримує якість, коли змінюється техніка зйомки або надходять нові типи станів.
Ключовий принцип на всіх етапах — система допомагає спеціалісту розставити пріоритети, а не замінює огляд. Опишіть задачу та поточні дані — повернемося з оцінкою та планом робіт.
Чим відрізняється аналіз за одним кадром від серії знімків?
Одиничний кадр фіксує стан шкіри в одній точці часу і в одному ракурсі.
Модель отримує один вектор ознак і видає оцінку — але ця оцінка успадковує всі дефекти зйомки: відблиск від спалаху читається як жирний блиск, тінь у складці — як пігментація, а випадковий поворот голови змінює геометрію зон.
Діагностика шкіри по фото іі на одному знімку дає розкид між двома кадрами однієї й тієї ж шкіри, і цей розкид — не шум моделі, а наслідок входу.
Серія знімків змінює природу оцінки. Коли на вхід ідуть 3-5 кадрів під різними кутами і при різному освітленні, система усереднює не пікселі, а ознаки: тон, текстуру, межі почервонінь.
Усереднення результатів за серією гасить викиди — одиничний відблиск або невдалий ракурс перестає визначати підсумок, бо інші кадри його переважують. Стійкість оцінки зростає не за рахунок складнішої моделі, а за рахунок того, що вхід перестає бути випадковою величиною.
Ракурс і світло — головне джерело помилок при одиничному знімку. Фронтальне світло згладжує рельєф, бокове його підкреслює, а верхнє створює хибні тіні під очима і носом.
Серія, знята з передбачуваними змінами положення і джерела світла, дозволяє системі відокремити постійні ознаки шкіри від змінних умов зйомки. Це той самий принцип, що у фотограмметрії: одна точка не дає об'єму, кілька — дають.
Практичний ефект — повторюваність. Два незалежні сеанси на одній шкірі дають близькі оцінки, а отже, динаміку в часі можна відстежувати: стало краще чи гірше — це видно, а не тоне в похибці.
Для одиничного кадру таке порівняння майже безглузде — різниця між сеансами співмірна з різницею між двома кадрами одного сеансу.
Звідси інженерна вимога: не «сфотографуйте краще», а регламент зйомки — скільки кадрів, під якими кутами, при якому світлі. Ми закладаємо цей регламент в інтерфейс, щоб якість входу не залежала від того, наскільки акуратно користувач тримає телефон.
Кейс: як зросла точність оцінки стану шкіри
Замовник прийшов з працюючим прототипом: модель навчена на розмічених знімках, у лабораторних умовах видає пристойний результат.
У реальній експлуатації картина виявилася іншою — частка згоди з висновком фахівця трималася на рівні близько 60%, а кожен третій кадр від користувача був непридатний: пересвітлення, розмиття, шкіра в тіні або знята під гострим кутом. Інженери витрачали час на ручний розбір сміттєвих знімків замість роботи зі змістовними випадками.
Що змінили
Першим кроком винесли вхідний контроль якості в окремий шар: перед подачею в модель знімок проходить перевірку різкості, експозиції, положення обличчя в кадрі та рівномірності освітлення.
Непридатні кадри не доходять до аналізу — користувач одразу отримує зрозумілу підказку, як перезняти. Це прибрало основну частку хибних спрацьовувань і розвантажило фахівців.
Другим — перезібрали навчальну вибірку: додали реальні користувацькі знімки з різним освітленням і типами шкіри, а розмітку звели до єдиного протоколу, щоб фахівці не розходилися в оцінці одних і тих самих кадрів.
Модель перестала «плисти» на граничних випадках, де раніше видавала впевнений, але неправильний результат.
Результат
| Метрика | До | Після |
|---|---|---|
| Згода з висновком фахівця | ~60% | ~88% |
| Частка непридатних кадрів, що дійшли до аналізу | кожен третій | менше 5% |
| Час отримання результату | хвилини ручного розбору | секунди після перевірки кадру |
Відсів на вході дав не лише точність, а й передбачуваність: фахівець тепер дивиться тільки ті випадки, де система справді сумнівається, а не розгрібає потік браку.
Час обробки знімка скоротився до секунд, а частка згоди з експертом зросла майже в півтора раза — це й стало головним критерієм приймання.
Модель і шар контролю якості зібрані на PyTorch з винесеним препроцесингом кадрів, що дозволило змінювати пороги перевірки без перенавчання основної мережі.
Сумніви перед запуском: сумісність, відкат, доступи
Діагностика шкіри за фото ШІ майже ніколи не запускається «в порожньому полі» — вона вбудовується в наявний контур: картку клієнта, запис на прийом, журнал звернень.
Тому перше технічне питання — не «наскільки точна модель», а «що станеться з поточною системою, коли ми підключимо новий модуль».
Що як знадобиться відкат? Модуль виноситься за ізольований інтерфейс: прийом фото, відповідь моделі та запис результату йдуть роздільними викликами, а версія моделі та ваг фіксується в конфігурації.
Відкат — це перемикання на попередню версію без правки коду інтеграції; історія рішень і вихідні знімки залишаються, тому вже видані висновки не втрачаються.
Хто і до чого отримує доступ? Ролі розводяться за рівнями: оператор бачить лише результат за своїм клієнтом, лікар — історію та обґрунтування, адміністратор — налаштування та журнал.
Знімки й метадані зберігаються роздільно, доступ до вихідників логується, а сервісні облікові записи не мають прав на вивантаження масиву.
Чи сумісно це з нашою поточною системою?
Модуль спілкується через стандартний програмний інтерфейс і не вимагає змінювати ядро облікової системи. Якщо у вас є сховище знімків і довідник клієнтів — інтеграція зводиться до підключення двох точок обміну. Якщо системи немає, розгортаємо контур повністю, включно зі зберіганням і журналюванням.
На здачі замовник отримує на руки:
- схему інтеграції з точками обміну та межами відповідальності;
- конфігурацію моделі з зафіксованими версіями та порогами спрацювання;
- матрицю ролей і політику розмежування доступів;
- регламент відкату на попередню версію з перевіркою на стенді;
- журнал рішень моделі та правила зберігання знімків;
- інструкцію з експлуатації та чеклист приймання.
Опишіть вашу поточну систему та вимоги до доступів — повернемося з оцінкою та планом інтеграції.
Терміни етапів впровадження аналізу зображень
Терміни залежать не від обсягу коду, а від готовності даних і швидкості узгодження клінічної частини. Нижче — орієнтири для проєкту діагностики шкіри за фото: від постановки задачі до введення в роботу.
Діапазони наведено для потоку з однією модальністю зйомки та одним сценарієм застосування; за кількох типів камер або кількох захворювань в одній моделі терміни розтягуються.
Підготовка даних — найдовший етап і головне джерело зсувів: якість розмітки прямо визначає, скільки помилок модель даватиме на потоці.
Якщо знімки вже зібрані та розмічені за єдиним протоколом, цей етап скорочується вдвічі; якщо зйомка велася різними камерами і без стандарту, додається час на приведення набору до єдиного вигляду.
Навчання та перевірка йдуть із поверненнями: після оцінки на відкладеній вибірці зазвичай з'ясовується, що частину класів модель плутає, і цикл «дорозмітка — донавчання — повторна перевірка» повторюється. Ми закладаємо на це окремий резерв, а не вважаємо навчання однократним проходом.
Введення в роботу — не фінальна точка, а режим супроводу: модель донавчається на нових знімках, а пороги спрацювання уточнюються в міру накопичення статистики. Опишіть ваш сценарій і обсяг знімків — повернемося з оцінкою та планом за етапами.







