- 博客(36)
- 收藏
- 关注
原创 【WaterRemind】用Arduino与SSD1306做一款提醒喝水的杯垫(何同学同款)
Introduction看到何同学最新的视频里面出现的办公室标配的提醒喝水的杯垫,感觉很好做,因此就做一个送给女朋友来提醒他按时喝水,项目主要使用了Arduino Nano作为控制器,SSD1306驱动的0.91寸单色OLED作为显示器,屏幕可以显示进度条,以及定制自己想显示的字母或者bmp图片。具体演示效果如下图所示(外壳还没打印好,稍后更上成品图)。Method硬件硬件很简单,具体清单如下Arduino nano v3.00.91寸Oled SSD1306有源蜂鸣器红外反射传感器锂电
2022-02-16 10:49:53
3215
8
原创 (太累了慢点写)【NoteTimer】一款具有网络留言板功能的时钟
摘要本项目制作了一款以网络为媒介进行跨区域留言的时钟,可以送给你需要关心的人来提醒他记得吃药吃饭上厕所,在具有网络留言板功能的同时,还可以作为网络自动校时的时钟,为您的吃药吃饭上厕所提供准确的时间参考。下图为成品的时间功能下图为留言功能硬件设计ESP8266为了实现Notetimer的联网功能,本项目选择一款较为成熟且便宜的模块ESP8266系列中的ESP-01模块,pdd价格为7.8每块。由于此模块为串口通讯,因此需要配合串口烧录器进行程序烧写,烧录器pdd价格为9.4元。pddyyds
2021-09-07 23:15:48
307
原创 【每日一网】Day30:DSSD(Deconvolutional Single Shot Detector)简单理解
DSSD:Deconvolutional Single Shot Detector算法背景本文的主要贡献在于将上下文索引和残差网络加到了SSD算法中,然后在反卷积层上增加SSD和residual-101,以在目标检测中提高对小目标的准确性。DSSD将SSD的VGG网络用Resnet-101进行了替换,在分类回归之前引入了残差模块,在SSD添加的辅助卷积层后又添加了反卷积层形成“宽 - 窄 - 宽”的“沙漏”结构。DSSD相比SSD的一个最大的提升在于对小目标的检测度上DSSD有了很大的提升,文章的最后部
2021-01-16 20:36:59
455
原创 【每日一网】Day29:NoC:Object Detection Networks on Convolutional Feature Maps简单理解
Object Detection Networks on Convolutional Feature Maps算法背景大多数目标检测器包含两个重要的组件,分别为特征提取器和分类器。传统的目标检测方法的特征提取器是手工设计的,例如HOG,分类器一般是svm等。另一种目标检测策略是使用卷积层提取与区域无关的特征,然后按区域划分的多层感知机进行分类,本文中,作者从功能之外的分类器的角度对目标检测系统进行深入研究。专注于在与区域无关的贡献卷积特征之上,并称为NoC网络结构卷积特征图由共享卷积层生成,一个特
2021-01-15 19:58:47
422
原创 【每日一网】Day28:DeepID-Net简单理解
DeepID-Net算法背景论文中介绍了一种基于形变部件的卷积神经网络,采用一个新的形变约束池化层(def-pooling)模拟具有几何约束和惩罚的对象部分的变形。这意味着,除了直接检测整个对象外,检测可以帮助检测整个对象的对象部分也是至关重要的,作者将该模型应用在人脸识别上,相应的对deepid模型进行了一些更改和优化,更新后的两个版本分别称为deepid 2和deepid3算法流程从图中可以看出deepid框架和rcnn有很多相似之处。红色文本突出显示了RCNN中不存在的步骤,初始化propo
2021-01-12 16:47:28
295
原创 【每日一网】Day27:PVANet简单理解
PVENet算法背景PVAnet是RCNN系列的改进版,基于Faster-RCNN进行改进,Faster-RCNN基础网络可以使用ZF,VGG,Resnet等,但是精度与速度难以同时提高,PVAnet的含义为Performance Vs Accuracy,意思是加速模型并且不损失精度,该网络使用了C.Relu,inception,HyperNet(相关介绍可以看我之前的文章),residual模块等trick网络结构网络结构如图网络参数如图C.ReLuC.ReLU的作者观察基础网络卷积层参
2021-01-11 19:43:39
291
原创 【每日一网】Day26:YOLT简单理解
YOLT算法背景这篇文章做的只卫星图的目标检测,在yolov2的基础上做改进得到YOLT,因为卫星图的目标检测和常见的目标检测场景区别比较大,卫星图的尺寸本身就很大,其次是目标尺寸非常小且常常聚集在一起,因此YOLT算法整体上是解决卫星图这种特殊场景里的目标检测,对于通用目标检测算法中小目标的检测也有一定的借鉴意义,同时这篇文章也列举了一些在实际项目中对效果提升有所帮助的点,也值得借鉴小目标检测难点一、卫星图目标的尺寸、方向多样,因为卫星图是从空中拍摄的,所以角度不固定,像船、汽车的方向都可能和常
2021-01-10 13:20:58
528
原创 【每日一网】Day25:R-FCN简单理解
R-FCN算法背景作者提出了基于区域的全卷积神经网络,与之前的基于区域的检测器,论文的基于区域的检测器利用的是全卷积网络,并且几乎所有的计算都在整张图片上共享。论文主要解决了”分类网络的位置不敏感性“和“检测网络的位置敏感性”之间的矛盾,在提升精度的同时利用“”位置敏感得分图“,提升了检测速度。Faster RCNN的是首个利用CNN来完成proposal的预测的,faster RCNN的思想可以分为两个部分,第一个部分是直接用普通的分类网络的卷积层来提取共享特征,然后一个roi pooling层在
2021-01-08 18:56:15
291
3
原创 【每日一网】Day24:MS-CNN简单理解
MS CNN算法背景本文提出了一种多尺度的神经网络,用于快速的多尺度目标检测,作者将Faster RCNN进行多尺度化,从而提升了对小目标检测效果,在自然图像中,目标可以以不同的比例和大小出现,如图中黄色边看所示,单个的 感受野(如阴影区域)无法匹配目标的可变性。对于小物体,尤其是图的中心区域的物体,检测性能往往特别差算法原理作者提出了一种多尺度的CNN,该网络有两个子网络组成,分别用于提出Region proposal和精确的检测目标,为了改善目标大小和对应的感受野之间的不一致,使用多个输出层执
2021-01-07 19:43:22
842
2
原创 【每日一网】Day23:SpineNet简单理解
SpineNet算法背景在过去的一段时间内,CNN的结构设计取得了巨大的进展,更宽更深的网络接替而来,但是CNN的结构从发明以来并未有过改善,都遵循着分辨率单调递减的规则,尽管这种尺度递减的架构设计准则在分类任务中取得了巨大的成功,但是这种设计规则真的适合于目标检测这种同时进行定位和分类的任务吗,针对这种问题,谷歌提出了一种尺度排列网络,它具有以下特征:1、中间特征的尺度可以随时提升或者下降,因此模型可以随着深度的增加而保持空间信息;2、特征图之间的连接可以跨尺度以促进多尺度特征融合;为了避免过
2021-01-06 14:15:48
272
1
原创 【每日一网】Day22:Crafting GBD-Net for Object Detection简单理解
GBD-Net明天考试今天简单理解理解吧算法背景物体检测中,不同大小和分辨率的多个proposal的特征细节在进行分类的时候是互补的,来自这些proposal的上下文特征的整合是目标检测中的基本问题,在本文中,作者提出了一种门控双向神经网络(GBD网络),用于在特征学习和特征提取的过程中在来自不同proposal的特征之间传递信息。这种信息传递可以通过两个方向上相邻的proposal之间的卷积来实现,并且可以在不同层之中进行。算法原理在不同分辨率的proposal之间根据不同的图像实例来控制传递
2021-01-04 19:23:10
1285
2
原创 【每日一网】Day21:SSD简单理解
SSD:Single Shot MultiBox Detector终于开始 one-stage了算法背景SSD是作者在ECCV 2016上发表的论文,对于输入尺寸300x300的网络是哟个titan x在voc2007测试集上达到74.3%mAP以及59FPS,对于512x512的网络,达到了76.9%mAP,超越当时最强的Fast RCNN网络结构SDD采用VGG16作为基础模型,然后再VGG16的基础上新增了卷积层来获得更多的特征图以用于检测。分别将VGG16的全链接层fc6和fc7转换成3
2021-01-03 16:42:17
354
原创 【每日一网】Day20:A MultiPath Network for Object Detection(MPN)简单理解
A MultiPath Network for Object Detection算法背景作者改进了目标检测的方法,相比ss算法的fast RCNN,将实验效果进一步提升了66%,在小物体上提高了4倍。主要进行了如下改进1、使用跨层链接融合了多层的信息2、使用foveal structure考虑了物体的上下文信息3、使用积分loss函数,提高了位置的精准度算法流程传统目标检测的主要流程是,提取Region proposal,利用cnn进行proposal的分类和边界框回归。本文也沿袭了这一个过程
2021-01-02 21:11:50
308
原创 【每日一网】Day19:CRAFT简单理解
CRAFT算法背景在对象分类中,任务是需要在对象之间进行分类,但实际上在RCNN中,它变成了对象类别和背景之间的分类,许多背景样本存在着介于目标和背景之间的特征,导致很多模糊的对象类别之间会产生误报的情况(例如将树分类为盆栽)算法结构目标检测任务通常分为两个子任务:产生proposal以及将proposal分类,在本文中,作者将两个子任务进一步细分,分别提高精度,达到高精确率的目的:级联的proposal生成结构理想的proposal生成器应该产生尽量少的proposal,并且能尽量多的覆盖更
2021-01-01 21:28:05
333
1
原创 【每日一网】Day18:OHEM简单理解
OHEM算法背景作者提出了一种困难负样本挖掘的方法,困难负样本是指模型难以区分的负样本,也就是容易将负样本当成正样本的那些样本。例如,当roi中没有目标,全是背景的时候,这时候分类器就很容易正确分类成背景,这就是“容易负样本”。如果roi中有一半是目标,但是标签仍然是背景,这个时候分类器就容易把它当作成正样本,这就是困难负样本,因此需要多找一些困难负样本加入负样本集,进行训练。OHEM网络结构OHEM的基准算法是fast rcnn,目的就是对其进行一点改动就可以大幅度提高性能,网络结构如下所示图
2020-12-31 22:34:04
1649
2
原创 【每日一网】Day17:HyperNet简单理解
HyperNet算法背景HyperNet是2016年清华提出的优秀的Faster-RCNN变种。HyperNet主要改进在于集合了多层的特征图,得到多尺度的超特征(Hyper Feature),相比与Faster-RCNN,HyperNet更擅长处理小物体,在高IOU时更有优势,mAP提高3.1%。但多尺度也必然降低速度。其快速模型HyperNet-SP速度与Faster-RCNN相同,VOC上mAP仅提高1.6%。但注意到其应用的跳层特征(skip layer feature)在处理小物体检测中已经在
2020-12-30 22:21:17
1854
原创 【每日一网】Day16:Inside-Outside Net(ION)讲解
Inside-Outside Net算法背景图像的上下文信息在人类和计算机视觉中起重要的作用,为了收集上下文信息,论文使用RNN来在水平和垂直方向传递空间变化的上下文信息,并且使用了跨层连接,绕过中间层,将不同层的特征进行组合。网络结构每次传播,VGG16会从图片中提取特征图并且生成2000个Region proposal。对于每个Region proposal,网络使用ROI pooling提取固定尺寸,每个特征经过L2归一化,concatenate, 缩放和降维(1x1卷积)之后产生一个512
2020-12-29 20:59:55
2518
3
原创 【每日一网】Day15:YOLOV3讲解
YOLOV3backboneyolov3使用了darknet53作为网络的backbone,网络结构中有53个卷积层,网络中没有pooling层残差结构backbone中对应的一个方块为一个残差结构多尺度网络通过kmeans聚类算法得到三种anchor尺度,分别为(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)网络结构loss置信度损失:类别损失:定位损失:
2020-12-28 21:56:29
142
原创 【每日一网】Day14:YOLO9000(YOLOV2)详解
YOLOV2算法改进yolo v2做了各种尝试1、增加BN层2、更高分辨率的分类器3、基于anchor的边界框预测4、使用kmeans聚类来计算anchor5、限制anchor坐标位置6、将高层特征与低层特征进行特征融合7、模型结构PassThrough Layer(W/2,H/2,Cx4)...
2020-12-27 20:43:51
134
原创 【每日一网】Day13:AZNet详解
AZNet算法背景传统的目标检测的方法需要假设一组与目标类别无关region proposal,然后输入检测器,检测器再给每个proposal进行分类,region proposal的作用就是通过限制需要由探测器评估的区域的数量来降低复杂性。然而,随着最近引入的能够共享卷积特征点技术,传统的region proposal算法比如selective search和EdgeBox算法成为检测pipeline的瓶颈。算法思想AZNet利用了自适应的搜索策略,算法不是先确定一组anchor,而是从整张图像开
2020-12-26 20:34:13
405
1
原创 【每日一网】Day12:G-CNN简单理解
G-CNN算法背景从2016年以前的文章的目标检测的方法大都沿袭了{region proposal→CNN→classify}的思路。但是region proposal是一个非常耗费时间的操作,在RPN网络之前大部分使用的使用的都是selective search或者之类的算法,从原始图片中提取将近2k张图片,这个方法非常耗时,后来Faster Rcnn剔除了RPN网络之后,用网络提取region proposal,大大缩短了提取时间。而G-CNN的思路,则是消除region proposal,与yo
2020-12-25 16:07:32
845
1
原创 【每日一网】Day11:Yolov1简单理解
YOLOv1算法思想you only look once ,意思是只需要看一眼就可以检测所有的目标。在输入一幅图的时候,只要将一幅图分成sxs个网格(grid cell)如果某个object的中心落在这个网格中,则这个网格就负责预测这个object。每个网格要预测B个bbox,每个BBox除了要预测位置之外,还要附带预测一个confidence。每个网格还要预测c个分类的分数。其中conf就是正确分类目标的IOU,如果是非正确分类目标,则为0。网络结构论文给出的网络结构如图所示:网络最终输
2020-12-24 17:39:03
591
2
原创 【DataWhale Obj Dec Task04】训练与测试
模型设计前面的章节,我们已经对目标检测训练的各个重要的知识点进行了讲解,下面我们需要将整个流程串起来,对模型进行训练。目标检测网络的训练大致是如下的流程:1、设置各种超参数2、定义数据加载模块 dataloader3、定义网络 model4、定义损失函数 loss5、定义优化器 optimizer6、6、遍历训练数据,预测-计算loss-反向传播首先,我们导入必要的库,然后设定各种超参数import time
2020-12-24 13:33:36
129
1
原创 【每日一网】Day10:DeppProposal简单理解
DeppProposal算法背景CNN网络的卷积层在在不同激活层上可以找到感兴趣的目标,但是由于特征图较为粗糙,导致recall很高但是定位的准确度较差,相反在网络的第一层可以很好的定位感兴趣的对象,但是recall不高,基于这一观察,论文设计了一种基于CNN特征图并结合这两种方法的优点的方法,论文构建了一种逆级联的方法:1、使用同一特征图来检测2、使用积分聚合特征3、避免了由粗到细的逆级联导致产生密集的proposal网络结构论文使用从CNN中由粗到细的反级联从深度卷积来获得图像中可能存在
2020-12-23 19:48:02
165
1
原创 【每日一网】Day9:AttentionNet简单理解
AttentionNet疫情也不能阻止我日更算法背景在调整bbox的位置时,大多数算法使用的都是回归类型的损失,直接优化最后的bbox的坐标值,通过这种方法得到的坐标值准确性可能不会很高。AttentionNet可以理解为模仿动物视觉的一个过程,通过大体看一张图,然后注意力朝向前景物体的大致方向移动。Attentionnet就是通过不断迭代的方法直到找到最后的bbox,同事Attentionnet也是一个一体的对象检测网络,它不需要分离任何的模型进行单独的训练。对于这些图片,我们大致能锁定其中人
2020-12-22 16:36:40
940
原创 【每日一网】Day8:DeepBox简单理解
DeepBox算法背景预测对象的精确类别比预测前景或者背景更困难,对于生产Region proposal的过程中我们不需要判断框中物体对应的类别,也不希望生成候选区的过程像检测网络一样复杂,所以我们可以使用相对轻量级的网络结构来捕获前景的范围。算法原理DeepBox主要干了一件事,用一个cnn,对传统方法产生的proposal重新进行打分,把更准确的区域赋予更高的分数,通俗来说,传统方法(如edgebox)产生的每个proposal都有得分,但是得分有高有低,有时候最准的box等分不一定是最高的,得
2020-12-21 16:23:26
251
原创 【DataWhale Obj Dec Task03】loss函数设计
Matching strategy (匹配策略):我们分配了许多prior bboxes,我们要想让其预测类别和目标框信息,我们先要知道每个prior bbox和哪个目标对应,从而才能判断预测的是否准确,从而将训练进行下去。不同方法 ground truth boxes 与 prior bboxes 的匹配策略大致都是类似的,但是细节会有所不同。这里我们采用SSD中的匹配策略,具体如下:第一个原则:从ground truth box出发,寻找与每一个ground truth box有最大的jaccar
2020-12-21 13:32:55
130
原创 【每日一网】Day6:SPPNet简单理解
SPPNet算法背景深度卷积神经网络都需要输入固定尺寸的图像,当面对任意尺寸或者比例的图像的时候,识别的精确度就会降低,SPPNet创造了一种“空间金字塔池化“的池化策略,消除了以上的限制。SPPNet的结构可以产生固定大小的表示,而不关心输入图像的尺寸或者比例,金字塔池化对物体的形变很鲁棒。SPPNet在物体检测上的表现也很突出,我们只需要从整张图片上计算一次特征图,然后队任意尺寸的区域进行特征池化,以产生一个固定尺寸的表示用来训练检测器,这个方法避免了反复计算卷积特征算法过程较于普通cnn来
2020-12-19 23:14:05
216
4
原创 【每日一网】Day5:MultiBox简单理解
MultiBox算法背景MultiBox之前所有的检测算法都是使用传统方法来提取候选框,而MultiBox则是使用了神经网络来提取候选框,并且MultiBox的loss函数很好的解决了定位和分类的loss分配问题,并且提出了prior的思想。MultiBox结构候选框生成作者使用了两个alexnet来组成整个网络,其中一个alexnet用来做候选框的回归,另一个则负责分类。下面来讲一下用来做候选框回归的alexnet。首先alex会生成k个框,原论文中k=100,其中每个框的格式为:其中x1,
2020-12-18 15:06:00
2095
原创 【DataWhale Obj Dec Task02】anchor和model设计
Anchor很多目标检测模型中都有锚框和先验框的概念,比如faster rcnn中称之为anchor,ssd中称为prior bbox,其实他们是一个概念anchor的作用就是再不遍历整张图的情况下,尽可能覆盖左右需要检测的目标。设置不同尺度的anchor为了覆盖更多可能性,在图中的同一个位置,我们会设置几个不同尺度的anchor,不单单指大小,还指长宽比,如下图所示:先验框与特征图的对应除了不同尺度,我们肯定要将先验框铺撒在图片的不同位置上,但是遍历每个像素,设置的anchor就太多了,完全没
2020-12-18 11:16:04
334
原创 【每日一网】Day4:OverFeat流程简单理解
OverFeat算法背景overfeat是2013年imagenet定位任务的冠军,同时在分类和检测任务也取得了不错的成果,分类,定位,检测。overfeat使用单个共享网络,完成了分类,定位,检测任务,并且提出了一个多尺度的测试方法。overfeat的主要创新点是multiscale 、sliding window、offset pooling。分类器overfeat的网络结构类似于alexnet,作者提出两种模型,分别为fast模型和accurate模型,这两种模型在结构上稍有区别fast
2020-12-17 22:12:06
734
原创 【每日一网】Day3:Faster R-CNN流程简单理解
Faster R-CNN算法背景Faster R-CNN同样使用vgg16作为网络的backbone,推理速度在gpu上达到了5fps,准确率也有进一步的提升,在2015年的ILSVRC以及coco竞赛中获得多个项目的第一名算法流程1、将图像输入网络得到相应的特征图2、使用RPN结构生成候选框,将RPN生成的候选框投影到特征图上获得相应的特征矩阵3、将每个特征矩阵通过ROI pooling层缩放到7x7大小的特征图,接着将特征图战平通过一系列的全连接层得到预测结果也就是说,Faster R-
2020-12-16 13:50:50
466
原创 【每日一网】Day2:Fast R-CNN流程简单理解
Fast RCNN算法简介Fast R-CNN仍然使用VGG16作为网络的backbone,与R-CNN相比,训练时间快9倍,测试推理时间快213倍,准确率从62%提升到66%算法流程Fast R-CNN算法流程可分为三个步骤1、一张图像生成1k-2k个候选区域(使用selective search)方法2、将图像输入网络得到相应的特征图,将ss算法生成的候选框投影到特征图上得到相应的特征矩阵3、将每个特征矩阵通过ROI Pooling层缩放到7x7大小的特征图,接着将特征图展平通过一系列全链
2020-12-15 16:57:59
574
1
原创 【每日一网】Day1:RCNN流程简单理解
RCNN算法流程rcnn算法流程大概分为4个步骤1.一张图生成1k-2k个候选区域(使用后selective search方法)2.对每个候选区域使用深度网络提取特征3.特征送入每一类SVM分类器,判别是否属于该类4.使用回归器精细修正候选框位置一、候选区域的生成利用ss算法通过图像分割的方法得到一些原始区域,然后使用 一些合并策略将这些区域合并,得到一个层次化的区域结构,而这些结构就包含着可能需要的物体二、对每个候选区域,使用深度网络提取特征将2000个候选区域缩放到227x227,
2020-12-14 22:07:34
890
3
原创 【DataWhale Obj Dec Task01】目标检测基础
这里写自定义目录标题目标检测的基本概念理解实现目标框的表达形式两种格式转换代码交并比(IoU)voc数据集下载数据集类别voc数据集dataloader的构建1.数据集的准备构建dataloader小结目标检测的基本概念报名参加datawhale的目标检测组队学习,虽然做objdec有一段时间了,但是还没有系统的记录过自己的学习历程,就借此机会记录一下自己的感想和经历吧,就当是记笔记了。理解目标检测实际上也是一种分类算法,利用对整张图的遍历或者anchor来将带有目标的图像输入网络进行分类,并通过l
2020-12-14 10:31:22
526
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人