当前位置: 首页 > news >正文

淘宝店采用哪些方法做网站推广/网络推广专员是干什么的

淘宝店采用哪些方法做网站推广,网络推广专员是干什么的,零遁nas做网站,怎么0元开网店🎈🎈🎈YOLO 系列教程 总目录 YOLOV1整体解读 YOLOV2整体解读 YOLOV2提出论文:YOLO9000: Better, Faster, Stronger 1、YOLOV1 优点:快速,简单!问题1:每个Cell只预测一个类别&…

🎈🎈🎈YOLO 系列教程 总目录

YOLOV1整体解读
YOLOV2整体解读

YOLOV2提出论文:YOLO9000: Better, Faster, Stronger

1、YOLOV1

  • 优点:快速,简单!
  • 问题1:每个Cell只预测一个类别,如果重叠无法解决
  • 问题2:小物体检测效果一般,长宽比可选的但单一

YOLOV2更快!更强!

YOLOYOLOV2
batch norm
hi-res classifier
convolutional
anchor boxes
new network
dimension priors
location prediction
passthrough
multi-scale
hi-res detecttor
VOC2007 mAP63.465.869.569.269.674.475.476.878.6

V2版本整体上没有太多改变,主要在网络上、实现上的细节上有一些改进,如表格中的mAP值是有明显的上升的。看这个表格,v2版本的mAP值有一个很明显的上升,接下来我会根据表格内容依次介绍v2版本在哪些方面有改进。

2、Batch Normalization

  • V2版本舍弃Dropout,卷积后全部加入Batch Normalization
  • 网络的每一层的输入都做了归一化,收敛相对更容易
  • 经过Batch Normalization处理后的网络会提升2%的mAP
  • 从现在的角度来看,Batch Normalization已经成网络必备处理

Batch Normalization:顾名思义,批量归一化处理,分别对一列特征进行进行归一化操作,具体为当前值减去均值再除以方差。
Dropout:随机杀死一些神经元,即被杀死的神经元部分的特征权重为0,避免过拟合,在全连接层最常使用。

在v2版本,首先就全面剔除Dropout,在每一次卷积后都进行了Batch Normalization,能够避免网络往不好的方向训练,能够使得收敛更快,由于这个地方的改动,YOLOv2的mAP提升了约2%。

3、更大的分辨率

  • V1训练时用的是224224,测试时使用448448
  • 可能导致模型水土不服,V2训练时额外又进行了10次448*448 的微调
  • 使用高分辨率分类器后,YOLOv2的mAP提升了约4%

这个实际上就是V1和V2都是使用(224,224)的图像训练,然后都是用(448,448 )的图像测试。只不过V2版本,在训练的时候加了10个epoch,这10个epoch都是用(448,448 )的图像进行训练,因为10个epoch比较个数比较少,所以实际上是对模型进行微调。

这是因为用(224,224)的图像训练,然后用(448,448 )的图像测试会让模型无法适应,增加了10个epoch用(448,448 )的图像进行训练对模型进行微调有一个适应的过程,就是因为这个适应的过程使得YOLOv2的mAP提升了约4%

4、网络结构

  1. DarkNet,实际输入为416*416
  2. 没有FC层,5次降采样,(13*13)
  3. 1*1卷积节省了很多参数

在这里插入图片描述
YOLOV2借助了ResNet和VGG的一些思想:

  1. 所有的全连接层都不见了,全连接层容易过拟合,收敛慢,参数多,最后的输出是(7,7,30)这个用卷积也同样能够做到
  2. 5次降采样操作,maxpooling,(224,224)变成(112,112),最终输出(7,7)
  3. 输入输出进行了改变,输入改成了(416,416)输出为(13,13)
  4. darknet,具体为darknet19,一共有19个卷积层,每次经过卷积的时候特征图的个数会翻倍,这里用了(1,1)的一维卷积降低了卷积核的个数

5、YOLO-V2聚类提取先验框

  • faster-rcnn系列选择的先验比例都是常规的,但是不一定完全适合数据集
  • K-means聚类中的距离: d ( b o x , c e n t r o i d s ) = 1 − I O U ( b o x , c e n t r o i d s ) d(box,centroids) = 1-IOU(box,centroids) d(box,centroids)=1IOU(box,centroids)

5.1 YOLOV1先验框

在YOLOV1中,有两个预选框可供选择,但是实际中物体可能远不止两种,并且有长的宽的,多个物体重叠在一起或者一个物体有多个标签,可能就会出现问题。

5.2 Fast-RCNN先验框

在当时Fast-RCNN用了9种先验框,但是它的做法是有三种scale不同大小,每种大小三种比例的先验框有1:1、1:2、2:1这3种比例,但是这种做法对实际的数据集可能无法完全适配。

5.3 YOLO-V2聚类提取先验框

比如在coco数据集中,有很多标注数据,假如说在标注的数据中标注了100万个框,对这100万个框使用kmeans进行聚类,加入k=5,就会将先验框的大小、长宽比例、中心坐标点等特征分成5类,而这5类也是专门针对当前数据集的个性化分类。那先验框就会有5种确定的大小比例,这就会和最终的实际任务会比较接近。
而kmeans的距离计算公式用LOU来实现。
作者通过实验发现,k=5可以获得比较好的IOU值。

YOLOV1 = 772 = 98
YOLOV2 = 13135 = 845
YOLOV2在先验框的数量上大幅度提升,V1是98个,V2则为845个

6、偏移量计算方法

6.1 anchor boxes

  • 通过引入anchor boxes(锚框,即先验框),使得预测的box数量更多(1313n)
  • 跟faster-rcnn系列不同的是先验框并不是直接按照长宽固定比给定
without anchor69.5mAP81%recall
with anchor69.2mAP88%recall

在第5节提到增加了先验框,但是如表格所示,并没有增加mAP值,但是recall是明显增加的,recall描述了被标记物体全部被检测的可能性。

YOLOV1:使用全连接层来预测边界框的坐标
Faster R-CNN:使用手工挑选的先验因素来预测边界框,Faster R-CNN中的区域生成网络(RPN)只使用卷积层来预测锚框的偏移量和置信度。由于预测层是卷积,RPN预测了特征图中每个位置的偏移量。

Anchor Box的构成:

  • 使用CNN提取的Feature Map的点,来定位目标的位置
  • 使用Anchor Box的Scale来表示目标的大小
  • 使用Anchor Box的Aspect Ratio来表示目标的形状。

6.2 YOLO-V2-Directed Location Prediction

直接的位置预测改为相对位置预测策略

  1. bbox:中心为 ( x p , y p ) (x_p,y_p) (xp,yp),宽和高为 ( w p , h p ) (w_p,h_p) (wp,hp),则: x = x p + w p ∗ t x x = x_p+w_p*t_x x=xp+wptx y = y p + h p ∗ t y y = y_p+h_p*t_y y=yp+hpty
  2. t x t_x tx=1,则将bbox在x轴向右移动 w p w_p wp t x t_x tx=−1则将其向左移动 w p w_p wp
  3. 这样会导致收敛问题,模型不稳定,尤其是刚开始进行训练的时候
  4. V2中并没有直接使用偏移量,而是选择相对grid cell的偏移量

解析:

  1. 得到先验框有4个参数 ( x p , y p , h p , w p ) (x_p,y_p,h_p,w_p) xpyphpwp,这是kmeans聚类预测出来的
  2. 预测出4个偏移量 ( t x , t y , t w , t h ) (t_x,t_y,t_w,t_h) txtytwth,新的框为 ( x , y , h , w ) (x,y,h,w) xyhw,其中 x = x p + t x x = x_p+t_x x=xp+tx,y、h、w同理
  3. 但是这样存在一个问题,网络初期的时候效果不好(网络啥也不会),预测出的offset偏移量可能导致得到的框会错误的很离谱,V2对此做出改进
  4. 具体改进为中心点x、y的偏移量的预测结果,加上sigmoid的,这样保证了中心点不会离开原来的grid cell格子,还要加上单元格与图像左上角的偏移量为 ( c x , c y ) (cx,cy) cxcy,h和w的预测策略不变。

