转眼间,我们都跨进了2019年的大门,“计算机视觉战队”已经好久没有和您们好好的一起谈论Object Detection、Face Recognition、Video Segmentation等等领域的所有相关知识。在此,也感谢大家长久的陪伴与支持,谢谢!
年后,计划在杭州来一次我们线下的交流会,怎么样?我们可以聚集在一起,相互认识,可以相互交流,也可以不谈技术,多认识圈内的朋友,以后一起学习,共同进步!
今天开始,我们平台将会推送一系列计算机视觉类的入门知识及相对应的实践分享,若您感兴趣,请持续关注我们的动态!
为了表示大家对平台的关注与支持,每次推送的末尾留言前十名即将成为幸运儿,本平台会通过私信发送口令红包作为奖励,望大家踊跃参与,不仅可以学习知识还可以得到小小的红包奖励?
?计算机视觉简单介绍?
计算机视觉是一门用计算机模拟生物视觉的学科,其实计算机视觉(Computer Vision)又称为机器视觉(Machine Vision),顾名思义是一门“教”会计算机如何去“看”世界的学科。更具体地讲,其实就是让计算机代替人眼实现对目标的识别、分类、跟踪及场景的理解。
当今,在机器学习火热的前景下,计算机视觉与自然语言处理(Natural Language Process, NLP)及语音识别(Speech Recognition)并列为机器学习领域三大热门方向。
然而,计算机视觉领域中的传统的手动设计特征,如梯度方向直方图(Histogram of Gradient, HOG)、定向光流直方图(Histogramsof Oriented Optical Flow, HOF)以及尺度不变特征变换(Scale-Invariant Feature Transform, SIFT)等特征,还有前期的玻尔兹曼机、人工神经网络等浅层模型,然后就是传统的手动设计特征与浅层模型的组合等技术迅速发展,并且在近几年逐渐转向了以卷积神经网络(Convolutional Neural Network, CNN)为代表的深度学习模型。
?入门需要展望的基础技术?
既然说到了计算机视觉,那肯定与其最相关的是OpenCV,先来简单说说这个开源的、跨平台的计算机视觉库,好像是由英特尔公司发起并参与开发的一款工具,在研究领域和商业中都是可以免费使用,如果你要进入该领域,必须要有这个工具使用的基础技术,尤其是基于Python来开发基于OpenCV3的应用。
Python作为当前非常主流的动态语言之一,不仅非常简单,而且功能强大,如果你有了Python的基础,来学习OpenCV框架的话,我觉得应该可以让你更加快速的去理解计算机视觉的基本概念及一些常用算法。
?图像基础技术不可少?
只要涉及到计算机视觉,应该与图像有着紧密不可分的关系。接下来我简单介绍下图像类的基础,有兴趣或者有需求的您自行去补充自己所需的干货。
像素
像素是图像中最最最基础的构成,算法框架中的每张输入图像都是由像素集合组成, 若将图像看作网格组成的,那每个小块就是由单个像素组成,如下所示:
比如,上面的猫图,其分辨率为720 * 1080,意味着有720像素宽,1080像素高,在图像中则就一共有720 * 1080 = 777600个像素组成。其中,灰度图中,每个像素的值在 [0,255] 的范围之间,0对应黑色,255对应为白色,在0 - 255之间的值是不同程度的灰色,越靠近 0 越黑,越靠近 255 的越白。如下图:
RGB的颜色通道中,像素则代表了3个值的列表,一个为红色,一个为绿色,一个为蓝色。同样的每个颜色通道取值也在范围 [0,255] 中,0代表不表示当前颜色,255代表全部表示当前颜色。若给定红绿蓝三种颜色的值,可以将以红、绿和蓝的格式组合成一个元组,这个元组就代表着RGB通道中的图片。
OpenCV案例
每个像素都会有一个值,但是不同格式表示像素的方式会有不同的,比如你用Python和NumPy表示一幅图像的细节,可以通过二维NumPy数组简单创建黑色的正方形图像:
img = numpy.zeros( ( 3 , 3 ) , dtype = numpy.uint8 )
从控制台打印这张图像的话,你可以看到下面的结果:
arry( [ [ 0, 0, 0] ,
[0, 0, 0],
[0, 0, 0], dtype = uint8 )
其实可以用cv2.cvtColor函数将上面的图像转换成BGR (Blue-green-red) 格式:
img = cv2.cvtColor( img, cv2.COLOR_GRAY2BGR )
从上面的结果可以看出,每个像素都由一个三元数组表示,而且每个整型向量分别表示一个B、G和R通道。其他的色彩空间(HSV)也可以以同样方式表示像素,只是取值范围和通道数不同。(HSV的色度值范围是0 - 180)
今天就先说到这里吧,接下来我们开始一起学习基本图像处理及相关小实践。
如果想加入我们“计算机视觉战队”,请扫二维码加入学习群,我们一起学习进步,探索领域中更深奥更有趣的知识!