├── pkl ├── urban │ ├── uk.pkl │ ├── boston.pkl │ ├── glodok_map.pkl │ ├── kuala_map.pkl │ └── new_york.pkl ├── mall │ ├── post.pkl │ ├── winona.pkl │ ├── mall_design.pkl │ └── mercy_high_school.pkl ├── zoo │ ├── handzoo.pkl │ ├── maymont.pkl │ ├── phoenix.pkl │ ├── lanterns.pkl │ ├── maryland.pkl │ ├── monterey.pkl │ ├── tulsa_zoo.pkl │ ├── tutorial.pkl │ ├── zoo_line.pkl │ ├── asia-board.pkl │ ├── capronpark.pkl │ ├── central_park.pkl │ ├── micke_grove.pkl │ ├── syracuse_zoo.pkl │ ├── zoomaplabels.pkl │ ├── child_zoo_park.pkl │ ├── rsz_zoomarine.pkl │ ├── central_park_zoo.pkl │ ├── lincoln_park_zoo.pkl │ ├── nashvillezoo_hand.pkl │ ├── zoo_map_jan06_508.pkl │ ├── zoological_park.pkl │ ├── nashvillezoomap2016.pkl │ ├── 24_visitorsmapupdate.pkl │ └── rsz_adventure_island.pkl ├── museum │ ├── omaha.pkl │ ├── edrawmax.pkl │ ├── earlyworks.pkl │ ├── mit_museum.pkl │ ├── south_texas.pkl │ ├── weisman_art.pkl │ ├── blowing_rock.pkl │ ├── port_discovery.pkl │ ├── yale_peabody.pkl │ ├── carnegie_science.pkl │ ├── south_carolina_state.pkl │ └── port_discovery_children.pkl ├── google_map │ ├── 1_1.pkl │ ├── 1_2.pkl │ ├── 2_1.pkl │ ├── 2_2.pkl │ ├── 3_1.pkl │ ├── 3_2.pkl │ ├── 4_1.pkl │ ├── 4_2.pkl │ ├── 5_1.pkl │ └── 5_2.pkl ├── trail │ ├── cedarville.pkl │ ├── st_peters.pkl │ ├── whitblack.pkl │ ├── naturetrail.pkl │ ├── running_map.pkl │ ├── public_trail_map.pkl │ └── transamerica_trail_overview.pkl ├── university │ ├── ciu.pkl │ ├── deraw.pkl │ ├── elms.pkl │ ├── umpi.pkl │ ├── athens.pkl │ ├── park_i.pkl │ ├── regies.pkl │ ├── simmons.pkl │ ├── boarding.pkl │ ├── caldwell.pkl │ └── jamestown.pkl ├── national_park │ ├── waco.pkl │ ├── ulysses.pkl │ ├── pipestone.pkl │ ├── puukohola.pkl │ ├── wolf_trap.pkl │ ├── gulf_island.pkl │ ├── padre_island.pkl │ ├── white_house.pkl │ ├── wilson_creek.pkl │ ├── carl_sandburg.pkl │ ├── wetherill_mesa.pkl │ ├── charles_paddock.pkl │ └── littlerock_highschool.pkl └── theme_park │ ├── dallas.pkl │ ├── nuwarra.pkl │ ├── dinopark.pkl │ ├── img_0001.pkl │ ├── img_0002.pkl │ ├── littlerock.pkl │ ├── nationalgeo.pkl │ ├── north_america.pkl │ ├── calaway_park_2012.pkl │ └── centro_parkmap2011.pkl ├── README.md ├── outputs └── google_map.jsonl ├── logs └── google_map.jsonl ├── infer_gpt.py ├── eval.py ├── LICENSE └── environment.yml /pkl/urban/uk.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/urban/uk.pkl -------------------------------------------------------------------------------- /pkl/mall/post.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/mall/post.pkl -------------------------------------------------------------------------------- /pkl/mall/winona.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/mall/winona.pkl -------------------------------------------------------------------------------- /pkl/zoo/handzoo.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/handzoo.pkl -------------------------------------------------------------------------------- /pkl/zoo/maymont.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/maymont.pkl -------------------------------------------------------------------------------- /pkl/zoo/phoenix.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/phoenix.pkl -------------------------------------------------------------------------------- /pkl/museum/omaha.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/museum/omaha.pkl -------------------------------------------------------------------------------- /pkl/urban/boston.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/urban/boston.pkl -------------------------------------------------------------------------------- /pkl/zoo/lanterns.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/lanterns.pkl -------------------------------------------------------------------------------- /pkl/zoo/maryland.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/maryland.pkl -------------------------------------------------------------------------------- /pkl/zoo/monterey.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/monterey.pkl -------------------------------------------------------------------------------- /pkl/zoo/tulsa_zoo.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/tulsa_zoo.pkl -------------------------------------------------------------------------------- /pkl/zoo/tutorial.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/tutorial.pkl -------------------------------------------------------------------------------- /pkl/zoo/zoo_line.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/zoo_line.pkl -------------------------------------------------------------------------------- /pkl/google_map/1_1.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/google_map/1_1.pkl -------------------------------------------------------------------------------- /pkl/google_map/1_2.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/google_map/1_2.pkl -------------------------------------------------------------------------------- /pkl/google_map/2_1.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/google_map/2_1.pkl -------------------------------------------------------------------------------- /pkl/google_map/2_2.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/google_map/2_2.pkl -------------------------------------------------------------------------------- /pkl/google_map/3_1.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/google_map/3_1.pkl -------------------------------------------------------------------------------- /pkl/google_map/3_2.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/google_map/3_2.pkl -------------------------------------------------------------------------------- /pkl/google_map/4_1.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/google_map/4_1.pkl -------------------------------------------------------------------------------- /pkl/google_map/4_2.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/google_map/4_2.pkl -------------------------------------------------------------------------------- /pkl/google_map/5_1.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/google_map/5_1.pkl -------------------------------------------------------------------------------- /pkl/google_map/5_2.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/google_map/5_2.pkl -------------------------------------------------------------------------------- /pkl/mall/mall_design.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/mall/mall_design.pkl -------------------------------------------------------------------------------- /pkl/museum/edrawmax.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/museum/edrawmax.pkl -------------------------------------------------------------------------------- /pkl/trail/cedarville.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/trail/cedarville.pkl -------------------------------------------------------------------------------- /pkl/trail/st_peters.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/trail/st_peters.pkl -------------------------------------------------------------------------------- /pkl/trail/whitblack.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/trail/whitblack.pkl -------------------------------------------------------------------------------- /pkl/university/ciu.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/university/ciu.pkl -------------------------------------------------------------------------------- /pkl/university/deraw.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/university/deraw.pkl -------------------------------------------------------------------------------- /pkl/university/elms.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/university/elms.pkl -------------------------------------------------------------------------------- /pkl/university/umpi.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/university/umpi.pkl -------------------------------------------------------------------------------- /pkl/urban/glodok_map.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/urban/glodok_map.pkl -------------------------------------------------------------------------------- /pkl/urban/kuala_map.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/urban/kuala_map.pkl -------------------------------------------------------------------------------- /pkl/urban/new_york.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/urban/new_york.pkl -------------------------------------------------------------------------------- /pkl/zoo/asia-board.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/asia-board.pkl -------------------------------------------------------------------------------- /pkl/zoo/capronpark.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/capronpark.pkl -------------------------------------------------------------------------------- /pkl/zoo/central_park.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/central_park.pkl -------------------------------------------------------------------------------- /pkl/zoo/micke_grove.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/micke_grove.pkl -------------------------------------------------------------------------------- /pkl/zoo/syracuse_zoo.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/syracuse_zoo.pkl -------------------------------------------------------------------------------- /pkl/zoo/zoomaplabels.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/zoomaplabels.pkl -------------------------------------------------------------------------------- /pkl/museum/earlyworks.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/museum/earlyworks.pkl -------------------------------------------------------------------------------- /pkl/museum/mit_museum.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/museum/mit_museum.pkl -------------------------------------------------------------------------------- /pkl/museum/south_texas.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/museum/south_texas.pkl -------------------------------------------------------------------------------- /pkl/museum/weisman_art.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/museum/weisman_art.pkl -------------------------------------------------------------------------------- /pkl/national_park/waco.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/waco.pkl -------------------------------------------------------------------------------- /pkl/theme_park/dallas.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/theme_park/dallas.pkl -------------------------------------------------------------------------------- /pkl/theme_park/nuwarra.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/theme_park/nuwarra.pkl -------------------------------------------------------------------------------- /pkl/trail/naturetrail.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/trail/naturetrail.pkl -------------------------------------------------------------------------------- /pkl/trail/running_map.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/trail/running_map.pkl -------------------------------------------------------------------------------- /pkl/university/athens.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/university/athens.pkl -------------------------------------------------------------------------------- /pkl/university/park_i.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/university/park_i.pkl -------------------------------------------------------------------------------- /pkl/university/regies.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/university/regies.pkl -------------------------------------------------------------------------------- /pkl/university/simmons.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/university/simmons.pkl -------------------------------------------------------------------------------- /pkl/zoo/child_zoo_park.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/child_zoo_park.pkl -------------------------------------------------------------------------------- /pkl/zoo/rsz_zoomarine.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/rsz_zoomarine.pkl -------------------------------------------------------------------------------- /pkl/museum/blowing_rock.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/museum/blowing_rock.pkl -------------------------------------------------------------------------------- /pkl/museum/port_discovery.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/museum/port_discovery.pkl -------------------------------------------------------------------------------- /pkl/museum/yale_peabody.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/museum/yale_peabody.pkl -------------------------------------------------------------------------------- /pkl/national_park/ulysses.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/ulysses.pkl -------------------------------------------------------------------------------- /pkl/theme_park/dinopark.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/theme_park/dinopark.pkl -------------------------------------------------------------------------------- /pkl/theme_park/img_0001.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/theme_park/img_0001.pkl -------------------------------------------------------------------------------- /pkl/theme_park/img_0002.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/theme_park/img_0002.pkl -------------------------------------------------------------------------------- /pkl/theme_park/littlerock.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/theme_park/littlerock.pkl -------------------------------------------------------------------------------- /pkl/university/boarding.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/university/boarding.pkl -------------------------------------------------------------------------------- /pkl/university/caldwell.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/university/caldwell.pkl -------------------------------------------------------------------------------- /pkl/university/jamestown.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/university/jamestown.pkl -------------------------------------------------------------------------------- /pkl/zoo/central_park_zoo.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/central_park_zoo.pkl -------------------------------------------------------------------------------- /pkl/zoo/lincoln_park_zoo.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/lincoln_park_zoo.pkl -------------------------------------------------------------------------------- /pkl/zoo/nashvillezoo_hand.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/nashvillezoo_hand.pkl -------------------------------------------------------------------------------- /pkl/zoo/zoo_map_jan06_508.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/zoo_map_jan06_508.pkl -------------------------------------------------------------------------------- /pkl/zoo/zoological_park.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/zoological_park.pkl -------------------------------------------------------------------------------- /pkl/mall/mercy_high_school.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/mall/mercy_high_school.pkl -------------------------------------------------------------------------------- /pkl/museum/carnegie_science.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/museum/carnegie_science.pkl -------------------------------------------------------------------------------- /pkl/national_park/pipestone.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/pipestone.pkl -------------------------------------------------------------------------------- /pkl/national_park/puukohola.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/puukohola.pkl -------------------------------------------------------------------------------- /pkl/national_park/wolf_trap.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/wolf_trap.pkl -------------------------------------------------------------------------------- /pkl/theme_park/nationalgeo.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/theme_park/nationalgeo.pkl -------------------------------------------------------------------------------- /pkl/trail/public_trail_map.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/trail/public_trail_map.pkl -------------------------------------------------------------------------------- /pkl/zoo/nashvillezoomap2016.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/nashvillezoomap2016.pkl -------------------------------------------------------------------------------- /pkl/national_park/gulf_island.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/gulf_island.pkl -------------------------------------------------------------------------------- /pkl/national_park/padre_island.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/padre_island.pkl -------------------------------------------------------------------------------- /pkl/national_park/white_house.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/white_house.pkl -------------------------------------------------------------------------------- /pkl/national_park/wilson_creek.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/wilson_creek.pkl -------------------------------------------------------------------------------- /pkl/theme_park/north_america.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/theme_park/north_america.pkl -------------------------------------------------------------------------------- /pkl/zoo/24_visitorsmapupdate.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/24_visitorsmapupdate.pkl -------------------------------------------------------------------------------- /pkl/zoo/rsz_adventure_island.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/zoo/rsz_adventure_island.pkl -------------------------------------------------------------------------------- /pkl/museum/south_carolina_state.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/museum/south_carolina_state.pkl -------------------------------------------------------------------------------- /pkl/national_park/carl_sandburg.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/carl_sandburg.pkl -------------------------------------------------------------------------------- /pkl/national_park/wetherill_mesa.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/wetherill_mesa.pkl -------------------------------------------------------------------------------- /pkl/theme_park/calaway_park_2012.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/theme_park/calaway_park_2012.pkl -------------------------------------------------------------------------------- /pkl/museum/port_discovery_children.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/museum/port_discovery_children.pkl -------------------------------------------------------------------------------- /pkl/national_park/charles_paddock.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/charles_paddock.pkl -------------------------------------------------------------------------------- /pkl/theme_park/centro_parkmap2011.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/theme_park/centro_parkmap2011.pkl -------------------------------------------------------------------------------- /pkl/trail/transamerica_trail_overview.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/trail/transamerica_trail_overview.pkl -------------------------------------------------------------------------------- /pkl/national_park/littlerock_highschool.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/taco-group/MapBench/HEAD/pkl/national_park/littlerock_highschool.pkl -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MapBench 2 | 3 | ## 📦 Installation 4 | 5 | Create the environment with the provided dependencies: 6 | 7 | ``` 8 | conda env create -f environment.yml 9 | ``` 10 | 11 | ## 🚀 Inference with GPT 12 | 13 | Run inference using your selected GPT model: 14 | 15 | ``` 16 | python infer_gpt.py \ 17 | --save-dir ./outputs \ # Directory to save results 18 | --api-key \ # Your OpenAI API key 19 | --gpt-model gpt-4o-mini-2024-07-18 # GPT model to use 20 | 21 | ``` 22 | 23 | > 💡 Replace with your actual OpenAI API key. 24 | 25 | ### 📊 Evaluation 26 | 27 | Evaluate the model-generated results: 28 | 29 | ``` 30 | python eval.py \ 31 | --result-file ./outputs/google_map.jsonl \ # Path to the result file 32 | --log-dir ./logs # Directory to save evaluation logs 33 | 34 | ``` 35 | 36 | > 📝 The log file will have the same name as the result file. 37 | -------------------------------------------------------------------------------- /outputs/google_map.jsonl: -------------------------------------------------------------------------------- 1 | {"image_id": "4_2", "map_class": "google_map", "start": "Cedro", "destination": "Blake Wilbur Hall", "gpt_answer": ["Cedro -> Arroyo (from West, moving along main walkway", "Arroyo -> Blake Wilbur Hall (from West, continuing along main walkway"], "answer": ["Cedro -> Otero (from East, moving along the path behind Cedro", "Otero -> Blake Wilbur Hall (from North, moving along the path towards Blake Wilbur Hall"]} 2 | {"image_id": "4_2", "map_class": "google_map", "start": "Soto", "destination": "Trancos", "gpt_answer": ["Start at Soto -> Trancos (move east along the path passing Blake Wilbur Hall on the right"], "answer": ["1. Soto -> Blake Wilbur Hall (from East, moving along the path", "2. Blake Wilbur Hall -> Trancos (from North, moving along the path"]} 3 | {"image_id": "4_2", "map_class": "google_map", "start": "Trancos", "destination": "Arroyo", "gpt_answer": ["Trancos -> Cedro (southeast, moving along the inner courtyard path", "Cedro -> Arroyo (northeast, moving along the inner courtyard path"], "answer": ["1. Trancos -> Blake Wilbur Hall (from East, moving along the path", "2. Blake Wilbur Hall -> Arroyo (from West, moving along the path"]} 4 | {"image_id": "4_2", "map_class": "google_map", "start": "Cedro", "destination": "Otero", "gpt_answer": ["Cedro -> Blake Wilbur Hall (from Northwest, moving along the internal path", "Blake Wilbur Hall -> Otero (from North, moving along the internal path"], "answer": ["1. Cedro -> Blake Wilbur Hall (from South, moving along Cedar", "2. Blake Wilbur Hall -> Otero (from East, moving along the pathway connecting Blake Wilbur Hall to Otero"]} 5 | -------------------------------------------------------------------------------- /logs/google_map.jsonl: -------------------------------------------------------------------------------- 1 | {"image_id": "4_2", "map_class": "google_map", "start": "Cedro", "destination": "Blake Wilbur Hall", "gpt_answer": ["Cedro -> Arroyo (from West, moving along main walkway", "Arroyo -> Blake Wilbur Hall (from West, continuing along main walkway"], "answer": ["Cedro -> Otero (from East, moving along the path behind Cedro", "Otero -> Blake Wilbur Hall (from North, moving along the path towards Blake Wilbur Hall"], "success": 1, "path_score": 2.585286088036388} 2 | {"image_id": "4_2", "map_class": "google_map", "start": "Soto", "destination": "Trancos", "gpt_answer": ["Start at Soto -> Trancos (move east along the path passing Blake Wilbur Hall on the right"], "answer": ["1. Soto -> Blake Wilbur Hall (from East, moving along the path", "2. Blake Wilbur Hall -> Trancos (from North, moving along the path"], "success": 1, "path_score": 5.0857037571152075} 3 | {"image_id": "4_2", "map_class": "google_map", "start": "Trancos", "destination": "Arroyo", "gpt_answer": ["Trancos -> Cedro (southeast, moving along the inner courtyard path", "Cedro -> Arroyo (northeast, moving along the inner courtyard path"], "answer": ["1. Trancos -> Blake Wilbur Hall (from East, moving along the path", "2. Blake Wilbur Hall -> Arroyo (from West, moving along the path"], "success": 1, "path_score": 1.473818680985533} 4 | {"image_id": "4_2", "map_class": "google_map", "start": "Cedro", "destination": "Otero", "gpt_answer": ["Cedro -> Blake Wilbur Hall (from Northwest, moving along the internal path", "Blake Wilbur Hall -> Otero (from North, moving along the internal path"], "answer": ["1. Cedro -> Blake Wilbur Hall (from South, moving along Cedar", "2. Blake Wilbur Hall -> Otero (from East, moving along the pathway connecting Blake Wilbur Hall to Otero"], "success": 1, "path_score": 1.0504723119292851} 5 | -------------------------------------------------------------------------------- /infer_gpt.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import torchvision.transforms as T 3 | import time 4 | import warnings 5 | warnings.filterwarnings("ignore") 6 | import random 7 | import json 8 | import requests as requests 9 | import base64 10 | from datasets import load_dataset 11 | import requests 12 | from PIL import Image 13 | from io import BytesIO 14 | import re 15 | import os 16 | random.seed(42) 17 | 18 | 19 | def pil_to_base64(image: Image.Image, format: str = "PNG") -> str: 20 | buffer = BytesIO() 21 | image.save(buffer, format=format) 22 | buffer.seek(0) 23 | img_bytes = buffer.read() 24 | base64_str = base64.b64encode(img_bytes).decode("utf-8") 25 | return base64_str 26 | 27 | 28 | def gpt4o_mini(question, pil_img=None, proxy='openai', args=None): 29 | 30 | if proxy == "ohmygpt": 31 | request_url = "https://aigptx.top/v1/chat/completions" 32 | elif proxy == "openai": 33 | request_url = "https://api.openai.com/v1/chat/completions" 34 | 35 | headers = { 36 | "Authorization": 'Bearer ' + args.api_key, 37 | } 38 | 39 | if pil_img is not None: 40 | base64_image = pil_to_base64(pil_img) 41 | params = { 42 | "messages": [ 43 | { 44 | "role": "user", 45 | "content": [ 46 | { 47 | "type": "text", 48 | "text": question 49 | }, 50 | { 51 | "type": "image_url", 52 | "image_url": { 53 | "url": f"data:image/jpeg;base64,{base64_image}" 54 | } 55 | } 56 | ] 57 | } 58 | ], 59 | "model": args.gpt_model if args.gpt_model else 'gpt-4o-mini-2024-07-18' 60 | } 61 | else: 62 | params = { 63 | "messages": [ 64 | 65 | { 66 | "role": 'user', 67 | "content": question 68 | } 69 | ], 70 | "model": args.gpt_model if args.gpt_model else 'gpt-4o-mini-2024-07-18' 71 | } 72 | received = False 73 | while not received: 74 | try: 75 | response = requests.post( 76 | request_url, 77 | headers=headers, 78 | json=params, 79 | stream=False 80 | ) 81 | res = response.json() 82 | res_content = res['choices'][0]['message']['content'] 83 | received = True 84 | except: 85 | time.sleep(1) 86 | return res_content 87 | 88 | 89 | 90 | 91 | 92 | def extract_navigation_steps(full_instructions): 93 | simplified_steps = [] 94 | lines = full_instructions.split('\n') 95 | for line in lines: 96 | if len(re.findall(r'->', line)) == 1: 97 | line = re.sub(r'^[\W_]+|[\W_]+$', '', line) 98 | if "next node" in line.lower(): 99 | return [] 100 | simplified_steps.append(line.replace("*", "")) 101 | return simplified_steps 102 | 103 | 104 | def append_to_json(save_dir, new_entry): 105 | if os.path.exists(save_dir): 106 | with open(save_dir, 'r', encoding='utf-8') as f: 107 | try: 108 | data = json.load(f) 109 | if 'runs' not in data: 110 | data = {'runs': []} 111 | except json.JSONDecodeError: 112 | data = {'runs': []} 113 | else: 114 | data = {'runs': []} 115 | 116 | data['runs'].append(new_entry) 117 | 118 | with open(save_dir, 'w', encoding='utf-8') as f: 119 | json.dump(data, f, ensure_ascii=False, indent=4) 120 | 121 | def main(args): 122 | dataset = load_dataset('shuoxing/MapBench_VQA', split='test') 123 | 124 | for map_data in dataset: 125 | 126 | pil_img = map_data["image"] 127 | queries = map_data["queries"] 128 | map_class = map_data["map_class"] 129 | save_dir = os.path.join(args.save_dir, f"{map_class}.jsonl") 130 | 131 | for query in queries: 132 | start = query["start"] 133 | destination = query["destination"] 134 | gpt_answer = query["gpt_answer"] 135 | 136 | prompt = f""" 137 | Please provide the simplest direct path from {start} to {destination}, focusing only on visible landmarks and roads. 138 | Provide the instructions in the format: "Start Node Name -> Next Node Name (from Direction, moving along Road Name/Landmark Name) \n ... \nNode Name -> Destination Node Name (from Direction, moving along Road Name/Landmark Name) \n", and ensure the instructions are clear and direct. 139 | """ 140 | 141 | for i in range(5): 142 | response = gpt4o_mini(prompt, pil_img=pil_img, args=args) 143 | simplified_steps = extract_navigation_steps(response) 144 | if len(simplified_steps) > 0: 145 | break 146 | 147 | if len(simplified_steps) == 0: 148 | simplified_steps = ["No path found"] 149 | 150 | new_entry = { 151 | "image_id": map_data["image_id"], 152 | "map_class": map_class, 153 | "start": start, 154 | "destination": destination, 155 | "gpt_answer": gpt_answer, 156 | "answer": simplified_steps 157 | } 158 | 159 | with open(save_dir,"a") as f: 160 | f.write(json.dumps(new_entry)) 161 | f.write("\n") 162 | 163 | if __name__ == "__main__": 164 | 165 | parser = argparse.ArgumentParser() 166 | parser.add_argument("--save-dir", type=str, default=None) 167 | parser.add_argument("--api-key", type=str, default=None) 168 | parser.add_argument("--gpt-model", type=str, default=None) 169 | args = parser.parse_args() 170 | 171 | main(args) -------------------------------------------------------------------------------- /eval.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import re 3 | import json 4 | import networkx as nx 5 | import matplotlib.pyplot as plt 6 | import pickle 7 | import json 8 | import os 9 | import cv2 10 | from sentence_transformers import SentenceTransformer 11 | from sklearn.metrics.pairwise import cosine_similarity 12 | import concurrent.futures 13 | import logging 14 | import multiprocessing 15 | import argparse 16 | 17 | def load_graph(file_path): 18 | with open(file_path, "rb") as f: 19 | G = pickle.load(f) 20 | return G 21 | 22 | def get_landmark(G): 23 | other_labels = ['Intersections', 'Adjacent'] 24 | landmark_list = [data['label'] for _, data in G.nodes(data=True) if 'label' in data and data['label'] not in other_labels] 25 | return landmark_list 26 | 27 | def landmark_preprocessing(G, landmark, similarity_model): 28 | landmark_list = get_landmark(G) 29 | similarity_list = [] 30 | for mark in landmark_list: 31 | similarity_test_pair = [mark, landmark] 32 | sentence_embeddings = similarity_model.encode(similarity_test_pair) 33 | spot_landmark_similarity = cosine_similarity(sentence_embeddings)[0][1] 34 | similarity_list.append(spot_landmark_similarity) 35 | idx = np.argmax(similarity_list) 36 | return landmark_list[idx] 37 | 38 | def find_landmark(G, name, similarity_model): 39 | for node, data in G.nodes(data=True): 40 | landmarks = landmark_preprocessing(G, data['label'], similarity_model) 41 | if name in landmarks: 42 | return node 43 | 44 | def shortest_path(G, landmark1, landmark2, similarity_model): 45 | coor1 = find_landmark(G, landmark1, similarity_model) 46 | coor2 = find_landmark(G, landmark2, similarity_model) 47 | return nx.shortest_path(G, source=coor1, target=coor2) 48 | 49 | def path_eval(G, nav, start, end, pattern_mode, similarity_model): 50 | landmark_list = get_landmark(G) 51 | directive_edges = nav 52 | start, end = landmark_preprocessing(G, start, similarity_model), landmark_preprocessing(G, end, similarity_model) 53 | 54 | gt_path = shortest_path(G, start, end, similarity_model) 55 | gt_dis = 0 56 | for i in range(len(gt_path) - 1): 57 | gt_dis += np.sqrt((gt_path[i][0] - gt_path[i + 1][0]) ** 2 + (gt_path[i][1] - gt_path[i + 1][1]) ** 2) 58 | 59 | failture_flag = 0 60 | project_path = [] 61 | language_path = [] 62 | path_dis = 0 63 | prev = start 64 | 65 | if len(directive_edges) == 0: 66 | failture_flag = -1 67 | return failture_flag, failture_flag, [], [] 68 | 69 | for cnt, e in enumerate(directive_edges): 70 | if "(" in e and ")" not in e: 71 | e = e + ")" 72 | if pattern_mode == 0: 73 | pattern = r"^(.*?) -> (.*?) \((.*?)\)$" 74 | else: 75 | pattern = r"(?:\d+\.\s)?(.*?) -> ([^(]*)" 76 | 77 | m = re.match(pattern, e) 78 | try: 79 | landmark1, landmark2 = m.group(1), m.group(2) 80 | except AttributeError: 81 | failture_flag = -4 82 | return failture_flag, failture_flag, [], [] 83 | landmark1 = landmark_preprocessing(G, landmark1, similarity_model) 84 | landmark2 = landmark_preprocessing(G, landmark2, similarity_model) 85 | 86 | if landmark1 not in landmark_list or landmark2 not in landmark_list: 87 | failture_flag = -2 88 | return failture_flag, failture_flag, [], [] 89 | 90 | if prev != landmark1: 91 | failture_flag = -3 92 | return failture_flag, failture_flag, [], [] 93 | prev = landmark2 94 | 95 | if cnt == 0 and landmark1 != start: 96 | failture_flag = -3 97 | return failture_flag, failture_flag, [], [] 98 | if cnt == len(directive_edges) - 1 and landmark2 != end: 99 | failture_flag = -3 100 | return failture_flag, failture_flag, [], [] 101 | 102 | coor1 = find_landmark(G, landmark1, similarity_model) 103 | coor2 = find_landmark(G, landmark2, similarity_model) 104 | language_path.extend((coor1, coor2)) 105 | 106 | path_nodes = nx.shortest_path(G, source=coor1, target=coor2) 107 | project_path.extend(path_nodes) 108 | for i in range(len(path_nodes) - 1): 109 | path_dis += np.sqrt((path_nodes[i][0] - path_nodes[i + 1][0]) ** 2 + (path_nodes[i][1] - path_nodes[i + 1][1]) ** 2) 110 | 111 | path_score = path_dis / gt_dis 112 | failture_flag = 1 113 | return failture_flag, path_score, language_path, project_path 114 | 115 | def main(args): 116 | log_file = os.path.join(args.log_dir, args.result_file.split('/')[-1]) 117 | res_data = [] 118 | with open(args.result_file, 'r', encoding='utf-8') as f: 119 | for line in f: 120 | res_data.append(json.loads(line)) 121 | 122 | average_score = 0 123 | query_success_num = 0 124 | 125 | for query in res_data: 126 | saved_log = query 127 | start = query["start"] 128 | destination = query["destination"] 129 | answer = query["answer"] 130 | map_class = query["map_class"] 131 | image_id = query["image_id"] 132 | 133 | pkl_file = os.path.join("./pkl", map_class, f"{image_id}.pkl") 134 | G = load_graph(pkl_file) 135 | 136 | similarity_model = SentenceTransformer('sentence-transformers/all-mpnet-base-v2') 137 | 138 | failture_flag, path_score, language_path, project_path = path_eval(G, answer, start, destination, 0, similarity_model) 139 | 140 | if failture_flag <= 0: 141 | saved_log["success"] = 0 142 | saved_log["path_score"] = path_score 143 | 144 | else: 145 | saved_log["success"] = 1 146 | saved_log["path_score"] = path_score 147 | query_success_num += 1 148 | average_score += path_score 149 | 150 | with open(log_file,"a") as f: 151 | f.write(json.dumps(saved_log)) 152 | f.write("\n") 153 | 154 | if query_success_num == 0: 155 | average_score = 0 156 | else: 157 | average_score = average_score / query_success_num 158 | 159 | print(f"Map: {map_class}, Success Query Num: {query_success_num}, Average Score: {average_score}, ") 160 | 161 | 162 | if __name__ == "__main__": 163 | 164 | parser = argparse.ArgumentParser() 165 | parser.add_argument("--result-file", type=str, default=None) 166 | parser.add_argument("--log-dir", type=str, default="./logs") 167 | args = parser.parse_args() 168 | 169 | main(args) -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /environment.yml: -------------------------------------------------------------------------------- 1 | name: navigation 2 | channels: 3 | - conda-forge 4 | - defaults 5 | dependencies: 6 | - _libgcc_mutex=0.1=main 7 | - _openmp_mutex=5.1=1_gnu 8 | - bzip2=1.0.8=h5eee18b_6 9 | - ca-certificates=2024.8.30=hbcca054_0 10 | - ld_impl_linux-64=2.40=h12ee557_0 11 | - libffi=3.4.4=h6a678d5_1 12 | - libgcc-ng=11.2.0=h1234567_1 13 | - libgfortran-ng=7.5.0=h14aa051_20 14 | - libgfortran4=7.5.0=h14aa051_20 15 | - libgomp=11.2.0=h1234567_1 16 | - libstdcxx-ng=11.2.0=h1234567_1 17 | - libuuid=1.41.5=h5eee18b_0 18 | - mpi=1.0=openmpi 19 | - mpi4py=3.1.4=py310h3e5f7c9_0 20 | - ncurses=6.4=h6a678d5_0 21 | - openmpi=4.0.4=hdf1f1ad_0 22 | - openssl=3.0.15=h5eee18b_0 23 | - pip=24.2=py310h06a4308_0 24 | - python=3.10.14=h955ad1f_1 25 | - readline=8.2=h5eee18b_0 26 | - sqlite=3.45.3=h5eee18b_0 27 | - tk=8.6.14=h39e8969_0 28 | - wheel=0.44.0=py310h06a4308_0 29 | - xz=5.4.6=h5eee18b_1 30 | - zlib=1.2.13=h5eee18b_1 31 | - pip: 32 | - absl-py==2.1.0 33 | - accelerate==0.27.0 34 | - addict==2.4.0 35 | - aiofiles==23.2.1 36 | - aiohappyeyeballs==2.4.3 37 | - aiohttp==3.10.9 38 | - aiosignal==1.3.1 39 | - albumentations==1.4.3 40 | - aliyun-python-sdk-core==2.15.2 41 | - aliyun-python-sdk-kms==2.16.5 42 | - altair==5.4.1 43 | - annotated-types==0.7.0 44 | - antlr4-python3-runtime==4.9.3 45 | - anyio==4.6.0 46 | - appdirs==1.4.4 47 | - argon2-cffi==23.1.0 48 | - argon2-cffi-bindings==21.2.0 49 | - arrow==1.3.0 50 | - asttokens==2.4.1 51 | - async-lru==2.0.4 52 | - async-timeout==4.0.3 53 | - attrs==24.2.0 54 | - av==14.2.0 55 | - babel==2.16.0 56 | - basicsr==1.4.2 57 | - beautifulsoup4==4.12.3 58 | - bitsandbytes==0.44.1 59 | - black==21.4b2 60 | - bleach==6.1.0 61 | - blessed==1.20.0 62 | - blinker==1.8.2 63 | - boto3==1.35.34 64 | - botocore==1.35.34 65 | - braceexpand==0.1.7 66 | - cachetools==5.5.0 67 | - certifi==2024.8.30 68 | - cffi==1.17.1 69 | - charset-normalizer==3.3.2 70 | - chumpy==0.70 71 | - cityscapesscripts==2.2.2 72 | - click==8.1.7 73 | - clip==1.0 74 | - cloudpickle==3.0.0 75 | - cmake==3.25.0 76 | - colorama==0.4.6 77 | - coloredlogs==15.0.1 78 | - comm==0.2.2 79 | - contourpy==1.3.0 80 | - controlnet-aux==0.0.7 81 | - crcmod==1.7 82 | - cryptography==43.0.1 83 | - cycler==0.12.1 84 | - cython==3.0.2 85 | - dataclasses==0.6 86 | - dataclasses-json==0.5.14 87 | - datasets==3.6.0 88 | - debugpy==1.8.6 89 | - decorator==5.1.1 90 | - deepspeed==0.10.3 91 | - defusedxml==0.7.1 92 | - detectron2==0.6 93 | - diffdist==0.1 94 | - diffusers==0.14.0 95 | - dill==0.3.8 96 | - distro==1.9.0 97 | - docker-pycreds==0.4.0 98 | - easydict==1.13 99 | - einops==0.7.0 100 | - einops-exts==0.0.4 101 | - exceptiongroup==1.2.2 102 | - executing==2.1.0 103 | - fairscale==0.4.4 104 | - fastapi==0.115.0 105 | - fastjsonschema==2.20.0 106 | - ffmpy==0.4.0 107 | - filelock==3.14.0 108 | - filterpy==1.4.5 109 | - flatbuffers==24.3.25 110 | - fonttools==4.54.1 111 | - fqdn==1.5.1 112 | - freetype-py==2.5.1 113 | - frozenlist==1.4.1 114 | - fsspec==2024.9.0 115 | - ftfy==6.1.1 116 | - future==1.0.0 117 | - fvcore==0.1.5.post20221221 118 | - gitdb==4.0.11 119 | - gitpython==3.1.43 120 | - gpustat==1.1.1 121 | - gradio==3.42.0 122 | - gradio-client==0.5.0 123 | - greenlet==3.1.1 124 | - groundingdino==0.1.0 125 | - grpcio==1.66.2 126 | - h11==0.14.0 127 | - hjson==3.1.0 128 | - httpcore==1.0.6 129 | - httpx==0.27.2 130 | - huggingface-hub==0.29.1 131 | - humanfriendly==10.0 132 | - hydra-core==1.3.2 133 | - idna==3.10 134 | - imageio==2.35.1 135 | - imageio-ffmpeg==0.5.1 136 | - imagesize==1.4.1 137 | - importlib-metadata==8.5.0 138 | - importlib-resources==6.4.5 139 | - infinibatch==0.1.1 140 | - inflect==7.4.0 141 | - invisible-watermark==0.2.0 142 | - iopath==0.1.9 143 | - ipykernel==6.29.5 144 | - ipython==8.28.0 145 | - ipywidgets==8.1.5 146 | - isoduration==20.11.0 147 | - jedi==0.19.1 148 | - jinja2==3.1.4 149 | - jiter==0.5.0 150 | - jmespath==0.10.0 151 | - joblib==1.4.2 152 | - json-tricks==3.17.3 153 | - json5==0.9.25 154 | - jsonpointer==3.0.0 155 | - jsonschema==4.23.0 156 | - jsonschema-specifications==2023.12.1 157 | - jupyter==1.1.1 158 | - jupyter-client==8.6.3 159 | - jupyter-console==6.6.3 160 | - jupyter-core==5.7.2 161 | - jupyter-events==0.10.0 162 | - jupyter-lsp==2.2.5 163 | - jupyter-server==2.14.2 164 | - jupyter-server-terminals==0.5.3 165 | - jupyterlab==4.2.5 166 | - jupyterlab-pygments==0.3.0 167 | - jupyterlab-server==2.27.3 168 | - jupyterlab-widgets==3.0.13 169 | - kiwisolver==1.4.7 170 | - kornia==0.6.8 171 | - kornia-rs==0.1.5 172 | - langchain==0.0.101 173 | - latex2mathml==3.77.0 174 | - lazy-loader==0.4 175 | - lightning-utilities==0.11.7 176 | - linkify-it-py==2.0.3 177 | - lit==15.0.7 178 | - litellm==1.48.16 179 | - llvmlite==0.43.0 180 | - lmdb==1.5.1 181 | - lvis==0.5.3 182 | - markdown==3.7 183 | - markdown-it-py==2.2.0 184 | - markdown2==2.5.0 185 | - markupsafe==2.1.5 186 | - marshmallow==3.22.0 187 | - matplotlib==3.9.2 188 | - matplotlib-inline==0.1.7 189 | - mdit-py-plugins==0.3.3 190 | - mdurl==0.1.2 191 | - mistune==3.0.2 192 | - mmpose==0.28.0 193 | - model-index==0.1.11 194 | - more-itertools==10.5.0 195 | - mpmath==1.3.0 196 | - mss==9.0.2 197 | - multidict==6.1.0 198 | - multiprocess==0.70.16 199 | - multiscaledeformableattention==1.0 200 | - munkres==1.1.4 201 | - mup==1.0.0 202 | - mypy-extensions==1.0.0 203 | - narwhals==1.9.0 204 | - nbclient==0.10.0 205 | - nbconvert==7.16.4 206 | - nbformat==5.10.4 207 | - nest-asyncio==1.6.0 208 | - networkx==3.3 209 | - ninja==1.11.1.1 210 | - nltk==3.8.1 211 | - notebook==7.2.2 212 | - notebook-shim==0.2.4 213 | - numba==0.60.0 214 | - numpy==1.23.1 215 | - nvidia-cublas-cu11==11.10.3.66 216 | - nvidia-cublas-cu12==12.4.2.65 217 | - nvidia-cuda-cupti-cu12==12.4.99 218 | - nvidia-cuda-nvrtc-cu11==11.7.99 219 | - nvidia-cuda-nvrtc-cu12==12.4.99 220 | - nvidia-cuda-runtime-cu11==11.7.99 221 | - nvidia-cuda-runtime-cu12==12.4.99 222 | - nvidia-cudnn-cu11==8.5.0.96 223 | - nvidia-cudnn-cu12==9.1.0.70 224 | - nvidia-cufft-cu12==11.2.0.44 225 | - nvidia-curand-cu12==10.3.5.119 226 | - nvidia-cusolver-cu12==11.6.0.99 227 | - nvidia-cusparse-cu12==12.3.0.142 228 | - nvidia-ml-py==12.570.86 229 | - nvidia-nccl-cu12==2.20.5 230 | - nvidia-nvjitlink-cu12==12.4.99 231 | - nvidia-nvtx-cu12==12.4.99 232 | - omegaconf==2.3.0 233 | - onnx==1.17.0 234 | - onnxruntime==1.19.2 235 | - open-clip-torch==2.26.1 236 | - openai==1.51.0 237 | - openai-whisper==20240930 238 | - opencv-python==4.8.1.78 239 | - opencv-python-headless==4.10.0.84 240 | - opendatalab==0.0.10 241 | - openmim==0.3.9 242 | - openxlab==0.1.1 243 | - ordered-set==4.1.0 244 | - orjson==3.10.7 245 | - oss2==2.17.0 246 | - overrides==7.7.0 247 | - packaging==24.1 248 | - pandas==2.0.3 249 | - pandocfilters==1.5.1 250 | - panopticapi==0.1 251 | - parso==0.8.4 252 | - pathspec==0.12.1 253 | - pathtools==0.1.2 254 | - peft==0.13.0 255 | - pexpect==4.9.0 256 | - pillow==9.4.0 257 | - platformdirs==4.3.6 258 | - plyfile==1.1 259 | - portalocker==2.10.1 260 | - prettytable==3.11.0 261 | - prometheus-client==0.21.0 262 | - prompt-toolkit==3.0.48 263 | - protobuf==4.25.5 264 | - psutil==6.0.0 265 | - ptyprocess==0.7.0 266 | - pure-eval==0.2.3 267 | - py-cpuinfo==9.0.0 268 | - pyarrow==20.0.0 269 | - pycocoevalcap==1.2 270 | - pycocotools==2.0.7 271 | - pycparser==2.22 272 | - pycryptodome==3.21.0 273 | - pydantic==1.10.18 274 | - pydantic-core==2.23.4 275 | - pydeck==0.9.1 276 | - pydot==3.0.2 277 | - pydub==0.25.1 278 | - pyglet==1.5.27 279 | - pygments==2.18.0 280 | - pyopengl==3.1.0 281 | - pyparsing==3.1.4 282 | - pyquaternion==0.9.9 283 | - pyrender==0.1.45 284 | - python-dateutil==2.9.0.post0 285 | - python-dotenv==1.0.1 286 | - python-json-logger==2.0.7 287 | - python-multipart==0.0.12 288 | - pytz==2023.4 289 | - pywavelets==1.7.0 290 | - pyyaml==6.0.1 291 | - pyzmq==26.2.0 292 | - qwen-vl-utils==0.0.10 293 | - referencing==0.35.1 294 | - regex==2023.10.3 295 | - requests==2.28.2 296 | - rfc3339-validator==0.1.4 297 | - rfc3986-validator==0.1.1 298 | - rich==13.4.2 299 | - rpds-py==0.20.0 300 | - ruff==0.6.8 301 | - s3transfer==0.10.2 302 | - safetensors==0.4.5 303 | - scikit-image==0.21.0 304 | - scikit-learn==1.3.1 305 | - scipy==1.13.1 306 | - seaborn==0.13.2 307 | - seem==1.0 308 | - segment-anything==1.0 309 | - semantic-sam==1.0 310 | - semantic-version==2.10.0 311 | - send2trash==1.8.3 312 | - sentence-transformers==3.4.1 313 | - sentencepiece==0.1.99 314 | - sentry-sdk==2.16.0 315 | - setproctitle==1.3.3 316 | - setuptools==75.1.0 317 | - shapely==1.8.0 318 | - shellingham==1.5.4 319 | - shortuuid==1.0.13 320 | - six==1.16.0 321 | - smmap==5.0.1 322 | - smplx==0.1.28 323 | - sniffio==1.3.1 324 | - soupsieve==2.6 325 | - sqlalchemy==1.4.54 326 | - stack-data==0.6.3 327 | - starlette==0.38.6 328 | - streamlit==1.39.0 329 | - supervision==0.21.0 330 | - svgwrite==1.4.3 331 | - sympy==1.13.3 332 | - tabulate==0.9.0 333 | - tb-nightly==2.19.0a20241006 334 | - tenacity==8.5.0 335 | - tensorboard==2.18.0 336 | - tensorboard-data-server==0.7.2 337 | - tensorboardx==2.6.2.2 338 | - termcolor==2.4.0 339 | - terminado==0.18.1 340 | - test-tube==0.7.5 341 | - threadpoolctl==3.5.0 342 | - tifffile==2024.9.20 343 | - tiktoken==0.8.0 344 | - timm==1.0.13 345 | - tinycss2==1.3.0 346 | - tokenizers==0.21.0 347 | - toml==0.10.2 348 | - tomli==2.0.2 349 | - tomlkit==0.12.0 350 | - torch==2.4.1+cu124 351 | - torchaudio==2.4.1+cu124 352 | - torchgeometry==0.1.2 353 | - torchmetrics==1.4.2 354 | - torchvision==0.19.1+cu124 355 | - tornado==6.4.1 356 | - tqdm==4.65.2 357 | - traitlets==5.14.3 358 | - transformers==4.49.0 359 | - trimesh==4.4.9 360 | - triton==3.0.0 361 | - typeguard==4.3.0 362 | - typer==0.12.5 363 | - types-python-dateutil==2.9.0.20241003 364 | - typing==3.7.4.3 365 | - typing-extensions==4.12.2 366 | - typing-inspect==0.9.0 367 | - tzdata==2024.2 368 | - uc-micro-py==1.0.3 369 | - uri-template==1.3.0 370 | - urllib3==1.26.20 371 | - uvicorn==0.31.0 372 | - vision-datasets==0.2.2 373 | - wandb==0.15.12 374 | - watchdog==5.0.3 375 | - wavedrom==2.0.3.post3 376 | - wcwidth==0.2.13 377 | - webcolors==24.8.0 378 | - webdataset==0.2.100 379 | - webencodings==0.5.1 380 | - websocket-client==1.8.0 381 | - websockets==11.0.3 382 | - werkzeug==3.0.4 383 | - widgetsnbextension==4.0.13 384 | - xtcocotools==1.14.3 385 | - xxhash==3.5.0 386 | - yacs==0.1.8 387 | - yapf==0.40.2 388 | - yarl==1.13.1 389 | - zipp==3.20.2 390 | --------------------------------------------------------------------------------