summaryrefslogtreecommitdiff
path: root/libavfilter/dnn
diff options
context:
space:
mode:
authorWenbin Chen <wenbin.chen@intel.com>2023-11-21 10:20:18 +0800
committerGuo Yejun <yejun.guo@intel.com>2023-11-26 20:38:36 +0800
commit47b2328076f865a12dd0d50aed02fbef32f69490 (patch)
tree8887d8bfd0f76bd263bbfa161e68ff2f571ae555 /libavfilter/dnn
parentcaa5d123a710e11686458ff563a99a0fabc4f55c (diff)
libavfilter/vf_dnn_detect: Add yolo support
Add yolo support. Yolo model doesn't output final result. It outputs candidate boxes, so we need post-process to remove overlap boxes to get final results. Also, the box's coordinators relate to cell and anchors, so we need these information to calculate boxes as well. Model detail please refer to: https://github.com/openvinotoolkit/open_model_zoo/tree/master/models/public/yolo-v2-tf Signed-off-by: Wenbin Chen <wenbin.chen@intel.com> Reviewed-by: Guo Yejun <yejun.guo@intel.com>
Diffstat (limited to 'libavfilter/dnn')
-rw-r--r--libavfilter/dnn/dnn_backend_openvino.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavfilter/dnn/dnn_backend_openvino.c b/libavfilter/dnn/dnn_backend_openvino.c
index d3af8c34ce..6fe8b9c243 100644
--- a/libavfilter/dnn/dnn_backend_openvino.c
+++ b/libavfilter/dnn/dnn_backend_openvino.c
@@ -386,9 +386,9 @@ static void infer_completion_callback(void *args)
ov_shape_free(&output_shape);
return;
}
- output.channels = dims[1];
- output.height = dims[2];
- output.width = dims[3];
+ output.channels = output_shape.rank > 2 ? dims[output_shape.rank - 3] : 1;
+ output.height = output_shape.rank > 1 ? dims[output_shape.rank - 2] : 1;
+ output.width = output_shape.rank > 0 ? dims[output_shape.rank - 1] : 1;
av_assert0(request->lltask_count <= dims[0]);
ov_shape_free(&output_shape);
#else