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

    文章

    922

    浏览量

    54724
  • 视觉模型
    +关注

    关注

    0

    文章

    6

    浏览量

    6911
  • OpenCV
    +关注

    关注

    29

    文章

    623

    浏览量

    41202

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

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

收藏 人收藏

    评论

    相关推荐

    视觉检测是什么意思?机器视觉检测的适用行业及场景有哪些?

    在快速迭代的工业世界中,机器视觉检测以其精准、高效的力量,已成为众多产业不可或缺的技术支持。本文将深入探讨机器视觉检测的含义、应用行业及具体
    的头像 发表于 08-30 11:20 243次阅读

    opencv图像识别有什么算法

    OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,提供了大量的图像处理和计算机视觉相关的算法。以下是一些常见的Ope
    的头像 发表于 07-16 10:40 687次阅读

    opencv-python和opencv一样吗

    不一样。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它提供了大量的图像和视频处理功能。OpenCV
    的头像 发表于 07-16 10:38 840次阅读

    opencv的主要功能有哪些

    OpenCV提供了丰富的图像处理功能,包括图像的读取、显示、保存、转换等。此外,OpenCV支持图像的滤波、边缘检测、形态学操作、图像金字塔等高级图像处理技术。 特征
    的头像 发表于 07-16 10:35 1204次阅读

    什么是机器视觉opencv?它有哪些优势?

    机器视觉(Machine Vision)是一种利用计算机和图像处理技术来模拟人类视觉系统的功能,实现对图像的识别、分析和理解的技术。OpenCV(Open Source Computer
    的头像 发表于 07-16 10:33 587次阅读

    人脸检测模型的精确度怎么算

    检测是计算机视觉领域的一个重要研究方向,其目的是在图像或视频中快速准确地定位人脸的位置。人脸检测模型通常包括两个主要步骤:人脸候选区域的生成和人脸的
    的头像 发表于 07-04 09:14 400次阅读

    人脸检测模型有哪些

    人脸检测是计算机视觉领域的一个重要研究方向,它涉及到从图像或视频中检测出人脸的位置和大小。随着深度学习技术的发展,人脸检测模型的性能得到了显
    的头像 发表于 07-03 17:05 851次阅读

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

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

    视觉检测设备的分类

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

    itop-RK3588开发板机器视觉开发OpenCV-Python的安装

    itop-RK3588开发板机器视觉开发OpenCV-Python的安装
    的头像 发表于 01-26 15:18 4007次阅读
    itop-RK3588开发板机器<b class='flag-5'>视觉</b>开发<b class='flag-5'>OpenCV</b>-Python的安装

    如何在 NVIDIA TensorRT-LLM 中支持 Qwen 模型

    背景介绍 大语言模型正以其惊人的新能力推动人工智能的发展,扩大其应用范围。然而,由于这类模型具有庞大的参数规模,部署和推理的难度和成本极高,这一挑战一直困扰着 AI 领域。此外,当前存在大量支持
    的头像 发表于 12-04 20:25 870次阅读
    如何在 NVIDIA TensorRT-LLM <b class='flag-5'>中支持</b> Qwen <b class='flag-5'>模型</b>

    OpenCV4.8+CUDA+扩展模块支持编译指南

    OpenCV4.8+CUDA+扩展模块支持编译指南
    的头像 发表于 11-30 16:45 857次阅读
    <b class='flag-5'>OpenCV</b>4.8+CUDA+扩展模块<b class='flag-5'>支持</b>编译指南

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

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

    基于OpenVINO+OpenCV的OCR处理流程化实现

    预处理主要是基于OpenCV、场景文字检测与识别基于OpenVINO框架 + PaddleOCR模型完成。直接按图索骥即可得到最终结果。 OpenCV预处理主要是完成偏斜矫正、背景矫正
    的头像 发表于 11-07 11:21 688次阅读
    基于OpenVINO+<b class='flag-5'>OpenCV</b>的OCR处理流程化实现