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

MediaPipe Yüz Stilize Etme görevi, bir resimdeki yüzlere yüz stilizasyonları uygulamanıza olanak tanır. Çeşitli stillerde sanal avatarlar oluşturmak için bu görevi kullanabilirsiniz.

Bu talimatlarda açıklanan kod örneğini GitHub'da bulabilirsiniz. Bu görevin özellikleri, modelleri ve yapılandırma seçenekleri hakkında daha fazla bilgi için Genel bakış bölümüne bakın.

Kod örneği

Face Stylizer için örnek kodda, bu görevin Python'da eksiksiz bir şekilde uygulanmasına referans olarak yer verilmiştir. Bu kod, bu görevi test etmenize ve kendi yüz şekillendiricinizi oluşturmaya başlamanıza yardımcı olur. Yalnızca web tarayıcınızı kullanarak Kadran Stilleştirici örnek kodunu görüntüleyebilir, çalıştırabilir ve düzenleyebilirsiniz.

Kurulum

Bu bölümde, geliştirme ortamınızı ve kod projelerinizi özellikle Face Stylizer'ı kullanacak şekilde ayarlamayla ilgili temel adımlar açıklanmaktadır. Platform sürümü gereksinimleri dahil olmak üzere, geliştirme ortamınızı MediaPipe görevlerini kullanmak için ayarlama hakkında genel bilgi için Python için kurulum kılavuzuna bakın.

Paketler

MediaPipe Face Stylizer görevi için mediapipe PyPI paketi gerekir. Bu bağımlılıkları aşağıdakilerle yükleyip içe aktarabilirsiniz:

$ python -m pip install mediapipe

İçe aktarılanlar

Yüz Stilleştirici 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 Face Stylizer görevi, bu görevle uyumlu bir eğitimli model gerektirir. Face Stylizer için kullanılabilen eğitilmiş modeller hakkında daha fazla bilgi edinmek istiyorsanız göreve genel bakıştaki Modeller bölümüne bakın.

Modeli seçip indirin ve 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şturun

MediaPipe Face Stylizer görevi, görevi ayarlamak için create_from_options işlevini kullanır. create_from_options işlevi, yapılandırma seçeneklerinin kullanılacağı değerleri kabul eder.

Aşağıdaki kodda, bu görevin nasıl oluşturulacağı ve yapılandırılacağı gösterilmektedir.

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 resim dosyası veya numpy dizisi olarak hazırlayın, ardından mediapipe.Image nesnesine dönüştürün. Girişiniz bir video dosyası veya web kamerasından canlı yayın ise giriş karelerinizi numpy 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 Stilleştirici, çıkarım yapmak için stylize işlevini kullanır. Yüz stilizasyonu için bu işlem, giriş verilerini ön işleme ve resimdeki yüzleri stilize etmeyi içerir.

Aşağıdaki kodda, işleme işleminin görev modeliyle nasıl yürütüleceği gösterilmektedir.

# 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 Stilize Etme işlevi, giriş resmindeki en belirgin yüzün stilize edilmiş halini içeren bir Image nesnesi döndürür.

Aşağıda, bu görevin çıkış verilerine örnek verilmiştir:

Kalem ve işaretleyiciyle çizilmiş bir eskiz stilinde bir kadının oluşturulmuş yakın çekimi.

Yukarıdaki çıkış, Renk taslağı modeli aşağıdaki giriş resmine uygulanarak oluşturulmuştur:

Önceki çıkışı oluşturmak için resmi kullanılan kadının fotoğrafı