计算机视觉和机器视觉有什么区别吗? - 知乎

我所理解的计算机视觉(compute vision, CV)这个词,可能会是一个生活方式,也可能是未来很多行业的发展方向。

计算机
这里的计算机早已不是传统意义上的个人PC机了,而是指所有“有计算能力”的机器,通俗点讲,带计算芯片的机器。
视觉
利用摄像头拍摄成像,然后把成像数据送给计算芯片完成计算的能力。

生活场景
生活中有很多应用计算机视觉的场景:手机人脸识别、小区门禁人脸识别、汽车感知成像等等。

很多汽车比如特斯拉,都配置了中控显示屏,上面会实时显示汽车周围的环境和行人,像是一个人从汽车顶上方看到的视角一样,这种图像被称为“鸟瞰图”。

不少汽车都会采用类似的方案来感知周围环境,由此而来的 BEV(Bird's-Eye View) 神经网络,便是计算机视觉在汽车领域自动驾驶或辅助驾驶中典型的应用场景。

目前智驾赛道,大多会采用雷达+视觉的方案。雷达像是人的耳朵,姑且称之为计算机听觉,采用雷达和视觉方案,也会最大限度的确保汽车行车安全。

当然有不少人也在争论,纯视觉方案,也就是抛弃雷达,整车全部使用摄像头,不让汽车雷达听,到底行不行。

我个人感觉这种方案可能还有待 CV 算法的进一步成熟。因为一个典型场景便是:汽车从黑暗的隧道中突然使出,或者逆光而行时,这种大光斑呈现在图像上,是很容易造成计算机误判从而出现危险的。

算法
计算机视觉处理的数据,就是各种各样的图像,所以在计算机视觉领域,图像是原材料,算法是菜谱。

计算机视觉中有很多算法,包括传统的图像处理方法,如高斯滤波、墨西哥草帽滤波等,他们其实和深度学习中的卷积算法有些相似,还有一些做图像分割、二值化的经典算法。

比如大津算法,都在传统图像处理中有很不错的应用。

无论是草帽滤波还是大津算法,都是经过了科学家们巧妙的设计,为了处理某一类特定任务的图像而生的。

而到了深度学习领域,和传统图像处理方法一个很明显的区别就是,我们不再需要花费心思设计各种滤波器、设计各种复杂算法了,取而代之是让神经网络自己去学习这些算法。

多个卷积层或其他层的非线性叠加,理论上可以拟合任意的非线性函数。这是基于深度学习的计算机视觉的灵魂。

因此,如果你想单纯做一个草帽滤波,设定好输出标签,设计一些神经网络层直接去做训练就好,等到损失降到最低的时候,你会发现,卷积核拟合出来的数值和草帽滤波器竟然很相似。

这也是深度学习的魅力:人们不需要刻意去设计某些算法,而是全部交给神经网络去学习。

我们只需要将神经网络基础的算法学好,比如卷积、全连接,然后设计好的网络结构,它就可以学到你希望它学的东西。

现在大模型GPT这么火,如果让人们去设计这么复杂的算法,我估计几百年也设计不出来,但是设计好神经网络之后,然后喂给它大量的数据做训练,大力出奇迹,GPU的表现(拟合出来的超级复杂的模拟人脑的算法)竟然惊艳了很多人。

性能
神经网络为什么要做性能优化?

你能想象门禁识别人脸好几秒才能识别出来的场景吗?能想象自动驾驶汽车识别到前方有障碍物,但是反应了好几秒才做出反应吗?

虽然有些夸张,但这种在真实生活中是绝对不允许发生的。

极致性能也是判断一个产品好坏的标志,国内无论是云上训练,还是端侧(手机、监控这属于端侧)实时推理,很多都是采用了GPU或者其他加速芯片来加速计算的。

做性能优化其实不分是视觉网络还是语音网络,很多技术都是通用的,除了与模型本身、算法本身的优化之外,更多的集中在软硬件协同调度这方面。


原网址: 访问
创建于: 2024-02-29 18:15:01
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论