0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenCV中支持的非分类与检测视觉模型

OpenCV学堂 来源:OpenCV学堂 作者:OpenCV学堂 2022-08-19 09:10 次阅读

引言 ·

前面给大家分别汇总了OpenCV中支持的图像分类与对象检测模型,视觉视觉任务除了分类与检测还有很多其他任务,这里我们就来OpenCV中支持的非分类与检测的视觉模型汇总一下。注意一点,汇总支持的模型都是OpenCV4.4 Github上已经提供的,事实上除了官方的提供的模型,读者还可以自己探索更多非官方模型支持。这里的汇总模型主要来自OpenCV社区官方测试过的。

语义分割网络

OpenCV4 DNN支持的语义分割网络FCN与ENet、ResNet101_DUC_HDC等三个语义分割模型。

FCN

其中FCN主要是基于VGG16~VGG19作为基础网络,速度很慢,该网络是在2015年时候提出,是早期很典型的图像语义分割网络,不是一个对称的卷积反卷积分割网络,在编码阶段网络过长,解码网络很少,结果堪忧!网络结构如下:

c95bf7f8-1f09-11ed-ba43-dac502259ad0.png

c97b257e-1f09-11ed-ba43-dac502259ad0.png

分别支持不同分辨率的上采样。

ENet

ENet是一种实时语义分割网络,在2016年提出的,关于ENet语义分割网络,我其实之前写过一篇文章,详细介绍过,这里就不再啰嗦了,直接看这个链接即可:

详解ENet | CPU可以实时的道路分割网络

论文下载地址:

https://arxiv.org/pdf/1606.02147.pdf

ResNet101_DUC_HDC

该模型在编码网络中基于残差网络与混合空洞卷积(HDC-Hybrid Dilated Convolution),在解码阶段采用密集上采样卷积(DUC-Dense Upsampling Convolution),最终实现了像素级别的图像语义分割网络。网络模型结构如下:

c9bc0e90-1f09-11ed-ba43-dac502259ad0.png

该论文在2017发表,论文地址如下:

https://arxiv.org/pdf/1702.08502.pdf

姿态评估

OpenCV DNN支持的姿态评估是基于OpenPose网络实现的身体与手部姿态评估,OpenPose是一个开源的姿态评估项目支持2D与3D模型的姿态评估,提供了C++/Python的API调用接口。模型可以从它github地址获得

https://github.com/CMU-Perceptual-Computing-Lab/openpose

相关的模型主要来自它们的系列论文, 姿态评估的基本原理与流程如下:

c9cd63f2-1f09-11ed-ba43-dac502259ad0.png

c9dd5f82-1f09-11ed-ba43-dac502259ad0.png

完整的姿态评估流程入上图,首先预测热图与PAF,然后进行匹配与解析,最终得到输出的姿态评估结果。相关的论文地址如下

https://arxiv.org/pdf/1812.08008v2.pdfhttps://arxiv.org/pdf/1611.08050.pdf

图像处理

OpenCV中图像处理网络支持图像色彩迁移、图像风格迁移、边缘检测。

色彩迁移:

其中灰度图像转换彩色图像的模型结构如下:

c9fa8ada-1f09-11ed-ba43-dac502259ad0.png

其中有个重要的输入特征点是要把RGB彩色图像转换为LAB通道图像,然后对AB输入,最后结果重新加上L分量。代码在这里

http://richzhang.github.io/colorization/

风格迁移

风格迁移网络主要是来自于2016李飞飞等提出感知损失的图像风格迁移与超分辨率论文实现的,网络结构如下:

ca265912-1f09-11ed-ba43-dac502259ad0.png

github地址如下:

https://github.com/jcjohnson/fast-neural-style

边缘检测

OpenCV中传统的图像边缘检测算法Canny,现在OpenCV支持基于深度学习的边缘检测算法HED,它与Canny算法的边缘提取效果对比如下:

ca4e0f02-1f09-11ed-ba43-dac502259ad0.png

该论文是在2015年提出的,模型结构如下:

ca6403b6-1f09-11ed-ba43-dac502259ad0.png

作者选择了VGGNet作为特征提取与基础网络。

论文地址:

https://arxiv.org/pdf/1504.06375.pdf

人脸识别

人脸识别来自OpenFace,OpenFace是一种典型的移动端实时的人脸识别模型,跟它相似的还有LightCNN模型。OpenFace是基于facenet的Inception网络作为backbone网络训练生存的torch网络模型,然后基于SVM实现了分类推理,完整的OpenFace项目结构如下:

ca78d03e-1f09-11ed-ba43-dac502259ad0.png

其中预处理阶段的人脸对齐示意图如下:

caa247e8-1f09-11ed-ba43-dac502259ad0.png

关于FaceNet的人脸识别论文

https://arxiv.org/pdf/1503.03832.pdf

OpenCV DNN支持的8位的量化之后的人脸识别模型,最终输出的向量是128维的,模型下载可以从Github地址:

https://github.com/cmusatyalab/openface

场景文字检测

场景文字检测来自2017年旷视科技提出的EAST场景文字检测模型,相关的模型结构如下:

cacdf406-1f09-11ed-ba43-dac502259ad0.png

最终输出的文本区域解析后处理如下:

cadb25ea-1f09-11ed-ba43-dac502259ad0.png

最常见的是解析位RBOX,即带角度的旋转矩形(最小外接矩形)。

最后总结一下,上述网络均支持在OpenCV4.4版本上直接推理运行,或者自定义数据学习之后的在OpenCV4 DNN部署,推理调用。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    835

    浏览量

    54457
  • 视觉模型
    +关注

    关注

    0

    文章

    5

    浏览量

    6901
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40786

