Python için yüz biçimlendirme kılavuzu

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: