在 Android 中进行人体 body 部分检测

Human body part detection in Android

目前我正在研究 Google 人脸检测 API 从这个 API 我能够检测到人类完整的脸(眼睛,鼻子和其他部分)并且也按照这个概念 我开发了一个应用程序,如果你站在前置摄像头前面,它会检测到你的脸并显示一些手势。

Context context = Applications.getAppContext();

FaceDetector detector = new FaceDetector.Builder(context)
            .setClassificationType(FaceDetector.ALL_CLASSIFICATIONS)
            .build();

detector.setProcessor(
         new MultiProcessor.Builder<>(new GraphicFaceTrackerFactory())
         .build());

if (!detector.isOperational()) {

}

mCameraSource = new CameraSource.Builder(context, detector)
            .setRequestedPreviewSize(640, 480)
            .setFacing(CameraSource.CAMERA_FACING_FRONT)
            .setRequestedFps(30.0f)
            .build();

我开发至今的应用视频link:-

https://www.dropbox.com/s/097todfu90ic12j/VirtualMirror.mp4?dl=0

应用商店link:-

https://play.google.com/store/apps/details?id=com.twins.virtualmirror

是否有任何 API 可以识别人类其他 body 部分(胸部、手、腿和 body 的其他部分),因为根据 Google 视觉 API 只能检测人脸,不能检测其他部分。

2021 年更新

您可以训练卷积神经网络来检测任何 body 部分。我建议你从头开始学习机器学习但是如果你没有时间。你可以使用 google auto ml.

旧答案

目前没有API检测其他body部分。如果你想检测其他 body 部分,你必须编写代码,这并不容易,但并非不可能

你有没有看到现在很多相机软件都提供了当你把手伸向相机时捕捉图像的功能。该摄像头软件可以检测您的手掌。

所以有人已经完成了....

但是没有Google api这个...

您必须使用第三方或自定义...

我知道有一个 api 叫 OpenCV。他们已经为计算机版本创建了 api 从 body 零件检测。我不确定他们是否发布 Android.

Here is a demo in YouTube