fixed interpolation points
This commit is contained in:
parent
e1b867c420
commit
13874094f8
|
@ -82,7 +82,7 @@ public class MainActivity extends AppCompatActivity {
|
|||
lindera = new Lindera(plugin);
|
||||
List<String> cameras = lindera.getAvailableCameras();
|
||||
// FRONT or BACK
|
||||
lindera.setCamera("FRONT");
|
||||
lindera.setCamera("BACK");
|
||||
lindera.setCameraRotation(CameraRotation.AUTOMATIC);
|
||||
|
||||
lindera.fpsHelper.onFpsUpdate = new Consumer<Double>() {
|
||||
|
|
|
@ -194,7 +194,7 @@ public class Lindera {
|
|||
}
|
||||
|
||||
private void landmarksToBodyJoints(ImmutableList<LandmarkProto.Landmark> landmarks , BodyJoints bodyJoints){
|
||||
landmarkToXYZPointWithConfidence(landmarks.get(PoseTrackingResult.NOSE), bodyJoints.neckNose);
|
||||
landmarkToXYZPointWithConfidence(landmarks.get(PoseTrackingResult.NECK), bodyJoints.neckNose);
|
||||
|
||||
landmarkToXYZPointWithConfidence(landmarks.get(PoseTrackingResult.LEFT_EYE_INNER), bodyJoints.leftEyeInner);
|
||||
landmarkToXYZPointWithConfidence(landmarks.get(PoseTrackingResult.LEFT_EYE), bodyJoints.leftEye);
|
||||
|
|
|
@ -80,6 +80,7 @@ public class PoseTrackingResult extends ImageSolutionResult {
|
|||
public static final int SPINE = 34;
|
||||
public static final int THORAX = 35;
|
||||
public static final int HEAD_TOP = 36;
|
||||
public static final int NECK = 37;
|
||||
|
||||
|
||||
PoseTrackingResult(
|
||||
|
@ -148,6 +149,12 @@ public class PoseTrackingResult extends ImageSolutionResult {
|
|||
// 2 times the distance b/w nose and eyes
|
||||
return getJointBetweenPoints(midlower, midupper, 2.5f);
|
||||
}
|
||||
LandmarkProto.Landmark getNeck(ImmutableList<LandmarkProto.Landmark> landmarks){
|
||||
LandmarkProto.Landmark midLips = getJointBetweenPoints(landmarks.get(LEFT_EAR), landmarks.get(RIGHT_EAR), 0.5f);
|
||||
LandmarkProto.Landmark midShoulders= getJointBetweenPoints(landmarks.get(LEFT_SHOULDER),landmarks.get(RIGHT_SHOULDER),0.5f);
|
||||
return getJointBetweenPoints(midShoulders,midLips,0.6f);
|
||||
|
||||
}
|
||||
|
||||
ImmutableList<LandmarkProto.Landmark> getAdditionalLandmarksByInterpolation(ImmutableList<LandmarkProto.Landmark> originalLandmarks) {
|
||||
|
||||
|
@ -155,13 +162,14 @@ public class PoseTrackingResult extends ImageSolutionResult {
|
|||
List<LandmarkProto.Landmark> landmarks = new ArrayList<>(originalLandmarks);
|
||||
// pelvis
|
||||
landmarks.add(getPelvis(originalLandmarks));
|
||||
// spine assuming it is 2/3rd of distance b/w shoulders and pelvis
|
||||
landmarks.add(getSpinePoint(originalLandmarks, 2 / 3f));
|
||||
// thorax assuming it is b/w shoulders
|
||||
landmarks.add(getJointBetweenPoints(landmarks.get(LEFT_SHOULDER),landmarks.get(RIGHT_SHOULDER),0.5f));
|
||||
// spine
|
||||
landmarks.add(getSpinePoint(originalLandmarks, 0.45f));
|
||||
// thorax assuming it is slightly above shoulders
|
||||
landmarks.add(getSpinePoint(originalLandmarks,-0.1f));
|
||||
// head top
|
||||
landmarks.add(getHeadTop(originalLandmarks));
|
||||
|
||||
// neck
|
||||
landmarks.add(getNeck(originalLandmarks));
|
||||
|
||||
return ImmutableList.copyOf(landmarks);
|
||||
|
||||
|
|
|
@ -95,7 +95,7 @@ public class PoseTrackingResultGlRenderer implements ResultGlRenderer<PoseTracki
|
|||
GLES20.glUniform1f(pointSizeHandle, KEYPOINT_SIZE);
|
||||
ImmutableList<LandmarkProto.Landmark> originalLandmarks = result.multiPoseLandmarks();
|
||||
List<LandmarkProto.Landmark> landmarks = originalLandmarks.stream().filter((landmark -> {
|
||||
return landmark.getVisibility() > 0.25 || landmark.getPresence()>0.25;
|
||||
return landmark.getVisibility() > 0.35 || landmark.getPresence()>0.35;
|
||||
})).collect(Collectors.toList());
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user