항상 여자 친구가 사진 촬영 기술이 좋지 않다고 불평합니까? 내 마음 속으로는 여자 친구가 손을 잡고 디즈니 랜드에 갔을 때 여자 친구가 기꺼이 사진을 찍어달라고했는데 어떻게 해야할지 몰랐다는 생각이 들었다. 얼굴과 허벅지의 초점이 맞지 않고 5 미터의 시야가 확보되어 그의 여자 친구를 즉시 짜증나게했습니다.
이 작은 장면이 어떻게 우리 프로그래머를 괴롭힐 수 있습니까? 프로그래머로서 프로덕트 매니저의 요구를 충족시킬 수 있지만 여자 친구의 요구는 몇 분 안에 해결할 수 있습니까? 그녀만을위한 "뷰티 카메라"를 신속하게 만들고, 얇은 얼굴, 큰 눈 및 기타 기능을 쉽게 달성하고, 여자 친구가 원하는대로 작동하게하고, 즉시 뷰티 효과를 얻을 수 있습니다.
"뷰티 카메라"는 어떻게 개발 되었습니까? 원리는 무엇입니까?
한 번의 탭으로 사진 속의 얼굴을 자동으로 감지 한 다음 눈을 확대하고 얼굴을 날씬하게 만들어 미화 효과를 얻을 수 있습니다. 이것이 어떻게 달성됩니까?
원칙은 매우 간단합니다. 화웨이 머신 러닝 서비스 얼굴 감지 기능 을 사용 하여 테스트를위한 최대 855 개의 핵심 포인트, 반환 얼굴 윤곽, 눈썹, 눈, 코, 입, 귀 및 기타 좌표 및 얼굴 편향 각도 및 기타 정보, 우리는 그래서 빨리이 정보를 기반으로 "뷰티 카메라"를 구축 할 수 있습니다, 얼굴을 아름답게, 심지어 사진의 관심을 높이기 위해, 같은 귀여운 스티커와 같은 몇 가지 흥미로운 요소를 추가 할 수 있습니다.
10 분 동안 "뷰티 카메라"개발 튜토리얼을 받으세요!
1. 개발 준비
세부 준비 단계는 참조 할 수 있습니다 화웨이 개발자 얼라이언스 , 여기에 주요 개발 단계입니다.
1.1 프로젝트 수준 Gradle에서 Maven웨어 하우스 주소 구성
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 파일 헤더 증가 구성
SDK 통합 후 파일 헤더에 구성 추가
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
1.3 애플리케이션 수준 Gradle에서 SDK 종속성 구성
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 AndroidManifest.xml 파일에 다음 문을 추가하여 기계 학습 모델을 자동으로 업데이트합니다.
<manifest
...
<meta-data
android:name="com.huawei.hms.ml.DEPENDENCY"
android:value= "face"/>
...
</manifest>
1.5 카메라 허가 신청
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
2. 코드 개발
2.1 기본 매개 변수 구성을 사용하여 얼굴 분석기 만들기
analyzer = MLAnalyzerFactory.getInstance().getFaceAnalyzer();
2.2 분석기가 사진을 감지 할 수 있도록 android.graphics.Bitmap을 통해 MLFrame 객체 생성
MLFrame frame = MLFrame.fromBitmap(bitmap);
2.3 얼굴 감지를 위해 " asyncAnalyseFrame "메소드 호출
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 다양한 정도의 큰 눈과 안면 성형 치료를위한 진행 표시 줄을 통해.
magnifyEye 메서드와 smallFaceMesh 메서드를 호출하여 각각 큰 눈 알고리즘과 얇은 얼굴 알고리즘을 구현합니다.
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 테스트가 완료되면 분석기를 놓습니다.
try {
if (analyzer != null) {
analyzer.stop();
}
} catch (IOException e) {
Log.e(TAG, "e=" + e.getMessage());
}
먼저 간단한 "뷰티 카메라"의 데모를 살펴 보겠습니다!
어때요, 당신은 그것을 배웠습니까? 빨리 여자 친구 한정판 "뷰티 카메라"를 얻으십시오, 큰 눈과 얼굴 리프팅 기능을 실현할 수있을뿐만 아니라, 귀여운 작은 스티커 기능, 스마일 캡처 기능 등을 추가 할 수도 있습니다.이 모든 기능은 연결하여 빠르게 실현할 수 있습니다. 기계 학습 서비스에! 여자 친구 앞에서도 과시하고 싶다면 GitHub 소스 코드 를 다운로드하세요 .
>> Huawei Developer Alliance 의 공식 웹 사이트를 방문하여 자세한 내용을 확인하십시오.
>> 개발 지침 문서 받기
>> Huawei 모바일 서비스 오픈 소스웨어 하우스 주소 : GitHub , Gitee
우리를 팔로우하고 처음으로 Huawei Mobile Services의 최신 기술 정보에 대해 알아보세요 ~