Udhëzues interaktiv i segmentimit të imazheve për Python

Detyra MediaPipe Interactive Image Segmenter merr një vendndodhje në një imazh, vlerëson kufijtë e një objekti në atë vendndodhje dhe kthen segmentimin për objektin si të dhëna imazhi. Këto udhëzime ju tregojnë se si të përdorni Segmenterin Interaktiv të Imazhit me gjuhën Python. Për më shumë informacion rreth aftësive, modeleve dhe opsioneve të konfigurimit të kësaj detyre, shihni Përmbledhjen .

Shembull kodi

Kodi shembull për Segmenterin Interaktiv të Imazhit ofron një zbatim të plotë të kësaj detyre në Python për referencën tuaj. Ky kod ju ndihmon të testoni këtë detyrë dhe të filloni ndërtimin e aplikacionit tuaj interaktiv të segmentimit të imazheve. Mund të shikoni, ekzekutoni dhe modifikoni shembullin e kodit të segmentit të imazhit interaktiv duke përdorur vetëm shfletuesin tuaj të internetit.

Konfigurimi

Ky seksion përshkruan hapat kryesorë për konfigurimin e mjedisit tuaj të zhvillimit dhe projekteve të kodit në mënyrë specifike për të përdorur Segmentuesin Interaktiv të Imazhit. Për informacion të përgjithshëm mbi konfigurimin e mjedisit tuaj të zhvillimit për përdorimin e detyrave të MediaPipe, duke përfshirë kërkesat e versionit të platformës, shihni udhëzuesin e konfigurimit për Python . Mund të rishikoni kodin burimor për këtë shembull në GitHub

Paketat

Detyra MediaPipe Interactive Image Segmenter kërkon paketën mediapipe . Ju mund të instaloni varësitë e kërkuara me komandën e mëposhtme:

$ python -m pip install mediapipe

Importet

Importoni klasat e mëposhtme për të hyrë në funksionet e detyrave të Segmentuesit Interaktiv të Imazhit:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision

Model

Detyra MediaPipe Interactive Image Segmenter kërkon një model të trajnuar që është në përputhje me këtë detyrë. Për më shumë informacion mbi modelet e trajnuara të disponueshme për Segmenterin Interaktiv të Imazhit, shihni seksionin Modelet e përmbledhjes së detyrave.

Zgjidhni dhe shkarkoni modelin dhe më pas ruajeni në direktorinë e projektit tuaj:

model_path = '/absolute/path/to/model.tflite'

Specifikoni shtegun e modelit brenda parametrit model_asset_path , siç tregohet më poshtë:

base_options = BaseOptions(model_asset_path=model_path)

Krijo detyrën

Detyra MediaPipe Interactive Image Segmenter përdor funksionin create_from_options për të vendosur detyrën. Funksioni create_from_options pranon vlera për opsionet e konfigurimit që duhen trajtuar. Për më shumë informacion mbi opsionet e konfigurimit, shihni Opsionet e konfigurimit . Kodi i mëposhtëm tregon se si të ndërtohet dhe konfigurohet kjo detyrë.

BaseOptions = mp.tasks.BaseOptions
InteractiveSegmenter = mp.tasks.vision.InteractiveSegmenter
InteractiveSegmenterOptions = mp.tasks.vision.InteractiveSegmenterOptions
VisionRunningMode = mp.tasks.vision.RunningMode

# Create a image segmenter instance with the image mode:
options = InteractiveSegmenterOptions(
    base_options=BaseOptions(model_asset_path='/path/to/model.task'),
    running_mode=VisionRunningMode.IMAGE,
    output_type=InteractiveSegmenterOptions.OutputType.CATEGORY_MASK)
with InteractiveSegmenter.create_from_options(options) as segmenter:
# segmenter is initialized and ready to use
output_category_mask Nëse vendoset në True , dalja përfshin një maskë segmentimi si një imazh uint8, ku çdo vlerë piksel tregon nëse piksel është pjesë e objektit të vendosur në zonën e interesit. { True, False } False output_confidence_masks Nëse vendoset në True , dalja përfshin një maskë segmentimi si një imazh me vlerë notuese, ku çdo vlerë float përfaqëson besimin se piksel është pjesë e objektit të vendosur në zonën e interesit. { True, False } True display_names_locale Vendos gjuhën e etiketave për t'u përdorur për emrat e shfaqur të dhëna në meta të dhënat e modelit të detyrës, nëse disponohet. Parazgjedhja është en për anglisht. Ju mund të shtoni etiketa të lokalizuara në meta të dhënat e një modeli të personalizuar duke përdorur API-në e shkrimtarit metadata TensorFlow Lite Kodi lokal sq

Përgatitni të dhënat

Përgatitni hyrjen tuaj si një skedar imazhi ose një grup numpy, më pas konvertojeni atë në një objekt mediapipe.Image .

# 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)
RegionOfInterest = vision.InteractiveSegmenterRegionOfInterest
# Perform image segmentation on the provided single image.
# The image segmenter must be created with the image mode.
roi = RegionOfInterest(format=RegionOfInterest.Format.KEYPOINT,
                          keypoint=NormalizedKeypoint(x, y))
segmented_masks = segmenter.segment(mp_image, roi)