具体公式为:
b x = σ ( t x ) + c x b_x = σ(t_x)+c_x bx=σ(tx)+cx
b y = σ ( t y ) + c y b_y = σ(t_y)+c_y by=σ(ty)+cy
b w = p w e t w b_w = p_we^{t_w} bw=pwetw
b h = p h e t h b_h = p_he^{t_h} bh=pheth

加入预测值为 ( σ t x , σ t y , t w , t h ) (σt_x,σt_y,t_w,t_h) σtxσtytwth = (0.2,0.1,0.2,0.32)
anchor框为: p w = 3.19275 , p h = 4.00944 p_w = 3.19275,p_h = 4.00944 pw=3.19275ph=4.00944
在特征图位置:
b x = 0.2 + 1 = 1.2 b_x = 0.2+1 = 1.2 bx=0.2+1=1.2
b y = 0.1 + 1 = 1.1 b_y = 0.1+1 = 1.1 by=0.1+1=1.1
b w = 3.19275 ∗ e 0.2 = 3.89963 b_w = 3.19275*e^{0.2} = 3.89963 bw=3.19275e0.2=3.89963
b h = 4.00944 ∗ e 0.32 = 5.52153 b_h = 4.00944*e^{0.32} = 5.52153 bh=4.00944e0.32=5.52153
在原位置:
b x = 1.2 ∗ 32 = 38.4 b_x = 1.2*32=38.4 bx=1.232=38.4
b y = 1.1 ∗ 32 = 35.2 b_y = 1.1*32=35.2 by=1.132=35.2
b w = 3.89963 ∗ 32 = 124.78 b_w = 3.89963*32=124.78 bw=3.8996332=124.78
b h = 5.52153 ∗ 32 = 176.68 b_h = 5.52153*32=176.68 bh=5.5215332=176.68

7、YOLO-V2的感受野

7.1 感受野

在这里插入图片描述
从原始图像数据中,经过特征提取,得到一个Feature Map特征图,特征图的一个点可能代表原始图像中一个区域,这个区域就是这个点的感受野。越大的感受野越能感受一个整体。

7.2 卷积核对应参数

在这里插入图片描述
如图有一个(5,5)的图像数据(或者特征图),经过一个(3,3)的卷积核,步长为1,得到的输出就是一个(3,3)的特征图,再经过一个一次卷积就能得到(1,1)的输出,如果直接用5*5的卷积核就能得到一个(1,1)的输出,一步能得到的结果为什么要用两步呢?但是实际中却都是在用小的卷积核没有用大的。实际上用多步小的卷积核,用到的参数更少。

假设输入大小都是(H,W,C),并且都使用c个卷积核(得到c个特征图),可以计算一下各自所需参数:
1个(7,7)卷积核所需参数:
= C • ( 7 • 7 • c ) = 49 c 2 =C • (7 • 7 • c) = 49c^2 =C(7•7•c)=49c2
3个(3,3)卷积核所需参数:
= 3 • c • ( 3 • 3 • c ) = 27 c 2 =3•c•(3•3•c) = 27c^2 =3•c(3•3•c)=27c2

7.3 Fine-Grained Features

  • 最后一层时感受野太大了,小目标可能丢失了,需融合之前的特征

在这里插入图片描述
yolo算法,在一次次的卷积过程中,越往后的感受野越大,(224,224)的图像经过处理最后得到的Feature Map特征图是(7,7),实际上这个感受野太大了,容易忽视一下小物体,比较容易检测到大的物体。

yolov2在最后得到的特征图是(13,13,1024)将其拆分为(1,13,13,1024),倒数第二个特征图为(26,26,512)拆分为(4,13,13,512),再拆分为(2,13,13,1024),将其拼接为(3,13,13,1024),reshape成(13,13,3072)

8、多尺度检测

  • YOLO-V2-Multi-Scale
  • 都是卷积操作可没人能限制我了!一定iterations之后改变输入图片大小

