opencv/samples/dnn
2019-02-05 19:12:41 +03:00
..
face_detector
classification.cpp Add a file with preprocessing parameters for deep learning networks 2018-09-25 18:28:37 +03:00
classification.py Add a file with preprocessing parameters for deep learning networks 2018-09-25 18:28:37 +03:00
CMakeLists.txt
colorization.cpp samples: use findFile() in dnn 2018-11-16 18:08:22 +00:00
colorization.py
common.hpp Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-26 17:56:55 +03:00
common.py samples: use findFile() in dnn 2018-11-16 18:08:22 +00:00
custom_layers.hpp Merge pull request #12264 from dkurt:dnn_remove_forward_method 2018-09-06 13:26:47 +03:00
edge_detection.py Fix edge_detection.py sample for Python 3 2019-01-09 15:28:10 +03:00
fast_neural_style.py samples: use findFile() in dnn 2018-11-16 18:08:22 +00:00
js_face_recognition.html
mask_rcnn.py samples: use findFile() in dnn 2018-11-16 18:08:22 +00:00
mobilenet_ssd_accuracy.py samples: use findFile() in dnn 2018-11-16 18:08:22 +00:00
models.yml dnn/samples: add googlenet to model zoo 2019-01-17 12:14:35 +01:00
object_detection.cpp Update obj. detect sample 2019-01-30 16:44:42 -01:00
object_detection.py Update obj. detect sample 2019-01-30 16:44:42 -01:00
openpose.cpp Fix openpose samples 2018-12-25 14:12:44 -01:00
openpose.py Fix openpose samples 2018-12-25 14:12:44 -01:00
README.md
segmentation.cpp Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-13 16:19:05 +00:00
segmentation.py Add a file with preprocessing parameters for deep learning networks 2018-09-25 18:28:37 +03:00
shrink_tf_graph_weights.py
text_detection.cpp
text_detection.py Merge pull request #13432 from vishwesh5:patch-1 2018-12-18 13:40:04 +03:00
tf_text_graph_common.py Align TensorFlow and OpenCV paths to create a text graph 2019-01-31 13:40:54 +03:00
tf_text_graph_faster_rcnn.py Create text graphs for Faster-RCNN from TensorFlow with dilated convolutions 2019-01-18 18:46:52 +03:00
tf_text_graph_mask_rcnn.py SSD with FPN proposals from TensorFlow 2019-01-11 12:20:03 +03:00
tf_text_graph_ssd.py SSD with FPN proposals from TensorFlow 2019-01-11 12:20:03 +03:00

OpenCV deep learning module samples

Model Zoo

Object detection

Model Scale Size WxH Mean subtraction Channels order
MobileNet-SSD, Caffe 0.00784 (2/255) 300x300 127.5 127.5 127.5 BGR
OpenCV face detector 1.0 300x300 104 177 123 BGR
SSDs from TensorFlow 0.00784 (2/255) 300x300 127.5 127.5 127.5 RGB
YOLO 0.00392 (1/255) 416x416 0 0 0 RGB
VGG16-SSD 1.0 300x300 104 117 123 BGR
Faster-RCNN 1.0 800x600 102.9801 115.9465 122.7717 BGR
R-FCN 1.0 800x600 102.9801 115.9465 122.7717 BGR
Faster-RCNN, ResNet backbone 1.0 300x300 103.939 116.779 123.68 RGB
Faster-RCNN, InceptionV2 backbone 0.00784 (2/255) 300x300 127.5 127.5 127.5 RGB

Face detection

An origin model with single precision floating point weights has been quantized using TensorFlow framework. To achieve the best accuracy run the model on BGR images resized to 300x300 applying mean subtraction of values (104, 177, 123) for each blue, green and red channels correspondingly.

The following are accuracy metrics obtained using COCO object detection evaluation tool on FDDB dataset (see script) applying resize to 300x300 and keeping an origin images' sizes.

AP - Average Precision                            | FP32/FP16 | UINT8          | FP32/FP16 | UINT8          |
AR - Average Recall                               | 300x300   | 300x300        | any size  | any size       |
--------------------------------------------------|-----------|----------------|-----------|----------------|
AP @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] | 0.408     | 0.408          | 0.378     | 0.328 (-0.050) |
AP @[ IoU=0.50      | area=   all | maxDets=100 ] | 0.849     | 0.849          | 0.797     | 0.790 (-0.007) |
AP @[ IoU=0.75      | area=   all | maxDets=100 ] | 0.251     | 0.251          | 0.208     | 0.140 (-0.068) |
AP @[ IoU=0.50:0.95 | area= small | maxDets=100 ] | 0.050     | 0.051 (+0.001) | 0.107     | 0.070 (-0.037) |
AP @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] | 0.381     | 0.379 (-0.002) | 0.380     | 0.368 (-0.012) |
AP @[ IoU=0.50:0.95 | area= large | maxDets=100 ] | 0.455     | 0.455          | 0.412     | 0.337 (-0.075) |
AR @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] | 0.299     | 0.299          | 0.279     | 0.246 (-0.033) |
AR @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] | 0.482     | 0.482          | 0.476     | 0.436 (-0.040) |
AR @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] | 0.496     | 0.496          | 0.491     | 0.451 (-0.040) |
AR @[ IoU=0.50:0.95 | area= small | maxDets=100 ] | 0.189     | 0.193 (+0.004) | 0.284     | 0.232 (-0.052) |
AR @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] | 0.481     | 0.480 (-0.001) | 0.470     | 0.458 (-0.012) |
AR @[ IoU=0.50:0.95 | area= large | maxDets=100 ] | 0.528     | 0.528          | 0.520     | 0.462 (-0.058) |

Classification

Model Scale Size WxH Mean subtraction Channels order
GoogLeNet 1.0 224x224 104 117 123 BGR
SqueezeNet 1.0 227x227 0 0 0 BGR

Semantic segmentation

Model Scale Size WxH Mean subtraction Channels order
ENet 0.00392 (1/255) 1024x512 0 0 0 RGB
FCN8s 1.0 500x500 0 0 0 BGR

References