原文标题:汇总 | OpenCV4中的非典型深度学习模型

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    用39块钱的视觉开发板做了个小相机,还可以物品识别、自动追焦!

    可直接使用已经训练好的模型。V851s 的 NPU 支持包括分类检测、跟踪、人脸、姿态估计、分割、深度、语音、像素处理等各个场景90 多个公开模型
    发表于 04-08 15:07

    AIDI工业AI视觉检测软件介绍

    AIDI是一款基于深度学习的智能工业视觉平台应用于多种工业应用场景,有效解决复杂缺陷的定位识别、分类定级及字符识别等问题,具有强大的兼容性。AIDI 内置多种应用模块,无需编程,帮助用户快速构建和迭代模型,满足不同业务场景下的差
    发表于 03-25 21:52

    视觉检测设备的分类

    、质量控制、医疗影像、安防监控、无人驾驶等。视觉检测设备的主要功能包括图像采集、图像处理、目标检测、特征提取、分类识别、缺陷检测、测量计量等
    的头像 发表于 02-21 09:41 264次阅读
    <b class='flag-5'>视觉</b><b class='flag-5'>检测</b>设备的<b class='flag-5'>分类</b>

    AI Transformer模型支持机器视觉对象检测方案

    使用机器视觉进行对象检测需要 AI 模型/算法在 AI 芯片、FPGA 或模块上运行。它们通常被称为“人工智能引擎”。在首次训练后,可以部署 AI 模型以在适当的硬件上运行,以做出预测
    发表于 11-23 10:31 212次阅读
    AI Transformer<b class='flag-5'>模型</b><b class='flag-5'>支持</b>机器<b class='flag-5'>视觉</b>对象<b class='flag-5'>检测</b>方案

    OpenCV对openEuler提供上游原生支持

    ),是一个多平台的开源计算机视觉库。它提供了丰富的功能,包括图像处理,特征检测,目标识别,机器学习等,在计算机视觉领域,OpenCV凭借其强大的功能、性能和广泛的应用场景,已经建立起绝
    的头像 发表于 11-20 09:14 439次阅读

    openCV边缘检测原理是什么?

    openCV是通过什么原理来实现边缘检测
    发表于 10-10 06:21

    OpenCV4.8+YOLOv8对象检测C++推理演示

    自从YOLOv5更新成7.0版本,YOLOv8推出以后,OpenCV4.6以前的版本都无法再加载导出ONNX格式模型了,只有OpenCV4.7以上版本才可以支持最新版本YOLOv5与Y
    的头像 发表于 09-27 11:07 703次阅读
    <b class='flag-5'>OpenCV</b>4.8+YOLOv8对象<b class='flag-5'>检测</b>C++推理演示

    OpenVINO场景文字检测与文字识别教程

    OpenVINO是英特尔推出的深度学习模型部署框架,当前最新版本是OpenVINO2023版本。OpenVINO2023自带各种常见视觉任务支持的预训练模型库Model Zoo,其
    的头像 发表于 09-24 15:31 734次阅读
    OpenVINO场景文字<b class='flag-5'>检测</b>与文字识别教程

    【触觉智能 Purple Pi OH 开发板体验】三、Ubuntu镜像安装OpenCV边缘检测开发

    缺陷检测的原理可以基于人工智能或机器视觉进行解释。 在人工智能领域,缺陷检测主要通过采集数据、特征提取、模型训练和测试、模型优化以及
    发表于 09-09 13:20

    【RISC-V + OpenCV 计算机视觉】用 VisionFive 2 昉·星光 2 进行物体识别

    强大的计算机视觉库,OpenCV提供了丰富的函数和工具,用于处理图像和视频数据,实现各种计算机视觉任务,使目标检测更加简便高效。 00:00-00:53 板卡及应用介绍 00:53-0
    发表于 09-08 11:42

    【飞凌AM6254开发板试用】+2机器视觉环境搭建(原创)

    边缘检测算法,是边缘检测的最优算法。 OpenCV-Python旨在解决计算机视觉问题,一些算法被申请了版权,所以选用3.4.3以下的版本。 ope
    发表于 09-02 19:13

    利用OpenCV进行颜色检测

    关于利用OpenCV进行颜色分类,本文包含了HSV介绍及应用、cv2.inRange及应用、RGB与HSV通道的区别三个方面。
    的头像 发表于 08-18 10:32 857次阅读
    利用<b class='flag-5'>OpenCV</b>进行颜色<b class='flag-5'>检测</b>

    ARM System C循环模型用户指南

    1666的SystemC环境中。 仅在CPAK环境中支持TLM包装器的顶级重新编译。 基于PIN的系统C周期模型可以在CPAK的范围之外使用。
    发表于 08-12 07:02

    OpenCV中YAML配置文件读写使用演示

    我们在做OpenCV开发的时候经常需要把算法在一些场景下的调试好的参数作为默认值保存然后自动加载,然后在默认值的基础上根据需要适度调整。OpenCV中支持把参数保存为TXT格式的YAML文件,实现类似XML与JSON的参数文件读
    的头像 发表于 08-01 11:14 498次阅读
    <b class='flag-5'>OpenCV</b>中YAML配置文件读写使用演示

    OpenCV 4.8.0正式发布

    OpenCV 4.8.0已于2023年6月29日凌晨正式发布,此次发布中有DNN模块中对TFLite模型支持,FP16精度推理的支持等诸多亮点。
    的头像 发表于 06-30 16:11 560次阅读