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

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

Набор данных

Мы начали с поиска набора темнопольных изображений клеток крови и нашли их в этом проекте¹ на Kaggle, который включает 366 изображений.

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

На момент написания этой статьи компонент U-Net в PerceptiLabs поддерживает только одну бинарную классификацию (т. е. он будет классифицировать только один тип объекта/функции), но очень скоро будет поддерживать несколько классификаций. Для одиночной бинарной классификации PerceptiLabs требует, чтобы маски состояли из значений 0 (черный) для фона и 255 (белый) для интересующей функции на изображении. Для того, чтобы использовать маски из набора данных, мы создали Jupyter Notebook, который конвертирует их в нужный формат.

Затем модель была обучена и проверена с использованием клеток крови и преобразованных изображений маски. Чтобы сопоставить маски с соответствующими изображениями клеток крови, мы создали файл .csv для загрузки данных с помощью Мастера данных PerceptiLabs. Ниже приведен частичный пример того, как выглядит файл .csv:

Мы сделали данные и этот CSV-файл доступными для экспериментов на GitHub.

Обзор модели

Наша модель была построена только с одним Компонентом, сетью U-Net, сконфигурированной с VGG16 в качестве основы, предварительно обученной с ImageNet:

На рис. 2 показана топология модели в PerceptiLabs:

Мы решили использовать U-Net из-за ее сильных сторон в сегментации изображений, а ее магистраль VGG16, как известно, обеспечивает высокопроизводительные свертки. А поскольку VGG был предварительно обучен, использование этих существующих весов приводит к более быстрому обучению.

Обучение и результаты

Мы обучили модель с 10 эпохами партиями по 32, используя оптимизатор ADAM, скорость обучения 0,001 и функцию потери Dice.

Поскольку выходные данные этой модели включают в себя сегментации (т. е. сегментированные области изображений, представляющие клетки крови), лучший способ оценить точность модели — сравнить выходные данные с истинной сегментацией в изображениях маски с использованием пересечения по объединению (IoU). ). При времени обучения около 131 секунды мы смогли достичь тренировочного IoU, равного 0,86, и проверочного IoU, равного 0,81 %. Обратите внимание, что значения IoU выше 0,5 обычно считаются хорошими для сообщества машинного обучения². На рис. 3 показаны результаты после обучения:

В верхней левой панели мы видим изображение, на которое наложена соответствующая (наземная правда) маска. На средней правой панели мы видим, что тренировочный IoU начался чуть ниже 0,5 и быстро увеличился до 0,8 за первые две эпохи, прежде чем постепенно стабилизироваться. С другой стороны, IoU проверки оставался довольно низким примерно до пятой эпохи, после чего к концу последней эпохи он увеличился примерно до 0,8. На средней левой панели мы видим, что потери при обучении начались примерно с 0,5 и постепенно уменьшились до чуть более 0,1 к последней эпохе. Потери при проверке оставались высокими и составляли более 0,7 примерно до четвертой эпохи, а затем снизились до чуть более 0,2 к концу последней эпохи.

Вертикальные приложения

Такая модель может быть использована в качестве основы для создания новых моделей, которые могут сегментировать другие типы изображений. Такие модели могут применяться в различных областях, включая другие варианты использования в медицине/здравоохранении (например, рентгеновские снимки), автомобилестроение (например, компьютерное зрение для автономных транспортных средств), безопасность (например, классификация людей на кадрах с камер) и Интернет вещей (IoT). например, классификация объектов на сборочной линии).

Сводка

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

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

¹Лонг Поллен, Обнаружение бактерий с помощью микроскопии темного поляНабор данных для сегментации спирохет с изображением и аннотированными вручную масками, 2020 г., Kaggle.com, https://www.kaggle.com /longnguyen2306/бактерии-детекция-с-микроскопией темного поля, Файлы данных © Авторы оригинала

²https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/