cs231n

news2025/1/17 8:51:28

计算机视觉概述

a study of visual data
visual data has exploded to a ridiculous degree
手机上两三个摄像头,more camera than people,视觉传感器,摄像头终端,产生很多视觉数据
visual data构成互联网上传输的的大部分数据
80%的流量都是视频,visual date
理解和利用这些来赚钱
每经过1s世界上有5hours视频上传到YouTube

如果object recognition is too hard,先做object segmentation

计算机视觉历史背景

生物视觉的出现
start to gain momentum 开始加速发展
face detection
基础科学到实际应用
相机角度,光线,遮挡,视角,目标自身的变化

identify critical features which tends to remain diagnostic and invariant
具有表现型和不变性 的重要特征

recognize holistic scenes全面的场景

ImageNet发展介绍,带标签的图像数据集

1、我们是否具备识别真实世界中每一个物体的能力

2、大部分机器学习算法
graphical model,support vector machine 支持向量机
AdaBoost
可视化数据很复杂
模型维数往往较高,一堆参数要调优,当训练数据量不够,容易出现overfit

3、以来识别尽可能多的物体
克服机器学习的瓶颈,过拟合问题
由此诞生imageNet
some clever crowd engineering trick to sort ,clean,label each of images
imageNet,15millon~40million
目标检测算法的发展推到一个新的高度
push forward the algorithm development of object recognition into another phrase

imageNet classification error rate 降低到和肉眼识别一样低
使得错误率显著下降的获奖算法是一种 convolutional neural network model

这门课需要 了解 深度学习这个领域look at what these models,principles,good practice 模型的原理
convolutional neutral model or deep learning model模型容量和能力在计算机其他领域 NLP,speech recognition 也运用得很好

课程概述

object detection,image captioning图片摘要,根据图片生成一段句子

the setup in object detection is a little bit different rather than classfying an entire images
用在图像分类中的工具可以在 caption等等中用到
since then,there has been a lot of effort focused in tuning and tweaking微调 these algorithms

Convolutional neutral networks 90年代已经出现
98年就有与CNN类似结构的算法用于识别支票上的数字呀邮编呀,但是CV到2012年后才大量爆发应用。
计算机的计算速度,data数量
一来是由于现在计算能力大大提升,GPU等并行运算可以为CNN提供很好的算力
二来是现在的训练数据量很大,可以很好的减少函数的bias,按老师的说法,要很好的分辨世界万物,模型就会很复杂,模型很复杂就会参数很多,参数很多,training data很少就很容易过拟合,很难一般化。

this is by no means a standard approach at this point
from their external knowledge储备知识
despite the massive progress in the field that we’ve had over the past several years
计算机视觉的运用还有待发掘,攫取更深层次的图片蕴含信息

给出了CV研究的一些待解决问题或者能解决的问题,tackle more ambiguous problems ,例如图像分析+语义描述,activity recognition 行为识别

图像分类

numpy 短短几行代码做相当多的运算,超级重要 向量化操作(待学)
800×600pixels
每个像素由三个数字表示(RGB)
巨大数列giant array
难以从中提取喵咪的特性,称作semantic gap
challenge:viewpoint variation 视角不同,像素组合网格不同但仍然是一只猫

光线
物体的姿势和位置
algorithm must be robust to that occlusion

background clutter背景混乱
背景像猫的纹理
intraclass variation
类内种类差别, 不同

方略一
根据猫猫的轮廓特征等等制定一系列explicit set of rules
困难,当识别对象改变时需要重新制定规则
so the insight that, sort of, makes this all work is this idea of the data-driven approach
基于此!!!
方略二:数据驱动方法
不写具体的分类规则,抓取数据大量猫的图片数据集
有了数据集,训练机器来分类

Machine Learning: Data-Driven Approach
1、Collect a dataset of images and labels
2、Use Machine Learning to train a classifier
3、Evaluate the classifier on new images
函数API发生改变,
训练函数:接受图片和标签,输出模型
预测函数,接收模型 和要识别的图片
在这里插入图片描述

数据驱动类的算法
to be a little more concrete,具体来说
一个叫做CIFAR-10的数据集,常用的测试数据集
图像分类数据集:CIFAR-10。 一个非常流行的图像分类数据集是CIFAR-10。这个数据集包含了60000张32X32的小图像。每张图像都有10种分类标签中的一种。这60000张图像被分为包含 50000张图像的训练集和包含10000张图像的测试集 。在下图中你可以看见10个类的10张随机图片。

最邻近算法 the nearest neighbor algorithm

