Как мы сделали Telegram-бота, который распознает заболевания на коже по фото

Сейчас особо не удивишь чат-ботами, которые могут вести диалоги на естественном языке. Поэтому сегодня я расскажу о том, как мы делаем бота, который может видеть.

Меня зовут Кирилл, я уже более 7 лет занимаюсь различными проектами в Digital Health. Идеи по использованию технологий искусственного интеллекта у меня витали уже достаточно давно, но вплотную с ними работать начал около года назад.

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

После недолгого анализа соревнований на Kaggle стало очевидно, что применение сверточных нейросетей для работы с медицинскими изображениями — это одна из наиболее популярных тем для соревнований между Data Scientists.

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

МРТ головного мозга

На практике это оказалось совсем не так: «потренироваться на котиках» и работа с узкоспециализированными медицинскими данными требует совершенно других подходов и ответственности. О применении технологий вроде распознавания злокачественных новообразований на снимках МРТ с помощью ИИ вообще можно забыть, не имея сильного лобби в учреждениях здравоохранения.

Первый этап: Baseline

Очень вовремя на глаза мне подвернулось соревнование ISIC 2017: Skin Lesion Analysis (анализ кожных заболеваний по дерматоскопическим снимкам). Он показался не таким сложным и мы с моими знакомыми не долго думая решили попробовать свои силы в этом соревновании и параллельно с этой идеей принять участие в хакатоне по искусственному интеллекту AI Hackathon, который проходил 17-18 декабря 2017 года в ПВТ (Минск).

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

Хочу поделиться уроками, которые мы вынесли из данного хакатона:

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

И самое главное: надо заниматься одновременной разработкой всех этапов с самого начала — как обучением нейросетей, так и сборкой прототипа для демонстрации. Есть большая вероятность, что под конец хакатона ваш прототип может рассыпаться. Столкнувшись с этой неудачей, мы не забросили эту идею, как это часто случается с другими проектами, реализованными в рамках хакатона.

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

Второй этап: Immersion

Во время работы над технологией распознавания рака кожи естественно встал вопрос о необходимости привлечения врачей-консультантов в области дерматологии. Благодаря их экспертизе мы вышли за рамки классификации родинок по категориям «хот-дог или не хот-дог», так как помимо здоровых и опасных невусов (родинок) есть еще предраковые состояния, а также много различных доброкачественных новообразований на коже, которые обыватели также называют родинками.

Начав сотрудничество с дерматологами, мы кардинально изменили датасет для обучения, расширив до двух десятков диагнозов, и прекратили участие в ISIC Challenge 2017.

Третий этап: Accessibility

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

В среднем ручные дерматоскопы имеют увеличение в 10 раз. Фотографии, сделанные через дерматоскопы, безусловно, имеют хорошее качество и детализацию. Их преимущество является и недостатком — для получения таких снимков нужен прибор дерматоскоп. Это сужает использование автоматического распознавания кожных заболеваний только для обладателей дерматоскопов, и это, как правило, врачи-дерматологи.

Так выглядит родинка в дерматоскопе

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

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

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

Четвёртый этап: Soft Launch

Самый быстрый способ сделать рабочую версию MVP в нашем случае — подключить наши нейросети через бота в Telegram. Это гораздо быстрее, чем разрабатывать мобильное приложение, а пользователям отправить фотографию родинки через бота гораздо проще, чем устанавливать отдельное приложение.

@Skinseption_bot — Telegram-бот по определению кожных заболеваний

@Skinseption_bot — это бот в мессенджере Telegram. Ему достаточно отправить фотоснимок с кожными проблемами (бородавки, акне, угри, родинки и другие новообразования на коже) и он определит степень риска, вероятный диагноз и рекомендации по дальнейшим действиям. Бот поможет записаться на очный прием к нужным врачам: косметологам, дерматологам, дерматоонкологам.

Демовидео Telegram-бота

О запуске нашего бота мы рассказали в канале «Технологии будущего» @Tech_ru, где получили первые отзывы. Англоязычную версию бота мы опубликовали на Producthunt. Самое приятное — наш бот уже помог нескольким пользователям распознать опасные диагнозы, и благодаря этому люди смогут своевременно обратиться со своей проблемой к врачам.

Новость для пользователя не самая приятная, но информация об угрозе ценна

Сейчас мне нужна помощь комьюнити vc.ru — вы первые альфа-тестировщики, и ваша обратная связь позволит сделать сервис лучше. Буду рад вашим отзывам, пишите мне в Telegram — @Malkieler.

