«Точность анализа — 96%»: я создал бесплатное прило­жение для проверки родинок

История читателя
20
«Точность анализа — 96%»: я создал бесплатное прило­жение для проверки родинок

Это история из Сообщества. Редакция задала вопросы, бережно отредактировала и оформила по стандартам Журнала

Аватар автора

Редакция интернета

оценила разработку

В потоке «Разработчик пишет» читатели рассказывают об опыте создания приложений, игр и ботов.

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

Предыстория

Аватар автора

Денис Втулкин

проверяет кожу

Страница автора

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

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

У меня есть родинка, за которой я периодически наблюдаю. Она появилась на месте ожога. Когда я работал сварщиком, моя неосторожность привела к воздействию ультрафиолета на кожу.

Однажды я искал в Google Play удобное приложение для анализа кожи. Казалось бы, в таком сервисе должно быть минимум функций: нажал пару кнопок — получил ответ. Но в реальности все оказалось намного сложнее. Большинство приложений требовало регистрироваться, заполнять длинные анкеты и платить за каждую диагностику. Это вызывало разочарование — ну разве нельзя сделать что-то простое и бесплатное?

Подумал, а почему бы мне не создать такое мобильное приложение. Недавно я как раз начал изучать программирование — язык Kotlin. В качестве практики навыков и решил заняться разработкой.

Из-за недостатка опыта особо не переживал, ведь сейчас даже новичку доступны мощные инструменты машинного обучения, которые все значительно упрощают. Код своими руками уже можно не писать. Во многие приложения встроен умный помощник, которому достаточно человеческим языком объяснить, что надо сделать. Он в ответ все быстро и точно напишет за вас.

Разработка приложения

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

Сначала мне нужно было найти большой набор изображений кожных образований — как доброкачественных, так и злокачественных. К счастью, в открытом доступе есть несколько крупных датасетов, так что этот этап занял всего пару кликов. Я использовал данные из открытых хранилищ Kaggle и Dataset Ninja.

Всего загрузил 24 тысячи изображений.

После этого я адаптировал нейросеть для анализа кожи. Загрузил 90% всех изображений из датасета для обучения, а оставшиеся 10% использовал для проверки точности. Конечно, результат не идеален: возможны как ложноположительные, так и ложноотрицательные результаты — об этом всегда стоит помнить. Тесты показали, что точность анализа составляет 96%.

С помощью TensorFlow Lite я адаптировал модель для мобильных устройств, а интерфейс сделал максимально простым и понятным. Благодаря этому приложение хорошо работает даже на старых смартфонах. Оно называется Melanoma Detector и доступно в Google Play. Версии для iOS у меня нет в планах.

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

В приложении минималистичный дизайн
В приложении минималистичный дизайн

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

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

Итоги и планы

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

Сейчас у приложения около 300 пользователей. Я очень рад обратной связи — благодаря отзывам понимаю, что можно исправить и улучшить. Например, заменить в результатах анализа две категории на шкалу вероятности от одного до пяти. А еще добавить инструмент для определения размера пятна. В будущем планирую расширить локализацию и загрузить новые датасеты — конечно, когда они появятся в базах данных.

Редакция интернетаКакого приложения для проверки здоровья вам не хватает?