/Road_Segmentation

Мой первый DL проект: распознавание дорог на спутниковых снимках, созданный в мае 2020

Primary LanguageJupyter NotebookMIT LicenseMIT

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

При помощи TensorFlow на открытых данных была обучена модель архитектуры U-Net сегментации автомобильных дорог на спутниковых снимках для дальнейшей навигации по местности.

Сбор и обработка данных

Был написан скрипт для парсинга открытых данных. Это спутниковые снимки торонто с масками дорог на них. Все снимки имеют формат 1500x1500, некоторые из них были "битые". Парсился следующий сайт. Аналогичном образом были спарсены маски для этих снимков на этом сайте. После чего все снимки были сжаты до размера 512x512 в силу нехватки мощности и времени на правильное "разрезание" картинок.
Пример фрагмента изображения:
pc1

Модель

Была выбрана архитектура U-Net, которая хорошо работает на сегментации при небольшой выборке. После чего Train выборка была поделена на train/validation в соотношении 4:1. А также 16 тестовых изображений для визуальной проверки. Модель была глубиной в 7 слоев, оптимизировалась метрика accuracy, функция потерь — binarry_cross_entropy. Полученную модель можно найти в репозитории.
Схема модели для RGB изображения 256x256:
Descr1

Резльтаты

Удалось добиться accuracy в 0.9645 на валидационной выборке. Для примера рассмотрим три тестовых изображения, и как модель на них отработала.
testimg