homuler / MediaPipeUnityPlugin

Unity plugin to run MediaPipe
MIT License
1.76k stars 461 forks source link

ARcore camera input for Mediapipe Facemesh #1081

Closed JustinPeng2007 closed 8 months ago

JustinPeng2007 commented 8 months ago

Plugin Version or Commit ID

v0.12.0

Unity Version

2021.3.14f1

Your Host OS

Windows 11 Home

Target Platform

Android

Description

Hi, I understand that this might be a very similar problem to others, however after reading through the other issues, I have yet to resolve my problem. Like others, I have been trying to access the textures from the AR camera to use for media pipe unity.TryAcquireLatestCpuImage as well.

Below is CameraImageController.cs, which converts the AR camera to texture 2D. Than, I call it in FaceMesh.cs (see below), using _inputTexture = _cameraTransfar.m_Texture;, which is then passed into ImageFrame. However, _cameraTransfar.m_Texture has been always null when the program runs, which I am very confused about.

using System;
using Unity.Collections.LowLevel.Unsafe;
using UnityEngine;
using UnityEngine.XR.ARFoundation;
using UnityEngine.XR.ARSubsystems;

public class CameraImageController : MonoBehaviour
{
    public ARCameraManager cameraManager;

    public Texture2D m_Texture;
    //private MeshRenderer mRenderer;

    private void Start()
    {
        //mRenderer = GetComponent<MeshRenderer>();
        // texture = new Texture2D(640, 480, TextureFormat.RGBA32, false);
    }

    void OnEnable()
    {
        cameraManager.frameReceived += OnCameraFrameReceived;
    }

    void OnDisable()
    {
        cameraManager.frameReceived -= OnCameraFrameReceived;
    }

    unsafe void OnCameraFrameReceived(ARCameraFrameEventArgs eventArgs)
    {

        Debug.Log("Called");
        XRCpuImage image;
        if (!cameraManager.TryAcquireLatestCpuImage(out image))
            return;

        var conversionParams = new XRCpuImage.ConversionParams
        (
            image,
            TextureFormat.RGBA32,
            XRCpuImage.Transformation.MirrorY

        );

        if (m_Texture == null || m_Texture.width != image.width || m_Texture.height != image.height)
        {
            m_Texture = new Texture2D(conversionParams.outputDimensions.x,
                                     conversionParams.outputDimensions.y,
                                     conversionParams.outputFormat, false);
        }

        var buffer = m_Texture.GetRawTextureData<byte>();
        image.Convert(conversionParams, new IntPtr(buffer.GetUnsafePtr()), buffer.Length);

        m_Texture.Apply();
        //mRenderer.material.mainTexture = m_Texture;

        buffer.Dispose();
        image.Dispose();
    }

}

Code to Reproduce the issue

// Copyright (c) 2021 homuler
//
// Use of this source code is governed by an MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT.

// ATTENTION!: This code is for a tutorial.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Mediapipe.Unity.CoordinateSystem;
using Gaprot.Arf;

using Stopwatch = System.Diagnostics.Stopwatch;

namespace Mediapipe.Unity.Tutorial
{
  public class FaceMesh : MonoBehaviour
  {
    [SerializeField] private TextAsset _configAsset;
    // [SerializeField] ArfCameraTransfar _cameraTransfar;

    [SerializeField] public CameraImageController _cameraTransfar = null;
    [SerializeField] private RawImage _screen;
    [SerializeField] private int _width;
    [SerializeField] private int _height;
    [SerializeField] private int _fps;

    private CalculatorGraph _graph;
    private ResourceManager _resourceManager;

    private Texture2D _webCamTexture;
    private Texture2D _inputTexture;
    private Color32[] _inputPixelData;
    private Texture2D _outputTexture;
    private Color32[] _outputPixelData;
    private Color32[] _pixelData;

    private IEnumerator Start()
    {
      yield return GpuManager.Initialize();
      Debug.Log("after gpu manager");

      if (!GpuManager.IsInitialized)
      {
        throw new System.Exception("Failed to initialize GPU resources");
      }

      _screen.rectTransform.sizeDelta = new Vector2(_width, _height);

      _inputTexture = new Texture2D(_width, _height, TextureFormat.RGBA32, false);
      _inputPixelData = new Color32[_width * _height];
      _outputTexture = new Texture2D(_width, _height, TextureFormat.RGBA32, false);
      _outputPixelData = new Color32[_width * _height];

      _screen.texture = _outputTexture;

      Debug.Log("after textures");

      var _resourceManager = new StreamingAssetsResourceManager();
      yield return _resourceManager.PrepareAssetAsync("face_detection_short_range.bytes");
      yield return _resourceManager.PrepareAssetAsync("face_landmark_with_attention.bytes");

      var stopwatch = new Stopwatch();

      Debug.Log("before config");
      //_graph = new CalculatorGraph(_configAsset.text);

      var config = CalculatorGraphConfig.Parser.ParseFromTextFormat(_configAsset.text);
      Debug.Log("before validatedGraphConfig");
      using (var validatedGraphConfig = new ValidatedGraphConfig())
      {
          Debug.Log("before Initialize");
          validatedGraphConfig.Initialize(config).AssertOk();
          Debug.Log("before CalculatorGraph");
          _graph = new CalculatorGraph(validatedGraphConfig.Config());
      }

      Debug.Log("before SetGpuResources");
      _graph = new CalculatorGraph(_configAsset.text);
      _graph.SetGpuResources(GpuManager.GpuResources).AssertOk();
      Debug.Log("after SetGpuResources");

      var outputVideoStream = new OutputStream<ImageFramePacket, ImageFrame>(_graph, "output_video");
      var multiFaceLandmarksStream = new OutputStream<NormalizedLandmarkListVectorPacket, List<NormalizedLandmarkList>>(_graph, "multi_face_landmarks");
      outputVideoStream.StartPolling().AssertOk();
      multiFaceLandmarksStream.StartPolling().AssertOk();
      _graph.StartRun().AssertOk();
      stopwatch.Start();

      var screenRect = _screen.GetComponent<RectTransform>().rect;

      _pixelData = new Color32[_width * _height];

      while (true)
      {
        _inputTexture = _cameraTransfar.m_Texture;

        // _inputTexture.SetPixels32(_webCamTexture.GetPixels32(_pixelData));
        var imageFrame = new ImageFrame(ImageFormat.Types.Format.Srgba, _width, _height, _width * 4, _inputTexture.GetRawTextureData<byte>());
        // var imageFrame = new ImageFrame(ImageFormat.Types.Format.Srgba, _width, _height, _width * 4,frameImageSigned);
        var currentTimestamp = stopwatch.ElapsedTicks / (System.TimeSpan.TicksPerMillisecond / 1000);
        _graph.AddPacketToInputStream("input_video", new ImageFramePacket(imageFrame, new Timestamp(currentTimestamp))).AssertOk();

        yield return new WaitForEndOfFrame();

        if (outputVideoStream.TryGetNext(out var outputVideo))
        {
          if (outputVideo.TryReadPixelData(_outputPixelData))
          {
            _outputTexture.SetPixels32(_outputPixelData);
            Debug.Log("READDD");
            _outputTexture.Apply();
          }
        }

        if (multiFaceLandmarksStream.TryGetNext(out var multiFaceLandmarks))
        {
          if (multiFaceLandmarks != null && multiFaceLandmarks.Count > 0)
          {
            for (int personIndex = 0; personIndex < multiFaceLandmarks.Count; personIndex++)
            {
              var landmarks = multiFaceLandmarks[personIndex];
              var topOfHead = landmarks.Landmark[10];
              Debug.Log($"Person {personIndex + 1} Unity Local Coordinates: {screenRect.GetPoint(topOfHead)}, Image Coordinates: {topOfHead}");
            }
          }
        }

      }
    }

    private void OnDestroy()
    {

      if (_graph != null)
      {
        try
        {
          _graph.CloseInputStream("input_video").AssertOk();
          _graph.WaitUntilDone().AssertOk();
        }
        finally
        {

          _graph.Dispose();
        }
      }
      GpuManager.Shutdown();
    }

  }
}

Additional Context