实际中得到的图像大小是不一样的的,全部resize成相同大小,会影响检测效果。
不同输入大小能不能做,肯定能的,卷积和输入大小没有关系啊。
最小的尺寸为(320,320),最大的为(608,608)
原始的YOLO使用448×448的输入分辨率。通过添加锚框,我们将分辨率改为416×416。然而,由于我们的模型只使用卷积层和池化层,因此可以实时调整大小。我们希望YOLOv2能够鲁棒地运行在不同尺寸的图像上,所以我们将多尺度训练应用到模型中。

我们不需要修改输入图像的大小,而是每隔几个迭代就改变网络。每10个批次,我们的网络就会随机选择一个新的图像尺寸。由于我们的模型缩减了32倍,我们从以下32的倍数中抽取:{320, 352, …, 608}。因此,最小的选项是320 × 320,最大的是608 × 608。我们将调整网络的尺寸,然后继续训练。

这种制度迫使网络学会在各种输入维度上进行良好的预测。这意味着同一个网络可以预测不同分辨率下的检测结果。网络在较小的尺寸下运行得更快,因此YOLOv2在速度和准确性之间提供了一个简单的权衡。

在低分辨率下,YOLOv2作为一个廉价、相当准确的检测器运行。在288×288时,它以超过90 FPS的速度运行,其mAP几乎与Faster R-CNN一样好。这使它成为较小的GPU、高帧率视频或多个视频流的理想选择。

在高分辨率下,YOLOv2是一个最先进的检测器,在VOC 2007上的mAP为78.6,而运行速度仍高于实时速度。

YOLOV1整体解读
YOLOV2整体解读

相关文章:

YOLO物体检测-系列教程2:YOLOV2整体解读

🎈🎈🎈YOLO 系列教程 总目录 YOLOV1整体解读 YOLOV2整体解读 YOLOV2提出论文:YOLO9000: Better, Faster, Stronger 1、YOLOV1 优点:快速,简单!问题1:每个Cell只预测一个类别&…...

u盘传输数据的时候拔出会怎么样?小心这些危害

U盘是我们日常生活和工作中常使用的一种便携式存储设备。然而,在使用U盘传输数据时,有时我们会不小心将它拔出,而这个看似微不足道的行为实际上可能会带来严重的后果。本文将向您介绍U盘在传输数据时突然拔出可能导致的各种危害,其…...

【踩坑纪实】URL 特殊字符 400 异常

URL 特殊字符 400 异常 笔者之前在写后端或者前端时,在处理表单时,经常有对特殊字符的检验处理,但自己也不清楚为什么要这么做,浅浅地以为可能是特殊字符不好看或者存取可能会造成异常?不过一直没遇到过问题&#xff…...

Contents:帮助公司为营销目的创建内容

【产品介绍】 名称 Contents上线时间 2017年5月 具体描述 Contents是一家提供基于人工智能的内容生成平台的企业,可以帮助用户在各种网站和工具中使用最先进的机器学习模型,实现视频编辑、图像生成、3D建模等内容创作。【团队介绍…...

1397: 图的遍历——广度优先搜索

题目描述 广度优先搜索遍历类似于树的按层次遍历的过程。其过程为:假设从图中的某顶点v出发,在访问了v之后依次访问v的各个未曾被访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使“先被访问的顶点的邻接点”先…...

Java 华为真题-选修课

需求: 现有两门选修课,每门选修课都有一部分学生选修,每个学生都有选修课的成绩,需要你找出同时选修了两门选修课的学生,先按照班级进行划分,班级编号小的先输出,每个班级按照两门选修课成绩和的…...

Invalid access token: Invalid header string: ‘utf-8‘ codec can‘t decode byte

报错:在运行一个txt文档时报Invalid access token: Invalid header string: ‘utf-8’ codec can’t decode byte 原因:文档编码方式的原因,电脑默认的是UFT-8格式的编码 解决方法:用notepad改一下文档编码就好...

Java 中将多个 PDF 文件合并为一个 PDF

一.前言 我们将从以下两个方面向您展示如何将多个PDF文件合并为一个PDF: 1. 将文件中的多个 PDF 合并为单个 PDF 2. 将流中的多个 PDF 合并为单个 PDF 1. 了解 Spire.PDF 库 要在 Java 中合并 PDF 文件,我们将使用Spire.PDF 库。Spire.PDF for Java 是…...

