MediaPipe Yüz Stiliz Aracı görevi, bir resimdeki yüzlere yüz stillendirmeleri uygulamanıza olanak tanır. Bu görevi çeşitli stillerde sanal avatarlar oluşturmak için kullanabilirsiniz.
Bu talimatlarda açıklanan kod örneğine GitHub'dan ulaşabilirsiniz. Bu görevin özellikleri, modelleri ve yapılandırma seçenekleri hakkında daha fazla bilgi için Genel Bakış'a bakın.
Kod örneği
Yüz Stili Aracı örnek kodu, size referans olması açısından bu görevin Python'da eksiksiz bir uygulamasını sunmaktadır. Bu kod, bu görevi test etmenize ve kendi yüz stilinizi oluşturmaya başlamanıza yardımcı olur. Yüz Stili Aracı örnek kodunu yalnızca web tarayıcınızı kullanarak görüntüleyebilir, çalıştırabilir ve düzenleyebilirsiniz.
Kurulum
Bu bölümde, geliştirme ortamınızı kurmanın temel adımları açıklanmaktadır ve projelerinizi özellikle Yüz Stiliz Aracı'nı kullanacak şekilde kodlamalısınız. Platform sürümü gereksinimleri de dahil olmak üzere, MediaPipe görevlerini kullanmak amacıyla geliştirme ortamınızı ayarlama hakkında genel bilgileri Python için kurulum kılavuzu bölümünde bulabilirsiniz.
Paketler
MediaPipe Yüz Stilisti görevi, mediapipe PyPI paketini gerektirir. Bu bağımlılıkları aşağıdakilerle yükleyebilir ve içe aktarabilirsiniz:
$ python -m pip install mediapipe
İçe Aktarımlar
Yüz Stilisti görev işlevlerine erişmek için aşağıdaki sınıfları içe aktarın:
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision
Model
MediaPipe Yüz Stilisti görevi, bu görevle uyumlu, eğitilmiş bir model gerektirir. Yüz Stilisti için eğitilmiş modellerle ilgili daha fazla bilgi için göreve genel bakış Modeller bölümüne bakın.
Modeli seçip indirin ve ardından yerel bir dizinde depolayın:
model_path = '/absolute/path/to/face_stylizer.task'
Kullanılacak modelin yolunu belirtmek için BaseOptions
nesnesi model_asset_path
parametresini kullanın. Kod örneği için sonraki bölüme bakın.
Görevi oluşturma
MediaPipe Yüz Stilisti görevi, görevi ayarlamak için create_from_options
işlevini kullanır. create_from_options
işlevi, işlenecek yapılandırma seçeneklerinin değerlerini kabul eder.
Aşağıdaki kod bu görevin nasıl oluşturulacağını ve yapılandırılacağını gösterir.
import mediapipe as mp
BaseOptions = mp.tasks.BaseOptions
Facestylizer = mp.tasks.vision.face_stylizer
FacestylizerOptions = mp.tasks.vision.FaceStylizerOptions
# Create a face stylizer instance with the image mode:
options = FacestylizerOptions(
base_options=BaseOptions(model_asset_path=model_path),
with Facestylizer.create_from_options(options) as stylizer:
# The stylizer is initialized. Use it here.
# ...
Verileri hazırlama
Girişinizi görüntü dosyası veya numpy dizisi olarak hazırlayıp mediapipe.Image
nesnesine dönüştürün. Girişiniz, video dosyası veya web kamerasından canlı yayın ise giriş karelerinizi sayı dizileri olarak yüklemek için OpenCV gibi harici bir kitaplık kullanabilirsiniz.
import mediapipe as mp
# Load the input image from an image file.
mp_image = mp.Image.create_from_file('/path/to/image')
# Load the input image from a numpy array.
mp_image = mp.Image(image_format=mp.ImageFormat.SRGB, data=numpy_image)
Görevi çalıştırma
Yüz Stilisti, çıkarımları tetiklemek için stylize
işlevini kullanır. Yüz stilini belirlerken giriş verilerinin önceden işlenmesi ve resimdeki yüzlerin stilize edilmesi de buna dahildir.
Aşağıdaki kod, işlemenin görev modeliyle nasıl yürütüleceğini gösterir.
# Perform face stylization on the provided single image.
# The face stylizer must be created with the image mode.
face_stylizer_result = stylizer.stylize(mp_image)
Sonuçları işleme ve görüntüleme
Yüz Stilisti, giriş resmindeki en belirgin yüzün stilinin yer aldığı bir Image
nesnesi döndürür.
Aşağıda, bu görevden alınan çıkış verilerinin bir örneği gösterilmektedir:
Yukarıdaki çıkış, aşağıdaki giriş resmine Renk çizimi modeli uygulanarak oluşturulmuştur: