<?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>Occipital - Blog &#187; technology</title>
	<atom:link href="http://blog.occipital.com/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.occipital.com</link>
	<description>It starts with pixels</description>
	<lastBuildDate>Sat, 31 Dec 2011 19:07:22 +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>Hyper-realistic augmented reality</title>
		<link>http://blog.occipital.com/2009/07/03/hyper-realistic-augmented-reality/</link>
		<comments>http://blog.occipital.com/2009/07/03/hyper-realistic-augmented-reality/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 16:34:01 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[AR]]></category>
		<category><![CDATA[real]]></category>

		<guid isPermaLink="false">http://occipital.com/blog/?p=207</guid>
		<description><![CDATA[Me too (doing some AR stuff)! from Anatoly Zenkov on Vimeo. Incredible stuff by Anatoly Zenkov.]]></description>
			<content:encoded><![CDATA[<p><object width="640" height="480"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4330719&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4330719&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="480"></embed></object>
<p><a href="http://vimeo.com/4330719">Me too (doing some AR stuff)!</a> from <a href="http://vimeo.com/anatolyzenkov">Anatoly Zenkov</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Incredible stuff by Anatoly Zenkov.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.occipital.com/2009/07/03/hyper-realistic-augmented-reality/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>We&#8217;re hiring!</title>
		<link>http://blog.occipital.com/2009/07/01/were-hiring/</link>
		<comments>http://blog.occipital.com/2009/07/01/were-hiring/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 21:27:21 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[announcements]]></category>
		<category><![CDATA[boulder]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://occipital.com/blog/?p=188</guid>
		<description><![CDATA[We are just starting the search to find an extremely talented full-time engineer to join our team in Boulder. The spot will be an extremely crucial one &#8211; we need someone that&#8217;s both incredibly talented in our areas of focus, but also able to work alongside the founders at breakneck pace and long hours. You&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p>We are just starting the search to find an extremely talented full-time engineer to join our team in Boulder.</p>
<p>The spot will be an extremely crucial one &#8211; we need someone that&#8217;s both incredibly talented in our areas of focus, but also able to work alongside the founders at breakneck pace and long hours.  You&#8217;ll need academic prowess and startup mentality.  We&#8217;re looking for the best of the best.</p>
<p>We have mind-bendingly exciting products already in the works, but if we&#8217;re successful in finding the right person, we expect this person will be instrumental in helping us craft our future products, as well as the future of mobile visual search.</p>
<p><img src="http://occipital.com/blog/wp-content/job_photos.png" alt="Work at Occipital" title="Work at Occipital" width="450" height="110" class="aligncenter size-full wp-image-192" style="border: none;"  /></p>
<p>See the <a href="http://occipital.theresumator.com/apply/6skdvp/"><strong>Founder-level Computer Vision Engineer</strong></a> posting for more information.  And if you think you&#8217;ve got what it takes, <a href="http://occipital.theresumator.com/apply/6skdvp/">apply online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.occipital.com/2009/07/01/were-hiring/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Making the iPhone go faster</title>
		<link>http://blog.occipital.com/2008/11/14/making-the-iphone-go-faster/</link>
		<comments>http://blog.occipital.com/2008/11/14/making-the-iphone-go-faster/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 23:41:29 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[floating point]]></category>
		<category><![CDATA[simd]]></category>
		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://occipital.com/blog/?p=87</guid>
		<description><![CDATA[We need things to go fast.  Really fast.  So when came across Ryan Block&#8216;s old post about the iPhone&#8217;s vector floating-point coprocessor, I was encouraged.  But how to access this new coprocessor?  I was excited to find some examples on Matthias Grundmann and Wolfgang Engel&#8216;s Google code project, vfpmathlibrary. They&#8217;re just getting started and only [...]]]></description>
			<content:encoded><![CDATA[<p>We need things to go fast.  Really fast.  So when came across <a href="http://www.ryanblock.com/">Ryan Block</a>&#8216;s <a href="http://www.engadget.com/2007/07/01/iphone-processor-found-620mhz-arm/">old post</a> about the iPhone&#8217;s vector floating-point coprocessor, I was encouraged.  But how to access this new coprocessor?  I was excited to find some examples on <a href="http://www.cc.gatech.edu/grads/g/grundman/index.html">Matthias Grundmann</a> and <a href="http://diaryofagraphicsprogrammer.blogspot.com/">Wolfgang Engel</a>&#8216;s Google code project, <a href="http://code.google.com/p/vfpmathlibrary/"><strong>vfpmathlibrary</strong></a>.</p>
<p>They&#8217;re just getting started and only have 4&#215;4 matrix operations coded up so far.  Hopefully we can collaborate with these guys to expand the library and do some performance testing on different applications.  More to come on that.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.occipital.com/2008/11/14/making-the-iphone-go-faster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mono: now with SIMD</title>
		<link>http://blog.occipital.com/2008/11/09/mono-now-with-simd/</link>
		<comments>http://blog.occipital.com/2008/11/09/mono-now-with-simd/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 19:20:11 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[simd]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://occipital.com/blog/?p=85</guid>
		<description><![CDATA[I just came across Miguel de Icaza&#8217;s post about recent Mono performance enhancements.  I&#8217;m very happy to see all of the innovation in the C# language by Microsoft (see C# 4.0), but the .NET runtime isn&#8217;t getting any faster, unless you&#8217;re a dynamic language guy. However, the Mono runtime is getting faster.  They&#8217;ve got static [...]]]></description>
			<content:encoded><![CDATA[<p>I just came across Miguel de Icaza&#8217;s post about recent <a href="http://tirania.org/blog/archive/2008/Nov-03.html">Mono performance enhancements</a>.  I&#8217;m very happy to see all of the innovation in the C# language by Microsoft (see C# 4.0), but the .NET runtime isn&#8217;t getting any faster, unless you&#8217;re a dynamic language guy.</p>
<p>However, the Mono runtime <em>is</em> getting faster.  They&#8217;ve got static compilation, a brand new JIT compiler, and a framework extension so you can easily take advantage of the <a href="http://go-mono.com/docs/index.aspx?tlink=0@N%3AMono.Simd">SIMD (vector) operations</a> that have been available on Intel CPUs for a decade.</p>
<p>A simple way to think about it is that, for instance, you could use the Vector4f class (4 floats) and perform a floating-point vector operation four times faster.  I can&#8217;t wait to work with the new Mono.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.occipital.com/2008/11/09/mono-now-with-simd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android performance 3: iPhone comparison</title>
		<link>http://blog.occipital.com/2008/11/02/android-performance-3-iphone-comparison/</link>
		<comments>http://blog.occipital.com/2008/11/02/android-performance-3-iphone-comparison/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 20:13:06 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://occipital.com/blog/?p=80</guid>
		<description><![CDATA[The internet is just incredible. Within 30 minutes of logging onto the #iphonedev IRC channel on freenode, I got timing results for the iPhone on the simple loop benchmark from my last post. Thanks to &#8216;august&#8217; for the help. Here&#8217;s the benchmark converted into objective-C: NSDate *start = [NSDate date]; int arr[8*320*480]; for(int i = [...]]]></description>
			<content:encoded><![CDATA[<p>The internet is just incredible.  Within 30 minutes of logging onto the #iphonedev IRC channel on freenode, I got timing results for the iPhone on the simple loop benchmark from my last post.  Thanks to &#8216;august&#8217; for the help.</p>
<p>Here&#8217;s the benchmark converted into objective-C:</p>
<p><code><br />
NSDate *start = [NSDate date];<br />
int arr[8*320*480];<br />
for(int i = 0; i &lt; (8*320*480); i++)<br />
arr[i] = i;<br />
NSDate *end = [NSDate date];<br />
NSLog(@"%g", [end timeIntervalSinceDate:start]);</code></p>
<p>Results:</p>
<ul>
<li>iPhone (2.1 firmware, Objective-C): <strong>9.5 milliseconds</strong></li>
</ul>
<p>And, from last time:</p>
<ul>
<li>G1 (R29 firmware): 922 milliseconds.</li>
<li>G1 (R29 firmware): Loop only. 520 milliseconds.</li>
</ul>
<p>Conclusions:</p>
<p>Objective-C kills the Java implementation on Android.  It&#8217;s almost exactly 100 times faster.  Note that I&#8217;m unsure if the memory allocation is included in the timing, so a more conservative statement is that Objective-C can run a tight loop 50 times faster than the Dalvik JVM.  It&#8217;s also true that real applications aren&#8217;t full of tight loops, and a real Android application won&#8217;t be 50 times slower than an iPhone counterpart.  Nevertheless, all else being equal, it will be slower, and potentially <em>a lot</em> slower.</p>
<p>For now, we&#8217;re sadly going to put our Android development on hold and switch to iPhone, and keep an eye out for performance improvements.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.occipital.com/2008/11/02/android-performance-3-iphone-comparison/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Android performance 2: Loop speed and the Dalvik VM</title>
		<link>http://blog.occipital.com/2008/10/31/android-performance-2-loop-speed-and-the-dalvik-vm/</link>
		<comments>http://blog.occipital.com/2008/10/31/android-performance-2-loop-speed-and-the-dalvik-vm/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 04:14:07 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[dalvik]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://occipital.com/blog/?p=71</guid>
		<description><![CDATA[Let&#8217;s run a simple benchmark on the G1. I had noticed that Android was running on some Java virtual machine called Dalvik, but hadn&#8217;t given it much attention otherwise.  It turns out to be pretty important, after all.  As far as I can tell, Google decided it would be a good idea to favor a [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s run a simple benchmark on the G1.</p>
<p>I had noticed that Android was running on some Java virtual machine called <a href="http://sites.google.com/site/io/dalvik-vm-internals">Dalvik</a>, but hadn&#8217;t given it much attention otherwise.  It turns out to be pretty important, after all.  As far as I can tell, Google decided it would be a good idea to favor a small memory footprint over speed.  Here&#8217;s the benchmark I just performed:</p>
<pre>long start = android.os.SystemClock.uptimeMillis();
int[] image = new int[8*320*400];
for(int i = 0; i &lt; (8*320*480); i++) {
   image[i] = i;
}
long end = android.os.SystemClock.uptimeMillis();
long elapsed = end - start;</pre>
<p> <br/><br />
So, how long did it take?</p>
<ul>
<li>G1 (R29 firmware):  <strong>922 milliseconds.</strong></li>
<li>G1 (R29 firmware).  Loop only.  520 milliseconds.</li>
</ul>
<p>And, for comparison:</p>
<ul>
<li>Fujitsu T4220 (2.4 GHz Intel T7700).  C#. 14 milliseconds.</li>
<li>Fujitsu T4220 (2.4 GHz Intel T7700).  Java. <strong>16 milliseconds.</strong></li>
</ul>
<p>Note: I ran everything in &#8220;Run&#8221; mode (not Debug mode).  (Debug mode causes the G1 to run about 4X slower in this benchmark.)</p>
<p>Conclusions:</p>
<p><strong>Dalvik puts a big wall between you and the (already pretty slow) CPU.<br />
</strong></p>
<p>It is claimed that Dalvik is designed for slow machines with low memory, powered by a battery.  However, I don&#8217;t understand how the Dalvik interpret-only VM actually achieves this, other than through programmer castration.  What does that mean?  Well, you can&#8217;t really do much on Android that isn&#8217;t built into the runtime, or your application will crawl, and you&#8217;ll be forced to strip those features out and rely on the optimized ones that are built into the libraries.  The memory footprint for Dalvik is lower, because there&#8217;s no JIT compiled chunks of code sitting in RAM.  But isn&#8217;t RAM cheap, fast, and low-power these days?</p>
<p>Next time (Android performance 3):</p>
<ul>
<li><strong>A duel with the iPhone.</strong>  I&#8217;d like to run this same trivial benchmark on an iPhone in Objective C and see what happens.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.occipital.com/2008/10/31/android-performance-2-loop-speed-and-the-dalvik-vm/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Android performance 1: The G1</title>
		<link>http://blog.occipital.com/2008/10/31/android-performance-1-the-g1/</link>
		<comments>http://blog.occipital.com/2008/10/31/android-performance-1-the-g1/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 20:55:39 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[g1]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://occipital.com/blog/?p=69</guid>
		<description><![CDATA[We are starting to develop on Android. The first Android device, of course, is the HTC/T-Mobile G1. We got one of the units this week, and I am just starting to look into exactly how fast the G1 runs. Performance is a hard thing to measure, but I wanted to start blogging about it in [...]]]></description>
			<content:encoded><![CDATA[<p>We are starting to develop on Android.  The first Android device, of course, is the HTC/T-Mobile G1.  We got one of the units this week, and I am just starting to look into exactly how fast the G1 runs.  Performance is a hard thing to measure, but I wanted to start blogging about it in the hopes we can start a discussion and learn more about how to best measure and optimize performance on Android devices.</p>
<p>The best way to start, I think, is to just list the hardware specifications (from <a href="http://en.wikipedia.org/wiki/T-Mobile_G1">Wikipedia</a>).</p>
<ul>
<li><strong>CPU:</strong> Qualcomm MSM7201A (<a href="http://www.ent.eetchina.com/PDF/2007FEB/DTCOL_2007FEB15_AVDE_RFR_AN_01.pdf?SOURCES=DOWNLOAD">MSM7200 details</a>)</li>
<li>528 MHz.  <a href="http://en.wikipedia.org/wiki/ARM_architecture">ARM11</a> (same family as iPhone).<br />
274MHz ARM9 coprocessor (not really &#8220;dual core&#8221; as is commonly claimed).<br />
Java hardware acceleration but <em>not on the Dalvik VM </em>(Android).</li>
<li><strong>GPU:</strong> (Shared with CPU)<br />
Capable of 4M triangles/sec.<br />
Capable of hardware-based image signal processor and JPEG encoder.</li>
<li><strong>Video Decoding:</strong><br />
Chip <a href="http://http://www.ent.eetchina.com/PDF/2007FEB/DTCOL_2007FEB15_AVDE_RFR_AN_01.pdf?SOURCES=DOWNLOAD">supports</a> 30fps VGA in<br />
MPEG-4, H.263, H.264, Windows Media® and RealNetworks®</li>
<li><strong>Video Encoding: </strong> (Not yet available on Android!)<br />
Chip <a href="http://www.ent.eetchina.com/PDF/2007FEB/DTCOL_2007FEB15_AVDE_RFR_AN_01.pdf?SOURCES=DOWNLOAD">supports</a> 30fps VGA in<br />
MPEG-4, H.263 and H.264</li>
<li><strong>Network speed:</strong><br />
Supports T-Mobile UMTS (3G) 800/1700/2100 MHz<br />
Possibly supports AT&amp;T UMTS (3G) 850/1900/2100 MHz.  <a href="http://i.cmpnet.com/eetimes/news/online/2008/10/igoogle_2.jpg">This disassembly</a> shows the RTR6285 radio chipset, which supports <strong>both</strong> 3G platforms.  However, there are two power amplifiers &#8212; one at 2100 MHz, and one at 1700 MHz (T-Mobile frequencies).  Nevertheless, I don&#8217;t think the 1700 MHz amplifier attenuates 1900 MHz.  Look at the <a href="http://www.avagotech.com/docs/AV02-0647EN">datasheet</a> and see what you think.  So AT&amp;T 3G would probably have a reduced range, but I think you could make it work.</li>
</ul>
<p>There are a few open questions I&#8217;d like to answer related to this specification list.  Can the G1 support AT&amp;T 3G (see above)?  Does the Android JVM benefit from the CPU&#8217;s Java hardare acceleration?  Does the JPEG encoding (Bitmap class) on G1 tap into the hardware?</p>
<p>We should also run a series of benchmarks and compare the Qualcomm processor&#8217;s Java performance, to, say, an Intel Core 2, for a number of tasks.  That way we can <em>roughly</em> estimate how fast something will run on a G1 before actually porting and deploying.  If you&#8217;ve seen any benchmarks like this, let me know, so we don&#8217;t reinvent the wheel!</p>
<p>Next time (Android performance 2):</p>
<ul>
<li>Benchmark for a simple array-indexing loop.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.occipital.com/2008/10/31/android-performance-1-the-g1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Android spam: Faster than UPS</title>
		<link>http://blog.occipital.com/2008/10/29/android-spam-faster-than-ups/</link>
		<comments>http://blog.occipital.com/2008/10/29/android-spam-faster-than-ups/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 17:43:16 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[boulder]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[g1]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://occipital.com/blog/?p=64</guid>
		<description><![CDATA[We decided to get an Android G1 phone for work, and it arrived today. I was excited that we had already received two text messages! But not so happy when we looked closer. One was a message from T-mobile, sent yesterday, telling us what the phone&#8217;s number was. Useful &#8212; timely. The other message was [...]]]></description>
			<content:encoded><![CDATA[<p>We decided to get an Android G1 phone for work, and it arrived today.  I was excited that we had already received two text messages!</p>
<p>But not so happy when we looked closer.  One was a message from T-mobile, sent yesterday, telling us what the phone&#8217;s number was.  Useful &#8212; timely.  The other message was from &#8220;FStick13&#8243;, also sent yesterday.  Not so useful &#8212; but timely.  Nice work, spammers, you beat the delivery guy.  If only your talents were used for something a little more positive.</p>
<p><a href="http://occipital.com/blog/wp-content/gphone_spam.jpg"><img class="alignnone size-full wp-image-65" title="Spam on Android (contrast enhanced)" src="http://occipital.com/blog/wp-content/gphone_spam.jpg" alt="Spam on Android (contrast enhanced)" width="500" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.occipital.com/2008/10/29/android-spam-faster-than-ups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dawn of the Vision Era</title>
		<link>http://blog.occipital.com/2008/09/04/dawn-of-the-vision-era/</link>
		<comments>http://blog.occipital.com/2008/09/04/dawn-of-the-vision-era/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 16:09:57 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[computer vision]]></category>

		<guid isPermaLink="false">http://occipital.com/blog/?p=40</guid>
		<description><![CDATA[In the 70&#8242;s, we thought it would be easy to create machines that could see.  We were wrong.  But today, we&#8217;re on the cusp of something exciting. If you can define the vision problem precisely, odds are, we can build a machine that rivals or exceeds human ability: We can build machines which are better [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-39" title="SuperBoy X-Ray Vision" src="http://occipital.com/blog/wp-content/superboy_98.jpg" alt="" width="274" height="244" />In the 70&#8242;s, we thought it would be easy to create machines that could see.  We were wrong.  But today, we&#8217;re on the cusp of something exciting.</p>
<p>If you can define the vision problem precisely, odds are, we can build a machine that rivals or exceeds human ability: We can build machines which are better at recognizing faces than people.  We&#8217;re wired to recognize a few hundred or a few thousand faces, but security software can scan for one in a million.  It&#8217;s not just for security, anymore.  We can do this across the web, and recently, in <a title="Picasa includes face recognition" href="http://www.techcrunch.com/2008/09/02/picasa-refresh-brings-facial-recognition/">our own photo sets</a>.</p>
<p>In swimming pools, Lifeguards aren&#8217;t always vigilant, but increasingly, computer <a title="Lives saved by Poseidon" href="http://poseidon-tech.com/us/Recap-recues.html">vision systems are</a>.</p>
<p>We&#8217;re getting better at taking large collections of photographs and recreating full 3D (<a title="4D Cities Project" href="http://www.cc.gatech.edu/4d-cities/dhtml/index.html">or 4D</a>) scenes.  <a title="Photosynth" href="http://photosynth.net">Photo tourism</a> is already changing the way we review large collections of photos in popular areas.</p>
<p>We still suck at building vision software that can perform general object recognition as well as humans.  But some groups are <a href="http://occipital.com/blog/2008/08/11/the-right-tool-makes-all-the-difference/">working on that</a>.  I don&#8217;t think it will take long before these systems rival human ability for any visual task that you can perform in under a second.</p>
<p>The most exciting thing is that the game doesn&#8217;t stop when we match human ability across a broad spectrum of tasks.  Instead, it gets more interesting.  Today, we can&#8217;t see through walls, and we can&#8217;t recognize everyone in a crowd.  We can&#8217;t jump three-hundred feet in the air to get a birds-eye view.  We can&#8217;t recognize every species of plant and animal.  We can&#8217;t read text in more than a handful of languages.  We can&#8217;t see beyond the human visual spectrum.  You get the idea.  It&#8217;s the dawn of an exciting time.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.occipital.com/2008/09/04/dawn-of-the-vision-era/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

