织梦CMS - 轻松建站从此开始!

罗索

关于视频内容搜索的设计

落鹤生 发布于 2014-02-13 09:25 点击:次 
家中超市安装了监控,但发生了东西不翼而飞的情况,且不知具体的时间。于是盯着录像,翻看着一个又一个的录像,希望能找到相关的画面,了解到底是怎么回事。但看了4个小时的录像后我放弃了,这种人工方式很低效,且容易由于眼睛疲劳错漏了录像的内容。
TAG: 感知哈希算法  感知哈希  

1、引言

家中超市安装了监控,但发生了东西不翼而飞的情况,且不知具体的时间。于是盯着录像,翻看着一个又一个的录像,希望能找到相关的画面,了解到底是怎么回事。但看了4个小时的录像后我放弃了,这种人工方式很低效,且容易由于眼睛疲劳错漏了录像的内容。于是在网上一番搜索,希望能够找到可以搜索或过滤的工具,但没找到这样的工具。问了公司几位监控产线的同事,也没有可使用的工具。随着没有找到工具后,事情就这样不了了之。可是东西又发现有不翼而飞的情况了,一番人工排查录像后还是没找到原因。

对于这种情况,作为一个开发人员,就萌发了自己开发一个可以对视频内容进行过滤或搜索的工具。且现在越来越多的监控/录像设备,很多时候需要翻看录像,相信这样的工具应该还是很有市场的。

2、实现原理

(1)Google "相似图片搜索":你可以用一张图片,搜索互联网上所有与它相似的图片。

打开Google图片搜索页面:
点击使用上传一张angelababy原图:
点击搜索后,Google将会找出与之相似的图片,图片相似度越高就越排在前面。如:
这种技术的原理是什么?计算机怎么知道两张图片相似呢?
根 据Neal Krawetz博士的解释,实现相似图片搜素的关键技术叫做"感知哈希算法"(Perceptualhash algorithm),它的作用是对每张图片生成一个"指纹"(fingerprint)字符串,然后比较不同图片的指纹。结果越接近,就说明图片越相 似。
 
(2)参考Google的图片搜索原理,若能将视频中出现人的时间点,使用“感知哈希算法”生成指纹字符串,然后通过指纹字符串即可搜索到出现人的视频时间点。进一步,可搜索指定人员出现的视频时间点,或视频中出现了哪些人等。
 

3、设计思路

说干就干,利用业余时间,经过在网上一番的搜索和学习。形成了以下的设计思路:

(1)从视频文件中截取视频图片

由 于视频比较大,不利于内容搜索,故将视频转化为一张张的图片。一般视频的帧率都比较高(>60fps),若按帧截取图片,每秒截取的图片较多,且占 用硬盘空间,同时,影响处理和搜索的性能。由于1秒内,视频内容变化不会太大,考虑每秒截取的图片为5~10张。处理过程中记录每张截取的图片在视频中对 应的位置,方便后续人工查看及确认。

(2)从截取的视频图片中进行人脸识别

为了视频内容搜索,需要从截取的视频图片中进行人脸识别,并将识别出来的人脸,通过“感知哈希算法”生成指纹字符串。需要注意的是视频图片可能识别出多个人脸,需一一识别,同时,后续可考虑实现物品等的识别。

(3)搜索

上传含人脸的图片,对该图片进行人脸识别,并根据“感知哈希算法”生成指纹字符串,比对该指纹字符串与视频图片生成的指纹,即可找到指定人员在视频中可能出现的时间点。

 4、关于“感知哈希算法”(来自百度百科
 感知哈希算法(以下简称PHA)是哈希算法的一类,主要用来做相似图片的搜索工作。
PHA是一类比较哈希方法的统称。图片所包含的特征被用来生成一组指纹(不过它不是唯一的),而这些指纹是可以进行比较的。
下面是简单的步骤,来说明对图像进行PHA的运算过程:
第一步,缩小尺寸。
最快速的去除高频和细节,只保留结构明暗的方法就是缩小尺寸。
将图片缩小到8x8的尺寸,总共64个像素。摒弃不同尺寸、比例带来的图片差异。
第二步,简化色彩。
将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。
第三步,计算平均值。
计算所有64个像素的灰度平均值。
第四步,比较像素的灰度。
算法的精髓,简单、有趣,又充满深意。
将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。
第五步,计算哈希值。
将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序就行了(例如,自左到右、自顶向下、big-endian)。
得到指纹以后,就可以对比不同的图片,看看64位中有多少位是不一样的。在理论上,这等同于计算Hammingdistance)。如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。
这个算法非常好,无论你改变图片的高宽、亮度甚至颜色,都不会改变哈希值。最关键的是速度极快!
(陈格生)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201402/16906.html]
本文出处:kedacom 作者:陈格生 原文
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
相关文章
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容