计算机视觉(AI)的算法有哪些,具体都有哪些特点?

spider 全部 1027

计算机视觉(AI)的算法有哪些,具体都有哪些特点?

回复

共5条回复 我来回复
  • 有个苹果
    有个苹果
    这个人很懒,什么都没有留下~
    评论

     计算机视觉领域一般不同的应用有着不同的算法实现,我主要研究的就是计算机视觉方面的应用,主要是在图像预处理、分类、目标检测等方面。

    1. 图像分类。图像分类是根据图像的语义信息将不同类别图像区分开来,是计算机视觉中重要的基本问题,也是图像检测、图像分割、物体跟踪、行为分析等其他高层视觉任务的基础。机器学习方面的算法有SVM、Adaboost、决策树以及贝叶斯分类器等;深度学习方面经典的算法有AlexNet、VGG、GoogleNet、ResNet等网络。

    2. 目标检测。目标检测就是在复杂场景中检测出我们需要的目标,又用传统机器学习算法实现的,也有用深度学习进行目标检测的。传统机器学习算法比如利用Adaboost进行人脸检测、SVM算法实现行人检测等;深度学习方面目标检测算法,既有基于区域建议的R-CNN、Fast R-CNN、Faster R-CNN等两个阶段的目标检测算法,也有Yolo、SSD等端到端的目标检测算法。

    3. 目标跟踪。目标跟踪,是指在特定场景跟踪某一个或多个特定感兴趣对象的过程。我之前做过目标跟踪的实验,利用的是传统的图像处理算法,比如光流法、粒子滤波法、卡尔曼滤波法以及KCF相关滤波算法等。深度学习算法中有DLT、FCNT、MD Net等网络,深度学习目标跟踪算法接触的少,不是很了解。

    4. 语义分割。语义分割是计算机视觉中的基本任务,在语义分割中我们需要将视觉输入分为不同的语义可解释类别,「语义的可解释性」即分类类别在真实世界中是有意义的,将整个图像分成一个个像素组,然后对其进行标记和分类。传统的图像分割算法有基于阈值的分割算法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等;现在深度学习算法在语义分割上效果更好,比如现在最常用的全卷机神经网络算法(FCN)。

    还有好多应用,比如人脸检测识别,有Adaboost算法、MTCNN网络以及FaceNet网络等;文字识别,智能驾驶,医学图像处理等等,分别有不同的算法实现。

    计算机视觉编程语言的话需要根据算法以及平台来选择。传统图像处理大都用的是opencv和matlab平台,分别用C++语言和matlab语言;深度学习框架大都是基于Python的API实现的,可以用python语言实现,比如Tensorflow、Caffe、keras以及MxNet等平台,当然Caffe还可以用C++实现。

    2019-08-30 11:15:51 0条评论
  • 智能产品大师
    智能产品大师
    这个人很懒,什么都没有留下~
    评论

    给你看一个很现实的产品设计和原因,希望对你有点触类旁通。

    智能工具车:航空领域的飞机维修是一个大工程,飞机落地之后都会需要进行维修巡检,所以很多的维修公司都会让工人带着工具去维修,但是很麻烦的一点是什么,维修过程中用到的都是特异型的工具,随便一个螺丝套头批头都会高达好几百元,一把工具也是随便几千块钱,而且一旦遗忘在飞机里面,就可能带来空难,这重事情一旦发生,对于乘客来说就是毁灭性的。

    所以产生了智能工具车要把每一把维修的工具管理起来,大家都能做的RFID工具车确实能解决一部分的工具问题(如下视频),但是比如批头,螺丝,套筒,根本没有办法贴标签,同样也要被管理起来,这可咋整?同行都是用一个盒子吧所有的批头,套筒做统一管理,但是这样管理并不合理,哪个东西被拿走依然没法确认。所以,我们选择用视觉识别来去识别套筒和螺丝,这样的话,就可以不需要任何的电子标签来去贴套筒或者批头,所以你看到,其实我们就用了视觉识别+AI人工智能实现了非常现实的一个问题。


    2020-02-28 15:48:14 0条评论
  • 广州鲲鹏物联
    广州鲲鹏物联
    这个人很懒,什么都没有留下~
    评论

    有用视觉算法做工业生产水泥包点数应用场景。


    传统红外计数因连包、叠包经常产生计数错误,出现误计后无法及时溯源。

    用的解决方案是:边缘AI智慧盒内置视觉计包算法,部署在多条工业生产线。配合摄像头对传送带上的包状、盒状货物进行计数。

    多条生产线视觉计数算法

    叠包情况

    连续计包

    #工业生产 #计包算法 #边缘AI智慧盒


    有空来找鲲工喝茶

    2023-05-09 20:26:34 0条评论
  • MA奔腾
    MA奔腾
    这个人很懒,什么都没有留下~
    评论

    计算机视觉领域一般不同的应用有着不同的算法实现,主要是在图像预处理、分类、目标检测等方面。

    1. 图像分类。图像分类是根据图像的语义信息将不同类别图像区分开来,是计算机视觉中重要的基本问题,也是图像检测、图像分割、物体跟踪、行为分析等其他高层视觉任务的基础。机器学习方面的算法有SVMAdaboost、决策树以及贝叶斯分类器等;深度学习方面经典的算法有AlexNet、VGG、GoogleNet、ResNet等网络。

    2. 目标检测。目标检测就是在复杂场景中检测出我们需要的目标,又用传统机器学习算法实现的,也有用深度学习进行目标检测的。传统机器学习算法比如利用Adaboost进行人脸检测、SVM算法实现行人检测等;深度学习方面目标检测算法,既有基于区域建议的R-CNN、Fast R-CNN、Faster R-CNN等两个阶段的目标检测算法,也有Yolo、SSD等端到端的目标检测算法。

    3. 目标跟踪。目标跟踪,是指在特定场景跟踪某一个或多个特定感兴趣对象的过程。我之前做过目标跟踪的实验,利用的是传统的图像处理算法,比如光流法、粒子滤波法、卡尔曼滤波法以及KCF相关滤波算法等。深度学习算法中有DLT、FCNT、MD Net等网络,深度学习目标跟踪算法接触的少,不是很了解。

    4. 语义分割。语义分割是计算机视觉中的基本任务,在语义分割中我们需要将视觉输入分为不同的语义可解释类别,「语义的可解释性」即分类类别在真实世界中是有意义的,将整个图像分成一个个像素组,然后对其进行标记和分类。传统的图像分割算法有基于阈值的分割算法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等;现在深度学习算法在语义分割上效果更好,比如现在最常用的全卷机神经网络算法(FCN)。

    2019-08-30 17:13:00 0条评论
  • kgzip3125
    kgzip3125
    这个人很懒,什么都没有留下~
    评论

    从概念的提出到走向繁荣1956年,几个计算机科学家相聚在达特茅斯会议(Dartmouth Conferences),提出了“人工智能”的概念。其后,人工智能就一直萦绕于人们的脑海之中,并在科研实验室中慢慢孵化。之后的几十年,人工智能一直在两极反转,或被称作人类文明耀眼未来的预言;或者被当成技术疯子的狂想扔到垃圾堆里。坦白说,直到2012年之前,这两种声音还在同时存在。过去几年,尤其是2015年以来,人工智能开始大爆发。很大一部分是由于GPU的广泛应用,使得并行计算变得更快、更便宜、更有效。当然,无限拓展的存储能力和骤然爆发的数据洪流(大数据)的组合拳,也使得图像数据、文本数据、交易数据、映射数据全面海量爆发。让我们慢慢梳理一下计算机科学家们是如何将人工智能从最早的一点点苗头,发展到能够支撑那些每天被数亿用户使用的应用的。人工智能(Artificial Intelligence)——为机器赋予人的智能成王(King me):能下国际跳棋的程序是早期人工智能的一个典型应用,在二十世纪五十年代曾掀起一阵风潮。(译者注:国际跳棋棋子到达底线位置后,可以成王,成王棋子可以向后移动)。早在1956年夏天那次会议,人工智能的先驱们就梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器。这就是我们现在所说的“强人工智能”(General AI)。这个无所不能的机器,它有着我们所有的感知(甚至比人更多),我们所有的理性,可以像我们一样思考。人们在电影里也总是看到这样的机器:友好的,像星球大战中的C-3PO;邪恶的,如终结者。强人工智能现在还只存在于电影和科幻小说中,原因不难理解,我们还没法实现它们,至少目前还不行。我们目前能实现的,一般被称为“弱人工智能”(Narrow AI)。弱人工智能是能够与人一样,甚至比人更好地执行特定任务的技术。例如,Pinterest上的图像分类;或者Facebook的人脸识别。这些是弱人工智能在实践中的例子。这些技术实现的是人类智能的一些具体的局部。但它们是如何实现的?这种智能是从何而来?这就带我们来到同心圆的里面一层,机器学习。机器学习—— 一种实现人工智能的方法健康食谱(Spam free diet):机器学习能够帮你过滤电子信箱里的(大部分)垃圾邮件。(译者注:英文中垃圾邮件的单词spam来源于二战中美国曾大量援助英国的午餐肉品牌SPAM。直到六十年代,英国的农业一直没有从二战的损失中恢复,因而从美国大量进口了这种廉价的罐头肉制品。据传闻不甚好吃且充斥市场。)机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。机器学习直接来源于早期的人工智能领域。传统算法包括决策树学习、推导逻辑规划、聚类、强化学习和贝叶斯网络等等。众所周知,我们还没有实现强人工智能。早期机器学习方法甚至都无法实现弱人工智能。机器学习最成功的应用领域是计算机视觉,虽然也还是需要大量的手工编码来完成工作。人们需要手工编写分类器、边缘检测滤波器,以便让程序能识别物体从哪里开始,到哪里结束;写形状检测程序来判断检测对象是不是有八条边;写分类器来识别字母“ST-O-P”。使用以上这些手工编写的分类器,人们总算可以开发算法来感知图像,判断图像是不是一个停止标志牌。这个结果还算不错,但并不是那种能让人为之一振的成功。特别是遇到云雾天,标志牌变得不是那么清晰可见,又或者被树遮挡一部分,算法就难以成功了。这就是为什么前一段时间,计算机视觉的性能一直无法接近到人的能力。它太僵化,太容易受环境条件的干扰。随着时间的推进,学习算法的发展改变了一切。深度学习——一种实现机器学习的技术放猫(Herding Cats):从YouTube视频里面寻找猫的图片是深度学习杰出性能的首次展现。(译者注:herdingcats是英语习语,照顾一群喜欢自由,不喜欢驯服的猫,用来形容局面混乱,任务难以完成。)人工神经网络(Artificial Neural Networks)是早期机器学习中的一个重要的算法,历经数十年风风雨雨。神经网络的原理是受我们大脑的生理结构——互相交叉相连的神经元启发。但与大脑中一个神经元可以连接一定距离内的任意神经元不同,人工神经网络具有离散的层、连接和数据传播的方向。例如,我们可以把一幅图像切分成图像块,输入到神经网络的第一层。在第一层的每一个神经元都把数据传递到第二层。第二层的神经元也是完成类似的工作,把数据传递到第三层,以此类推,直到最后一层,然后生成结果。每一个神经元都为它的输入分配权重,这个权重的正确与否与其执行的任务直接相关。最终的输出由这些权重加总来决定。我们仍以停止(Stop)标志牌为例。将一个停止标志牌图像的所有元素都打碎,然后用神经元进行“检查”:八边形的外形、救火车般的红颜色、鲜明突出的字母、交通标志的典型尺寸和静止不动运动特性等等。神经网络的任务就是给出结论,它到底是不是一个停止标志牌。神经网络会根据所有权重,给出一个经过深思熟虑的猜测——“概率向量”。这个例子里,系统可能会给出这样的结果:86%可能是一个停止标志牌;7%的可能是一个限速标志牌;5%的可能是一个风筝挂在树上等等。然后网络结构告知神经网络,它的结论是否正确。即使是这个例子,也算是比较超前了。直到前不久,神经网络也还是为人工智能圈所淡忘。其实在人工智能出现的早期,神经网络就已经存在了,但神经网络对于“智能”的贡献微乎其微。主要问题是,即使是最基本的神经网络,也需要大量的运算。神经网络算法的运算需求难以得到满足。不过,还是有一些虔诚的研究团队,以多伦多大学的Geoffrey Hinton为代表,坚持研究,实现了以超算为目标的并行算法的运行与概念证明。但也直到GPU得到广泛应用,这些努力才见到成效。我们回过头来看这个停止标志识别的例子。神经网络是调制、训练出来的,时不时还是很容易出错的。它最需要的,就是训练。需要成百上千甚至几百万张图像来训练,直到神经元的输入的权值都被调制得十分精确,无论是否有雾,晴天还是雨天,每次都能得到正确的结果。只有这个时候,我们才可以说神经网络成功地自学习到一个停止标志的样子;或者在Facebook的应用里,神经网络自学习了你妈妈的脸;又或者是2012年吴恩达(Andrew Ng)教授在Google实现了神经网络学习到猫的样子等等。吴教授的突破在于,把这些神经网络从基础上显著地增大了。层数非常多,神经元也非常多,然后给系统输入海量的数据,来训练网络。在吴教授这里,数据是一千万YouTube视频中的图像。吴教授为深度学习(deep learning)加入了“深度”(deep)。这里的“深度”就是说神经网络中众多的层。现在,经过深度学习训练的图像识别,在一些场景中甚至可以比人做得更好:从识别猫,到辨别血液中癌症的早期成分,到识别核磁共振成像中的肿瘤。Google的AlphaGo先是学会了如何下围棋,然后与它自己下棋训练。它训练自己神经网络的方法,就是不断地与自己下棋,反复地下,永不停歇。深度学习,给人工智能以璀璨的未来深度学习使得机器学习能够实现众多的应用,并拓展了人工智能的领域范围。深度学习摧枯拉朽般地实现了各种任务,使得似乎所有的机器辅助功能都变为可能。无人驾驶汽车,预防性医疗保健,甚至是更好的电影推荐,都近在眼前,或者即将实现。人工智能就在现在,就在明天。有了深度学习,人工智能甚至可以达到我们畅想的科幻小说一般。你的C-3PO我拿走了,你有你的终结者就好了。

    2019-08-31 23:53:41 0条评论