Справочная информация
Недавно я прочитал статью, в которой рассказывалось о том, что мы, люди, жестко запрограммированы на режим «бой или бегство», когда понимаем, что за нами наблюдают. Это чувство особенно сильно, когда кто-то другой пытается нас сфотографировать, поэтому многим из нас трудно улыбаться на фотографиях. Этот эффект настолько силен, что все мы сталкивались с ситуацией, когда смотрим на фотографию сразу после съемки и сразу же замечаем, что снимок нужно переснять, потому что наша улыбка была недостаточно широкой или выглядела неестественно. Поэтому в следующий раз, когда кто-то будет критиковать мою улыбку на фотографии, я просто скажу им: «Это не моя вина. Это буквально эволюционная особенность!».
Или, вместо того чтобы оправдываться, может, обратиться за помощью к технологиям? На самом деле, я пробовал использовать некоторые приложения для редактирования фотографий, чтобы изменить свои портретные снимки, сделать выражение лица более приятным, например, убрать брекеты, отбелить зубы и стереть линии улыбки. Однако, возможно, это из-за моих ржавых навыков редактирования изображений, измененные снимки часто получаются странными.
Отсутствие успеха в редактировании фотографий заставило меня задуматься: Разве не было бы здорово, если бы существовала функция, специально разработанная для таких людей, как я, которым трудно улыбаться естественно на фотографиях и которые не умеют редактировать фотографии, которая могла бы автоматически создавать нам идеальные улыбки?
И тут я вдруг вспомнил, что слышал об интересной функции под названием «Фильтр улыбки», которая получила широкое распространение в различных приложениях и платформах. Фильтр улыбки — это функция приложения, которая может автоматически добавить естественную улыбку к лицу, обнаруженному на изображении. Я уже пробовал эту функцию и был поражен результатом. В свете внезапного воспоминания я решил создать демонстрационное приложение с аналогичной функцией, чтобы понять принцип ее работы.
Чтобы снабдить свое приложение фильтром улыбки, я решил использовать функцию автоматической улыбки, предоставляемую HMS Core Video Editor Kit. Эта функция автоматически определяет людей на изображении и затем осветляет обнаруженные лица улыбкой (с закрытым или открытым ртом), которая идеально сочетается со структурой лица каждого человека. С помощью такой возможности мобильное приложение может создать идеальную улыбку за считанные секунды и избавить пользователей от необходимости использовать профессиональную программу редактирования изображений.
Проверьте результат сами:
Выглядит довольно естественно, правда? Вот результат, предлагаемый моим демонстрационным приложением с функцией автоулыбки. Оригинальное изображение выглядит так:
Далее я расскажу, как я интегрировал функцию автоулыбки в свое приложение, и поделюсь соответствующим исходным кодом моего демонстрационного приложения.
Процедура интеграции
Подготовка
i. Настройте необходимую информацию о приложении. На этом этапе необходимо зарегистрировать учетную запись разработчика, создать приложение, сгенерировать отпечаток сертификата подписи, настроить отпечаток и включить необходимые службы.
ii. Интегрируйте SDK комплекта.
iii. Настройте скрипты обфускации.
iv. Объявите необходимые разрешения.
Конфигурация проекта
i. Задайте информацию об аутентификации приложения. Это можно сделать с помощью ключа API или маркера доступа.
- При использовании API-ключа: вам нужно установить информацию об аутентификации приложения только один раз во время инициализации приложения.
MediaApplication.getInstance().setApiKey("your ApiKey");
- Или, используя маркер доступа: Вам нужно установить информацию об аутентификации приложения только один раз во время инициализации приложения.
MediaApplication.getInstance().setAccessToken("your access token");
ii. Задайте идентификатор лицензии, который должен быть уникальным, поскольку он используется для управления квотами использования услуги.
MediaApplication.getInstance().setLicenseId("License ID");
iii. Инициализируйте среду выполнения для объекта HuaweiVideoEditor. Не забудьте освободить объект HuaweiVideoEditor при выходе из проекта.
- Создайте объект HuaweiVideoEditor.
HuaweiVideoEditor editor = HuaweiVideoEditor.create(getApplicationContext());
- Укажите положение области предварительного просмотра. Такая область используется для рендеринга видеоизображений, что реализуется SurfaceView, созданным в SDK. Прежде чем создавать такую область, сначала укажите ее положение в приложении.
<LinearLayout
android:id="@+id/video_content_layout"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/video_edit_main_bg_color"
android:gravity="center"
android:orientation="vertical" />
// Specify the preview area position.
LinearLayout mSdkPreviewContainer = view.findViewById(R.id.video_content_layout);
// Specify the preview area layout.
editor.setDisplay(mSdkPreviewContainer);
- Инициализируйте среду выполнения. Если проверка лицензии не удалась, будет выброшен LicenseException.
После создания объект HuaweiVideoEditor не будет занимать системные ресурсы. Вам необходимо вручную установить, когда будет инициализирована среда выполнения объекта. После этого в SDK будут созданы необходимые потоки и таймеры.
try {
editor.initEnvironment();
} catch (LicenseException error) {
SmartLog.e(TAG, "initEnvironment failed: " + error.getErrorMsg());
finish();
return;
}
Разработка функций
// Apply the auto-smile effect. Currently, this effect only supports image assets.
imageAsset.addFaceSmileAIEffect(new HVEAIProcessCallback() {
@Override
public void onProgress(int progress) {
// Callback when the handling progress is received.
}
@Override
public void onSuccess() {
// Callback when the handling is successful.
}
@Override
public void onError(int errorCode, String errorMessage) {
// Callback when the handling failed.
}
});
// Stop applying the auto-smile effect.
imageAsset.interruptFaceSmile();
// Remove the auto-smile effect.
imageAsset.removeFaceSmileAIEffect();
Таким образом, я успешно интегрировал функцию автоулыбки в свое демонстрационное приложение, и теперь оно может автоматически добавлять улыбки к лицам, обнаруженным на входном изображении.
Заключение
Исследования показали, что для людей нормально вести себя неестественно, когда нас фотографируют. Такая неестественность становится еще более очевидной, когда мы пытаемся улыбнуться. Это объясняет, почему многие приложения для социальных сетей и редактирования видео/изображений ввели функции фильтра улыбки, которые позволяют пользователям легко и быстро добавить естественную улыбку к лицам на изображении.
Среди различных решений такой функции функция автоулыбки в HMS Core Video Editor Kit выделяется тем, что обеспечивает превосходные, естественно выглядящие результаты и отличается простой и быстрой интеграцией.
Более того, функцию автоулыбки можно использовать вместе с другими функциями из того же набора, чтобы еще больше расширить возможности пользователей по редактированию изображений. Например, при использовании в сочетании с функцией AI color из набора можно добавить цвет к старой черно-белой фотографии, а затем с помощью функции auto-smile добавить улыбки к угрюмым выражениям лиц людей на фотографии. Это отличный способ освежить старые и унылые фотографии прошлых лет.
И это только один из вариантов использования функции автоулыбки в сочетании с другими возможностями. А какие идеи есть у вас? С нетерпением ждем ваших мыслей в разделе комментариев.