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.
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?
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