第1章 你好呀,计算机视觉小魔法
周末的超市收银台前,你攥着刚选的草莓冰淇淋,对准收银机上的小圆框眨了眨眼——“滴”的一声,支付成功,连密码都不用输。你有没有好奇过,那个小圆框怎么就知道是你,而不是前面排队的张阿姨呢?再想想,你上次用妈妈的手机拍家里的绿萝,搜图工具立刻告诉你这是“绿萝”,还能列出“每周浇一次水、放在散光处”的养护技巧;刷短视频的时候,只要对着镜头比个心,屏幕上就会冒出粉红色的爱心特效,甚至还有小猫咪从你头顶冒出来的贴纸,这些神奇的事情,其实都是同一种“魔法”在帮忙,它的名字叫计算机视觉。
<!-- 纸书侧边栏:小思考 你有没有发现,现在我们的生活里,越来越多的地方需要“眼睛”帮忙?除了上面说的,还有哪些地方用了这种魔法?先在本子上记下来,等学完这本书,你就知道答案啦! --> <!-- 电子版交互:[点击这里看1分钟动画,了解计算机视觉在生活中的10个应用] --> <!-- Markdown标签:知识点-计算机视觉定义 难度-★☆☆☆☆ 前置知识-无 -->
简单来说,计算机视觉就是**给计算机装上“电子
简单来说,计算机视觉就是给计算机装上“电子眼睛”,让它能看懂、能识别、能理解我们生活的这个充满图像和视频的世界。它是人工智能大家族里非常厉害的一个分支,专门负责处理所有和“看”相关的工作。我们可以把整个人工智能领域想象成一个魔法学院:机器学习是学院里的“自主学习课”,深度学习是这门课里最高阶的通用咒语,而计算机视觉就是用这套咒语专门修炼的“视觉魔法方向”,专门教计算机怎么“看懂”世界。
<!-- 纸书侧边栏:魔法小课堂 人工智能、机器学习、深度学习、计算机视觉,这四个名字听起来好像差不多,其实它们的关系就像“学校→年级→班级→特长小组”一样,你学会了吗? --> <!-- 电子版交互:[点击观看2分钟动画:人工智能家族的成员介绍] --> <!-- Markdown标签:知识点-计算机视觉的定位 难度-★☆☆☆☆ 前置知识-无 -->
计算机是怎么“看”世界的?
我们人类看东西特别简单:光线从物体上反射到眼睛里,视网膜把光变成神经信号,传到大脑里,大脑立刻就能认出这是苹果、那是小猫。但计算机可没有眼睛和大脑,它“看”世界的方式完全不一样——它把所有图像都变成一堆数字,靠分析这些数字的规律来认东西。
我们平时拍的照片,本质上是由无数个 tiny 的彩色小方块组成的,每个小方块就叫像素。比如你手机拍的一张1200万像素的照片,就是由1200万个这样的小方块拼成的。每个像素都有自己的颜色,我们用红、绿、蓝三种颜色的混合程度来表示,比如纯红色就是红255、绿0、蓝0,纯白色就是红255、绿255、蓝255,纯黑色就是三个都是0。所以一张彩色照片对计算机来说,就是三个叠在一起的数字矩阵:一个矩阵记所有像素的红色数值,一个记绿色,一个记蓝色。
我们可以用一个简单的公式来计算一张照片的像素总数: $$N = W \times H$$ 这里的$N$是像素总数,$W$是照片宽度方向的像素数量,$H$是高度方向的像素数量。比如我们平时说的“1080P高清照片”,就是宽度1920个像素、高度1080个像素,总像素数是$1920 \times 1080 = 2073600$,也就是200多万个像素,对应200多万个颜色数字,计算机要处理的其实就是这200多万个数字。
你可以自己动手验证一下:打开你手机的相册,随便选一张你拍的照片,看它的属性,就能看到这张照片的宽度、高度和像素总数,是不是和我们算的一样?
<!-- 纸书侧边栏:小实验 找一张你拍的照片,数一数它的长和宽有多少个像素,用上面的公式算一算总像素数,和照片属性里的数字对比一下,看看是不是一样的? --> <!-- Markdown标签:知识点-像素与图像数字化 难度-★★☆☆☆ 前置知识-无 -->
计算机处理这些数字的规律,和我们人类认东西的逻辑其实有点像:比如你认一只猫,不会去记猫的每一根毛是什么样,只会记住几个关键特征:尖尖的耳朵、长长的胡须、圆溜溜的眼睛、毛茸茸的爪子、还有“喵喵”叫的声音。计算机也是一样,它会从一堆数字里找出对应的“关键特征”,比如猫的耳朵对应的数字组合是什么样的,胡须对应的数字组合是什么样的,把这些特征记下来,下次再看到类似的数字组合,就知道“哦,这是一只猫”。
现在很多小朋友都会用搜图功能,你拍一张家里的绿萝,搜图工具立刻告诉你这是绿萝,还能给你养护技巧,背后其实就是计算机已经“看”过了几百万张植物的照片,记住了绿萝的特征,所以一看到你拍的绿萝的数字组合,就能立刻认出来。
<!-- 电子版交互:[点击体验在线识图小工具:上传任意图片,看看计算机能认出什么] --> <!-- Markdown标签:知识点-特征提取 难度-★★☆☆☆ 前置知识-像素概念 -->
人眼 vs 计算机视觉:谁看世界更厉害?
人类的眼睛是经过几百万年进化出来的“顶级视觉设备”,而计算机视觉是科学家只用了不到100年就造出来的“视觉魔法”,两者各有各的本事,也各有各的不足,我们可以从几个维度来对比:
| 对比维度 | 人类视觉 | 计算机视觉 | | --- | --- | --- | | 学习方式 | 天生具备,看几次就能认出新物体 | 需要大量样本训练,通常要几千到几百万张标注好的图片 | | 处理速度 | 一秒只能处理几幅图像 | 一秒可以处理几千到几百万幅图像 | | 工作耐力 | 看几个小时就会疲劳,漏检率升高 | 可以24小时不间断工作,准确率稳定不变 | | 感知范围 | 只能看到可见光波段(红橙黄绿青蓝紫) | 可以处理红外、紫外、X光、雷达波等不可见光图像 | | 抽象理解 | 能看懂抽象画、漫画的情绪,理解图片背后的故事 | 目前只能识别具体物体,抽象理解能力还很弱 | | 成本 | 需要养眼睛,成本高 | 训练好后,重复使用的边际成本几乎为0 | | 准确率 | 认人的准确率大概99%左右,容易受光线、角度影响 | 特定场景下准确率超过99.5%,不受情绪、疲劳影响 |
<!-- 纸书侧边栏:冷知识 计算机视觉认人的准确率已经超过了普通人的水平,所以现在很多机场、高铁站用刷脸通关,比人工查票快多了,也不会认错人。 --> <!-- Markdown标签:知识点-人眼与计算机视觉的对比 难度-★★☆☆☆ 前置知识-无 -->
举个最常见的例子:工厂里生产手机屏幕,需要检查屏幕上有没有划痕、坏点,工人一天要检查几千块屏幕,看几个小时眼睛就花了,很容易漏掉细小的划痕。但用计算机视觉的检测设备,一秒就能检查10块屏幕,24小时不停工,连头发丝那么细的划痕都能找到,准确率比工人高10倍以上,这就是计算机视觉的优势。
当然,计算机视觉现在还有很多不如人类的地方:比如你看一幅抽象画,能感受到画家开心的情绪,能看懂画里的故事,但计算机现在只能认出画里有没有太阳、有没有树,看不懂背后的情绪;再比如你看到一只从来没见过的狗,只要别人告诉你“这是狗”,你下次再看到类似的狗,哪怕颜色、体型不一样,也能认出来,但计算机如果之前没看过这种狗,就认不出来。
<!-- 电子版交互:[点击观看1分钟视频:计算机视觉 vs 人眼,谁更厉害?] --> <!-- Markdown标签:知识点-计算机视觉的局限性 难度-★★☆☆☆ 前置知识-人眼与CV对比 -->
无处不在的计算机视觉:你可能想不到的魔法应用
计算机视觉现在已经不是实验室里的高科技了,它已经悄悄跑进了我们生活的方方面面,甚至你天天都在用它,只是没注意到而已。我们可以把它的应用分成六大领域,每个领域都有很多好玩又实用的例子:
1. 日常生活:你的24小时视觉小助手
除了我们开头说的刷脸支付、拍照识物、短视频特效,还有很多你天天接触的应用:
- **智能门禁/门锁**:小区、学校、家里的智能门锁,刷脸就能开,不用带钥匙,也不会忘带钥匙被锁在门外;
- **拍题搜题**:作业里遇到不会的数学题、英语题,拍个照就能出解题步骤和讲解,就像有个老师随时在旁边帮你;
- **智能手表健康监测**:很多智能手表不用夹手指,只要对着手腕拍一下,就能通过分析血管跳动的图像,算出你的心率和血氧,特别方便;
- **自动驾驶汽车**:现在很多新能源汽车都有自动驾驶功能,车上的摄像头就是汽车的“眼睛”,靠计算机视觉识别路上的红绿灯、行人、其他车辆、交通标识,就能自动开车,不用人一直踩油门和刹车;
- **垃圾分类助手**:你站在垃圾桶前面,拍一下手里的垃圾,AI就能告诉你这是可回收垃圾还是有害垃圾,再也不用记混分类标准。
2. 航天探索:帮我们探索宇宙的千里眼
航天领域是计算机视觉最早应用的领域之一,现在几乎所有航天任务都离不开它:
- **火星探测**:天问一号在火星着陆前,要先在火星上空飞行3个月,拍几十万张火星表面的照片,计算机视觉自动分析这些照片,找出平坦、没有岩石、没有坑洞的着陆点,要是落在岩石上,火星车直接就坏了,全靠计算机视觉帮它找安全的地方;
- **空间站对接**:神舟飞船和天宫空间站对接的时候,飞船上的摄像头会拍空间站的图像,计算机视觉自动计算两者的距离、角度和速度,帮飞船精准对接,误差不超过1厘米,要是全靠宇航员手动操作,难度会高好几倍;
- **卫星监测地球**:天上的卫星每天拍几百万张地球的照片,计算机视觉能自动从里面找出森林火灾、洪水、冰川融化、海洋污染的情况,还能统计庄稼的长势,帮科学家监测地球的变化,不用一张一张人工看。
3. 医疗健康:医生的超级助手
计算机视觉在医疗领域的应用,已经帮很多人早点发现了疾病,救了人的命:
- **病灶识别**:新冠疫情期间,医生拍CT片子判断有没有肺炎,一个人要看好几分钟,很累也很慢。计算机视觉的AI几秒钟就能看完一张CT片,找出肺部的白色病灶,准确率比普通医生还高,帮医生更快诊断,节省了很多时间;
- **眼底筛查**:糖尿病有一种并发症叫“糖尿病视网膜病变”,早期没有感觉,慢慢会让人失明,很多人查的时候已经晚了。现在用眼底相机拍一张眼睛的照片,计算机视觉几秒钟就能判断有没有病变,准确率超过95%,帮很多糖尿病人早点发现问题,不会失明;
- **手术机器人**:现在很多高精度手术都用机器人来做,比如眼科手术、脑外科手术,机器人通过摄像头拍的图像,用计算机视觉精准定位病灶,比人手还稳,哪怕手微微抖一下,都能纠正过来,手术成功率更高。
4. 环境保护:地球的守护者
计算机视觉还能帮我们保护地球的生态环境:
- **野生动物保护**:云南的大象保护工作人员,在森林里装了上千个红外相机,拍了几十万张照片,要是人工看,要看好几个月,用计算机视觉几小时就能看完,自动识别里面有没有大象、有没有偷猎的人,还能统计大象的数量和活动范围,帮工作人员更好的保护大象;
- **森林防火**:森林里装了带计算机视觉的摄像头,能24小时监测有没有火情,哪怕只有一点点烟,都能立刻发现,自动报警,比人工巡逻快多了,能避免很多大的森林火灾;
- **农业病虫害识别**:农民伯伯种麦子、种水果,有时候有病虫害,自己看不出来,拍一张庄稼的照片,计算机视觉能识别出来有没有病虫害,是什么病,该用什么药,还能算庄稼的产量,帮农民伯伯增产。
5. 文娱创意:魔法特效的制造者
你平时看的动画片、玩的游戏、刷的短视频里的特效,很多都是计算机视觉做出来的:
- **文物修复**:考古学家挖出来的兵马俑、瓷器很多都是碎的,以前拼一个碎片要几个月,现在用计算机视觉,拍一张碎片的照片,就能自动找到和它匹配的其他碎片,几小时就能拼好,帮考古学家节省了很多时间;
- **AI绘画/视频生成**:现在很火的AI绘画,你输入“一只穿着宇航服的柯基在月球上吃火锅”,几秒钟就能生成对应的画,还能生成动画,甚至能生成你想要的短视频,这些都是计算机视觉的功劳;
- **体育裁判**:网球比赛里的“鹰眼”系统,能通过高速摄像头拍的视频,用计算机视觉精准判断球有没有出界,误差不超过1毫米,比人眼判断准多了,不会有争议。
6. 未来应用:还没实现的魔法
计算机视觉还在快速发展,未来还有很多你想不到的应用:
- 你出门的时候,智能眼镜能自动认出前面的人是谁,提醒你“这是你的同学小李”;
- 你做饭的时候,摄像头能识别你手里的菜,自动告诉你菜谱,还能判断菜有没有炒熟;
- 机器人能通过视觉识别家里的东西,帮你拿拖鞋、拿玩具,甚至能帮你照顾老人。
<!-- 纸书侧边栏:小思考 上面说的这些应用里,你最想要哪一个?为什么?写下来,等学完这本书,你自己做一个出来! --> <!-- Markdown标签:知识点-计算机视觉的应用场景 难度-★☆☆☆☆ 前置知识-无 -->
我们可以用一张流程图把计算机视觉的应用领域整理出来,看起来更清楚: ```mermaid graph LR A[计算机视觉] --> B[日常生活] A --> C[航天探索] A --> D[医疗健康] A --> E[环境保护] A --> F[文娱创意] A --> G[未来应用] B --> B1[刷脸支付/门禁] B --> B2[拍照识物/搜题] B --> B3[自动驾驶/健康监测] C --> C1[火星探测/卫星监测] C --> C2[空间站对接] D --> D1[病灶识别/眼底筛查] D --> D2[手术机器人] E --> E1[动物保护/森林防火] E --> E2[农业病虫害识别] F --> F1[文物修复/特效制作] F --> F2[体育裁判/AI绘画] G --> G1[智能眼镜/家庭机器人] G --> G2[个性化助理/教育助手] ```
本章小实践:动手试试你的“视觉魔法”
不用写代码,不用装软件,现在你就可以体验一下计算机视觉的神奇,完成三个小任务: 1. 识图小挑战:打开手机的百度识图/谷歌识图功能,拍3张不同的东西(比如家里的植物、玩具、水果),看看计算机能不能认出来,把识别结果和实际的东西对比,看看准不准; 2. 特效小体验:打开抖音或者美图秀秀,用里面的AR特效拍个照,看看贴纸、滤镜是不是能准确跟着你的脸动,比如比心的特效会不会在你比心的时候也出现爱心; 3. 找一找身边的CV:找一找家里有多少个用了计算机视觉的东西,比如
找一找家里有多少个用了计算机视觉的东西,比如智能门锁、扫地机器人、带人脸识别的监控摄像头、甚至你玩的AR游戏,都是用了计算机视觉的魔法哦。完成这三个小任务后,你可以在自己的学习笔记本上画一个小星星,代表你已经完成了“视觉魔法小学徒”的第一关挑战!
<!-- 纸书侧边栏:冷知识 全球现在已经有超过30亿台设备用到了计算机视觉技术,从你手里的手机,到天上的火星车,到处都有它的影子,相当于全世界每3个人就有2个人每天在用计算机视觉哦! -->
魔法小剧场:刷脸支付背后的视觉魔法
周末你又去超市买冰淇淋,这次你特意站在收银机前面观察:摄像头对着你闪了一下小灯,不到1秒钟就提示支付成功,你忍不住问身边的“魔法老师”(就是这本书的作者哦):“为什么计算机只要看我一眼,就知道是我呀?会不会把我认成别人?” 魔法老师笑着给你讲了个小故事: “你站在收银机前面的时候,摄像头首先会拍下你脸的照片,这张照片对计算机来说不是‘脸’,而是由几百上千个小像素组成的数字矩阵,每个像素都记着你脸上这个位置的颜色。接下来,计算机就像玩大家来找茬一样,从这些数字里找出你脸的‘专属特征’:比如你的眉毛是有点弯的,左眼睛比右眼睛大一点点,鼻尖有个小痣,还有你笑的时候会有两个小酒窝,这些特征加起来就像你脸的‘专属密码’,只有你有哦。 然后计算机会把你现在的‘密码’和你之前第一次用刷脸支付的时候存进去的‘密码’做对比,如果相似度超过99%,就说明是你本人,就会同意支付。而且它还能识别你是不是拿着照片骗它,要是你拿妈妈的手机照片对着摄像头,它一眼就能看出来是‘假的你’,因为照片没有你说话时的表情变化,也没有你脸部的微小起伏,一下子就露馅啦。”
<!-- 纸书侧边栏:小知识 刷脸支付的时候,计算机只会提取你脸的特征,不会保存你的原始照片,所以不用担心你的照片会被泄露哦,是不是很安全? -->
我们可以把计算机视觉处理一张照片的完整流程画出来,就像魔法师施法的步骤一样: ```mermaid graph LR A[拍摄照片/视频] --> B[图像预处理:调整亮度、去掉杂色、裁剪不需要的部分] B --> C[像素转换:把每个像素的颜色变成RGB数字,组成数字矩阵] C --> D[特征提取:找出关键特征,比如边缘、形状、颜色、纹理] D --> E[模型推理:把提取到的特征和已经学过的上百万个特征做对比] E --> F[输出结果:告诉你这是猫、这是绿萝、这是你的脸] ```
魔法冷知识:计算机视觉的“前世今生”
你可能会觉得计算机视觉是最近几年才有的新技术,其实它的历史已经有60多年啦! 1959年,科学家们做了一个著名的实验:给一只小猫看各种黑白图像,同时记录小猫大脑里的神经信号,发现小猫的大脑会自动识别图像的边缘和轮廓,这就是计算机视觉的最初灵感。那时候的计算机有整个房间那么大,只能处理100×100像素的黑白图像,连一张表情包都存不下。 到了2012年,科学家发明了一种叫“深度学习”的新魔法,计算机视觉的能力突然爆发: ImageNet图像识别大赛里,计算机识别物体的准确率第一次超过了人类水平,从那以后,计算机视觉就像坐上了火箭,飞速发展,现在能做的事越来越多,甚至比人类的视觉还厉害。
<!-- 电子版交互:[点击观看2分钟动画:计算机视觉60年发展史] -->
本章魔法小结:你已经学会的视觉魔法咒语
学完这一章,你已经掌握了计算机视觉最基础的4个魔法咒语,快跟着念一遍,记在你的小本子上吧: 1. 定义咒语:计算机视觉就是给计算机装“电子眼睛”,让它能看懂图像、视频,理解我们生活的世界。 2. 原理咒语:图像变数字,找特征来比,对比学过的,就能认出你。 3. 对比咒语:人眼天生会学习,计算机要练千百遍;人眼抽象能看懂,计算机快又耐疲劳。 4. 应用咒语:生活航天医疗文娱环保样样行,未来魔法更多等你来发现。
魔法小测试:看看你是不是合格的小魔法师?
来做3道小选择题,全对的话你就是合格的“视觉魔法小学徒”啦! 1. 下面哪个不是计算机视觉的应用? A. 刷脸支付 B. 拍照识物 C. 用计算器算数学题 D. 短视频AR特效 <details> <summary>点击看答案</summary> 答案是C。计算器是专门算数字的,没有“看”的功能,其他三个都是靠“看”来工作的哦。 </details>
2. 计算机“看”一张照片的时候,首先会把照片变成什么? A. 一堆文字 B. 一堆像素数字 C. 一段声音 D. 一个3D模型 <details> <summar