<?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>Visual-Experiments.com &#187; photogrammetry</title>
	<atom:link href="http://www.visual-experiments.com/category/photogrammetry/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.visual-experiments.com</link>
	<description>ASTRE Henri experiments with Ogre3D and web stuff</description>
	<lastBuildDate>Mon, 16 Jan 2017 18:59:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>New bundler version</title>
		<link>http://www.visual-experiments.com/2012/05/26/new-bundler-version/</link>
		<comments>http://www.visual-experiments.com/2012/05/26/new-bundler-version/#comments</comments>
		<pubDate>Sat, 26 May 2012 14:24:09 +0000</pubDate>
		<dc:creator>Henri</dc:creator>
				<category><![CDATA[photogrammetry]]></category>
		<category><![CDATA[bundler]]></category>
		<category><![CDATA[opensynther]]></category>
		<category><![CDATA[pba]]></category>
		<category><![CDATA[sba]]></category>
		<category><![CDATA[sfmtoolkit]]></category>
		<guid isPermaLink="false">http://www.visual-experiments.com/?p=2384</guid>
		<description><![CDATA[I&#8217;ve compiled a new version of Bundler with 2 interesting new options: --parallel_epipolar --ba sba BTW those options should be passed as command arguments to bundler.exe directly (and not been added to the options.txt file). The parallel_epipolar option allows to estimate the fundamental matrices (ransac + lm) in parallel. This problem is embarrassingly parallel but [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve compiled a new version of Bundler with 2 interesting new options:</p>
<pre>
--parallel_epipolar
--ba sba
</pre>
<p>BTW those options should be passed as command arguments to bundler.exe directly (and not been added to the options.txt file).</p>
<p>The <strong>parallel_epipolar</strong> option allows to estimate the fundamental matrices (ransac + lm) in parallel. This problem is embarrassingly parallel but due to some global variables used in the callback passed to lmfit it wasn&#8217;t that easy to implement: I&#8217;ve used a functor to hide the global variables used by the callback but sadly lmfit doesn&#8217;t have a void* userData parameter (only a pointer to the callback). Thus I&#8217;ve modified lmfit and add this missing parameter that allow me to pass a pointer to my functor. Furthermore I had to compile almost everything in C++ instead of C to use my functor inside lmfit. Thus I had to fix a lot of malloc calls that weren&#8217;t compiling in C++ due to missing cast. To keep a &#8220;backward behavior compatibility&#8221; <strong>this option is disabled by default</strong>.</p>
<p>The <strong>ba</strong> option allows to change the bundle adjustment &#8220;engine&#8221; used. Here is the list of available &#8220;engine&#8221;:</p>
<ul>
<li><strong>sba</strong> (default)</li>
<li><strong>none</strong> (for debug only)</li>
<li><strong>pba_cpu_double</strong></li>
<li><strong>pba_cpu_float</strong></li>
<li><strong>pba_gpu_float</strong></li>
</ul>
<p>Pba stand for Parallel Bundle Adjustment: I&#8217;ve integrated <a href="http://grail.cs.washington.edu/projects/mcba/">mcba</a> from Changchang Wu.</p>
<p>So if you have an Nvidia GPU card and installed the Cuda runtime you can add those options:</p>
<pre>
bundler.exe list_focal_absolute.txt --ba pba_gpu_float --parallel_epipolar
--options_file options.txt //on the same line
</pre>
<p>Timing on a 245 pictures dataset:</p>
<table>
<tr>
<th>Bundler BA</th>
<th>Time</th>
<th>Nb pictures registered</th>
</tr>
<tr>
<td>SBA</td>
<td>2h18min</td>
<td>233</td>
</tr>
<tr>
<td>PBA CPU double</td>
<td>23min</td>
<td>230</td>
</tr>
<tr>
<td>PBA CPU float</td>
<td>9min</td>
<td>230</td>
</tr>
<tr>
<td>PBA GPU float</td>
<td>6min</td>
<td>230</td>
</tr>
<tr>
<td>none (for debug)</td>
<td>2min</td>
<td>189 (bad reconstruction)</td>
</tr>
</table>
<p></p>
<p>You can download this new version of bundler: <a href="http://www.visual-experiments.com/blog/?sdmon=downloads/Bundler-multiBA-parallelEpipolar-x64.zip">bundler-multiBA-parallelEpipolar-x64.zip</a><br />
<strong>Update</strong>: the source code is available on the <a href="https://github.com/dddExperiments/Bundler/tree/MCBA">MCBA branch</a> of my Bundler fork.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.visual-experiments.com%2F2012%2F05%2F26%2Fnew-bundler-version%2F&amp;title=New%20bundler%20version"><img src="http://www.visual-experiments.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.visual-experiments.com/2012/05/26/new-bundler-version/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>PhotoSynthToolkit 11</title>
		<link>http://www.visual-experiments.com/2012/05/23/photosynthtoolkit-11/</link>
		<comments>http://www.visual-experiments.com/2012/05/23/photosynthtoolkit-11/#comments</comments>
		<pubDate>Wed, 23 May 2012 08:00:28 +0000</pubDate>
		<dc:creator>Henri</dc:creator>
				<category><![CDATA[photogrammetry]]></category>
		<category><![CDATA[photosynth]]></category>
		<category><![CDATA[photosynthtoolkit]]></category>
		<category><![CDATA[pmvs]]></category>
		<guid isPermaLink="false">http://www.visual-experiments.com/?p=2362</guid>
		<description><![CDATA[I&#8217;ve for some reason extra time to kill so I&#8217;ve updated PhotoSynthToolkit (SFMToolkit will follow soon). I&#8217;ve been only focusing on PMVS2 for this release: I&#8217;ve integrated Nghiaho optimization, fixed white-space folder handling in PMVS2 using boost::filesystem and fixed the timing output in the console. Thus there is no need for the ugly temporary z [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve for some reason extra time to kill so I&#8217;ve updated PhotoSynthToolkit (SFMToolkit will follow soon). I&#8217;ve been only focusing on PMVS2 for this release: I&#8217;ve integrated <a href="http://nghiaho.com/?p=1353">Nghiaho optimization</a>, fixed white-space folder handling in PMVS2 using boost::filesystem and fixed the timing output in the console. Thus there is no need for the ugly temporary z drive anymore <img src='http://www.visual-experiments.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>Nghiaho optimizations are disabled by default as I&#8217;ve found that it generates a point cloud less dense. You can enable the optimization by adding:
<pre>--optimize</pre>
<p> as last PMVS2.exe parameter in your command prompt or just activate the optimization by modifying the following files:</p>
<ul>
<li><em><strong>3 &#8211; Prepare for PMVS2.wsf</strong></em> line 49 -> var USE_OPTIMIZED_PMVS = true;</li>
<li><em><strong>4 &#8211; Prepare for CMVS.wsf</strong></em> line 46 -> var USE_OPTIMIZED_PMVS = true;</li>
</ul>
<p>You can download <a href="http://www.visual-experiments.com/blog/?sdmon=downloads/PhotoSynthToolkit11.zip">PhotoSynthToolkit11.zip</a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.visual-experiments.com%2F2012%2F05%2F23%2Fphotosynthtoolkit-11%2F&amp;title=PhotoSynthToolkit%2011"><img src="http://www.visual-experiments.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.visual-experiments.com/2012/05/23/photosynthtoolkit-11/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>PhotoSynthToolkit 10</title>
		<link>http://www.visual-experiments.com/2012/05/01/photosynthtoolkit-10/</link>
		<comments>http://www.visual-experiments.com/2012/05/01/photosynthtoolkit-10/#comments</comments>
		<pubDate>Tue, 01 May 2012 21:14:03 +0000</pubDate>
		<dc:creator>Henri</dc:creator>
				<category><![CDATA[photogrammetry]]></category>
		<category><![CDATA[photosynth]]></category>
		<category><![CDATA[photosynthtoolkit]]></category>
		<guid isPermaLink="false">http://www.visual-experiments.com/?p=2343</guid>
		<description><![CDATA[What do you think of this concept: a new PhotoSynthToolkit version almost everyday? . This version introduce a new feature that will allow you to process a PhotoSynth without needing to wait for the end of the upload. In fact you can even cancel your synth as soon as the computation is complete. But be [...]]]></description>
			<content:encoded><![CDATA[<p>What do you think of this concept: a new PhotoSynthToolkit version almost everyday? <img src='http://www.visual-experiments.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>This version introduce a new feature that will allow you to process a PhotoSynth without needing to wait for the end of the upload. In fact you can even cancel your synth as soon as the computation is complete. But be aware that all pictures uploaded in the meantime will stay on photosynth server (AFAIK).</p>
<p><strong>How to proceed:</strong><br />
- wait for synth to be processed (but not fully uploaded).<br />
- copy the 2 following files from <strong>%temp%\Photosynther</strong> to another folder (<em>d:\my_synth</em> for example)</p>
<ul style="margin-left: 20px;">
<li>collection.dzcz</li>
<li>collection.synth.bin</li>
</ul>
<p>- then you can launch the step 1 of the PhotoSynthToolkit by providing your folder (<em>d:\my_synth</em>).<br />
- you&#8217;ll need then to copy your original jpegs to the distort folder and you&#8217;re done!</p>
<p>You can download <a href="http://www.visual-experiments.com/blog/?sdmon=downloads/PhotoSynthToolkit10.zip">PhotoSynthToolkit10.zip</a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.visual-experiments.com%2F2012%2F05%2F01%2Fphotosynthtoolkit-10%2F&amp;title=PhotoSynthToolkit%2010"><img src="http://www.visual-experiments.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.visual-experiments.com/2012/05/01/photosynthtoolkit-10/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>PhotoSynthToolkit 9</title>
		<link>http://www.visual-experiments.com/2012/04/29/photosynthtoolkit-9/</link>
		<comments>http://www.visual-experiments.com/2012/04/29/photosynthtoolkit-9/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 18:44:20 +0000</pubDate>
		<dc:creator>Henri</dc:creator>
				<category><![CDATA[photogrammetry]]></category>
		<category><![CDATA[cmvs]]></category>
		<category><![CDATA[photosynthtoolkit]]></category>
		<category><![CDATA[pmvs]]></category>
		<guid isPermaLink="false">http://www.visual-experiments.com/?p=2329</guid>
		<description><![CDATA[This is a quick post to announce the new version of the PhotoSyntToolkit with 2 new features: CMVS support finally integrated proper handling of folder with white space How to use CMVS with PhotoSynthToolkit: As usual run step 1 and move pictures from &#8220;hd&#8221; to &#8220;distort&#8221; folder. You need to run first &#8220;Prepare for PMVS2&#8243; [...]]]></description>
			<content:encoded><![CDATA[<p>This is a quick post to announce the new version of the <a href="http://www.visual-experiments.com/demos/photosynthtoolkit/">PhotoSyntToolkit</a> with 2 new features:</p>
<ul>
<li><a href="http://grail.cs.washington.edu/software/cmvs/">CMVS</a> support finally integrated <img src='http://www.visual-experiments.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>proper handling of folder with white space</li>
</ul>
<p><strong>How to use CMVS with PhotoSynthToolkit:</strong></p>
<ol>
<li>As usual run step 1 and move pictures from &#8220;hd&#8221; to &#8220;distort&#8221; folder.</li>
<li>You need to run first &#8220;Prepare for PMVS2&#8243; then do <strong>NOT</strong> launch the generated bat file.</li>
<li>You can run &#8220;Prepare for CMVS&#8221; and run the generated bat file.</li>
</ol>
<p><strong>Warning:</strong> I&#8217;ve fixed all my programs to handle folder with white space (thanks to boost::filesystem). Sadly <a href="http://grail.cs.washington.edu/software/pmvs/">PMVS2</a>/<a href="http://grail.cs.washington.edu/software/cmvs/">CMVS</a> don&#8217;t handle them. The fix is trivial but instead of recompiling a new version I&#8217;ve found a bad workaround. I&#8217;m creating a temporary virtual drive z: pointing to your synth folder during the execution of <a href="http://grail.cs.washington.edu/software/pmvs/">PMVS2</a>/<a href="http://grail.cs.washington.edu/software/cmvs/">CMVS</a> using SUBST. The downside are that if you already have a z: drive it won&#8217;t work and if you kill <a href="http://grail.cs.washington.edu/software/pmvs/">PMVS2</a>/<a href="http://grail.cs.washington.edu/software/cmvs/">CMVS</a> you&#8217;ll have to manually remove the z: drive. <strong>To remove the z: drive type &#8220;subst z: /d&#8221; in your console</strong>.</p>
<p>If you need XSI/3DS max integration you&#8217;ll have to use the old version: <a href="http://www.visual-experiments.com/blog/?sdmon=downloads/PhotoSynthToolkit7.zip">PhotoSynthToolkit7.zip</a> otherwise <a href="http://www.visual-experiments.com/blog/?sdmon=downloads/PhotoSynthToolkit9.zip">PhotoSynthToolkit9.zip</a> is the latest version.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.visual-experiments.com%2F2012%2F04%2F29%2Fphotosynthtoolkit-9%2F&amp;title=PhotoSynthToolkit%209"><img src="http://www.visual-experiments.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.visual-experiments.com/2012/04/29/photosynthtoolkit-9/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>PhotoSynthToolkit 8</title>
		<link>http://www.visual-experiments.com/2012/04/14/photosynthtoolkit-8/</link>
		<comments>http://www.visual-experiments.com/2012/04/14/photosynthtoolkit-8/#comments</comments>
		<pubDate>Sat, 14 Apr 2012 18:05:05 +0000</pubDate>
		<dc:creator>Henri</dc:creator>
				<category><![CDATA[photogrammetry]]></category>
		<category><![CDATA[bundler]]></category>
		<category><![CDATA[photosynth]]></category>
		<category><![CDATA[photosynthtoolkit]]></category>
		<guid isPermaLink="false">http://www.visual-experiments.com/?p=2254</guid>
		<description><![CDATA[I&#8217;ve finally decided to release the new version of my PhotoSynthToolkit. This new version has bundle.out output support: this was indeed easy to add as I&#8217;ve already implemented it in my WebGL chrome extension. I&#8217;ve also rewritten the network part of the downloader by using libcurl. PhotoSynthDownloader is now replaced by my new tool PhotoSynthGrabber. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally decided to release the new version of my PhotoSynthToolkit. This new version has <a href="http://phototour.cs.washington.edu/bundler/bundler-v0.4-manual.html">bundle.out</a> output support: this was indeed easy to add as I&#8217;ve already implemented it in <a href="http://www.visual-experiments.com/2012/03/25/webgl-photosynth-extension-updated/">my WebGL chrome extension</a>. I&#8217;ve also rewritten the network part of the downloader by using <a href="http://curl.haxx.se/libcurl/">libcurl</a>. PhotoSynthDownloader is now replaced by my new tool PhotoSynthGrabber. BTW thumbnail/HD pictures downloading should be really much faster <img src='http://www.visual-experiments.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . </p>
<p>New feature coming:</p>
<ul>
<li>CMVS support (coming very soon)</li>
<li>White space handling in the toolkit scripting (PhotoSynthGrabber is already ready)</li>
<li>Expose HTTP Proxy parameters for the downloader</li>
</ul>
<p>You can download the new version: <a href="http://www.visual-experiments.com/blog/?sdmon=downloads/PhotoSynthToolkit8.zip">PhotoSynthToolkit8.zip</a> or keep the previous one in case you miss some advanced feature (vis.dat generation, SoftImage XSI / 3DS Max scripting for example): <a href="http://www.visual-experiments.com/blog/?sdmon=downloads/PhotoSynthToolkit7.zip">PhotoSynthToolkit7.zip</a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.visual-experiments.com%2F2012%2F04%2F14%2Fphotosynthtoolkit-8%2F&amp;title=PhotoSynthToolkit%208"><img src="http://www.visual-experiments.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.visual-experiments.com/2012/04/14/photosynthtoolkit-8/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Moving on</title>
		<link>http://www.visual-experiments.com/2011/09/26/moving-on/</link>
		<comments>http://www.visual-experiments.com/2011/09/26/moving-on/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 20:26:21 +0000</pubDate>
		<dc:creator>Henri</dc:creator>
				<category><![CDATA[photogrammetry]]></category>
		<category><![CDATA[acute3d]]></category>
		<category><![CDATA[photofly]]></category>
		<category><![CDATA[photosynthtoolkit]]></category>
		<category><![CDATA[sfmtoolkit]]></category>
		<guid isPermaLink="false">http://www.visual-experiments.com/?p=1833</guid>
		<description><![CDATA[I&#8217;ve spent almost 4 years at axyz.fr but it was time for me to move on. I&#8217;ve quit my job and I&#8217;ve started to work at Acute3D in September: they are working in the structure from motion and dense 3d reconstruction field. You can try their dense mesh creation technology by using Autodesk Photofly. Photofly [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent almost 4 years at <a href="http://www.axyz.fr/">axyz.fr</a> but it was time for me to move on. <strong>I&#8217;ve quit my job and I&#8217;ve started to work at <a href="http://acute3d.com/">Acute3D</a> in September</strong>: they are working in the structure from motion and dense 3d reconstruction field. You can try their dense mesh creation technology by using <a href="http://labs.autodesk.com/utilities/photo_scene_editor/">Autodesk Photofly</a>. Photofly is calibrating the cameras using Autodesk implementation and then the mesh is generated using <a href="http://www.acute3d.com/">Acute3D</a> technology (Autodesk has bought a license of their meshing technology). </p>
<p>I&#8217;m working on the development of a calibration system (like bundler) at <a href="http://acute3d.com/">Acute3D</a>. I&#8217;ve decided to work with them as I think that they do have the best technology available and I wanted to work with very skilled people working in computer vision.</p>
<p>I don&#8217;t know if I&#8217;ll be able to continue writing on this blog as this new job is really more interesting and challenging for me.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.visual-experiments.com%2F2011%2F09%2F26%2Fmoving-on%2F&amp;title=Moving%20on"><img src="http://www.visual-experiments.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.visual-experiments.com/2011/09/26/moving-on/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>PhotoSynth viewer with pose estimator WebService</title>
		<link>http://www.visual-experiments.com/2011/08/08/photosynth-viewer-with-pose-estimator-webservice/</link>
		<comments>http://www.visual-experiments.com/2011/08/08/photosynth-viewer-with-pose-estimator-webservice/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 13:02:10 +0000</pubDate>
		<dc:creator>Henri</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[photogrammetry]]></category>
		<category><![CDATA[photosynth]]></category>
		<category><![CDATA[pose estimation]]></category>
		<category><![CDATA[Read/Write World]]></category>
		<category><![CDATA[three.js]]></category>
		<category><![CDATA[webgl]]></category>
		<guid isPermaLink="false">http://www.visual-experiments.com/?p=1887</guid>
		<description><![CDATA[I&#8217;ve spent 2 days implementing a WebService in C++. I&#8217;ve lost 1 day trying to use WebSocket (this wasn&#8217;t a good idea as Firefox and Google Chrome were not implementing the same version). I&#8217;ve also lost a lot of time with the beautiful drag and drop API&#8230; who is responsible for this mess? Anyway I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent 2 days implementing a WebService in C++. I&#8217;ve lost 1 day trying to use WebSocket (this wasn&#8217;t a good idea as Firefox and Google Chrome were not implementing the same version). I&#8217;ve also lost a lot of time with the beautiful drag and drop API&#8230; who is responsible for <a href="http://www.quirksmode.org/blog/archives/2009/09/the_html5_drag.html">this mess</a>? Anyway I&#8217;ve managed to create this cool demo:</p>
<p><iframe width="560" height="349" src="http://www.youtube.com/embed/vFVwmLucyb4" frameborder="0" allowfullscreen></iframe></p>
<p>The principle is very simple: the user drag and drop an unknown picture on the webpage. The picture is resized on the client side using canvas and then sent to the webservice using a classic POST Ajax call with the picture sent in jpeg base64. Then the pose estimator web service try to compute the pose and send an xml response. Then the pose is applied to the <a href="https://github.com/mrdoob/three.js/">Three.js</a> camera used in my <a href="http://www.visual-experiments.com/2011/07/21/google-chrome-photosynth-viewer-using-three-js/">PhotoSynth viewer</a>.</p>
<p>I have cheated a little as I&#8217;ve used shots of a video with known intrinsic parameters. But I&#8217;ve two options to handle really unknown pictures:</p>
<ul style="margin-left: 20px;">
<li>If the jpeg as Exif I can use it to find the focal (using a CCD database and a <a href="http://blog.nihilogic.dk/2008/05/reading-exif-data-with-javascript.html">JS Exif parser</a>)</li>
<li>Otherwise I am planning to implement <a href="http://cmp.felk.cvut.cz/minimal/p4pfr.php">this</a> in C++</li>
</ul>
<p>I hope you enjoy this demo as much as I do and that Google and Microsoft are working in that direction too (especially Microsoft with <a href="http://readwriteworld.cloudapp.net/">Read/Write World</a>&#8230;)</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.visual-experiments.com%2F2011%2F08%2F08%2Fphotosynth-viewer-with-pose-estimator-webservice%2F&amp;title=PhotoSynth%20viewer%20with%20pose%20estimator%20WebService"><img src="http://www.visual-experiments.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.visual-experiments.com/2011/08/08/photosynth-viewer-with-pose-estimator-webservice/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Chrome PhotoSynth Viewer using Three.js</title>
		<link>http://www.visual-experiments.com/2011/07/21/google-chrome-photosynth-viewer-using-three-js/</link>
		<comments>http://www.visual-experiments.com/2011/07/21/google-chrome-photosynth-viewer-using-three-js/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 15:47:30 +0000</pubDate>
		<dc:creator>Henri</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[photogrammetry]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[photosynth]]></category>
		<category><![CDATA[three.js]]></category>
		<category><![CDATA[webgl]]></category>
		<guid isPermaLink="false">http://www.visual-experiments.com/?p=1836</guid>
		<description><![CDATA[I&#8217;m finally back from holiday and found enough time to update the Google Chrome extension with my new PhotoSynth Viewer based on Three.js. You can download the new Google Chrome extension from the chrome web store: Three.js Google Chrome extension. The old one is still available but this is not a good idea to have [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m finally back from holiday and found enough time to update the Google Chrome extension with my <a href="http://www.visual-experiments.com/2011/06/20/photosynth-viewer-using-three-js/">new PhotoSynth Viewer</a> based on <a href="https://github.com/mrdoob/three.js">Three.js</a>. </p>
<p><iframe width="560" height="349" src="http://www.youtube.com/embed/uXgvm0ElSvU" frameborder="0" allowfullscreen></iframe></p>
<p>You can download the <a style="font-size: 15px; font-weight: bold" href="https://chrome.google.com/webstore/detail/jnnhdiolpfgjbgagkbmdfidfofancmee">new Google Chrome extension</a> from the chrome web store: <a href="https://chrome.google.com/webstore/detail/jgeipglcoefbggekpejhidgjkafgkcma">Three.js Google Chrome extension</a>. The <a href="https://chrome.google.com/webstore/detail/jgeipglcoefbggekpejhidgjkafgkcma">old one</a> is still available but this is not a good idea to have both activated at the same time&#8230; <strong>Do not hesitate to use the donate button <img src='http://www.visual-experiments.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </strong> (located in the right side-panel) if you find this extension useful&#8230; thanks!</p>
<p><strong>Warning</strong>: this extension may use a lot of ram (point cloud are store in memory as regular js array not TypedArray).</p>
<h3>Possible improvement</h3>
<ul style="padding-left: 20px;">
<li>Add picture thumbnails in the 3d environment (may become impossible without Microsoft adding <a href="http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing">CORS</a> to the jpeg due to <a href="http://hacks.mozilla.org/2011/06/cross-domain-webgl-textures-disabled-in-firefox-5/">WebGL security issue</a>)</li>
<li>Add a free flight camera (easy to add but harder without roll: I&#8217;ve added features to Three.js Quaternion class for this purpose, but still not ready)</li>
<li>Make the download point cloud link work! This is not my fault (I hope) I think that this is a <a href="http://code.google.com/p/chromium/issues/detail?id=58907">Chrome bug</a>. The only workaround that I can think of (without being sure that it would work) for this issue would be that Microsoft host downloadify.swf on photosynth.net&#8230; please ask them to do that!</li>
<li>Add a <a href="http://meshlab.sourceforge.net/">Meshlab</a> like camera system (mouse handling + white sphere): if you know Three.js please give it a try!</li>
</ul>
<h3>Credits</h3>
<p>Please take a look at the list of all dependencies used for this demo in <a href="http://www.visual-experiments.com/2011/06/20/photosynth-viewer-using-three-js/">my previous post describing this PhotoSynth viewer</a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.visual-experiments.com%2F2011%2F07%2F21%2Fgoogle-chrome-photosynth-viewer-using-three-js%2F&amp;title=Google%20Chrome%20PhotoSynth%20Viewer%20using%20Three.js"><img src="http://www.visual-experiments.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.visual-experiments.com/2011/07/21/google-chrome-photosynth-viewer-using-three-js/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>PhotoSynth Viewer using Three.js</title>
		<link>http://www.visual-experiments.com/2011/06/20/photosynth-viewer-using-three-js/</link>
		<comments>http://www.visual-experiments.com/2011/06/20/photosynth-viewer-using-three-js/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 14:58:03 +0000</pubDate>
		<dc:creator>Henri</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[photogrammetry]]></category>
		<category><![CDATA[bundler]]></category>
		<category><![CDATA[photosynth]]></category>
		<category><![CDATA[three.js]]></category>
		<category><![CDATA[webgl]]></category>
		<guid isPermaLink="false">http://www.visual-experiments.com/?p=1772</guid>
		<description><![CDATA[I wasn&#8217;t happy with my previous WebGL PhotoSynth Viewer: my javascript parser was aware of the position of the cameras and I wasn&#8217;t doing anything useful with it&#8230; Furthermore I was only relying on XB-PointStream for the rendering (which manage to display perfectly a dense point cloud). But I definitively want to do more fancy [...]]]></description>
			<content:encoded><![CDATA[<p>I wasn&#8217;t happy with my previous <a href="http://www.visual-experiments.com/2011/04/13/google-chrome-photosynth-webgl-viewer-extension/">WebGL PhotoSynth Viewer</a>: my javascript parser was aware of the position of the cameras and I wasn&#8217;t doing anything useful with it&#8230; Furthermore I was only relying on <a href="https://github.com/asalga/XB-PointStream">XB-PointStream</a> for the rendering (which manage to display perfectly a dense point cloud). But I definitively want to do more fancy stuff. So Goodbye <a href="https://github.com/asalga/XB-PointStream">XB-PointStream</a>, Hello <a href="https://github.com/mrdoob/three.js/">Three.js</a>!</p>
<p><iframe width="560" height="349" src="http://www.youtube.com/embed/IHaEIg7OGz8" frameborder="0" allowfullscreen></iframe></p>
<p>The only trouble with this demo is that it is using a proxy PHP page to bypass ajax cross-domain security issue. Thus I won&#8217;t put it online (as it would kill my bandwidth limit). But I&#8217;ll try to update <a href="http://www.visual-experiments.com/2011/04/13/google-chrome-photosynth-webgl-viewer-extension/">my Google Chrome extension</a> so that you can give it a try too (will take time and I&#8217;m going in holiday&#8230;sorry).</p>
<p>On the tech side, this demo is using:</p>
<ul style="margin-left: 20px;">
<li><a href="https://github.com/mrdoob/three.js">Three.js</a>: for the rendering</li>
<li><a href="http://ajaxian.com/archives/downloadify-create-downloads-on-the-fly-without-server-interaction">Downloadify</a>: to allow downloading PLY generated on the client-side</li>
<li><a href="http://blog.vjeux.com/2011/javascript/jdataview-read-binary-file.html">jDataView</a>: to parse binary xhr response</li>
<li><a href="http://imageflow.finnrudolph.de/">ImageFlow</a>: coverflow system</li>
<li>Accordion(<a href="http://www.scriptiny.com/2009/03/accordion/">except css</a>) + Tween + SynthParser created by me</li>
</ul>
<h3>Other news</h3>
<p>On another side I&#8217;ve been up to:</p>
<ul>
<li>compile a <a href="http://phototour.cs.washington.edu/bundler/">bundler</a> version with <a href="http://grail.cs.washington.edu/projects/mcba/">PBA</a> support (with bad result: fast <a href="http://en.wikipedia.org/wiki/Bundle_adjustment">BA</a> but erroneous point cloud)</li>
<li>create a new framework for fast matching: already 3x faster than <a href="http://www.visual-experiments.com/demos/opensynther/">OpenSynther</a> (which is already really fast). This new framework is compatible with multi-gpu and multi-cpu + you can add constraints to memory usage!</li>
<li>create an hybrid AR solution for my current work based on my <a href="http://www.visual-experiments.com/2010/12/22/outdoor-tracking-using-panoramic-image/">panorama tracking demo</a> and using gyroscope information to fix the computing time of the vision part</li>
</ul>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.visual-experiments.com%2F2011%2F06%2F20%2Fphotosynth-viewer-using-three-js%2F&amp;title=PhotoSynth%20Viewer%20using%20Three.js"><img src="http://www.visual-experiments.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.visual-experiments.com/2011/06/20/photosynth-viewer-using-three-js/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>PhotoSynthToolkit video tutorials</title>
		<link>http://www.visual-experiments.com/2011/06/20/photosynthtoolkit-video-tutorials/</link>
		<comments>http://www.visual-experiments.com/2011/06/20/photosynthtoolkit-video-tutorials/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 14:19:03 +0000</pubDate>
		<dc:creator>Henri</dc:creator>
				<category><![CDATA[photogrammetry]]></category>
		<category><![CDATA[photosynth]]></category>
		<category><![CDATA[photosynthtoolkit]]></category>
		<category><![CDATA[tutorials]]></category>
		<guid isPermaLink="false">http://www.visual-experiments.com/?p=1787</guid>
		<description><![CDATA[Josh Harle from Neonascent has created 5 video tutorials explaining how to use my PhotoSynthToolkit: Creating Synth: http://vimeo.com/14796939. Downloading and Viewing: http://vimeo.com/25072862. Viewing, Dense Reconstruction: http://vimeo.com/25071703. Meshing model, creating texture: http://vimeo.com/25071366. Projecting Hi-Res Images: http://vimeo.com/25072168. I&#8217;ve also added the video tutorials links on the PhotoSynthToolkit page. You can thank him on the pgrammetry forum: see [...]]]></description>
			<content:encoded><![CDATA[<p>Josh Harle from <a href="http://blog.neonascent.net/">Neonascent</a> has created 5 video tutorials explaining how to use my <a href="http://www.visual-experiments.com/demos/photosynthtoolkit/">PhotoSynthToolkit</a>:</p>
<ol style="margin-left: 20px;">
<li>Creating Synth: <a href="http://vimeo.com/14796939">http://vimeo.com/14796939</a>.</li>
<li>Downloading and Viewing: <a href="http://vimeo.com/25072862">http://vimeo.com/25072862</a>.</li>
<li>Viewing, Dense Reconstruction: <a href="http://vimeo.com/25071703">http://vimeo.com/25071703</a>.</li>
<li>Meshing model, creating texture: <a href="http://vimeo.com/25071366">http://vimeo.com/25071366</a>.</li>
<li>Projecting Hi-Res Images: <a href="http://vimeo.com/25072168">http://vimeo.com/25072168</a>.</li>
</ol>
<p>I&#8217;ve also added the video tutorials links on the <a href="http://www.visual-experiments.com/demos/photosynthtoolkit/">PhotoSynthToolkit page</a>.</p>
<p>You can thank him on the <a href="http://www.pgrammetry.com/forum/index.php">pgrammetry forum</a>: <a href="http://www.pgrammetry.com/forum/viewtopic.php?f=32&#038;t=282">see Josh Harle announcement</a>.</p>
<p>Thanks Josh!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.visual-experiments.com%2F2011%2F06%2F20%2Fphotosynthtoolkit-video-tutorials%2F&amp;title=PhotoSynthToolkit%20video%20tutorials"><img src="http://www.visual-experiments.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.visual-experiments.com/2011/06/20/photosynthtoolkit-video-tutorials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
