0

0

一文读懂计算机视觉,干货满满

WBOY

WBOY

发布时间:2023-05-16 15:37:06

|

2540人浏览过

|

来源于51CTO.COM

转载

1.前言

计算机视觉(computer vision),通常简称cv,是一个通过技术帮助计算机“看到”并“看懂”图像的研究领域,例如使计算机理解照片或视频的内容。

这篇文章将对计算机视觉进行整体介绍。本文章共分为六个部分,分别是:

  • 计算机视觉为什么重要
  • 什么是计算机视觉
  • 计算机视觉的基本原理
  • 计算机视觉的典型任务
  • 计算机视觉在日常生活中的应用场景
  • 计算机视觉面临的挑战

2.计算机视觉为什么重要

在生理学上,视觉(Vision)的产生都始于视觉器官感受细胞的兴奋,并于视觉神经系统对收集到的信息进行加工之后形成。我们人类通过视觉来直观地了解眼前事物的形体和状态,大部分人依靠视觉来完成做饭、越过障碍、读路牌、看视频以及无数其他任务。事实上,如果不是盲人这类特殊群体,绝大多数人对外界信息的获取都是通过视觉完成的,而这个占比高达80%以上——这个比例并不是没有根据的,著名实验心理学家赤瑞特拉(Treicher)曾通过大量的实验证实:人类获取的信息的83%来自视觉,11%来自听觉,剩下的6%来自嗅觉、触觉、味觉。所以,对于人类来说,视觉无疑是最重要的一种感觉。

不仅人类是“视觉动物”,对于大多数动物来说,视觉也都起到十分重要的作用。通过视觉,人和动物感知外界物体的大小、明暗、颜色、动静,获得对机体生存具有重要意义的各种信息,通过这些信息能够得知,周围的世界是怎样的,以及如何和世界交互。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

一文读懂计算机视觉,干货满满

而在计算机视觉出现之前,图像对于计算机来说是黑盒的状态。一张图像对于计算机来说只是一个文件、一串数据。计算机并不知道图片里的内容到底是什么,只知道这张图片是什么尺寸,占多少内存大小,什么格式的等等。

一文读懂计算机视觉,干货满满 

如果计算机、人工智能想要在现实世界发挥重要作用,就必须看懂图片!因此,半个世纪以来,计算机科学家一直在想办法让计算机也拥有视觉,从而产生了“计算机视觉”这个领域。

一文读懂计算机视觉,干货满满 

网络的迅速发展也令计算机视觉变得尤为重要。下图是2020年以来网络上新增数据量的走势图。灰色图形是结构化数据,蓝色图形是非结构化数据(大部分都是图片和视频)。可以很明显的发现,图片和视频的数量正在以指数级的速度疯狂增长。

一文读懂计算机视觉,干货满满

互联网由文本和图像组成。搜索文本相对简单,但为了搜索图像,算法需要知道图像包含的内容。在很长的一段时间内,人类没有足够的技术来理解图像和视频的内容,只能依靠人工标注来获取图像或视频的描述。如何能让计算机更好地理解这些图像信息,便是当今计算机技术面临的一大挑战。为了充分利用图像或视频数据,需要让计算机“查看”图像或视频,并理解内容。 

3.什么是计算机视觉

计算机视觉是人工智能领域的一个重要分支,简单来说,它要解决的问题就是:让计算机看懂图像或者视频里的内容。比如:图片里的宠物是猫还是狗?图片里的人是老张还是老王?视频里的人在做什么事情?更进一步的说,计算机视觉就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等,并进一步做图形处理,得到更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取高层次信息的人工智能系统。从工程的角度来看,它寻求利用自动化系统模仿人类视觉系统来完成任务。计算机视觉的最终目标是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。但能真正实现计算机能够通过摄像机感知这个世界却是非常之难,因为虽然摄像机拍摄的图像和我们平时所见是一样的,但对于计算机来说,任何图像都只是像素值的排列组合,是一堆死板的数字。如何让计算机从这些死板的数字里面读取到有意义的视觉线索,是计算机视觉应该解决的问题。 

4.计算机视觉的基本原理

用过相机或手机的都知道,计算机擅长拍出有惊人保真度和细节的照片,从某种程度上来说,计算机的人工“视觉”比人类与生自来的视觉能力强多了。但正像我们平日所说的“听见不等于听懂”一样,“看见”也不等于“看懂”,要想让计算机真正地“看懂”图像,那就不是一件简单的事情了。图像是一个大像素网格,每个像素有颜色,颜色是三种基色的组合:红,绿,蓝。通过组合三种颜色的强度——即叫做RGB值,我们可以得到任何颜色。最简单的、最适合拿来入门的计算机视觉算法是:跟踪一个有颜色的物体,比如一个粉色的球,我们首先记下球的颜色,保存最中心像素的RGB值,然后给程序喂入图像,让程序找最接近这个颜色的像素。算法可以从左上角开始,检查每个像素,计算和目标颜色的差异。检查了每个像素后,最贴近的一部分像素,很可能就是球所在的像素。这个算法并不限制于在这单张图片上运行,我们可以把算法运行在视频的每一帧图像上,跟踪球的位置。当然,因为光线、阴影和其他因素的影响,球的颜色会有变化,不会和我们存的RGB值完全一样,但会很接近。不过在一些极端的情况下,比如晚上进行足球比赛,追踪效果就可能会非常差;而且如果其中一队的球衣颜色和球的颜色一样,算法就完全“晕了”。因此,除非环境可以严格控制,这类颜色跟踪算法很少会被真正投入使用。而如今更多使用的计算机视觉算法一般都会涉及“深度学习”(Deep Learning)的方法和技术,其中,卷积神经网络(CNN)因为其优越的性能,使用最为广泛。由于“深度学习”所涉及的知识过于广泛,本篇就不对其进行更详细的叙述了。如想了解更多关于“深度学习”的相关知识,不妨看下AI入门课程——《英特尔® OpenVINO™工具套件初级课程》。它从AI的基本概念开始,介绍人工智能与视觉应用的相关知识,帮助用户快速理解英特尔®OpenVINO™工具套件的基本概念及应用场景。整个课程包含了视频的处理,深度学习的相关知识,人工智能应用的推理加速,以及英特尔®OpenVINO™工具套件的Demo演示,由浅入深,一步一步带你掌握深度学习。 