2023-12-30 14:33:33.997 20714 20757 Info Unity GpuManager: Initializing GpuResources...
2023-12-30 14:33:33.997 20714 20757 Info Unity Mediapipe.Unity.<Initialize>d__17:MoveNext()
2023-12-30 14:33:33.997 20714 20757 Info Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2023-12-30 14:33:33.997 20714 20757 Info Unity 
2023-12-30 14:33:33.998 20714 20757 Info native I20231230 14:33:33.998658 20757 gl_context_egl.cc:84] Successfully initialized EGL. Major : 1 Minor: 5
2023-12-30 14:33:34.001 20714 21029 Info native I20231230 14:33:34.001061 21029 gl_context.cc:342] GL version: 3.2 (OpenGL ES 3.2 V@0530.0 (GIT@12ae96cb63, I409bbc12eb, 1694603898) (Date:09/13/23)), renderer: Adreno (TM) 660
2023-12-30 14:33:34.004 20714 20757 Info Unity GpuManager: Initializing GlCalculatorHelper...
2023-12-30 14:33:34.004 20714 20757 Info Unity Mediapipe.Unity.<Initialize>d__17:MoveNext()
2023-12-30 14:33:34.004 20714 20757 Info Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2023-12-30 14:33:34.004 20714 20757 Info Unity 
2023-12-30 14:33:34.006 20714 20757 Info Unity after gpu manager
2023-12-30 14:33:34.006 20714 20757 Info Unity Mediapipe.Unity.Tutorial.<Start>d__14:MoveNext()
2023-12-30 14:33:34.006 20714 20757 Info Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2023-12-30 14:33:34.006 20714 20757 Info Unity 
2023-12-30 14:33:34.014 20714 20757 Info Unity after textures
2023-12-30 14:33:34.014 20714 20757 Info Unity Mediapipe.Unity.Tutorial.<Start>d__14:MoveNext()
2023-12-30 14:33:34.014 20714 20757 Info Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2023-12-30 14:33:34.014 20714 20757 Info Unity 
2023-12-30 14:33:34.029 20714 20757 Verbose Unity-ARCore    Configuration property LightEstimationMode changed: 1 => 0
2023-12-30 14:33:34.029 20714 20757 Verbose Unity-ARCore    Configuration property PlaneFindingMode changed: 3 => 0
2023-12-30 14:33:34.029 20714 20757 Verbose Unity-ARCore    Configuration property FocusMode changed: 0 => 1
2023-12-30 14:33:34.029 20714 20757 Verbose Unity-ARCore Configuration will be updated with these features enabled:
2023-12-30 14:33:34.029 20714 20757 Verbose Unity-ARCore    RearCamera
2023-12-30 14:33:34.029 20714 20757 Verbose Unity-ARCore    PositionAndRotation
2023-12-30 14:33:34.029 20714 20757 Verbose Unity-ARCore    AutoFocus
2023-12-30 14:33:34.029 20714 20757 Verbose Unity-ARCore OnBeforeSetConfiguration
2023-12-30 14:33:34.037 20714 20757 Verbose Unity-ARCore    AugmentedImageDatabase: 0xb400006f8cb6a750
2023-12-30 14:33:34.037 20714 20757 Verbose Unity-ARCore    LightEstimationMode: 0
2023-12-30 14:33:34.037 20714 20757 Verbose Unity-ARCore    PlaneFindingMode: 0
2023-12-30 14:33:34.037 20714 20757 Verbose Unity-ARCore    UpdateMode: 0
2023-12-30 14:33:34.037 20714 20757 Verbose Unity-ARCore    FocusMode: 1
2023-12-30 14:33:34.037 20714 20757 Verbose Unity-ARCore    AugmentedFaceMode: 0
2023-12-30 14:33:34.037 20714 20757 Verbose Unity-ARCore    DepthMode: 0
2023-12-30 14:33:34.037 20714 20757 Verbose Unity-ARCore    InstantPlacementMode: 0
2023-12-30 14:33:34.037 20714 20757 Info native I0000 00:00:1703975614.037273   20757 session.cc:594] New session config:
2023-12-30 14:33:34.037 20714 20757 Info native ArConfig
2023-12-30 14:33:34.037 20714 20757 Info native  augmented_face_mode:           AR_AUGMENTED_FACE_MODE_DISABLED
2023-12-30 14:33:34.037 20714 20757 Info native  augmented_image_database:      [0 images]
2023-12-30 14:33:34.037 20714 20757 Info native  cloud_anchor_mode:             AR_CLOUD_ANCHOR_MODE_DISABLED
2023-12-30 14:33:34.037 20714 20757 Info native  depth_mode:                    AR_DEPTH_MODE_DISABLED
2023-12-30 14:33:34.037 20714 20757 Info native  semantic_mode:                AR_SEMANTIC_MODE_DISABLED
2023-12-30 14:33:34.037 20714 20757 Info native  focus_mode:                    AR_FOCUS_MODE_AUTO
2023-12-30 14:33:34.037 20714 20757 Info native  geospatial_mode:               AR_GEOSPATIAL_MODE_DISABLED
2023-12-30 14:33:34.037 20714 20757 Info native  instant_placement_mode:        AR_INSTANT_PLACEMENT_MODE_DISABLED
2023-12-30 14:33:34.037 20714 20757 Info native  light_estimation_mode:         AR_LIGHT_ESTIMATION_MODE_DISABLED
2023-12-30 14:33:34.037 20714 20757 Info native  plane_finding_mode:            AR_PLANE_FINDING_MODE_DISABLED
2023-12-30 14:33:34.037 20714 20757 Info native  update_mode:                   AR_UPDATE_MODE_BLOCKING
2023-12-30 14:33:34.037 20714 20757 Info native I0000 00:00:1703975614.037369   20757 session.cc:587] Session::CheckAndWriteCurrentConfig returning OK.
2023-12-30 14:33:34.051 20714 20727 Debug CompatibilityChangeReporter Compat change id reported: 244358506; UID 10336; state: DISABLED
2023-12-30 14:33:34.062 20714 20727 Info CameraManagerGlobal Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPEN for client com.DefaultCompany.Deep API Level 2 User Id 0
2023-12-30 14:33:34.173 20714 20757 Info Unity before config
2023-12-30 14:33:34.173 20714 20757 Info Unity Mediapipe.Unity.Tutorial.<Start>d__14:MoveNext()
2023-12-30 14:33:34.173 20714 20757 Info Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2023-12-30 14:33:34.173 20714 20757 Info Unity 
2023-12-30 14:33:34.193 20714 20757 Info Unity before validatedGraphConfig
2023-12-30 14:33:34.193 20714 20757 Info Unity Mediapipe.Unity.Tutorial.<Start>d__14:MoveNext()
2023-12-30 14:33:34.193 20714 20757 Info Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2023-12-30 14:33:34.193 20714 20757 Info Unity 
2023-12-30 14:33:34.194 20714 20757 Info Unity before Initialize
2023-12-30 14:33:34.194 20714 20757 Info Unity Mediapipe.Unity.Tutorial.<Start>d__14:MoveNext()
2023-12-30 14:33:34.194 20714 20757 Info Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2023-12-30 14:33:34.194 20714 20757 Info Unity 
2023-12-30 14:33:34.201 20714 20757 Info Unity before CalculatorGraph
2023-12-30 14:33:34.201 20714 20757 Info Unity Mediapipe.Unity.Tutorial.<Start>d__14:MoveNext()
2023-12-30 14:33:34.201 20714 20757 Info Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2023-12-30 14:33:34.201 20714 20757 Info Unity 
2023-12-30 14:33:34.210 20714 20757 Info Unity before SetGpuResources
2023-12-30 14:33:34.210 20714 20757 Info Unity Mediapipe.Unity.Tutorial.<Start>d__14:MoveNext()
2023-12-30 14:33:34.210 20714 20757 Info Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2023-12-30 14:33:34.210 20714 20757 Info Unity 
2023-12-30 14:33:34.217 20714 20757 Info Unity after SetGpuResources
2023-12-30 14:33:34.217 20714 20757 Info Unity Mediapipe.Unity.Tutorial.<Start>d__14:MoveNext()
2023-12-30 14:33:34.217 20714 20757 Info Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2023-12-30 14:33:34.217 20714 20757 Info Unity 
2023-12-30 14:33:34.223 20714 20757 Info native I20231230 14:33:34.223248 20757 gl_context_egl.cc:84] Successfully initialized EGL. Major : 1 Minor: 5
2023-12-30 14:33:34.224 20714 21106 Info native I20231230 14:33:34.224568 21106 gl_context.cc:342] GL version: 3.2 (OpenGL ES 3.2 V@0530.0 (GIT@12ae96cb63, I409bbc12eb, 1694603898) (Date:09/13/23)), renderer: Adreno (TM) 660
2023-12-30 14:33:34.224 20714 20757 Info native I20231230 14:33:34.224715 20757 gl_context_egl.cc:84] Successfully initialized EGL. Major : 1 Minor: 5
2023-12-30 14:33:34.225 20714 21107 Info native I20231230 14:33:34.225728 21107 gl_context.cc:342] GL version: 3.2 (OpenGL ES 3.2 V@0530.0 (GIT@12ae96cb63, I409bbc12eb, 1694603898) (Date:09/13/23)), renderer: Adreno (TM) 660
2023-12-30 14:33:34.251 20714 21029 Info tflite Initialized TensorFlow Lite runtime.
2023-12-30 14:33:34.251 20714 20757 Error Unity NullReferenceException: Object reference not set to an instance of an object.
2023-12-30 14:33:34.251 20714 20757 Error Unity   at Mediapipe.Unity.Tutorial.FaceMesh+<Start>d__14.MoveNext () [0x00000] in <00000000000000000000000000000000>:0 
2023-12-30 14:33:34.251 20714 20757 Error Unity   at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00000] in <00000000000000000000000000000000>:0 
2023-12-30 14:33:34.251 20714 20757 Error Unity 
2023-12-30 14:33:34.251 20714 21029 Info tflite Replacing 164 out of 164 node(s) with delegate (unknown) node, yielding 1 partitions for the whole graph.
2023-12-30 14:33:34.253 20714 21029 Info tflite Replacing 164 out of 164 node(s) with delegate (unknown) node, yielding 1 partitions for the whole graph.
2023-12-30 14:33:34.259 20714 21029 Warn libc Access denied finding property "ro.vendor.gfx.32bit.target"
2023-12-30 14:33:34.332 20714 20957 Warn ultCompany.Deep Long monitor contention with owner DefaultDispatcher-worker-5 (21001) at void android.hardware.camera2.impl.CameraDeviceImpl.waitUntilIdle()(CameraDeviceImpl.java:1420) waiters=0 in void android.hardware.camera2.impl.CameraDeviceImpl$4.run() for 262ms
2023-12-30 14:33:34.346 20714 20733 Info CameraManagerGlobal Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client com.DefaultCompany.Deep API Level 2 User Id 0
2023-12-30 14:33:34.437 20714 20999 Info native I0000 00:00:1703975614.437533   20999 logger.h:28] DataSourceMetrics: kFirstGlCallback: 514.121041ms
2023-12-30 14:33:34.539 20714 21159 Info native I0000 00:00:1703975614.539709   21159 timebase_helpers.cc:171] Timebase offset initialized to 0
2023-12-30 14:33:34.539 20714 21159 Info native I0000 00:00:1703975614.539769   21159 logger.h:28] DataSourceMetrics: kFirstImageCallback: 616.357292ms
2023-12-30 14:33:34.545 20714 20976 Warn native W0000 00:00:1703975614.545660   20976 feature_matcher_and_filter_utils.cc:269] INVALID_ARGUMENT: integration window start at 0
2023-12-30 14:33:34.545 20714 20976 Warn native === Source Location Trace: ===
2023-12-30 14:33:34.545 20714 20976 Warn native third_party/redwood/perception/imu_processing/imu_integrator/imu_integrator_utils.cc:97
2023-12-30 14:33:34.545 20714 20976 Warn native  Use identity R.
2023-12-30 14:33:34.546 20714 20971 Info native I0000 00:00:1703975614.546750   20971 model_inference_cpu.cc:106] Successfully started the ArDepthCalculator graph.
2023-12-30 14:33:34.546 20714 21160 Info native I0000 00:00:1703975614.546761   21160 jni_util.cc:41] GetEnv: not attached
2023-12-30 14:33:34.548 20714 20977 Info native I0000 00:00:1703975614.548141   20977 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
2023-12-30 14:33:34.554 20714 21160 Info tflite Replacing 299 out of 299 node(s) with delegate (TfLiteXNNPackDelegate) node, yielding 1 partitions for the whole graph.
2023-12-30 14:33:34.563 20714 21159 Error native E0000 00:00:1703975614.563327   21159 static_feature_frame_selector.cc:79] Unknown old image at: 10745438243079 ns
2023-12-30 14:33:34.563 20714 21159 Warn native W0000 00:00:1703975614.563559   21159 session.cc:1240] INVALID_ARGUMENT: Sensor timestamps must be strictly monotonically increasing, instead received 10745451068019 -> 10745417739529; Failed to add timestamp info to external data synchronizer.
2023-12-30 14:33:34.563 20714 21159 Warn native === Source Location Trace: ===
2023-12-30 14:33:34.563 20714 21159 Warn native third_party/arcore/ar/video/external_data_sync.cc:36
2023-12-30 14:33:34.563 20714 21159 Error native E0000 00:00:1703975614.563591   21159 static_feature_frame_selector.cc:79] Unknown old image at: 10745438243079 ns
JustinPeng2007 commented 8 months ago

