zoukankan      html  css  js  c++  java
  • OpenCV4【16】DNN 模块

    简介

    随着计算机视觉的流行,opencv 也专门开发了 dnn 模块来实现 深度神经网络相关 的功能

    虽然 opencv 无法训练模型,但它支持 载入其他 深度学习框架训练好的模型,并使用该模型进行预测 inference;

    而且 opencv 在载入模型时会使用 dnn 模块对模型进行重写,使得模型运行效率更高;  【怎么重写的,为什么效率高,后续研究】

    故如果想在 opencv 中融入深度学习模型,可以先使用 深度学习框架 训练好模型,再使用 dnn 模块载入

    完整教程参见 https://github.com/opencv/opencv/wiki/Deep-Learning-in-OpenCV

    应用范围 

    支持算法领域:图像识别、目标检测、图像分割

    支持的深度学习框架:tensorflow、pytorch、caffe、DLDT、Darknet,

    同时还支持 自定义层解析、非极大值抑制、获取各层信息 等操作;

    不同框架对应的 API、文件类型不同,具体 API 介绍

    API 介绍

    dnn.readNet

    一个通用的 API,作用是 从支持的 深度学习框架 中 加载 深度学习网络和模型权重

    def readNet(model, config=None, framework=None)

    model:模型训练好的参数 文件,支持格式有 *.caffemodel--Caffe、*.pb--TensorFlow、*.t7 或 *.net--Torch、 *.weights--Darknet、*.bin--DLDT.

    config:包含网络结构或者叫网络配置的文本文件,支持的格式有:*.prototxt--Caffe、*.pbtxt--TensorFlow、*.cfg --arknet、*.xml--DLDT.

    framework:指定 深度学习框架,如 tensorflow,

    该函数自动检测训练模型所采用的深度学习框架,然后调用 readNetFromCaffereadNetFromTensorflowreadNetFromTorch 或 readNetFromDarknet 中的某个函数.

    cv2.dnn.readNetFromCaffe(model, config)
    cv2.dnn.readNetFromTensorflow(model, config)
    cv2.dnn.readNetFromTorch(model, config)
    cv2.dnn.readNetFromDarknet(model, config)

    参数同上

    dnn.blobFromImage

    dnn.blobFromImages

    案例-图像识别

    ...

    案例-目标检测

    ...

    参考资料:

    https://zhuanlan.zhihu.com/p/111508792  知乎   哈尔滨工业大学 计算机科学与技术硕士

    https://zhuanlan.zhihu.com/p/140012286  知乎   计算机视觉/搬砖        【实例较多,但没有资源链接】

    https://cloud.tencent.com/developer/article/1419634  干货 | tensorflow模型导出与OpenCV DNN中使用

    https://www.aiuai.cn/aifarm941.html  OpenCV4.X - DNN模块 Python APIs

    https://blog.csdn.net/xingchenbingbuyu/article/details/107145917    李飞飞  图像风格迁移 

    https://zhuanlan.zhihu.com/p/88745033    googlenet 识别一张图 blobFromImage 和多张图 blobFromImages,唐宇迪视频代码 

    https://blog.csdn.net/qq_43019451/article/details/105894552    opencv-python dnn模块使用CUDA加速

    https://cloud.tencent.com/developer/article/1610535    C++,用法讲的比较详细

    https://blog.csdn.net/stq054188/article/details/108697929    C++ yolov4

    http://www.360doc.com/content/21/0128/20/68330161_959454821.shtml    C++   mask rcnn 缺陷检测

    https://opencv.org/releases/

  • 相关阅读:
    升级CUDA版本导致VS2010错误:未找到导入的项目XXX,请确认<Import>声明中的路径正确,且磁盘上存在该文件
    VS中添加预处理宏的方法
    [转]CUDA和OpenGL互操作的实现及分析
    Windows7安装Envi4.8简体中文破解版
    遥感卫星数据共享服务平台:数据服务终端
    【遥感专题系列】微波遥感(三、SAR图像特征)
    【遥感专题系列】微波遥感(二、合成孔径雷达SAR基础)
    [Linux] ubuntu server sudo出现sudo:must be setuid root 完美解决办法
    [Android Pro] Android系统手机端抓包方法 和 通过File查看应用程序流量
    [Android 新特性] Android 4.3 Top 5新功能
  • 原文地址:https://www.cnblogs.com/yanshw/p/15560840.html
Copyright © 2011-2022 走看看