Долгосрочные планы на будущее сейчас не строим — в приоритете, конечно, точность распознавания и количество диагнозов. В ближайшие дни бот будет доступен и в Facebook Messenger. Больше информации и демовидео (англ) на Producthunt.

P.S. Telegram-бот @Skinseption_bot не должен использоваться для установки конечного диагноза или лечебных целей. Точный диагноз и курс лечения назначает только врач на очном приеме.

0
48 комментариев
Написать комментарий...
Alexey Zakharov

Шазам для болячек

Ответить
Развернуть ветку
Аслан Джазаев

Очень очень интересная задумка. Столько нужно доработок и я как и Вы считаю, что за ии и ботами будущее в медицине. Если на западе уже повсеместно ии используют как второго помощника или ассистента врача. В России этот технологический прогресс произойдёт через 10 лет и то с трудом ( Сбербанк все заберёт и станет монополистов в этом ). Именно такие смелые проекты как Ваш бот может дать новый толчок в развитии медицины в будущем. Работая в медицине я сам думал над такими проектами как помощь мамам и папам, когда их дети болеют; небольшие подсказки - «ЧТО ДЕЛАТЬ В ТОЙ ИЛИ ИНОЙ СИТУАЦИИ».
Однако вы работаете в очень сложной системе медицины - где по фото надо поставить предварительный диагноз ( утрирую, пишу к примеру ) - это ещё раз оговорюсь - смелый шаг, но когда вы разрабатывали этот проект вы естественно думали и знали о рисках, которые предстоят.
В жизни все намного сложнее - показал терапевту свою роднику - отпарил к дерматологу - дерматолог к онкологу - онколог к терапевту - терапевт к хирургу - хирург удалил - отправил на исследование - исследование показало то то - опять по спецам.
Вы же грубо говоря своим приложением должны четко поставить грань точнее приблизительно между надо волноваться или не надо.
Ps. Сугубо личное мнение. Проект мегакрут

Ответить
Развернуть ветку
Денис Ковальчук

Достаточно спорный проект. А если по ошибке определит не то заболевание? Какой стресс будет у человека

Ответить
Развернуть ветку
Иван Фурть

Сходите лишний раз к дерматологу, лишним не будет. Лучше перебдеть, чем недобдеть.

Ответить
Развернуть ветку
Timur Sarsembayev

Сделал 4 фотографии одной и той же области, показал 4 разных результата, от караул (3 разных заболевания: папиллома, карциома базальноклеточная и подозрение на злокачественную опухоль) до все в норме.

Если и идти к врачу, то уж явно не упоминать этого бота и его предварительные диагнозы, засмеют. С такой же степенью достоверности можно и самому нагуглить кучу болезней и то, будет достовернее, потому что у меня нет ни одной из болезней, о которой сообщил бот).

Поэтому не вижу смысла в этом проекте.

Ответить
Развернуть ветку
Timur Sarsembayev

Поговорил с Кириллом. Мое мнение:

Задумка хорошая, но пока на данном этапе вы лучше объявите что она в стадии тестирования и что нужно ИИ обучать.

Желаю успехов в развитии.

Ответить
Развернуть ветку
Timur Sarsembayev

Моя вина, не дочитал до момента, где сказано: "вы первые альфа-тестировщики". Я этот момент пропустил. Я как только увидел ссылку на бота, так сразу пошел тестировать))

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Kirill Sokol
Автор

На днях бот заработает в Facebook messenger - подписывайтесь и вы получите уведомление о запуске

https://www.facebook.com/skinabot/

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

Ответить
Развернуть ветку
Doco4ka

Купить прокси и забыть об этом.

Ответить
Развернуть ветку
Denis Kite

Нужен бот для других кожных заболеваний - вот у меня один друг сходил в бассейн и теперь крючок в марганцовке отмачивает)))) вот это будет огонь)

Ответить
Развернуть ветку
Kirill Sokol
Автор

Приглашаю в нашу команду вместо Динэша - он уже устал работать над этим датасетом

https://media.giphy.com/media/Am7rgcdDTF9Cw/giphy.gif

Ответить
Развернуть ветку
DJ

Приглашаю кого? Какой специалист нужен?

Ответить
Развернуть ветку
poly hasta

По хот-догам.

Ответить
Развернуть ветку
Kirill Sokol
Автор

Динэш по сериалу специализировался на отборе фото с первичными половыми признаками.

Для решения вышеописанной проблемы нужны фото первичных половых признаков с внешними признаками PGGG - все же очевидно

Ответить
Развернуть ветку
Kirill Sokol
Автор

PGGG - ЗППП (заболевания передаваемые половым путем)

Ответить
Развернуть ветку
poly hasta