假设现在我们有CIFAR-10的50000张图片(每种分类5000张)作为训练集,我们希望将余下的10000作为测试集并给他们打上标签。Nearest Neighbor算法将会拿着测试图片和训练集中每一张图片去比较,然后 将它认为最相似的一个训练集图片的标签赋给这张测试图片

如何比对两幅图片?采用怎样的比较函数
L1-distance 也叫曼哈顿距离
dumb stupid
像素之间绝对值的总和

另一种常见的选择是L2,欧氏距离
L1和L2比较。比较这两个度量方式是挺有意思的。在面对两个向量之间的差异时,L2比L1更加不能容忍这些差异。也就是说,相对于1个巨大的差异,L2距离更倾向于接受多个中等程度的差异。L1和L2都是在p-norm常用的特殊形式。

问题一
训练是连续的过程,只需要存储数据,无论数据集有多大,都将是一个恒定的时间
测试时,需要将test image和数据集中N个训练实例进行比对
期待的是训练过程缓慢是OK的(在数据中心进行,可以负担起非常大的运算量),测试过程需要快,CNN就满足这一
问题二
在这里插入图片描述

为什么孤岛是个显然的错误结果现象
图片?和一张a类别图片 最相似,其次和众多b类别的图片相似,显然图片?应该是b类别,而不是a

你可能注意到了,为什么只用最相似的1张图片的标签来作为测试图像的标签呢?这不是很奇怪吗!是的,使用k-Nearest Neighbor分类器就能做得更好。它的思想很简单:与其只找最相近的那1个图片的标签,我们找最相似的k个图片的标签,然后让他们针对测试图片进行投票,最后把票数最高的标签作为对测试图片的预测。所以当k=1的时候,k-Nearest Neighbor分类器就是Nearest Neighbor分类器。从直观感受上就可以看到,更高的k值可以让分类的效果更平滑,使得分类器对于异常值更有抵抗力。

通过图片直观了解
在这里插入图片描述
一个实例在特征空间中的K个最接近(即特征空间中最近邻)的实例中的大多数属于某一个类别,则该实例也属于这个类别。
所选择的邻居都是已经正确分类的实例,是先验信息
该算法假定所有的实例对应于N维欧式空间中的点。通过计算一个点与其他所有点之间的距离,取出与该点最近的K个点,然后统计这K个点里面所属分类比例最大的,则这个点属于该分类。

KNN分类器之NearestNeighbors详解
nice holistic translation!

k最邻近算法

k==1,就是最邻近算法
寄能找出与测试图片最相似的10张图片,最邻近算法只看最相似的一张
k=1,看最相似的前2张
在这里插入图片描述
改变坐标轴,L1距离会发生改变,而L2距离不受影响

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1107671.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux-常用命令-基础命令-删除文件夹以及内容-rm--r-命令-笔记】

【Linux-常用命令-基础命令-删除文件夹以及内容-rm--r-命令-笔记】 1、前言2、操作3、自己的操作 1、前言 最近,在使用Linux的时,使用相关基础命令是,总是容易忘记,上网一搜,大部分都写的比较繁琐,关于删除…

Compose竖向列表LazyColumn

