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>
This commit is contained in:
7
in/config_files/hardware.gin
Normal file
7
in/config_files/hardware.gin
Normal file
@@ -0,0 +1,7 @@
|
||||
# Hardware profile: GPU, precision, batch size
|
||||
HardwareConfig.profile_name = 'rtx4090'
|
||||
HardwareConfig.total_ram_gb = 24.0
|
||||
HardwareConfig.reserve_gb = 2.0
|
||||
HardwareConfig.use_fp16 = True
|
||||
HardwareConfig.batch_size = None
|
||||
HardwareConfig.num_workers = 4
|
||||
7
in/config_files/input.gin
Normal file
7
in/config_files/input.gin
Normal file
@@ -0,0 +1,7 @@
|
||||
# Image preprocessing parameters
|
||||
InputConfig.image_size = 256 # DB (satellite) resolution
|
||||
InputConfig.query_image_size = 512 # Query (drone) resolution
|
||||
InputConfig.sobel_kernel_size = 3
|
||||
InputConfig.edge_normalize = True
|
||||
InputConfig.imagenet_mean = [0.485, 0.456, 0.406]
|
||||
InputConfig.imagenet_std = [0.229, 0.224, 0.225]
|
||||
9
in/config_files/models.gin
Normal file
9
in/config_files/models.gin
Normal file
@@ -0,0 +1,9 @@
|
||||
# Model identifiers and fallback strategies
|
||||
ModelsConfig.depth_model_id = 'DA3-LARGE-1.1'
|
||||
ModelsConfig.depth_fallback_id = 'depth-anything/Depth-Anything-V2-Large-hf'
|
||||
ModelsConfig.chmv2_model_id = 'facebook/dinov3-vitl16-chmv2-dpt-head'
|
||||
ModelsConfig.seg_model_type = 'segearth-ov3'
|
||||
ModelsConfig.seg_fallback_type = 'segformer-b5'
|
||||
ModelsConfig.seg_fallback_id = 'nvidia/segformer-b5-finetuned-ade-640-640'
|
||||
# Local directory for downloading and caching model weights (leave empty for HF default cache)
|
||||
ModelsConfig.weights_dir = 'in/weights'
|
||||
12
in/config_files/pipeline.gin
Normal file
12
in/config_files/pipeline.gin
Normal file
@@ -0,0 +1,12 @@
|
||||
# Pipeline configuration: what to process and where to save
|
||||
PipelineConfig.input_root = '/mnt/data1tb/cvgl_datasets/UAV-GeoLoc'
|
||||
PipelineConfig.output_root = '/mnt/data1tb/cvgl_datasets/World-UAV-aug'
|
||||
PipelineConfig.stages = ['depth', 'edges', 'segmentation', 'chmv2']
|
||||
PipelineConfig.save_npy = False
|
||||
PipelineConfig.save_vis = True
|
||||
PipelineConfig.save_concat = False
|
||||
PipelineConfig.resume = True
|
||||
PipelineConfig.subset = None
|
||||
# Source filter: 'db' = satellite only, 'query' = drone/UAV only, None = both
|
||||
PipelineConfig.source = 'query' #'db'
|
||||
PipelineConfig.log_level = 'INFO'
|
||||
18
in/config_files/segmentation.gin
Normal file
18
in/config_files/segmentation.gin
Normal file
@@ -0,0 +1,18 @@
|
||||
# Open-vocabulary segmentation parameters
|
||||
# 12 cross-view invariant classes for geo-localization
|
||||
# See docs/segmentation_class_analysis.md for full rationale
|
||||
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
|
||||
Reference in New Issue
Block a user