I have taken some time and I have modified my code to be similar to your example face detection code. See below.

Problems:

  1. However, after adding various debug.log in many locations, I was able to spot that it was stuck at:

    if (outputVideoStream.TryGetNext(out var outputVideo))

    1. Through my debug.log, I found it was also NOT calling OnCameraFrameReceived for some reason. It isn't even stuck, it was just never called at all.

    P.S I have checked the logs, however, there was not a single error output. The previous error I have mentioned have been resolved. It just appears to be stuck at if (outputVideoStream.TryGetNext(out var outputVideo))

private IEnumerator Start()
    {
      _cameraManager.frameReceived += OnCameraFrameReceived;

      yield return GpuManager.Initialize();
      Debug.Log("after gpu manager");

      if (!GpuManager.IsInitialized)
      {
        throw new System.Exception("Failed to initialize GPU resources");
      }

      _screen.rectTransform.sizeDelta = new Vector2(_width, _height);

      _inputTexture = new Texture2D(_width, _height, TextureFormat.RGBA32, false);
      _inputPixelData = new Color32[_width * _height];
      _outputTexture = new Texture2D(_width, _height, TextureFormat.RGBA32, false);
      _outputPixelData = new Color32[_width * _height];

      _screen.texture = _outputTexture;

      Debug.Log("after textures");

      var _resourceManager = new StreamingAssetsResourceManager();
      yield return _resourceManager.PrepareAssetAsync("face_detection_short_range.bytes");
      yield return _resourceManager.PrepareAssetAsync("face_landmark_with_attention.bytes");

      var stopwatch = new Stopwatch();

      Debug.Log("before config");
      //_graph = new CalculatorGraph(_configAsset.text);

      var config = CalculatorGraphConfig.Parser.ParseFromTextFormat(_configAsset.text);
      Debug.Log("before validatedGraphConfig");
      using (var validatedGraphConfig = new ValidatedGraphConfig())
      {
        Debug.Log("before Initialize");
        validatedGraphConfig.Initialize(config).AssertOk();
        Debug.Log("before CalculatorGraph");
        _graph = new CalculatorGraph(validatedGraphConfig.Config());
      }

      Debug.Log("before SetGpuResources");
      _graph = new CalculatorGraph(_configAsset.text);
      _graph.SetGpuResources(GpuManager.GpuResources).AssertOk();
      Debug.Log("after SetGpuResources");

      var outputVideoStream = new OutputStream<ImageFramePacket, ImageFrame>(_graph, "output_video");
      var multiFaceLandmarksStream = new OutputStream<NormalizedLandmarkListVectorPacket, List<NormalizedLandmarkList>>(_graph, "multi_face_landmarks");
      outputVideoStream.StartPolling().AssertOk();
      multiFaceLandmarksStream.StartPolling().AssertOk();
      _graph.StartRun().AssertOk();
      stopwatch.Start();

      var screenRect = _screen.GetComponent<RectTransform>().rect;

      while (true)
      {
        Debug.Log("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");

        yield return new WaitForEndOfFrame();

        Debug.Log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>waiting");

        if (outputVideoStream.TryGetNext(out var outputVideo))
        {
          Debug.Log("----------------------------------------------------------------------------");
          if (outputVideo.TryReadPixelData(_outputPixelData))
          {
            Debug.Log(")))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))");
            _outputTexture.SetPixels32(_outputPixelData);
            Debug.Log("READDD");
            _outputTexture.Apply();
            Debug.Log("==========================================================");
          }
        }

        Debug.Log("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");

    }
    }

  private void OnDestroy()
  {
    _cameraManager.frameReceived -= OnCameraFrameReceived;

    if (_graph != null)
    {
      try
      {
        _graph.CloseInputStream("input_video").AssertOk();
        _graph.WaitUntilDone().AssertOk();
      }
      finally
      {

        _graph.Dispose();
      }
    }
    GpuManager.Shutdown();
  }

  private unsafe void OnCameraFrameReceived(ARCameraFrameEventArgs eventArgs)
  {
    Debug.Log("*******************************************************************");
    XRCpuImage image;
    if (!_cameraManager.TryAcquireLatestCpuImage(out image))
      return;

    InitBuffer(image);

    var conversionParams = new XRCpuImage.ConversionParams
    (
        image,
        TextureFormat.RGBA32,
        XRCpuImage.Transformation.MirrorY

    );

    if (m_Texture == null || m_Texture.width != image.width || m_Texture.height != image.height)
    {
      m_Texture = new Texture2D(conversionParams.outputDimensions.x,
                                conversionParams.outputDimensions.y,
                                conversionParams.outputFormat, false);

    }
    var ptr = (IntPtr)NativeArrayUnsafeUtility.GetUnsafePtr(_buffer);
    image.Convert(conversionParams, ptr, _buffer.Length);

    m_Texture.LoadRawTextureData(_buffer);
    m_Texture.Apply();
    //mRenderer.material.mainTexture = m_Texture;

    image.Dispose();

    var imageFrame = new ImageFrame(ImageFormat.Types.Format.Srgba, _width, _height, _width * 4, _buffer);
    var currentTimestamp = stopwatch.ElapsedTicks / (System.TimeSpan.TicksPerMillisecond / 1000);
    _graph.AddPacketToInputStream("input_video", new ImageFramePacket(imageFrame, new Timestamp(currentTimestamp))).AssertOk();

    _buffer.Dispose();
  }

  private void InitBuffer(XRCpuImage image)
  {
    var length = image.width * image.height * 4;
    if (_buffer == null || _buffer.Length != length)
    {
      _buffer = new NativeArray<byte>(length, Allocator.Persistent, NativeArrayOptions.UninitializedMemory);
    }
  }
homuler commented 8 months ago

I have checked the logs, however, there was not a single error output.

How about running adb -s [device_id] logcat Unity:V native:V tflite:V CRASH:E AndroidRuntime:E "*:S"?

It just appears to be stuck at if (outputVideoStream.TryGetNext(out var outputVideo))

Is the plugin version correct? > v0.12.0 TryGetNext can block the thread when there's no result, but if you're using the latest version, I don't know why it blocks in your case.

JustinPeng2007 commented 8 months ago

My Plugin version is indeed 0.12.0.

I have run the command. I do not see any obvious errors, unless I am missing something.

Do you mind if you can take a quick look at my code? Perhaps I am missing something critical?

Here is the log output of the command that you gave, it still appears it is stuck at TryGetNext...

