零基础看懂计算机视觉:让机器像人一样“看见”世界,原来原理这么简单

张开发
2026/4/4 18:26:02 15 分钟阅读
零基础看懂计算机视觉:让机器像人一样“看见”世界,原来原理这么简单
你有没有想过为什么你站在手机面前一秒就能解锁为什么抖音能自动给照片里的你换背景为什么开车的时候自动驾驶能识别出哪里是马路、哪里是行人这背后都离不开AI领域最接地气、也最有用的方向之一——计算机视觉。简单说人类是靠眼睛看世界然后大脑理解看到的内容计算机视觉就是让计算机“看见”并且理解图片、视频里的内容帮我们完成各种任务。今天我们就从零开始把计算机视觉的基础讲明白哪怕你完全没基础也能看懂它到底是怎么回事。---一、先搞懂计算机视觉到底要做什么我们先从定义说起计算机视觉就是让计算机从图片、视频这类视觉数据中提取出有用的信息并且理解这些信息是什么内容最终用来解决实际问题。人类理解视觉信息有多轻松你看一眼这张图片马上就能说出来“这是一只猫坐在草地上”整个过程大脑不费吹灰之力。但对计算机来说它一开始根本不知道图片是什么——图片对计算机来说其实就是一堆数字而已我们得想办法让它从这堆数字里读出有用的内容。计算机视觉的终极目标就是让计算机能像人眼人脑一样看懂视觉世界不仅能认出来是什么东西还能知道东西在哪长什么样甚至能搞清楚场景里各个物体之间的关系。现在我们手机里常用的功能几乎都离不开计算机视觉人脸解锁、AI拍照美颜、扫码支付、拍照搜题全都是它的应用。---二、最基础的概念先搞懂“像素”这是一切的起点要理解计算机视觉先得搞懂计算机眼里的图片到底是什么答案很简单就是一堆密密麻麻的像素点。我们说一张图片是1920×1080分辨率意思就是这张图片的宽度有1920个像素高度有1080个像素总共有两百多万个像素点。每个像素点就是一个小点每个小点存着一个数字代表颜色- 如果是黑白图片每个像素只需要一个数字代表亮度0代表全黑255代表全白中间就是不同程度的灰色。- 如果是我们常见的彩色图片每个像素点有三个数字分别对应红(R)、绿(G)、蓝(B)三个通道每个通道0-255不同数值组合起来就能变出各种各样的颜色。比如全0就是黑色三个通道都是255就是白色全255红0绿0蓝就是纯红色。所以你看一张看起来很生动的猫猫图片在计算机刚拿到的时候就是一个巨大的数字矩阵宽N个、高M个每个位置三个数字。计算机视觉要做的第一件事就是从这一堆数字里找出我们想要的信息。---三、传统计算机视觉先找“特征”再做判断在深度学习火起来之前计算机视觉走的是“人工提取特征”的路子思路其实很简单我们先告诉计算机什么样的数字组合对应什么样的特征然后让计算机根据这些特征判断图片里有什么。那什么是图像特征举个例子我们要识别图片里有没有猫猫肯定有边缘、有轮廓猫耳朵是三角形眼睛是圆形——这些边缘、轮廓、颜色块就是我们说的“图像特征”。传统方法里都是人来设计提取特征的算法1. 边缘特征最基础的特征就是物体的边缘。物体和背景颜色不一样所以边缘上像素的亮度变化会特别大我们设计算法找到所有亮度变化大的点连起来就是物体的边缘。比如你找一张猫的图先把所有边缘提取出来就能看到猫的轮廓了。2. 纹理特征比如草地是粗糙的纹理猫毛是另一种纹理皮肤又是光滑的纹理我们也能设计算法把纹理特征提取出来帮着区分不同物体。提取完特征之后我们再把特征喂给简单的分类器比如SVM让分类器判断这些特征组合起来是不是猫传统方法在简单问题上能用比如识别手写数字效果还不错但是遇到复杂问题就拉胯了比如要识别不同场景里的猫有的猫在睡觉有的猫在跑有的猫只露出半个身子光照颜色还不一样人工根本设计不出能适配所有情况的特征鲁棒性特别差——稍微换个场景准确率就掉的厉害。所以等到深度学习起来传统方法很快就被取代了。---四、深度学习时代卷积神经网络为什么这么适合计算机视觉深度学习时代做计算机视觉的核心就是卷积神经网络CNN为什么这个东西这么好用我们先从最核心的“卷积”讲起保证零基础也能听懂。1. 什么是卷积其实就是“用小窗口扫图片提取特征”卷积的原理说穿了特别简单就是我们拿一个小窗口我们叫它“卷积核”本质就是一个小的数字矩阵从图片的左上角开始一步步往右、往下滑动每滑到一个位置就把卷积核里的数字和对应位置的像素数字乘一乘加起来得到一个新的数字这就是卷积后的一个值。这个过程到底在做什么其实就是在自动提取特征啊比如我们设计一个专门提取边缘的卷积核滑完一圈图片里所有边缘的位置就都出来了设计一个提取竖线的卷积核就能把所有竖线找出来设计提取横线的就能找出所有横线。和传统方法不一样的地方是传统方法是我们人来设计卷积核里的数字而卷积神经网络是让网络自己从数据里学习卷积核里的数字——你要提取什么特征网络自己学就好了不用人来设计复杂场景下自然比人设计的好用多了。举个生活化的类比你可以把卷积核想象成我们戴的不同滤镜不同滤镜能突出不同的内容一个滤镜突出边缘一个滤镜突出颜色一个滤镜突出形状一层一层滤镜用下来简单的特征慢慢组合成复杂的特征——第一层找到边缘、线条第二层把线条组合成耳朵、眼睛这些部件第三层把部件组合成猫的形状最后网络就能认出来“哦这是一只猫”整个过程全自动不用人插手。2. 卷积神经网络处理图片的整个流程其实很清晰我们还是拿识别猫举例整个过程分几步1. 输入把整张图片的像素数字输入网络2. 多个卷积池化层一层层自动提取特征把简单特征组合成复杂特征池化层就是帮我们把不重要的信息扔掉只保留最有用的特征降低计算量3. 全连接层把提取到的所有特征拼起来转换成最终的预测4. 输出输出每个类别的概率“猫”的概率最高就判定这张图是猫。2012年的AlexNet就是第一个火起来的深度卷积神经网络直接在图像识别比赛上把传统方法打的找不到北从那之后计算机视觉就彻底进入深度学习时代了。---五、计算机视觉常见的基础任务原来分这么多种计算机视觉能解决很多问题我们常见的基础任务主要分这几种很好理解1. 图像分类这张图是什么这是最基础的任务目标就是给整张图片分个类输入一张图片输出这张图片属于哪个类别比如是猫还是狗是汽车还是飞机。我们刚才说的ImageNet比赛就是图像分类的比赛现在我们手机里的相册自动分类把你拍的照片分成“人物”“风景”“宠物”用的就是图像分类技术。2. 目标检测图片里有什么它们在哪图像分类只说有什么不说在哪目标检测就是不仅告诉你有什么物体还给你把物体的位置用框标出来比如这张图里有一个人在左边一辆车在右边就分别用框把人和车框起来写上标签“人”“车”。这个任务应用就多了自动驾驶里识别路上的行人、红绿灯、其他车辆安防摄像头里识别有没有闯红灯、有没有越界拍照的时候自动对焦人脸都是目标检测做的。3. 图像分割这个物体轮廓到底长啥样目标检测只给你一个框告诉你大概在哪图像分割更进一步它能精确到像素级别告诉你图片里每个像素属于哪个物体这样就能把每个物体的精准轮廓抠出来。比如你拍了一张人物照片想要自动把人物抠出来换背景抖音的智能背景替换用的就是图像分割医疗影像里医生要找肿瘤图像分割能自动把肿瘤的轮廓精准画出来帮医生诊断比人画的还准。除了这几个最基础的还有很多其他任务比如人脸识别检测识别出这个人是谁、图像生成根据文字生成图片就是Midjourney做的事、图像超分辨率把模糊的变清晰老照片修复就是这个技术等等这些都是计算机视觉的应用。---六、发展脉络从人工设计特征到端到端深度学习一共走了三步我们梳理一下计算机视觉整个发展其实一共分了三个阶段1. 早期传统方法1960年到2010年左右刚才我们说过完全靠人设计特征人来告诉计算机边缘是什么纹理是什么然后用简单的分类器分类。优点是计算量小简单问题能用缺点是复杂场景准确率低泛化能力差所以慢慢被淘汰了。2. 深度学习崛起2012年AlexNet出来之后卷积神经网络成为主流网络自动学习特征不用人设计准确率比传统方法高一大截各种复杂任务都能做从这个时候开始计算机视觉才真正大规模落地到我们生活里。3. 大模型时代最近几年跟着大语言模型的风口现在计算机视觉也进入了大模型时代出现了很多视觉大模型一个大模型就能搞定分类、检测、分割各种任务还能结合文字做图文理解比如你问它“图片里有几个红色的苹果”它就能准确回答你能力比原来的单任务模型强太多了。---七、两个贴近生活的应用帮你彻底搞懂讲了这么多原理我们最后拿两个你每天都用的例子帮你理解计算机视觉到底怎么干活例子1手机人脸解锁人脸解锁其实就是一个典型的计算机视觉任务流程大概是这样1. 首先摄像头拍到你的脸部图片计算机先用人脸检测从图片里把你的人脸框出来定位到人脸的位置2. 然后把人脸区域裁出来输入到训练好的卷积神经网络网络会提取你人脸的特征转换成一个特征向量3. 把这个特征向量和你一开始录入手机的人脸特征向量比一比如果相似度超过阈值就确认是你手机直接解锁如果不达标就解不开。整个过程不到一秒背后就是检测特征提取比对几步全是计算机视觉的基础技术。例子2扫码支付你去超市买东西扫码付款这个过程也是计算机视觉1. 摄像头拍到整个付款码的区域先做目标检测定位到二维码在哪里把二维码区域从背景里抠出来2. 然后做图像处理把二维码修正摆正去除模糊把里面的黑白小格子模块分清楚3. 最后按照二维码的编码规则把里面的信息读出来就能拿到付款信息完成支付了。这背后基础的定位、图像处理也都是计算机视觉的工作。---写在最后计算机视觉其实就是让机器模仿人类的视觉系统从图片和视频里拿到有用信息解决实际问题。从最早人工设计特征到现在深度学习自动提取特征甚至出现了视觉大模型发展的特别快也早就已经渗透到我们生活的方方面面了。对零基础感兴趣的同学来说理解计算机视觉不用上来就啃复杂的数学公式先搞懂像素、卷积这些基础概念知道不同任务是做什么的再动手跑一个简单的图像分类小项目很快就能摸到门道。现在开源社区里有大量现成的预训练模型哪怕你刚入门也能很快做出能用的小应用比你想象的简单多了。

更多文章