diff --git a/modules/dnn/misc/python/test/test_dnn.py b/modules/dnn/misc/python/test/test_dnn.py index b4aa46750b..006ec1aa0a 100755 --- a/modules/dnn/misc/python/test/test_dnn.py +++ b/modules/dnn/misc/python/test/test_dnn.py @@ -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], diff --git a/modules/dnn/perf/perf_net.cpp b/modules/dnn/perf/perf_net.cpp index d3b1a330de..a21f71a9dc 100644 --- a/modules/dnn/perf/perf_net.cpp +++ b/modules/dnn/perf/perf_net.cpp @@ -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) { diff --git a/modules/dnn/test/test_backends.cpp b/modules/dnn/test/test_backends.cpp index f1171534f9..31df338ec6 100644 --- a/modules/dnn/test/test_backends.cpp +++ b/modules/dnn/test/test_backends.cpp @@ -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); } diff --git a/samples/dnn/face_detect.cpp b/samples/dnn/face_detect.cpp index b8c3b622e6..ab0070b476 100644 --- a/samples/dnn/face_detect.cpp +++ b/samples/dnn/face_detect.cpp @@ -44,7 +44,7 @@ int main(int argc, char** argv) "{image2 i2 | | Path to the input image2. When image1 and image2 parameters given then the program try to find a face on both images and runs face recognition algorithm}" "{video v | 0 | Path to the input video}" "{scale sc | 1.0 | Scale factor used to resize input video frames}" - "{fd_model fd | face_detection_yunet_2023mar.onnx| Path to the model. Download yunet.onnx in https://github.com/opencv/opencv_zoo/tree/master/models/face_detection_yunet}" + "{fd_model fd | face_detection_yunet_2026may.onnx| Path to the model. Download yunet.onnx in https://github.com/opencv/opencv_zoo/tree/master/models/face_detection_yunet}" "{fr_model fr | face_recognition_sface_2021dec.onnx | Path to the face recognition model. Download the model at https://github.com/opencv/opencv_zoo/tree/master/models/face_recognition_sface}" "{score_threshold | 0.85 | Filter out faces of score < score_threshold}" "{nms_threshold | 0.3 | Suppress bounding boxes of iou >= nms_threshold}" diff --git a/samples/dnn/face_detect.py b/samples/dnn/face_detect.py index 95012fdbba..3d78d3d5b3 100644 --- a/samples/dnn/face_detect.py +++ b/samples/dnn/face_detect.py @@ -16,7 +16,7 @@ parser.add_argument('--image1', '-i1', type=str, help='Path to the input image1. parser.add_argument('--image2', '-i2', type=str, help='Path to the input image2. When image1 and image2 parameters given then the program try to find a face on both images and runs face recognition algorithm.') parser.add_argument('--video', '-v', type=str, help='Path to the input video.') parser.add_argument('--scale', '-sc', type=float, default=1.0, help='Scale factor used to resize input video frames.') -parser.add_argument('--face_detection_model', '-fd', type=str, default='face_detection_yunet_2023mar.onnx', help='Path to the face detection model. Download the model at https://github.com/opencv/opencv_zoo/tree/master/models/face_detection_yunet') +parser.add_argument('--face_detection_model', '-fd', type=str, default='face_detection_yunet_2026may.onnx', help='Path to the face detection model. Download the model at https://github.com/opencv/opencv_zoo/tree/master/models/face_detection_yunet') parser.add_argument('--face_recognition_model', '-fr', type=str, default='face_recognition_sface_2021dec.onnx', help='Path to the face recognition model. Download the model at https://github.com/opencv/opencv_zoo/tree/master/models/face_recognition_sface') parser.add_argument('--score_threshold', type=float, default=0.85, help='Filtering out faces of score < score_threshold.') parser.add_argument('--nms_threshold', type=float, default=0.3, help='Suppress bounding boxes of iou >= nms_threshold.')