精华内容
参与话题
问答
  • OpenCV 3和Qt5计算机视觉应用开发_源码 OpenCV 3和Qt5计算机视觉应用开发_源码
  • 智能制造中的计算机视觉应用瓶颈问题. 中国图象图形学报, 25(7): 1330-1343.) [DOI: 10.11834/jig.190446【太长看不下去只读摘要,请看下面两段就好】计算机视觉在智能制造工业检测中发挥着检测识别和定位分析的...
    aa95e4426b6745e2fd7b97ac72ef793d.png

    本文摘自于:雷林建, 孙胜利, 向玉开, 张悦, 刘会凯. 2020. 智能制造中的计算机视觉应用瓶颈问题. 中国图象图形学报, 25(7): 1330-1343.) [DOI: 10.11834/jig.190446

    【太长看不下去只读摘要,请看下面两段就好】计算机视觉在智能制造工业检测中发挥着检测识别和定位分析的重要作用,为提高工业检测的检测速率和准确率以及智能自动化程度做出了巨大的贡献。然而计算机视觉在应用过程中一直存在技术应用难点,其中3大瓶颈问题是:
    • 计算机视觉应用易受光照影响
    • 样本数据难以支持深度学习
    • 先验知识难以加入演化算法
    本文针对计算机视觉应用存在的3大瓶颈问题总结分析了问题现状和已有解决方法。经过深入分析发现:
    • 针对受光照影响大的问题,可以通过算法和图像采集两个环节解决;

    • 针对样本数据难以支持深度学习的问题,可以通过小样本数据处理算法和样本数量分布平衡方法解决;

    • 针对先验知识难以加入演化算法的问题,可以通过机器学习和强化学习解决。

    【正文部分】

    1 智能制造中的计算机视觉发展现状及需求

    1.1 智能制造中的计算机视觉发展现状

    计算机视觉的发展主要经历了4个阶段,第1阶段称为计算视觉,第2阶段是主动和目的视觉,第3阶段是分层3维重建理论,第4阶段是基于学习的视觉,如图 1所示。e97cc9fbf7e0d438818ffd03597add6f.png计算机视觉发展的4个阶段具体到智能制造业的应用,工业检测是计算机视觉应用的主要方向。由于生产中不可避免会产生缺陷和误差,导致部件或者产品出现残次品。因此,在流水线后端需要检测环节。目前大多采用人工检测方法或是自动化程度不高的机器方法,这导致原本效率提高的流水线因为检测环节再次缓慢下来。

    ea068241852c7f267de3134b34026d6b.png

    因此计算机视觉检测技术在智能制造工业检测领域的应用至关重要。目前各类相关研究非常广泛,大到汽车制造业中的汽车车身视觉检测,小到轴承表面缺陷检测表 1给出了基于图像的轴承故障诊断的计算机视觉方法。表 1 轴承故障诊断的计算机视觉方法对比
    Table 2 Comparison of computer visual methods for fault diagnosis of bearing
    方法平均故障识别率/%特点
    基于加权FCM(fuzzy C-means)算法(隋文涛,2011)97.50故障识别率无法提高,但鲁棒性高。
    基于学习的深度信念网络分类识别算法(李巍华等,2016)97.5840%可以达到99.0%识别率,易出现效果极差的情况。

    24010176d47a8360112d6c9c36632d14.png

    1.2 智能制造对计算机视觉技术的发展需求

    智能制造业中涉及大量检测环节,如缺陷检测形变检测纹理检测尺寸检测等。计算机视觉技术作为检测领域目前最有效的方法之一,必然会在工业检测的应用中掀起一场革命性的制造模式大转变。它能再一次解放劳动力,大幅度提高制造业的生产效率,降低生产成本,减少生产环节,促使生产线全自动化的形成。但目前计算机视觉在智能制造工业检测领域的实际应用存在诸多瓶颈问题尚未解决,其中3个关键的瓶颈问题值得研究讨论。1) 实际智能制造业环境复杂、光源简单,容易造成光照不均匀,难以解决图像质量受光照影响大的问题。在检测领域的实际应用中,由于工业场地环境变化的不确定性,会使计算机视觉的图像采集环节受到影响。在工业检测中,检测的通常都是流水线上一致性很高的产品,需要检测的缺陷通常也是相对微小的,因此对图像的要求较高。除了保证相机的各参数一致以外,还需要控制环境因素的影响,这是工业检测中特有的控制因素之一。由于环境变化随机性大,使得控制光照成为智能制造检测领域的计算机视觉关键瓶颈问题。2) 实际智能制造业中获取万级以上的平衡样本数据代价较大,难以解决样本数据不是以支持基于深度学习的计算机视觉检测任务的问题。在所有学习方法中,样本数据是最重要的因素之一。尤其是深度学习,往往需要非常大量的样本才能达到比较优异的检测效果。在一定数量级(欠学习)之内,样本和检测效果甚至成正比关系。而在智能制造业,样本数据的采集却是一大问题。因为企业追求利益,无法像做研究一样顺利进行样本数据采集,甚至有些产品的总产量都达不到深度学习所需的样本数据规模。3) 智能制造业中,计算机判定难以达到专业判定的水准,如何在算法中加入先验知识以提高演化算法的效果是一大难题。如何有效利用先验知识,降低深度学习对大规模标注数据的依赖,成为目前业内的主攻方向之一。由于先验知识的形式多变,如何与深度学习有效结合是一大难点。具体到工业检测领域,问题更加严峻,在需要解决上述问题的同时,还需要考虑如下难点:如何将比普通先验知识更复杂的工业检测专业知识转化为知识图谱等形式融入算法;如何建立工业检测先验知识的规范化、标准化和统一化;如何通过已有产品的先验知识推测知识库未收录的其他类似产品的先验知识

    2 智能制造中计算机视觉应用易受光照影响的问题

    2.1 受光照影响大的问题概述

    工业检测不同于其他检测领域,不同工业产品的检测通常也在不一样的环境中进行。一般来说,工业产品的生产过程在开放式的车间或者仓库环境中进行,自然采光差、光来源复杂、光照设备不专业是普遍存在的问题,加之智能制造领域对于检测的正确率和速率有着更为严苛的要求,光照控制作为提升识别率的重要途径需要更好的技术加持。6c4d5e67120ea039b80a290dd7d60bc2.png对于大型智能制造工业现场,开放式的复杂工作环境容易造成拍摄图像的过程中光照强度的大范围变化。相比之下,小型工业现场的自然光照等其他干扰较小,但小型产品的检测精细度更高,对于光照稳定性的要求也随之提高,控制光照的难度反而更高。实验室稳定光照条件下获得的样本数据集训练出的模型并不能在工业现场取得很好的检测效果。不仅光照条件的苛刻性使得智能制造中的计算机视觉应用难度增加,而且智能制造领域对准确率的要求也更为严苛。因此,如何控制光照均匀性是目前一大瓶颈问题。

    2.2 受光照影响大的解决方法

    目前智能制造工业检测领域计算机视觉中的光照问题研究大多从算法上入手。如基于Retinex的X光非均匀钢丝绳芯输送带图像校正和增强算法提出了一种基于机器视觉的非均匀光照输送带图像校正和故障检测算法。基于统计特性的光照归一化方法充分考虑了图像的光照局部性,通过对图像局部的均值和方差进行调节,引入线性插值方法,将对数变换与本文方法结合调整图像的光照,可以很好地进行光照的归一化。工业检测的光照特性变化随机,而此法可根据图像的特性动态调整,具有可用性。智能制造工业检测领域中需要相机拍摄图像以进一步通过计算机视觉技术完成处理分析,因此在图像采集环节对光照加以控制是另一种常用方法。它的特点是可以避免复杂的算法实现,但会增加硬件成本和复杂度。在针对某物体的图像采集过程中,相机、镜头的配置会直接影响成像的效果,通过调试可确定最优的相机、镜头配置。同时,外加光源可以有效地减弱环境光对图像采集的干扰,保证一系列图像的稳定性,也能调整得到适合工业检测的特定光照。视觉获取的最优情形以及以光源和相机为主体的光照协调技术把相机和光源作为一个整体加以协调,利用交替法优化配置最优光照和相机位置,使得在当前环境下的图像具有较高的平均亮度和对比度。此方法能提高样本图像数据的质量,使光照的会聚指数上升约0.15 %,但也使得采集图像的复杂度上升。数字摄像机参数自适应调整算法用以提高机器视觉系统对光照变化的鲁棒性,它能根据外界环境的光照条件,在线调整数字摄像机的参数和设置,以采集像素灰度在预设值范围内的图像,有效减弱了光照变化对图像灰度的影响,缺点在于实时调整对相机和调整算法的要求都很高,很难保证长时间精准实现,易丢失实时性。

    3 智能制造中计算机视觉应用的样本数据难以支持深度学习的问题

    3.1 样本数据难以支持深度学习的问题概述

    智能制造工业检测中,除传统的模板匹配方法,目前更主流的是基于深度学习的方法。因工业检测的高准确率需求,有监督的深度学习能满足要求。有监督的深度学习的一大特点是需要已知类别标签的训练图像数据集,这个训练集理论上包含的数据量越大,检测的效果越好。但结合工业检测的实际场景,难以采集这么大的样本数据量。另外,制造行业中缺陷品的数量远远少于合格品,随机获取的训练集样本将存在样本分布不平衡的问题。即使在大样本数据二分类问题中,样本分布也应该尽量做到每类占比50 %。

    9b96dc9081221a23f36155c224b86dd9.png

    在智能制造领域,获取样本图像数据的方法有两种,一种是在流水线作业时在线采集,另一种是样本摆拍的离线采集在流水线作业时在线采集的优势在于不影响工业生产即可完成样本图像数据的采集,图像数据来自于工业现场,并且可采集最大等同于生产数量的样本图像数据集。但问题在于样本类别按合格率分布,缺陷品的样本图像将远远小于合格品,样本分布不平衡。其次工业现场的拍摄环境无法保证,容易造成样本图像的质量不一,影响训练效果。相对地,样本摆拍的离线采集模式的优点是可控的样本分布,人工控制各类别的样本数量分布一致;可控的实验室拍摄环境,可以保证得到高质量的样本图像。缺点也很明显,收集样本需花费大量时间,拍摄耗时耗力,训练模型不一定能适用于工业现场检测,短时间内无法得到大样本图像数据集。因此,样本数据由于量小、不平衡难以支持深度学习,成为目前的一大瓶颈问题。

    3.2 样本数据难以支持深度学习的解决方法

    智能制造检测领域的样本数据存在难以获取大量有效样本数据的问题, 以及难以获取各类样本数量分布平衡的样本数据集的问题。难以获取大量有效样本数据的问题可以转化为针对小样本数据如何取得良好检测分类效果的问题,主要方法如表2所示。表 2 利用小样本数据检测分类的方法
    Table 3 Methods for detection classification using small sample data
    方法基本思想特点
    基于微调(fine tune)的方法基于一个已经被训练过的基础网络,根据现有的小样本数据对这个网络进行微调,使其在特定数据域上效果更好。需要利用原先大样本数据训练好的模型并结合特定小样本进行参数微调,速度较快,能提升此特定领域预测效果。
    基于度量(metric)的方法对样本间的距离分布进行建模,使同类样本聚合,异类分离。本质是基于小样本的分类器,通过距离或其他参数进行分类,学习快速,泛化能力强,收敛能力较弱。
    基于元学习(meta learning)的方法从之前的学习学会如何学习,对于新的任务不必从零开始,而是根据一定的元数据,自动学习如何解决新的任务。灵活性强,泛化能力强,利用少量样本即可解决新的学习任务,需要更大的时间成本训练出学习模型。
    基于图神经网络(graph neural network, GNN) (Garcia和Bruna,2018)的方法用图的形式构建了神经网络,把样本看做节点,通过节点彼此间的连接做到信息扩散,可以把有标签的样本信息扩散到与之最相似的需要预测的样本上。本质上是基于度量的方法,mini-ImageNet上5分类准确率大约在95%左右,小样本表现不稳定,应用有待深入。

    针对难以获取各类别样本数量分布平衡的样本数据集有如表 3的解决方法。

    表3 样本分布不平衡的解决方法
    Table 5 Solution to sample distribution imbalance
    方法基本思想特点
    数据增广方法对原图进行多种方法处理,形成稍有差异的图像数据,以补充数据过少或者数据单一的问题。常用方法:色彩抖动、主成分分析(principal components analysis, PCA)抖动、尺度变换、裁剪缩放、平移翻转、旋转仿射、高斯噪声。能扩张数据集的数量,但质量不如原始数据集,并可能产生实际不存在的样本图像,预测效果会下降。
    重采样方法对样本数量大的样本进行欠采样,即删除部分样本;对样本数量小的样本进行过采样,即添加样本的副本。在一定程度缓解了不同类样本数量差距悬殊的问题,但降低了数据集质量,增加了训练的误差,训练的效果不理想。
    SMOTE(synthetic minority over-sampling technique)(Chawla等,2002)本质上是过采样,构造新的小类样本,新样本不是原始样本的副本或增广,而是从小类样本中的两个或多个相似样本选择一个样本,从邻近的其他样本中选择一个属性添加到这个样本上形成。属性一般是某种特征,产生的样本质量比样本副本和增广质量高很多,但非常容易产生实际不存在的样本,不具有很强的应用性,无法保证属性之间的线性关系。
    研究结果表明,目前样本数据难以支撑深度学习的问题主要包括样本数据量小和样本数据不均衡,对于这两个问题的方法已有如上所述的研究体系和方法。此类样本数据处理算法都是针对样本的数量而不是样本的内容,因此在智能制造的工业检测领域,使用上述方法调整样本数据是完全可行的。

    4 智能制造中计算机视觉应用的先验知识难以加入演化算法的问题

    4.1 先验知识难以加入演化算法的问题概述

    计算机视觉在智能制造中的应用本质上是一种基于数据的方法,但在工业检测领域难以获取大量均匀的样本数据,因此研究者们提出将先验知识加入计算机视觉算法中以期获得更好的检测效果。应用基于先验知识的方法,在训练阶段可以配合样本进行训练,提高模型参数的准确性,降低学习难度,利于训练过程的收敛,从而提高预测的准确度。在预测阶段,能通过先验知识对判定结果的校正,提高准确率,也能提升检测速度,避免偶然误差的产生。ddafbae385bcd3613ef97f4016b45069.png目前先验知识难以加入演化算法,更难以指导机器学习和深度学习等算法,并且也有很多需要解决的瓶颈问题。例如,如何将知识图谱这种主要知识表示形式用于指导深度神经网络;如何用自然语言指导强化学习中的智能体快速准确地理解学习;如何将迁移学习作为知识结合进强化学习;如何通过领域知识将强化学习方法应用到工业检测中等。

    4.2 先验知识无法支持演化算法的解决方法

    针对如何将先验知识应用到学习中以及以何种形式应用的问题,目前有如下的研究和方法。一种是将样本的紧密度信息作为先验知识应用到支持向量机的构造中。通过对紧密度的置信度进行建模,通过模糊连接度可以将支持向量与含噪声样本进行区分。此方法能够得到具有更好抗噪性能及分类能力的支持向量机,通过将样本的紧密度信息作为先验知识,不仅考虑到样本类间中心距离,还考虑了样本与类内其他样本的关系,通过模糊支持向量机加以区分。在工业检测领域,缺陷样本和正常样本本身差距就不大,若能将样本的紧密度信息加入训练,将有助于提升训练效果,能够更加准确地分离小缺陷、弱缺陷样本。宣冬梅等给出了两种将先验知识与深度学习模型融合的方法。第1种实质上将深度学习得到的输出作为给定样本的条件概率,即加先验知识的随机深度学习分类器(random deep learning classifier with prior knowledge, RPK)。第2种加入一个参数用以调整先验知识的稀疏性,即加先验知识的确定型深度学习分类器(deterministic deep learning classifier with prior knowledge, DPK)。这两种方法得到的分类器都能更好地预测结果。但这两种方法在多分类任务的识别率上不够高,只能精确地进行二分类任务。两者都是在深度学习模型框架之内加入了以矩阵形式存在的先验知识,这些先验知识可以是任何可矩阵化形式的内容。在智能制造工业检测领域,诸如用于检测轴承缺陷的神经网络参数可作为用于检测圆形注塑件的先验知识矩阵。另外,基于知识的强化学习在先验知识应用中有着较大的优势。此类方法在分析预测方向有较好的表现,因此在工业检测领域有巨大的发展前景。表4给出了4种典型方法。表4 基于知识的强化学习方法
    Table 6 Knowledge-based reinforcement learning method
    方法特点典型实例
    专家指导将专家引入到强化学习的智能体学习回路中,为智能体提供强化信号,而后通过监督学习对该信号进行建模。Knox和Stone(2009)提出的TAMER框架通过专家做的决策动作预测长远的收益,填补了智能体自主学习无法预测深层利益的弊端。
    回报函数指导将先验知识或过程经验用以指导设计回报函数的方法,使回报函数更加科学和有助于收敛,如何准确地指导设计是其中的关键(Mataric,1994)。Randløv和Alstrøm(1998)教会系统学习骑自行车,证明了此方法的有效性;Ng等人(1999)利用回报势函数衡量回报函数偏差,以衡量指导设计是否有效,使得80%的搜索具有目的性,仅20%是随机的,在缺乏领域知识的情况下,仍然无法保证回报函数是否设计合理。
    搜索策略指导在搜索策略中引入知识以提高探索能力,根据领域知识对Simhash函数输入的特征进行筛选,对权重进行修改可提高学习能力(Tang等,2017)。Bianchi等人(2008)提出了定量的启发式信息选择动作函数,使千量级的搜索过程降低到100步之内,但未给出函数权重值的取值依据和方法。
    模仿学习通过模仿一批人类专家的决策轨迹数据解决强化学习任务中多步决策搜索空间巨大的问题。Guo等人(2014)提出了蒙特卡罗树搜索加神经网络的方法,进行模仿学习策略,此方法能通过分类或回归学习符合人类专家决策轨迹的策略模型,但却因为通过拖慢节奏比实时慢几个数量级而带来较大的时间开销。

    上述研究结果表明,在先验知识和深度学习结合的过程中,形成了基于知识的强化学习理论,它的诞生也进一步验证了先验知识在演化算法中应用的有效性,这为通过先验知识提高智能制造工业检测效果提供了一个重要方向。

    5 结语

    随着计算机视觉在智能制造领域的深入,它涉及的应用将更多更广,发挥的作用也越来越大。从理论到应用的这一过程中遇到了很多瓶颈问题,如何克服这些难点以及探索更实用的解决方案将是下一阶段需要着重开展的研究工作。目前针对3个瓶颈问题的研究方法众多,可从如下思路进一步研究:
    • 1) 针对计算机视觉应用易受光照影响的问题,可设计黑箱式封装的图像采集设备,排除外界光照干扰,安装在工业生产线上,从而达到实验室级别的检测环境,从根本上解决光照影响问题。

    • 2) 针对计算机视觉应用中样本数据难以支持深度学习的问题,可通过小样本和不平衡样本处理方法在不降低样本数据质量的同时增大样本数据量,并且结合传统方法如模板匹配和相似度检测来辅助增加检测准确率。

    • 3) 针对计算机视觉应用中先验知识难以加入演化算法的问题,除了从训练和预测阶段入手,在决策的判断上也可做基于先验知识的判定。如在合格率较高的零件检测中,一些不常见的错误判定可以根据先验知识修改为正确判定,从而提高准确率。

    推荐阅读

     ?行业研究

    【行业】机器视觉行业研究:千亿蓝海大有可为!

    【行业】2020最具产业价值的7个AI领域:机器视觉、智能语音交互、NPL等

    【行业】2020年中国机器视觉发展前景分析

    【行业】阿里犀牛工厂—“新制造”的野心,究竟要和谁竞争?

    【行业信息】小米“智能工厂”来了,1秒生产1台手机

    【行业信息】浅谈计算机视觉技术进展及其新兴应用

    【行业信息】机器视觉应用大盘点

    【行业信息】十种主流的AGV导航方式,你知道几种?

    【行业信息】我国马铃薯生产机械化该走怎样的发展之路?

     ?视觉应用及论文

    【视觉】轨道病害视觉检测:背景、方法与趋势

    【视觉】机器视觉表面缺陷检测综述(上)

    【视觉】机器视觉表面缺陷检测综述(中)

    【视觉】机器视觉表面缺陷检测综述(下)

    【视觉】小姐姐为你介绍计算机视觉的5大应用

    【视觉】7个技巧助你提高图像识别模型准确率

    【视觉】一种散乱堆放物体的位姿估计算法

    【视觉】卷积神经网络及其在图像处理中的应用

    【视觉】Oculus Quest VR的手部追踪技术细节

    【视觉】先进驾驶辅助系统中基于单目视觉的场景深度估计方法

    【视觉】采用空间投影的深度图像点云分割

    【视觉】3D视觉技术,已经悄悄走进你的生活

    【视觉】先进驾驶辅助系统中基于单目视觉的场景深度估计方法

    【视觉】煤矸智能分选的机器视觉识别方法与优化

    【视觉】上海交大提出少样本图像生成新方法F2GAN

    【视觉知识】基于机器视觉的水果品质检测综述

    【视觉知识】无需模板匹配的刹车片表面缺陷图像检测方法

    【视觉知识】基于机器视觉的奶牛发情行为自动识别方法

    【视觉知识】TOF 3D视觉技术

    【视觉知识】机器人视觉3D成像方法与特点

    【科技讯息】基体感检测器件的悬浮光场显示触觉交互方法

    【科技讯息】基于迭代式自主学习的三维目标检测

    【科技讯息】用机器视觉技术查水表

    【科技讯息】采用机器视觉与自适应卷积神经网络检测花生仁品质

    【科技讯息】一种可连续变倍双远心系统设计及其凸轮曲线分析

    【科技讯息】用机器视觉技术实现扶梯的自动急停

    【视觉知识】深度学习在3D形状分类中的应用

     ?图像采集及处理

    【视觉知识】图像采集

    【视觉知识】光与被测物之间的相互作用

    【视觉知识】利用光谱助力图像采集

    【视觉知识】为什么我们需要镜头?

    【视觉知识】高斯光学,理想的光学系统

    【视觉知识】理想光学系统的物像关系式

    【视觉知识】聊聊关于景深的那些事情

    【视觉知识】为什么我们需要远心镜头?

    【视觉知识】去买眼镜和镜头时,你了解过像差吗?

    【视觉知识】你了解CCD传感器吗?

    【视觉知识】你了解CMOS传感器吗?

    【视觉知识】全局快门和卷帘快门有什么区别?

    【视觉知识】摄像机-计算机接口

    【视觉知识】传感器尺寸

    【视觉知识】摄像机怎么获得彩色图像

    【视觉知识】激光三角测量方法

    【视觉】Opencv 图像的加载,显示和保存

    【视觉知识】白平衡

    【视觉知识】Gamma曲线矫正

    【视觉知识】机器人视觉系统类型简述

    【视觉知识】用canny进行轮廓提取

    【视觉知识】极坐标的转换

    【视觉知识】几何变换

    【视觉知识】在图像中寻找线-Hough变换

    【视觉知识】图像预处理-形态学

    【视觉知识】相机标定原理及opencv相机标定使用

    【视觉知识】深度学习在3D形状分类中的应用【视觉知识】图像处理-harris角点检测

    【视觉知识】检测关键点的SIFT算法

    【视觉知识】边缘检测中的索贝尔算子

    【视觉知识】视觉检测图像拼接融合技术简介

    【视觉知识】图像差分求导

     ?科普知识

    【科普知识】神经网络发展简史:从浅层神经网络到深度学习

    【科普知识】鹰的眼睛到底有多强?

    【科普知识】你真的明白机器人的“几轴”吗?

    声明:部分图片及内容来源于网络。仅供读者学习交流之目的,如有不妥,请联系删除。

    6a54e72513bddb06a307b5ab47bbb1a0.png

    我知道你在看

    f69e5a8804ef214e18c7bc379820f5e4.png
    展开全文
  • 上一篇文章,我们讲解了边缘梯度计算函数,这篇文章我们来了解图像...图像金字塔被广泛用于计算机视觉应用中;图像金字塔是一个图像集合,集合中所有的图像都源于同一个原始图像,而且是通过对原始图像连续降采样获得的
  • OpenCV 3和Qt5计算机视觉应用开发 英文版 mobi版 其他版本可以通过calibre软件自行转换
  • 探索5个最热门的计算机视觉应用程序 使用计算机视觉进行姿态估计 使用Gans进行图像转换 开发社交距离工具的计算机视觉 将2D图像转换为3D模型 医学图像分析 介绍 我10年前开始使用Facebook。同样,如果你使用了很...

    作者|SHIPRA SAXENA 编译|Flin 来源|analyticsvidhya

    总览

    • 计算机视觉是一种允许数字世界与现实世界互动的技术。

    • 探索5个最热门的计算机视觉应用程序

      • 使用计算机视觉进行姿态估计
      • 使用Gans进行图像转换
      • 开发社交距离工具的计算机视觉
      • 将2D图像转换为3D模型
      • 医学图像分析

    介绍

    我10年前开始使用Facebook。同样,如果你使用了很长时间,则必须记住手动标记照片的方法。但是现在我们不用手动标记这些图片了。Facebook可以识别上传图片中的大多数人,并提供标记他们的建议。同样,你肯定已经在Snapchat上看到了那些有趣的过滤器,在其中,人们使用了狗过滤器并获得了狗的脸。你有没有想过这一切是怎么办到的?我们的手机如何能够检测到我们的面部并在上面添加滤镜?这其实是一些计算机视觉应用程序。

    计算机视觉是数据科学世界中最热门的研究领域之一。而且,它已经成为我们个人生活的一部分。我们都知道或不知道地使用各种功能,这些功能在后端运行计算机视觉技术。例如,我们在智能手机中使用面部解锁。下图有效地说明了人脸检测的工作原理。

    我选择人脸检测作为本文的开头,因为我们都已经看到这是计算机视觉的一种应用。但是请相信我,计算机视觉不仅限于此。在本文中,你将探索计算机视觉的更多有趣应用。

    如果你想精通计算机视觉,请查看我们的课程《使用深度学习2.0的计算机视觉》。

    目录

    • 什么是计算机视觉?
    • 使用计算机视觉进行姿态估计
    • 使用Gans进行图像转换
    • 开发社交距离工具的计算机视觉
    • 将2D图像转换为3D模型
    • 医学图像分析

    什么是计算机视觉?

    在进入计算机视觉应用程序世界之前,首先,让我们了解一下计算机视觉是什么?简而言之,计算机视觉是人工智能的一个多学科分支,旨在复制人类视觉的强大功能。

    如果是正式定义,

    “计算机视觉是一种实用工具,可以根据感知到的图像对实际的物理对象和场景做出有用的决策”(Sockman&Shapiro,2001)

    计算机视觉通过诸如图像分类,对象检测,图像分割,对象跟踪,光学字符识别,图像字幕等视觉识别技术来工作。我知道这些是很多技术术语,但理解它们并不难。只需看下面的图片,你就会了解许多这些术语。

    让我们从第一张图片开始。如果我问你图片中有什么?你的答案将是,它是一只猫。这其实是对图片进行了分类。这意味着基于图像的分类标记图像。这里的类别是“猫”。

    现在你知道图像的类别了。下一个问题是对象在图像中的位置。当我们确定对象在框架中的位置并在其周围创建一个边界框时,这称为定位。在第二张图像中,我们已经确定了对象的位置并将其标记为猫。

    下一项是对象检测。在前两种情况下,图像中只有一个对象,但是如果存在多个对象该怎么办。在这里,我们通过边界框确定存在的实例及其位置。

    在对象检测中,我们使用形状为正方形或矩形的边界框,但是它不能告诉任何有关对象形状的信息。实例分割会在每个对象周围创建一个像素级蒙版。因此,实例分割使人们对图像有了更深入的了解。

    如果你想了解有关Computer Vision的更多信息,请查看以下资源:

    近期发展

    深度学习方法的最新发展和技术的进步极大地提高了视觉识别系统的功能。结果,计算机视觉已被公司迅速采用。可以在整个工业领域看到成功的计算机视觉用例,从而扩大了应用范围,并增加了对计算机视觉工具的需求。

    现在,让我们一起来看看计算机视觉的5个令人兴奋的应用程序。

    使用计算机视觉进行姿态估计

    姿态估计是计算机视觉的一个很有趣的应用。你一定已经听说过Posenet,它是用于人体姿态估计的开源模型。简而言之,姿态估计是一种计算机视觉技术,可以推断图像/视频中存在的人或物体的姿势。

    在讨论姿态估计的工作之前,让我们首先了解“人体姿势骨架”。它是定义一个人的姿势的一组坐标。一对坐标称为肢体。此外,通过识别,定位和跟踪图像或视频中人类姿势骨架的关键点来执行姿态估计。

    以下是人体姿态估计的一些应用-

    • 用于实时体育分析或监视系统的活动识别。
    • 增强现实体验
    • 训练机器人
    • 动画和游戏

    如果你想自己开发一个姿态估计模型,下面是一些可能用到的数据集:

    我发现Google的DeepPose(https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/42237.pdf) 是一篇非常有趣的研究论文,使用深度学习模型进行姿态估计。若要进行更深入的研究,你可以访问有关姿态估计的多个研究论文(https://paperswithcode.com/task/pose-estimation)

    使用Gans进行图像转换

    Faceapp是一个非常有趣和流行的应用程序。它是一种图像处理工具,可使用滤镜转换输入图像。过滤器可能包括老化或最近的一个性别交换过滤器。

    看上面的图片,有趣吗?几个月前,这是互联网上的热门话题。人们在交换性别后分享图片。但是这类应用程序背后的技术是什么?是的,你猜对了,它是计算机视觉,更具体地说,它是一个深层次的卷积生成的对抗性网络。

    生成对抗网络,俗称GAN,是计算机视觉领域的一项令人振奋的创新。尽管GAN是一个古老的概念,但目前的形式是由Ian Goodfello在2014年提出的。从那以后,它有了许多发展。

    GAN的训练涉及两个相互竞争的神经网络,根据给定训练数据的分布生成新的数据。尽管最初提出作为一种无监督学习机制,但是GAN证明了自己是有监督学习和半监督学习的理想选择。

    要了解有关Gans工作的更多信息,请查看下面的文章。

    以下是我个人推荐的一些有关GAN的必读研究论文

    以下是一些数据集,可帮助你获得GANs的实践经验

    应用领域

    使用Gans生成的图像的应用程序有很多。以下是它的一些应用程序

    • 风格迁移和照片修复中的图像到图像翻译
    • 图像超分辨率
    • 文字到图像的生成
    • 图片编辑
    • 语义图像到照片的翻译

    如果你发现更有趣的内容,请留言告诉我。

    开发社交距离工具的计算机视觉

    在过去的几个月中,世界正遭受大流行COVID-19的困扰。发现在没有该疾病的疫苗之前,我们所有人都必须采取预防措施,使用洗手液,口罩,最重要的是保持社交距离。

    在这种关键情况下,计算机视觉技术可以发挥至关重要的作用。它可用于跟踪房屋或特定区域中的人员,以了解他们是否遵守社会距离规范。

    社交距离工具是对象检测和实时跟踪的应用程序。在这种情况下,为了检查社交距离违规行为,我们使用边界框检测视频中存在的每个人。稍后,我们跟踪框架中每个框的运动并计算它们之间的距离。如果它检测到任何违反社会距离规范的行为,则将突出显示那些边界框。

    此外,为使这些工具更先进,更准确,你可以使用迁移学习技术。各种预训练的对象检测模型(如YOLO或Mask R-CNN)也都存在。

    以下文章可帮助你自己创建社交隔离工具

    将2D图像转换为3D模型

    这是计算机视觉的另一个非常有趣的应用。它将二维图像转换为3D模型。例如,假设你有旧收藏中的一张照片,并且能够将其转换为3D模型并像在那儿一样进行检查。

    Deep Mind的研究人员提出了一个在相似的系统上工作的AI系统。它被称为Generative Query Network(生成查询网络),它可以像人类一样从不同角度感知图像。

    此外,Nvidia还开发了一种AI架构,可以根据图像预测3D属性。同样,Facebook AI提供了一种类似的工具,称为3D照片功能。

    以下是一些相关的数据集,可供你进行试验

    另外,请查看这些有趣的论文以了解有关该应用程序的更多信息。

    应用领域

    现在,你必须考虑该技术的用例。以下是其应用

    • 动画与游戏
    • 机器人技术
    • 自动驾驶汽车
    • 医学诊断和外科手术

    医疗保健中的计算机视觉:医学图像分析

    很长一段时间以来,计算机支持的医学图像被用于诊断,如CT扫描、X射线等。此外,计算机视觉技术的最新发展使医生能够通过将图像转换为三维交互式模型来更好地理解这些图像,并使其更易于解释。

    如果我们看一下计算机视觉的最新使用案例,那么我们会发现它是在用胸部x光检查COVID-19病例。此外,根据武汉市放射科的一项研究,深度学习方法可以有效地区分Covid-19和社区获得性肺炎。

    检查一下由Kaggle提供的COVID-19胸部x光数据集,并在实施过程中自己动手。

    同时,如果你想在另一个数据集上工作,那么你也可以在Kaggle上获得CT医学图像(https://www.kaggle.com/kmader/siim-medical-images) 。此外,如果你希望了解更多有关医疗图像处理及其在医疗保健中的应用,请阅读这些研究论文及其实现。

    尾注

    总而言之,计算机视觉是人工智能的一个引人入胜的领域。在本文中,我讨论了一些我发现很有趣的东西。但这只是冰山一角。

    如果你有兴趣知道计算机视觉领域的工作,请阅读以下内容:

    原文链接:https://www.analyticsvidhya.com/blog/2020/07/5-exciting-computer-vision-applications-with-relevant-datasets/

    欢迎关注磐创AI博客站: http://panchuang.net/

    sklearn机器学习中文官方文档: http://sklearn123.com/

    欢迎关注磐创博客资源汇总站: http://docs.panchuang.net/

    展开全文
  • 中国计算机视觉应用专题研究报告2016 ——中国人工智能行业系列研究     2016年,Alpha Go战胜韩国围棋选手李世乭再次引爆了全球对于人工智能的讨论和关注。计算机视觉作为人工智能技术的基础,受到深度学习...

    中国计算机视觉应用专题研究报告2016 ——中国人工智能行业系列研究

     

     

    2016年,Alpha Go战胜韩国围棋选手李世乭再次引爆了全球对于人工智能的讨论和关注。计算机视觉作为人工智能技术的基础,受到深度学习的成功影响在近几年内取得了突破性的进展,正在成为影响行业发展的下一个引擎。巨头纷纷布局,市场也吸引了越来越多的人才创业参与其中。计算机视觉正在成为人工智能最火热的细分领域之一。本报告将针对计算机视觉技术发展的关键节点、市场现状及应用场景进行分析和研究。

     

     
    技术发展及市场现状分析

     

     
    人工智能是一场从终极概念到分级落地的技术演变

     

    • 人工智能(理想):理想的人工智能指的是通过技术创造「类人」的机器,使其具备人的感知能力、表达能力和思考能力。这是继1955年约翰·麦卡锡提出人工智能概念的初衷,但受技术局限目前远不能达到这一目的,其形态更多出现在虚构的影视作品中。
    • 人工智能 (现实):现实的人工智能指的是技术能够训练机器掌握某项「近于人」的能力,将人从最基础最单一的繁杂事务中解放出来,作为工具提高人的生活和工作体验。这是目前学术界和工业界共同努力的方向,伴随技术的发展已经取得了一定的成果。

     

     

     
    人工智能所依赖的基础设施已经就位,但当前仍属于早期阶段

     

    • 1955年人工智能概念诞生
    • 2000年互联网发展进入拐点,数据量开始逐步增长
    • 2012年深度学习算法通过ImageNet比赛中名声大噪,进而被广泛采用
    • 目前GPU芯片/云计算成本被大范围使用;巨头与创业公司开始涌入,探索应用及商业化

     

     
    当前国内人工智能领域产业格局尚未成熟,上中下游均蕴含着不俗的创业空间,但进入门槛较高

     

     
    计算机视觉是机器认知世界的基础,也是最主要的人工智能技术之一

     

    • 信息采集(大数据):计算机识别的图像一类为静态内容,以图片为主;另一类为动态内容,包括视频和实景,其中实景需要利用传感器技术进行采集编码。
    • 特征定位及提取(模型训练):将采集到的信息进行检测、关键点定位及特征提取,给定相应的数据和标签提交到学习平台进行训练,提高识别的精度。
    • 人脸识别 图像识别:经过大量的训练之后,最终计算机给予相应的识别反馈信息,主要有人脸、物体、手势等。目前计算机识别主要停留在感知的表层,未来识别的广度与深度还需要进一步的挖掘。

     

     

     
    2010年-2015年ImageNet ILSVRC大赛冠军团队识别分类的错误率

     

     
    受技术发展影响,计算机视觉正在带动全球新一轮的市场热潮

     

     
    截至2016年第三季度国内计算机视觉创业公司一览

     

     
    国外巨头自研和收购双管齐下布局,将视觉技术广泛应用于自身产品升级,并基于自身基因打造技术服务平台和新品类持续提升影响力


     

     
    国内巨头百度相对激进,阿里巴巴、腾讯基于自身产品进行功能试水

     

     
    技术应用场景及典型厂商分析

     

     
    计算机视觉技术已应用于传统行业和前沿创新,安全/娱乐/营销成最抢先落地的商业化领域

     

     
    计算机视觉的应用从软硬件两个层面优化安防人员的作业效率和深度

     

     
    计算机视觉的应用有效迎合直播平台的前端用户体验和后端监管要求

     

     
    计算机视觉的应用促进视频环境中广告主和用户间交互闭环的落地

     

     
    计算机视觉还将逐步拓展服务和工商业等多重应用场景

     

    • 金融服务场景下刷脸进行身份认证
    • 工业检测屏幕质量
    • 商场租铺分级管理,商场根据客流统计数据在店铺招商过程中可进行科学定价及营销管理
    • 展品陈列,博物馆、展览馆根据展品的人气调整陈列,提前预案
    • 消费引导,识别消费者在货架前的购物行为,可有针对性地推送广告

     

     
    计算机视觉作为基础人工智能技术,与其他技术融合共同推动创新型行业应用的发展

     

    • ADAS/无人驾驶/无人机技术的发展面临的首要问题是对道路上的关键目标物进行有效识别(比如对前方相同大小的垃圾袋和硬石块,系统的反馈应该有所不同),在此基础上才能为驾驶员提供预警或自动做出正确的判断和反应。
    • 计算机视觉是VR/AR技术搭建视觉呈现模型、提供逼真的交互渲染效果的核心基础。
    • 针对癌症、疟疾等病理切片识别的疾病检测,可以有效地缓解医疗资源匮乏、医术水平参差不齐等世界性难题,并提高医者的工作效率。

     

     

     

     

     

     
    行业趋势分析

     

     

    • 当前产业细分程度不足,市场处于早期探索阶段
    • B端需求强于C端,商业模式较为清晰
    • 技术应用场景可复制性较强,拥有自研技术的团队容易享受技术红利
    • 实际应用的价值以提升效率为主,并非取代人类,而是辅助作用,从业者需管理市场预期,耐心培育市场
    • 计算机视觉创业投资成本巨大,行业壁垒高,对行业痛点的洞察以及对产品性价比的控制是影响商业变现的关键因素

     

     

     
    趋势分析

     

    • 人工智能专用的底层软硬件设施(如操作系统、芯片、存储等)是目前的市场缺口,这为垂直厂商和创业公司提供了巨大的市场机会,将会成为新的热点。
    • 与人相比,计算机的识别广度和深度还有巨大的提升空间,因此数据量需求将激增,掌握数据源的厂商将成为争夺的焦点。
    • 预计未来5-10年间将会是行业应用的密集渗透期,这对传统行业的发展进程及组织架构将产生深远的影响。

     

     

    展开全文
  • 机器学习及在计算机视觉应用,浙江大学CAD实验室何晓飞研究员的报告
  • 很多人都能运行操作计算机视觉应用程序。是的,学习并执行它并不难,现在有很多库可以用来执行如此强大的计算机视觉应用程序。 你有没有关注最近有没有看TensorFlow2020峰会?今年,TensorFlow团队发布了很多非常酷...

    本文转载自公众号“读芯术”(ID:AI_Discovery)。

    很多人都能运行操作计算机视觉应用程序。是的,学习并执行它并不难,现在有很多库可以用来执行如此强大的计算机视觉应用程序。

    你有没有关注最近有没有看TensorFlow2020峰会?今年,TensorFlow团队发布了很多非常酷的产品,本文就将介绍如何使用tensorflow.js模型执行计算机视觉应用程序。

    什么是TensorFlow.js?

    TensorFlow.js是一个开源代码库,用于JavaScript中的机器学习应用程序和开发机器学习模型,并直接在浏览器或Node.js中使用机器学习。

    什么是Tensorflow.js模型?

    Tensorflow.js模型是经过预先训练的模型,用户无需为训练模型而准备/收集数据。这些模型托管在NPM(网络性能监控器)和unpkg上,可以应用于任何现成的项目。

    本文将介绍tensorflow.js中的MediaPipeFacemesh模型。该模型是为移动设备上的前置摄像头设计的,在这些摄像头中,人脸往往会占据较大一部分画面。

    Facemesh模型演示

    facemesh模型会根据笔者的面部动作移动视频帧。执行下面的计算机视觉应用程序需要哪些步骤呢?

    TensorFlow2020:如何使用Tensorflow.js执行计算机视觉应用程序?

    第1步:这些是执行计算机视觉应用程序的三个重要的独立运行脚本标签代码。

    
     
    1. <scriptsrcscriptsrc="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-core"></script> 
    2. <scriptsrcscriptsrc="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-converter"></script> 
    3. <scriptsrcscriptsrc="https://cdn.jsdelivr.net/npm/@tensorflow-models/facemesh"></script> 
    • TensorFlow.js核心,用于神经网络和数值计算的灵活API。
    • TensorFlow.js转换器,将TensorFlowSavedModel导入TensorFlow.js的工具。
    • facemesh包可查找图像中的面部边界和界标。

    第2步:在主题内容中加入视频HTML标签,从而通过网络摄像头识别面部。

    
     
    1. <videowidthvideowidth=640 height=480 autoplay muted id=”camera”></video> 

    第3步:通过脚本处理(通常是JavaScript),使用画布标签动态绘制图形。

    
     
    1. <canvaswidthcanvaswidth=640 height=480 id=”augmented_canvas”></canvas> 

    第4步:在画布标签上添加视频标签以播放视频帧,从而根据面部动作移动视频帧。

    
     
    1. <videoautoplay loop id=”movie” style=”visibility: hidden”> 
    2. <sourcesrcsourcesrc=”TensorFlowjs.mp4" type=”video/mp4"></source> 
    3. </video> 

     

    第5步:加载人脸模型并估计人脸大小,从而在图像中找到人脸边界和界标。

    
     
    1. //load camerastream 
    2. const frame =document.getElementById("camera");//load movie stream 
    3. const movie =document.getElementById("movie"); 
    4. movie.play();//preparecanvas 
    5. const canvas =document.getElementById("augmented_canvas"); 
    6. const draw =canvas.getContext("2d");const result = awaitmodel.estimateFaces(frame, false); 

    第6步;在检测到的人脸上使用以下代码绘制视频帧。

    
     
    1. //copy camerastream to canvas 
    2. draw.drawImage(frame,0, 0, 640, 480);//check if face is detected 
    3.  if(result.length > 0) 
    4.  { 
    5.   for (let i = 0; i < result.length; i++) { 
    6.     const start = result[i].topLeft; 
    7.     const end = result[i].bottomRight; 
    8.     const size = [end[0] — start[0], end[1] —start[1]];   //Render a rectangle over each detected face. 
    9.    draw.drawImage(movie, start[0], start[1],size[0], size[1]); 
    10.   } 
    11.   

    完成啦!按照上面的六个步骤就可以执行计算机视觉应用程序。所有人都认为想成为数据科学家就必须熟悉python或R编程语言,现在,使用javascript就可以执行机器学习应用程序啦。

    【编辑推荐】

    1. 您需要针对机器学习性能进行优化的6个指标
    2. AI股神:如何用机器学习预测股价?
    3. 机器学习从业者面临的8大挑战
    4. TensorFlow中超大的30个机器学习数据集
    5. TensorFlow被曝存严重bug,搭配Keras可能丢失权重,至今仍未修复
    展开全文
  • 计算机视觉应用综述

    千次阅读 2018-12-09 10:05:19
    近年来,我们随处可以听到一个词,“人工智能”。机器的智能化成为了现今的一大研究热点,...那么计算机视觉具体有哪些应用呢? 无人驾驶  无人驾驶又称自动驾驶,是目前人工智能领域一个比较重要的研究方向,让汽...
  • 总览计算机视觉是一种允许数字世界与现实世界互动的技术。探索5个最热门的计算机视觉应用程序使用计算机视觉进行姿态估计使用Gans进行图像转换基于计算机视觉的社交距离工具将2D图像转换为3D...
  • 深度学习与计算机视觉应用实战课程 超细课程 知识付费网址:https://www.xiaocifang.com/i/UXdd288e32Lsg.html 廉价出售 如果一点点小钱都不愿投资自己,可以不用打开了。喜欢自己 投资自己 努力学习!! 转载于:...
  • 即将去一家公司,要研究把计算机视觉应用到家电上,让家电能识别手势和食材。 心里一点底都没有,不知道会遇到什么样的难题~~
  • 卷积神经网络之计算机视觉应用(一) 一 引言  21世纪开始,卷积神经网络就被成功的大量用于检测、分割、物体识别以及图像的各个领域。值得一提的是,图像可以在像素级别进行打标签,这样就可以应用在比如自动...
  • 卷积神经网络之计算机视觉应用(二)  我们在开启卷积神经网络第二节之前,我们先来回顾这几个知识点,卷积神经网络中的卷积核通道数目是依据什么而定的,卷积神经网络中卷积核的个数决定了什么,如果这几个知识点...
  • computer Vision 基础方向:基石 Image Classfication(分类) object recgnition(目标识别:用框框出各个 类别) segmentic segmentation(语义分割) Object detection(目标检测)(找出图片的所有某类并进行...
  • MatConvNet是一个为计算机视觉应用实现卷积神经网络(CNN)的MATLAB工具箱。它简单、高效,可以运行和学习最先进的CNN。许多预先训练的CNN可以用于图像分类...
  • 目标检测作为图像处理和计算机视觉领域中的经典课题,在交通监控、图像检索、人机交互等方面有着广泛的应用。它旨在一个静态图像(或动态视频)中检测出人们感兴趣的目标对象。传统的目标检测算法中特征提取和分类决策...
  • 1.概要 金融领域 交通领域 医疗领域 零售领域 工业领域 农业领域 司法领域 物流领域 2.详情 待续
  • OpenCV2计算机视觉应用编程手册(自学版)初级五 ---图像叠加、图像三个通道的分解和合成、图像ROI区域操作  /* 第五个opencv程序---图像叠加、图像三个通道的分解和合成、图像ROI区域操作 时间:2014年11月30...
  • OpenCV2计算机视觉应用编程手册(自学版)初级七 直方图均衡化处理 /* 第七个opencv程序---直方图均衡化 时间:2014年12月1日22:30:35 对图像的三个通道分别进行直方图均衡化处理 直方图处理以后会在本系列中...
  • OpenCV2计算机视觉应用编程手册(自学版)初级六 第六个opencv程序---类的学习  天空区域识别、图像分割 如果没接触过类最好稍微读一下C++中类的介绍,不用很深,一点知识就够了。整个封装做到比较完美(对于...
  • OpenCV2计算机视觉应用编程手册(自学版)初级四  图像邻域操作、滤波处理 介绍了锐化滤波器的四种实现方法 /* 第四个opencv程序---图像邻域操作、滤波处理 时间:2014年11月30日00:40:10 使用...
  • OpenCV2计算机视觉应用编程手册(自学版)初级二 本部分实现的功能包括: /******************************************************************************************  1-- 读取图像的高度和宽度--很有...
  • 机器学习包括自然语言处理(NLP)、计算机视觉、语音识别等等。计算机视觉问题极其复杂,目前提供的图像类似于对对象进行分类、识别或分割的像素矩阵。训练机器学习是一个迭代过程——通过调整不同的参数、超参数、...
  • 一、基础功能: (1)在命令行窗口输入‘doc 函数’,如图: (2)弹出页面即为函数的功能,如图: 在命令行窗口输入代码时,若不需要输出结果,则在代码句末尾加‘;’,再回车;若需要输出结果,则直接回车...
  • 本教程将为大家详细介绍如何使用深度学习部署套件的推理引擎(包含在英特尔® 计算机视觉 SDK Beta 测试版 R3中)。推理指使用训练的神经网络从数据(比如图像)推理出某种意义的过程。在下面的代码示例中,视频...

空空如也

1 2 3 4 5 ... 20
收藏数 9,442
精华内容 3,776
关键字:

计算机视觉应用