标签:
视频扫图之一致性图像检索
这里分享下最近的一个小作品:一致性图像检索。和以图搜图不同,以图搜图是从数据库中检索和查询图像一致或者相似的图像。而我们是只检索一致的图像(灰度化过后也属于一致的)。和拍照搜索也不同,拍照搜索是用户拍摄一张照片,然后在数据库中检索和这张照片一致的图像,它的检索触发是由用户提供的。而我们是通过摄像头扫描现实场景中的图像的,没有用户的触发交互。实际上就和我们扫描二维码类似,这里我们用的就不是二维码,而是普通的图像。换一种说法就是:我们在数据库中预先存储了很多的图片,然后我们用摄像头去扫描现实的场景,如果里面出现了和我们的数据库中保存的某张图片一致的图片,那这张一致的图像就是检索结果。
这个技术在增强现实AR里面应用较广,例如识别某个卡片,然后在上面叠加对应卡片的视频介绍啊啥的。例如给孩子们介绍动物啥的,孩子在摄像头下面摆出了一个猫的卡片,那我们就去检索知道要在这张卡片上叠加显示一个猫的3D模型出来,还可以360度立体观察。猫还能动,还能温柔地被孩子挑逗。如果全息投影平民化了,那就炫了。哈哈……。
因此我们可以在很多的AR SDK中找到这个技术的影子。例如著名的高通公司旗下的Vuforia就提供了这个功能,不过这个SDK并不开源,还针对不同的库大小和检索次数收费。另外,开源的ARToolkit也实现了这个功能,然而这个工具要求场景中待检索的图片必须是一个黑的正方形边框,边框的厚度不宜过薄。不过,我们这里不对图片做任何约束。自然才是美。
一、难点
这个应用主要有几个难点:
1、 与大部分的视觉任务一样,会受到图像尺度、旋转、光照、遮挡因素等等的影响。而且,相对于拍照搜索,视频扫图存在更大的任意性。
2、 在视频扫图中使用,具有较强的实时性要求。
3、 视频扫图不存在用户提供的检索触发。
二、效果
初期的效果如demo视频所示:
爱奇艺:http://www.iqiyi.com/w_19rs3a6n55.html#vfrm=8-7-0-1
百度云:http://pan.baidu.com/s/1qW1Fkjq
个人评估的结果如下:
1、 准确率:98%以上(库中1K+图像,测试图像随机抽取在ipad上显示测试)。
2、 召回率:这个不知道怎么客观评价。因为视频扫图,如果图出现在视频中,基本都可以检索到。但由于光照等影响,可能需要稍微调整视角等进行多次尝试。然而,总的来说,响应时间在用户的体验接受范围内。
3、 实时性:目前,数据库中100+张图像的话,单帧检索平均需要300ms(普通i5笔记本)。如果是1K+的图像,平均就需要2s的时间。其中,代码已经高度并行化(每次跑,每个CPU核占用率95%以上)。
4、 可适应距离:目标图像离摄像头10cm-100cm(目标图像出现在摄像头的尺寸为64x64像素到略大于摄像头分辨率大小)。
5、 可适应平面360度旋转、尺度变化、部分遮挡。适应普通光照。
6、 可适应图像源:打印黑白图、彩色图、显示屏显示图像(手机、平板)。
一些例子:
1、可适应多种图片源:
2、可适应多尺度、旋转、平移、遮挡和微变形因素干扰:
感受到计算机视觉算法带来的魅力了吗?
注:若demo视频中的图像侵犯了您的利益,深感抱歉。请及时联系我删除。
标签:
原文地址:http://blog.csdn.net/zouxy09/article/details/45567279