Mirror Image

Mostly AR and Stuff

Openness – Maemo vs Android

A great post from coll900 about comparative openness Maemo and Android for developers and users. Maemo designated as a clear win. The one point missing in the original post is a platform fragmentation. Android try to get around fragmentation using Java virtual machine (albeit with non-standard bytecodes). However native code will not be binary transferable between devices. That is especially relevant for augmented reality and other cpu-heavy apps. Here is a question – will Maemo be any better? For some mysterious reasons Nokia afflicted by irresistible drive to fragment it’s own software platform as much as possible. If Nokia manage to gather enough strength of will to keep Maemo on a single but mass-produced device line, like Apple with iPhone, Maemo could become developers dream and a serious competitor to iPhone. However if Nokia keeps its bad habit of producing zoo of semi-decent not-quite-compatible devices, with introduction of a new just-little-different device every quarter, just to break whatever compatibility still remaining, Maemo, with all its openess will not have practical advantage over Android.

28, October, 2009 Posted by mirror2image | Mobile | , , , , | No Comments Yet

What’s going on

Code of markerless tracker is finished for emulator. It’s in in minimal configuration, without some optimizations, bell and whistles like combined points-edge pose estimation for now. Now it’s bugs squashing and testing with different video feeds for some times. Modified bundle adjustment is the nicest part, seems pretty stable and robust.

15, September, 2009 Posted by mirror2image | Coding AR | , , , , | 2 Comments

Symbian Multimarker Tracking Library

#augmentedreality
Demo-version of binary Symbian multimarker tracking library SMMT available for download.
SMMT library is a SLAM multimarker tracker for Symbian. Library can work on Symbian S60 9.1 devices like Nokia N73 and Symbian 9.2 like Nokia N95, N82. It may also work on some other later versions. This version support only landscape 320×240 resolution for algorithmical reason – size used in the optimization.
This is slightly more advanced version of the tracker used in AR Tower Defense game.
PS corrupted file fixed

5, September, 2009 Posted by mirror2image | Coding AR | , , , , , , , , , | No Comments Yet

Zen of debugging

Shenxiu produce gatha:

The project is a source tree,
the code a standing mirror bright.
At all times polish it diligently,
and let no bugs crawl.

When a fra passed the rice mill chanting Shenxiu’s gatha, Huineng immediately knew this verse lacked true insight. He went to the wall, and asked a avout there to write a gatha of his own for him. The avout was surprised, “How extraordinary! You can not write assembly code, and you want to compose a gatha?” Whereupon Huineng said, “If you seek supreme enlightenment, do not slight anyone. Lowly java programmers may have great insights, and assembly coders may commit foolish acts.” In veneration, the avout wrote Huineng’s gatha on the wall for him, next to Shenxiu’s, which stated:

Project has no tree,
nor is the the code a standing mirror bright.
Since all is originally empty,
where does the bugs appear?

Huineng then went back to rice pounding. However, this gatha created a bigger stir; everyone was saying, “Amazing! You can’t judge a person by his looks! Maybe he will become a Living Saunt soon!” However, when the alarmed Hongren came out, he just casually said, “This hasn’t seen the essential nature either,” and proceeded to wipe the gatha off with his shoe.

Huineng refactoring code
Huineng refactoring code

6, July, 2009 Posted by mirror2image | Uncategorized | , | No Comments Yet

Augmented Reality on Android – now with NDK

With release of native code kit Android now looks more like a functional AR platform. NDK allow for native C/C++ libraries, and complete application seems need java wrapper still. It’s not clear to me still how accessible are video and OpenGL API from NDK – have to look into it.
On related note – there are rumors about pretty powerful 1Ghz phone for Android 2.0

5, July, 2009 Posted by mirror2image | Augmented Reality, Coding AR | , , , | No Comments Yet

Tracking cityscape

One of the big problem in image registration/structure from motion/3d tracking is using global information of the image. Feature/blob extraction, like SIFT, SURF or FAST etc using only local information around the point. Region detector like MSER using area information, but MSER is not good at tracking textures, and not quite stable at complex scenes. Edge detection provide some non-local information, but require processing edges. That could be computationally heavy, but looks promising anyway. There are a lot of methods which use global information – all kind of texture segmentation, epitome, snakes/appearance models, but those are computationally heavy and not suitable for mobiles. The question is how to incorporate global information from the image into tracker, and make it with minimal amount of operations. One way is to optimise tracker for specific environment – for example use the property of cityscape, a lot of planar structures and straight lines. Such multiplanar tracker wouldn’t work in the forest or park, but could be a working compromise.

12, March, 2009 Posted by mirror2image | Coding AR | , , , , , , , , , , , , | No Comments Yet

New version of Augmented Reality Tower Defense

A new version of AR Tower Defense – v0.03 Some bugs fixed (black screen bug)
and minor tracking improvement

12, February, 2009 Posted by mirror2image | Augmented Reality, Coding AR, Demo, Mobile, Nokia N95 | , , , , , , , , , , | No Comments Yet

Markerless tracking with FAST

Testing outdoor markerless tracking with FAST/SURF feature detector.
The plane of the camera is not parallel to the earth, that make difficult for eye to estimate precision.
registration

29, January, 2009 Posted by mirror2image | Uncategorized | , , , , , , , , | No Comments Yet

FAST with SURF descriptor

Feature detected with multistage FAST and fitted with SURF descriptors
FAST SURF
Less strict threshold give a lot more correspondences, but also some false positives
FAST SURF

25, January, 2009 Posted by mirror2image | Coding AR | , , , , , , | 12 Comments

Multiscale FAST detector

Experimenting with multiscale FAST detector with images from cell phone camera.
FAST
so far so good…

24, January, 2009 Posted by mirror2image | Coding AR | , , , , , , | 2 Comments