第65章 计算机视觉(1/2)
请关闭浏览器的阅读/畅读/小说模式并且关闭广告屏蔽过滤功能,避免出现内容无法显示或者段落错乱。
窗外的鹏城湾在晨光中泛起粼粼波光,林晨揉了揉有些发酸的眼睛,将昨晚整理的 NLP 学习笔记保存归档。
连续两周沉浸在 Transforr 架构和 BERT 模型的原理中,那种从困惑到豁然开朗的过程让他着迷。但作为一个有十年开发经验的老码农,他深知技术学习的广度同样重要——特别是在 AI 这个日新月异的领域。
“接下来该学计算机视觉了”。林晨打开笔记本,新建了一个名为“CV_Learng”的文件夹。
计算机视觉(puter Vision),这个让机器“看懂”世界的领域,对林晨来说既熟悉又陌生。熟悉的是,他在跨境电商公司工作时接触过简单的图像处理,比如商品图片的自动裁剪和优化;陌生的是,那些基于深度学习的现代 CV 技术,对他而言还是一片待开垦的沃土。
他先花了一个上午时间梳理知识体系。从最基础的图像表示(像素、通道、色彩空间)开始,到传统的图像处理方法(边缘检测、特征提取),再到深度学习的革命性突破。当他看到 2012 年 Alex 在 Iage 竞赛中以压倒性优势夺冠的那张历史性图表时,内心涌起一阵技术人特有的激动——那是深度学习在 CV 领域的第一声春雷。
“卷积神经网络()……”林晨喃喃自语,点开了吴恩达教授在 Coursera 上的经典课程。
卷积层、池化层、全连接层,这些概念像拼图一样在他脑中逐渐拼接成型。他特别喜欢卷积操作的那个直观比喻:用一个小的滤波器(比如 3×3 的矩阵)在图像上滑动,就像拿着放大镜一寸寸地查看图像中的局部特征。
“所以边缘检测其实就是一种特定的卷积核”。林晨在 Jupyter Notebook 里敲下几行代码,用 OpenCV 库加载了一张鹏城湾夜景的照片,然后尝试用 Sobel 算子提取边缘。当黑白分明的轮廓线在屏幕上显现时,他仿佛听到了图像在向他“说话”。
午饭是苏婉提前准备好的便当,林晨一边吃着,一边继续研究。 的进化史像一部技术史诗:从 Le-5 的手写数字识别,到 Alex 的深度突破,再到 VGG 那令人印象深刻的“3×3 卷积堆叠”设计哲学。
但真正让他屏住呼吸的是 Res(残差网络)。
“跳跃连接(Skip e)……”林晨反复阅读着何恺明那篇着名论文中的图示。当神经网络层数加深时,梯度消失问题会让训练变得极其困难,而 Res 通过让信息“跳过”某些层直接传递,巧妙地解决了这个问题。
他在草稿纸上画着示意图:“假设我们要学习一个映射 F(x),传统的网络试图直接拟合 F(x),而 Res 学习的是残差 F(x)?x,然后输出 x+[F(x)?x]=F(x)。这样即使深层网络的权重更新很小,至少恒等映射的部分能保证信息流通……”
“太优雅了”。林晨忍不住赞叹。这种在看似复杂问题中找到简洁本质的能力,正是顶尖工程师与普通码农的区别。
下午三点,他开始研究目标检测(Object Dete)。这是 CV 领域最具实用价值的方向之一——不仅要识别图像中有什么,还要标出它们在哪里。
两阶段检测器代表 R- 系列,单阶段检测器代表 YOLO……林晨对比着两者的架构图。R- 先产生候选区域再分类,精度高但速度慢;YOLO(You Only Look Once)则将检测任务转化为回归问题,把整张图像输入网络,一次性输出边界框和类别,速度极快。
“YOLO v3 的 Dark-53 主干网络,结合了 Res 的跳跃连接思想……”林晨下载了 YOLO 的开源代码,在本地环境里尝试运行。当看到示例代码成功检测出图像中的狗、自行车和卡车时,他意识到自己正在触摸到当前工业界最实用的 CV 技术之一。
理论必须与实践结合。林晨决定动手做一个项目:用目标检测技术识别家里的常见物品。
第一步是收集数据。他拿起手机,在客厅、厨房、卧室各个角度拍摄了上百张照片——沙发、茶几、电视、冰箱、微波炉、床、衣柜……每张照片都包含多件物品。
“得自己标注数据了”。林晨苦笑。这可能是 CV 项目中最枯燥的环节。他下载了 LabelIg 工具,开始一张张地画边界框、打标签。鼠标点击、拖动、输入类别名称,这个动作重复了数百次。当标注完最后一张照片时,窗外已是华灯初上。
本章未完,点击下一页继续阅读。