89 lines
2.6 KiB
Bash
Executable File
89 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# Test script for extracting bad heading cases
|
|
|
|
|
|
# Set PYTHONPATH to project root for module imports
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
|
|
export PYTHONPATH="${PROJECT_ROOT}:${PYTHONPATH}"
|
|
echo "========================================="
|
|
|
|
echo "Bad Heading Cases Extraction Test"
|
|
echo "========================================="
|
|
echo ""
|
|
|
|
INPUT_FILE="eval_results_common_match_comparison/yolov5s-300w/20260203_210259/detailed_3d_matches.json"
|
|
OUTPUT_DIR="runs/heading_error_analysis"
|
|
|
|
# Check if input file exists
|
|
if [ ! -f "$INPUT_FILE" ]; then
|
|
echo "Error: Input file not found: $INPUT_FILE"
|
|
echo "Please update INPUT_FILE path in this script"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$OUTPUT_DIR"
|
|
|
|
echo "Test 1: Extract all cases with error > 1.5 rad (≈ 85°)"
|
|
echo "-----------------------------------------------------"
|
|
python eval_tools/heading_analysis/extract_bad_heading_cases.py \
|
|
--input "$INPUT_FILE" \
|
|
--threshold 1.5 \
|
|
--output "$OUTPUT_DIR/all_bad_cases.json" \
|
|
--stats
|
|
|
|
echo ""
|
|
echo ""
|
|
echo "Test 2: Extract top 50 worst cases"
|
|
echo "-----------------------------------------------------"
|
|
python eval_tools/heading_analysis/extract_bad_heading_cases.py \
|
|
--input "$INPUT_FILE" \
|
|
--threshold 1.5 \
|
|
--top-k 50 \
|
|
--output "$OUTPUT_DIR/top50_worst.json" \
|
|
--stats
|
|
|
|
echo ""
|
|
echo ""
|
|
echo "Test 3: Extract only reversal errors (≈ 180°)"
|
|
echo "-----------------------------------------------------"
|
|
python eval_tools/heading_analysis/extract_bad_heading_cases.py \
|
|
--input "$INPUT_FILE" \
|
|
--threshold 1.5 \
|
|
--reversal-only \
|
|
--top-k 100 \
|
|
--output "$OUTPUT_DIR/reversal_errors.json" \
|
|
--stats
|
|
|
|
echo ""
|
|
echo ""
|
|
echo "Test 4: Extract vehicle class only, high confidence"
|
|
echo "-----------------------------------------------------"
|
|
python eval_tools/heading_analysis/extract_bad_heading_cases.py \
|
|
--input "$INPUT_FILE" \
|
|
--threshold 1.5 \
|
|
--classes vehicle \
|
|
--min-confidence 0.5 \
|
|
--top-k 50 \
|
|
--output "$OUTPUT_DIR/vehicle_high_conf.json" \
|
|
--stats
|
|
|
|
echo ""
|
|
echo ""
|
|
echo "Test 5: Extract mid-distance cases (30-80m)"
|
|
echo "-----------------------------------------------------"
|
|
python eval_tools/heading_analysis/extract_bad_heading_cases.py \
|
|
--input "$INPUT_FILE" \
|
|
--threshold 1.5 \
|
|
--min-distance 30 \
|
|
--max-distance 80 \
|
|
--top-k 50 \
|
|
--output "$OUTPUT_DIR/mid_distance.json" \
|
|
--stats
|
|
|
|
echo ""
|
|
echo "========================================="
|
|
echo "All tests complete!"
|
|
echo "Output directory: $OUTPUT_DIR"
|
|
echo "========================================="
|