http://www.cvchina.info/2014/02/25/14cvprbing/
亮点巨多:
人去识别一个照片,没见过谁用sliding window的方式一个个仔细的判断。因此Objectness 和 Saliency机制很相关,我感觉用objectness应该是detection的正确机制。
关于Salient object detection,如果一个图像只生成一个saliency map的话,用单张图像搞Saliency map,发展空间已经不是特别大了,我11年投PAMI那篇在MSRA1000上做到了93%左右的FMeasure,之后没看过别的比我CVPR11论文中segmentation结果(F = 90%)更高的正确率。用多张图像,特别是从internet上随机download的图像,从中提取有用的Salient object,并自动剔除单张图像分析产生的错误,应该还有很多事情可做。具体可参考:http://mmcheng.net/gsal/
关于Objectness,CVPR14这个充其量只算开了个头。因为只用了最最弱的feature(梯度:相邻像素颜色相减的绝对值)和学习方法(LinearSVM)来刻画我对这个问题的observation。进一步对初步结果做分析,将1000个proposal降低到几百个,甚至几十个,并同时保持较高的recall,将会有很多工作可做。从1千降到几十,将是一个漫长的过程,估计需要上百篇paper的不懈努力才有可能实现。
要是在未来几年,能将proposal数目降低到个位数,将会深刻影响图像编辑领域,我们也可能可以直接通过语音命令在没有分类器存在的情况下发出控制命令,例如“把这个object给我变大…”。关于语音控制的semantic parsing和图像编辑,有兴趣的话可以参考:http://mmcheng.net/imagespirit/ 。这个paper接收后也会公布代码。
小广告:2014年9月份我将回国去南开大学工作(副教授)并开始招收研究生(硕士生很肯定可以招,8月初知道是否可以招博士生),欢迎和我一起工作(相关的研究方向可以参考:http://mmcheng.net/category/research/)。
如果有人在其他平台下编译成功,或者写了Matlab,Python等语言的wrapper,并且愿意共享给大家,请联系我(http://mmcheng.net/),我在项目主页上加一个链接。另外如果有志愿者可以帮忙翻译成中文并共享给大家,我也非常感谢并提供latex源码。
下面的评论非常重要,特别引用到正文中:
bigbear :
经过一天的各种尝试,终于找到原因,__popcnt64作为位统计指令,是SSE4.2新加的,而我的是老4核cpu q9300, 只支持SSE4.1, 对于SSE4.2 不支持,所以运行到__popcnt64就会弹出Illegal Instruction异常。各位尝试运行代码的同学,要先看看cpu是不是支持sse4.2, 一般新一点的I3以上cpu,都是支持的。
LiuYu :
非常好的想法,自己的几点收获及建议:
1. 个人感觉NG有效果的原因就在于将其resize到8*8,这样不同object就行成了共性,想法简单,但不是那么容易想到的,需要些灵感。
2. 32位系统/机子的童鞋可以用__popcnt() 来计算__popcnt64,如下:
inline unsigned __int64 __popcount64(unsigned __int64 x)
{
return
__popcnt((unsigned int)(x )) +
__popcnt((unsigned int)(x >> 32));
}
用上述__popcount64代替__popcnt64即可;
3. 在我的机子上速度达不到那么快(我的机子的原因吧,i5, 4cores,而且是32位的。。。),但针对不同的场景,有的不需要那么多quantized window size,可以调节_base、 _maxT, _minT (最终影响_numT及template间的ratio);对速度影响较大的一个因素是szActive 的多少,因此可以调节产生szActive的阈值(源代码是If only 50- positive samples at this size, ignore it,对不同的训练数据,可以调节为100, 200等等。。)。还有一个思路就是针对实际应用场景,事先固定好szActive。用BING和ChnFtrs行人检测做了一个很简单不过的结合,ChnFtrs速度就有明显的提高,性能几乎没怎么降。总之很赞。@程明明
程明明 :
cxz :
您好,请问如何开启sse?我将项目属性–C/C++–代码生成–启用增强指令集设为”/arch:SSE2″ 对吗?我这样设置后,stage I 要21s,处理一张图片要0.011s。openmp已经开了。我机器是i7 4核。谢谢:)
程明明 :
@cxz
你确认你是用Release模式跑的(打开Visual Studio工程后,确认是release模式,然后按Ctrl+F5,而不是直接按F5)?默认的VS2012设置不至于这么慢。
cxz :
@程明明
原来我直接按了F5……按Ctrl+F5好了,stage 1: 3.4s,stage 2: 11s,处理一张0.0037s,cool! thx!!!
feixuedudiao :
已解决,在vs2010+32位机上运行,具体可参考http://blog.csdn.net/feixuedudiao/article/details/22268093