Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to read data from TOF (time-of-flight) sensor on Android?

Recent models of Android phones (Honor View 20, Huawei P30 Pro, Samsung Galaxy 10 5g) have TOF (time-of-flight) sensor. Is it possible to read it through some API or manufacturer SDK?

like image 363
Alexander Ponomarev Avatar asked Mar 27 '19 15:03

Alexander Ponomarev


People also ask

What is ToF viewer?

Many current smartphones contain a Time-of-Flight sensor (ToF sensor) which enables smartphones to recognize the near environment. This sensor improves augmented reality (AR) a lot.

How do ToF sensors work?

A ToF camera uses infrared light (lasers invisible to human eyes) to determine depth information - a bit like how a bat senses it surroundings. The sensor emits a light signal, which hits the subject and returns to the sensor. The time it takes to bounce back is then measured and provides depth-mapping capabilities.

Is Time-of-Flight and LiDAR the same?

3D time of flight (ToF) is a type of scanner-less LIDAR (light detection and ranging) that uses high power optical pulses in durations of nanoseconds to capture depth information (typically over short distances) from a scene of interest.


1 Answers

Possible for Huawei using AR Engine SDK

https://developer.huawei.com/consumer/en/ar

Excerpt of SDK Document AREnginesdk-sample-2.0.0.6\HUAWEI AR Engine Function Manual.doc

4.13 Scene mesh
Huawei AR Engine provides real-time output scene mesh capability. The output includes the pose of the mobile phone in space. The 3D mesh of the current camera view only supports the specified Huawei models(Honor V20、P30Pro) that can obtain depth information, and the supported scanning scene is static.

Excerpt of SDK Document AREnginesdk-sample-2.0.0.6\java\HUAWEI AR Engine SDK Interface Manual.docx

2.2.1.18.   ARSceneMesh
•   Description: The class used to return the tracking result when the environment Mesh is tracked. The result includes the Mesh vertex coordinates, the triangle subscript, and so on.
•   Methods: 
public ShortBuffer getSceneDepth()
        // Get the depth image of current frame(optimized).
public int getSceneDepthHeight()
        // Get the height of the depth image.
public int getSceneDepthWidth()
        // Get the width of the depth image.


Possible on Huawei usinga camera2 API

https://github.com/google-ar/arcore-android-sdk/issues/120#issuecomment-535413944

This issue in ARCore contains a lot of information!

Also seems to be possible on S10 5G, but currently not on Note 10+

Excerpt of Night Vision / ToF Viewer app description:

This app is currently working only on Huawei P30 Pro, Honor View 20 and Samsung S10 5G. More devices will start working by future device software updates.

New features

  • compatibility for Samsung S10 5G added (and maybe for other devices)
  • resolution dialog removed
  • support for front facing removed

Note: There was done a big research for Samsung Note10+ support, however this device does not seem to support ToF for 3rd party apps.


Another interesting app:

3D scanner app using Huawei ToF sensors https://play.google.com/store/apps/details?id=com.lvonasek.arcore3dscannerpro

like image 168
fivef Avatar answered Oct 28 '22 20:10

fivef