open-mmlab / mmdetection

OpenMMLab Detection Toolbox and Benchmark
https://mmdetection.readthedocs.io
Apache License 2.0
29.13k stars 9.38k forks source link

[Bug] SSD300 and SSD512 onnx model output does not contain any bounding box #10005

Open deepakkupanda opened 1 year ago

deepakkupanda commented 1 year ago

Prerequisite

Task

I'm using the official example scripts/configs for the officially supported tasks/models/datasets.

Branch

master branch https://github.com/open-mmlab/mmdetection

Environment

checkpoints/ssd300_coco.onnx

[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 5000/5000, 3.5 task/s, elapsed: 1418s, ETA: 0s writing results to results.pkl

Evaluating bbox... Loading and preparing results... DONE (t=2.40s) creating index... index created! Running per image evaluation... Evaluate annotation type bbox DONE (t=74.77s). Accumulating evaluation results... DONE (t=25.56s).

Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.054 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.113 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.046 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.069 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.078 Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.010

When I m trying to infer the ssd300 as well as ssd512, the output does not contain any bounding boxes.

Reproduces the problem - code sample

I have used the pytorch2onnx.py for conversion and

Reproduces the problem - command or script

python tools/deployment/pytorch2onnx.py \

configs/ssd/ssd300_coco.py \

checkpoints/ssd300_coco_20210803_015428-d231a06e.pth \

--output-file checkpoints/ssd512_coco.onnx \

--input-img demo/demo.jpg \

--test-img tests/data/color.jpg \

--shape 608 608 \

--show \

--verify \

--dynamic-export \

--cfg-options \

model.test_cfg.deploy_nms_pre=-1 \

python tools/deployment/test.py \ configs/ssd/ssd300_coco.py \ checkpoints/ssd300_coco.onnx \ --out results.pkl \ --backend onnxruntime \ --eval bbox \ --show-dir results_ssd_onnx \ --show-score-thr 0.3 \

--cfg-options data.test.data_root=data/coco/ \

# --eval-options bbox.iou_thr=0.5

Reproduces the problem - error message

The model onnx is successful but its output no bounding box when inferred.

Additional information

No response

hhaAndroid commented 1 year ago

@deepakkupanda Please use the mmdet 3.x branch. Deployment modules are now the responsibility of mmdeploy