Intégration rapide des artefacts de beauté de la détection de visage Huawei HMS ML Kit pour obtenir de grands yeux et un lifting du visage

Préface

Lorsqu'il rencontre des moments inoubliables et magnifiques de la vie, l'éditeur ne peut s'empêcher de le garder en prenant des photos Je crois que tout le monde est pareil à moi. Mais la plupart d'entre nous ne sont pas des photographes ou des modèles professionnels. Nous ne sommes pas satisfaits de la photo pour des raisons telles que la mauvaise lumière et le mauvais angle. Que devons-nous faire? À ce stade, s'il existe une application de traitement d'image dans le téléphone mobile, elle peut détecter automatiquement le visage sur la photo en un seul clic, puis agrandir les yeux et éclaircir le visage, ce qui peut facilement nous aider à obtenir l'effet d'embellissement et laisser le beau soi apparaître dans la mémoire de la belle N'est-ce pas génial sur la photo? J'ai donc cherché des solutions sur Internet et j'ai trouvé que Huawei HMS ML Kit fournissait un service de détection de visage.Après avoir intégré ce service, divers modèles Android peuvent facilement embellir les photos et restaurer votre beauté!

Scénario d'application

Le service de détection de visage HMS ML Kit de Huawei détecte jusqu'à 855 points clés sur le visage et renvoie des informations telles que les coordonnées du contour du visage, les sourcils, les yeux, le nez, la bouche, les oreilles et d'autres parties, ainsi que l'angle de déflexion du visage. Après avoir intégré le service de détection de visage, les développeurs peuvent rapidement créer des applications d'embellissement du visage basées sur ces informations, ou ajouter des éléments intéressants au visage pour augmenter l'intérêt de l'image.

En plus de cette fonctionnalité puissante, le service de détection de visage peut également identifier des fonctionnalités telles que si les yeux sont ouverts, s'ils portent des lunettes ou un chapeau, le sexe, l'âge et s'ils ont une barbe. Après avoir intégré cette fonction, il peut réaliser comme le contrôle parental. Application pour empêcher les yeux des enfants d'être trop près de l'écran ou de regarder l'écran trop longtemps.

En outre, le service de détection des visages peut reconnaître jusqu'à sept expressions faciales, y compris le sourire, l'absence d'expression, la colère, le dégoût, la panique, la tristesse et la surprise. Cette fonction permet de réaliser des applications intéressantes telles que la capture de sourire.
Insérez la description de l'image ici

Avec autant de fonctionnalités ci-dessus, les développeurs peuvent intégrer selon leurs besoins. De plus, le service de détection de visage prend en charge la détection d'images et de flux vidéo, le suivi inter-images des visages et la détection simultanée de plusieurs visages. On peut dire que toutes les capacités auxquelles l'éditeur peut penser sont disponibles. C'est vraiment puissant! Suivons l'éditeur pour voir comment intégrer les capacités de détection de visage de HMS ML Kit pour obtenir un visage mince et de grands yeux.

Combat de développement

1. Préparation au développement

Pour connaître les étapes de préparation détaillées, veuillez consulter Huawei Developer Alliance:

https://developer.huawei.com/consumer/cn/doc/development/HMS-Guides/ml-process-4

Voici les principales étapes de développement.

1.1 Configurer l'adresse de l'entrepôt Maven dans le gradle au niveau du projet

buildscript {
    repositories {
            ...
        maven {url 'https://developer.huawei.com/repo/'}
    }
}
 dependencies {
                              ...
        classpath 'com.huawei.agconnect:agcp:1.3.1.300'
    }
allprojects {
    repositories {
            ...
        maven {url 'https://developer.huawei.com/repo/'}
    }
}

1.2
Ajouter la configuration à l'en-tête du fichier Après avoir intégré le SDK, ajouter la configuration à l'en-tête du fichier

 apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'

1.3 Configurer les dépendances du SDK dans le gradle au niveau de l'application

dependencies{ 
    // 引入基础SDK
    implementation 'com.huawei.hms:ml-computer-vision-face:2.0.1.300'
    // 引入人脸轮廓+关键点检测模型包
    implementation 'com.huawei.hms:ml-computer-vision-face-shape-point-model:2.0.1.300'
    // 引入表情检测模型包
    implementation 'com.huawei.hms:ml-computer-vision-face-emotion-model:2.0.1.300'
    // 引入特征检测模型包
    implementation 'com.huawei.hms:ml-computer-vision-face-feature-model:2.0.1.300'
}

}
1.4 Ajoutez l'instruction suivante au fichier AndroidManifest.xml pour mettre à jour automatiquement le modèle d'apprentissage automatique

<manifest
    ...
    <meta-data
        android:name="com.huawei.hms.ml.DEPENDENCY" 
        android:value= "face"/>
    ...
</manifest>

1.5 Demander l'autorisation de la caméra

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />

2. Développement de code

2.1 Utiliser la configuration des paramètres par défaut pour créer un analyseur de visage

analyzer =   MLAnalyzerFactory.getInstance().getFaceAnalyzer();

2.2 Créer un objet MLFrame via android.graphics.Bitmap pour que l'analyseur détecte les images

MLFrame frame = MLFrame.fromBitmap(bitmap);

2.3 Appelez la méthode "asyncAnalyseFrame" pour la détection de visage

Task<List<MLFace>> task = analyzer.asyncAnalyseFrame(frame);
task.addOnSuccessListener(new OnSuccessListener<List<MLFace>>() {
     @Override
     public void onSuccess(List<MLFace> faces) {
         // 检测成功,获取脸部关键点信息。
     }
 }).addOnFailureListener(new OnFailureListener() {
     @Override
     public void onFailure(Exception e) {
         // 检测失败。
    }
 });

2.4 Grâce à la barre de progression pour différents degrés de grands yeux et de traitement de lifting. Appelez la méthode magnifyEye et la méthode smallFaceMesh pour implémenter respectivement l'algorithme du grand œil et l'algorithme du visage mince

private SeekBar.OnSeekBarChangeListener onSeekBarChangeListener = new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        switch (seekBar.getId()) {
            case R.id.seekbareye: // 当大眼进度条变化时,…
            case R.id.seekbarface: // 当瘦脸进度条变化时,…
        }
    }
}

2.5 Une fois la détection terminée, relâchez l'analyseur

try {
    if (analyzer != null) {
        analyzer.stop();
    }
} catch (IOException e) {
    Log.e(TAG, "e=" + e.getMessage());
}

Effet de démonstration

La démo suivante montre l'effet des grands yeux et du lifting du visage, qu'en est-il, est-ce très pratique?
Insérez la description de l'image ici

Adresse Github

Vous pouvez obtenir un code source plus détaillé sur Github: https://github.com/HMS-Core/hms-ml-demo/tree/master/BeautyCamera

Pour des directives de développement plus détaillées, veuillez vous référer au site officiel de Huawei Developer Alliance

https://developer.huawei.com/consumer/cn/hms/huawei-mlkit


Lien d'origine:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0203360642386400907&fid=18
Auteur: laisser les feuilles

Je suppose que tu aimes

Origine blog.51cto.com/14772288/2541600
conseillé
Classement