一种简单的目标检测算法(类overfeat?)(类yolo?)
前言:一开始我没找到思路类似的算法,以为我这样的算法是个创新,但转念一下,md,这种的算法的思想非常自然,不应该找不到资料啊,后来就找到了overfeat,只能说是我见识短浅了或者说yolo太火了?
最近在学习目标检测算法,目前最热门的目标检测算法应该是yolo系列的算法,比较早的目标检测算法有滑窗法、rcnn之类的,其中的滑窗法吸引了我的注意力,它划过图像的每一个角落

同时,我还注意到了特征点检测

如果我们有一个带有特征点检测的图像定位卷积网络,然后直接输入大图,这样的话,输出数据的形状就会像是yolov1的数据形状。
如果不看训练过程,光从外观上来看,似乎不好区分这种方法与yolo方法。
训练方法:首先我们需要搭一个有平移不变性的网络,比如Darknet19,然后我们找很多分类物体处于中间的图像,并标注上预测框的宽和高(我个人认为宽和高与物体位置无关,所以可以在这里训练),然后开始训练。
训练完成后,我们把最后一层平均池化拆掉(因为在平均池化的过程中会丢失掉物体位置信息,这是我猜的),然后我们在最后一层卷积层添加上两个特征数据,也就是中心点的位置,都再添加一个和原来平均池化大小一样的卷积层,然后继续训练。
由于这种算法还没实践过,所以目前还缺乏数据。
实际上,如果我们能画出卷积神经网络计算出来的所有特征图,也就是画出卷积神经网络的注意力所在的位置区域,然后再通过这个简单的色块识别算法,也能给出这个框的位置,当然,这种方法可能有些不可控,但是如果真的训练出了一个“和预想的一样”的网络,那我们可以得到一个有特定功能的滤波器。

关于机器学习的方法,不能只想着搭模型、找数据、训练模型就能直接解决问题