发明名称 一种基于改进算法的图片拼接方法
摘要 为了解决传统拼图方法很难对大量图片中所包含的事件有一个快速准确的拼接分类的问题,本发明提出一种基于改进算法的图片拼接方法,属于图像处理领域。该方法通过分析和提取图片中的人物、时间、地点、情节等叙事属性,将图片按层次结构组织,形成图片的层次拼接;此外该方法还提出一种新的照片相似性计算和叙事重要性区域检测方法,能够更好的实现按照叙事元素的照片分类和紧凑的拼图表示。
申请公布号 CN102881032B 申请公布日期 2015.09.09
申请号 CN201210343076.5 申请日期 2012.09.14
申请人 北京理工大学 发明人 张磊;黄华
分类号 G06T11/00(2006.01)I;G06T7/00(2006.01)I;G06K9/62(2006.01)I 主分类号 G06T11/00(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 李爱英;郭德忠
主权项 一种基于改进算法的图片拼接方法,其特征在于,该方法包括如下步骤:步骤一、图片读取;按照图片拍摄的时间顺序依次读取图片,并记录每张图片的拍摄时间;步骤二、人脸区域检测;依次从图片中检测人脸区域,并记录人脸的数量、位置及大小;步骤三、图片相似性计算;对于每张图片P,采用直方图统计方法计算其颜色直方图h和采用GIST方法计算形状符g;计算步骤一读取的所有图片中每两张图片P<sub>i</sub>和P<sub>j</sub>的图片相似性S<sub>ij</sub>:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>S</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mo>-</mo><mi>exp</mi><mrow><mo>(</mo><msup><mrow><mo>(</mo><msub><mi>g</mi><mi>i</mi></msub><mo>-</mo><msub><mi>g</mi><mi>j</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msub><mi>w</mi><mn>1</mn></msub><mo>.</mo><mfrac><msup><mrow><mo>(</mo><msub><mi>h</mi><mi>i</mi></msub><mo>-</mo><msub><mi>h</mi><mi>j</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mrow><msubsup><mi>h</mi><mi>i</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>h</mi><mi>j</mi><mn>2</mn></msubsup></mrow></mfrac><mo>+</mo><msub><mi>w</mi><mn>2</mn></msub><mo>&CenterDot;</mo><msup><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>-</mo><msub><mi>t</mi><mi>j</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000756485100000011.GIF" wi="1058" he="173" /></maths>其中,P<sub>i</sub>和P<sub>j</sub>中的i、j表示两张图片的索引标号,exp是指数函数,t<sub>i</sub>和t<sub>j</sub>分别对应图片P<sub>i</sub>和P<sub>j</sub>的拍摄时间,w<sub>1</sub>,w<sub>2</sub>是加权因子,h<sub>i</sub>代表图片P<sub>i</sub>的颜色直方图,h<sub>j</sub>代表图片P<sub>j</sub>的颜色直方图,g<sub>i</sub>代表图片P<sub>i</sub>的形状符,g<sub>j</sub>代表图片P<sub>j</sub>的形状符;步骤四、获取图片叙事层次;根据图片之间的相似性S<sub>ij</sub>,采用信息传递聚类算法对步骤一中所有的图片进行聚类运算,得到多个聚类中心,将聚类中心作为情节;将处于聚类中心的情节图片按拍摄时间进行排列,从而得到第一层次的图片叙事层次;针对处于第一层次的每两张相邻图片,从步骤一读取的图片中,获取这两张相邻图片之间的图片,并采用所述信息传递聚类算法得到聚类中心,将得到的处于聚类中心的情节图片按照拍摄时间排列,得到第二层次的图片叙事层次;针对第二层次的图片叙事层次进行图片获取、聚类、排序的处理,得到下一层次的图片叙事层次,以此类推,得到各层次的图片叙事层次;每执行一次聚类运算同时记录聚类中心所在聚类的所有图片;步骤五、针对步骤一读取的每张图片进行叙事重要性计算;针对每张图片获取其作为聚类中心的聚类,将获取的聚类中聚类中心以外的图片作为样本参考图片,对于处于聚类中心的图片A,选定任意像素I<sub>k</sub>在自身图片A中的重要性定义为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>Y</mi><mrow><mo>(</mo><msub><mi>I</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>Y</mi><mrow><mo>(</mo><msub><mi>p</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>f</mi><mi>l</mi></msub><mi>D</mi><mrow><mo>(</mo><msub><mi>p</mi><mi>l</mi></msub><mo>,</mo><msub><mi>p</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000756485100000021.GIF" wi="617" he="138" /></maths>其中,n是图片A中的像素个数,l是像素索引,D(p<sub>l</sub>,p<sub>i</sub>)是颜色p<sub>l</sub>和p<sub>i</sub>在颜色空间的距离,f<sub>l</sub>代表颜色p<sub>l</sub>在图片A中出现的频率,p<sub>i</sub>为像素I<sub>k</sub>的颜色,p<sub>l</sub>代表图片A中点l像素颜色;定义该像素I<sub>k</sub>在样本参考图片中出现的频率重要性为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msup><mi>Y</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><msub><mi>I</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>=</mo><msup><mi>Y</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><msub><mi>p</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>n</mi><mi>r</mi></msub></munderover><mo>&lsqb;</mo><msubsup><msup><mi>f</mi><mo>&prime;</mo></msup><mi>i</mi><mi>j</mi></msubsup><mi>l</mi><mi>o</mi><mi>g</mi><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msubsup><msup><mi>f</mi><mo>&prime;</mo></msup><mi>i</mi><mi>j</mi></msubsup><mo>/</mo><msub><mi>f</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&rsqb;</mo><mo>/</mo><msub><mi>n</mi><mi>r</mi></msub></mrow>]]></math><img file="FDA0000756485100000022.GIF" wi="912" he="149" /></maths>其中<img file="FDA0000756485100000023.GIF" wi="88" he="76" />是颜色p<sub>i</sub>在样本参考图片j中的频率,j是样本参考图片索引,n<sub>r</sub>为样本参考图片个数;则像素I<sub>k</sub>的叙事重要性定义为:S(I<sub>k</sub>)=S(p<sub>i</sub>)=Y(p<sub>i</sub>)·Y'(p<sub>i</sub>)针对处于聚类中心的图片中的每个像素,获取所述叙事重要性;根据步骤二获得的人脸的数量、位置及大小,从处于聚类中心的图片中提取人脸位置,将人脸区域中的像素赋予一个补充叙事重要性值,并叠加到叙事重要性值上,从而得到每个像素最终的叙事重要性;步骤六、兴趣区域裁剪;针对步骤一读取的每张图片,根据步骤五获得的叙事重要性,通过动态阈值裁剪方法计算并裁剪出兴趣区域;步骤七、无缝层次拼图;针对图片叙事层次中的每个层次,将该层次中所有的图片进行无缝拼接。
地址 100081 北京市海淀区中关村南大街5号