Google Tango - Load 3D Reconstruction and Localize - google-project-tango

Hi I'm new to Google Tango and stackoverflow and I'm doing a group project for school using the Tango device. I've searched the site and the web in general, but can't seem to find anything quite like what I'm looking for.
We've successfully used the AreaLearning feature to re-localize within a space and have used the Constructor to create a 3d model of a space. We want to load that model and localize within it so that we can use raycasting to measure the distance to walls.
Is there a way to do this or a better idea of how to obtain the wall (and other obstructions) distances?
thanks,
Ryan

Related

How to animate 3d Reconstructed face models

I'm making an app that is based on unity3d game engine and targeted to IOS and Android platform. The core function of this app is that : users needs to input a 2d frontal face photo and the app will produce a 3d reconstructed face model which looks like the 2d face in the photo. I did some research and found the algorithm on github:
https://github.com/patrikhuber/eos.
I implemented the algorithm in unity3d and it looked good. But the face they provide can't do animation(because it's an triangle mesh). What I need for this app is an animated face which can do all kinds of human expressions. The best software for this kind of purpose I found is faceGen, but their technology is not suitable for mobile device. So I want to ask if there are any articles, reference or forums that discuss this kind of problems.
A possible way to render 3D data in real time is to use PCL(Point Cloud Library)
http://www.pointclouds.org/news/2012/05/29/pcl-goes-mobile-with-ves-and-kiwi/
Hope it can help

Object tracking with Project Tango

As far as I know, the main features of Project Tango SDK are:
motion tracking
area learning
depth perception
But what about object recognition & tracking?
I didn't see anything about that in the SDK, though I assume that Tango hardware would be really good at it (compared with traditional smartphones). Why?
Update 2017/06/05
A marker detection API has been introduced in the Hopak release
There are already good libraries for object tracking in 2D images and the additional features of project tango would likely add only marginal improvement in performance(of existing functions) for major overhauls of the library to support a small set of evolving hardware.
How do you think project tango could improve on existing object recognition & tracking?
With a 3d model of the object to be tracked, and knowledge of the motion and pose of the camera, one could predict what the next image of the tracked object 'should' look like. If the next image is different than predicted, it could be assumed that the tracked object has moved from its prior position. And the actual new 3D image could indicate the tracked object's vectors. That certainly has uses in navigating a live environment.
But that sounds like the sort of solution a self driving car might use. And that would be a valuable piece of tech worth keeping away from competitors despite its value to the community.
This is all just speculation. I have no first hand knowledge.
I'm not really sure what you're expecting for an "open question", but I can tell you one common way that people exploit Tango's capabilities to aid object recognition & tracking. Tango's point cloud, image callbacks, and pose data can be used as input for a library like PCL (http://pointclouds.org/).
Simply browsing the documentation & tutorials will give you a good idea of what's possible and how it can be achieved.
http://pointclouds.org/documentation/
Beyond that, you might browse the pcl-users mail archives:
http://www.pcl-users.org/

training the area learning in project tango with other data sources

Is it possible to train the area-learning module in a project tango device with other data than the one automatically input through the sensors?
I am asking because I want to teach the area algorithm a preexisting 3D model, thereby making object recognition possible.
I am not asking for a highlevel ability to convert any 3D model to an ADF. If I have to generate several point clouds and color buffers myself based on the 3D model, that would also work.
I am also not asking to know about any Google secrets of the internal format of ADFs. Only to have some way to put data in there.
Currently, there's no way of doing that through Tango public APIs. All pipeline, learning or relocalizing have to be done on device.

How to get name of a landmark image (e.g. image of Eiffel Tower)?

I want to provide an image of a place (e.g. image of Eiffel Tower) and want Google to give me back that it contains "Eiffel Tower". I need this only for famous landmarks. What API should I use? I tried to look into Google Places API, but I am not sure if it will do what I am looking for. In the EXIF data of images, I do not have GPS co-ordinates (otherwise I could have done reverse geo-location lookup).
Without GPS coordinates, this problem would require a computer vision solution, also known as image or pattern recognition.
There is research being done right now, for example see A new landmark in computer vision from the official Google blog:
... a Google team is presenting a paper on landmark recognition (think:
Statue of Liberty, Eiffel Tower) at the Computer Vision and Pattern
Recognition (CVPR) conference in Miami, Florida. In the paper, we
present a new technology that enables computers to quickly and
efficiently identify images of more than 50,000 landmarks from all
over the world with 80% accuracy.
But clearly we're not there yet as an industry. There is definitly no API and your problem cannot be currently solved programmatically to any reasonable degree.
More or less I encountered me with the same issue in the sense that I want to get back the place name giving the image as a parameter. So far I have two possible solutions:
1) The use of the Google Cloud Vision API for landmark recognition. (Not completely free: https://cloud.google.com/vision/docs/pricing
2) In my case I am also taking into account to have the user coordinates (and possible if the device allows me, the direction). Hence, my approach will be to get places in the nearby getting their images. Make image comparison with respect to my input image (giving as well some priority to the closest place), returning the name of the image which is more similar to my input.
Hope that this sketch of the idea helps. I would be glad to here which approach did you use if you were able to resolve the problem. Greetings.

How do I do simple 3D in XNA on Windows Phone 7

I'm a newbie to 3D on WP7. All I want to do is nice simple 3D
A. Add/Draw a number of coloured primitives, cube and spheres etc. to a 3D world
B. Rotate the World x, y and/or z
That's it, nothing else. I don't need any collision detection, I don't need any clever physics I don't need any textures or backgrounds or anything else, just that nice and simple.
I've been through about a gazillion examples on various websites and they all obscure the basics with bloated code and objects that I just don't want. I don't want any marble or spaceship examples, just some nice clean, clear code.
I have Blender to create the 3D models and these will be simple models with no textures. just solid basic 3D objects.
Please don't point me to anything that's based on a game which every example I have already found is.
Oh and please only examples that actually work.
Well the best way to do 3D on Windows Phone 7 is to use XNA which is generally associated with games which isn't the whole truth. You can still build traditional applications using XNA, although it might take you longer to construct your ui as opposed to silverlight.
You should probably check out App Hub from Microsoft as there are a ton of samples, in fact they have a category specifically for 3D. Keep in mind since your just starting you should make an attempt to understand the examples there giving you. Even though code you see for the first time might seem like bloated or extra code, there actually necessary components to consider when developing 3D applications.
At any rate, this example goes over the basics of 3D using XNA on Windows Phone 7.
EDIT: If you don't want to use XNA, there's this question that was asked previously. There's a couple of solutions for using 3D in silverlight.

Resources