|
|
- IoU 기준: Vehicle ≥ 0.7, Pedestrian ≥ 0.5, Cyclist ≥ 0.5
2. 거리 구간별 성능 분리
0–30m, 30–50m, 50m+ (3개 구간)
→ 각 구간마다 mAP, mAPH 계산
3. 난이도 기준
LEVEL 1: 라벨 포인트 ≥ 5
LEVEL 2: 라벨 포인트 ≥ 1 (더 어려움)
→ 즉, L2가 더 난이도가 높음 (희미하게 보이는 객체도 포함)
→ 모든 지표(mAP, mAPH)는 L1, L2로 나눠서 별도로 보고됨
→ 리더보드 최종 점수는 LEVEL 2 기준
4. 최종 점수(mAPH @ LEVEL 2)
클래스 3개 × 거리 3개 = 총 9개 성능 지표
각 지표의 mAPH를 평균 내서 최종 점수로 사용
최종수식
<waymo 지표와 KITTI지표의 비교>
| 항목 | KITTI | Waymo Open Dataset |
| 평가 클래스 | Car, Pedestrian, Cyclist (3종) | Vehicle, Pedestrian, Cyclist (3종) |
| IoU 기준 | Car: 0.7 Pedestrian: 0.5 Cyclist: 0.5 | 동일 (Vehicle: 0.7, Pedestrian: 0.5, Cyclist: 0.5) |
| 거리 구간 | 없음 (전체 대상) | 0–30m, 30–50m, 50m+ (multi-range 평가) → KITTI와 다르게 거리 구간별(multi-range) 성능을 별도로 측정 |
| 난이도 구분 | Easy, Moderate, Hard (occlusion, truncation 기준) | LEVEL 1 (≥ 5 points), LEVEL 2 (≥ 1 point) |
| 지표 종류 | AP (Average Precision) | mAP (mean Average Precision), mAPH (heading 고려한 mAP) |
| 방향(Heading) 평가 | 없음 | 포함 (mAPH: 박스 방향까지 정확히 맞췄는지 평가) |
| 최종 리더보드 점수 | AP (Car Moderate, etc.) | mAPH (LEVEL 2, 전체 거리 평균) |
<훈련>
작년 자율주행 AI 챌린지의 3D 동적객체 데이터셋으로 훈련진행
--> 작년꺼 베이스라인 코드 다운받아 훈련 진행
활용 메뉴얼 대로 따라하면 훈련 가능함
pre-trained 모델은 따로 사용하지 않았고, CenterPoint-Pillars로 훈련을 진행중임.
훈련이 끝난 후 val.py를 돌릴때 --infer_time 옵션을 주면 추론시간 기록해줌
--infer_time 옵션을 주면 eval_utils.py에서 추론시간 기록용 AverageMeter 준비한다.
그다음 각 배치마다 time.time()으로 시작/끝을 기록해서 ms 단위로 저장한다.
→ 현재 배치 시간(val)과 평균 시간(avg)을 tqdm 프로그레스바에 표시
결과적으로 evaluation 끝나면 평균 추론 시간이 로그에 찍힌다.
추론시간은 베이스라인코드가 알아서 구해주는데 FLOPs(연산량)은 직접 구하는 코드를 작성해야함.
첫댓글 1. FLOPs 논문에 나와있는지 조사해볼것
2. 논문에 나와있는 mAP, FLOPs를 찾아서 점수 계산해볼것
3. 설마 1977시간을 기다릴건지 어떻게 할건지 답해볼것
4. 텐서보드로 실시간 모니터링 확인가능한지?
5. 작년에 최종점수구하는 코드를 소스분석할것
6. 오늘내로 모두 완료할것
3. pre-trained모델로 백본 freeze 해 훈련을 돌릴겁니다.
4. 실시간 모니터링 가능합니다
왜 빨리 안하냐?
해서 새로운 게시글로 올린겁니다!
@한윤지 새로운 게시글은 어디있는데?