5.计算机视觉的典型任务

  • 图像分类

图像分类是根据图像的语义信息对不同类别图像进行区分,是计算机视觉的核心,是物体检测、图像分割、物体跟踪、行为分析、人脸识别等其他高层次视觉任务的基础。例如下图,通过图像分类,计算机识别到图像中有人(person)、树(tree)、草地(grass)、天空(sky)。 

微软爱写作
微软爱写作

微软出品的免费英文写作/辅助/批改/评分工具

下载

一文读懂计算机视觉,干货满满

 图像分类在许多领域都有着广泛的应用,如:安防领域的人脸识别和智能视频分析等,交通领域的交通场景识别,互联网领域基于内容的图像检索和相册自动归类,医学领域的图像识别等。 

  • 目标检测

目标检测任务的目标是给定一张图像或是一个视频帧,让计算机找出其中所有目标的位置,并给出每个目标的具体类别。如下图,以识别和检测人为例,用边框标记图像中所有人的位置。

一文读懂计算机视觉,干货满满

而在多类别目标检测中,一般使用不同颜色的边框对检测到的不同物体的位置进行标记,如下图所示。 

一文读懂计算机视觉,干货满满

  • 语义分割

语义分割是计算机视觉中的基本任务,在语义分割中我们需要将视觉输入分为不同的语义可解释类别。它将整个图像分成像素组,然后对像素组进行标记和分类。例如,我们可能需要区分图像中属于汽车的所有像素,并把这些像素涂成蓝色。如下图,把图像分为人(红色)、树木(深绿)、草地(浅绿)、天空(蓝色)标签。

一文读懂计算机视觉,干货满满

实例分割实例分割是目标检测和语义分割的结合,在图像中将目标检测出来(目标检测),然后对每个像素打上标签(语义分割)。对比上图、下图可见,如以人为目标,语义分割不区分属于相同类别的不同实例(所有人都标为红色),实例分割区分同类的不同实例(使用不同颜色区分不同的人)。

一文读懂计算机视觉,干货满满

目标追踪目标跟踪是指对图像序列中的运动目标进行检测、提取、识别和跟踪,获得运动目标的运动参数,进行处理与分析,实现对运动目标的行为理解,以完成更高一级的检测任务。

一文读懂计算机视觉,干货满满

6.计算机视觉在日常生活中的应用场景

计算机视觉的应用场景非常广泛,下面列举几个生活中常见的应用场景。 · 门禁、支付宝上的人脸识别 

一文读懂计算机视觉,干货满满

  • 停车场、收费站的车牌识别

一文读懂计算机视觉,干货满满

  • ​上传视频到网站或APP时的风险识别

一文读懂计算机视觉,干货满满

  • 抖音等APP上的各种自拍道具(需要先识别出人脸的位置)

一文读懂计算机视觉,干货满满

7.计算机视觉面临的挑战

目前,计算机视觉技术发展迅速,已具备初步的产业规模。未来计算机视觉技术的发展主要面临以下挑战:一是如何在不同的应用领域和其他技术更好的结合,计算机视觉在解决某些问题时可以广泛利用大数据,已经逐渐成熟并且可以超过人类,而在某些问题上却无法达到很高的精度;二是如何降低计算机视觉算法的开发时间和人力成本,目前计算机视觉算法需要大量的数据与人工标注,需要较长的研发周期以达到应用领域所要求的精度与耗时;三是如何加快新型算法的设计开发,随着新的成像硬件与人工智能芯片的出现,针对不同芯片与数据采集设备的计算机视觉算法的设计与开发也是挑战之一。 

8.结语

计算机视觉作为人工智能细分领域中发展最快、应用最为广泛的技术之一,它如同人工智能的“眼睛”,为各行各业捕捉和分析更多信息。随着算法的更迭、硬件算力的升级、数据的大爆发,以及未来5G技术发展带来的高速网络,计算机视觉在应用方面也将会有更加广阔的发展空间,让我们拭目以待吧!

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

6

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

60

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

148

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

273

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

113

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

159

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

30

2026.03.03

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

81

2026.02.28

Golang 工程化架构设计:可维护与可演进系统构建
Golang 工程化架构设计:可维护与可演进系统构建

Go语言工程化架构设计专注于构建高可维护性、可演进的企业级系统。本专题深入探讨Go项目的目录结构设计、模块划分、依赖管理等核心架构原则,涵盖微服务架构、领域驱动设计(DDD)在Go中的实践应用。通过实战案例解析接口抽象、错误处理、配置管理、日志监控等关键工程化技术,帮助开发者掌握构建稳定、可扩展Go应用的最佳实践方法。

62

2026.02.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SciPy 教程
SciPy 教程

共10课时 | 1.9万人学习

R 教程
R 教程

共45课时 | 7.7万人学习

SQL 教程
SQL 教程

共61课时 | 4.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号