Рак кожи, в частности меланома, – одна из самых опасных онкологических болезней. Ранняя диагностика значительно повышает шансы на успешное лечение. Но несмотря на это, большинство приложений, которые я нашел в PlayStore для анализа кожи оказались неожиданно громоздкими и дорогими. Казалось бы, что может быть проще формулы — нажми на кнопку, получишь результат? Вот и я так думал в поисках нужного приложения. Но, каждый раз приходилось заполнять профиль и анкеты только для того, чтобы оказаться перед экраном с реквизитами для оплаты. В итоге это вдохновило меня на создание бесплатного и простого в использовании приложения.
Ключевые требования:
Простота в использовании.
Высокая точность.
Работа на мобильных устройствах с минимальными ресурсами.
Для анализа кожи я выбрал модель MobilNetV2 – легковесную нейросеть, которая отлично подходит для мобильных устройств. И дообучил ее на датасетах, взятых на kaggle.com и datasetninja.com с общим количеством изображений — 24000.
Я использовал TensorFlow Lite, чтобы внедрить модель в Android-приложение. Это обеспечило компактность модели и быстрое выполнение инференса (анализ изображений).
Логика работы приложения выглядит так:
Пользователь нажимает кнопку «Сканировать», после чего делает фото или выбирает изображение из галереи.
Кадрирует необходимый участок кожи с помощью внутреннего инструмента приложения.
Нажимает кнопку «Ок» и получает результат.

Благодаря технологиям все данные анализируются локально и никуда не отправляются. Вы можете скачать приложение бесплатно в Google Play (Melanoma Detector) и попробовать его в действии. Я буду очень благодарен вашим отзывам и замечаниям. Приложение не заменяет медицинскую диагностику и предназначено только для образовательных целей. Для точного диагноза всегда консультируйтесь с врачом.
Комментарии (13)
Adgh
21.01.2025 05:06Взгляните на статью о SCIN и соответствующий дата-сет от Google на GitHub. Интересен как общий подход к формированию датасета, так и с точки расширения функциональности вашего мобильного приложения
yarkov
21.01.2025 05:06Диагностируем рак по фото с помощью приложения. Я всё верно понял?
ElnazV
21.01.2025 05:06Да, единственное упущение в статье это "Высокая точность" без подкрепления соответствующими метриками
Lujin1234567890 Автор
21.01.2025 05:06Согласен, что-то я упустил этот момент. Максимальная точность на тестовой части датасета - 96%. Но фактическая, конечно, пока неизвестна.
FifthLeg
21.01.2025 05:06Вместо да/нет, в подобных приложениях принято вероятность показывать, хотя бы по шкале от 1 (мало вероятно) до 5 (очень вероятно).
И дисклаймер под результатом поставить, с пояснениями про точность и т.п.
Если близко к положительному результату, добавить советы куды бечь, чтобы перепроверку сделать.
Было бы хорошо иметь возможность анализировать фото с линейкой, один из критериев же размер пятна.
Ну и конечно динамика, т.е. через полгода пришли, перепроверили и сравнили с предыдущими фотками.
Krasnoarmeec
21.01.2025 05:06К сожалению не работает. Фоточку делает, но после этого опять возвращается к пост-инсталляционному экрану (всякие предупреждения, использование персональных данных).
Телефон Xiaomi Redmi Note 9, Android 12.
holodoz
Было бы интересно посмотреть метрики модели, насколько она попадает за пределами тренировочного датасета
Lujin1234567890 Автор
Вы правы, "в поле" точность конечно будет ниже. Вот как только ее измерить.
holodoz
Как обычно - делить датасет на тренировочный и тестовый. На тренировочном тренировать, на тестовом - тестить, Если модель уже на всё натренили, то комментом ниже дали ссылку на ещё один датасет, он вроде хорошо размечен