python经典百题之水仙花数

题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为1531的三次方+5的三次方+3的三次方。 方法一:暴…...

jvm的调优工具

1. jps 查看进程信息 2. jstack 查看进程的线程 59560为进程id 产生了死锁就可以jstack查看了 详细用途可以看用途 3. jmap 如何使用dump文件看下 查看 4.jstat 空间占用和次数 5. jconsole可视化工具 各种使用情况,以及死锁检测 6. visualvm可视化工具…...

C语言--字符串旋转笔试题

C语言–字符串旋转笔试题 文章目录 C语言--字符串旋转笔试题一、字符串左旋1.1 思路11.2 思路1代码1.3 思路21.4 思路2代码 二、字符串旋转结果判断2.1 思路12.2 思路2 一、字符串左旋 实现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个字…...

IntelliJ IDEA使用_常规设置

文章目录 版本说明主题设置取消检查更新依赖自动导入禁止import xxx.*、允许import内部类显示行号、方法分割线、空格代码提示(匹配所有字母)自定义注释颜色添加头部注释自定义字体设置字符编码关联本地GitJDK编译版本Maven配置Tomcat配置代码注释设置头…...

ResponseBodyAdvice 获取参数

废话不多说,简练,一针见血,解决问题,才是最好的。 首先肯定是重写了这个beforeBodyWrite方法 重点来了,获取请求参数: request.getBody()返回一个inputStream流,这里你可以 使用很多方法把这个…...

人力资源服务升级正当时,法大大助力佩信集团加速数字化

人力资源服务业是现代服务业的一个重要门类,在促进就业创业、提供人才服务方面发挥重要作用。同时面对产业转型升级、平台经济快速发展、企业用工成本提高等新形势,发展人力资源服务业对于促进社会化就业、更好发挥我国人力资源优势、服务经济社会发展具…...

UG\NX二次开发 二维向量相加

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 简介: UG\NX二次开发 二维向量相加 效果: 代码: #include "me.hpp"void doIt() {const double vec1[2] = { 1.0,2.0 };const double vec2[2] = { 2.0,2.…...

RabbitMQ深入 —— 持久化和发布确认

前言 前面的文章荔枝梳理了如何去配置RabbitMQ环境并且也介绍了两种比较简单的运行模式,在这篇文章中荔枝将会继续梳理有关RabbitMQ的持久化机制以及发布确认模式的相关知识,希望能够帮助到大家~~~ 文章目录 前言 一、持久化 1.1 队列持久化 1.2 消息…...

人脸识别三部曲

人脸识别三部曲 首先看目录结构图像信息采集 采集图片.py模型训练 训练模型.py人脸识别 人脸识别.py效果 首先看目录结构 引用文121本 opencv │ 采集图片.py │ 训练模型.py │ 人脸识别.py │ └───trainer │ │ trainer.yml │ └───data │ └──…...

【Linux网络编程】Socket-TCP实例

netstat -nltp 无法用read函数读取UDP套接字的数据&#xff0c;因为UDP是面向数据报&#xff0c;而TCP是面向数据流。 客户端不需要 bind&#xff0c;listen&#xff0c;accept&#xff0c;但是客户端需要connect&#xff0c;connect会自动做bind工作。 #include <sys/sock…...

<OpenCV> 边缘填充

OpenCV边缘填充 1、边缘填充类型 enum cv::BorderTypes ORDER_CONSTANT iiiiii|abcdefgh|iiiiiii with some specified i -常量法&#xff0c;常熟值填充&#xff1b; BORDER_REPLICATE aaaaaa|abcdefgh|hhhhhhh -复制法&#xff0c;复制边缘像素&#xff1b; BORDER_R…...

【视觉SLAM入门】7.3.后端优化 基于KF/EKF和基于BA图优化的后端,推导及举例分析

