职称论文百科

yolov3论文什么时候发表

发布时间:2024-07-01 11:56:46

yolov3论文什么时候发表

本文是我对YOLO算法的细节理解总结,本文的阅读前提是已读过YOLO相关论文,文中不会谈及YOLO的发展过程,不会与其他对象检测算法进行对比,也不会介绍YOLO9000相关的内容,只总结YOLOv3算法的具体流程和实现细节。所以,下文中所有提到的YOLO,如非特别说明,均指YOLOv3。 如果需要了解更多对象检测算法,可以参考以下部分相关论文: R-CNN Fast R-CNN Faster R-CNN SSD YOLOv1 YOLOv2 YOLOv3 RetinaNet 最新关于对象检测的综述文献可以参考这篇论文: Deep Learning for Generic Object Detection: A Survey 在YOLO算法发表之前,大部分表现比较好的对象检测(Object Detection)算法都是以R-CNN为代表两阶段算法,这样的算法存在一个很明显的问题,那就是速度太慢,对于实时性要求很高的应用场景是不适用的。YOLO算法的作者没有走优化算法第一阶段或者第二阶段的老路子,而是直接提出一步完成预测,而且是在一个CNN网络模型中完成图片中所有位置对象的box和类别预测,推理速度大大提升,完全可以满足实时对象检测。 YOLO算法创新性地提出了将输入图片进行N*N的栅格化(每个小单元叫grid cell),然后将图片中某个对象的位置的预测任务交与该对象中心位置所在的grid cell的bouding box。简单理解的话,可以认为这也是一种很粗糙的区域推荐(region proposal),在训练的时候,我们通过grid cell的方式告诉模型,图片中对象A应该是由中心落在特定grid cell 的某个范围内的某些像素组成,模型接收到这些信息后就在grid cell周围以一定大小范围去寻找所有满足对象A特征的像素,经过很多次带惩罚的尝试训练后,它就能找到这个准确的范围了(说明不是瞎找,如滑动窗口),当然这个方位不仅是指长宽的大小范围,也包括小幅度的中心位置坐标变化,但是不管怎么变,中心位置不能越过该grid cell的范围。这大大限制了模型在图片中瞎找时做的无用功。这样将位置检测和类别识别结合到一个CNN网络中预测,即只需要扫描一遍(you only look once)图片就能推理出图片中所有对象的位置信息和类别。举例如下图。 以上是我个人理解的YOLO算法的核心思想,不管是YOLOv1还是v2、v3,其主要的核心还是以上所述,只是在bounding box的拟合方式、骨干网络的设计、模型训练的稳定性、精度方面有所提升罢了。下面对整个模型的网络结构、实现和训练细节进行阐述。 既然已经有了you only look once的想法,那接下来就要将这个想法数学化,这样才能用数学的方法训练模型学习拟合坐标和类别的特征,用于后期的预测。YOLO算法几乎是输入原图就直接预测出每个grid cell“附近”是否有某个对象和具体的 box位置,那最终这个想法数学化后便体现在loss函数上,这里我先不给出loss函数的具体公式,因为在提出loss函数之前要先了解三个概念:anchor box、置信度(confidence)和对象条件类别概率(conditional class probabilities)。作者提出,在网络最后的输出中,对于每个grid cell对应bounding box的输出有三类参数:一个是对象的box参数,一共是四个值,即box的中心点坐标(x,y)和box的宽和高(w,h);一个是置信度,这是个区间在[0,1]之间的值;最后一个是一组条件类别概率,都是区间在[0,1]之间的值,代表概率。下面分别具体介绍这三个参数的意义。 anchor box最初是由Faster RCNN引入的。anchor box(论文中也称为bounding box prior,后面均使用anchor box)其实就是从训练集的所有ground truth box中统计(使用k-means)出来的在训练集中最经常出现的几个box形状和尺寸。比如,在某个训练集中最常出现的box形状有扁长的、瘦高的和宽高比例差不多的正方形这三种形状。我们可以预先将这些统计上的先验(或来自人类的)经验加入到模型中,这样模型在学习的时候,瞎找的可能性就更小了些,当然就有助于模型快速收敛了。以前面提到的训练数据集中的ground truth box最常出现的三个形状为例,当模型在训练的时候我们可以告诉它,你要在grid cell 1附件找出的对象的形状要么是扁长的、要么是瘦高的、要么是长高比例差不多的正方形,你就不要再瞎试其他的形状了。anchor box其实就是对预测的对象范围进行约束,并加入了尺寸先验经验,从而可以有效解决对象多尺度的问题(Faster RCNN论文中指出的作用)。 这篇文章 对anchor box的作用进行了另外的解释,个人觉得也很有道理,将部分内容翻译如下: 要在模型中使用这些形状,总不能告诉模型有个形状是瘦高的,还有一个是矮胖的,我们需要量化这些形状。YOLO的做法是想办法找出分别代表这些形状的宽和高,有了宽和高,尺寸比例即形状不就有了。YOLO作者的办法是使用k-means算法在训练集中所有样本的ground truth box中聚类出具有代表性形状的宽和高,作者将这种方法称作维度聚类(dimension cluster)。细心的读者可能会提出这个问题:到底找出几个anchor box算是最佳的具有代表性的形状。YOLO作者方法是做实验,聚类出多个数量不同anchor box组,分别应用到模型中,最终找出最优的在模型的复杂度和高召回率(high recall)之间折中的那组anchor box。作者在COCO数据集中使用了9个anchor box,我们前面提到的例子则有3个anchor box。 那么有了量化的anchor box后,怎么在实际的模型中加入anchor box的先验经验呢?我们在前面中简单提到过最终负责预测grid cell中对象的box的最小单元是bounding box,那我们可以让一个grid cell输出(预测)多个bounding box,然后每个bounding box负责预测不同的形状不就行了?比如前面例子中的3个不同形状的anchor box,我们的一个grid cell会输出3个参数相同的bounding box,第一个bounding box负责预测的形状与anchor box 1类似的box,其他两个bounding box依次类推。作者在YOLOv3中取消了v2之前每个grid cell只负责预测一个对象的限制,也就是说grid cell中的三个bounding box都可以预测对象,当然他们应该对应不同的ground truth。那么如何在训练中确定哪个bounding box负责某个ground truth呢?方法是求出每个grid cell中每个anchor box与ground truth box的IOU(交并比),IOU最大的anchor box对应的bounding box就负责预测该ground truth,也就是对应的对象,后面还会提到负责预测的问题。 到此,还有最后一个问题需要解决,我们才能真正在训练中使用anchor box,那就是我们怎么告诉模型第一个bounding box负责预测的形状与anchor box 1类似,第二个bounding box负责预测的形状与anchor box 2类似?YOLO的做法是不让bounding box直接预测实际box的宽和高(w,h),而是将预测的宽和高分别与anchor box的宽和高绑定,这样不管一开始bounding box输出的(w,h)是怎样的,经过转化后都是与anchor box的宽和高相关,这样经过很多次惩罚训练后,每个bounding box就知道自己该负责怎样形状的box预测了。这个绑定的关系是什么?那就是下面这个公式: 其中, 和 为anchor box的宽和高, 和 为bounding box直接预测出的宽和高, 和 为转换后预测的实际宽和高,这也就是最终预测中输出的宽和高。你可能会想,这个公式这么麻烦,为什么不能用 这样的公式,我的理解是上面的公式虽然计算起来比较麻烦,但是在误差函数求导后还带有 和 参数,而且也好求导 (此观点只是个人推测,需要进一步查证) 。 既然提到了最终预测的宽和高公式,那我们也就直接带出最终预测输出的box中心坐标 的计算公式,我们前面提到过box中心坐标总是落在相应的grid cell中的,所以bounding box直接预测出的 和 也是相对grid cell来说的,要想转换成最终输出的绝对坐标,需要下面的转换公式: 其中, 为sigmoid函数, 和 分别为grid cell方格左上角点相对整张图片的坐标。作者使用这样的转换公式主要是因为在训练时如果没有将 和 压缩到(0,1)区间内的话,模型在训练前期很难收敛。 最终可以得出实际输出的box参数公式如下,这个也是在推理时将输出转换为最终推理结果的公式:关于box参数的转换还有一点值得一提,作者在训练中并不是将 、 、 和 转换为 、 、 和 后与ground truth box的对应参数求误差,而是使用上述公式的逆运算将ground truth box的参数转换为与 、 、 和 对应的 、 、 和 ,然后再计算误差,计算中由于sigmoid函数的反函数难计算,所以并没有计算sigmoid的反函数,而是计算输出对应的sigmoid函数值。关于anchor box训练相关的问题除了与loss函数相关的基本上都解释清楚了,但是预测的问题还没有解释清楚,还存在一个很关键的问题:在训练中我们挑选哪个bounding box的准则是选择预测的box与ground truth box的IOU最大的bounding box做为最优的box,但是在预测中并没有ground truth box,怎么才能挑选最优的bounding box呢?这就需要另外的参数了,那就是下面要说到的置信度。 置信度是每个bounding box输出的其中一个重要参数,作者对他的作用定义有两重:一重是代表当前box是否有对象的概率 ,注意,是对象,不是某个类别的对象,也就是说它用来说明当前box内只是个背景(backgroud)还是有某个物体(对象);另一重表示当前的box有对象时,它自己预测的box与物体真实的box可能的 的值,注意,这里所说的物体真实的box实际是不存在的,这只是模型表达自己框出了物体的自信程度。以上所述,也就不难理解作者为什么将其称之为置信度了,因为不管哪重含义,都表示一种自信程度:框出的box内确实有物体的自信程度和框出的box将整个物体的所有特征都包括进来的自信程度。经过以上的解释,其实我们也就可以用数学形式表示置信度的定义了:其中, 表示第i个grid cell的第j个bounding box的置信度。对于如何训练 的方法,在损失函数小节中说明。 对象条件类别概率是一组概率的数组,数组的长度为当前模型检测的类别种类数量,它的意义是当bounding box认为当前box中有对象时,要检测的所有类别中每种类别的概率,其实这个和分类模型最后使用softmax函数输出的一组类别概率是类似的,只是二者存在两点不同:1.YOLO的对象类别概率中没有background一项,也不需要,因为对background的预测已经交给置信度了,所以它的输出是有条件的,那就是在置信度表示当前box有对象的前提下,所以条件概率的数学形式为 ;2.分类模型中最后输出之前使用softmax求出每个类别的概率,也就是说各个类别之间是互斥的,而YOLOv3算法的每个类别概率是单独用逻辑回归函数(sigmoid函数)计算得出了,所以每个类别不必是互斥的,也就是说一个对象可以被预测出多个类别。这个想法其实是有一些YOLO9000的意思的,因为YOLOv3已经有9000类似的功能,不同只是不能像9000一样,同时使用分类数据集和对象检测数据集,且类别之间的词性是有从属关系的。 介绍完所有的输出参数后,我们总结下模型最终输出层的输出维数是多少。假如一个图片被分割成S*S个grid cell,我们有B个anchor box,也就是说每个grid cell有B个bounding box, 每个bounding box内有4个位置参数,1个置信度,classes个类别概率,那么最终的输出维数是: 。 介绍完模型最终输出中有哪些参数后,我们应该可以定义loss函数了,作者使用了最简单的差平方和误差(sum-squared error),使用的原因很简单,因为好优化。那我们试着给出loss函数的公式:如果看过YOLOv1的论文你会发现,这里的公式和论文中的公式虽然相似,但是差别还是很大的。其实,作者是在上面这个公式的基础上加了很多限制和优化参数,上面的公式只是我为了更好说明YOLO的loss公式而给出的对比公式,这样有助于更好的理解YOLO的loss函数公式中加入的每个参数的意义,下面给出真正的YOLO loss函数公式(这个公式是我根据YOLO三篇论文前后的发展总结出来的,v3论文中未给出此类似的公式):细心的你一定也注意到了,这个公式和YOLOv1论文中的公式是不一样的。那是因为在YOLOv3中,作者将置信度和条件类别概率放到了每个bounding box中,即每个bounding box都有一对置信度和条件类别概率,而v1中所有的bounding box共用一个条件类别概率,上文中在说明输出的各个参数时,默认解释的是v3的输出格式,关于v1的细节不再赘述。下面几点是loss函数的几点细节: YOLO算法从三个不同的尺寸预测对象box,这三个不同的尺寸来自不同层级的卷积层的输出。该方法借鉴了feature pyramid network的思想: 由于卷积层每隔几层,特征映射(feature mapping)的宽和高就会减少,而通道数会增加,随着网络层次的加深,特征映射组成的形状类似于金字塔,如果将不同层级的特征映射转换为最终的输出,那么将有助于提升模型在对象不同尺度大小上的表现,即有助于提高模型从小目标到大目标的综合检测(box的精度)能力,关于feature pyramid network的具体内容,此处不详细展开,可参考 论文 。我们先看下YOLO模型的网络结构,我们以检测COCO数据集输入尺寸为416*416的网络结构为例(COCO数据集类别数为80,anchor box总数为9): 从上面的模型的网络结构图我们可以明显看出基于darknet-53的最新的模型结构有以下几个特点: 以上,就是我个人理解的YOLO算法的一些细节。 作者能力有限,不正确之处欢迎斧正。

yolo v3是2018年出来的,比SSD和retinanet都要晚,在map0.5这个指标上速度比SSD和retinanet快很多。在工业应用上面map0.5已经满足使用,并且yolo v3简介,文档丰富,还有tiny版本等一些列变种。最重要的是速度非常快,比SSD和retinanet都要快。

YOLOv3 的提出不是为了解决什么问题,整篇论文其实是技术报告。YOLOv3 在 YOLOv2 基础上做了一些小改进,文章篇幅不长,核心思想和 YOLOv2、YOLO9000差不多。

模型改进:

边界框预测:定位任务采用 anchor box 预测边界框的方法,YOLOv3 使用逻辑回归为每个边界框都预测了一个分数 objectness score,打分依据是预测框与物体的重叠度。如果某个框的重叠度比其他框都高,它的分数就是 1,忽略那些不是最好的框且重叠度大于某一阈值(0.5)的框。

yolov3论文发表时间

肯定算的是9月份发表的。严格意见上来讲,就没有发表时间这一说,都是出版时间,按《出版物管理条例》及其实施细则等,连续出版物是不允许提前出刊的,像这种9月的刊期,8月出版的,都是违法操作的,就是为了评职称提前拿到刊物而操作的。按相关规定,连续出版物一般为当月或次月出版,一般来说,月刊为每月15日出版,旬刊为每月5、15、25日出版,半月刊为每月10日、20日出版。8年专业发表经验,希望我可以帮到您

评职称都是按刊物的刊期来算的,如果刊物是9月的刊,那就是9月的,哪怕是7月收的刊物。

严格意见上来讲,就没有发表时间这一说,都是出版时间,按《出版物管理条例》及其实施细则等,连续出版物是不允许提前出刊的,像这种9月的刊期,8月出版的,都是违法操作的,就是为了评职称提前拿到刊物而操作的。

按相关规定,连续出版物一般为当月或次月出版,一般来说,月刊为每月15日出版,旬刊为每月5、15、25日出版,半月刊为每月10日、20日出版。

概念

职称论文发表,顾名思义,就是在学术期刊公开发表论文,用于评定职称。“论文”是指精深而有系统的学术文章,是课题研究、问题讨论的表达形式。论文发表就是专门对社会科学或自然科学领域中某一问题,进行探讨、分析论证的文章发表在国家正式出版物上,由于利益驱使,市面上充斥着很多假刊,发表论文前一定要认真鉴别,避免上当受。

目标检测的发展大致经历了两个历史时期,如下图所示:

从图中可以看出,Joseph Redmon于2015年提出YOLO算法是的单阶段目标检测算法的开山鼻祖,跟R.Girshick于2014年提出的RCNN系列两阶段目标算法一起引领基于深度学习的目标检测算法的发展。YOLO系列算法是一种能满足实时检测要求(FPS > 30)的高精度算法,如下图所示,所以受到广大工程应用人员的青睐, 在实际项目中有非常广泛的应用 ,值得初学者投入时间精力去学习、研究和应用。

YOLOv2有一些待改进点:

YOLOv3是在YOLOv2的待改进点上做了进一步的优化,包括:

从此其它人开始接手YOLO系列算法的改进工作,比较出名的有:

看你上面的刊期,在职称评定中,是以刊期为准的。如果是5月份的刊期,即使是8月份收到的,也是按5月份算的。

什么时候发表论文

出版时间跟你发表时间是不一样的,所以要区分开来,我的经验告诉我,早点发表会好些

首先你要有评职称的资格,再问清楚要求,一般会有文件,根据要求来准备论文,期刊的发表周期也不一样,有些3-6个月左右,有些可能需要一年时间,最好提前准备。

这个时间没有比较好的时候,平时有就可以发表,不要临时抱佛脚,那就太迟了。

评职称都是按刊物的刊期来算的,如果刊物是9月的刊,那就是9月的,哪怕是7月收的刊物。

严格意见上来讲,就没有发表时间这一说,都是出版时间,按《出版物管理条例》及其实施细则等,连续出版物是不允许提前出刊的,像这种9月的刊期,8月出版的,都是违法操作的,就是为了评职称提前拿到刊物而操作的。

按相关规定,连续出版物一般为当月或次月出版,一般来说,月刊为每月15日出版,旬刊为每月5、15、25日出版,半月刊为每月10日、20日出版。

概念

职称论文发表,顾名思义,就是在学术期刊公开发表论文,用于评定职称。“论文”是指精深而有系统的学术文章,是课题研究、问题讨论的表达形式。论文发表就是专门对社会科学或自然科学领域中某一问题,进行探讨、分析论证的文章发表在国家正式出版物上,由于利益驱使,市面上充斥着很多假刊,发表论文前一定要认真鉴别,避免上当受。

发表论文什么时候

论文发表时间是指文章见刊时间。

首先如果论文发表纯属作者个人爱好,那么发表时间就是文章见刊时间。但是如果论文发表是用来评职称晋升的,就需要特别注意一下了,职称论文的发表是以论文被检索为标准的,并不单单是见刊,要见刊并且被检索才行,因此要区分不同的论文来看。

评职称论文发表注意事项:要明确发表那种级别的期刊才可以顺利评过职称,省级以上的、或者要国家级的、核心期刊等。最好是询问你们单位管理职称的部门,评定相应级别的职称是需要发那种级别的期刊。

明确职称评定时间。这一点非常重要,写作论文,发表论文前,一定要了解明确职称评定时间,早做准备,因为一般论文发表的时间为3个月左右,长的则半年甚至一年,而职称评定时,有的要求必须通过数据库检索到,论文发表出刊后,几个数据库一般2个月后才能收录进去,因此,还有考虑2个月的收录时间。

论文发表时间是指出版时间啦。像汉斯出版社一类的OA期刊,即使审核快,从投稿到发表的话,最少也要1个月,这还是加急了的。

发表论文需要提前,最好提前一两年,做好准备比较稳妥。比较现在也不容易发表了,发表难度增大了

首先你要有评职称的资格,再问清楚要求,一般会有文件,根据要求来准备论文,期刊的发表周期也不一样,有些3-6个月左右,有些可能需要一年时间,最好提前准备。

论文从初稿到发看需要三四个月左右。

一般的省级、国家级论文审稿需要1~2天,出刊需要1~3个月。个别快的0.5个月,还有个别慢的需要4~7个月。

质量水平高一些的期刊,还有一些大学学报,投稿的出刊需要6个月左右,快一些的3~4个月。

科技核心期刊审稿需要1~3个月,出刊另需要6~10个月左右,总的算起来大约是1年~1年半。

北核、南核审稿需要3~4个月,出刊另需6~15个月左右,跨度较大总的算起来1年~2年。

综上所述,评职称发表论文一定要对各不同级别论文的发表周期做到心里有数,提前准备,以免时间上赶不及白白错过评审多等一年。尤其是核心论文,一定要提前。

论文什么时候发表

在您刚当上老师的评职称的时候,要发表论文,在每年一度的教师评比的时候可以发,这样就有更多的人在论坛里看到你所发表的论文,就会觉得给你支撑,其实是挺不错的

发表论文需要提前,最好提前一两年,做好准备比较稳妥。比较现在也不容易发表了,发表难度增大了

肯定算的是9月份发表的。严格意见上来讲,就没有发表时间这一说,都是出版时间,按《出版物管理条例》及其实施细则等,连续出版物是不允许提前出刊的,像这种9月的刊期,8月出版的,都是违法操作的,就是为了评职称提前拿到刊物而操作的。按相关规定,连续出版物一般为当月或次月出版,一般来说,月刊为每月15日出版,旬刊为每月5、15、25日出版,半月刊为每月10日、20日出版。8年专业发表经验,希望我可以帮到您

评职称都是按刊物的刊期来算的,如果刊物是9月的刊,那就是9月的,哪怕是7月收的刊物。

严格意见上来讲,就没有发表时间这一说,都是出版时间,按《出版物管理条例》及其实施细则等,连续出版物是不允许提前出刊的,像这种9月的刊期,8月出版的,都是违法操作的,就是为了评职称提前拿到刊物而操作的。

按相关规定,连续出版物一般为当月或次月出版,一般来说,月刊为每月15日出版,旬刊为每月5、15、25日出版,半月刊为每月10日、20日出版。

概念

职称论文发表,顾名思义,就是在学术期刊公开发表论文,用于评定职称。“论文”是指精深而有系统的学术文章,是课题研究、问题讨论的表达形式。论文发表就是专门对社会科学或自然科学领域中某一问题,进行探讨、分析论证的文章发表在国家正式出版物上,由于利益驱使,市面上充斥着很多假刊,发表论文前一定要认真鉴别,避免上当受。

相关百科
热门百科
首页
发表服务