Udhëzues për ndarjen e imazheve

Shembuj krah për krah të një fotografie nga afër të një burri pranë maskës së imazhit që përshkruan formën e burrit

Detyra MediaPipe Image Segmenter ju lejon të ndani imazhet në rajone bazuar në kategoritë e paracaktuara. Ju mund ta përdorni këtë funksionalitet për të identifikuar objekte ose tekstura specifike dhe më pas të aplikoni efekte vizuale si turbullimi i sfondit. Kjo detyrë përfshin disa modele të trajnuara posaçërisht për segmentimin e njerëzve dhe veçorive të tyre brenda të dhënave të imazhit, duke përfshirë:

  • Personi dhe prejardhja
  • Vetëm flokët e një personi
  • Flokët, fytyra, lëkura, veshjet dhe aksesorët e personit

Kjo detyrë funksionon në të dhënat e imazhit me një model të mësimit të makinës (ML) me imazhe të vetme ose një transmetim të vazhdueshëm video. Ai nxjerr një listë të rajoneve të segmentuara, që përfaqësojnë objekte ose zona në një imazh, në varësi të modelit që zgjidhni.

Provojeni!

Filloni

Filloni ta përdorni këtë detyrë duke ndjekur një nga këto udhëzues zbatimi për platformën tuaj të synuar. Këta udhëzues specifikë të platformës ju përcjellin një zbatim bazë të kësaj detyre, duke përfshirë një model të rekomanduar dhe shembull kodi me opsionet e rekomanduara të konfigurimit:

Detajet e detyrës

Ky seksion përshkruan aftësitë, hyrjet, daljet dhe opsionet e konfigurimit të kësaj detyre.

Veçoritë

  • Përpunimi i imazhit në hyrje - Përpunimi përfshin rrotullimin e imazhit, ndryshimin e madhësisë, normalizimin dhe konvertimin e hapësirës së ngjyrave.
Inputet e detyrave Rezultatet e detyrave
Hyrja mund të jetë një nga llojet e mëposhtme të të dhënave:
  • Imazhe të palëvizshme
  • Korniza video të deshifruara
  • Furnizimi me video drejtpërdrejt
Segmentuesi i imazhit nxjerr të dhëna të segmentuara të imazhit, të cilat mund të përfshijnë një ose të dyja nga sa vijon, në varësi të opsioneve të konfigurimit që vendosni:
  • CATEGORY_MASK : një listë që përmban një maskë të segmentuar si imazh i formatit uint8. Çdo vlerë piksel tregon nëse është pjesë e një kategorie të caktuar segmenti të mbështetur nga modeli.
  • CONFIDENCE_MASK : një listë kanalesh që përmbajnë një maskë të segmentuar me vlera pikselësh në formatin float32. Çdo vlerë piksel tregon nivelin e besimit që është pjesë e një kategorie specifike të mbështetur nga modeli.

Opsionet e konfigurimeve

Kjo detyrë ka opsionet e mëposhtme të konfigurimit:

Emri i opsionit Përshkrimi Gama e vlerave Vlera e paracaktuar
running_mode Vendos modalitetin e ekzekutimit për detyrën. Ekzistojnë tre mënyra:

IMAGE: Modaliteti për hyrjet e një imazhi të vetëm.

VIDEO: Modaliteti për kornizat e dekoduara të një videoje.

