浅谈计算机视觉的学习路径1
计算机视觉(Computer Vision, CV)是人工智能领域的一个重要分支,它的目标是使计算机能够像人类一样理解和处理图像和视频数据。

面向想要从事该方向的大学生,笔者这里给出以下是关于计算机视觉的学习路径建议:
-
简要了解计算机视觉的发展历史:
- 早期计算机视觉(1960年代-1980年代):主要关注图像信息提取,使用边缘检测、二值化等技术。这一阶段是形态学研究为主,尤其是各种模板算子的设计和创新为主。
- 特征提取与匹配(1980年代-1990年代):研究重点转向特征提取和匹配,如Harris角点检测和SIFT特征提取算法。这一阶段兴趣点提取相关技术研究为主,带动视觉开始走向民用及工业应用。
- 深度学习时代(2000年代至今):深度学习技术的兴起,如卷积神经网络(CNN),推动了计算机视觉的快速发展。这一阶段直接跳过之前以特征设计和兴趣点提取为基础的计算机视觉常态化研究模式,开启各种深度模型网络和特征自学习的新方向。
- 当前与未来(2020年代)大语言多模态技术:计算机视觉正处于高速发展期,未来将涉及更广泛的应用领域,如智能对话,智能机器人,医学影像分析、环境监测等。深度学习相关技术,尤其是NLP相关研究,比如大语言模型,开始进行大语言多模态技术的快速发展应用。
-
主要涉及的学科知识点:
- 图像处理:包括图像预处理、特征提取、图像分割等传统图像处理技术。
- 机器学习:涉及算法如支持向量机(SVM)、随机森林,子空间,分类,聚类,回归等算法。
- 深度学习:包括卷积神经网络(CNN)、循环神经网络(RNN), LSTM, Attention, Seq等。
- 机器人相关: 包含机器运动控制,人机交互等知识。
-
主要使用的算法模型:
- RCNN系列:包括RCNN、Fast R-CNN、Faster R-CNN等,用于目标检测。
- YOLO系列:如YOLOv1、YOLOv2、YOLOv3等,用于实时目标检测。
- Transformer模型:如DETR,用于目标检测和分割。
-
常用的开发工具和开发环境:
- 操作系统:推荐使用Linux,因为许多开源库和工具都是基于Linux开发的。MAC, WINDOWS实际开发次之。
- 开发工具:如Visual Studio Code、PyCharm等。
- 编程语言:Python是最常用的编程语言之一,具有丰富的库和工具支持。 C++是性能最优化选择,Cuda则是GPU计算无法绕开的一门语言。
- 库和框架:如OpenCV、TensorFlow、PyTorch, CUDA库等。
-
典型的应用案例:
- 智能安防:人脸识别、行为分析等。
- 自动驾驶:车辆检测、行人识别、道路分割等。
- 医疗影像分析:肿瘤检测、细胞分类等。
-
未来3~5年的发展展望:
- 深度学习与计算机视觉结合的可解释性、安全性、鲁棒性、透明性。
- 小样本训练、自监督学习、知识图谱、模型压缩。
- 数据高效、软硬结合。
-
2024年计算机视觉热点研究
-
3D高斯散射(3D Gaussian Splatting):这是一种新型三维场景表示和渲染方法,它比传统的神经辐射场(NeRF)具有更快的渲染速度和更好的细节表现。例如,Scaffold-GS、GPS-Gaussian 和 GaussianAvatar 等研究工作都在这个方向上取得了进展 。
-
扩散模型(Diffusion Models):扩散模型是生成模型领域的研究热点,尤其在图像生成和编辑方面表现出色。DistriFusion、DiffAssemble、DEADiff 和 Face2Diffusion 等研究展示了扩散模型在这些任务上的应用 。
-
文本引导的图像生成:这个方向的研究致力于通过文本描述生成相应的图像内容,如 RealCustom、NoiseCollage 和 Text2QR 等研究,它们提升了文本到图像生成的质量和灵活性 。
-
多模态学习:多模态学习通过融合不同模态的信息来提升模型性能,MP5、Polos 和 MADTP 等研究探索了多模态信息的融合与利用 。
-
目标检测和语义分割:作为计算机视觉的基础任务,目标检测和语义分割的研究持续深入。UniMODE、CN-RMA、Salience DETR、PEM、DDFP 等研究在这些方向上取得了新的进展 。
-
基于图神经网络和图Transformers的方法:图神经网络(GNN)和图Transformers 在处理不规则拓扑的视觉信息方面展现出了显著的性能优势,被广泛应用于目标检测、点云处理等领域 。
-
跨学科融合方法:随着计算机视觉研究的成熟,跨学科的方法成为趋势,例如结合认知科学和多模态机器学习的研究 。
-
-
推荐的学习资源:
- 书籍:《Computer Vision: A Modern Approach》、《Computer Vision: Algorithms and Applications》、《Multiple View Geometry in Computer Vision》等。
- 在线课程:Coursera、edX、Udacity等平台提供的计算机视觉相关课程。
- 开发环境搭建指南:可以参考百度开发者中心的《计算机视觉开发环境搭建指南》 。
-
专业论坛和社区:
- 中国计算机学会计算机视觉专委会(CCF-CV) :提供学术交流和最新动态。
- GitHub:参与开源项目,学习实战经验。无需多言,这是每个计算机人最应该常去的地方。
- OpenCV 官方论坛:OpenCV 是计算机视觉领域广泛使用的开源库,其官方论坛是讨论 OpenCV 相关问题和分享项目经验的好地方
-
NVIDIA Developer Forums:NVIDIA 的开发者论坛中有一个专门的计算机视觉与图像处理板块,可以讨论与 NVIDIA 相关的计算机视觉技术和应用。
-
Huggingface: Hugging Face (github.com) 深度学习模型社区
-
ModelScope: 魔搭社区 (modelscope.cn) 阿里推出的AI开源生态
通过上述相关书籍, 工具和社区,相信广大有志从事计算机视觉的大学生可以系统地学习相关知识,并为未来的研究或职业生涯打下坚实的基础。
相关文章:
浅谈计算机视觉的学习路径1
计算机视觉(Computer Vision, CV)是人工智能领域的一个重要分支,它的目标是使计算机能够像人类一样理解和处理图像和视频数据。 面向想要从事该方向的大学生,笔者这里给出以下是关于计算机视觉的学习路径建议: 简要了解…...
VScode C语言中文乱码问题解决
🎉 前言 省流:这不是正经的教学,纯属是作者弱智操作导致的乱码问题,绝不是是什么配置原因导致的。 🎉 问题描述 贴一下我写的C语言代码(太久没写了,最近学数据结构才拾起来) #in…...
安全基础学习-AES128加密算法
前言 AES(Advanced Encryption Standard)是对称加密算法的一个标准,主要用于保护电子数据的安全。AES 支持128、192、和256位密钥长度,其中AES-128是最常用的一种,它使用128位(16字节)的密钥进…...
Python 项目实践:文件批量处理
Python 项目实践:文件批量处理 文章目录 Python 项目实践:文件批量处理一 背景二 发现问题三 分析问题四 解决问题1 找到所有文件2 找到文件特定字段3 找出复杂的字符串4 替换目标字符串5 验证文件是否正确 五 总结六 完整代码示例七 源码地址 本项目旨在…...
jsonschema - 校验Json内容和格式
1、创建对象 from pydantic import BaseModel from typing import Listclass Person(BaseModel):name: strage: intclass Student(Person): level: int 16friends: List[Person] 2、生成 schema schema Student.model_json_schema()内容如下 {$defs: {Person: {propertie…...
浅谈计算机视觉新手的学习路径
浅谈计算机视觉新手的学习路径 计算机视觉是人工智能领域的一个重要分支,它的研究目标是使计算机能够理解和解释我们视觉可以看到的所有外界世界信息。对于一个计算机视觉领域的新人,学习计算机视觉大致可以分为几个步骤,包括理论基础、实际…...
SQL编程题复习(24/9/19)
练习题 x25 10-145 查询S001学生选修而S003学生未选修的课程(MSSQL)10-146 检索出 sc表中至少选修了’C001’与’C002’课程的学生学号10-147 查询平均分高于60分的课程(MSSQL)10-148 检索C002号课程的成绩最高的二人学号…...
提前解锁 Vue 3.5 的新特性
Vue 3.5 是 Vue.js 新发布的版本,虽然没有引入重大变更,但带来了许多实用的增强功能、内部优化和性能改进。 1. 响应式系统优化 Vue 3.5 进一步优化了响应式系统的性能,并且减少内存占用。尤其在处理大型或深度嵌套的响应式数组时ÿ…...
web基础—dvwa靶场(十)XSS
XSS(DOM) 跨站点脚本(XSS)攻击是一种注入攻击,恶意脚本会被注入到可信的网站中。当攻击者使用 web 应用程序将恶意代码(通常以浏览器端脚本的形式)发送给其他最终用户时,就会发生 XSS 攻击。允许这些攻击成…...
搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(五)-聚合
聚合 聚合基于Query结果的统计,执行过程是搜索的一部分,Onesearch支持0代码构建聚合,聚合目前完全在引擎层 0代码聚合 上图是聚合的配置,包括2个pdm文档聚合统计 termsOfExt term桶聚合,统计ext,如&…...
Pandas中df常用方法介绍
目录 常用方法df.columnsdf.indexdf.valuesdf.Tdf.sort_index()df.sort_values() 案例 常用方法 df.columns df.columns 是 Pandas 中 DataFrame 对象的一个属性,用于获取 DataFrame 中的列标签(列名)。 基本语法如下: df.col…...
LabVIEW中AVI帧转图像数据
在LabVIEW中,有时需要将AVI视频文件的帧转换为图像数据进行进一步处理。下面详细讲解了如何从AVI视频提取单帧并将其转换为图像数据集群,以便与其他图像处理VI兼容。 问题背景: 用户已经拥有能够处理JPEG图像数据集群的VI,现在希…...
并发与并行的区别:深入理解Go语言中的核心概念
在编程中,并发与并行的区别往往被忽视或误解。很多开发者在谈论这两个概念时,常常把它们混为一谈,认为它们都指“多个任务同时运行”。但实际上,这种说法并不完全正确。如果我们深入探讨并发和并行的区别,会发现它不仅是词语上的不同,更是编程中非常重要的抽象层次,特别…...
小小扑克牌算法
1.定义一个扑克牌类Card: package democard; public class Card {public String suit;//表示花色public int rank;//表示牌点数Overridepublic String toString() {return "{"suit rank"}";}//实例方法,初始化牌的点数和花色public…...
【第34章】Spring Cloud之SkyWalking分布式日志
文章目录 前言一、准备1. 引入依赖 二、日志配置1. 打印追踪ID2. gRPC 导出 三、完整日志配置四、日志展示1. 前端2. 后端 总结 前言 前面已经完成了请求的链路追踪,这里我们通过SkyWalking来处理分布式日志; 场景描述:我们有三个服务消费者…...
easy-es动态索引支持
背景 很多项目目前都引入了es,由于es弥补了mysql存储及搜索查询的局限性,随着技术的不断迭代,原生的es客户端使用比较繁琐不直观,上手代价有点大,所以easy-es框架就面世了,学习成本很低,有空大…...
SWC(Speedy Web Compiler)
概述 SWC 由 Rust 编写, 既可用于编译,也可用于打包。 对于编译,它使用现代 JavaScript 功能获取 JavaScript / TypeScript 文件并输出所有主流浏览器支持的有效代码。 SWC在单线程上比 Babel 快 20 倍,在四核上快 70 倍。 简…...
【计算机网络】传输层协议UDP
目录 一、端口号1.1 端口号范围划分1.2 认识知名端口号 二、UDP协议2.1 UDP协议端格式2.2 UDP的特点2.3 UDP的缓冲区2.4 UDP使用注意事项2.5 基于UDP的应用层协议 一、端口号 传输层协议负责数据的传输,从发送端到接收端。端口号标识一个主机上进行通信的不同的应用…...
Docker+PyCharm远程调试环境隔离解决方案
DockerPyCharmMiniconda实现深度学习代码远程调试和环境隔离 本文详细介绍了如何在局域网环境下,利用Docker、PyCharm和Miniconda构建一个高效的深度学习远程调试平台。首先在服务器(server)上,通过Docker构建包含不同CUDA环境的镜…...
数字化转型的理论框架对比:从多维视角指导企业成功变革对比DPBOKIT4ITCOBITTOGAF
数字化转型的多维框架解析 在数字化时代,企业如何有效实现数字化转型已成为其生存和发展的关键问题。然而,市场上关于数字化管理的各种框架和理论并存,企业需要根据自身的需求选择最适合的指导路径。本文将通过对几个核心理论框架的对比&…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...
MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...
