Files
depth_edges_annotate_worlduav/docs/segmentation_class_analysis.md
pikaliov 686db62c25 Initial commit: World-UAV annotation pipeline
4-modality annotation pipeline (depth, edges, segmentation, chmv2) for 973K
drone/satellite images. SegEarth-OV3 open-vocabulary segmentation with 11
classes optimized for cross-view geo-localization.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 11:22:01 +03:00

13 KiB
Raw Blame History

Анализ классов сегментации для UAV-GeoLoc

Обзор датасета

  • 392 локации, 76 кадров каждая (height100_rot90) = ~29 800 изображений
  • 11 стран (Country/): Australia, Brazil, English, French, German, Italy, Japan, Korea, Poland, Spain, USA
  • 27 типов terrain (Terrain/): Basin, Calcification, Danxia, Delta, Desert, Fall, Farm, Finca, Flowers, Glacier, Gorge, Hill, Hylare, Island, Karst, Lakes-ignore, Mountain, Oasis, Pasture, Plain, Plateau, Prairie, Snow, StoneForest, Terrace, Volcano, Wetland

Проблема с исходной конфигурацией (5 классов)

Исходные промпты:

SegConfig.prompts = ['background', 'building', 'road', 'vegetation', 'water']
SegConfig.threshold = 0.3

При 5 классах 60-90% площади terrain-кадров и 30-50% городских кадров уходит в background, теряя информативные объекты (ж/д пути, грунт, скалы и т.д.).


Инвентаризация объектов

URBAN (Country/) — 11 стран, ~300 локаций

Объект Где встречается Частота
Здания (крыши: черепица, плоские, металл, стекло) Все города Доминирует
Дорога / асфальт Все города Очень высокая
Растительность (деревья, кустарники) Все города Высокая
Тротуар / пешеходная зона / набережная Все города, особенно Европа Высокая
Парковка Мюнхен, SF, Варшава, Аделаида Средняя
Железная дорога (рельсы, балласт, стрелки) Мюнхен, Сидней, Варшава Средняя
Вода (река, канал, море) Париж/Сена, Венеция, Киото, Бусан, Копакабана Средняя
Мост / эстакада Сидней, Париж Низкая-средняя
Внутренний двор Все европейские города Средняя
Открытый грунт / гравий Мюнхен, Варшава Средняя
Газон / парк Лондон/Westminster, Rio Средняя
Спортивная площадка Мюнхен Низкая
Пляж / песок Копакабана, Бусан/Gwangalli Низкая
Дорожная разметка (зебры, полосы) Все города Высокая, но мелкая
Солнечные панели SF, Мюнхен Низкая

TERRAIN — 27 типов

Terrain Что на кадрах Ключевые поверхности
Desert (Gobi) Песок, эрозионные борозды, скалы bare ground, sand, rock
Farm (Bohemian) Густой лес, кроны деревьев vegetation
Glacier (Athabasca) Лёд, снег, трещины snow, ice, water
Island (Aldabra) Бирюзовая вода, мелководье water
Wetland (Danube) Болотистая почва, кустарник vegetation, bare ground, water
Mountain (Andes) Песок/пыль, следы троп bare ground, rock
Delta (Congo) Лавовые/скальные поверхности rock, bare ground
Volcano (Kilauea) Тёмная лава, скальные породы rock, bare ground
Snow (Aconcagua) Белый снег, точки камней snow
Danxia (GrandCanyon) Красная порода + растительность rock, vegetation
Oasis Саванна, кустарники на песке bare ground, vegetation
Finca (Althorp) Хвойный лес, плантации vegetation
Terrace (Banaway) Сельхоз террасы, тропы farmland, bare ground
Plain (Alberta) Луг, речная пойма, грунтовая дорога grassland, bare ground, road
Plateau Кустарник на каменистой почве vegetation, rock
Prairie (Etosha) Саванна, точки кустов на песке bare ground, vegetation
Gorge (Antelope) Каньон, красные скалы rock, bare ground
Karst (Mammoth) Скальные плиты, трещины rock
Calcification (ElTatio) Гейзерные поля, песчаная порода bare ground, rock
Flowers (BlueHotSpring) Горячие источники, минеральные отложения rock, water
Hylare (Amazon) Густой тропический лес vegetation
StoneForest (GrandCanyon) Каньонные скалы + кустарник rock, vegetation
Hill (Sedona) Красные скалы + кустарник rock, vegetation
Basin
Fall
Pasture
Lakes-ignore

Финальная конфигурация: 11 классов

SegConfig.prompts = [
    'background',              # 0  — unclassified
    'building',                # 1  — buildings, rooftops
    'road',                    # 2  — roads, asphalt
    'vegetation',              # 3  — trees, bushes, forest canopy
    'water',                   # 4  — rivers, canals, sea, lakes
    'sand and gravel ground',  # 5  — soil, gravel, sand, dust, bare earth
    'rocky terrain',           # 6  — rock, stone, lava, canyon walls
    'farmland',                # 7  — agricultural terraces, fields
    'railway',                 # 8  — railway tracks, rails
    'parking lot',             # 9  — parking areas
    'sidewalk',                # 10 — sidewalks, pedestrian zones, embankments
]
SegConfig.threshold = 0.15
SegConfig.default_resolution = 1008