LIVE_STREAM: Modaliteti për një transmetim të drejtpërdrejtë të të dhënave hyrëse, si p.sh. nga një aparat fotografik. Në këtë modalitet, resultListener duhet të thirret për të vendosur një dëgjues për të marrë rezultatet në mënyrë asinkrone.
{ IMAGE, VIDEO, LIVE_STREAM } IMAGE
output_category_mask Nëse vendoset në True , dalja përfshin një maskë segmentimi si një imazh uint8, ku çdo vlerë piksel tregon vlerën e kategorisë fituese. { 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ë notuese përfaqëson hartën e rezultateve të besimit të kategorisë. { 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
result_callback Vendos dëgjuesin e rezultateve që të marrë rezultatet e segmentimit në mënyrë asinkrone kur segmentuesi i imazhit është në modalitetin LIVE_STREAM . Mund të përdoret vetëm kur modaliteti i ekzekutimit është caktuar në LIVE_STREAM N/A N/A

Modelet

Segmentuesi i imazhit mund të përdoret me më shumë se një model ML. Shumica e modeleve të segmentimit të mëposhtëm janë ndërtuar dhe trajnuar për të kryer segmentimin me imazhe të njerëzve. Megjithatë, modeli DeepLab-v3 është ndërtuar si një segmentues imazhi për qëllime të përgjithshme. Zgjidhni modelin që i përshtatet më së miri aplikacionit tuaj.

Modeli i segmentimit të selfieve

Ky model mund të segmentojë portretin e një personi dhe mund të përdoret për të zëvendësuar ose modifikuar sfondin në një imazh. Modeli nxjerr dy kategori, sfond në indeksin 0 dhe person në indeksin 1. Ky model ka versione me forma të ndryshme hyrëse, duke përfshirë versionin katror dhe një version peizazhi, i cili mund të jetë më efikas për aplikacionet ku hyrja është gjithmonë në atë formë, si thirrjet video .

Emri i modelit Forma e hyrjes Lloji i kuantizimit Kartelë model Versionet
SelfieSegmenter (katror) 256 x 256 noton 16 informacion E fundit
SelfieSegmenter (peizazh) 144 x 256 noton 16 informacion E fundit

Modeli i ndarjes së flokëve

Ky model merr një imazh të një personi, vendos flokët në kokën e tij dhe nxjerr një hartë të segmentimit të imazhit për flokët e tyre. Ju mund ta përdorni këtë model për rilyerjen e flokëve ose aplikimin e efekteve të tjera të flokëve. Modeli nxjerr kategoritë e mëposhtme të segmentimit:

0 - background
1 - hair
Emri i modelit Forma e hyrjes Lloji i kuantizimit Kartelë model Versionet
HairSegmenter 512 x 512 Asnjë (float32) informacion E fundit

Modeli i segmentimit të selfieve me shumë klasa

Ky model merr një imazh të një personi, lokalizon zona për zona të ndryshme si flokët, lëkura dhe veshja, dhe nxjerr një hartë të segmentimit të imazhit për këto artikuj. Ju mund ta përdorni këtë model për të aplikuar efekte të ndryshme te njerëzit në imazhe ose video. Modeli nxjerr kategoritë e mëposhtme të segmentimit:

0 - background
1 - hair
2 - body-skin
3 - face-skin
4 - clothes
5 - others (accessories)
Emri i modelit Forma e hyrjes Lloji i kuantizimit Kartelë model Versionet
SelfieMulticlass (256 x 256) 256 x 256 Asnjë (float32) informacion E fundit

Modeli DeepLab-v3

Ky model identifikon segmente për një sërë kategorish, duke përfshirë sfondin, personin, macen, qenin dhe bimët në vazo. Modeli përdor grumbullimin e piramidës hapësinore atrous për të kapur informacione me rreze më të gjatë. Për më shumë informacion, shihni DeepLab-v3 .

Emri i modelit Forma e hyrjes Lloji i kuantizimit Versionet
DeepLab-V3 257 x 257 Asnjë (float32) E fundit

Standardet e detyrave

Këtu janë standardet e detyrave për të gjithë tubacionin bazuar në modelet e mësipërme të para-trajnuara. Rezultati i vonesës është vonesa mesatare në Pixel 6 duke përdorur CPU / GPU.

Emri i modelit Vonesa e CPU-së Vonesa e GPU-së
SelfieSegmenter (katror) 33.46 ms 35.15 ms
SelfieSegmenter (peizazh) 34.19 ms 33.55 ms
HairSegmenter 57,90 ms 52.14 ms
SelfieMulticlass (256 x 256) 217.76 ms 71.24 ms
DeepLab-V3 123.93 ms 103.30 ms