セキュリティ関連のプロジェクトを1つ開発しています。顔が検出されたかどうかを確認する必要があります。 。検出された顔を見つける方法は、実際か偽であるか
すべてが完璧な作業ですが、私はSurfaceHolder.Callback
を実装し、その開いたカメラとカメラにされSurfaceView
を使用しています1人のメソッドの名前は、私が顔を検出この方法を使用してstartFaceDetection
である持っています。
参照
今
public class SurfaceViewPreview extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder mHolder;
private Camera mCamera;
public SurfaceViewPreview(Context context, AttributeSet attrs) {
super(context, attrs);
setWillNotDraw(false);
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(SurfaceHolder holder) {
try {
if (Camera.getNumberOfCameras() <= 0 || ContextCompat.checkSelfPermission(getContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED)
return;
mCamera = Camera.open(0);
mCamera.setPreviewDisplay(mHolder);
} catch (Exception e) {
e.printStackTrace();
if (this.mCamera != null) {
this.mCamera.release();
this.mCamera = null;
}
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
if (Camera.getNumberOfCameras() <= 0 || ContextCompat.checkSelfPermission(getContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED)
return;
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
if (Camera.getNumberOfCameras() <= 0 || ContextCompat.checkSelfPermission(getContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED)
return;
mCamera.startPreview();
mCamera.setFaceDetectionListener(new Camera.FaceDetectionListener() {
@Override
public void onFaceDetection(Camera.Face[] faces, Camera camera) {
// face is detected.
}
});
mCamera.startFaceDetection();
}
}
ためのコード、問題はどんな人間投稿する場合、私はカメラに示す場合は、人間として検出し、しかし、私は本物の人間の顔検出ではない偽のポスターの顔をしたいです。
私の要件を処理する方法があります。
1)定期的に10個の画像をキャプチャし、すべてのバリエーションが同じであることを確認すると、壁に取り付けられたポスターのような静的な顔があることを意味します。
2)検出された顔に本当の人間か偽の顔かを示す適切なアルゴリズムを書く。
3)人間の顔が本当に利用可能かどうかを示すライブラリがあります。
誰もが考えてください、どのように上記の問題(任意のコードは、私と共有して利用可能です)を提案してください、応答は高く評価されます!
どのようにして実際の偽の画像/ビデオフレームと結論づける適応学習方法を使用できますか。
を助けましたあなたの "可能な方法"の?あなたはどのようにビデオから偽の顔を検出したいですか? – Micka
本物の偽の画像/ビデオフレームと結論づけるための学習方法の適応方法 \t 私はビデオから検出したくない、カメラから検出したい、カメラを実行し続けて顔が検出されているかどうかを確認する –
瞳孔と虹彩の検出を行い、分類器でそれを確認すると目を偽るのは難しい顔に(表情に。私はコードのいくつかの行を置くことがこの問題を解決するとは思わない。この目標に達するには、画像解析に関する多くの知識が必要です。 –