mirror of
https://github.com/opencv/opencv.git
synced 2026-07-31 00:03:03 +04:00
Merge pull request #29107 from varun-jaiswal17:yunet-dynamic-input
Update default YuNet model to new dynamic inputs #29107 Update the default model in `face_detect.py` and `face_detect.cpp` to `face_detection_yunet_2026may.onnx`, which has symbolic `height`/`width` input dims. ## Changes - `samples/dnn/face_detect.py`: update default `--face_detection_model` to `face_detection_yunet_2026may.onnx` - `samples/dnn/face_detect.cpp`: update default `fd_model` to `face_detection_yunet_2026may.onnx` Companion PR : - https://github.com/opencv/opencv_zoo/pull/310 - https://github.com/opencv/opencv_extra/pull/1373 Closes : https://github.com/opencv/opencv/issues/28769 ### Pull Request Readiness Checklist See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request - [x] I agree to contribute to the project under Apache 2 License. - [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [x] The PR is proposed to the proper branch - [x] There is a reference to the original bug report and related work - [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable Patch to opencv_extra has the same branch name. - [x] The feature is well documented and sample code can be built with the project CMake
This commit is contained in:
@@ -286,7 +286,7 @@ class dnn_test(NewOpenCVTests):
|
||||
|
||||
|
||||
def test_face_detection(self):
|
||||
model = self.find_dnn_file('dnn/onnx/models/yunet-202303.onnx', required=False)
|
||||
model = self.find_dnn_file('dnn/onnx/models/yunet-202605.onnx', required=False)
|
||||
img = self.get_sample('gpu/lbpcascade/er.png')
|
||||
|
||||
ref = [[1, 339.62445, 35.32416, 30.754604, 40.202126, 0.9302596],
|
||||
|
||||
@@ -332,8 +332,16 @@ PERF_TEST_P_(DNNTestNetwork, EfficientNet)
|
||||
processNet("dnn/efficientnet-lite4.onnx", "", inp);
|
||||
}
|
||||
|
||||
PERF_TEST_P_(DNNTestNetwork, YuNet) {
|
||||
processNet("dnn/onnx/models/yunet-202303.onnx", "", cv::Size(640, 640));
|
||||
PERF_TEST_P_(DNNTestNetwork, YuNet_320) {
|
||||
processNet("dnn/onnx/models/yunet-202605.onnx", "", cv::Size(320, 320));
|
||||
}
|
||||
|
||||
PERF_TEST_P_(DNNTestNetwork, YuNet_640) {
|
||||
processNet("dnn/onnx/models/yunet-202605.onnx", "", cv::Size(640, 640));
|
||||
}
|
||||
|
||||
PERF_TEST_P_(DNNTestNetwork, YuNet_1280) {
|
||||
processNet("dnn/onnx/models/yunet-202605.onnx", "", cv::Size(1280, 736));
|
||||
}
|
||||
|
||||
PERF_TEST_P_(DNNTestNetwork, SFace) {
|
||||
|
||||
@@ -394,10 +394,13 @@ TEST_P(DNNTestNetwork, OpenPose_pose_mpi_faster_4_stages)
|
||||
|
||||
TEST_P(DNNTestNetwork, YuNet)
|
||||
{
|
||||
Mat img = imread(findDataFile("gpu/lbpcascade/er.png"));
|
||||
resize(img, img, Size(320, 320));
|
||||
Mat inp = blobFromImage(img);
|
||||
processNet("dnn/onnx/models/yunet-202303.onnx", "", inp);
|
||||
double l1 = 0.0, lInf = 0.0;
|
||||
if (target == DNN_TARGET_CUDA_FP16 || target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_CPU_FP16)
|
||||
{
|
||||
l1 = 0.01;
|
||||
lInf = 0.05;
|
||||
}
|
||||
processNet("dnn/onnx/models/yunet-202605.onnx", "", Size(320, 320), "", l1, lInf);
|
||||
expectNoFallbacksFromIE(net);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user