This web contains assorted information on the use of Tango for accessibility.
I'm interested in the application of Tango to navigation tools for the blind,
particularly with respect to public, indoor spaces.
For example, it might be possible for Tango devices to model their 3D surroundings,
sending reports to a cloud-based service for aggregation and analysis.
The resulting information, combined with GPS data, might well be very useful
for blind orientation and mobility (even without a Tango device).
Checking around, I couldn't find any information on the data format(s)
that Tango uses to exchange information with other programs.
Ideally (for my purposes), these formats would be based on open standards,
so that anyone could create and/or consume them.
After I inquired on Tango Developers, Matthew Rubenstein responded with the salient details.
Paraphrased a bit, he said:
Tango's internal data structures combine several types of captured, timestamped data:
It's up to the individual app to export that data for storage or exchange with other software.
Most apps I know of are using Wavefront's OBJ
and/or Stanford's PLY formats for serializing models,
because those are the most popular open formats in the 3D industry(ies).
- color video sequences
- device position (3 degrees of freedom)
- device orientation (3 degrees of freedom)
- snapshots of 3D point clouds
These formats both provide models of 3D surfaces
as sets of polygons
, but their approaches differ markedly.
OBJ is a simple data format that represents 3D geometry alone -
namely, the position of each vertex, the UV position of each texture coordinate vertex, vertex normals,
and the faces that make each polygon defined as a list of vertices, and texture vertices.
Vertices are stored in a counter-clockwise order by default,
making explicit declaration of face normals unnecessary.
OBJ coordinates have no units, but OBJ files can contain scale information in a human readable comment line.
-- Wavefront .obj file, in Wikipedia
PLY is a computer file format known as the Polygon File Format or the Stanford Triangle Format.
It was principally designed to store three-dimensional data from 3D scanners.
The data storage format supports a relatively simple description of a single object
as a list of nominally flat polygons.
A variety of properties can be stored, including:
color and transparency, surface normals, texture coordinates and data confidence values.
The format permits one to have different properties for the front and back of a polygon.
There are two versions of the file format, one in ASCII, the other in binary.
-- PLY (file format), in Wikipedia
Rabia Ali says:
We are currently working on some projects for assistive solutions for the visually impaired utilizing Tango.
E.g., we recently published the following papers on obstacle detection for navigating in indoors environments:
Rabia Jafri and Marwa Mahmoud Khan,
“Obstacle Detection and Avoidance for the Visually Impaired in Indoors Environments Using Google’s Project Tango Device”, Proceedings of the 15th International Conference on Computers Helping People with Special Needs (ICCHP 2016),
July 13-15, Linz, Austria, Springer International Publishing, Lecture Notes in Computer Science (LNCS), Volume 9759, pp. 179-185, 2016.
Rabia Jafri, Rodrigo Louzada Campos, Syed Abid Ali and Hamid R. Arabnia,
“Utilizing the Google Project Tango Tablet Development Kit and the Unity Engine for Image and Infrared Data-Based Obstacle Detection for the Visually Impaired”,
Proceedings of the 2016 International Conference on Health Informatics and Medical Systems (HIMS'15), July 27-30, Las Vegas, Nevada, USA, 2016, pp. -.
This wiki page is maintained by Rich Morin
an independent consultant specializing in software design, development, and documentation.
Please feel free to email
comments, inquiries, suggestions, etc!