What does an Area Description File (ADF) looks like? - google-project-tango

I'm starting to work with the Google Tango Tablet, hopefully to create (basic) 2D / 3D maps from scanned areas. But first I would like to read as much about the Tango (sensors / API) as I can, in order to create a plan to be as time efficient as possible.
I instantly noticed the ability to learn areas, which is a very interesting concept, nevertheless I couldn't find anything about these so called Area Description Files (ADF).
I know the ADF files can be geographically referenced, that they contain metadata and an unique UUID. Furthermore I know their basic functionalities, but that's about it.
In some parts of the modules ADF files are referred to as 'maps', in other parts they are just called 'descriptions'.
So what do these files look like? Are they already basic (GRID) (2D) maps, or are they just descriptions?
I know there are people who already extracted the ADF files, so any help would be greatly appreciated!

From Tango ADF Doco
Important: Saved area descriptions do not directly record images or
video of the location, but rather contain descriptions of images of
the environment in a very compressed form. While those descriptions
can’t be directly viewed as images, it is in principle possible to
write an algorithm that can reconstruct a viewable image. Therefore,
you must ask the user for permission before saving any of their
learned areas to the cloud or sharing areas between users to protect
the user's privacy, just as you would treat images and video.
Other than that there doesn't seem to be much info about the file internals - I use a lot of them, but I've never been compelled to look inside - curious yes, but not compelled

Without any direct info from the project Tango folks anything we provide would be merely speculation. I'm with Mark, not much compelling reason to get details. My speculation: probably contains a set of image descriptors, like SIFT, and whatever other known device settings are available, like GPS location, orientation (gravity), time(?), etc.

I got the ADF file, basically coded binaries and seems difficult to decode.
I will be happy to share the file if anyone is still interested.

Related

Finding an object using tango device

I want to create a small project using google project tango where I want to identify different objects like chairs and tables. I am using area learning mechanism. I want to know what else I need to use to identify different objects in 3D space.
Object recognition isn't really a trivial problem and, depending on your approach and how flexible you want it to be, can become very involved and complicated. I would strongly recommend you do some research and read up on the topic first and make sure you have a good grasp on the basics.
That being said, there are existing Android projects available on GitHub, etc. that are capable of recognising various objects and I would recommend you have a look at those.
By the way, is there a specific reason you want to implement this on a Tango? Unless you plan on using the point cloud data instead of image data, object recognition should be able to work on a normal, non-Tango device as well.

Not your typical Mapping App

I'm in the concept development stage of an iOS app that is essentially a game. One of the things I want to do is to get information about the current location. I've not used the map kit so far, and after a quick read through various documentation, it looks like it is designed mainly as a display kit. What I'd like to do in addition to displaying a map is to query data that might be at the location. For example, if I provide latitude and longitude, I want to know whether that location represents land or water. If it's on land, how close is it to the nearest street? If it's not near a street, what other information might there be about the spot?
I realize there are vast amounts of data available that are geocoded, but is there any information that can be queried directly from the map kit? I would have thought things like elevation would be easily available, but I haven't seen anything like that yet. Am I just looking in the wrong place?
As far as I am aware there is no data that you can query directly from MapKit - i.e. you cannot ask MapKit if a location is on land or water.
You could use reverse geo-coding with the current longitude/latitude to find out details about the location, for example nearest street/town, or which country the location is in.
Check out the built in Apple Geocoding framework, or the Google Geocoding API
Hope this helps.

Is it possible to find the IP from which an image originated?

I have a PNG image which I am trying to trace to its originating city.
I was told that someone was able to do this by extracting an IP from the PNG's metadata, but I am skeptical of this. It doesn't make sense to me that an image editor would bother to include the IP address of the computer at the time it was saved, or that the PNG specification would even have a place reserved for this information.
Assume the picture is hosted on TinyPic. Do any of you know a way to find the information I am looking for?
EDIT: The image had some edits made to it, and I am trying to find the source of that edition of the image. I am interested in information that the image editing software may have crammed in there, or any ways of finding the source of the image that may not be related to PNG (I have emailed TinyPic and asked for it, for example).
Thank you to those who have suggested answers already.
I think what your looking for is getting the geotags associated with a PNG. That will be a lat/long where the picture was taken. Most cellphones insert his information, and some cameras. While you might be able to get the IP address from the metadata it's not particularly accurate. At best a general region or city if you're lucky. For why that is see this answer:
How does geographic lookup by IP work?
You can check the extensions and specs to the standard here to find geo and if your IP address idea exists:
http://www.libpng.org/pub/png/
Some cameras may embed geolocation information in the photos they take, but not many.
You could use this library/tool to look at the meta-data: http://owl.phy.queensu.ca/~phil/exiftool/ You're probably interested in the bits on geotagging.

Best way to store "doodle" data?

On one of the applications that I am writing, I was asked to provide the feature for "pencil and eraser" to allow the user to doodle randomly on a document (for proofreading, note-taking, etc.)
What would be the best way to store such data?
I was thinking of using an image with transparency for each doodle (so that I can also support multiple colors of "doodles") but it seems like it will very quickly make any saved project with doodles grow large in file size.
I am looking if there is a better (existing) alternative (e.g. is there a DoodleXML spec out there?) or just any suggestions.
I think the "DoodleXML" spec you're looking for might just be SVG. Simply save the doodles as a series of lines. You don't need a full SVG engine as long as you're only supporting the subset that you generate in the first place.

Using flickr to get photos of a specific location and put together a model

I've read about systems which use the Flickr database of photos to fill in gaps in photos (http://blogs.zdnet.com/emergingtech/?p=629).
How feasible is a system like this? I was toying with the idea (not just a way of killing time but as a good addition to something I am coding) of using Flickr to get photos of a certain entity (in this case, race tracks) and reconstruct a model. My biggest concern is that there aren't enough photos of a particular track and even then, it would be difficult to tell if two photos are of the same part of the racetrack, in which case one of them may be irrelevant.
How feasible is something like this? Is it worth attempting by a sole developer?
Sounds like you're wanting to build a Photosynth style system - check out Blaise Aguera y Arcas' demo at TED back in 2007. There's a section about 4 minutes in where he builds a model of the Sagrada Família from photographs.
I say +1 for photosynth answer, its a great tool. Not sure how well you could incorporate it into your own app though.
Its definately feasable. Anything is possible. And yes, doable for a single developer, just depends how much free time you have. It would be great to see something like this integrated into Virtual Earth or Google Maps Street View. Someone who could nail some software like this could help 3D model the entire world based purely on photographs. That would be a great product and make any single developer rich and famous.
So get coding. :)
I have plenty of free time, as I am in between jobs.
One way to do it is to get an overhead view of the track layout, make a blueprint based on this model, and then get one photo of the track and mimic the track's road colour. That would be a start.
LINQ to Flickr on codeplex has a great API and would be helpful for your task.

Resources