From fa5da361d774027efad0497b54fa1fb22fd1f67a Mon Sep 17 00:00:00 2001 From: Mautisim Munir Date: Fri, 28 Oct 2022 14:01:10 +0500 Subject: [PATCH] changed timestamp to nanoseconds, added presence --- .../solutions/lindera/ComputerVisionPlugin.java | 2 +- .../google/mediapipe/solutions/lindera/Lindera.java | 12 +++++++----- .../solutions/lindera/XYZPointWithConfidence.java | 1 + 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/mediapipe/java/com/google/mediapipe/solutions/lindera/ComputerVisionPlugin.java b/mediapipe/java/com/google/mediapipe/solutions/lindera/ComputerVisionPlugin.java index db577f5d9..2d1dc0242 100644 --- a/mediapipe/java/com/google/mediapipe/solutions/lindera/ComputerVisionPlugin.java +++ b/mediapipe/java/com/google/mediapipe/solutions/lindera/ComputerVisionPlugin.java @@ -1,5 +1,5 @@ package com.google.mediapipe.solutions.lindera; public interface ComputerVisionPlugin { - void bodyJoints(int timestamp, BodyJoints bodyJoints); + void bodyJoints(long timestamp, BodyJoints bodyJoints); } diff --git a/mediapipe/java/com/google/mediapipe/solutions/lindera/Lindera.java b/mediapipe/java/com/google/mediapipe/solutions/lindera/Lindera.java index 52f97d17c..0f8e749bb 100644 --- a/mediapipe/java/com/google/mediapipe/solutions/lindera/Lindera.java +++ b/mediapipe/java/com/google/mediapipe/solutions/lindera/Lindera.java @@ -25,8 +25,10 @@ public class Lindera { public FpsHelper fpsHelper = new FpsHelper(); private PoseTracking poseTracking; - // TODO: Verify that this is the timestamp used in Actual Plugin - private int timeStamp = 0; + + private long getTimeStamp(){ + return System.nanoTime(); + } private CameraRotation cameraRotation = CameraRotation.AUTOMATIC; // Live camera demo UI and camera components. @@ -85,14 +87,13 @@ public class Lindera { glSurfaceView.setRenderData(poseTrackingResult); glSurfaceView.requestRender(); ImmutableList landmarks = poseTrackingResult.multiPoseLandmarks(); - timeStamp+=1; if (landmarks.isEmpty()) return; BodyJoints bodyJoints = new BodyJoints(); landmarksToBodyJoints(landmarks,bodyJoints); - plugin.bodyJoints(timeStamp, bodyJoints); + plugin.bodyJoints(getTimeStamp(), bodyJoints); }); } @@ -180,7 +181,6 @@ public class Lindera { if (poseTracking != null) { poseTracking.close(); } - timeStamp = 0; } private void landmarkToXYZPointWithConfidence(LandmarkProto.Landmark landmark,XYZPointWithConfidence bodyJoint){ @@ -188,6 +188,8 @@ public class Lindera { bodyJoint.y = landmark.getY(); bodyJoint.z = landmark.getZ(); bodyJoint.confidence = landmark.getVisibility(); + bodyJoint.presence = landmark.getPresence(); + } private void landmarksToBodyJoints(ImmutableList landmarks , BodyJoints bodyJoints){ diff --git a/mediapipe/java/com/google/mediapipe/solutions/lindera/XYZPointWithConfidence.java b/mediapipe/java/com/google/mediapipe/solutions/lindera/XYZPointWithConfidence.java index 576f8f489..ac368d60c 100644 --- a/mediapipe/java/com/google/mediapipe/solutions/lindera/XYZPointWithConfidence.java +++ b/mediapipe/java/com/google/mediapipe/solutions/lindera/XYZPointWithConfidence.java @@ -5,6 +5,7 @@ public class XYZPointWithConfidence { public float y = 0; public float z = 0; public float confidence = 0; + public float presence = 0;