27.11.2022

Построение семантической сегментации компьютерного зрения

1 min read

В этой статье мы обсудим проблемы и методы развертывания алгоритма семантической сегментации на пограничном устройстве. В частности, мы рассмотрим технические проблемы, с которыми столкнулись при работе над нашим проектом, моделью автоматической сегментации ран, развернутой на устройствах iOS.
Сначала мы кратко рассмотрим предысторию проекта, а затем технические проблемы, с которыми мы столкнулись, и методы их преодоления.
Техническая задача 1 — небольшой и несбалансированный набор данных
Выбор правильных показателей
Пользовательская функция потери
Техническая задача 2 — периферийное развертывание
Компромисс между производительностью и размером
Техническая задача 3 — Создание гибкого конвейера переобучения

Сегодня 9,3% взрослых в мире живут с диабетом. Из всех взрослых с диабетом у 25% в течение жизни разовьются диабетические язвы стопы. Если не принять меры, диабетические язвы стопы могут ухудшиться, вызывая серьезные повреждения тканей и костей, которые могут потребовать хирургического удаления (ампутации) пальца ноги, стопы или части ноги. Сегодня 85% крупных ампутаций предшествуют диабетические язвы стопы. При правильном уходе за раной и вмешательстве можно предотвратить и вылечить диабетические язвы стопы.
В настоящее время оценка диабетических язв стопы проводится вручную квалифицированным врачом. Пациент, который подозревает, что у него диабетическая язва стопы, должен отправиться в больницу, где квалифицированный врач осмотрит раны, вручную измерит и классифицирует рану. Этот процесс не только требует много времени, но и является неточным, и пациенты должны терпеть боль и риск инфицирования, когда раны измеряются с помощью линеек и зондов.
Рисунок 1: Оценка хронических ран вручную. Ссылка на изображение
Техника — сегментация семантики
Техника компьютерного зрения, используемая в этой задаче, известна как семантическая сегментация. Этот метод обычно используется в автономной навигации. Сегментация считается одной из самых сложных задач в области компьютерного зрения, поскольку мы должны классифицировать каждый пиксель изображения в соответствии с классами. К счастью для нас, за последние несколько лет в этой области были проведены невероятные исследования. В тесте PASCAL VOC для семантической сегментации мы можем найти множество моделей с открытым исходным кодом, которые довольно точно отображают уличные изображения и объекты. Хотя существует множество моделей семантической сегментации с открытым исходным кодом, которые мы можем попробовать, ни одна из них не обучалась на изображениях, аналогичных нашим (медицинские изображения).

Рисунок 2: Пример сегментации семантики. Ссылка на изображение
Технические проблемы
В этом проекте. нам пришлось решить множество технических проблем, а именно: 1. Небольшой и несбалансированный набор данных, 2. Развертывание на периферии и 3. Создание гибкого конвейера переобучения. В следующих разделах статьи мы подробно обсудим эти проблемы и то, как мы их преодолели.
Техническая задача 1 — небольшой и несбалансированный набор данных
Первая техническая проблема, с которой мы сталкиваемся, — это наличие небольшого несбалансированного набора данных. В медицинской сфере сбор данных и аннотации обходятся очень дорого. Что касается сбора данных, из-за конфиденциального характера данных (персональных данных) в Интернете очень мало изображений диабетических язв стопы, и для их сбора обычно требуется разрешение пользователя. В аннотациях данных идентификация ран обычно выполняется квалифицированным врачом. Данные должны быть вручную аннотированы в инструменте аннотирования изображений (например, CVAT) и проверены врачами на согласованность.
К счастью, мы работали с компанией-клиентом, которая понимает важность данных для проекта ИИ. Наш клиент сотрудничал с несколькими больницами и домами престарелых в Сингапуре, чтобы собрать изображения диабетических язв стопы, и даже приобрел данные из других больниц в регионе. Чтобы аннотировать данные, компания собрала рабочую группу по аннотации, состоящую из врачей и обученных специалистов, которые аннотировали изображения с высоким уровнем согласованности.

Даже с титаническими усилиями нашего клиента размер набора данных все еще мал по сравнению с тем, что обычно используется для обучения алгоритма семантической сегментации. Кроме того, мы также сталкиваемся с проблемой несбалансированного набора данных. Из всех изображений ран более 90% пикселей на изображениях составляют кожа или фон. Оставшиеся свернутые пиксели неравномерно разделены на более чем 7 классов, при этом на каждый класс свернутого изображения приходится от 0,2% до 2,7% всех пикселей.
Мы обсудим некоторые из наших методов преодоления этих трудностей.
1. Увеличение данных
Первая тактика преодоления проблемы малого размера данных — искусственное