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

    文章

    1016

    浏览量

    56660
  • 视觉模型
    +关注

    关注

    0

    文章

    8

    浏览量

    7034
  • OpenCV
    +关注

    关注

    33

    文章

    651

    浏览量

    44427

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于级联分类器的人脸检测基本原理

    本次分享的内容是基于级联分类器的人脸检测基本原理 1) 人脸检测概述 关于人脸检测算法,目前主流方法分为两类,一类是基于知识,主要方法包括模板匹配,人脸特征,形状和边缘,纹理特征,
    发表于 10-30 06:14

    借助NVIDIA技术构建实时视觉检测工作流

    构建一套可靠的视觉检测流程来实现缺陷检测和质量控制面临诸多挑战,例如针对特定领域定制通用视觉 AI 模型、在算力受限的边缘设备上优化
    的头像 发表于 10-21 11:01 629次阅读
    借助NVIDIA技术构建实时<b class='flag-5'>视觉</b><b class='flag-5'>检测</b>工作流

    机器视觉双雄YOLO 和 OpenCV 到底有啥区别?别再傻傻分不清!

    如何在深圳市钡铼技术有限公司的AI边缘计算产品中结合,实现真正的“视觉智能”。 一、前言:为什么总有人把YOLO和OpenCV搞混? 在AI视觉项目中,你可能听过这样的讨论:“要做人脸检测
    的头像 发表于 10-14 16:00 559次阅读
    机器<b class='flag-5'>视觉</b>双雄YOLO 和 <b class='flag-5'>OpenCV</b> 到底有啥区别?别再傻傻分不清!

    【Milk-V Duo S 开发板免费体验】SDK编译、人脸检测OpenCV测试

    【Milk-V Duo S 开发板免费体验】SDK编译、人脸检测OpenCV测试 本文介绍了 Milk-V Duo S 开发板实现 Buildroot SDK 镜像编译、基于 TDL 模型的人
    发表于 07-11 13:48

    基于LockAI视觉识别模块:手写数字识别

    前准备 **请确保你已经下载了 **凌智视觉模块手写数字分类模型 5.2 运行过程 在凌智视觉模块输入以下命令: chmod 777 Test-DigitHandRecog # 调用摄
    发表于 06-30 16:45

    基于LockAI视觉识别模块:C++目标检测

    是基于百度飞桨深度学习框架开发的一个高效的目标检测库,支持多种先进的目标检测模型,如 YOLO 系列、SSD、Faster R-CNN、Mask R-CNN 等。它提供了简单易用的接
    发表于 06-06 14:43

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    : 一、机器人视觉:从理论到实践 第7章详细介绍了ROS2在机器视觉领域的应用,涵盖了相机标定、OpenCV集成、视觉巡线、二维码识别以及深度学习目标
    发表于 05-03 19:41

    快速部署!米尔全志T527开发板的OpenCV行人检测方案指南

    本文将介绍基于米尔电子MYD-LT527开发板(米尔基于全志T527开发板)的OpenCV行人检测方案测试。摘自优秀创作者-小火苗 一、软件环境安装1.在全志T527开发板安装OpenCV
    发表于 04-11 18:14

    ​VLM(视觉语言模型)​详细解析

    视觉语言模型(Visual Language Model, VLM)是一种结合视觉(图像/视频)和语言(文本)处理能力的多模态人工智能模型,能够理解并生成与
    的头像 发表于 03-17 15:32 7617次阅读
    ​VLM(<b class='flag-5'>视觉</b>语言<b class='flag-5'>模型</b>)​详细解析

    英飞凌边缘AI平台通过Ultralytics YOLO模型增加对计算机视觉支持

    对计算机视觉支持,扩大了当前对音频、雷达和其他时间序列信号数据的支持范围。在增加这项支持后,该平台将能够用于开发低功耗、低内存的边缘AI视觉
    的头像 发表于 03-11 15:11 660次阅读
    英飞凌边缘AI平台通过Ultralytics YOLO<b class='flag-5'>模型</b>增加对计算机<b class='flag-5'>视觉</b>的<b class='flag-5'>支持</b>

    使用OpenVINO™模型OpenCV进行人脸检测检测到多张人脸时,伺服电机和步入器电机都发生移动是为什么?

    使用OpenVINO™模型OpenCV* 进行人脸检测。 使用 cv2.矩形 函数,能够获取检测到的面部的坐标。 检测到多张人脸时,多
    发表于 03-07 06:35

    OpenVINO™ Toolkit中如何保持模型稀疏性?

    OpenVINO™ Toolkit 中支持的优化方法,保持模型稀疏性。
    发表于 03-06 06:47

    LabVIEW使用Vision视觉进行硬币分类计数

    LabVIEW使用Vision视觉进行硬币分类计数,有偿,带价加q:3430396759
    发表于 12-29 20:20

    AI模型部署边缘设备的奇妙之旅:目标检测模型

    ,目标物体周围复杂的背景信息可能会干扰分类结果,使得分类器难以专注于真正重要的区域。 在深入探讨了图像分类任务及其面临的挑战之后,我们现在将目光转向一个更为复杂的计算机视觉问题——目标
    发表于 12-19 14:33

    AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV

    识别、分类、跟踪、场景重建等。这可能涉及到机器学习和深度学习模型的应用。 简而言之,图像处理是计算机视觉的基础,提供了必要的工具和技术来预处理和优化图像数据;而计算机视觉则是在此基础之
    发表于 12-14 09:31