目标检测、元学习个人理解
anchor的生成方法
1.selective search
先将图片划分为多个很小的区域,然后根据各个区域之间的相似度不断聚合小区域。
2.Region Proposal Networks
将特征点映射回原图,在原图上面构建一定数量的确定尺寸的bounding box。然后再用后续的网络一方面要算出bounding box需要调整的偏移量,一方面要算出每一个bounding box是否可用
3.yolo的方法
让每一个子区域负责生成两个bounding box。然后再判断对应的bounding box可不可用
yolo系列方法
yolov1:
将原图划分为S*S个子区域,每个区域负责生成B个bounding box的四个边界信息,以及这两个box可以作为最终结果的置信度以及这两个box的类别信息。
yolov2:
在v1的基础上:加入了batch normalization 防止梯度消失/以及使用联合训练的方法;基于联合训练得思想,用分类数据训练分类网络,检测数据训练学习识别物体位置
yolov3:
改进了基础block,使用二分类交叉熵损失函数
RCNN系列方法
RCNN:
将输入图像用selective search的方法生成很多候选区。利用与iou标注正确的结果之间的iou loss确定此候选区可不可用。用神经网络判定候选区类别。
fast rcnn:
基于RCNN改进有几点:
RCNN是生成bounding box之后一个个去判断分类。而fast是将图像的特征和所有的bounding box一起通入一个ROI Pooling层。
faster rcnn:
生成bounding box 的方法使用了 Region Proposal Networks会快很多
目标检测中的不平衡
类别不平衡:有的类别出现的多,有的类别出现的少
尺度不平衡:各个类别bounding box 大小不一致
目标函数不平衡:iou loss 和分类的交叉少loss的权重需要确定
元学习
1.结合基于序列的神经网络
总所周知,基于序列的神经网络可以记忆以往的特征以及结果,那么新输入的数据就可以利用记忆进行匹配从而准确的得出结果
2.学习如何梯度下降
就是对新输入的少样本学习如何梯度下降。。。。
3.基于度量的方法
(1)一个是两两匹配,即在支撑集上训练一种度量两两之间相似度的网络,让同类之间的相似度最大,
不同类之间的相似度最小。那么对于测试集数据,将它与不同类别一一匹配,相似度最高的类就是它的类。
(2)训练一个特征提取器,在特征上做聚类
(3)基于一对多的匹配思想,同样是提取特征,然后利用特征进行匹配,只不过此种方法还是用神经网络匹配而且不是一对一,是一对多直接得出结果。
感觉目前所谓的元学习,都是套娃,利用早就比较成熟的模型拿过来在少样本情况下处理一下。。。