Привет, Хабр! Представляю вам перевод статьи.  Это Вегас с предоставленной разметкой, тестовым датасетом и вероятно белые квадраты — это отложенная валидация (приват). Выглядит прикольно. Правда эта панорама лучшая из всех четырех городов, так вышло из-за данных, но об этом чуть ниже. Ссылка на соревнование и подробное описание.  Мы закончили предварительно на 9-м месте, но позиция может измениться после дополнительного тестирования сабмитов организаторами. Также я потратил некоторое время на написание хорошего читаемого кода на PyTorch и генераторов данных. Его можно без застенчивости использовать для своих целей (только поставьте плюсик). Код максимально простой и модульный, плюс читайте дальше про best practices для семантической сегментации. Кроме того, не исключено, что мы напишем пост про понимание и разбор Skeleton Network, которую в итоге использовали все финалисты в топе соревнования для преобразования маски изображения в граф. 
Суть соревнования на 1 картинке Как вы можете знать из моих прошлых записей, мы иногда участвуем в соревнованиях (1 и 2) и имеем специфический набор критериев выбора таких соревнований — во-первых, достойный уровень конкуренции (обычно хорошо распиаренные контесты на кегле привлекают орды стакеров и не являются очень сложным), во-вторых, наш общий интерес к теме, и в-третьих, челлендж. В этом соревновании были все критерии: 

Видно, что земля и асфальт не имеют на самом деле резких пиков на графике отражательной способности. Так что я потратил некоторое время на тестирование комбинации разных каналов Вы можете видеть входные данные на картинке выше, но есть пару интересных моментов и заслуживающих внимание краевых случаев, которые объясняют, что же на самом деле происходит. 
Гистограмма оригинала 16-битной картинки 
Гистограмма 8-битной картинки, некоторая информация потерялась 
Асфальтированные дороги против неасфальтированных 
Пример асфальтированных дорог вместе с неафсальтированными плюс перекрестки 
Комбинация дорожных полос — заметьте несколько 12 полосных дорог — на пропускных пунктах границ, я полагаю 
Типичная разметка в Париже — не очень хорошая Вот лист лучших материалов по теме, что я изучил во время соревнования. 
Unet + transfer learning 
LinkNet 
Некоторые ученые все еще используют MSE... Очки на лидерборде начинались с 0 и до почти 900k для примерно 900 тестовых изображений, каждому изображению присваивалось 0 — 1. Финальная метрика считалась как среднее между городами, что было не очень, так как Париж опускал скор вниз очень существенно. 
Распределение скора по тайлам для некоторых из наиболее эффективных моделей. В Париже много растительности и пригородных тайлов с плохой разметкой, которые влияют на скор. Кроме того, у Шанхая и Хартума более высокие расхождения между оценками t-p и p-t, то есть для модели намного проще убедиться, что все ребра графа верны, но гораздо труднее найти ВСЕ ребра графа, которые есть в природе Я попробовал множество идей и архитектур, и к моему удивлению, лучше всех или, по крайней мере, не хуже остальных работала самая простая и наивная модель (все остальные участники тоже юзали именно ее с вариациями). Сиамские сети для уточнения предсказаний моделей на "широких" и "узких" масок тоже не сработали. Что интересно — предсказания моделей на "широких" масках выглядели гораздо лучше, но графы получались хуже. 3x фолда + 4x TTA ни дало никакого прироста в моем случае. 
Главный косяк. Никто так и не решил эту проблему, насколько я знаю. Широкие маски возможно решили бы — но графы из них получались не очень. 
Основная причина почему широкие маски косячат — они производят полипы и осьминогов =) 
Та же проблема 
Париж — плохая разметка. Лесные области — также косячный кейс 
Многоуровневые дороги — предсказание широкой модели против узкой 
Модель придумала дороги поверх парковки =) 
Иногда PyTorch глючил и рождал на свет такие артефакты Ключевой ингредиент это Skeleton Network + добавить ребра графа для кривых дорог (спасибо Dmytro за его совет!). Одно это скорее всего гарантировало, что вы будете в топ-10.
 
Без этих шагов все маски выглядели вот так 
Тулза для визуализации от оргов  По сути замена для TLDR Следуя традиции из последнего соревнования, один человек из чата сделал полноразмерные картинки города из геоклеток, используя геоданные из tif изображений. Рассмотреть их в высоком разрешении можно по клику на них. 
Vegas 
Paris 
Shanghai 
Khartoum Machine Learning / Data Science