"时间倾诉我的故事" 1. 理论推导2. 主流解法3. 用EKF估计状态3.1. 基于EKF代表解法的感悟 4. 用BA法估计状态4.1 构建最小二乘问题4.2 求解BA推导4.3 H的稀疏结构4.4 根据H稀疏性求解4.5 鲁棒核函数4.6 编程注意 5.总结 引入&#xff1a; 前端里程计能给出一个短时间…...

Docker概念通讲

目录 什么是Docker&#xff1f; Docker的应用场景有哪些&#xff1f; Docker的优点有哪些&#xff1f; Docker与虚拟机的区别是什么&#xff1f; Docker的三大核心是什么&#xff1f; 如何快速安装Docker&#xff1f; 如何修改Docker的存储位置&#xff1f; Docker镜像常…...

PHP请求API接口案例采集电商平台数据获取淘宝/天猫优惠券查询示例

优惠券查询API接口对于用户和商家来说具有重要作用&#xff0c;可以方便地获取优惠券信息&#xff0c;进行优惠券搜索和筛选&#xff0c;参与活动和促销推广&#xff0c;提供数据分析和决策支持&#xff0c;提升用户体验和忠诚度&#xff0c;为商家增加销售额和市场竞争力。 t…...

计算机网络:三次握手与四次挥手

摘取作者&#xff1a;拓跋阿秀 三次握手 三次握手&#xff08;Three-way Handshake&#xff09;其实就是指建立一个TCP连接时&#xff0c;需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后…...

Visual Studio 调试上传文件时自动停止运行的解决方法

进入&#xff1a;选项&#xff0c;项目和解决方案&#xff0c;Web项目&#xff0c; 找到在浏览器窗口关闭时停止调试程序&#xff0c;在调试停止时关闭浏览器 将它不要勾关闭&#xff0c;然后重新启动下Visual Studio&#xff0c;上传文件时就可以调试了...

使用scp命令失败出错

使用scp命令失败出错&#xff0c;无反应。 解决&#xff1a; 1.使用ifconfig查看目标主机公网IP地址 ifconfig需使用公网ip 2.配置免密登录 可参考 远程登录ssh ssh-copy-id root目标主机ip再次尝试scp命令。 SCP&#xff08;Secure Copy&#xff09;是一个用于在本地主机和…...

kafka增加磁盘或者分区,topic重分区

场景&#xff1a;kafka配置文件log.dirs增加了几个目录&#xff0c;但是新目录没有分区数据写入&#xff0c;所以打算进行重分区一下。 1.生成迁移计划 进入kafka/bin目录 新建 topic-reassign.json,把要重分区的topic按下面格式写。 { "topics": [{ …...

SpringMVC系列(五)之JSR303和拦截器

目录 一. JSR303 1.1 JSR303是什么 1.2 为什么要使用JSR303 1.3 JSR303常用注解 1.4 JSR303快速入门 1. 导入相关pom依赖 2. 配置校验规则 3. 入门示例 二. SpringMVC的拦截器 2.1 什么是拦截器 2.2 拦截器与过滤器的区别 2.3 拦截器工作原理 2.4 入门示例 1. 创建…...

LCP 01.猜数字

​​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;LCP 01. 猜数字 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 遍历比较即可。 解题代码&#xff1a; class Solution {public int game(int[] guess, int[] answer) {int res0;for(int …...

智能小车开发

1.材料 店铺&#xff1a;店内搜索页-risym旗舰店-天猫Tmall.com 1.四个小车轮子 2.四个直流减速电机 3.两节18650锂电池&#xff08;每节3.7V&#xff09;&#xff0c;大概电压在7.4V左右&#xff0c;电压最好不要超过12V不然会损坏电机驱动 4.一个18650锂电池盒 5.一个L…...

RDMA性能测试工具集preftest_README

文章目录 1 概述2 安装3 测试方法说明4 测试说明5 运行测试所有测试的通用选项延迟测试选项带宽测试选项ib_send_lat&#xff08;发送延迟测试&#xff09;和 ib_send_bw&#xff08;发送带宽测试&#xff09;的选项ib_atomic_lat&#xff08;原子延迟测试&#xff09;和 ib_at…...