00:00:1704080989.381633   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:49.480 17246 17400 I native  : I0000 00:00:1704080989.480130   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:49.504 17246 17397 E native  : E0000 00:00:1704080989.503970   17397 motion_tracking_context.cc:2537] NOT_FOUND: Not able to find any depth measurements on feature measurements at timestamp 116120096247838
12-31 19:49:49.504 17246 17397 E native  : === Source Location Trace: ===
12-31 19:49:49.504 17246 17397 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider_utils.cc:40612-31 19:49:49.504 17246 17397 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:209
12-31 19:49:49.504 17246 17392 E native  : E0000 00:00:1704080989.504199   17392 motion_tracking_context.cc:2537] NOT_FOUND: Failed to find an image with the requested timestamp.
12-31 19:49:49.504 17246 17392 E native  : === Source Location Trace: ===
12-31 19:49:49.504 17246 17392 E native  : third_party/redwood/perception/feature_processing/image_buffer.cc:41
12-31 19:49:49.504 17246 17392 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:168
12-31 19:49:49.583 17246 17400 I native  : I0000 00:00:1704080989.583711   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:49.740 17246 17400 I native  : I0000 00:00:1704080989.740047   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:49.750 17246 17394 E native  : E0000 00:00:1704080989.750051   17394 motion_tracking_context.cc:2537] NOT_FOUND: Not able to find any depth measurements on feature measurements at timestamp 116120296693358
12-31 19:49:49.750 17246 17394 E native  : === Source Location Trace: ===
12-31 19:49:49.750 17246 17394 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider_utils.cc:40612-31 19:49:49.750 17246 17394 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:209
12-31 19:49:49.750 17246 17395 E native  : E0000 00:00:1704080989.750282   17395 motion_tracking_context.cc:2537] NOT_FOUND: Failed to find an image with the requested timestamp.
12-31 19:49:49.750 17246 17395 E native  : === Source Location Trace: ===
12-31 19:49:49.750 17246 17395 E native  : third_party/redwood/perception/feature_processing/image_buffer.cc:41
12-31 19:49:49.750 17246 17395 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:168
12-31 19:49:49.781 17246 17400 I native  : I0000 00:00:1704080989.781444   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:49.900 17246 17400 I native  : I0000 00:00:1704080989.900070   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:49.989 17246 17397 E native  : E0000 00:00:1704080989.989666   17397 motion_tracking_context.cc:2537] NOT_FOUND: Not able to find any depth measurements on feature measurements at timestamp 116120497146848
12-31 19:49:49.989 17246 17397 E native  : === Source Location Trace: ===
12-31 19:49:49.989 17246 17397 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider_utils.cc:40612-31 19:49:49.989 17246 17397 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:209
12-31 19:49:49.990 17246 17393 E native  : E0000 00:00:1704080989.990156   17393 motion_tracking_context.cc:2537] NOT_FOUND: Failed to find an image with the requested timestamp.
12-31 19:49:49.990 17246 17393 E native  : === Source Location Trace: ===
12-31 19:49:49.990 17246 17393 E native  : third_party/redwood/perception/feature_processing/image_buffer.cc:41
12-31 19:49:49.990 17246 17393 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:168
12-31 19:49:49.990 17246 17394 E native  : E0000 00:00:1704080989.990288   17394 motion_tracking_context.cc:2537] NOT_FOUND: Failed to find an image with the requested timestamp.
12-31 19:49:49.990 17246 17394 E native  : === Source Location Trace: ===
12-31 19:49:49.990 17246 17394 E native  : third_party/redwood/perception/feature_processing/image_buffer.cc:41
12-31 19:49:49.990 17246 17394 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:168
12-31 19:49:50.011 17246 17400 I native  : I0000 00:00:1704080990.011297   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:50.092 17246 17400 I native  : I0000 00:00:1704080990.092668   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:50.192 17246 17400 I native  : I0000 00:00:1704080990.192587   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:50.273 17246 17392 E native  : E0000 00:00:1704080990.272927   17392 motion_tracking_context.cc:2537] NOT_FOUND: Not able to find any depth measurements on feature measurements at timestamp 116120797829973
12-31 19:49:50.273 17246 17392 E native  : === Source Location Trace: ===
12-31 19:49:50.273 17246 17392 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider_utils.cc:40612-31 19:49:50.273 17246 17392 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:209
12-31 19:49:50.273 17246 17393 E native  : E0000 00:00:1704080990.273189   17393 motion_tracking_context.cc:2537] NOT_FOUND: Failed to find an image with the requested timestamp.
12-31 19:49:50.273 17246 17393 E native  : === Source Location Trace: ===
12-31 19:49:50.273 17246 17393 E native  : third_party/redwood/perception/feature_processing/image_buffer.cc:41
12-31 19:49:50.273 17246 17393 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:168
12-31 19:49:50.273 17246 17394 E native  : E0000 00:00:1704080990.273323   17394 motion_tracking_context.cc:2537] NOT_FOUND: Failed to find an image with the requested timestamp.
12-31 19:49:50.273 17246 17394 E native  : === Source Location Trace: ===
12-31 19:49:50.273 17246 17394 E native  : third_party/redwood/perception/feature_processing/image_buffer.cc:41
12-31 19:49:50.273 17246 17394 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:168
12-31 19:49:50.290 17246 17400 I native  : I0000 00:00:1704080990.290243   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:50.425 17246 17400 I native  : I0000 00:00:1704080990.425888   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:50.511 17246 17397 E native  : E0000 00:00:1704080990.511561   17397 motion_tracking_context.cc:2537] NOT_FOUND: Failed to find an image with the requested timestamp.
12-31 19:49:50.511 17246 17397 E native  : === Source Location Trace: ===
12-31 19:49:50.511 17246 17397 E native  : third_party/redwood/perception/feature_processing/image_buffer.cc:41
12-31 19:49:50.511 17246 17397 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:168
12-31 19:49:50.547 17246 17400 I native  : I0000 00:00:1704080990.547795   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:50.671 17246 17400 I native  : I0000 00:00:1704080990.671384   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:50.746 17246 17400 I native  : I0000 00:00:1704080990.746376   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:50.770 17246 17394 E native  : E0000 00:00:1704080990.770155   17394 motion_tracking_context.cc:2537] NOT_FOUND: Failed to find an image with the requested timestamp.
12-31 19:49:50.770 17246 17394 E native  : === Source Location Trace: ===
12-31 19:49:50.770 17246 17394 E native  : third_party/redwood/perception/feature_processing/image_buffer.cc:41
12-31 19:49:50.770 17246 17394 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:168
12-31 19:49:50.770 17246 17397 E native  : E0000 00:00:1704080990.770431   17397 motion_tracking_context.cc:2537] NOT_FOUND: Failed to find an image with the requested timestamp.
12-31 19:49:50.770 17246 17397 E native  : === Source Location Trace: ===
12-31 19:49:50.770 17246 17397 E native  : third_party/redwood/perception/feature_processing/image_buffer.cc:41
12-31 19:49:50.770 17246 17397 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:168
12-31 19:49:50.823 17246 17400 I native  : I0000 00:00:1704080990.823451   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:50.926 17246 17400 I native  : I0000 00:00:1704080990.926008   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:51.048 17246 17398 E native  : E0000 00:00:1704080991.047920   17398 vio_initializer.cc:804] INTERNAL: [SSBA Initialization] Failed: Image has too few landmarks. [Required: 9, Actual: 0].;
12-31 19:49:51.048 17246 17398 E native  :  Initializer's SSBA failed to produce a valid output.
12-31 19:49:51.048 17246 17398 E native  : === Source Location Trace: ===
12-31 19:49:51.048 17246 17398 E native  : third_party/redwood/perception/odometry/visual_inertial_initialization/bundle_adjustment_initializer.cc:324
12-31 19:49:51.048 17246 17400 I native  : I0000 00:00:1704080991.048471   17400 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:49:51.049 17246 17397 E native  : E0000 00:00:1704080991.049938   17397 motion_tracking_context.cc:2537] NOT_FOUND: Failed to find an image with the requested timestamp.
12-31 19:49:51.049 17246 17397 E native  : === Source Location Trace: ===
12-31 19:49:51.049 17246 17397 E native  : third_party/redwood/perception/feature_processing/image_buffer.cc:41
12-31 19:49:51.049 17246 17397 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:168
12-31 19:49:51.141 17246 17398 I native  : I0000 00:00:1704080991.141798   17398 bundle_adjustment_initializer.cc:364] Intrinsic vector size of the camera 0 is 7
12-31 19:49:51.235 17246 17398 I native  : I0000 00:00:1704080991.235405   17398 bundle_adjustment_initializer.cc:600] [SSBA Solver] Initializer did not converge: Maximum number of iterations reached. Number of iterations: 18.
12-31 19:49:51.236 17246 17398 W native  : W0000 00:00:1704080991.236476   17398 bundle_adjustment_initializer.cc:613] [SSBA Depth Refinement] No inlier depth observations for SSBA frames.
12-31 19:49:51.240 17246 17398 I native  : I0000 00:00:1704080991.240878   17398 bundle_adjustment_initialization.h:143] Number of measurements used in BA initialization for temporal landmarks: 300
12-31 19:49:51.241 17246 17398 I native  : I0000 00:00:1704080991.240985   17398 bundle_adjustment_initialization.h:145] Number of good measurements (i.e., reprojection errors <= 3 pixels) in BA initialization for temporal landmarks: 253
12-31 19:49:51.371 17246 17392 E native  : E0000 00:00:1704080991.371634   17392 motion_tracking_context.cc:2537] NOT_FOUND: Failed to find an image with the requested timestamp.
12-31 19:49:51.371 17246 17392 E native  : === Source Location Trace: ===
12-31 19:49:51.371 17246 17392 E native  : third_party/redwood/perception/feature_processing/image_buffer.cc:41
12-31 19:49:51.371 17246 17392 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:168
12-31 19:49:51.372 17246 17395 E native  : E0000 00:00:1704080991.372033   17395 motion_tracking_context.cc:2537] NOT_FOUND: Failed to find an image with the requested timestamp.
12-31 19:49:51.372 17246 17395 E native  : === Source Location Trace: ===
12-31 19:49:51.372 17246 17395 E native  : third_party/redwood/perception/feature_processing/image_buffer.cc:41
12-31 19:49:51.372 17246 17395 E native  : third_party/arcore/ar/perception/feature_track_ml_depth_provider.cc:168
12-31 19:49:51.765 17246 17246 D Unity   : onActivityResumed: com.unity3d.player.UnityPlayerActivity@a5491c0
12-31 19:49:51.766 17246 17246 I Unity   : onResume
12-31 19:49:51.908 17246 17246 I Unity   : windowFocusChanged: true
12-31 19:49:52.897 17246 17246 I Unity   : windowFocusChanged: false
12-31 19:49:53.241 17246 17246 D Unity   : PersistentUnitySurface.preserveContent: android.view.SurfaceView{5606743 VFE...... .F....I. 0,0-1080,2400 #7f02000c app:id/unitySurfaceView aid=1073741824}
12-31 19:49:53.241 17246 17246 D Unity   : PlacerHoler view already exists
12-31 19:49:54.296 17246 17398 W native  : W0000 00:00:1704080994.296673   17398 vio_fault_detector.cc:163] VIO is moving fast with speed (m/s): 0.856104 but RANSAC failed to provide valid frame to frame translation by reporting degeneracy.12-31 19:49:54.395 17246 17398 W native  : W0000 00:00:1704080994.395802   17398 vio_fault_detector.cc:163] VIO is moving fast with speed (m/s): 1.82181 but RANSAC failed to provide valid frame to frame translation by reporting degeneracy.
12-31 19:51:33.935 18909 18909 D Unity   : CommandLine:
12-31 19:51:33.945 18909 18909 D Unity   : onActivityResumed: com.unity3d.player.UnityPlayerActivity@a5491c0
12-31 19:51:33.945 18909 18909 I Unity   : onResume
12-31 19:51:33.982 18909 18940 D Unity   : SetWindow 0 0xb400006feca366d0
12-31 19:51:33.982 18909 18940 D Unity   : SetWindow 0 0xb400006feca366d0
12-31 19:51:34.010 18909 18909 I Unity   : windowFocusChanged: true
12-31 19:51:34.020 18909 18940 I Unity   : MemoryManager: Using 'Dynamic Heap' Allocator.
12-31 19:51:34.020 18909 18940 D Unity   : [UnityMemory] Configuration Parameters - Can be set up in boot.config
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-bucket-allocator-granularity=16"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-bucket-allocator-bucket-count=8"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-bucket-allocator-block-size=4194304"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-bucket-allocator-block-count=1"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-main-allocator-block-size=16777216"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-thread-allocator-block-size=16777216"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-gfx-main-allocator-block-size=16777216"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-gfx-thread-allocator-block-size=16777216"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-cache-allocator-block-size=4194304"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-typetree-allocator-block-size=2097152"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-profiler-bucket-allocator-granularity=16"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-profiler-bucket-allocator-bucket-count=8"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-profiler-bucket-allocator-block-size=4194304"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-profiler-bucket-allocator-block-count=1"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-profiler-allocator-block-size=16777216"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-profiler-editor-allocator-block-size=1048576"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-temp-allocator-size-main=4194304"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-job-temp-allocator-block-size=2097152"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-job-temp-allocator-block-size-background=1048576"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-job-temp-allocator-reduction-small-platforms=262144"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-temp-allocator-size-background-worker=32768"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-temp-allocator-size-job-worker=262144"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-temp-allocator-size-preload-manager=262144"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-temp-allocator-size-nav-mesh-worker=65536"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-temp-allocator-size-audio-worker=65536"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-temp-allocator-size-gfx=262144"
12-31 19:51:34.020 18909 18940 D Unity   :     "memorysetup-temp-allocator-size-cloud-worker=32768"
12-31 19:51:34.030 18909 18940 D Unity   : Enabling Unity systrace
12-31 19:51:34.037 18909 18940 D Unity   : [VFS] Mount /data/app/~~dYYrTy6AvsHfYohXCrM3Ug==/com.DefaultCompany.Deep-QWr_4u_E353I_yIpxetR4A==/base.apk
12-31 19:51:34.037 18909 18940 D Unity   : Loading player data from /data/app/~~dYYrTy6AvsHfYohXCrM3Ug==/com.DefaultCompany.Deep-QWr_4u_E353I_yIpxetR4A==/base.apk/assets/bin/Data/data.unity3d
12-31 19:51:34.042 18909 18940 I Unity   : SystemInfo CPU = ARM64 FP ASIMD AES, Cores = 8, Memory = 7362mb
12-31 19:51:34.042 18909 18940 I Unity   : SystemInfo ARM big.LITTLE configuration: 4 big (mask: 0xf0), 4 little (mask: 0xf)
12-31 19:51:34.042 18909 18940 I Unity   : ApplicationInfo com.DefaultCompany.Deep version 0.1
12-31 19:51:34.042 18909 18940 I Unity   : Built from '2021.3/staging' branch, Version '2021.3.14f1 (eee1884e7226)', Build type 'Development', Scripting Backend 'il2cpp', CPU 'arm64-v8a', Stripping 'Enabled'
12-31 19:51:34.043 18909 18940 D Unity   : Same Unity build, not extracting il2cpp resources.
12-31 19:51:34.047 18909 18940 D Unity   : Found 1 interfaces on host :
12-31 19:51:34.047 18909 18940 D Unity   :  0) 10.0.0.235
12-31 19:51:34.047 18909 18940 D Unity   :
12-31 19:51:34.049 18909 18940 D Unity   : Multi-casting "[IP] 10.0.0.235 [Port] 55000 [Flags] 2 [Guid] 3317657416 [EditorId] 726864553 [Version] 1048832 [Id] AndroidPlayer(11,samsung_SM-G991W@10.0.0.235) [Debug] 0 [PackageName] AndroidPlayer [ProjectName] Deep" to [225.0.0.222:54997]...
12-31 19:51:34.123 18909 18940 D Unity   : [EGL] Attaching window :0xb400006feca366d0
12-31 19:51:34.123 18909 18940 D Unity   : InitializeScriptEngine OK (0x70b8203fc0)
12-31 19:51:34.129 18909 18940 D Unity   : Loading player data from assets/bin/Data/data.unity3d
12-31 19:51:34.130 18909 18940 D Unity   : PlayerInitEngineNoGraphics OK
12-31 19:51:34.130 18909 18940 I Unity   : Company Name: DefaultCompany
12-31 19:51:34.130 18909 18940 I Unity   : Product Name: Deep
12-31 19:51:34.130 18909 18940 D Unity   : AndroidGraphics::Startup window =  0xb400006feca366d0
12-31 19:51:34.130 18909 18940 D Unity   : [EGL] Attaching window :0xb400006feca366d0
12-31 19:51:34.132 18909 18940 D Unity   : [Subsystems] Discovering subsystems at path /data/app/~~dYYrTy6AvsHfYohXCrM3Ug==/com.DefaultCompany.Deep-QWr_4u_E353I_yIpxetR4A==/base.apk/assets/bin/Data/UnitySubsystems
12-31 19:51:34.132 18909 18940 D Unity   : [Subsystems] No descriptors matched for  examples in /data/app/~~dYYrTy6AvsHfYohXCrM3Ug==/com.DefaultCompany.Deep-QWr_4u_E353I_yIpxetR4A==/base.apk/assets/bin/Data/UnitySubsystems/UnityARCore/UnitySubsystemsManifest.json.
12-31 19:51:34.132 18909 18940 D Unity   : [Subsystems] 1 'inputs' descriptors matched in /data/app/~~dYYrTy6AvsHfYohXCrM3Ug==/com.DefaultCompany.Deep-QWr_4u_E353I_yIpxetR4A==/base.apk/assets/bin/Data/UnitySubsystems/UnityARCore/UnitySubsystemsManifest.json
12-31 19:51:34.132 18909 18940 D Unity   : [Subsystems] No descriptors matched for  displays in /data/app/~~dYYrTy6AvsHfYohXCrM3Ug==/com.DefaultCompany.Deep-QWr_4u_E353I_yIpxetR4A==/base.apk/assets/bin/Data/UnitySubsystems/UnityARCore/UnitySubsystemsManifest.json.
12-31 19:51:34.132 18909 18940 D Unity   : [Subsystems] No descriptors matched for  meshings in /data/app/~~dYYrTy6AvsHfYohXCrM3Ug==/com.DefaultCompany.Deep-QWr_4u_E353I_yIpxetR4A==/base.apk/assets/bin/Data/UnitySubsystems/UnityARCore/UnitySubsystemsManifest.json.
12-31 19:51:34.137 18909 18940 D Unity   : [EGL] Request: ES 3.2 RGB0 000 0/0
12-31 19:51:34.137 18909 18940 D Unity   : [EGL] Checking ES 3.2 support...
12-31 19:51:34.138 18909 18940 D Unity   : [EGL] ES 3.2 support detected
12-31 19:51:34.138 18909 18940 D Unity   : [EGL] Found: ID[1] ES 3.2 RGB16 565 0/0
12-31 19:51:34.138 18909 18940 D Unity   : GfxDevice: creating device client; threaded=1; jobified=0
12-31 19:51:34.138 18909 18940 D Unity   : [EGL] Request: ES 3.2 RGB0 000 0/0
12-31 19:51:34.138 18909 18940 D Unity   : [EGL] Found: ID[1] ES 3.2 RGB16 565 0/0
12-31 19:51:34.138 18909 18940 D Unity   : [EGL] Request: ES 3.0 RGBA32 8888 0/0
12-31 19:51:34.139 18909 18940 D Unity   : [EGL] Found: ID[9] ES 3.0 RGBA32 8888 0/0
12-31 19:51:34.140 18909 18940 D Unity   : ANativeWindow: (1080/2400) RequestedResolution: (0/0) RenderingResolution: (0/0) EGLSurface: (1080/2400)
12-31 19:51:34.143 18909 18940 D Unity   : Renderer: Adreno (TM) 660
12-31 19:51:34.143 18909 18940 D Unity   : Vendor:   Qualcomm
12-31 19:51:34.143 18909 18940 D Unity   : Version:  OpenGL ES 3.2 V@0530.0 (GIT@12ae96cb63, I409bbc12eb, 1694603898) (Date:09/13/23)
12-31 19:51:34.143 18909 18940 D Unity   : GLES:     3
12-31 19:51:34.143 18909 18940 D Unity   :  GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_half_float GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_compressed_ETC1_RGB8_texture GL_AMD_compressed_ATC_texture GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_OES_texture_compression_astc GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_read_format_bgra GL_OES_texture_3D GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_QCOM_alpha_test GL_OES_depth24 GL_OES_packed_depth_stencil GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_EXT_sRGB GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_EXT_texture_type_2_10_10_10_REV GL_EXT_texture_sRGB_decode GL_EXT_texture_format_sRGB_override GL_OES_element_index_uint GL_EXT_copy_image GL_EXT_geometry_shader GL_EXT_tessellation_shader GL_OES_texture_stencil8 GL_EXT_shader_io_blocks GL_OES_shader_image_atomic GL_OES_sample_variables GL_EXT_texture_b
12-31 19:51:34.143 18909 18940 D Unity   : order_clamp GL_EXT_EGL_image_external_wrap_modes GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_shader_multisample_interpolation GL_EXT_texture_cube_map_array GL_EXT_draw_buffers_indexed GL_EXT_gpu_shader5 GL_EXT_robustness GL_EXT_texture_buffer GL_EXT_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_texture_storage_multisample_2d_array GL_OES_sample_shading GL_OES_get_program_binary GL_EXT_debug_label GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_QCOM_tiled_rendering GL_ANDROID_extension_pack_es31a GL_EXT_primitive_bounding_box GL_OES_standard_derivatives GL_OES_vertex_array_object GL_EXT_disjoint_timer_query GL_KHR_debug GL_EXT_YUV_target GL_EXT_sRGB_write_control GL_EXT_texture_norm16 GL_EXT_discard_framebuffer GL_OES_surfaceless_context GL_OVR_multiview GL_OVR_multiview2 GL_EXT_texture_sRGB_R8 GL_KHR_no_error GL_EXT_debug_marker GL_OES_EGL_image_external_essl3 GL_OVR_multiview_multisampled_render_to_texture GL_E
12-31 19:51:34.143 18909 18940 D Unity   : XT_buffer_storage GL_EXT_external_buffer GL_EXT_blit_framebuffer_params GL_EXT_clip_cull_distance GL_EXT_protected_textures GL_EXT_shader_non_constant_global_initializers GL_QCOM_texture_foveated GL_QCOM_texture_foveated_subsampled_layout GL_QCOM_shader_framebuffer_fetch_noncoherent GL_QCOM_shader_framebuffer_fetch_rate GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_EGL_image_array GL_NV_shader_noperspective_interpolation GL_KHR_robust_buffer_access_behavior GL_EXT_EGL_image_storage GL_EXT_blend_func_extended GL_EXT_clip_control GL_OES_texture_view GL_EXT_fragment_invocation_density GL_QCOM_motion_estimation GL_QCOM_validate_shader_binary GL_QCOM_YUV_texture_gather GL_QCOM_shading_rate GL_QCOM_frame_extrapolation
12-31 19:51:34.145 18909 18940 D Unity   : OPENGL LOG: Creating OpenGL ES 3.2 graphics device ; Context level  <OpenGL ES 3.2> ; Context handle -593203904
12-31 19:51:34.146 18909 18940 D Unity   : [EGL] Attaching window :0xb400006feca366d0
12-31 19:51:34.146 18909 18940 D Unity   : Requested framebuffer: resolution[1080x2400], rgba[8/8/8/8], depth+stencil[on], samples[1]
12-31 19:51:34.146 18909 18940 D Unity   : Created framebuffer: resolution[1080x2400], rgba[8/8/8/8], depth+stencil[24/8], samples[0]
12-31 19:51:34.150 18909 18940 D Unity   : [EGL] Attaching window :0xb400006feca366d0
12-31 19:51:34.150 18909 18940 D Unity   : Initialize engine version: 2021.3.14f1 (eee1884e7226)
12-31 19:51:34.244 18909 18940 I Unity   : XRGeneral Settings awakening...
12-31 19:51:34.244 18909 18940 I Unity   : UnityEngine.XR.Management.XRGeneralSettings:Awake()
12-31 19:51:34.244 18909 18940 I Unity   :
12-31 19:51:34.281 18909 18940 I native  : arpresto_api.cc:30 ArPresto::ArPresto_initialize
12-31 19:51:34.281 18909 18940 D Unity   : [Subsystems] UnityARCore successfully registered Provider for ARCore-Input
12-31 19:51:34.285 18909 18940 D Unity   : [Subsystems] Loading plugin UnityARCore for subsystem ARCore-Input...
12-31 19:51:34.287 18909 18940 D Unity   : PlayerInitEngineGraphics OK
12-31 19:51:34.288 18909 18940 D Unity   : New input system (experimental) initialized
12-31 19:51:34.293 18909 18940 D Unity   : Found 42 native sensors
12-31 19:51:34.297 18909 18940 D Unity   : Sensor :        Accelerometer ( 1) ; 0.002393 / 0.00s ; LSM6DSO Accelerometer / STMicro
12-31 19:51:34.297 18909 18940 D Unity   : Sensor :        Accelerometer ( 1) ; 0.002393 / 0.00s ; LSM6DSO Accelerometer / STMicro
12-31 19:51:34.298 18909 18940 D Unity   : SetWindow 0 0xb400006feca366d0
12-31 19:51:34.298 18909 18940 D Unity   : [EGL] Attaching window :0xb400006feca366d0
12-31 19:51:34.299 18909 18940 D Unity   : ANativeWindow: (1080/2400) RequestedResolution: (0/0) RenderingResolution: (0/0) EGLSurface: (1080/2400)
12-31 19:51:38.375 18909 18940 D Unity   : UnloadTime: 1.714271 ms
12-31 19:51:38.416 18909 18940 I native  : arpresto_api.cc:77 ArPresto::ArPresto_checkApkAvailability
12-31 19:51:38.427 18909 18940 I native  : arpresto_api.cc:36 ArPresto::ArPresto_handleActivityResume
12-31 19:51:38.430 18909 18940 D Unity   : Sensor :        Accelerometer ( 1) ; 0.002393 / 0.00s ; LSM6DSO Accelerometer / STMicro
12-31 19:51:38.430 18909 18940 D Unity   : Choreographer available: Enabling VSYNC timing
12-31 19:51:38.461 18909 18983 D Unity   : Failed to load native plugin: Unable to load library '/data/app/~~dYYrTy6AvsHfYohXCrM3Ug==/com.DefaultCompany.Deep-QWr_4u_E353I_yIpxetR4A==/lib/arm64/libmediapipe_jni.so', error 'java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.ClassLoader java.lang.Class.getClassLoader()' on a null object reference'
12-31 19:51:38.502 11994 14537 I native  : I0000 00:00:1704081098.502563   14537 device_profile_database_helpers.cc:569] Found nothing for tWr0ds
12-31 19:51:38.502 11994 14537 I native  : I0000 00:00:1704081098.502971   14537 device_profile_database_helpers.cc:569] Found nothing for o1qcsx/o1q
12-31 19:51:38.503 11994 14537 I native  : I0000 00:00:1704081098.503016   14537 device_profile_database_helpers.cc:556] Considering uBzQ7k:11
12-31 19:51:38.503 11994 14537 I native  : I0000 00:00:1704081098.503102   14537 device_profile_database_helpers.cc:515] Device profile for samsung/o1qcsx/o1q:14/UP1A.231005.007/G991WVLU9FWK5:user/release-keys: uBzQ7k:11
12-31 19:51:38.507 18909 18940 I native  : arpresto_api.cc:143 ArPresto::ArPresto_setCameraTextureNames
12-31 19:51:38.507 18909 18940 I native  : arpresto_api.cc:162 ArPresto::ArPresto_setEnabled
12-31 19:51:38.528 18909 18940 I Unity   : Configuration Descriptor 0x1 (rank 1): World Facing Camera, Rotation and Orientation, Plane Tracking, Image Tracking, Auto-Focus, Light Estimation (Ambient Intensity), Light Estimation (Ambient Color), Raycast, Environment Depth, Environment Depth Temporal Smoothing
12-31 19:51:38.528 18909 18940 I Unity   : Configuration Descriptor 0x2 (rank 0): World Facing Camera, Rotation and Orientation, Plane Tracking, Image Tracking, Environment Probes, Auto-Focus, Light Estimation (Spherical Harmonics), Light Estimation (Main Light Direction), Light Estimation (Main Light Intensity), Raycast, Environment Depth, Environment Depth Temporal Smoothing
12-31 19:51:38.528 18909 18940 I Unity   : Configuration Descriptor 0x3 (rank 2): User Facing Camera, Rotation Only, Face Tracking, Auto-Focus, Light Estimation (Ambient Intensity), Light Estimation (Ambient Color)
12-31 19:51:38.528 18909 18940 I Unity   : UnityEngine.XR.ARSubsystems.XRSessionSubsystem:DetermineConfiguration(Feature)
12-31 19:51:38.528 18909 18940 I Unity   : UnityEngine.XR.ARSubsystems.XRSessionSubsystem:Update(XRSessionUpdateParams)
12-31 19:51:38.528 18909 18940 I Unity   : UnityEngine.XR.ARFoundation.ARSession:Update()
12-31 19:51:38.528 18909 18940 I Unity   :
12-31 19:51:38.528 18909 18940 I Unity   : Using session configuration 0x1
12-31 19:51:38.528 18909 18940 I Unity   :      Requested Features: World Facing Camera, Rotation and Orientation, Auto-Focus
12-31 19:51:38.528 18909 18940 I Unity   :      Supported Features: World Facing Camera, Rotation and Orientation, Auto-Focus
12-31 19:51:38.528 18909 18940 I Unity   :      Requested features not satisfied: (None)
12-31 19:51:38.528 18909 18940 I Unity   : UnityEngine.XR.ARSubsystems.XRSessionSubsystem:DebugPrintConfigurationChange(Configuration, Feature)
12-31 19:51:38.528 18909 18940 I Unity   : UnityEngine.XR.ARSubsystems.XRSessionSubsystem:Update(XRSessionUpdateParams)
12-31 19:51:38.528 18909 18940 I Unity   : UnityEngine.XR.ARFoundation.ARSession:Update()
12-31 19:51:38.528 18909 18940 I Unity   :
12-31 19:51:38.536 11994 14537 I native  : I0000 00:00:1704081098.536398   14537 device_profile_database_helpers.cc:569] Found nothing for tWr0ds
12-31 19:51:38.536 11994 14537 I native  : I0000 00:00:1704081098.536540   14537 device_profile_database_helpers.cc:569] Found nothing for o1qcsx/o1q
12-31 19:51:38.536 11994 14537 I native  : I0000 00:00:1704081098.536619   14537 device_profile_database_helpers.cc:556] Considering uBzQ7k:11
12-31 19:51:38.536 11994 14537 I native  : I0000 00:00:1704081098.536677   14537 device_profile_database_helpers.cc:515] Device profile for samsung/o1qcsx/o1q:14/UP1A.231005.007/G991WVLU9FWK5:user/release-keys: uBzQ7k:11
12-31 19:51:38.577 18909 18940 I native  : I0000 00:00:1704081098.577912   18940 session_create_implementation.cc:255] Entering createImplementationWithFeaturesAndSettings. ARCore SDK version: [1.24.210910000].
12-31 19:51:38.582 18909 18940 I native  : I0000 00:00:1704081098.582370   18940 session_create_implementation.cc:216] AugmentedRegion downsample mode from Phenotype: true
12-31 19:51:38.589 11994 14537 I native  : I0000 00:00:1704081098.589613   14537 device_profile_database_helpers.cc:569] Found nothing for tWr0ds
12-31 19:51:38.589 11994 14537 I native  : I0000 00:00:1704081098.589684   14537 device_profile_database_helpers.cc:569] Found nothing for o1qcsx/o1q
12-31 19:51:38.589 11994 14537 I native  : I0000 00:00:1704081098.589703   14537 device_profile_database_helpers.cc:556] Considering uBzQ7k:11
12-31 19:51:38.589 11994 14537 I native  : I0000 00:00:1704081098.589737   14537 device_profile_database_helpers.cc:515] Device profile for samsung/o1qcsx/o1q:14/UP1A.231005.007/G991WVLU9FWK5:user/release-keys: uBzQ7k:11
12-31 19:51:38.590 11994 14537 W native  : W0000 00:00:1704081098.590646   14537 helpers.cc:4697] Defaulting to persistent calibration file.
12-31 19:51:38.590 11994 14537 W native  : W0000 00:00:1704081098.590716   14537 helpers.cc:4674] Property calibration_cad is not defined.
12-31 19:51:38.592 18909 18940 I native  : I0000 00:00:1704081098.592922   18940 session_create_implementation_shared.cc:2375] min_apk_version_code is: 210910000, phenotype flag of enable_dual_camera_support is: false, phenotype flag of unified_data_source_status is: 2, is_dual_camera_supported based on device profile is: false
12-31 19:51:38.592 18909 18940 I native  : I0000 00:00:1704081098.592957   18940 session_create_implementation_shared.cc:2386] Settings.camera_stack_option is not specified
12-31 19:51:38.592 18909 18940 I native  : I0000 00:00:1704081098.592966   18940 session_create_implementation_shared.cc:2459] Datasource will be created with camera_stack_option = kUnifiedMono
12-31 19:51:38.592 18909 18940 I native  : I0000 00:00:1704081098.592974   18940 android_camera.cc:168] Camera start operation timeout set to 4000 ms.
12-31 19:51:38.593 18909 18940 I native  : I0000 00:00:1704081098.593013   18940 android_camera.cc:1824] Initializing camera manager.
12-31 19:51:38.602 18909 18940 I native  : I0000 00:00:1704081098.602468   18940 android_camera.cc:1850] Camera manager initialized successfully with 4 cameras.
12-31 19:51:38.602 18909 18940 I native  : I0000 00:00:1704081098.602683   18940 android_camera.cc:760] [Camera=0; State=CLOSED] Reset cleanly got to CLOSED state.
12-31 19:51:38.602 18909 18940 I native  : I0000 00:00:1704081098.602917   18940 android_camera.cc:760] [Camera=3; State=CLOSED] Reset cleanly got to CLOSED state.
12-31 19:51:38.603 18909 18940 I native  : I0000 00:00:1704081098.603154   18940 android_camera.cc:760] [Camera=2; State=CLOSED] Reset cleanly got to CLOSED state.
12-31 19:51:38.603 18909 18940 I native  : I0000 00:00:1704081098.603588   18940 android_camera.cc:760] [Camera=1; State=CLOSED] Reset cleanly got to CLOSED state.
12-31 19:51:38.604 18909 18940 I native  : I0000 00:00:1704081098.604375   18940 session_create_implementation_shared.cc:2558] Persistent online recalibration is enabled by Phenotype.
12-31 19:51:38.607 18909 18940 I tflite  : Initialized TensorFlow Lite runtime.
12-31 19:51:38.610 18909 18940 I tflite  : Created TensorFlow Lite XNNPACK delegate for CPU.
12-31 19:51:38.610 18909 18940 I tflite  : Replacing 2 out of 2 node(s) with delegate (TfLiteXNNPackDelegate) node, yielding 1 partitions for the whole graph.
12-31 19:51:38.610 18909 18940 I native  : I0000 00:00:1704081098.610692   18940 online_calibration_manager.cc:93] OnlineCalibrationManager: Could not open /data/user/0/com.DefaultCompany.Deep/cache/arcore-online-recalibration for reading.
12-31 19:51:38.644 18909 18940 I native  : I0000 00:00:1704081098.644116   18940 android_sensors.cc:135] Using uncalibrated accelerometer.
12-31 19:51:38.644 18909 18940 I native  : I0000 00:00:1704081098.644223   18940 android_sensors.cc:154] Uncalibrated magnetometer available.
12-31 19:51:38.644 18909 18940 I native  : I0000 00:00:1704081098.644287   18940 android_sensors.cc:162] Calibrated magnetometer available.
12-31 19:51:38.644 18909 18940 I native  : I0000 00:00:1704081098.644335   18940 android_sensors.cc:177] Using SENSOR_TYPE_LIGHT
12-31 19:51:38.644 18909 18940 I native  : I0000 00:00:1704081098.644404   18940 android_sensors.cc:177] Using SENSOR_TYPE_PRESSURE
12-31 19:51:38.644 18909 18940 I native  : I0000 00:00:1704081098.644441   18940 android_sensors.cc:177] Using SENSOR_TYPE_PROXIMITY
12-31 19:51:38.644 18909 18940 I native  : I0000 00:00:1704081098.644478   18940 android_sensors.cc:177] Using SENSOR_TYPE_GRAVITY
12-31 19:51:38.644 18909 18940 I native  : I0000 00:00:1704081098.644514   18940 android_sensors.cc:177] Using SENSOR_TYPE_ROTATION_VECTOR
12-31 19:51:38.644 18909 18940 I native  : I0000 00:00:1704081098.644577   18940 android_sensors.cc:177] Using SENSOR_TYPE_GAME_ROTATION_VECTOR
12-31 19:51:38.644 18909 18940 I native  : I0000 00:00:1704081098.644614   18940 android_sensors.cc:180] Could not find SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR
12-31 19:51:38.644 18909 18940 I native  : I0000 00:00:1704081098.644651   18940 android_sensors.cc:177] Using SENSOR_TYPE_STEP_DETECTOR
12-31 19:51:38.645 18909 18940 I native  : I0000 00:00:1704081098.645121   18940 android_platform_checks.cc:206] IsZeroRotationLandscape = false
12-31 19:51:38.645 18909 18940 I native  : I0000 00:00:1704081098.645338   18940 app_version_util.cc:50] Package name: com.google.ar.core App version: 1.41.233110993
12-31 19:51:38.645 18909 18940 I native  : I0000 00:00:1704081098.645418   18940 logger.h:28] DataSourceMetrics: CamerasInit: 312ns
12-31 19:51:38.645 18909 18940 I native  : I0000 00:00:1704081098.645436   18940 session_create_implementation_shared.cc:1580] CPU Image enable frame delay to compensate delay: false
12-31 19:51:38.650 18909 18940 I native  : I0000 00:00:1704081098.650485   18940 config_helpers.cc:425] Legacy IMU sigma values are used
12-31 19:51:38.650 18909 18940 I native  : I0000 00:00:1704081098.650784   18940 deep_io.cc:106] Load deepIO config: deepio_v5_pb.uncompressed
12-31 19:51:38.650 18909 18940 I native  : I0000 00:00:1704081098.650858   18940 deep_io.cc:117] Load TFLite model: deepio_v5_tflite.uncompressed
12-31 19:51:38.652 18909 18940 I tflite  : Replacing 64 out of 83 node(s) with delegate (TfLiteXNNPackDelegate) node, yielding 21 partitions for the whole graph.
12-31 19:51:38.653 18909 18940 I native  : I0000 00:00:1704081098.653617   18940 session_create_implementation_shared.cc:929] DeepIO release instantiated successfully.
12-31 19:51:38.653 18909 18940 I native  : I0000 00:00:1704081098.653697   18940 inertial_estimator.cc:95] DeepIO model id: 5
12-31 19:51:38.653 18909 18940 I native  : I0000 00:00:1704081098.653728   18940 config_helpers.cc:378] Failed to find IMU intrinsic covariance matrix in profile for id: 100
12-31 19:51:38.653 18909 18940 I native  : I0000 00:00:1704081098.653769   18940 config_helpers.cc:136] Does not find camera intrinsic covariance matrix in profile for id 0
12-31 19:51:38.653 18909 18940 I native  : I0000 00:00:1704081098.653775   18940 config_helpers.cc:209] Does not find extrinsic covariance matrix in profile for IMU id 100
12-31 19:51:38.654 18909 18940 I native  : I0000 00:00:1704081098.654158   18940 motion_tracking_context.cc:1018] VPS data synchronizer is successfully initialized.
12-31 19:51:38.654 18909 18940 I native  : I0000 00:00:1704081098.654179   18940 feature_matcher_and_filter.cc:283] Enabled the robustification to large-sized and fast-moving objects on this mono-camera device.
12-31 19:51:38.655 18909 18940 I tflite  : Replacing 3 out of 3 node(s) with delegate (TfLiteXNNPackDelegate) node, yielding 1 partitions for the whole graph.
12-31 19:51:38.655 18909 18940 I native  : I0000 00:00:1704081098.655210   18940 pose_confidence_estimator.cc:231] Pose confidence model loaded successfully
12-31 19:51:38.655 18909 18940 I native  : I0000 00:00:1704081098.655298   18940 bundle_adjustment_initializer.cc:209] [SSBA Initialization] SSBA initialization uses imu preintegration error with shared bias term.
12-31 19:51:38.662 18909 18940 I native  : I0000 00:00:1704081098.662874   18940 asset_manager_util.cc:61] Created global reference to asset manager.
12-31 19:51:38.662 18909 18940 I native  : I0000 00:00:1704081098.662960   18940 session_create_implementation_shared.cc:1605] Normal detector created.
12-31 19:51:38.666 18909 18940 I native  : I0000 00:00:1704081098.666110   18940 planar_target_tracking_manager.h:116] Config of PlanarTargetTrackingManager:
12-31 19:51:38.666 18909 18940 I native  : -pose_refinement_with_detection_interval_ns: 0
12-31 19:51:38.666 18909 18940 I native  : -min_interval_between_detections_ns: 500000000
12-31 19:51:38.666 18909 18940 I native  : -filter_parallax: false
12-31 19:51:38.666 18909 18940 I native  : -filter_result: true
12-31 19:51:38.666 18909 18940 I native  : -multiple_targets: true
12-31 19:51:38.666 18909 18940 I native  : -mini_detection: true
12-31 19:51:38.666 18909 18940 I native  : -tracking_mode: 1
12-31 19:51:38.666 18909 18940 I native  : -camera_id: 0
12-31 19:51:38.669 18909 18940 I native  : session_manager.cc:43 ArPresto::Session created.camera direction:0
12-31 19:51:38.669 18909 18940 I native  : I0000 00:00:1704081098.669371   18940 session.cc:1255] Entering Session::Resume.
12-31 19:51:38.669 18909 18940 I native  : I0000 00:00:1704081098.669573   18940 camera_config_manager.cc:719] UpdateBugFixes on CameraConfigManager is unimplemented!
12-31 19:51:38.681 18909 18940 I native  : I0000 00:00:1704081098.681205   18940 eis_manager.cc:68] EIS turned off
12-31 19:51:38.681 18909 18940 I native  : I0000 00:00:1704081098.681252   18940 eis_manager.cc:79] current_eis_metadata_.frame_size 1920 x 1080
12-31 19:51:38.681 18909 18940 I native  : I0000 00:00:1704081098.681264   18940 android_camera.cc:168] Camera start operation timeout set to 4000 ms.
12-31 19:51:38.681 18909 18940 I native  : I0000 00:00:1704081098.681276   18940 android_camera.cc:1824] Initializing camera manager.
12-31 19:51:38.689 18909 18940 I native  : I0000 00:00:1704081098.689900   18940 android_camera.cc:1850] Camera manager initialized successfully with 4 cameras.
12-31 19:51:38.689 18909 18940 I native  : I0000 00:00:1704081098.689955   18940 android_camera.cc:760] [Camera=0; State=CLOSED] Reset cleanly got to CLOSED state.
12-31 19:51:38.690 18909 18940 I native  : I0000 00:00:1704081098.690060   18940 android_camera.cc:760] [Camera=3; State=CLOSED] Reset cleanly got to CLOSED state.
12-31 19:51:38.690 18909 18940 I native  : I0000 00:00:1704081098.690129   18940 android_camera.cc:760] [Camera=2; State=CLOSED] Reset cleanly got to CLOSED state.
12-31 19:51:38.690 18909 18940 I native  : I0000 00:00:1704081098.690188   18940 android_camera.cc:760] [Camera=1; State=CLOSED] Reset cleanly got to CLOSED state.
12-31 19:51:38.690 18909 18940 I native  : I0000 00:00:1704081098.690456   18940 session.cc:3602] Update Frame Delay to 0 frames.
12-31 19:51:38.693 18909 18940 I native  : I0000 00:00:1704081098.693554   18940 android_sensors.cc:229] Starting thread.
12-31 19:51:38.696 18909 18940 I native  : I0000 00:00:1704081098.696598   18940 logger.h:28] DataSourceMetrics: kStartImageSubSystem: 2.945782ms
12-31 19:51:38.696 18909 18940 I native  : I0000 00:00:1704081098.696634   18940 session.cc:1443] Session::ResumeWithAnalytics returning OK.
12-31 19:51:38.696 18909 18940 I native  : session_manager.cc:320 ArPresto::Moving from ArPrestoStatus 102 to 101
12-31 19:51:38.696 18909 18940 E native  : E0000 00:00:1704081098.696813   18940 session_lite_c_api.cc:153] operator(): width <= 0
12-31 19:51:38.696 18909 18940 I native  : I0000 00:00:1704081098.696825   18940 session.cc:3602] Update Frame Delay to 0 frames.
12-31 19:51:38.704 18909 19070 W native  : W0000 00:00:1704081098.704229   19070 android_sensor_event_source.cc:277] INTERNAL: Could not create direct sensor channel
12-31 19:51:38.704 18909 19070 W native  : === Source Location Trace: ===
12-31 19:51:38.704 18909 19070 W native  : third_party/arcore/ar/infrastructure/android/android_sensor_event_source.cc:135
12-31 19:51:38.704 18909 19070 I native  : I0000 00:00:1704081098.704290   19070 android_sensor_event_source.cc:221] SENSOR_TYPE_ACCELEROMETER_UNCALIBRATED min delay 2.404ms requesting 5ms
12-31 19:51:38.724 18909 19070 W native  : W0000 00:00:1704081098.724734   19070 android_sensor_event_source.cc:277] INTERNAL: Could not create direct sensor channel
12-31 19:51:38.724 18909 19070 W native  : === Source Location Trace: ===
12-31 19:51:38.724 18909 19070 W native  : third_party/arcore/ar/infrastructure/android/android_sensor_event_source.cc:135
12-31 19:51:38.724 18909 19070 I native  : I0000 00:00:1704081098.724779   19070 android_sensor_event_source.cc:221] SENSOR_TYPE_GYROSCOPE_UNCALIBRATED min delay 2.404ms requesting 5ms
12-31 19:51:38.766 18909 18940 I Unity   : GpuManager: Initializing GpuResources...
12-31 19:51:38.766 18909 18940 I Unity   : Mediapipe.Unity.<Initialize>d__17:MoveNext()
12-31 19:51:38.766 18909 18940 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
12-31 19:51:38.766 18909 18940 I Unity   :
12-31 19:51:38.767 18909 18940 I native  : I20231231 19:51:38.767236 18940 gl_context_egl.cc:84] Successfully initialized EGL. Major : 1 Minor: 5
12-31 19:51:38.776 18909 19105 I native  : I20231231 19:51:38.776048 19105 gl_context.cc:342] GL version: 3.2 (OpenGL ES 3.2 V@0530.0 (GIT@12ae96cb63, I409bbc12eb, 1694603898) (Date:09/13/23)), renderer: Adreno (TM) 660
12-31 19:51:38.777 18909 18940 I Unity   : GpuManager: Initializing GlCalculatorHelper...
12-31 19:51:38.777 18909 18940 I Unity   : Mediapipe.Unity.<Initialize>d__17:MoveNext()
12-31 19:51:38.777 18909 18940 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
12-31 19:51:38.777 18909 18940 I Unity   :
12-31 19:51:38.777 18909 18940 I Unity   : after gpu manager
12-31 19:51:38.777 18909 18940 I Unity   : Mediapipe.Unity.Tutorial.<Start>d__17:MoveNext()
12-31 19:51:38.777 18909 18940 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
12-31 19:51:38.777 18909 18940 I Unity   :
12-31 19:51:38.782 18909 18940 I Unity   : after textures
12-31 19:51:38.782 18909 18940 I Unity   : Mediapipe.Unity.Tutorial.<Start>d__17:MoveNext()
12-31 19:51:38.782 18909 18940 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
12-31 19:51:38.782 18909 18940 I Unity   :
12-31 19:51:38.799 18909 18940 I native  : I0000 00:00:1704081098.798946   18940 session.cc:594] New session config:
12-31 19:51:38.799 18909 18940 I native  : ArConfig
12-31 19:51:38.799 18909 18940 I native  :  augmented_face_mode:           AR_AUGMENTED_FACE_MODE_DISABLED
12-31 19:51:38.799 18909 18940 I native  :  augmented_image_database:      [0 images]
12-31 19:51:38.799 18909 18940 I native  :  cloud_anchor_mode:             AR_CLOUD_ANCHOR_MODE_DISABLED
12-31 19:51:38.799 18909 18940 I native  :  depth_mode:                    AR_DEPTH_MODE_DISABLED
12-31 19:51:38.799 18909 18940 I native  :  semantic_mode:                AR_SEMANTIC_MODE_DISABLED
12-31 19:51:38.799 18909 18940 I native  :  focus_mode:                    AR_FOCUS_MODE_AUTO
12-31 19:51:38.799 18909 18940 I native  :  geospatial_mode:               AR_GEOSPATIAL_MODE_DISABLED
12-31 19:51:38.799 18909 18940 I native  :  instant_placement_mode:        AR_INSTANT_PLACEMENT_MODE_DISABLED
12-31 19:51:38.799 18909 18940 I native  :  light_estimation_mode:         AR_LIGHT_ESTIMATION_MODE_DISABLED
12-31 19:51:38.799 18909 18940 I native  :  plane_finding_mode:            AR_PLANE_FINDING_MODE_DISABLED
12-31 19:51:38.799 18909 18940 I native  :  update_mode:                   AR_UPDATE_MODE_BLOCKING
12-31 19:51:38.799 18909 18940 I native  : I0000 00:00:1704081098.799081   18940 session.cc:587] Session::CheckAndWriteCurrentConfig returning OK.
12-31 19:51:38.935 18909 18940 I Unity   : before config
12-31 19:51:38.935 18909 18940 I Unity   : Mediapipe.Unity.Tutorial.<Start>d__17:MoveNext()
12-31 19:51:38.935 18909 18940 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
12-31 19:51:38.935 18909 18940 I Unity   :
12-31 19:51:38.952 18909 18940 I Unity   : before validatedGraphConfig
12-31 19:51:38.952 18909 18940 I Unity   : Mediapipe.Unity.Tutorial.<Start>d__17:MoveNext()
12-31 19:51:38.952 18909 18940 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
12-31 19:51:38.952 18909 18940 I Unity   :
12-31 19:51:38.953 18909 18940 I Unity   : before Initialize
12-31 19:51:38.953 18909 18940 I Unity   : Mediapipe.Unity.Tutorial.<Start>d__17:MoveNext()
12-31 19:51:38.953 18909 18940 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
12-31 19:51:38.953 18909 18940 I Unity   :
12-31 19:51:38.957 18909 18940 I Unity   : before CalculatorGraph
12-31 19:51:38.957 18909 18940 I Unity   : Mediapipe.Unity.Tutorial.<Start>d__17:MoveNext()
12-31 19:51:38.957 18909 18940 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
12-31 19:51:38.957 18909 18940 I Unity   :
12-31 19:51:38.964 18909 18940 I Unity   : before SetGpuResources
12-31 19:51:38.964 18909 18940 I Unity   : Mediapipe.Unity.Tutorial.<Start>d__17:MoveNext()
12-31 19:51:38.964 18909 18940 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
12-31 19:51:38.964 18909 18940 I Unity   :
12-31 19:51:38.971 18909 18940 I Unity   : after SetGpuResources
12-31 19:51:38.971 18909 18940 I Unity   : Mediapipe.Unity.Tutorial.<Start>d__17:MoveNext()
12-31 19:51:38.971 18909 18940 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
12-31 19:51:38.971 18909 18940 I Unity   :
12-31 19:51:38.973 18909 18940 I native  : I20231231 19:51:38.973153 18940 gl_context_egl.cc:84] Successfully initialized EGL. Major : 1 Minor: 5
12-31 19:51:38.974 18909 19183 I native  : I20231231 19:51:38.974146 19183 gl_context.cc:342] GL version: 3.2 (OpenGL ES 3.2 V@0530.0 (GIT@12ae96cb63, I409bbc12eb, 1694603898) (Date:09/13/23)), renderer: Adreno (TM) 660
12-31 19:51:38.974 18909 18940 I native  : I20231231 19:51:38.974300 18940 gl_context_egl.cc:84] Successfully initialized EGL. Major : 1 Minor: 5
12-31 19:51:38.975 18909 19185 I native  : I20231231 19:51:38.975368 19185 gl_context.cc:342] GL version: 3.2 (OpenGL ES 3.2 V@0530.0 (GIT@12ae96cb63, I409bbc12eb, 1694603898) (Date:09/13/23)), renderer: Adreno (TM) 660
12-31 19:51:38.976 18909 18940 I Unity   : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
12-31 19:51:38.976 18909 18940 I Unity   : Mediapipe.Unity.Tutorial.<Start>d__17:MoveNext()
12-31 19:51:38.976 18909 18940 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
12-31 19:51:38.976 18909 18940 I Unity   :
12-31 19:51:38.979 18909 18940 I Unity   : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>waiting
12-31 19:51:38.979 18909 18940 I Unity   : Mediapipe.Unity.Tutorial.<Start>d__17:MoveNext()
12-31 19:51:38.979 18909 18940 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
12-31 19:51:38.979 18909 18940 I Unity   :
12-31 19:51:38.979 18909 19105 I tflite  : Initialized TensorFlow Lite runtime.
12-31 19:51:38.980 18909 19105 I tflite  : Replacing 164 out of 164 node(s) with delegate (unknown) node, yielding 1 partitions for the whole graph.
12-31 19:51:38.982 18909 19105 I tflite  : Replacing 164 out of 164 node(s) with delegate (unknown) node, yielding 1 partitions for the whole graph.
12-31 19:51:39.080 18909 19068 I native  : I0000 00:00:1704081099.080052   19068 logger.h:28] DataSourceMetrics: kFirstGlCallback: 386.398958ms
12-31 19:51:39.180 18909 19195 I native  : I0000 00:00:1704081099.180644   19195 timebase_helpers.cc:171] Timebase offset initialized to 0
12-31 19:51:39.180 18909 19195 I native  : I0000 00:00:1704081099.180696   19195 logger.h:28] DataSourceMetrics: kFirstImageCallback: 487.043385ms
12-31 19:51:39.185 18909 19050 W native  : W0000 00:00:1704081099.185590   19050 feature_matcher_and_filter_utils.cc:269] INVALID_ARGUMENT: integration window start at 0
12-31 19:51:39.185 18909 19050 W native  : === Source Location Trace: ===
12-31 19:51:39.185 18909 19050 W native  : third_party/redwood/perception/imu_processing/imu_integrator/imu_integrator_utils.cc:97
12-31 19:51:39.185 18909 19050 W native  :  Use identity R.
12-31 19:51:39.186 18909 19046 I native  : I0000 00:00:1704081099.186375   19046 model_inference_cpu.cc:106] Successfully started the ArDepthCalculator graph.
12-31 19:51:39.186 18909 19196 I native  : I0000 00:00:1704081099.186493   19196 jni_util.cc:41] GetEnv: not attached
12-31 19:51:39.187 18909 19051 I native  : I0000 00:00:1704081099.187318   19051 data_manager.cc:217] - VisualInertialState is kNotTracking - Clear the buffer. Save the map. Reset the trajectory.
12-31 19:51:39.195 18909 19196 I tflite  : Replacing 299 out of 299 node(s) with delegate (TfLiteXNNPackDelegate) node, yielding 1 partitions for the whole graph.
12-31 19:51:39.207 18909 19195 E native  : E0000 00:00:1704081099.207582   19195 static_feature_frame_selector.cc:79] Unknown old image at: 116230081656388 ns
12-31 19:51:39.207 18909 19195 W native  : W0000 00:00:1704081099.207732   19195 session.cc:1240] INVALID_ARGUMENT: Sensor timestamps must be strictly monotonically increasing, instead received 116230094488619 -> 116230061152838; Failed to add timestamp info to external data synchronizer.
12-31 19:51:39.207 18909 19195 W native  : === Source Location Trace: ===
12-31 19:51:39.207 18909 19195 W native  : third_party/arcore/ar/video/external_data_sync.cc:36
1
JustinPeng2007 commented 8 months ago

This is my unity settings, if it helps... Screenshot 2023-12-31 195931

homuler commented 8 months ago

I guess you're calling the TryGetNext method before sending any input packets. If so, I think TryGetNext will block the main thread.

homuler commented 8 months ago

As far as you cannot make sure input packets are sent, you need to get the output asynchronously.

var outputVideoStream = new OutputStream<ImageFramePacket, ImageFrame>(_graph, "output_video");
outputVideoStream.AddListener((object stream, OutputEventArgs<List<Detection>> eventArgs) =>
{
    Debug.Log(eventArgs.value);
});
// outputVideoStream.StartPolling().AssertOk(); // stop polling
JustinPeng2007 commented 8 months ago

It worked! I added a boolean flag before adding the TryGetNext method, and it worked! You are truly a lifesaver :)