こんなのが公開されています.
Google Play サービスでの顔検出 - Google Developer Japan Blog
顔認識をして「笑顔かどうか」の判定もできる.
公式リファレンスをみてみると.
com.google.android.gms.vision.face.Face
public float getIsSmilingProbability ()
Returns a value between 0.0 and 1.0 giving a probability that the face is smiling.
This returns UNCOMPUTED_PROBABILITY if the probability was not computed. The probability is not computed if smile classification is not enabled via setClassificationType(int) or the required landmarks are not found. The LEFT_MOUTH, RIGHT_MOUTH, and NOSE_BASE landmarks are required to compute a smile probability.
Returns
the probability that the face is smiling
画像内の顔が笑顔であるかどうかを0から1の数値で取得できます.
Googleの公開しているサンプルをみてみると,
android-vision/FaceGraphic.java at master · googlesamples/android-vision
... canvas.drawText("happiness: " + String.format("%.2f", face.getIsSmilingProbability()), x - ID_X_OFFSET, y - ID_Y_OFFSET, mIdPaint); ...
カメラに写っている画像にオーバーレイして「happiness: 0.92」のように「笑顔度」を表示します.
1に近いほど笑顔という判定です.
いくつか画像を試してみました.
ほぼ正しく認識します.
では「笑いながら怒る人」はどうなるか.
笑顔度 0.96 と判定されました.
声とセリフだけが「怒ってる」んですねこの芸って.