Open mgarbade opened 7 months ago
Seems to be a problem with the asynchronous initialization. This code replacement fixes the issue for me:
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// Initialize our background executor
backgroundExecutor = Executors.newSingleThreadExecutor()
// Initialize the PoseLandmarkerHelper here synchronously, before any background task starts.
poseLandmarkerHelper = initializePoseLandmarkerHelper()
// Wait for the views to be properly laid out
fragmentCameraBinding.viewFinder.post {
// Set up the camera and its use cases
setUpCamera()
}
// Attach listeners to UI control widgets
initBottomSheetControls()
}
private fun initializePoseLandmarkerHelper(): PoseLandmarkerHelper {
// This initialization could still fail if the context or viewModel properties
// are not ready. This method assumes they are initialized before calling.
return PoseLandmarkerHelper(
context = requireContext(),
runningMode = RunningMode.LIVE_STREAM,
minPoseDetectionConfidence = viewModel.currentMinPoseDetectionConfidence,
minPoseTrackingConfidence = viewModel.currentMinPoseTrackingConfidence,
minPosePresenceConfidence = viewModel.currentMinPosePresenceConfidence,
currentDelegate = viewModel.currentDelegate,
poseLandmarkerHelperListener = this
).also {
// Setup or any initial processing required immediately after creation.
it.setupPoseLandmarker()
}
}
Pixel 8 Pro Master https://github.com/google-ai-edge/mediapipe-samples/commit/a07683d41766c702502549e361641598bfa85214
I was having the same issue as @mgarbade. The proposed fix also worked for me.
Just checking out the current master: 0fc6e2b809b13b7cb1de1792288409624f5f6007
And trying to run it on my Samsung Galaxy S7 Tablet, gives me the following error:
Any idea how to fix this?