MediaPipe Yüz Biçimlendirici görevi, bir resimdeki yüzlere yüz stilleri uygulamanıza olanak tanır. Bu görevi kullanarak çeşitli stillerde sanal avatarlar oluşturabilirsiniz.
Bu talimatlarda açıklanan kod örneğini GitHub'da bulabilirsiniz. Özellikler, modeller ve yapılandırma seçenekleri hakkında daha fazla bilgi Bu görev hakkında daha fazla bilgi için Genel Bakış'ı inceleyin.
Kod örneği
Yüz Şekillendirici için örnek kod, bu özelliğin eksiksiz bir şekilde uygulanmasını sağlar. görevi görebilir. Bu kod, görevi test etmenize ve kendi yüz stilinizi oluşturmaya başladınız. Şurayı görüntüleyebilir, çalıştırabilir ve düzenleyebilirsiniz: Yüz Stilisti örnek kodu yalnızca web tarayıcınızı kullanarak.
Kurulum
Bu bölümde, geliştirme ortamınızı ve ayarlarınızı yönetmeyle ilgili ve Yüz Şekillendirici'yi kullanmak için özel olarak kod projeleri. Şu konularda genel bilgi için: dahil olmak üzere MediaPipe görevlerini kullanmak için geliştirme ortamınızı platform sürümü gereksinimleri hakkında daha fazla bilgi için Python'da kullanılabilir.
Paketler
MediaPipe Yüz Biçimlendirici görevi, mediapipe PyPI paketini gerektirir. Bu uygulamaları yükleyebilir ve bu bağımlılıkları aşağıdaki şekilde içe aktarın:
$ python -m pip install mediapipe
İçe aktarılanlar
Yüz Stylizer 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 Stilizatör görevi, bu yazılımla uyumlu olan eğitilmiş bir model gerektiriyor görevi görebilir. Yüz Şekillendirici için eğitilen modeller hakkında daha fazla bilgi için göreve genel bakış Modeller bölümü.
Modeli seçin ve indirin, ardından yerel bir dizinde depolayın:
model_path = '/absolute/path/to/face_stylizer.task'
Şunun yolunu belirtmek için BaseOptions
nesnesi model_asset_path
parametresini kullanın:
modele göre belirleniyor. Kod örneği için sonraki bölüme bakın.
Görevi oluşturma
MediaPipe Yüz Stylizer görevi, create_from_options
işlevini kullanarak
görevi görebilir. create_from_options
işlevi, yapılandırma için değerleri kabul eder
pek çok seçeneği vardır.
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 bir görüntü dosyası veya Numpy dizisi olarak hazırlayın ve daha sonra
mediapipe.Image
nesne algılandı. Girişiniz bir video dosyası veya
şunun gibi harici bir kitaplık kullanabilirsiniz:
Giriş çerçevelerinizi numpy olarak yüklemek için OpenCV
dizi'dir.
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 Oluşturucu, çıkarımları tetiklemek için stylize
işlevini kullanır. Yüz için
stilizasyon, giriş verilerinin önceden işlenmesini ve
görüntüsüdür.
Aşağıdaki kod, görevle işlemin nasıl yürütüleceğini gösterir modeli.
# 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, en yüksek stile sahip Image
nesnesini döndürür.
giriş görüntüsünde belirgin yüz.
Aşağıda, bu görevdeki çıkış verilerinin bir örneği gösterilmektedir:
Yukarıdaki çıktı, Renk çizimi uygulanarak oluşturulmuştur modelini aşağıdaki giriş resmine ekleyerek: