目标检测论文笔记

DPM模型:魔改版HOG+SVM

论文地址:A Discriminatively Trained, Multiscale, Deformable Part Model

Dalal的论文结尾的未来展望部分曾提到,虽然采用固定的模板可以很好的解决的行人检测问题,但是采用可变的部件模型会具有更加普遍的应用场景。也就是本文的主要内容-DPM模型,其全称为可变部件模型。 该模型在首先由图像金字塔生成HOG特征金字塔,并在HOG特征金字塔上的上层采用一个固定的粗略的全局模板,在金字塔的底层采用精细的部件模板。通过这种方法来提高检测的精度。
DPM

本文主要贡献

  • 作者提出了一种多尺度的可变部件模型,用于解决通用类别的目标检测问题。
  • 其检测精度比2006 PASCAL的冠军高了两倍,在2007 PASCAL挑战赛的20个类别中,在其中十个类别取得最佳结果。模型处理一张图片速度仅需两秒,现有模型中是最佳的
  • 解决了在困难数据集上,deformable models通常表现不如conceptually weaker models的问题
  • 提出了一种简单有效的策略,可以从弱标记数据中学习部件,其性能可以在单个CPU上三个小时内学习一个模型。
  • 提出了一种新的判别培训的方法
  • 引入了一种新的数据挖掘方法,用于在训练过程中挖掘“hard negative”的实例

系统概述

  • an object model = 一个全局的 root filter + 几个 part models
  • Part model = a spatial model + a part filter
  • 空间模型(spatial model)定义了一个部件(part)的一组相对于检测窗口的可允许放置位置
  • 检测窗口的score = score of root filter + 部件上的总和

模型概述

R-CNN (Region with CNN features)

Overfeat = sliding window + CNN architecture
RCNN = selective search + CNN architecture

本文主要贡献

  • 一种简单可扩展的检测算法,比VOC 2012最佳结果(DPM HSC)的mAP值高30%(53.3%) 并且RCNN(mAP: 31.4%)在ILSVRC2013数据集的200个类别上性能优于OverFeat(mAP 24.3%),
  • 原理上的贡献:针对有标签的训练数据稀少的问题,作者发现,在大型辅助数据集上进行有监督的预训练,然后在小型数据集上进行domain-specific的微调是一种很有效的解决办法。

关键点

  • 将高容量的卷积神经网络(CNN)应用于自下而上的region proposal,用来对目标进行定位和分割
  • 当带标签的训练数据不足,则采用有监督的pre-training.

模型概述

R-CNN的目标检测系统由三个模块组成:

  1. 生成与类别无关的region proposal
  2. 一个很大的卷积神经网络,用于从每个区域中提取固定长度的特征向量
  3. 一组基于特定类别的线性SVM分类器

Region proposal

R-CNN采用selective search为每个图像生成约2k个region proposal。 该方法采用bottom-up grouping和saliency cues的方法来提供准确的任意大小的候选框。

feature extraction

在进行特征提取之前,需要对图像进行预处理操作,即将输入图像进行归一化操作,使其大小统一为227*227

classification and localization

在分类上,RCNN对每个类别采用训练后的线性SVM分类器进行分类任务。SVM的训练过程分为两步,首先针对特定的类别对线性SVM进行预训练,训练集采用ILSVRC2012。然后采用特定于区域的微调。然后采用该分类器在正区域(目标)和负区域(背景)上进行打分,然后在被打分的区域上进行bounding box regression并使用NMS(greedy non-maximum suppression)进行过滤,以生成保留对象位置的最终边界框。对于标签不足的数据,R-CNN方法中并没有使用无监督的预训练,而是对非常大的辅助数据集ILSVRC进行有监督的预训练,然后进行特定于区域的微调。

SPPnet

RCNN虽然在目标检测领域取得了非常优秀结果,但是仍然存在两个问题,首先图像在训练之前必须经过预处理,这会导致图像失真,严重影响检测的精度。其次图像需要对2k个预选框进行卷积运算,这带来了很大的计算负担,对检测的速度也造成很大影响。针对上述的两个问题,何凯明等人提出了SPPnet, 将图像金字塔应用于深度网络,提高了检测的速度和精度。

尽管RCNN在目标检测上取得的成绩是显著的,它仍然存在两个明显的缺点:

  1. 在图像被输入到CNN结构中之前,需要对图像进行扭曲变换使图像统一为固定的大小。这两种操作将会导致内容的丢失和失真从而使检测的精度受到影响。
  2. R-CNN采用Selective Search方法从一张图片中生成了约2k个候选区域,在特征提取阶段,CNN网络分别对2k个候选区域做卷积运算,这意味着也就是一张图片需要经过2000次CNN的前向传播,这个过程会产生大量的计算冗余,降低了检测的速度。

**Spatial pyramid pooling: ** 在深度卷积神经网络结构中,卷积层可以处理任意大小的图像,因此对输入图像固定大小的约束仅来自于全连接层。其原因是全连接层的输入必须为固定长度的向量。为了解决这个问题,何等人在CNN的最后一个卷积层和全连接层之的池化层替换为空间金字塔池(如图6)。 空间金字塔池基于bag-of-word【引用】方法,他通过不同的size和stride但数量固定的local spatial bins来提取空间信息。因此无论输入图像的大小,空间金字塔池的输出仅和local spatial bins的数量有关。通过这种方法,不仅可以提高检测的鲁棒性,还可以保证输入图像的尺寸的灵活性,进而也可以改善网络的过拟合问题。

**Feature map computation: ** 针对RCNN网络的第二个缺陷,SPPnet仅从整个输入图像上计算一次特征图,然后在特征图的候选窗口上应用空间金字塔池化。在这里涉及到了一个问题:如何将窗口映射到特征图上?在这篇论文中,作者将窗口的角点映射到特征图上的一个像素上,是图像域中的的这个角点最接近该像素的感受域的中心。这种改进使得SPPnet在Pascal 2007上的检测速度比R-CNN方法快了24-102倍。

Fast RCNN

2015年,Girshick et al. 在RCNN和SPPnet的基础上提出了Fast RCNN模型。在这篇论文中,Girshick et al. 系统性的总结了这两种网络的缺点并做出了相应的改进,使得模型的检测速度显著提升,同时也改善了检测的精度。在结果上,Fast RCNN在训练阶段比RCNN快九倍,比SPPnet快3倍。在测试时,检测网络比RCNN快了213倍,比SPPnet快10倍。在实际运行中,检测网络可以可以在0.3秒内处理图像(不包括区域建议时间),同时在PASCAL VOC 2012上实现了66% mAP。

**ROI Pooling layer: ** 在SPPnet中,何恺明等人采用空间金字塔池化来解决全连接层对图像大小约束的问题。Fast RCNN模型将该SPP层简化为单尺度的ROI(region of interest)层。 RoI层将候选区域划分为大小为H×W的网格,然后在每个网格上采用max-pooling,使得候选区的局部特征映射转变为大小统一的数据。Fast RCNN网络的具有两个数据输入:list of images and list of RoIs in those images 每个ROI具有两个输出: softmax概率和每个边界框的回归偏移。

**Single Stage Training: ** 在R-CNN和SPPnet中,训练的过程遵循多阶段的pipeline, 这主要包括:特征提取的训练, 并采用Log loss对网络进行微调,SVM分类器的训练和Bounding box regression的训练。这中多阶段的训练过程增加目标检测网络的复杂度并影响了检测速度。为了解决这个问题,Fast R-CNN网络采用了单阶段的训练方法。 首先网络采用装备了ROI层的VGG16网络初始化数据,然后采用反向传播对所有的网络权重进行训练。针对SPPnet的SPP层以下无法更新权重的问题,这篇论文采用了分层的采样方法,即针对每个SGD mini-batch 先对图像进行采样,然后对RoIs进行采样,并在同一图像的ROI中共享计算。除此之外,Fast R-CNN还在一次微调中联合优化softmax classifier和bounding box regression。这里Girshick et al.采用了多任务的损失 L:

这里L_cls是一个分支softmax层输出概率分布,L_loc是bounding box的损失函数。最终,Fast RCNN将模型整合成为一个整体的单阶段训练模型(除了region proposal), 通过这种方法提高了检测的速度和精度。

Faster RCNN

Fast R-CNN通过共享卷积和单阶段的训练过程降低了目标检测的运算负担,同时也提高了检测效率和精确度。但是region proposal generation仍然是制约着Region based目标检测模型的一大瓶颈。2015年 Ren et al.在Fast R-CNN基础上提出了Faster R-CNN模型,Instead of Selective, Faster R-CNN通过训练一个全卷积网络来生成目标候选。 该网络被称为Region proposal Network(RPN)。Faster R-CNN将RPN与Fast R-CNN的检测网络整合起来应用于目标检测,最终该模型在Pascal VOC 2007的精确度达到 73.2% mAP(best result for state of the art)。 并且检测的帧率在GPU上达到了5fps。

*Region proposal Network: **
为了得到目标提案的矩形框,RPN引入了全卷积网络。网络的输入是任意大小的图像,首先网络先计算出图像的卷积特征图。然后在最后一个卷积层上采用3
3的滑动窗口同时预测k个区域提案,在这里作者引入了具有平移不变性的锚点概念来描述区域提案,锚点位于滑动窗口的中心,在每个位置采用了3 scales and 3 aspect ratio,yielding k=9的锚点。滑动窗口的输出被映射到一个低维的向量中,该向量将被馈送到回归层和分类层(见图6)。 reg layer得到区域提案的坐标,分类层通过对区域提案进行打分来评估区域中包含物体的概率。
为了对RPN网络进行训练,Ren et al.为anchor假设了一个二元的类标签:object/not object。当锚点与ground truth的IoU(Intersection over region)高于0.7或者重叠,则该锚点将会得到一个positiv label(object)。训练所采用的损失函数与Fast R-CNN的相同。

模型训练: RPN网络可以采用back-propagation和stochastic gradient descent进行端对端的训练。在faster R-CNN中,作者通过RPN和检测网络共享卷积层来加快模型的训练和检测速度,但这同时也产生了一个问题,整个faster R-CNN模型在共享卷积层的情况下由于RPN和检测网络的独立训练无法收敛。 在这里作者描述了一种交替优化的四步算法来解决该问题。

  1. 首先,算法采用预训练的ImageNet模型对RPN进行初始化,并针对区域建议任务进行端对端的训练。
  2. 然后该算法采用RPN生成object proposals, 然后采用fast R-CNN的方法对检测网络进行训练,检测网络也采用ImageNet-pre-trained model进行初始化。
  3. 采用第二步训练的检测网络初始化RPN并对RPN进行训练,在此阶段两个网络开始共享卷积层,训练过程仅微调RPN特有的层。
  4. 保持共享卷积层不变,再次训练检测网络,训练过程仅微调Fast R-CNN特有的层。

YOLO v1

2016年,Redmon等人提出的YOLO模型也是目标检测领域的里程碑之一。不同于R-CNN,fast R-CNN,faster R-CNN等两阶段模型,YOLO提出了一种unified architecture用于目标检测。该方法将目标检测的框架视为bounding boxes 和 class probabilities的回归问题,采用单个网络来解决。在检测速度上YOLO展现出了卓越的性能。基础YOLO模型以45帧/秒的速度实时处理图像,作者还采用了一种更加小型的YOLO版本实现了150帧每秒的检测。
detection pipeline: YOLO在整副图像上预测所有类别的边界框,首先,输入图像被调整大小为448*448的图像,然后卷积检测网络接收归一化的图像作为输入并输出通过模型的置信度进行打分的边界框。在具体细节上,输入图像首先被划分为 S x S的网格。如果目标的中心点位于某个网格中,则该网格负责目标的边界框的检测。每个网格负责预测B个预测边界框(x, y, w, h)和相应的置信度分数 ####. 除此之外,每个网格还要预测C个条件类别的概率: #### 最终每个图像的预测输出可以参数化为一个S x S x (B x 5 + C)的tensor (见下图).
Model pipeline

**Network training: ** YOLO所采用的检测网络由24个卷积层和两个全连接层组成,为了提高检测的精度,网络的卷积层采用ImageNet 1000-class competition dataset进行预训练。模型的最后一层输出目标的bounding box和class probabilities。在模型激活函数上模型的最后一层采用了线性的激活函数,其它层采用了leaky rectified linear activation。在优化问题上,YOLO采用了sum-squared error优化模型的输出,正如下面的激活函数所展示的:

在这里l_{i}^{obj}代表网络i中存在对象,l_{ij}^{obj}代表网络i的第j个bounding box中存在对象.

模型详细解释:yolo v1详解

YOLO v2

尽管Redmon等人提出的YOLO在目标检测的速度上取得很大的突破,但该网络仍然存在诸多限制。

  1. 由于边界框预测的空间约束,每个网格单元只预测两个含有有单个类别的bounding box,这在提高了检测速度的同时也降低了对多个成组出现的小物体的检测能力。
  2. 模型的检测精度不够高,略低于Faster R-CNN(见表格)
  3. 检测网络中的多个下采样层导致了图像信息的丢失,所提取的模型特征不够精细。
    针对以上问题,YOLOv2相对v1版本,采用了多种方法在预测精度,检测速度和识别对象种类三个方面进行了改进。除此之外,作者还提出了一种多尺度的训练方法,使模型可以在速度和准确性之间做出权衡。结果上,YOLO V2以67FPS的速度运行时,在VOC 2007上的mAP值为76.8%,而以40FPS的速度运行时的mAP值为78.6%。由于YOLO v2模型能够检测9000种不同对象,因此该模型被称为YOLO9000。

Better: 针对模型的第一个缺点,Redmon et al.采用不同的方法来改进YOLO模型。首先作者在所有的卷积层上采用了batch normalization来解决反向传播过程中的梯度消失和梯度爆炸问题,并且可以对模型进行规范化,从而能够获得更好的收敛速度和收敛效果。其次,YOLO v2在分类器预训练后,再采用的高分辨率样本对分类器进行微调,这样可以避免缓解了分辨率突然切换造成的影响。然后,YOLO模型移除了全连接层并引入了anchor来预测边界框。通过该方法来提高模型的召回率。然后,在锚点框的使用上,YOLO v2在训练集的真实框上使用k-means clustering来得到先验框的尺度。但使用锚定框会遇到位置的预测不稳定的问题,这里Redmon et al. 通过添加约束的方法,将预测的中心限制在特定网格单元中。对于YOLO v1模型所提取的特征过于粗糙的问题,YOLO v2引入了一个新的passthrough层检测细粒度特征。具体来说,passthrough层通过将相邻要素堆叠到不同的通道中过来将高分辨率的特征和低分辨率的特征连接起来。使图像的细节信息尽可能的被保留下来。在模型的训练上,由于YOLO网络上去掉了全连接层,因此网络可以处理任意大小的图像。为了保证图像对不同尺度的图像的检测精度,YOLO v2在训练过程中采用不同尺度的图像进行训练,网络的每10个批次将会随机选择新的图像尺寸。最终使网络能够适应各种大小的目标的检测。

**Faster: **为了进一步提升速度,YOLO2提出了Darknet-19(有19个卷积层和5个MaxPooling层)网络结构。DarkNet-19比VGG-16小一些,精度不弱于VGG-16,但浮点运算量减少到约1/5,以保证更快的运算速度。

**Stronger: **

one stage model vs. two stage model

如下图所示,当我们对检测的管线进行横向比较时,可以很清楚的看到技术的发展趋势。在传统目标检测阶段,检测的pipeline分为三步:区域选择,特征提取和分类。在此阶段检测算法的特征是基于规则手工设计的。在基于深度学习的目标检测阶段,两阶段模型仍遵循传统的目标检测方法的思路,将深度学习技术整合入目标检测的pipeline中。正如图三所示,在R-CNN,SPPnet和Fast R-CNN中,检测模型引入卷积神经网络来提取图像特征,在Faster R-CNN中,卷积神经网络被同时应用于候选区域生成和检测阶段,通过共享卷积使整个检测模型被统一整合为完整的深度学习模型。而基于回归的单阶段检测模型则采用新的思路,直接采用深度学习技术从pixel直接预测物体,取消了区域生成的阶段,大大简化了模型的复杂程度。

德国交规:停车与泊车

Parken

基本规则

  • 只能在有泊车标志的区域泊车
  • 街道右侧泊车(单向车道和右侧有铁轨的街道例外,可以左侧停车)
  • 机动车辆在没有拖车的情况下可以在公共区域泊车的时间最大不超过14天
  • 在保留3.05米车道宽度的前提下可以在路边上停车(确保消防车可以通过)

Wo ist Parken verboten?(禁止泊车区域)

  • Kreuzungen und Einmündungen : 交叉路口和路口前后五米内不能泊车(从道路交叉点算起)
  • Andreaskreuze : 公路与铁道或电车轨道交叉口(X型路标):市内前后五米内,市外前后五十米内不能泊车
  • Haltestellen : 停车标志前后15米内不能泊车
  • Grenzmarkierungen :边界线标记上禁止泊车
  • Vorfahrtstraßen :在建筑区域外具有优先权的街道上禁止泊车
  • Fahrstreifenbegrenzungen
  • Bordsteinabsenkungen : 马路牙子理论上不能泊车
  • Grundstücksein- & ausfahrten : 狭窄的道路上不能泊车
  • Verkehrsberuhigter Bereich:除非上下车和装卸货物,禁止泊车
  • Schachtdeckel:窨井盖上不能泊车,仅适用于那些可以在人行道上泊车的区域
  • Halteverbot : 禁止停车区域也禁止泊车

Halten

停车适用于短暂停车(打电话,将信件投放信箱)的情况,时间不超过三分钟,司机不能离开汽车。

基本规则

  • 交通信号灯、铁道口X标志、优先权标志、停车标志十米内禁止停车。
  • 消防车专用道禁止停车
  • 人行横道前5米以及人行横道上禁止停车

Halteverbot

  • Enge und unübersichtliche Straßenstellen
  • Scharfe Kurven
  • Ein- und Ausfädelungsstreifen
  • Bahnübergänge
  • Autobahnen und Kraftfahrstraßen
  • Mit Pfeilen markierte Strecken (z.B. vor Ampeln)
  • Die Fahrbahn eines Kreisverkehrs
  • Taxenstände

相关标志

- -
Grenzmarkierungen Grenzmarkierungen
Grenzmarkierungen Grenzmarkierungen
Grenzmarkierungen Grenzmarkierungen

Markdown语法

图片并排显示

注意插入图片的代码段放在同一行

1
2
3
<center class="half">
<img src="图片地址" alt="图片说明" title="图片标题" width="50" height="50"><img src="图片地址" alt="图片说明" title="图片标题" width="50" height="50"><img src="图片地址" alt="图片说明" title="图片标题" width="50" height="50">
</center>

给图片添加题注

1
![题注](图片地址)

指定图片的显示大小

1
<img src="图片地址" alt="图片说明" title="图片标题" width="50" height="50" />

nvidia常用命令

Nvidia相关命令

  • nvidia-smi: 调用nvidia系统管理界面
  • nvidia-smi -L: 列出所有GPU
  • nvidia-smi -i 0: 查询特定卡的信息,0.1.2.为GPU编号
  • nvidia-smi pmon: 监控线程
  • nvidia-smi dmon: 监控设备
  • nvidia-smi -q: 查询所有信息
  • nvidia-smi -l 3:持续监控gpu状态,每三秒刷新一次状态
    nvidia-smi.png

nvidia-smi 信息解读

20200729_204726000_iOS.jpg

  • Fan:风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温
  • Temp:温度,单位摄氏度。
  • Perf:性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
  • Pwr:能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少。
  • Bus-Id:GPU总线,domain:bus:device.function
  • Disp.A:Display Active,表示GPU的显示是否初始化。
  • Memory Usage:显存使用率。
  • Compute M:是计算模式。

目标检测之方法论

摘要

目标检测是近些年来计算机视觉和数字图像处理的一个研究热点,它是图像处理和计算机视觉学科的重要分支,广泛应用于自动驾驶,机器人导航、智能视频监控、工业检测、航空航天等诸多领域。它的主要任务是检测已知的类别在图像中的实例,它包含物体定位和物体分类两个子任务,同时确定物体的类别和位置。传统的的目标检测算法通过区域选择,特征提取,分类三个步骤实现对物体的检测。随着深度学习技术的发展,目标检测算法采用不同的深度学习网络来提高目标检测技术的速度和准确度。它可以分为 one stage, two stage 和 multi stage 三种类别。在这里本文主要回顾了目标检测的经典算法, 主要包括R-CNN, Fast R-CNN, Faster R-CNN。并采用已知的数据对这些算法的识别速度和检测精度进行了横向比较,并总结了不同算法的特点和应用范围。

概述

另一方面,由于卷积神经网络在目标检测领域的应用,使得基于深度学习的目标检测方法在近些年来发展十分迅速。2013年,Ross Girshick等人提出了R-CNN网络,首次CNN方法引入目标检测领域,大大提高了目标检测效果,同时改变了目标检测领域的主要研究思路。2015年,

传统目标检测方法

区域选择:
特征提取:
分类:分类的目的是将图片用一种层次化的方法进行表述。在上一步中所提取的候选区域的特征将被送到分类器,分类器采用适当的算法对其进行分类,用事先确定好的类别和实例ID来描述图片。传统目标检测采用的分类器算法有:SVM,Adaboost,DPM等。

根据目标检测具体的应用场景,研究人员对以上三个步骤的具体算法做了各种各样的改进,以实现更高的准确率与更快检测速度。 在过去的20年里,研究人员在传统目标检测领域做了很多的研究,提出了一些可以看做里程碑式的经典算法,如图二所示,接下来我们将按照时间顺序介绍一些传统目标检测领域的重要算法。

Haar-like特征 + Adaboost

2001年,Viola和Jones提出了用于人脸识别的目标检测算法,这种算法大大提高了人脸检测的效率和精度。该算法主要基于三个重要步骤:Haar-like特征,Adaboost分类和Cascade级联分类器

论文采用了最简单的矩形特征作为Feature descripter, 作者创新性的提出了积分图的概念。该图像和原图像大小相同,其每个位置的值为像素点左上所有像素点之和。 采用这张积分图,使得计算任意矩形区域的特征值的运算可以通过矩形框四角的所对应的值相加减得到(见图2)

首先论文采用了哈尔矩形特征作为Feature descripter. 该特征通过计算矩形明暗区域的像素和差值来描述区域的特征。作者创新性的提出了积分图的方法来简化运算,该图像和原图像大小相同,其每个位置的值为像素点左上所有像素点之和。 采用该图可以使任意矩形区域的特征值通过积分图上矩形四个顶点的值进行运算,这大大降低了计算负担。
其次,

HoG + SVM

HOG descripter是传统目标检测领域的重要的里程碑,它在SIFT,和形状上下文的基础上,在均匀建个的单元格密集网络上使用

特征提取链: 输入图像首先被分成许多小的空间区域(616像素块,四个 88 的像素单元),通过收集像素中每个像素的梯度和边缘方向 可以计算一维面向梯度的直方图。 但是由于局部照明的差异以及前景和背景的对比度,梯度强度变化的范围非常大,因此需要对梯度的局部对比度进行归一化。 需要进行对比度归一化的步骤,以使描述符对光照,阴影和边缘变化具有鲁棒性。 然后,将规范化描述符(HOG描述符)填充到密集网格中的检测窗口中,并将由HOG描述符形成的特征向量放入线性SVM分类器中以实现二进制分类。 最后,检测窗口扫描输入图像的多尺度图像金字塔,通过非最大抑制来检测物体。在分类器的训练过程中,dalal等人采用一个两步的训练方法,使得误检率减少了5% 。

DPM + LSVM

值得一提的是,Dalal的论文所提出的HOG+SVM方法采用固定的模板来提取HOG特征,这种方法对于无法处理目标的形变问题。 2008年,P. Felzenswalb在HOG特征的基础上提出了DPM+LSVM的方法,这种方法在由HOG特征生成的金字塔上,采用一个粗略的模板来涵盖物体,和一个精细的模板来检测物体的可形变部分。 通过这种方法,作者在2007 PASCAL挑战赛的20个类别中的十个类别获得最佳结果。并且检测精度是2006 PASCAL冠军的两倍。作者也因此在2010年获得 PASCAL VOC的终身成就奖

**系统概述: **基于滑动窗口法,该目标检测系统由一个root filter和多个part models组成.

基于深度学习的目标检测方法

1998年,Yann LeCun提出了LeNet-5的网络结构,该结构可以端到端训练模型以进行文档检测。 它成为最经典的CNN结构,以后的大部分CNN模型都源自此版本。 2012年,Kriszhevsky等人在物体检测领域采用了基于CNN的方法。 在2014年,Ross Girshick等人。 提出的R-CNN,其出色的性能吸引了研究人员的注意。 从那时起,深度学习成为对象检测领域的一个热点。

与具有手工功能的传统方法相比,基于CNN的方法可以更分层和更深入地表示特征。 典型的CNN结构由具有特征图的许多层组成。 特征图中的像素(神经元)通过权重连接到先前的特征图。 可以通过具有共享权重的卷积核从上一层的局部区域中获取每一层的特征。 输入图像将在网络中重复计算,低级特征将在初始层中计算,而高级特征则可在后续层中提取。 结果上,模型的表达能力将通过CNN结构得到了指数级的提高。 特征可以以较高的语义层面来表达。

随着研究的不断深入,基于深度学习的方法发展出了两种不同的方向。 第一种是以RCNN, Fast RCNN,Faster RCNN为代表的两阶段模型(two stage frameworks),又称作基于区域模型(region based frameworks)。该方法遵循传统的目标检测流程,首先生成候选区域(region proposal),然后根据所提取的特征将这些候选区域分为不同的类别。 第二种是基于分类/回归的一步框架,它可以直接从图像的像素映射到边界框坐标和类别的概率。通过这种方法可以大大降低时间开销。其代表模型有: Yolo, SSD。

One stage Model

随着上一小节提到的RCNN,Fast R-CNN, Faster R-CNN等论文对两阶段模型的潜力的发掘,两阶段模型的检测精度不断的提高。 但同时由于两阶段模型需要先生成区域候选的步骤,其检测速度成为了限制其性能的瓶颈,并且由于其计算成本的问题,使其也难以应用到性能比较中庸的穿戴设备或移动设备中去。 为了解决这一问题,研究人员提出了一种新的统一的检测架构,其不同于two Stage modeld的架构,该统一架构的不需要生成区域预选,直接从整幅图像上预测目标的边界框坐标和类别概率。通过这种方法大大提高了检测的速度。该架构被称作One Stage Model.

R-CNN

在R-CNN出现之前,最成功的目标检测模型是DPM,其在VOC数据集上的最佳表现是mAP 34.3%左右,但是Ross Girshick在2013年提出的R-CNN方法将这个

德国驾照备考:单词篇

动词

  • | -

———| ————-
vorbeifahren | 驶过,超车
überfahren | 驶过,轧过
abknicken | 急转弯,拐弯
hochschalten | 换高速挡
warmlaufen | (内燃机)预热运转,空转
beladen | 装货,装载
entladen | 卸货,卸载
entbinden | 解除,免除
beteiligen | 参加,加入
vorweisen | 表现出,出示
verrutschen | 打滑,滑落

形容词

  • | -

———| ————-
zügig | 迅速的,流畅的
mäßig | 适度的,适中的,适当的
grobstollig | 高凸块花纹的
niedertourig | 低转速的
fachgerecht | 专业的
bergab | 向下,下坡 adv
hektisch | 慌忙的,仓促的
rasant | 迅速的,飞快的
ausgeglich | 均衡的
unverzüglich | 刻不容缓的,立即的,马上的
entbehrlich | 可有可无的,非必要的
vorausschauend | adv. 前瞻性的,有远见的,有先见之明的
funktionstüchtig | 作用良好的,能运转的
vorschriftsmäßig | 合乎规定的,按照规定的
veischneit | 积雪的,白雪覆盖的

名词

  • | -

———| ————-
das Schienenfahrzeug | 有轨机动车,铁道机车
das Einsatzfahrzeug | 紧急任务车辆
der Abschleppwagen | 拖吊车,救助牵引车
der Streifenwagen | (警察)巡逻车
die Fahne -n | 旗,旗帜
der Tunnel - | 隧道
der Zebrastreifen | 斑马线, 人行横道
der Reißverschlussverfahren| 拉链式并道方法
die Sackgasse -n | 死胡同
die Unterführung | 地下通道,隧道
die Umleitung | 交通改道,绕行
das Standlicht | 停车灯,驻车灯
das Abblendlicht | 近光灯
die Panne | 故障,事故,损失,崩溃,漏洞
die Zollstelle | 关卡,关税检查站
das Gefahrgutfahrzeug | 危险货运汽车
die Umweltschonung | 环保
die Einspritzanlage | 喷射装置,喷射设备
die unterschreitung | 低于额定,下降
der Reifenabrieb | 轮胎磨损
der Schalldämpfer | 消音装置
der Schmierstoff | 润滑油
die Entsorgung | 排除,清除
die Bahnschranke | 铁路道口栅栏,拦道木
der Bahnübergang | 铁路交叉道口
der Lokführer | 火车司机
der Leichtlauföl | 轻质汽油
die Auspuffsanlage | 排气装置
der Gang | 档位
die Fahrweise | (汽车司机的)行车方式(尤指对待行人、骑车人或同行的态度)
das Kondenswasser | 冷凝水
der Verschleiß | 磨损,损耗
der Qualm | 浓烟
das Einsatzhorn | 警报声,汽笛声
die Fliekraft | 离心力
der Fahrtwind | 迎面风,气流
die Geschädigte | 受害者
der Transponder | 发射应答器,应答器
die Autobahnraststätte | 高速公路休息处
die Notrufsäule | (高速公路旁)紧急救援电话(柱)
der Leitpfosten | 导向柱
die Leitplanke | (公路两旁的)护栏,安全栏,护板
das Rufzeichen | 呼叫信号,呼叫音
die Bake | 浮标,航标,路标
der Schachtdeckel | 窨井盖
die Lackierung | 油漆,喷漆

Hueman主题的折腾之路

Hueman主题的安装

虽然网上各种博客的教程大多使用的都是Next主题,但是个人审美上还是对Next的风格接受不能,Hueman才是我心目中的博客风格应有的样子。下面就介绍一下Hueman主题的使用步骤:

  1. 手动下载Hueman主题,或者将主题Clone到本地 ../themes 目录下 git clone https://github.com/ppoffice/hexo-theme-hueman.git
  2. 在Hexo文件目录下打开**_config.xml文件,找到关键词 theme 将主题名称修改为:hexo-theme-hueman**
  3. \Hexo\themes\hexo-theme-hueman目录下找到**_config.xml.example文件,将后缀.example**去掉
  4. 在Hexo文件目录下打开git bash,依次执行 git cleangit g -d,将Hueman主题成功提交到Gitpage. 打开博客网址即可看到主题效果。

Hueman主题基本配置

theme: 后面改为hueman

修改语言

language: 后面改为zh-CN

修改title

这个会在你主页上,显示在浏览器框中的网页名称

修改subtitle副标题

博客logo边上的文字说明

修改author

author: 后面添加你自己的名字(这个将在网页的底部显示)

添加about页面

在Hexo文件目录下的打开git bash 输入以下代码:
hexo new page "about"

评论系统

Hueman支持多种评论系统,但有些目前已经停止服务,有些在国内被墙了,比如以前很喜欢用disqus,可惜国内并不支持。最近发现gitalk比较好用,因此打算将评论系统改成gitalk。

Hueman主题下配置Gitalk
在Hueman主题下配置Gitalk的基本方法如下:

  1. 设置github认证: 登陆github, 在个人账号下选择Setting, 然后选择developer setting, 接着选择OAuth Apps在该界面下选择新建Github App.其中Homepage URL和Authorization callback URL都必须是一样的,比如我个人github的博客地址https://andrelyl.github.io/ 。然后点击保存,记下Client ID和 Client Secret。
  2. 打开Hueman的主题配置文件_config.yml,在gitalk部分填写相关信息:
1
2
3
4
5
6
7
gitalk:
on: true
owner: # Github user name
repo: # url个人博客的
client_id: # 上一步得到的Client ID
client_secret: # 填写上一步得到的Client Secret
admin: # GitHub repo owner and collaborators who can initialize github issues
  1. 部署到Github上

ISO26262标准

ISO26262标准是什么

随着汽车电气化程度的进一步提升,电子电气系统越来越集成和复杂,因此需要一些眼科的技术标准来规范汽车电子相关功能安全。

ISO26262标准是汽车的电气/电子相关的“功能安全”标准。该标准制定于2011年11月,2018年发布了第二版,并追加了半导体指南。

该标准是预先计算出汽车电控方面的故障风险,并把降低该风险的机制作为功能的一部分预先植入到系统当中,从而实现“功能安全”的标准化开发工艺。ISO26262标准的对象涵盖从车辆构思到系统,ECU(电子控制单元),嵌入式软件,元器件开发及相关的生产、维护、报废等整个车辆的开发周期。
ISO26262的具体规范内容

ISO26262功能安全定义

本质安全和功能安全: 本质安全是一种通过消除危险的原因来确保安全的方法,通过改变机器设备,人为,环境等因素彻底消除诱因。而功能安全是通过一个有效的改善方法,在功能上确保可容忍范围的安全,即将风险降低到可接受的水平来确保安全。

ISO26262功能安全定义

  • Absence of unreasonable risk due to hazards caused by malfunctioning behavior of E/E systems.
  • 没有由电子,电气系统故障行为导致的危险所引起的不合理的风险。

这段话的理解是不存在由电子电气系统的功能异常表现引起的危害而导致不合理的风险。比如,汽车正常行驶情况下安全气囊打开,这种功能异常是不合理的,也会带来安全方面的风险。这就是功能安全所需要避免的问题。总体来说,功能安全是指避免由系统功能性故障导致的不可接受的风险,它关注的是系统发生故障之后的行为,而不是系统的原有功能和性能。因此功能安全的目的就是当系统发生故障后,使系统进入安全的可控模式,避免对人身,财产造成伤害。

ISO26262适用范围

  • This document is intended to be applied to safety-related systems that include one or more electrical and/or eletronic (E/E) systems and that are installed in series production road vehicles, excluding mopeds. This docement does not address unique E/E systems in special vehicles such as E/E systems designed for driver with disabilities.(ISO26262-2018)

即该标准适用于所有的汽车、电动车。但是不包括轻便摩托车和特种车。

ISO26262的内容

该功能安全标准主要包含了:

  1. 指导我们如何量化产品的安全等级;
  2. 知道我们如何根据不同的安全等级设计相应的安全措施
  3. 指导我们如何规避/控制系统性的故障和随机故障
  4. 知道我们如果管理功能安全(包括流程,技术分析方法等)

ISO26262-2018

自适应巡航控制(ACC)功能安全