Вы мне зачем это объясняете? Я это прекрасно знаю. В Долине они начали с ххот-догов. https://www.youtube.com/watch?v=ACmydtFDTGs

Ответить
Развернуть ветку
Pol Bal

Да ладно друг...)

Ответить
Развернуть ветку
ivan krapivin

Да ладно в бассейн

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Denis Kite

Не сцы, у тебя трипачуха - это лечат)

Ответить
Развернуть ветку
Pol Bal

От меня любая трипачуха сама загибается

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Kirill Sokol
Автор

акне, бородавки, и папилломы болезни 50+?

К сожалению это не так.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Kirill Sokol
Автор

Просто погуглите "Бородавки у детей", будете неприятно удивлены.

Тоже касается и рака кожи - статистика неумолимо говорит, что рак молодеет

Ответить
Развернуть ветку
Ware Wow
я уже более 7 лет занимаюсь различными проектами в Digital Health

Это все хорошо, но что с деньгам, бро, нормальные деньги есть или просто пилите семь лет?

Ответить
Развернуть ветку
Kirill Sokol
Автор

В медицине денег нет - это же очевидно.
Живем на то, что бог пошлет. 7 лет не много - Моисей в пустыне целый народ 40 лет как-то кормил.

В боте @Skinseption_bot есть команда /thanks - материально поддержать сервис

Вы сколько отправили на развитие проекта?

Ответить
Развернуть ветку
Ware Wow

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

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

У вас большой опыт. Хочется попытаться понять перспективы, сопоставить возможности рынка медицины с игровым например, ритейлом, просто манимейкерами адвертами.

Ответить
Развернуть ветку
Kirill Sokol
Автор

Про 7 летний опыт в цифровой медицине думаю стоит посвятить отдельную публикацию.

Ставить на рельсы монетизации этого бота я считаю пока преждевременно.

Ответить
Развернуть ветку
Ware Wow

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

Ответить
Развернуть ветку
Илья Снеговской

Лечить тоже через телеграмм будут? Приложите телефон к воспалённому месту, подержите 10 минут и переведите нам 100 рублей на карту и все само зарастёт.

Ответить
Развернуть ветку
ivan krapivin

У вас на Одноклассниках с фермы капусту украли!

Ответить
Развернуть ветку
Илья Снеговской

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

Ответить
Развернуть ветку
Kirill Sokol
Автор

Специально для вас в статье есть цитата определения дерматоскопии (визуальный метод диагностики кожных заболеваний) - ознакомьтесь пожалуйста.

Данный метод диагностики применяется и в государственных и частных клиниках. И только после визуального осмотра врач направляет на соскоб или биопсию при наличии подозрений.

Ответить
Развернуть ветку
Sergei Timofeyev

Если читать симптомы, то всегда можно найти у себя СПИД или РАК. Теперь ещё по фотографии будут это подтверждать... Да и высыпания на коже далеко не всегда имеют самостоятельный характер, а сигнализируют об особенностях или проблемах организма.

Ответить
Развернуть ветку
Kolin Torg

Вот вам идея для приложения или бота. Определение типа/вида растения по фото. Фоткаешь цветок или лист дерева, приложение определяет его название и выдает описание. Еще можно так же грибы определять, ягоды, рыбу. Яб купил.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Alexander Bragin

А чем Bixby или гугл поиск или яндекс поиск по картинкам не подходят? А скоро ещё и Меил надеюсь выпустят ( а у них очень сильный будет, значительно лучше озвученных выше )

Ответить
Развернуть ветку
Kolin Torg

Ну так то можно и энциклопедией лекарственных растений пользоваться) тут фишка именно в узконаправленной специализации приложения

Ответить
Развернуть ветку
Дмитрий Ожегов

Скарабеев под кожей определяет?

Ответить
Развернуть ветку
loginov

всем привет

Ответить
Развернуть ветку
Dmitry Gavrilov

http://skincheckup.online так же тестовая версия аналогичной системы.

Ответить
Развернуть ветку
Kirill Sokol
Автор

только там на порядок меньше количество определяемях диагнозов

Ответить
Развернуть ветку
Dmitry Gavrilov

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

Ответить
Развернуть ветку
Артем Шелегин

Сфоткал прыщ - показал мелоному 97%

Ответить
Развернуть ветку
Kirill Sokol
Автор

Напишите мне в тг пожалуйста

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
loginov

проекту не верю

Ответить
Развернуть ветку
Kirill Sokol
Автор

Не успел вам ответить, как вы удалили свой коммент, но все же - Я не заявлял, что нейросеть распознает виды аллергий на коже.

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

Ответить
Развернуть ветку
loginov

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

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
45 комментариев
Раскрывать всегда