视觉编程语言
![cysgjj](http://www.wnpsw.com/zb_users/avatar/0.png)
计算机视觉(AI)的算法有哪些,具体都有哪些特点?
计算机视觉领域一般不同的应用有着不同的算法实现,主要是在图像预处理、分类、目标检测等方面。
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)。
计算机视觉领域一般不同的应用有着不同的算法实现,我主要研究的就是计算机视觉方面的应用,主要是在图像预处理、分类、目标检测等方面。
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++实现。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/10561.html