基础列表一 LazyColumn组件中用items加载数据,rememberLazyListState()结合rememberCoroutineScope()实现返回顶部。 /*** 基础列表一*/ Composable fun Items() {Box(modifier Modifier.fillMaxSize()) {val context LocalContext.currentval dataList arrayLi…

锐化多个视频的同时轻松快速批量添加上背景图片的教程

在日常生活中,我们可能经常需要给一些视频添加背景图。但是,这并不是一项简单的任务,需要花费大量的时间和精力。那么,有没有一种简单的方法可以批量添加背景图到视频呢?答案是肯定的。下面,我们就来介绍一…

【word技巧】word页眉,如何禁止他人修改?

我们设置了页眉内容之后,不想其他人修改自己的页眉内容,我们可以设置加密的,设置方法如下: 先将页眉设置好,退出页眉设置之后,我们选择布局功能,点击分隔符 – 连续 设置完之后页面分为上下两节…

css 好看的边框

1、把图片作为边框 border:10px solid transparent;border-image:url(./assets/images/login_bg.png) 30 round;2、斜线边框 斜线边框可以给页面元素增加一份生动感。可以使用linear-gradient()函数来设置。 .box{position:relative;border-top:4px solid #667db6;border-bot…

计算机基础知识34

进程锁 # 锁在IT界很重要,不但在Python中出现,尤其是数据库中得锁更多,比如:表锁、行锁、 悲观锁、乐观锁、进程锁、互斥锁、递归锁、可重入锁、死锁等 # 保证安全 import time # 导入time,执行顺序乱了 from…

docker 部署mysql

Centos7为例 NAME"CentOS Linux" VERSION"7 (Core)" ID"centos" ID_LIKE"rhel fedora" VERSION_ID"7" PRETTY_NAME"CentOS Linux 7 (Core)" ANSI_COLOR"0;31" CPE_NAME"cpe:/o:centos:centos:7&qu…

【ubuntu】常用软件安装

【ubuntu】常用软件安装 前言安装搜狗输入法安装flameshot截图软件总结 前言 Ubuntu 是一个基于 Linux 内核的开源操作系统,它提供了简单易用的界面和丰富的功能,广受开发者和普通用户的喜爱。博主时常也需要经常切换Ubuntu系统进行开发和学习&#xff…

联邦学习综述四

A Survey on Security and Privacy of Federated Learning 选自:Future Generation Computer Systems,2020 本文介绍了联邦学习安全以及隐私方面面临的挑战,提出了一些现有的解决方案。 引言 联邦学习(FL)提供了一种通过将数据从中心服务…

在外包干了4年,我跑路了...

前言 先说一下自己的情况,本人普通本科毕业,19年的时候入的这行,在外包干了4年多功能测试,今年感觉自己不能够在这样下去了(虽然目前行业不太好),长时间呆在外包会让一个人慢慢废掉&#xff01…

IDEA如何拉取gitee项目?

1.登录gitee 说明:打开idea,在设置上面搜索框输入gitee,然后登录gitee注册的账号。 2. 创建gitee仓库 说明:创建idea中的gitee仓库。 3.寻找项目文件 说明:为需要添加gitee仓库的项目进行添加。 4.项目右键 说明&a…

一文带你GO语言入门

什么是go语言? Go语言(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go语言的主要特点包括:- 简洁和简单 - 语法简单明快,易于学习和使用 特点 高效 编译速度快,执行效率高 并发支持 原生支持并发,利用goroutine实现高效的并发…

Java OpenJDK 8u392 Windows x64

文章目录 (一)Azul(二)Adopt(三)IBM(四)Oracle (一)Azul WEB Page:🔗Download Azul Zulu Builds of OpenJDK Windows archive&#xf…

绝对详细的MyBatis代码生成器讲解

0.简介 在springboot工程中如果使用mybatis作为持久层框架,那必须知道如何自动生成 java 实体类、dao 层接口(mapper 接口)及mapper.xml文件,这样可以减少不必要的开发。 生成代码的方式有很多种,比如说利用idea的插…

rust学习—— 控制流if 表达式

控制流 根据条件是否为真来决定是否执行某些代码,或根据条件是否为真来重复运行一段代码,是大部分编程语言的基本组成部分。Rust 代码中最常见的用来控制执行流的结构是 if 表达式和循环。 if 表达式 if 表达式允许根据条件执行不同的代码分支。你提供…

C++学习:数据的存储、作用域、链接

一、数据的存储方式 C中使用3种不同的方案来存储数据,不同方案的区别在于数据在内存中保留的时间。 1、自动存储 在函数定义中声明的变量,以及函数的参数,是自动存储的。在程序执行对应函数的时候创建这些变量,对应的函数执行完…

别再卷组件库了,Vue 拖拽库都断代了!

前言 最近在测试 Tailwind CSS 和 Uno CSS 这两种原子化 CSS 工具是否能够有效减少打包后的文件体积时,先开始分析这些工具的优缺点,然后再直接上数据,最后做了一款经典的 TodoList 来进行测试,文章都写好了就差最后的数据了。 …

中国人民大学与加拿大女王大学金融硕士项目:开启你的金融精英之路

在全球化的今天,金融行业的发展日新月异,对金融人才的需求也日益增长。为了满足这一需求,中国人民大学与加拿大女王大学联合推出了金融硕士项目,旨在培养具有国际视野、专业素养和创新能力的金融精英。 这一开创性的项目将两大世…

VR全景图片如何拍摄制作,拍摄制作过程中要注意什么?

引言: VR全景图片就是通过专业的相机设备捕捉到的一个空间的高清图像,再经过专业工具进行拼合,呈现出一种环绕式的视觉效果。想象一下,当你站在一个完全真实的环境中,可以自由地转动视角,看到四周的景色&a…

2023.10(u盘刻录iso)主机,vmware,virtualbox安装linux/ubuntu/kali/centos stream9/arch

download 1 kali官网 2 ubuntu官网 3vmware workstation pro(最新版17pro) 4 virtualbox for linux sudo apt install virtualbox-ext-pack 5 win32 disk imger linux dd 刻录iso到u盘 #查看U盘路径 fdisk -l #图形界面 以kali为例会在桌面出现挂载图标 点开之后输入pwd寻…