|
|
필요한 건 어떤 루트를 가는지 시각화가 필요하기 때문에 (결과가 아님)
https://github.com/autonomousvision/transfuser/tree/2022/tools/dataset
위의 vis_points.py에서 시각화하면 됨 (json 불필요)
현재 필요한 맵 -> Town5_long 평가지표의 전체적인 맵이 없어 이를 그릴 예정
InterFuser에서 필요한 xml만 가져오면 됨
https://github.com/opendilab/InterFuser/tree/main/leaderboard/data/evaluation_routes
TransFuser의 leaderboard/data/town_maps_xodr 내에 각 town들을 png로 저장해놓은 사진 찾음
이를 가지고 위에 루트만 그려주면 TransFuser가 사용하는 logest6와 같은 route figure를 만들 수 있음
vis_points.sh
| # Town03에서 Scenario8(무신호 교차로)이 포함된 학습용 루트들을 시각화 python3 ${WORK_DIR}/tools/dataset/vis_points.py \ --in_path=${WORK_DIR}/leaderboard/data/training/routes/Scenario8/Town03_Scenario8.xml \ --save_dir=${WORK_DIR}/figures/vis_points/Scenario8/ # 시나리오 트리거 위치(어디서 NPC가 튀어나오는지)만 점으로 그려짐 python3 ${WORK_DIR}/tools/dataset/vis_points.py \ --in_path=${WORK_DIR}/leaderboard/data/training/scenarios/Scenario8/Town03_Scenario8.json \ --save_dir=${WORK_DIR}/figures/vis_points/Scenario8/ # Town03의 차선변경 루트들을 시각화 python3 ${WORK_DIR}/tools/dataset/vis_points.py \ --in_path=${WORK_DIR}/leaderboard/data/training/routes/lr/Town03_lr.xml \ --save_dir=${WORK_DIR}/figures/vis_points/lr/ # longest6.xml을 하나씩 split해놓은 파일을 시각화 python3 ${WORK_DIR}/tools/dataset/vis_points.py \ --in_path=${WORK_DIR}/leaderboard/data/longest6/longest6_split/longest_weathers_15.xml \ --save_dir=${WORK_DIR}/figures/vis_points/ |
여기에서 필요한 명령어는 split 해놓은 파일을 시각화하여 아래와 같이 각 루트의 png를 얻어야 함
현재 town5_long.xml은 split 되어 있지 않아서 따로 분할해줘야 함
각 route마다 분할하면 될 듯 - 총 10개
아래 python 명령어 실행
| python3 -c " import xml.etree.ElementTree as ET import os tree = ET.parse('/home/airlab/transfuser/leaderboard/data/routes_town05_long.xml') root = tree.getroot() os.makedirs('/home/airlab/transfuser/leaderboard/data/routes_town05_long_split', exist_ok=True) for route in root.findall('route'): route_id = route.get('id') new_root = ET.Element('routes') new_root.append(route) tree_out = ET.ElementTree(new_root) out_path = f'/home/airlab/transfuser/leaderboard/data/routes_town05_long_split/Town05_long_{route_id}.xml' tree_out.write(out_path) print(f'Route {route_id} → {out_path}') " |
각 route별로 split된 xml 파일이 나오게 됨
이를 가지고 sh 실행
| for xml in ${WORK_DIR}/leaderboard/data/routes_town05_long_split/*.xml; do python3 ${WORK_DIR}/tools/dataset/vis_points.py \ --in_path=${xml} \ --save_dir=${WORK_DIR}/figures/vis_points/town05_long/ done |
어짜피 하나하나 다 돌려야 하기 때문에 for 제어로 모든 route 돌며 png로 저장
++
돌리고 보니 기존 TransFuser에서 미리 만든 것보다 선도 얇고 시작점과 끝점을 그려주지 않아서 코드 수정함
vis_points.py
기존 longest6와 비교