Mediapipe: [Exynos/Mali] ExternalTextureConverter issue with hand tracking sample App

Created on 22 Aug 2019  路  11Comments  路  Source: google/mediapipe

At the start of hand tracking sample App, android runtime error(ExternalTextureConverter) occurs.

I tested the app using the galaxy s8.

is there any hardware requirements for running the hand tracking ??

2019-08-22 19:43:01.355 3675-3708/? E/AndroidRuntime: FATAL EXCEPTION: ExternalTextureConverter
Process: com.google.mediapipe.apps.handtrackinggpu, PID: 3675
java.lang.RuntimeException: glViewport: GL error: 0x505
at com.google.mediapipe.glutil.ShaderUtil.checkGlError(ShaderUtil.java:175)
at com.google.mediapipe.glutil.GlThread.bindFramebuffer(GlThread.java:116)
at com.google.mediapipe.components.ExternalTextureConverter$RenderThread.updateOutputFrame(ExternalTextureConverter.java:331)
at com.google.mediapipe.components.ExternalTextureConverter$RenderThread.renderNext(ExternalTextureConverter.java:246)
at com.google.mediapipe.components.ExternalTextureConverter$RenderThread.lambda$onFrameAvailable$0$ExternalTextureConverter$RenderThread(ExternalTextureConverter.java:210)
at com.google.mediapipe.components.ExternalTextureConverter$RenderThread$$Lambda$0.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:214)
at com.google.mediapipe.glutil.GlThread.run(GlThread.java:134)

android bug external issue gpu

Most helpful comment

Is there a corresponding TF bug tracing this so that we can follow up?

All 11 comments

Hi,
I was able to get two galaxy s8 phones for testing, one with Adreno GPU and one with Mali GPU. I can reproduce this issue on the Mali chipset, while the Adreno works just fine.

It appears there is some hardware/memory limitations on the galaxy s8 G950FD with Mali chipset.
On that phone, none of the GPU examples with tflite seem to work as-is, but i was able to modify the CPU examples to run inference on the GPU (i.e. add "use_gpu: true" to the TfLiteInferenceCalculatorOptions in the graphs.

You may be able to create a CPU version of the hand graphs (remove all "_GPU" from stream names in the graphs) and run inference on the GPU still (add "use_gpu:true" to inference calculator options), as a workaround, but the performance won't be that good.

Meanwhile we will continue to improve support for a variety of devices.

Same on Galaxy S9.

Reproduced on Galaxy S9, though Xiaomi Redmi 4x works fine

Same issue on Galaxy S9+ (SM-G965F/DS).

This bug is specific to TF. Will close in MediaPipe

Is there a corresponding TF bug tracing this so that we can follow up?

We (MediaPipe) will follow up with TensorFlow team and provide an update here.

Any updates on that issue ?

Same on S8+ and A20

@HebaMohamed @leetenthu @Macoron @sevar83 @cheongjunyoung Fixed bug in v0.6.5 release. Pls check out v0.6.5 and let us know if this release fixed the issue

Tested on Mali G51 multihandtrackinggpu --3D=true, on my side it is working now.

Tested on Galaxy S9+, it is working now, thanks!

Was this page helpful?
0 / 5 - 0 ratings