Применение глубокого обучения в роботизированной хирургии

Это мой второй блог, основанный на уроке фастай. Я хотел применить урок из урока к другому набору данных с двоичными метками. Я решил использовать набор данных из Endoscopic Vision Challenge и сосредоточился только на сегментации бинарных классов.

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

Для этой задачи сегментации использовалась популярная архитектура Unet с небольшой поправкой: левая сторона Unet была предварительно обучена Resnet34. fastai-v1 позволяет создавать архитектуру Unet с предварительно обученными моделями в качестве кодировщиков.

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

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

Обучение проводилось по следующей схеме:

(замороженные слои)обучить → найти скорость обучения → разморозить слои → обучить

Это привело к коэффициенту кости 0,85 с хорошими результатами предсказания.

На втором этапе размеры данных были увеличены до 512*640, что составляет половину исходного размера. Использование полных размеров 1024*1280 привело к повторяющейся ошибке времени выполнения CUDA. Итак, я решил продолжить с 512 * 640 и обновил блок данных с новым размером и размером партии.

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

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

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

Это фастай для вас!!!

Код для этого поста можно найти здесь.