Рак кожи, в частности меланома, – одна из самых опасных онкологических болезней. Ранняя диагностика значительно повышает шансы на успешное лечение. Но несмотря на это, большинство приложений, которые я нашел в PlayStore для анализа кожи оказались неожиданно громоздкими и дорогими. Казалось бы, что может быть проще формулы — нажми на кнопку, получишь результат? Вот и я так думал в поисках нужного приложения. Но, каждый раз приходилось заполнять профиль и анкеты только для того, чтобы оказаться перед экраном с реквизитами для оплаты. В итоге это вдохновило меня на создание бесплатного и простого в использовании приложения.

Ключевые требования:

  • Простота в использовании.

  • Высокая точность.

  • Работа на мобильных устройствах с минимальными ресурсами.

Для анализа кожи я выбрал модель MobilNetV2 – легковесную нейросеть, которая отлично подходит для мобильных устройств. И дообучил ее на датасетах, взятых на kaggle.com и datasetninja.com с общим количеством изображений — 24000.

Я использовал TensorFlow Lite, чтобы внедрить модель в Android-приложение. Это обеспечило компактность модели и быстрое выполнение инференса (анализ изображений).

Логика работы приложения выглядит так:

  1. Пользователь нажимает кнопку «Сканировать», после чего делает фото или выбирает изображение из галереи.

  2. Кадрирует необходимый участок кожи с помощью внутреннего инструмента приложения.

  3. Нажимает кнопку «Ок» и получает результат.

Благодаря технологиям все данные анализируются локально и никуда не отправляются. Вы можете скачать приложение бесплатно в Google Play (Melanoma Detector) и попробовать его в действии. Я буду очень благодарен вашим отзывам и замечаниям. Приложение не заменяет медицинскую диагностику и предназначено только для образовательных целей. Для точного диагноза всегда консультируйтесь с врачом.

Комментарии (13)


  1. holodoz
    21.01.2025 05:06

    Было бы интересно посмотреть метрики модели, насколько она попадает за пределами тренировочного датасета


    1. Lujin1234567890 Автор
      21.01.2025 05:06

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


      1. holodoz
        21.01.2025 05:06

        Как обычно - делить датасет на тренировочный и тестовый. На тренировочном тренировать, на тестовом - тестить, Если модель уже на всё натренили, то комментом ниже дали ссылку на ещё один датасет, он вроде хорошо размечен


  1. Adgh
    21.01.2025 05:06

    Взгляните на статью о SCIN и соответствующий дата-сет от Google на GitHub. Интересен как общий подход к формированию датасета, так и с точки расширения функциональности вашего мобильного приложения


    1. Lujin1234567890 Автор
      21.01.2025 05:06

      Спасибо! Интересная ссылка, изучаю.


  1. yarkov
    21.01.2025 05:06

    Диагностируем рак по фото с помощью приложения. Я всё верно понял?


    1. Lujin1234567890 Автор
      21.01.2025 05:06

      Да, точно. В образовательных целях.


    1. Lujin1234567890 Автор
      21.01.2025 05:06

      ..


    1. ElnazV
      21.01.2025 05:06

      Да, единственное упущение в статье это "Высокая точность" без подкрепления соответствующими метриками


      1. Lujin1234567890 Автор
        21.01.2025 05:06

        Согласен, что-то я упустил этот момент. Максимальная точность на тестовой части датасета - 96%. Но фактическая, конечно, пока неизвестна.


  1. FifthLeg
    21.01.2025 05:06

    Вместо да/нет, в подобных приложениях принято вероятность показывать, хотя бы по шкале от 1 (мало вероятно) до 5 (очень вероятно).

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

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

    Было бы хорошо иметь возможность анализировать фото с линейкой, один из критериев же размер пятна.

    Ну и конечно динамика, т.е. через полгода пришли, перепроверили и сравнили с предыдущими фотками.


  1. Krasnoarmeec
    21.01.2025 05:06

    К сожалению не работает. Фоточку делает, но после этого опять возвращается к пост-инсталляционному экрану (всякие предупреждения, использование персональных данных).

    Телефон Xiaomi Redmi Note 9, Android 12.


  1. Lujin1234567890 Автор
    21.01.2025 05:06

    Спасибо за подробный отзыв! Починю.