当前位置:   article > 正文

cv.dnn介绍及常用模块_cv::dnn

cv::dnn

介绍

OpenCV中的深度学习模块(DNN)只提供了推理功能,不涉及模型的训练,即模型训练好了,进行预测,支持多种深度学习框架,比如TensorFlow,Caffe,Torch和Darknet。

OpenCV那为什么要实现深度学习模块?

  • 轻量型。DNN模块只实现了推理功能,代码量及编译运行开销远小于其他深度学习模型框架。

  • 使用方便。DNN模块提供了内建的CPU和GPU加速,无需依赖第三方库,若项目中之前使用了OpenCV,那么通过DNN模块可以很方便的为原项目添加深度学习的能力。

  • 通用性。DNN模块支持多种网络模型格式,用户无需额外的进行网络模型的转换就可以直接使用,支持的网络结构涵盖了常用的目标分类,目标检测和图像分割的类别

DNN模块还有网络层面的优化

  • 层融合:层融合通过对网络结构的分析,把多个层合并到一起,从而降低网络复杂度和减少运算量。
  • 内存复用:第一种内存复用的方法是输入内存复用,即当前层的输出复用当前层的输入。第二种内存复用的方法是后续层复用前面层的输出。

常用模块

dnn.blobFromImage

  1. blobFromImage(image,
  2. scalefactor=None,
  3. size=None,
  4. mean=None,
  5. swapRB=None,
  6. crop=None,
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/599360
推荐阅读
相关标签
  

闽ICP备14008679号