Unified MLLM processing four urban data types simultaneously: geospatial structures, trajectory information, satellite imagery, and street-view photos. Outperforms general-purpose models on 12-task urban benchmark with 31-375% improvements. Use for urban planning, traffic analysis, location intelligence, and smart city applications requiring integrated spatial reasoning.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Unified MLLM processing four urban data types simultaneously: geospatial structures, trajectory information, satellite imagery, and street-view photos. Outperforms general-purpose models on 12-task urban benchmark with 31-375% improvements. Use for urban planning, traffic analysis, location intelligence, and smart city applications requiring integrated spatial reasoning.
UrbanLLaVA: Unified Multimodal Intelligence for Urban Systems
Urban environments are fundamentally multifaceted—a location is simultaneously a point on a map, a street-view scene, a trajectory endpoint, and a node in infrastructure networks. General-purpose vision-language models fail on urban tasks because they ignore this spatial and structural complexity. UrbanLLaVA introduces the first unified multimodal model designed specifically for urban data: processing structured geospatial information, trajectory information, satellite imagery, and street views in a single system. This specialization yields major improvements—31-375% over baselines—because the model learns urban-specific reasoning patterns not present in generic datasets.
The insight is that urban tasks require integrated spatial reasoning: understanding how locations relate to infrastructure, how trajectories connect places, how bird's-eye and ground-level views relate. Treating these as separate modalities (image + text) misses critical structure.
Core Concept
UrbanLLaVA builds on LLaVA but introduces urban-specific components:
Unified Urban Data Representation: Four data streams (geospatial, trajectory, satellite, street-view) processed through unified architecture
The framework creates synthetic instruction data (UData) across three perspectives: single-location (point), trajectory (route), and global (bird's-eye).
Architecture Overview
Urban Instruction Dataset (UData): Synthetic training data across location, trajectory, and global perspectives
Urban Training Pipeline (UTrain): Three-stage progressive training preventing task interference
"""
Generates synthetic urban instruction data across three perspectives:
location (single point), trajectory (route), and global (satellite).
"""
def
__init__
self, map_data, imagery_db, trajectory_db
"""
Args:
map_data: Geospatial database (OSM, etc)
imagery_db: Satellite and street-view image database
trajectory_db: Trajectory samples from real urban mobility
"""
self
self
self
def
generate_location_view_data
self, location_id: int, num_samples: int = 100
"""
Location perspective: single point with multimodal context.
Example:
Q: "What businesses are at coordinates (39.9°N, 116.4°E)?"
A: "Shopping mall and restaurants"
Returns:
instruction_data: List of (question, image, answer) tuples
"""
for
in
range
self
# Retrieve multimodal data for this location
self
self
self
4
# Generate questions about the location
f"Describe the area at coordinates {location['lat']}, {location['lon']}"
f"What landmarks are visible here? {satellite_image}"
f"What businesses operate at this location? {geospatial_info}"
f"Is this area residential or commercial? {street_views}"
'description'
'Urban area'
self
self
self
for
in
zip
'question'
'images'
'geospatial'
'answer'
'perspective'
'location'
return
def
generate_trajectory_view_data
self, trajectory_id: int, num_samples: int = 50
"""
Trajectory perspective: route through multiple locations.
Example:
Q: "Plan a route from home to work avoiding traffic"
A: [sequence of turn instructions and coordinates]
Returns:
instruction_data: List of trajectory-based QA samples
"""
for
in
range
self
'locations'
# Sequence of (lat, lon)
# Generate trajectory-specific questions
f"Describe the route from {locations[0]} to {locations[-1]}"
f"What landmarks are passed on this route?"
f"Predict the next location given this trajectory pattern"
f"Is this route efficient or should it be optimized?"
# Collect multimodal data along trajectory
self
for
in
self
1
0
for
in
self
self
self
self
for
in
zip
'question'
'images'
'trajectory'
'answer'
'perspective'
'trajectory'
return
def
generate_global_view_data
self, region: Dict, num_samples: int = 75
"""
Global perspective: bird's-eye view of region.
Example:
Q: "What is the urban structure of this area? (satellite image)"
A: "Downtown area with dense buildings, parks to the east, water body to the south"
Returns:
instruction_data: List of global-view QA samples
"""
for
in
range
# Get full satellite view of region
self
'regional'
# Generate global understanding questions
f"Analyze the urban structure: {satellite}"
f"Identify major infrastructure (roads, water, parks): {satellite}"
f"Classify zones (residential, commercial, industrial): {satellite}"
f"What is the population density pattern?"
self
self
self
self
for
in
zip
'question'
'images'
'region'
'answer'
'perspective'
'global'
return
# Helper methods (simplified)
def
_describe_landmarks
self, image
return
"Major buildings and structures visible"
def
_list_businesses
self, info
return
'businesses'
def
_classify_area_type
self, views
return
"Mixed residential-commercial"
def
_describe_route
self, locs, imgs
return
f"Route through {len(locs)} locations"
def
_identify_landmarks_on_route
self, locs
return
"Notable landmarks passed"
def
_predict_next_location
self, traj
return
f"Next location: {traj['locations'][-1]}"
def
_evaluate_route_efficiency
self, traj
return
"Route is efficient"
def
_analyze_urban_structure
self, sat
return
"Dense urban center with suburban fringe"
def
_identify_infrastructure
self, sat
return
"Major roads"
"Parks"
"Water bodies"
def
_classify_zones
self, sat
return
"Downtown"
"Residential"
"Industrial"
def
_estimate_density_pattern
self, region
return
"High density center, decreasing outward"
class
UrbanLLaVA
"""
Unified MLLM for urban tasks combining geospatial, trajectory,
satellite, and street-view modalities.
"""