ytfeng commited on
Commit
62917b7
·
1 Parent(s): ec17a5b

Use YuNet of fixed input shape to avoid 'parseShape' error (#45)

Browse files

* replace with yunet of fixed input shape

* update quantized yunet

* update yunet filename used in scripts

* add a note message for https://github.com/opencv/opencv_zoo/issues/44

benchmark/config/face_detection_yunet.yaml CHANGED
@@ -16,7 +16,8 @@ Benchmark:
16
 
17
  Model:
18
  name: "YuNet"
19
- modelPath: "models/face_detection_yunet/face_detection_yunet_2021dec.onnx"
20
  confThreshold: 0.6
21
  nmsThreshold: 0.3
22
- topK: 5000
 
 
16
 
17
  Model:
18
  name: "YuNet"
19
+ modelPath: "models/face_detection_yunet/face_detection_yunet_2022mar.onnx"
20
  confThreshold: 0.6
21
  nmsThreshold: 0.3
22
+ topK: 5000
23
+
models/face_detection_yunet/README.md CHANGED
@@ -5,6 +5,7 @@ YuNet is a light-weight, fast and accurate face detection model, which achieves
5
  Notes:
6
  - Model source: [here](https://github.com/ShiqiYu/libfacedetection.train/blob/a61a428929148171b488f024b5d6774f93cdbc13/tasks/task1/onnx/yunet.onnx).
7
  - For details on training this model, please visit https://github.com/ShiqiYu/libfacedetection.train.
 
8
 
9
  ## Demo
10
 
 
5
  Notes:
6
  - Model source: [here](https://github.com/ShiqiYu/libfacedetection.train/blob/a61a428929148171b488f024b5d6774f93cdbc13/tasks/task1/onnx/yunet.onnx).
7
  - For details on training this model, please visit https://github.com/ShiqiYu/libfacedetection.train.
8
+ - This ONNX model has fixed input shape, but OpenCV DNN infers on the exact shape of input image. See https://github.com/opencv/opencv_zoo/issues/44 for more information.
9
 
10
  ## Demo
11
 
models/face_detection_yunet/demo.py CHANGED
@@ -33,7 +33,7 @@ except:
33
 
34
  parser = argparse.ArgumentParser(description='YuNet: A Fast and Accurate CNN-based Face Detector (https://github.com/ShiqiYu/libfacedetection).')
35
  parser.add_argument('--input', '-i', type=str, help='Path to the input image. Omit for using default camera.')
36
- parser.add_argument('--model', '-m', type=str, default='face_detection_yunet_2021dec.onnx', help='Path to the model.')
37
  parser.add_argument('--backend', '-b', type=int, default=backends[0], help=help_msg_backends.format(*backends))
38
  parser.add_argument('--target', '-t', type=int, default=targets[0], help=help_msg_targets.format(*targets))
39
  parser.add_argument('--conf_threshold', type=float, default=0.9, help='Filter out faces of confidence < conf_threshold.')
 
33
 
34
  parser = argparse.ArgumentParser(description='YuNet: A Fast and Accurate CNN-based Face Detector (https://github.com/ShiqiYu/libfacedetection).')
35
  parser.add_argument('--input', '-i', type=str, help='Path to the input image. Omit for using default camera.')
36
+ parser.add_argument('--model', '-m', type=str, default='face_detection_yunet_2022mar.onnx', help='Path to the model.')
37
  parser.add_argument('--backend', '-b', type=int, default=backends[0], help=help_msg_backends.format(*backends))
38
  parser.add_argument('--target', '-t', type=int, default=targets[0], help=help_msg_targets.format(*targets))
39
  parser.add_argument('--conf_threshold', type=float, default=0.9, help='Filter out faces of confidence < conf_threshold.')
tools/quantize/quantize.py CHANGED
@@ -78,8 +78,9 @@ class Quantize:
78
 
79
 
80
  models=dict(
81
- yunet=Quantize(model_path='../../models/face_detection_yunet/face_detection_yunet_2021dec.onnx',
82
- calibration_image_dir='../../benchmark/data/face_detection'),
 
83
  sface=Quantize(model_path='../../models/face_recognition_sface/face_recognition_sface_2021dec.onnx',
84
  calibration_image_dir='../../benchmark/data/face_recognition',
85
  transforms=Compose([Resize(size=(112, 112))])),
 
78
 
79
 
80
  models=dict(
81
+ yunet=Quantize(model_path='../../models/face_detection_yunet/face_detection_yunet_2022mar.onnx',
82
+ calibration_image_dir='../../benchmark/data/face_detection',
83
+ transforms=Compose([Resize(size=(160, 120))])),
84
  sface=Quantize(model_path='../../models/face_recognition_sface/face_recognition_sface_2021dec.onnx',
85
  calibration_image_dir='../../benchmark/data/face_recognition',
86
  transforms=Compose([Resize(size=(112, 112))])),