Оффтоп Kirill Atstarov
4 557

Как мы сделали 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 не должен использоваться для установки конечного диагноза или лечебных целей. Точный диагноз и курс лечения назначает только врач на очном приеме.

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Kirill Atstarov", "author_type": "self", "tags": [], "comments": 50, "likes": 49, "favorites": 38, "is_advertisement": false, "subsite_label": "flood", "id": 39122, "is_wide": false, "is_ugc": true, "date": "Thu, 31 May 2018 15:43:59 +0300" }
{ "id": 39122, "author_id": 229, "diff_limit": 1000, "urls": {"diff":"\/comments\/39122\/get","add":"\/comments\/39122\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/39122"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199791 }

50 комментариев 50 комм.

Популярные

По порядку

Написать комментарий...
9

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

Ответить
6

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

Ответить
0

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

Ответить
18

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

Ответить
3

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

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

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

Ответить
0

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

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

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

Ответить
4

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

Ответить
0

Прикольно, но как быть когда телегу блочат со всех сторон?

Ответить
4

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

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

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

Ответить
3

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

Ответить
0

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

Ответить
6

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

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

Ответить
0

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

Ответить
0

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

Ответить
1

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

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

Ответить
0

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

Ответить
0

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

Ответить
2

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

Ответить
5

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

Ответить

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

0

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

Ответить
0

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

Ответить
1

Группа риска этих заболеваний люди +50 лет . Это не аудитория всяких телеграммов и тем более ботов

Ответить
1

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

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

Ответить
0

бородавки и папиломы - это болезни людей в возрасте когда ослаблен имунитет и организм стареет. Имею ввиду группа риска. Понятное дело, что у молодых тоже бывает. Акне - наверное исключение

Ответить
0

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

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

Ответить
1

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

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

Ответить
2

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

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

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

Ответить
0

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

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

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

Ответить
1

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

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

Ответить
0

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

Ответить
–2

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

Ответить
3

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

Ответить
0

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

Ответить
1

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

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

Ответить
1

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

Ответить
0

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

Ответить
1

С грибами была такая история, закончилась не очень хорошо.

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

всем привет

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить

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

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

0

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

Ответить
0

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

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

Ответить
0

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

Ответить
–1

Бываю здесь зэ я в субботу з

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Компания отказалась от email
в пользу общения при помощи мемов
Подписаться на push-уведомления