Эволюция конфигурации

  1. v1 (исходная): 5 классов, threshold=0.3 — слишком много background
  2. v2 (первая итерация): 12 классов (bare ground, rock, snow, farmland, railway, parking lot, sidewalk), threshold=0.3 — terrain по-прежнему плохо
  3. v3 (вторая итерация): 12 классов с переименованными промптами (sand and gravel ground, rocky terrain, snow and ice), threshold=0.15 — значительное улучшение terrain
  4. v4 (финальная): 11 классов — убран snow and ice (SegEarth-OV3 не различает снег/лёд от воды при виде сверху), threshold=0.15

Обоснование каждого нового класса

Класс Промпт Обоснование Покрытие
bare ground sand and gravel ground Без него пустыня, гейзеры, плато, прерия, пляж уходят в background Критичен для terrain
rock rocky terrain Вулканы, каньоны, карст — уникальная текстура Критичен для terrain
farmland farmland Террасы, поля — геометрически уникальны для matching Важен для Terrace/Plain/Farm
railway railway Ж/д пути — линейный ориентир с уникальной топологией Важен для городов
parking lot parking lot Чёткая прямоугольная геометрия, видна и с дрона и со спутника Средний для городов
sidewalk sidewalk Структурные границы в городах, набережные Средний для городов

Отброшенные классы и причины

Класс Причина отказа
snow and ice SegEarth-OV3 классифицирует лёд/снег как water при виде сверху — промпт не работает. Проверено на Glacier (Athabasca)
beach / sand Покрыт sand and gravel ground
bridge Слишком редко, перекрывается с road
grassland / lawn Перекрывается с vegetation
river / sea / lake Всё покрыто единым water
sports field Слишком редко на полном датасете
courtyard Семантически = bare ground + building
fence Слишком тонкий объект для SegEarth на 1008px
road marking Слишком мелкий, лучше оставить как часть road
solar panel Редко, мелко, часть крыши

Результаты тестирования на 10 изображениях

Тестовые изображения: 6 городских (Munich, Paris, Venice, New York, Sydney, Busan) + 4 terrain (Desert, Glacier, Volcano, Danxia).

Городские сцены

Локация Обнаруженные классы Качество
Munich (ж/д пути) railway, sand/gravel, vegetation, road, water Отлично — ж/д = фиолетовый, балласт = бежевый
Paris (набережная Сены) road, vegetation, water, sidewalk, parking lot Отлично — река, тротуар, дорога разделены
Venice (старый город) building, road, water, parking lot Хорошо — каналы появились как water
New York (Manhattan) building, road, vegetation, parking lot, sidewalk Отлично — все городские классы
Sydney (эстакада) road, building, vegetation, parking lot, sidewalk Хорошо
Busan (пляж) water, sand and gravel ground Отлично — пляж = бежевый, море = синий

Terrain

Локация Обнаруженные классы Качество
Desert (Gobi) road, rocky terrain Приемлемо — пустыня = road (серый близок к песку)
Glacier (Athabasca) water Ограничение модели — лёд = water
Volcano (Kilauea) rocky terrain Отлично — было 100% background, стало 100% rocky terrain
Danxia (GrandCanyon) vegetation Частично — кусты определены, скалы в background

Известные ограничения SegEarth-OV3

  • Ледники/снег классифицируются как water — визуально неразличимы сверху для модели
  • Красные скалы (Danxia) плохо определяются как rocky terrain
  • Пустынный грунт может путаться с road

Палитра цветов

ID Класс RGB Цвет
0 background (0, 0, 0) Black
1 building (220, 40, 40) Red
2 road (160, 160, 160) Gray
3 vegetation (30, 180, 30) Green
4 water (30, 120, 220) Blue
5 sand and gravel ground (180, 140, 80) Tan
6 rocky terrain (120, 100, 80) Brown
7 farmland (200, 200, 50) Yellow
8 railway (100, 60, 120) Purple
9 parking lot (255, 165, 0) Orange
10 sidewalk (200, 200, 200) Light gray

Оценка влияния на производительность

  • Инференс: ~1.82.2x медленнее (11 vs 5 text prompts)
  • На 973K изображений: дополнительные ~812 часов на RTX 4090
  • Background на terrain: сокращение с 6090% до ~1020%
  • Background на urban: сокращение с 3050% до ~515%

Методология анализа

Просмотрено ~50 кадров с равномерной выборкой:

  • По 13 кадра из каждой страны (разные города/районы)
  • По 1 кадру из каждого типа terrain (первая доступная локация)
  • Кадры выбирались из середины траектории (frame 30) для репрезентативности
  • Дополнительно просмотрены кадры из начала/конца траектории для Мюнхена (полный обзор 76 кадров)
  • Тестирование проведено в 3 итерации с подбором формулировок промптов и порога confidence