triplet loss

因为待遇低,因为工作不开心,已经严重影响了自己的工作积极性和工作效率,这几天发觉这样对自己实在是一种损失,决定提高工作效率,减少工作时间。

说说最近做的tracking, multi-object tracking。

object tracking首先要有object才能tracking是吧,而学术上研究的大多数single object tracking,其实就是单目标跟踪,就是开始你画个区域,告诉算法你要跟踪的是那个东西,然后接下来的视频里,把这个东西框出来。而实际应用的多是multi-object tracking,就是找出来所有目标,然后自己去跟踪。以下说的都是multi-object tracking.

目前deep learning如火如荼的时代,tracking也无法逃避Deep learning的魔掌的。目前的思路,效果比较好的就是检测时用深度学习检测,而匹配时,不再简单的用位置匹配,而是用该object的深度特征进行匹配,这样用的原因当然有多种,一种是比位置更加鲁棒,隔了多帧,位置已经跑远了,可能也没关系的,再者这种特征匹配能更好地处理遮挡的问题,至少比位置匹配更能处理遮挡问题。当然跟踪还是用kalman滤波做一下平滑处理,哈哈,其实我以前做多目标跟踪时不用kalman,直接匹配上了就是了,不做预测不做平滑啥的。

其中检测,目前不少都用的是静态图像的检测机制,但是我觉得下一波应该就是基于视频的目标检测吧,当然工作已经有不少了,可以去imagenet竞赛官网去看看做的比较好的那几家看看,基本代表了先进性吧。

而深度特征,目前更多的是用行人重识别的思路进行模型训练的,我本来是想用以前做人脸比对的模型simese loss训练网络的,因为之前最开始用这个网络训练人脸比对的工作时,我找的代码,训练效果还挺好的,后来借用到汽车的特征,效果也提升很多。但是看了一下,大家都用triplet loss来做,我也想用这个来试试。说实话,triplet loss不好训练。找了好几份代码,都不好训练,后来github上找了一个别人有实现结果的代码,我就改变了一下输入还是不行,下降不了,后来改了一下输入大小,可以下降了,但是也不稳定,不能保证每次都下降。

听同事说,他之前训练车的triplet loss,就训练不下来。其实说实话,计算机还是没有那么高级,或者说算法还是不适合去处理这种具有模糊逻辑的事情,你让他看同一类,还看不同类,还看距离多大,同时做,大概也和人一样,有时候会糊涂吧。

posted @ 2017-08-18 09:58  caoeryingzi  阅读(8197)  评论(8编辑  收藏  举报