<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>增强视觉 &#124; 计算机视觉 增强现实 &#187; cvchina</title>
	<atom:link href="http://www.cvchina.info/author/cvchina/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cvchina.info</link>
	<description>计算机视觉，增强现实最新资讯</description>
	<lastBuildDate>Mon, 06 Feb 2012 06:34:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>GroupShot</title>
		<link>http://www.cvchina.info/2012/01/17/groupshot/</link>
		<comments>http://www.cvchina.info/2012/01/17/groupshot/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 14:24:35 +0000</pubDate>
		<dc:creator>cvchina</dc:creator>
				<category><![CDATA[新闻]]></category>
		<category><![CDATA[groupshot]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[photo fuse]]></category>

		<guid isPermaLink="false">http://www.cvchina.info/2012/01/17/groupshot/</guid>
		<description><![CDATA[今天看到一个很好玩的iOS应用GroupShot。点子是很早微软推出的Photo Fuse，将连拍的数张照片合成一张完美合照。 有设备的可以把玩一下。 Via Tags: groupshot, ios, photo fuse, 新闻]]></description>
			<content:encoded><![CDATA[<p><embed src="http://player.youku.com/player.php/sid/XMzQzNzAxMDMy/v.swf" allowFullScreen="true" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>
<p>今天看到一个很好玩的iOS应用<a href="http://www.groupshot.com/" target="_blank">GroupShot</a>。点子是很早微软推出的<a href="http://techcrunch.com/2010/06/02/microsoft-rolls-out-impressive-enhancements-to-windows-live-essentials-suite/" target="_blank">Photo Fuse</a>，将连拍的数张照片合成一张完美合照。</p>
<p>有设备的可以把玩一下。</p>
<p><a href="http://techcrunch.com/2012/01/16/groupshot-launches-impressive-face-swapping-photo-editing-app-for-iphone/" target="_blank">Via</a></p>

	Tags: <a href="http://www.cvchina.info/tag/groupshot/" title="groupshot" rel="tag">groupshot</a>, <a href="http://www.cvchina.info/tag/ios/" title="ios" rel="tag">ios</a>, <a href="http://www.cvchina.info/tag/photo-fuse/" title="photo fuse" rel="tag">photo fuse</a>, <a href="http://www.cvchina.info/category/news/" title="新闻" rel="tag">新闻</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.cvchina.info/2012/01/17/groupshot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Kmeans based indexing and Asymmetric Distance Computation  for ANN search (Binary Local Feature): part1</title>
		<link>http://www.cvchina.info/2012/01/13/kmeans-based-indexing-and-asymmetric-distance-computation-for-ann-search-binary-local-feature-part1/</link>
		<comments>http://www.cvchina.info/2012/01/13/kmeans-based-indexing-and-asymmetric-distance-computation-for-ann-search-binary-local-feature-part1/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 09:51:08 +0000</pubDate>
		<dc:creator>cvchina</dc:creator>
				<category><![CDATA[新闻]]></category>
		<category><![CDATA[ann]]></category>
		<category><![CDATA[kmeans]]></category>
		<category><![CDATA[orb]]></category>
		<category><![CDATA[二进制特征]]></category>
		<category><![CDATA[最近邻检索]]></category>

		<guid isPermaLink="false">http://www.cvchina.info/2012/01/13/kmeans-based-indexing-and-asymmetric-distance-computation-for-ann-search-binary-local-feature-part1/</guid>
		<description><![CDATA[受Herve Jegou的Hamming Embedding and Weak Geometric consistency for large-scale image search以及Product quantization for nearest neighbor search的启发，将Kmeans clustering、inverted files、Asymmetric Distance Computation应用到二进制形式的局部特征的最近邻检索。 主要思路： 用Kmeans做特征的粗索引。 根据统计数据对feature进行压缩。 检索时使用非对称的方式计算索引特征与查询特征之间的距离。 算法： 训练： 使用Kmeans对欲索引的特征进行聚类，得到K个中心。对二进制形式的feature做聚类时，类别中心更新方式为：对于每一个bit，统计所有落在该类别的特征的对应bit上的1,0频率，并取高者。 对于每个cluster，统计所有落在该类别的特征的每个bit位的1,0频率，取1或者0频率靠近50%的前M个bits。（越靠近50%，熵越大） 经过训练，我们得到两组数据： K个特征类别中心。 对于每个类别中心，都有一组“M个bit位置标示符”。这些标示符构成一个对原始feature进行压缩的依据。（本文以后将其称为投影向量） 索引： 建立倒排表 对于每一个欲索引的特征，计算其类别中心，并用该类别的投影向量对特征进行投影，得到一个M位的signature。记为sig_templ, 将该signature插入到倒排表中。 ANN检索： 计算query特征的类别中心query_cluster，并用该类别的投影向量对特征进行投影，得到一个M位的sig_query。 计算query特征与类别中心的，除去该类别投影向量对应的bit位的距离，记为dist_base. 遍历query_cluster对应的倒排表项，计算sig_query于表项中的sig_templ的距离，记为dist_sig。那么query特征与索引特征的距离dist = dist_base + dist_sig. 如此得到的最小距离，如小于某阈值，即可认为找到一个ANN。 关于时间复杂度的一点分析： 假设K = 40， M = 64，特征为32Byte ORB（假设有1k的供索引的特征）： 那么每次ANN检索只用做 40次32Byte的Hamming Distance计算 [...]]]></description>
			<content:encoded><![CDATA[<p>受Herve Jegou的<strong><a href="http://lear.inrialpes.fr/pubs/2008/JDS08/jegou_hewgc08.pdf" target="_blank">Hamming Embedding and Weak Geometric consistency for large-scale image search</a></strong>以及<a href="http://lear.inrialpes.fr/pubs/2011/JDS11/jegou_searching_with_quantization.pdf" target="_blank"><strong>Product quantization for nearest neighbor search</strong></a><strong>的</strong>启发，将Kmeans clustering、inverted files、Asymmetric Distance Computation应用到二进制形式的局部特征的最近邻检索。</p>
<p>主要思路：</p>
<p>用Kmeans做特征的粗索引。</p>
<p>根据统计数据对feature进行压缩。</p>
<p>检索时使用非对称的方式计算索引特征与查询特征之间的距离。</p>
<h2>算法：</h2>
<p><strong>训练：</strong></p>
<ol>
<li>使用Kmeans对欲索引的特征进行聚类，得到K个中心。对二进制形式的feature做聚类时，类别中心更新方式为：对于每一个bit，统计所有落在该类别的特征的对应bit上的1,0频率，并取高者。</li>
<li>对于每个cluster，统计所有落在该类别的特征的每个bit位的1,0频率，取1或者0频率靠近50%的前M个bits。（越靠近50%，熵越大）</li>
</ol>
<p>经过训练，我们得到两组数据：</p>
<ul>
<li>K个特征类别中心。</li>
<li>对于每个类别中心，都有一组“M个bit位置标示符”。这些标示符构成一个对原始feature进行压缩的依据。（本文以后将其称为投影向量）</li>
</ul>
<p><span id="more-3232"></span></p>
<p><strong>索引：</strong></p>
<ol>
<li>建立倒排表</li>
<li>对于每一个欲索引的特征，计算其类别中心，并用该类别的投影向量对特征进行投影，得到一个M位的signature。记为sig_templ, 将该signature插入到倒排表中。</li>
</ol>
<p><strong>ANN检索：</strong></p>
<ol>
<li>计算query特征的类别中心query_cluster，并用该类别的投影向量对特征进行投影，得到一个M位的sig_query。</li>
<li>计算query特征与类别中心的，除去该类别投影向量对应的bit位的距离，记为dist_base.</li>
<li>遍历query_cluster对应的倒排表项，计算sig_query于表项中的sig_templ的距离，记为dist_sig。那么query特征与索引特征的距离dist = dist_base + dist_sig. 如此得到的最小距离，如小于某阈值，即可认为找到一个ANN。</li>
</ol>
<p>关于时间复杂度的一点分析：</p>
<p>假设K = 40， M = 64，特征为32Byte <a href="http://www.cvchina.info/tag/orb/" class="st_tag internal_tag" rel="tag" title="标签 orb 下的日志">ORB</a>（假设有1k的供索引的特征）：</p>
<p>那么每次ANN检索只用做</p>
<p>40次32Byte的Hamming Distance计算 +  约25次8Byte的Hamming Distance计算。</p>
<p>对比穷举检索：</p>
<p>1000次32Byte的Hamming Distance计算</p>
<p>速度提升：20x</p>
<p>&nbsp;</p>
<ol>示例：</ol>
<ol>实验配置：</ol>
<ul>
<li>特征：Orb</li>
<li>nn/ann匹配阈值：50</li>
<li>K = 40</li>
</ul>
<ol>下图为穷举检索，图像匹配的结果：（无ransac）</ol>
<p><a href="http://www.cvchina.info/wp-content/uploads/2012/01/image.png"><img style="display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;" title="image" src="http://www.cvchina.info/wp-content/uploads/2012/01/image_thumb.png" alt="image" width="440" height="202" border="0" /></a></p>
<p>After Ransac：</p>
<p><a href="http://www.cvchina.info/wp-content/uploads/2012/01/image1.png"><img style="display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;" title="image" src="http://www.cvchina.info/wp-content/uploads/2012/01/image_thumb1.png" alt="image" width="445" height="204" border="0" /></a></p>
<p>下图为使用上述ANN检索方式，图像匹配的结果：（无ransac）</p>
<p><a href="http://www.cvchina.info/wp-content/uploads/2012/01/image2.png"><img style="display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;" title="image" src="http://www.cvchina.info/wp-content/uploads/2012/01/image_thumb2.png" alt="image" width="447" height="205" border="0" /></a></p>
<p>After Ransac：</p>
<p><a href="http://www.cvchina.info/wp-content/uploads/2012/01/image3.png"><img style="display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;" title="image" src="http://www.cvchina.info/wp-content/uploads/2012/01/image_thumb3.png" alt="image" width="447" height="205" border="0" /></a></p>
<p>可以看出，匹配点数会有明显下降。原因是两级索引方式固有的缺陷。（两个本身很近的feature，会被分类到不同的cluster）。也许使用Multi Assignment会有所改善。</p>
<p>等代码整理好再发part2.</p>

	Tags: <a href="http://www.cvchina.info/tag/ann/" title="ann" rel="tag">ann</a>, <a href="http://www.cvchina.info/tag/kmeans/" title="kmeans" rel="tag">kmeans</a>, <a href="http://www.cvchina.info/tag/orb/" title="orb" rel="tag">orb</a>, <a href="http://www.cvchina.info/tag/%e4%ba%8c%e8%bf%9b%e5%88%b6%e7%89%b9%e5%be%81/" title="二进制特征" rel="tag">二进制特征</a>, <a href="http://www.cvchina.info/category/news/" title="新闻" rel="tag">新闻</a>, <a href="http://www.cvchina.info/tag/%e6%9c%80%e8%bf%91%e9%82%bb%e6%a3%80%e7%b4%a2/" title="最近邻检索" rel="tag">最近邻检索</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.cvchina.info/2012/01/13/kmeans-based-indexing-and-asymmetric-distance-computation-for-ann-search-binary-local-feature-part1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CV Dazzle</title>
		<link>http://www.cvchina.info/2012/01/08/cv-dazzle/</link>
		<comments>http://www.cvchina.info/2012/01/08/cv-dazzle/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 13:53:50 +0000</pubDate>
		<dc:creator>cvchina</dc:creator>
				<category><![CDATA[新闻]]></category>
		<category><![CDATA[adam harvey]]></category>
		<category><![CDATA[cv dazzle]]></category>
		<category><![CDATA[反人脸检测]]></category>

		<guid isPermaLink="false">http://www.cvchina.info/2012/01/08/cv-dazzle/</guid>
		<description><![CDATA[之前介绍过一个反人脸检测的东西，作者Adam Harvey又将其发扬光大了，整出一个CV Dazzle。最早的版本没有考虑到审美上的因素，纯粹只是为了干掉人脸检测器（OpenCV based），这次Adam Harvey试图弄得。。好看点？ 对比一下以前的图像： Adam Harvey还得意洋洋的调戏了一把face.com的phototagger： CV Dazzle vs PhotoTagger from Adam Harvey on Vimeo. 官方网站 媒体报道 Tags: adam harvey, cv dazzle, 反人脸检测, 新闻]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.cvdazzle.com/assets/images/comparison_sm.jpg" alt="CV Dazzle" /></p>
<p>之前介绍过一个<a href="http://www.cvchina.info/2010/04/13/anti-face-detection/" target="_blank">反人脸检测</a>的东西，作者<a href="http://ahprojects.com/" target="_blank">Adam Harvey</a>又将其发扬光大了，整出一个CV Dazzle。最早的版本没有考虑到审美上的因素，纯粹只是为了干掉人脸检测器（<a href="http://www.cvchina.info/tag/opencv/" class="st_tag internal_tag" rel="tag" title="标签 opencv 下的日志">OpenCV</a> based），这次Adam Harvey试图弄得。。好看点？</p>
<p><span id="more-3222"></span></p>
<p>对比一下以前的图像：</p>
<p><img src="http://www.popsci.com/files/imagecache/article_image_large/articles/faces_0.jpg" alt="" /></p>
<p>Adam Harvey还得意洋洋的调戏了一把face.com的phototagger：</p>
<p><iframe src="http://player.vimeo.com/video/12308527?title=0&amp;byline=0&amp;portrait=0" frameborder="0" width="400" height="300"></iframe></p>
<p><a href="http://vimeo.com/12308527">CV Dazzle vs PhotoTagger</a> from <a href="http://vimeo.com/adamharv">Adam Harvey</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><a href="http://www.cvdazzle.com/" target="_blank">官方网站</a></p>
<p><a href="http://www.telepresenceoptions.com/2012/01/camouflage_from_computer_visio/" target="_blank">媒体报道</a></p>

	Tags: <a href="http://www.cvchina.info/tag/adam-harvey/" title="adam harvey" rel="tag">adam harvey</a>, <a href="http://www.cvchina.info/tag/cv-dazzle/" title="cv dazzle" rel="tag">cv dazzle</a>, <a href="http://www.cvchina.info/tag/%e5%8f%8d%e4%ba%ba%e8%84%b8%e6%a3%80%e6%b5%8b/" title="反人脸检测" rel="tag">反人脸检测</a>, <a href="http://www.cvchina.info/category/news/" title="新闻" rel="tag">新闻</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.cvchina.info/2012/01/08/cv-dazzle/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>几个AR翻译APP</title>
		<link>http://www.cvchina.info/2012/01/08/%e5%87%a0%e4%b8%aaar%e7%bf%bb%e8%af%91app/</link>
		<comments>http://www.cvchina.info/2012/01/08/%e5%87%a0%e4%b8%aaar%e7%bf%bb%e8%af%91app/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 13:33:08 +0000</pubDate>
		<dc:creator>cvchina</dc:creator>
				<category><![CDATA[新闻]]></category>
		<category><![CDATA[AR]]></category>
		<category><![CDATA[babelcam]]></category>
		<category><![CDATA[babelshot]]></category>
		<category><![CDATA[camdictionary]]></category>
		<category><![CDATA[qq慧眼]]></category>
		<category><![CDATA[word lens]]></category>
		<category><![CDATA[翻译]]></category>

		<guid isPermaLink="false">http://www.cvchina.info/2012/01/08/%e5%87%a0%e4%b8%aaar%e7%bf%bb%e8%af%91app/</guid>
		<description><![CDATA[Google Goggles [iPhone, Android. Free.] Google的可视化搜索，一级棒。甚至可以解数独。 CamDictionary [Android, free or $4.99.] 号称支持50种语言。基于视频。 Word Lens [iPhone, price varies.] 大概是最有名的AR翻译APP了吧。 Babelshot[iPhone, $4.99.] 拍照识别，需要选定ROI，交互比较复杂。 BabelCam [Windows Phone, free.] 情况不详。WP是亮点。 QQ慧眼[iPhone, free]腾讯的AR翻译APP。 &#160; 链接 Tags: AR, babelcam, babelshot, camdictionary, qq慧眼, word lens, 新闻, 翻译]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://www.google.com/mobile/goggles">Google Goggles</a></strong> [iPhone, Android. Free.] Google的可视化搜索，一级棒。甚至可以解数独。</p>
<p><embed src="http://player.youku.com/player.php/sid/XMzMwNDgxNjY0/v.swf" allowFullScreen="true" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed></p>
<p><span id="more-3221"></span>
<p><strong><a href="https://market.android.com/details?id=com.intsig.camdict&amp;hl=en">CamDictionary</a></strong> [Android, free or $4.99.] 号称支持50种语言。基于视频。</p>
<p><iframe height="315" src="http://www.youtube.com/embed/qLxCo6bciQw" frameborder="0" width="420" allowfullscreen="allowfullscreen"></iframe></p>
<p><strong><a href="http://itunes.apple.com/us/app/word-lens/id383463868?mt=8">Word Lens</a></strong> [iPhone, price varies.] 大概是最有名的AR翻译APP了吧。</p>
<p><embed src="http://player.youku.com/player.php/sid/XMjMwMzAzMzYw/v.swf" allowFullScreen="true" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed></p>
<p><strong><a href="http://itunes.apple.com/us/app/babelshot-photo-translator/id334194705?mt=8">Babelshot</a></strong>[iPhone, $4.99.] 拍照识别，需要选定ROI，交互比较复杂。</p>
<p><iframe height="315" src="http://www.youtube.com/embed/Gb6xncXg1PY" frameborder="0" width="420" allowfullscreen="allowfullscreen"></iframe></p>
<p><strong><a href="http://www.windowsphone.com/en-US/apps/576327f5-785c-4997-bc01-dc9fe4423f88">BabelCam</a></strong> [Windows Phone, free.] 情况不详。WP是亮点。</p>
<p><a href="http://labs.qq.com/product.php?id=5" target="_blank"><strong>QQ慧眼</strong></a>[iPhone, free]腾讯的AR翻译APP。</p>
<p><embed src="http://player.youku.com/player.php/sid/XMjkxMTE0MDY0/v.swf" allowFullScreen="true" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed></p>
<p>&#160;</p>
<p><a href="http://mashable.com/2012/01/06/apps-for-reporters-abroad/" target="_blank">链接</a></p>

	Tags: <a href="http://www.cvchina.info/tag/ar/" title="AR" rel="tag">AR</a>, <a href="http://www.cvchina.info/tag/babelcam/" title="babelcam" rel="tag">babelcam</a>, <a href="http://www.cvchina.info/tag/babelshot/" title="babelshot" rel="tag">babelshot</a>, <a href="http://www.cvchina.info/tag/camdictionary/" title="camdictionary" rel="tag">camdictionary</a>, <a href="http://www.cvchina.info/tag/qq%e6%85%a7%e7%9c%bc/" title="qq慧眼" rel="tag">qq慧眼</a>, <a href="http://www.cvchina.info/tag/word-lens/" title="word lens" rel="tag">word lens</a>, <a href="http://www.cvchina.info/category/news/" title="新闻" rel="tag">新闻</a>, <a href="http://www.cvchina.info/tag/%e7%bf%bb%e8%af%91/" title="翻译" rel="tag">翻译</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.cvchina.info/2012/01/08/%e5%87%a0%e4%b8%aaar%e7%bf%bb%e8%af%91app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy New Year !</title>
		<link>http://www.cvchina.info/2012/01/01/happy-new-year-2/</link>
		<comments>http://www.cvchina.info/2012/01/01/happy-new-year-2/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 17:12:35 +0000</pubDate>
		<dc:creator>cvchina</dc:creator>
				<category><![CDATA[新闻]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[新年快乐]]></category>

		<guid isPermaLink="false">http://www.cvchina.info/2012/01/01/happy-new-year-2/</guid>
		<description><![CDATA[Tags: 2012, 新年快乐, 新闻]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cvchina.info/wp-content/uploads/2012/01/3d-happy-new-year-20121.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="3d happy new year 2012" border="0" alt="3d happy new year 2012" src="http://www.cvchina.info/wp-content/uploads/2012/01/3d-happy-new-year-2012_thumb1.png" width="600" height="424" /></a></p>

	Tags: <a href="http://www.cvchina.info/tag/2012/" title="2012" rel="tag">2012</a>, <a href="http://www.cvchina.info/tag/%e6%96%b0%e5%b9%b4%e5%bf%ab%e4%b9%90/" title="新年快乐" rel="tag">新年快乐</a>, <a href="http://www.cvchina.info/category/news/" title="新闻" rel="tag">新闻</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.cvchina.info/2012/01/01/happy-new-year-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[招聘] 华为 多媒体技术实验室杭州分部</title>
		<link>http://www.cvchina.info/2011/12/31/%e6%8b%9b%e8%81%98-%e5%8d%8e%e4%b8%ba-%e5%a4%9a%e5%aa%92%e4%bd%93%e6%8a%80%e6%9c%af%e5%ae%9e%e9%aa%8c%e5%ae%a4%e6%9d%ad%e5%b7%9e%e5%88%86%e9%83%a8/</link>
		<comments>http://www.cvchina.info/2011/12/31/%e6%8b%9b%e8%81%98-%e5%8d%8e%e4%b8%ba-%e5%a4%9a%e5%aa%92%e4%bd%93%e6%8a%80%e6%9c%af%e5%ae%9e%e9%aa%8c%e5%ae%a4%e6%9d%ad%e5%b7%9e%e5%88%86%e9%83%a8/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 06:38:39 +0000</pubDate>
		<dc:creator>cvchina</dc:creator>
				<category><![CDATA[新闻]]></category>
		<category><![CDATA[huawei]]></category>
		<category><![CDATA[华为]]></category>

		<guid isPermaLink="false">http://www.cvchina.info/2011/12/31/%e6%8b%9b%e8%81%98-%e5%8d%8e%e4%b8%ba-%e5%a4%9a%e5%aa%92%e4%bd%93%e6%8a%80%e6%9c%af%e5%ae%9e%e9%aa%8c%e5%ae%a4%e6%9d%ad%e5%b7%9e%e5%88%86%e9%83%a8/</guid>
		<description><![CDATA[Job Function: Researcher responsible for developing algorithms and prototype of research projects related to video and audio. The candidate will work with the multimedia technology lab in Hangzhou or Shenzhen. Skills/Experience Must hold a Bachelors and/or a Masters/or a PhD in Electrical Engineering/or Computer Engineering with at least 2+ years experience in design, development, and [...]]]></description>
			<content:encoded><![CDATA[<p>Job Function:</p>
<p>Researcher responsible for developing algorithms and prototype of research projects related to video and audio. The candidate will work with the multimedia technology lab in Hangzhou or Shenzhen. </p>
<p>Skills/Experience</p>
<p>Must hold a Bachelors and/or a Masters/or a PhD in Electrical Engineering/or Computer Engineering with at least 2+ years experience in design, development, and integration of multimedia algorithms. </p>
<p>Strong Knowledge in <strong>computational camera, computational photography, 3D display and video/audio signal processing</strong>. </p>
<p>Knowledge in video standards on H.264, MPEG4, VP6/VP8, or graphics domain, Open GL standards is a definite plus. </p>
<p>Knowledge in audio standards on AMR, AMR-WB, G.711, G.719 and OpenAL. </p>
<p>Knowledge in optical lens design is a plus. </p>
<p>Strong C, C++, and MatLab development skills is required.<b></b></p>
<p>Experience in initiating a research proposal and conduct the research activities, developing deliverable software with a GUI interface is desired. </p>
<p>Should have good analytical ability, problem solving skills and be a self-starter.</p>
<p>Work well within a matrix organization and able to influence and collaborate with team members all over the world. </p>
<p><span id="more-3211"></span>
<p>Responsibilities</p>
<p>Responsible for system design, algorithm development and verification of new multimedia technologies on mobile devices. Will work with <a href="http://www.cvchina.info/tag/huawei/" class="st_tag internal_tag" rel="tag" title="标签 huawei 下的日志">Huawei</a> Hi-silicon, User Centric Design and other cross functional teams for various milestones and deliverables. </p>
<p>Education Requirements:</p>
<p>BE with at least 4+ years experience, ME with at least 2+ years experience, PhD from a college of repute.</p>
<p>Contact person:</p>
<p>Dr. Zhou Jiong </p>
<p>Email: <a href="mailto:John.zhoujiong@huawei.com">John.zhoujiong@huawei.com</a></p>
<p><strong>额外声明： 需已经取得学位。</strong></p>

	Tags: <a href="http://www.cvchina.info/tag/huawei/" title="huawei" rel="tag">huawei</a>, <a href="http://www.cvchina.info/tag/%e5%8d%8e%e4%b8%ba/" title="华为" rel="tag">华为</a>, <a href="http://www.cvchina.info/category/news/" title="新闻" rel="tag">新闻</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.cvchina.info/2011/12/31/%e6%8b%9b%e8%81%98-%e5%8d%8e%e4%b8%ba-%e5%a4%9a%e5%aa%92%e4%bd%93%e6%8a%80%e6%9c%af%e5%ae%9e%e9%aa%8c%e5%ae%a4%e6%9d%ad%e5%b7%9e%e5%88%86%e9%83%a8/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>vibe</title>
		<link>http://www.cvchina.info/2011/12/25/vibe/</link>
		<comments>http://www.cvchina.info/2011/12/25/vibe/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 14:28:19 +0000</pubDate>
		<dc:creator>cvchina</dc:creator>
				<category><![CDATA[新闻]]></category>
		<category><![CDATA[background subtraction]]></category>
		<category><![CDATA[vibe]]></category>
		<category><![CDATA[背景减除]]></category>

		<guid isPermaLink="false">http://www.cvchina.info/2011/12/25/vibe/</guid>
		<description><![CDATA[ViBe &#8211; a powerful technique for background detection and subtraction in video sequences Executive summary Description ViBe is a powerful pixel-based technique that detects the background in video sequences. Many experiments have shown that it performs better than the state-of-the-art techniques known in the scientific literature. In addition the computational load is lower than simple [...]]]></description>
			<content:encoded><![CDATA[<p><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://www2.ulg.ac.be/telecom/research/vibe/videos/input-background.jpg" /></p>
<h3><a href="http://www.cvchina.info/tag/vibe/" class="st_tag internal_tag" rel="tag" title="标签 vibe 下的日志">ViBe</a> &#8211; a powerful technique for background detection and subtraction in video sequences</h3>
<h4>Executive summary</h4>
<h5>Description</h5>
<p>ViBe is a powerful pixel-based technique that detects the background in video sequences. Many experiments have shown that it performs <em>better than the state-of-the-art techniques</em> known in the scientific literature. In addition the <em>computational load is lower</em> than simple background techniques implemented in commercial products. ViBe is the perfect solution for both software and hardware implementations.</p>
<h5>Code and program for Windows and Linux</h5>
<ul>
<li><b>A program for Windows and Linux. </b>Download an archive <a href="http://www2.ulg.ac.be/telecom/research/vibe/download/ViBe.zip">zip archive [10 MB - updated on May 19, 2011]</a> to use ViBe on Windows (or under <a href="http://www.winehq.org/">Wine</a> in Linux). Details on <a href="http://www2.ulg.ac.be/telecom/research/vibe/download.html">this page.</a>      <br />The program allows you to: (1) save the result for your own images, (2) change the few parameters of ViBe to experiment with, and (3) reproduce our results. </li>
<li><b>Linux: link a C/C++ object file to your own code. </b>We provide the object (compiled) code of ViBe for non-commercial applications. Under Linux, download the 32 bits <a href="http://www2.ulg.ac.be/telecom/research/vibe/download/vibe-background-32bits.zip">zip</a> or <a href="http://www2.ulg.ac.be/telecom/research/vibe/download/vibe-background-32bits.tgz">compressed tar file</a>, or the 64 bits <a href="http://www2.ulg.ac.be/telecom/research/vibe/download/vibe-background-64bits.zip">zip</a> or <a href="http://www2.ulg.ac.be/telecom/research/vibe/download/vibe-background-64bits.tgz">compressed tar file</a>. Details on <a href="http://www2.ulg.ac.be/telecom/research/vibe/download.html">this page.</a></li>
</ul>
<p><span id="more-3208"></span>
<p>&#160;</p>
<h5>Licensing opportunities</h5>
<p>ViBe is protected by <a href="http://v3.espacenet.com/publicationDetails/biblio?DB=EPODOC&amp;adjacent=true&amp;locale=en_be&amp;FT=D&amp;date=20090115&amp;CC=WO&amp;NR=2009007198A1&amp;KC=A1"><b>several patents</b></a> (patent track: <a href="http://www.wipo.int/pctdb/en/wo.jsp?WO=2009007198">WO2009007198</a> / Publication date: 2009-01-15; Priority number(s): EP20070112011 20070708) / US (granted): <a href="http://orbi.ulg.ac.be/bitstream/2268/98750/1/Vandroogenbroeck2011Visual.pdf">US 8009918 B2 (pdf)</a> / Japan (granted): <a href="http://orbi.ulg.ac.be/handle/2268/98791">JP 2011 4699564 B2</a>    <br />The <a href="http://www.ulg.ac.be/">University of Liege</a> holds all the rights on the technology and the innovations have been validated during the patent track.    <br />For licensing the technology, please contact <a href="http://www.ulg.ac.be/telecom/people/MarcVanDroogenbroeck.html">Prof. Van Droogenbroeck</a>.</p>
<h5>Major advantages:</h5>
<ul>
<li>Very low computational load. Operations are limited to subtractions and operations on memory blocks. A downscaled version only needs one comparison per pixel and one byte of memory per pixel (see illustration below). </li>
<li>Parameter-free method. There is no need to adapt parameter values to the content. Absolutely all the experiments have been led with the same set of values. </li>
<li>Ready for direct inclusion in commercial products. Suited both for software and hardware inclusions. </li>
<li>Faster and improved performances in comparison with state-the-art techniques (Mixture of Gaussians, Parametric methods, Sacon, etc). </li>
<li>Pixel-based technique, ideal for any pre-processing step. ViBe allows you to model the objects in the videos as you like. </li>
<li>Instantaneous initialization of the background model. ViBe is ready to operate from the second frame of any video sequence. </li>
<li>Robust to noise.</li>
</ul>
<h5>References</h5>
<ul>
<li><a name="Barnich2010ViBe"></a><a href="http://www2.ulg.ac.be/telecom/publi/Author/BARNICH-O.html">O. Barnich</a> and <a href="http://www2.ulg.ac.be/telecom/publi/Author/VAN-DROOGENBROECK-M.html">M. Van Droogenbroeck</a>. <strong><a href="http://ieeexplore.ieee.org/search/freesrchabstract.jsp?tp=&amp;arnumber=5672785">ViBe: A universal background subtraction algorithm for video sequences</a></strong>. In <em>IEEE Transactions on Image Processing</em>, 20(6):1709-1724, June 2011. Also available on <a href="http://hdl.handle.net/2268/81248">the University site</a> in PDF format: <a href="http://orbi.ulg.ac.be/bitstream/2268/81248/1/Barnich2011ViBe.pdf"><img border="0" align="middle" src="http://www2.ulg.ac.be/telecom/research/vibe/pdf.gif" /></a>, and <a href="http://www2.ulg.ac.be/telecom/publi/publications/barnich/Barnich2011ViBe/index.html">HTML format</a>. This paper contains a very <b><em>detailed pseudo-code description of the complete algorithm</em></b>. </li>
<li><a name="Barnich2009ViBe"></a><a href="http://www2.ulg.ac.be/telecom/publi/Author/BARNICH-O.html">O. Barnich</a> and <a href="http://www2.ulg.ac.be/telecom/publi/Author/VAN-DROOGENBROECK-M.html">M. Van Droogenbroeck</a>. <strong>ViBe: a powerful random technique to estimate the background in video sequences</strong>. In <em>International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2009)</em>, pages 945-948, April 2009. Available as a <a href="http://ieeexplore.ieee.org//xpls/abs_all.jsp?arnumber=4959741">IEEE publication</a> or on <a href="http://hdl.handle.net/2268/12087">the University site</a>. </li>
<li><a href="http://www.freepatentsonline.com/EP2015252.html">Patent description at the &quot;freepatentsonline&quot; web site</a></li>
</ul>
<h5>Performance</h5>
<p>An independant evaluation is available in S. Brutzer, B. Hoferlin, and G. Heidemann. <strong><a href="http://ieeexplore.ieee.org/search/freesrchabstract.jsp?arnumber=5995508">Evaluation of background subtraction techniques for video surveillance.</a></strong> In IEEE International Conference on Computer Vision and Pattern Recognition (CVPR), pages 1937-1944, Colorado Spring, USA, June 2011.    <br />In their conclusions, they claim: <em>&quot;Considering these aspects, Barnich is a <strong>strong favorite</strong>, since it is simple and almost parameterless.&quot;</em></p>
<h5>Contacts</h5>
<p>For any question, please contact <a href="http://www.ulg.ac.be/telecom/people/MarcVanDroogenbroeck.html"><b>Prof. Van Droogenbroeck</b> </a>.    <br />See also the site of the <a href="http://www.interface.ulg.ac.be/Valorisation-recherche-universitaire/op37.php">Interface</a>, in charge of the partnerships between companies and the <a href="http://www.ulg.ac.be/">University of Liege</a>.</p>
<ul></ul>
<ul><a href="http://www2.ulg.ac.be/telecom/research/vibe/" target="_blank">项目主页</a></ul>
<p>感谢wushuangseu的投递</p>

	Tags: <a href="http://www.cvchina.info/tag/background-subtraction/" title="background subtraction" rel="tag">background subtraction</a>, <a href="http://www.cvchina.info/tag/vibe/" title="vibe" rel="tag">vibe</a>, <a href="http://www.cvchina.info/category/news/" title="新闻" rel="tag">新闻</a>, <a href="http://www.cvchina.info/tag/%e8%83%8c%e6%99%af%e5%87%8f%e9%99%a4/" title="背景减除" rel="tag">背景减除</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.cvchina.info/2011/12/25/vibe/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>KinectFusion的PCL实现</title>
		<link>http://www.cvchina.info/2011/12/15/kinectfusion%e7%9a%84pcl%e5%ae%9e%e7%8e%b0/</link>
		<comments>http://www.cvchina.info/2011/12/15/kinectfusion%e7%9a%84pcl%e5%ae%9e%e7%8e%b0/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 16:12:28 +0000</pubDate>
		<dc:creator>cvchina</dc:creator>
				<category><![CDATA[新闻]]></category>
		<category><![CDATA[kinect]]></category>
		<category><![CDATA[kinect fusion]]></category>
		<category><![CDATA[willowgarage]]></category>

		<guid isPermaLink="false">http://www.cvchina.info/2011/12/15/kinectfusion%e7%9a%84pcl%e5%ae%9e%e7%8e%b0/</guid>
		<description><![CDATA[WillowGarage的猛士再次发力，实现了今年ISMAR上炫目的KinectFusion。 The preliminary source code is currently available in our SVN repository&#8217;s trunk in the CUDA/KinFu module. Since this code is still unreleased and under active development, we won&#8217;t be able to provide support via our forums yet; however, advanced users are free to check out the code and give it a try. Be advised [...]]]></description>
			<content:encoded><![CDATA[<p>WillowGarage的猛士再次发力，实现了今年ISMAR上炫目的<a href="http://research.microsoft.com/apps/video/default.aspx?id=152815" target="_blank">KinectFusion</a>。</p>
<p>The preliminary source code is currently available in our SVN repository&#8217;s trunk in the CUDA/KinFu module. Since this code is still unreleased and under active development, we won&#8217;t be able to provide support via our forums yet; however, advanced users are free to check out the code and give it a try. Be advised that this code relies heavily on the <a href="http://www.nvidia.com/object/cuda_home_new.html">NVidia CUDA</a> development libraries for GPU optimizations and will require a compatible GPU for best results.</p>
<p>Moving forward, we continue to refine and improve the system, and we are hoping to improve upon the original algorithm in order to model larger scale environments in the near future. We are targeting a stable release date to coincide with the upcoming PCL 2.0 release next year. (Please note there is no planned release in the 1.x branch.)</p>
<p><span id="more-3201"></span><iframe height="315" src="http://www.youtube.com/embed/9qfv-JSh0Kc" frameborder="0" width="420" allowfullscreen="allowfullscreen"></iframe>
<p><a href="http://www.pointclouds.org/news/kinectfusion-open-source.html" target="_blank">来源</a></p>

	Tags: <a href="http://www.cvchina.info/tag/kinect/" title="kinect" rel="tag">kinect</a>, <a href="http://www.cvchina.info/tag/kinect-fusion/" title="kinect fusion" rel="tag">kinect fusion</a>, <a href="http://www.cvchina.info/tag/willowgarage/" title="willowgarage" rel="tag">willowgarage</a>, <a href="http://www.cvchina.info/category/news/" title="新闻" rel="tag">新闻</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.cvchina.info/2011/12/15/kinectfusion%e7%9a%84pcl%e5%ae%9e%e7%8e%b0/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Learning ImageMagick 5:  颜色通道操作</title>
		<link>http://www.cvchina.info/2011/12/14/learning-imagemagick-5-%e9%a2%9c%e8%89%b2%e9%80%9a%e9%81%93%e6%93%8d%e4%bd%9c/</link>
		<comments>http://www.cvchina.info/2011/12/14/learning-imagemagick-5-%e9%a2%9c%e8%89%b2%e9%80%9a%e9%81%93%e6%93%8d%e4%bd%9c/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 02:38:20 +0000</pubDate>
		<dc:creator>cvchina</dc:creator>
				<category><![CDATA[新闻]]></category>
		<category><![CDATA[color channel]]></category>
		<category><![CDATA[imagemagick]]></category>

		<guid isPermaLink="false">http://www.cvchina.info/2011/12/14/learning-imagemagick-5-%e9%a2%9c%e8%89%b2%e9%80%9a%e9%81%93%e6%93%8d%e4%bd%9c/</guid>
		<description><![CDATA[一对对偶操作：分离颜色通道，合并颜色通道。 分离颜色通道：使用-channel 和 –separete 参数 convert ..\SampleImages\Lena.png -channel R -separate Lena_R.png convert ..\SampleImages\Lena.png -channel G -separate Lena_G.png convert ..\SampleImages\Lena.png -channel B -separate Lena_B.png 另外一种分离方式：同时提取三个通道。 convert ..\SampleImages\Lena.png&#160; -separate Lena_RGB_%d.png 合并颜色通道：使用-combine 参数 convert Lena_R.png Lena_G.png Lena_B.png -combine Lena2.png Tags: color channel, imagemagick, 新闻]]></description>
			<content:encoded><![CDATA[<p>一对对偶操作：分离颜色通道，合并颜色通道。</p>
<p><a href="http://www.cvchina.info/wp-content/uploads/2011/12/Lena2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Lena2" border="0" alt="Lena2" src="http://www.cvchina.info/wp-content/uploads/2011/12/Lena2_thumb.png" width="244" height="244" /></a> <a href="http://www.cvchina.info/wp-content/uploads/2011/12/Lena_B.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Lena_B" border="0" alt="Lena_B" src="http://www.cvchina.info/wp-content/uploads/2011/12/Lena_B_thumb.png" width="244" height="244" /></a> <a href="http://www.cvchina.info/wp-content/uploads/2011/12/Lena_G.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Lena_G" border="0" alt="Lena_G" src="http://www.cvchina.info/wp-content/uploads/2011/12/Lena_G_thumb.png" width="244" height="244" /></a> <a href="http://www.cvchina.info/wp-content/uploads/2011/12/Lena_R.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Lena_R" border="0" alt="Lena_R" src="http://www.cvchina.info/wp-content/uploads/2011/12/Lena_R_thumb.png" width="244" height="244" /></a> </p>
<p>分离颜色通道：使用-channel 和 –separete 参数</p>
<blockquote><p>convert ..\SampleImages\Lena.png -channel R -separate Lena_R.png     <br />convert ..\SampleImages\Lena.png -channel G -separate Lena_G.png      <br />convert ..\SampleImages\Lena.png -channel B -separate Lena_B.png</p>
</blockquote>
<p>另外一种分离方式：同时提取三个通道。</p>
<blockquote><p>convert ..\SampleImages\Lena.png&#160; -separate Lena_RGB_%d.png</p>
</blockquote>
<p>合并颜色通道：使用-combine 参数</p>
<blockquote><p>convert Lena_R.png Lena_G.png Lena_B.png -combine Lena2.png</p>
</blockquote>

	Tags: <a href="http://www.cvchina.info/tag/color-channel/" title="color channel" rel="tag">color channel</a>, <a href="http://www.cvchina.info/tag/imagemagick/" title="imagemagick" rel="tag">imagemagick</a>, <a href="http://www.cvchina.info/category/news/" title="新闻" rel="tag">新闻</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.cvchina.info/2011/12/14/learning-imagemagick-5-%e9%a2%9c%e8%89%b2%e9%80%9a%e9%81%93%e6%93%8d%e4%bd%9c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZZ OpenCV在iOS和x86平台上的性能测试</title>
		<link>http://www.cvchina.info/2011/12/08/zz-opencv%e5%9c%a8ios%e5%92%8cx86%e5%b9%b3%e5%8f%b0%e4%b8%8a%e7%9a%84%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/</link>
		<comments>http://www.cvchina.info/2011/12/08/zz-opencv%e5%9c%a8ios%e5%92%8cx86%e5%b9%b3%e5%8f%b0%e4%b8%8a%e7%9a%84%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 05:18:58 +0000</pubDate>
		<dc:creator>cvchina</dc:creator>
				<category><![CDATA[新闻]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[x86]]></category>

		<guid isPermaLink="false">http://www.cvchina.info/2011/12/08/zz-opencv%e5%9c%a8ios%e5%92%8cx86%e5%b9%b3%e5%8f%b0%e4%b8%8a%e7%9a%84%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/</guid>
		<description><![CDATA[来自老杨的一篇评测。 好久没更新博客了，最近都在忙找工作，目前来看形势还不错。感觉我基本已经跟computer vision没什么关系了，面了很多公司，只有一个是视觉的，其它都是纯码农活儿了。 这学期上了个计算机架构的水课，最后的大作业我就benchmark了一下OpenCV在x86和ARM下面的性能，我的笔记本的CPU是Intel Core i7 620M，iOS测试我用的是iPod Touch，和iPhone 4是一样的CPU, Apple A4。最新的iPhone 4s和iPad2上的Apple A5没机会测，因为这俩都不能完全越狱。x86比ARM快那是肯定的，不过这个benchmark可以看出来到底差多少。 编译：在x86上我用的是64位编译的，因为Apple A4分别支持ARM v6和v7两个版本，我就分别都编译了不同的静态库。 测试：我使用了不同的数据类型，8/16/32位整形，32/64位浮点；不同的输入矩阵大小，4*4/8*8/…/256*256/512*512；不同的操作，加、乘、转置、求逆、SVD，还有一组图像处理的比较。 下面是一些比较结果： 这门课一直有个旁听的哥们儿，present完了下课后他跑过来跟我聊天，原来他是苹果高级硬件工程师，Accelerate Framework组，就是专门搞这些底层优化的，我提到的很多细节他能接着说好多，他说ARM如果优化的好的话，不会像我benchmark的结果那么不济的，可能会比x86差个一两倍的样子。关公面前耍了次大刀。 下面是原始输出数据： /*****************************************************/ /* (Time: μs) */ /* Platform: x86 ARM v6 ARM v7 */ /*****************************************************/ Run bench on type CV_8UC1 Size 512: cvAdd: 417.0 11977.0 5991.5 cvMul: 417.5 9798.0 6805.5 cvTranspose: 214.0 3578.0 3322.0 Size [...]]]></description>
			<content:encoded><![CDATA[<p><strong>来自老杨的一篇评测。</strong></p>
<p>好久没更新博客了，最近都在忙找工作，目前来看形势还不错。感觉我基本已经跟computer vision没什么关系了，面了很多公司，只有一个是视觉的，其它都是纯码农活儿了。</p>
<p>这学期上了个计算机架构的水课，最后的大作业我就benchmark了一下OpenCV在x86和ARM下面的性能，我的笔记本的CPU是Intel Core i7 620M，iOS测试我用的是iPod Touch，和iPhone 4是一样的CPU, Apple A4。最新的iPhone 4s和iPad2上的Apple A5没机会测，因为这俩都不能完全越狱。x86比ARM快那是肯定的，不过这个benchmark可以看出来到底差多少。</p>
<p>编译：在x86上我用的是64位编译的，因为Apple A4分别支持ARM v6和v7两个版本，我就分别都编译了不同的静态库。</p>
<p>测试：我使用了不同的数据类型，8/16/32位整形，32/64位浮点；不同的输入矩阵大小，4*4/8*8/…/256*256/512*512；不同的操作，加、乘、转置、求逆、SVD，还有一组图像处理的比较。</p>
<p>下面是一些比较结果：</p>
<p><a href="http://cs.dartmouth.edu/~xy/blog/wp-content/uploads/2011/12/presentation.jpg"><img title="presentation" src="http://cs.dartmouth.edu/~xy/blog/wp-content/uploads/2011/12/presentation-1024x768.jpg" alt="" width="450" height="337" /></a></p>
<p><span id="more-3184"></span></p>
<p><a href="http://cs.dartmouth.edu/~xy/blog/wp-content/uploads/2011/12/presentation2.jpg"><img title="presentation2" src="http://cs.dartmouth.edu/~xy/blog/wp-content/uploads/2011/12/presentation2-1024x768.jpg" alt="" width="450" height="337" /></a></p>
<p><a href="http://cs.dartmouth.edu/~xy/blog/wp-content/uploads/2011/12/presentation3.jpg"><img title="presentation3" src="http://cs.dartmouth.edu/~xy/blog/wp-content/uploads/2011/12/presentation3-1024x768.jpg" alt="" width="450" height="337" /></a></p>
<p><a href="http://cs.dartmouth.edu/~xy/blog/wp-content/uploads/2011/12/presentation4.jpg"><img title="presentation4" src="http://cs.dartmouth.edu/~xy/blog/wp-content/uploads/2011/12/presentation4-1024x768.jpg" alt="" width="450" height="337" /></a></p>
<p><a href="http://cs.dartmouth.edu/~xy/blog/wp-content/uploads/2011/12/presentation5.jpg"><img title="presentation5" src="http://cs.dartmouth.edu/~xy/blog/wp-content/uploads/2011/12/presentation5-1024x768.jpg" alt="" width="450" height="337" /></a></p>
<p><a href="http://cs.dartmouth.edu/~xy/blog/wp-content/uploads/2011/12/presentation6.jpg"><img title="presentation6" src="http://cs.dartmouth.edu/~xy/blog/wp-content/uploads/2011/12/presentation6-1024x768.jpg" alt="" width="450" height="337" /></a></p>
<p>这门课一直有个旁听的哥们儿，present完了下课后他跑过来跟我聊天，原来他是苹果高级硬件工程师，Accelerate Framework组，就是专门搞这些底层优化的，我提到的很多细节他能接着说好多，他说ARM如果优化的好的话，不会像我benchmark的结果那么不济的，可能会比x86差个一两倍的样子。关公面前耍了次大刀。</p>
<p>下面是原始输出数据：</p>
<pre>/*****************************************************/
/* (Time: μs)                                        */
/* Platform:		<a href="http://www.cvchina.info/tag/x86/" class="st_tag internal_tag" rel="tag" title="标签 x86 下的日志">x86</a>					<a href="http://www.cvchina.info/tag/arm/" class="st_tag internal_tag" rel="tag" title="标签 arm 下的日志">ARM</a> v6				<a href="http://www.cvchina.info/tag/arm/" class="st_tag internal_tag" rel="tag" title="标签 arm 下的日志">ARM</a> v7     */
/*****************************************************/
Run bench on type CV_8UC1

Size 512:
	cvAdd: 				417.0				11977.0				5991.5
	cvMul:				417.5				9798.0				6805.5
	cvTranspose: 	214.0				3578.0		 		3322.0
Size 256:
	cvAdd: 				85.25				1431.0				619.5
	cvMul:				119.5				1432.75				786.0
	cvTranspose: 	61.25				528.5					412.25
Size 128:
	cvAdd: 				19.625			346.125				145.375
	cvMul:				33.125			403.375				200.125
	cvTranspose: 	10.125			95.875				65.25
Size 64:
	cvAdd: 				4.9375			89.4375				39.8125
	cvMul:				9.6875			94.125				53.8125
	cvTranspose: 	2.6875			28.5					20.25
Size 32:
	cvAdd: 				2.3125			28.125				15.90625
	cvMul:				2.625				29.90625			18.90625
	cvTranspose: 	1.0		 			10.71875		 	8.40625
Size 16:
	cvAdd: 				0.812500		12.984375			10.25
	cvMul:				0.859375		12.90625			10.125
	cvTranspose: 	0.390625		6.46875		 		5.8125
Size 8:
	cvAdd: 				0.390625		9.03125				8.601562
	cvMul:				0.421875		8.898438			10.5625
	cvTranspose: 	0.203125		5.234375		 	4.9375
Size 4:
	cvAdd: 				0.324219		8.109375			12.742188
	cvMul:				0.300781		11.875				7.351562
	cvTranspose: 	0.167969		7.757812		 	4.917969

Run bench on type CV_16UC1

Size 512:
	cvAdd: 				411.0				5764.0		 		4730.0
	cvMul:				317.5				7719.5				6369.5
	cvTranspose: 	265.0				9700.5		 		9623.5
Size 256:
	cvAdd: 				65.0			 	1084.75				2062.0
	cvMul:				81.75				1634.5				2225.5
	cvTranspose: 	41.75				821.75		 		590.0
Size 128:
	cvAdd: 				29.25				246.5					184.625
	cvMul:				29.0				406.875				260.125
	cvTranspose: 	18.75				138.0					77.5
Size 64:
	cvAdd: 				7.4375			61.375		 		44.75
	cvMul:				7.5					95.375				68.0
	cvTranspose: 	4.8125			36.5		 			21.6875
Size 32:
	cvAdd: 				2.125			 	30.375		 		17.0625
	cvMul:				2.125				34.34375			22.3125
	cvTranspose: 	1.34375			18.125		 		9.15625
Size 16:
	cvAdd: 				0.765625		11.5625		 		15.5
	cvMul:				0.75				20.90625			11.0625
	cvTranspose: 	0.468750		8.125		 			5.9375
Size 8:
	cvAdd: 				0.429688		14.375		 		8.734375
	cvMul:				0.406250		10.734375			8.312500
	cvTranspose: 	0.257812		8.109375		 	5.164062
Size 4:
	cvAdd: 				0.328125		10.320312			8.316406
	cvMul:				0.316406		11.355469			7.527344
	cvTranspose: 	0.191406		7.027344		 	4.835938

Run bench on type CV_32SC1

Size 512:
	cvAdd: 				967.0			 	6999.0 				6702.0
	cvMul:				356.5				8320.0				6334.5
	cvTranspose: 	362.0				10754.0		 		10374.0
Size 256:
	cvAdd: 				120.25			1857.0		 		1805.5
	cvMul:				63.5				1899.75				2062.25
	cvTranspose: 	69.25			 	946.0		 			928.5
Size 128:
	cvAdd: 				33.0			 	217.125				179.25
	cvMul:				15.875			264.75				194.625
	cvTranspose: 	12.5			 	144.0		 			121.375
Size 64:
	cvAdd: 				8.1875			44.5		 			42.8125
	cvMul:				4.25				68.5					50.125
	cvTranspose: 	3.5625			28.625		 		22.0625
Size 32:
	cvAdd: 				2.5625			14.75		 			14.593750
	cvMul:				1.3125			22.375				17.0
	cvTranspose: 	0.90625			10.8125		 		9.125
Size 16:
	cvAdd: 				0.96875			9.5		 				9.703125
	cvMul:				0.4375			11.078125			10.046875
	cvTranspose: 	0.25		 		6.5625		 		5.765625
Size 8:
	cvAdd: 				0.445312		15.570312		 	8.734375
	cvMul:				0.265625		11.132812			7.828125
	cvTranspose: 	0.148438		5.359375		 	5.179688
Size 4:
	cvAdd: 				0.273438		7.882812		 	9.667969
	cvMul:				0.257812		7.757812			7.523438
	cvTranspose: 	0.125000		4.941406		 	7.773438

Run bench on type CV_32FC1

Size 512:
	cvAdd: 				593.5				21375.5				6131.0
	cvMul:				350.5				19938.5				5418.0
	cvTranspose: 	332.0		 		10824.0				10323.0
	cvInvert:		 	273243.5		25071806.0		9195260.0
	cvSVD: 				423692.0		174561882.0		34340097.5
Size 256:
	cvAdd: 				116.5				5301.75		 		1176.0
	cvMul:				53.75				5172.25				851.75
	cvTranspose: 	53.25		 		1020.25		 		841.5
	cvInvert:			29972.75		2256949.75		813636.0
	cvSVD: 				55176.75		20055794.5		3947355.5
Size 128:
	cvAdd: 				44.0				1046.625			219.5
	cvMul:				18.75				1065.375			167.375
	cvTranspose: 	18.375			216.375		 		121.0
	cvInvert: 		5215.25			259487.25			96067.25
	cvSVD: 				9909.75			2546950.25		494365.125
Size 64:
	cvAdd: 				8.75				261.0625			56.0625
	cvMul:				4.5					248.6875			48.875
	cvTranspose: 	2.9375			28.75		 			22.3125
	cvInvert: 		502.3125		31718.375			12318.125
	cvSVD: 				1814.1875		311974.5			65447.9375
Size 32:
	cvAdd: 				3.0625			69.312500			19.34375
	cvMul:				1.375				151.718750		17.15625
	cvTranspose: 	1.03125			17.031250		 	9.21875
	cvInvert: 		76.3125			8175.531250		1585.75
	cvSVD: 				605.75			45699.031250	8469.8125
Size 16:
	cvAdd: 				5.953125		22.875		 		10.781250
	cvMul:				0.578125		22.796875			9.828125
	cvTranspose: 	4.203125		6.453125			5.796875
	cvInvert: 		14.453125		530.921875		222.046875
	cvSVD: 				57.265625		4529.875			1129.640625
Size 8:
	cvAdd: 				0.414062		11.765625		 	8.992188
	cvMul:				0.351562		11.375				7.859375
	cvTranspose: 	0.250000		5.359375		 	5.046875
	cvInvert: 		1.609375		78.390625			39.562500
	cvSVD: 				11.835938		729.984375		224.789062
Size 4:
	cvAdd: 				0.285156		13.300781			8.308594
	cvMul:				0.199219		10.527344			8.335938
	cvTranspose: 	0.183594		5.429688		 	7.472656
	cvInvert:		 	0.460938		21.921875			13.855469
	cvSVD: 				2.289062		111.308594		52.316406

Run bench on type CV_64FC1

Size 512:
	cvAdd: 				1389.5			30775.0				9891.0
	cvMul:				991.5				29783.5				8469.0
	cvTranspose: 	1137.5			16028.0				15558.5
	cvInvert: 		290684.0		38524160.0		13876679.5
	cvSVD: 				1058105.5		349269399.5		139599952.0
Size 256:
	cvAdd: 				84.0				7091.75				2188.0
	cvMul:				81.25				7265.25				1922.25
	cvTranspose: 	120.75			3243.25				3414.0
	cvInvert: 		34608.25		3467022.5			1393893.75
	cvSVD: 				122659.5		38763803.75		15673162.25
Size 128:
	cvAdd: 				18.875			1391.0				405.875
	cvMul:				19.125			1318.0				505.25
	cvTranspose: 	19.5				319.625				281.125
	cvInvert: 		3644.875		369943.25			157781.625
	cvSVD: 				15826.75		4468381.25		1725834.125
Size 64:
	cvAdd: 				5.125000		337.4375			102.875
	cvMul:				3.937500		333.3125			109.375
	cvTranspose: 	7.062500		58.8125				51.1875
	cvInvert: 		358.4375		44394.625			19697.0625
	cvSVD: 				2203.3125		530734.875		206134.5
Size 32:
	cvAdd: 				1.562500		86.062500			30.125
	cvMul:				1.500000		87.187500			32.34375
	cvTranspose: 	1.781250		18.093750			15.28125
	cvInvert: 		82.6875			5553.281250		2522.625
	cvSVD: 				350.5				64459.53125		25085.78125
Size 16:
	cvAdd: 				0.343750		26.921875			13.546875
	cvMul:				0.328125		27.468750			13.468750
	cvTranspose: 	0.390625		8.234375			7.625
	cvInvert: 		9.781250		716.296875		344.0
	cvSVD: 				72.328125		7913.484375		3133.546875
Size 8:
	cvAdd: 				0.335938		12.734375			9.484375
	cvMul:				0.328125		12.632812			8.687500
	cvTranspose: 	0.335938		5.773438			5.484375
	cvInvert: 		2.375000		102.585938	 	50.281250
	cvSVD: 				14.054688		973.703125		400.695312
Size 4:
	cvAdd: 				0.207031		9.218750			9.550781
	cvMul:				0.160156		8.968750			10.441406
	cvTranspose: 	0.109375 		5.082031			5.308594
	cvInvert: 		0.382812		21.628906	 		15.808594
	cvSVD: 				2.500000		137.589844		68.695312

Run bench on lena

Size 512:
	cvSmooth: 		423.5				34196.5		 		11714.0
	cvSobel: 			649.0		 		67786.5		 		13859.0
	cvDCT: 				5845.0		 	599860.5 			105444.5
	cvDFT: 				3565.5			458634.5			87149.5
Size 256:
	cvSmooth: 		171.0				6350.0		 		2987.0
	cvSobel: 			129.75			16870.0		 		2867.0
	cvDCT: 				1201.75			131520.5			18459.5
	cvDFT: 				765.0		 		98563.75			14267.0
Size 128:
	cvSmooth: 		35.25		 		1783.25				1066.0
	cvSobel: 			27.875		 	4449.375	 		826.875
	cvDCT: 				244.75		 	28718.375			3922.125
	cvDFT: 				171.5		 		21448.125			2890.0
Size 64:
	cvSmooth: 		14.4375		 	587.75		 		383.875
	cvSobel: 			12.5				1662.1875			373.25
	cvDCT: 				58.1875		 	6595.625			905.375
	cvDFT: 				38.5		 		4662.75				643.5
Size 32:
	cvSmooth: 		8.1875		 	267.25		 		211.9375
	cvSobel: 			8.125		 		450.65625			189.875
	cvDCT: 				14.71875		1478.0			 	218.5625
	cvDFT: 				10.3125		 	1032.531250		203.0
Size 16:
	cvSmooth:		 	5.953125		162.6875			145.453125
	cvSobel: 			6.125		 		222.25				144.468750
	cvDCT: 				4.46875			358.625		 		76.734375
	cvDFT: 				3.078125		242.875				61.078125
Size 8:
	cvSmooth: 		5.203125		135.0625			116.539062
	cvSobel: 			4.898438		150.015625		123.187500
	cvDCT: 				1.46875			85.531250			28.054688
	cvDFT: 				1.25				60.304688			29.742188
Size 4:
	cvSmooth: 		4.660156		123.445312		103.402344
	cvSobel: 			4.4375		 	129.628906		110.570312</pre>
<p>benchmark的测试代码：</p>
<pre>#include &lt;sys/time.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;cxcore.h&gt;
#include &lt;highgui.h&gt;
#include &lt;cv.h&gt;

float time_diff(struct timeval start, struct timeval end, int rounds);
void run_bench_math_type(int, int);
void run_bench_image(int);

int main(){

	srandom(0);// This gurantees the number sequence is the same

	printf("Time is in micro-seconds.\n");

	int round_base = 2;

	printf("\n\nRun bench on lena\n");

	run_bench_image(round_base);

	printf("\n\nRun bench on type CV_8UC1\n");
	run_bench_math_type(CV_8UC1, round_base);

	printf("\n\nRun bench on type CV_16UC1\n");
	run_bench_math_type(CV_16UC1, round_base);

	printf("\n\nRun bench on type CV_32SC1\n");
	run_bench_math_type(CV_32SC1, round_base);

	printf("\n\nRun bench on type CV_32FC1\n");
	run_bench_math_type(CV_32FC1, round_base);

	printf("\n\nRun bench on type CV_64FC1\n");
	run_bench_math_type(CV_64FC1, round_base);

	return 0;
}

void run_bench_math_type(int elem_type, int roundbase){

	const int min_size = 4;
	const int max_size = 512;
	int nrounds = roundbase;

	CvMat *matA, *matB, *matC;
	struct timeval t0, t1;

	for(int n = max_size; n &gt;= min_size; nrounds*=2, n /= 2){
		printf("Size %d with %d rounds average:\n", n, nrounds);
		matA = cvCreateMat(n, n, elem_type);
		matB = cvCreateMat(n, n, elem_type);
		matC = cvCreateMat(n, n, elem_type);

		// Init for each round
		for (int i = 0; i &lt; n; i++ ){
			for (int j = 0; j &lt; n; j++ ){
				cvSet2D( matA, i, j, cvScalar(1.0 + random()%254, 0, 0, 0));
				cvSet2D( matB, i, j, cvScalar(1.0 + random()%254, 0, 0, 0));
			}
		}

		gettimeofday(&amp;t0, NULL);
		for (int k = 0; k &lt; nrounds; k++){
			cvAdd(matA, matB, matC, NULL);
		}
		gettimeofday(&amp;t1, NULL);
		printf("\tcvAdd: \t\t%f\n", time_diff(t0, t1, nrounds));

		gettimeofday(&amp;t0, NULL);
		for (int k = 0; k &lt; nrounds; k++){
			cvMul(matA, matB, matC, 1);
		}
		gettimeofday(&amp;t1, NULL);
		printf("\tcvMul:\t\t%f\n", time_diff(t0, t1, nrounds));

		gettimeofday(&amp;t0, NULL);
		for (int k = 0; k &lt; nrounds; k++){
			cvTranspose(matA, matC);
		}
		gettimeofday(&amp;t1, NULL);
		printf("\tcvTranspose: \t%f\n", time_diff(t0, t1, nrounds));

		if ( elem_type == CV_32FC1 || elem_type == CV_64FC1 ){
			gettimeofday(&amp;t0, NULL);
			for (int k = 0; k &lt; nrounds; k++){
				cvInvert(matA, matC, CV_LU);
			}
			gettimeofday(&amp;t1, NULL);
			printf("\tcvInvert: \t%f\n", time_diff(t0, t1, nrounds));
		}

		if ( elem_type == CV_32FC1 || elem_type == CV_64FC1 ){
			gettimeofday(&amp;t0, NULL);
			for (int k = 0; k &lt; nrounds; k++){
				cvSVD(matA, matC, NULL, NULL, 1);
			}
			gettimeofday(&amp;t1, NULL);
			printf("\tcvSVD: \t\t%f\n", time_diff(t0, t1, nrounds));
		}
		cvReleaseMat(&amp;matA);
		cvReleaseMat(&amp;matB);
		cvReleaseMat(&amp;matC);
	}
}

void run_bench_image(int roundbase){

	int nrounds = roundbase;
	const int min_size = 4;
	const int max_size = 512;
	struct timeval t0, t1;

	IplImage *source_imgi = cvLoadImage("lena.bmp", CV_LOAD_IMAGE_GRAYSCALE);
	IplImage *source_imgf = cvCreateImage(cvSize(source_imgi-&gt;width, source_imgi-&gt;height), IPL_DEPTH_32F, source_imgi-&gt;nChannels);
	cvConvert(source_imgi, source_imgf);

	assert( source_imgi-&gt;width==512 &amp;&amp; source_imgi-&gt;height == 512);
	IplImage *imgAi, *imgBi;
	IplImage *imgAf, *imgBf;

	// cvSaveImage("lena.jpg", imgB, 0);

	for(int n = max_size; n &gt;= min_size; nrounds*=2, n /= 2){
		printf("Size %d with %d rounds average:\n", n, nrounds);

		imgAi = cvCreateImage(cvSize(n, n), source_imgi-&gt;depth, source_imgi-&gt;nChannels);
		imgAf = cvCreateImage(cvSize(n, n), IPL_DEPTH_32F, source_imgi-&gt;nChannels);
		imgBi = cvCreateImage(cvSize(n, n), source_imgi-&gt;depth, source_imgi-&gt;nChannels);
		imgBf = cvCreateImage(cvSize(n, n), IPL_DEPTH_32F, source_imgi-&gt;nChannels);

		cvResize(source_imgi, imgAi, CV_INTER_LINEAR);
		cvResize(source_imgf, imgAf, CV_INTER_LINEAR);

		gettimeofday(&amp;t0, NULL);
		for (int k = 0; k &lt; nrounds; k++){
			cvSmooth(imgAi, imgBi, CV_GAUSSIAN, 3, 0 ,0, 0);
		}
		gettimeofday(&amp;t1, NULL);
		printf("\tcvSmooth: \t%f\n", time_diff(t0, t1, nrounds));

		gettimeofday(&amp;t0, NULL);
		for (int k = 0; k &lt; nrounds; k++){
			cvSobel(imgAf, imgBf, 0, 1, 3);
		}
		gettimeofday(&amp;t1, NULL);
		printf("\tcvSobel: \t%f\n", time_diff(t0, t1, nrounds));

		gettimeofday(&amp;t0, NULL);
		for (int k = 0; k &lt; nrounds; k++){
			cvDCT(imgAf, imgBf, CV_DXT_FORWARD);
		}
		gettimeofday(&amp;t1, NULL);
		printf("\tcvDCT: \t\t%f\n", time_diff(t0, t1, nrounds));

		gettimeofday(&amp;t0, NULL);
		for (int k = 0; k &lt; nrounds; k++){
			cvDFT(imgAf, imgBf, CV_DXT_FORWARD, 0);
		}
		gettimeofday(&amp;t1, NULL);
		printf("\tcvDFT: \t\t%f\n", time_diff(t0, t1, nrounds));

		cvReleaseImage(&amp;imgAi);
		cvReleaseImage(&amp;imgAf);
		cvReleaseImage(&amp;imgBi);
		cvReleaseImage(&amp;imgBf);
	}
}

float time_diff(struct timeval start, struct timeval end, int rounds){

	return ((end.tv_sec - start.tv_sec) * 1000000.0 +
			end.tv_usec - start.tv_usec) / (float)rounds;

}</pre>
<p>From <a href="http://cs.dartmouth.edu/~xy/blog/opencv-ios-benchmark/" target="_blank">老杨</a></p>

	Tags: <a href="http://www.cvchina.info/tag/arm/" title="arm" rel="tag">arm</a>, <a href="http://www.cvchina.info/tag/benchmark/" title="benchmark" rel="tag">benchmark</a>, <a href="http://www.cvchina.info/tag/ipod-touch/" title="ipod touch" rel="tag">ipod touch</a>, <a href="http://www.cvchina.info/tag/opencv/" title="opencv" rel="tag">opencv</a>, <a href="http://www.cvchina.info/tag/x86/" title="x86" rel="tag">x86</a>, <a href="http://www.cvchina.info/category/news/" title="新闻" rel="tag">新闻</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.cvchina.info/2011/12/08/zz-opencv%e5%9c%a8ios%e5%92%8cx86%e5%b9%b3%e5%8f%b0%e4%b8%8a%e7%9a%84%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

