CV算法集锦
1. NMS算法(非极大值抑制算法)
该算法主要目的是筛选出重复框,保留有效框。
主要用在 region proposal阶段以及最后框出的阶段。
假设进行非极大值抑制的输入为2000x20的矩阵,2000表示该图像上框的个数,20表示类别数:
具体步骤如下:
-
1 对2000×20维矩阵中每列按从大到小进行排序(每列表示一类,共20类。同一类可能有多个目标,如上图有两个人);
-
2 从每列最大的得分建议框开始,分别与该列后面的得分建议框进行IoU计算,若IoU>阈值,则剔除得分较小的建议框,否则认为图像中同一类物体有多个目标;两个同类的目标的建议框基本不会有重叠(因为两个同类在一张图片中肯定不会有大面积重叠啊),因此去掉建议框重叠较大的实际上是实现了剔除同一个目标的重叠框
-
3 从每列次大的得分建议框开始,重复步骤2;
-
4 重复步骤3直到遍历完该列所有建议框;
-
5 遍历完2000×20维矩阵所有列,即所有物体种类都做一遍非极大值抑制;
2. Batch Normalization reference
- 为什么要进行特征归一化:
- 归一化后加快了梯度下降求最优解的速度;
- 归一化有可能提高精度;
- 简单缩放 min-max
- 标准差标准化 z-score 0均值标准化(zero-mean normalization)
- 经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为
- 非线性归一化 比如log
3.动量更新方法
- 传统SGD更新方法。更新速度慢
x += -learning_rate * dx
- momentum update
v += mu * v - learning_rate * dx
x += v
其中一般的,v初始为0,mu是优化参数,一般初始化参数为0.9,当使用交叉验证的时候,参数mu一般设置成[0.5,0.9,0.95,0.99],在开始训练的时候,梯度下降较快,可以设置mu为0.5,在一段时间后逐渐变慢了,mu可以设置为0.9、0.99。也正是因为有了“惯性”,这个比SGD会稳定一些。
标签:
cv
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用