Udhëzuesi i detyrës për futjen e imazhit

Dy imazhe shembuj të koneve të akullores që përfshijnë futjet numerike të imazheve si vargje

Detyra MediaPipe Image Embedder ju lejon të krijoni një paraqitje numerike të një imazhi, e cila është e dobishme në kryerjen e detyrave të ndryshme të imazhit të bazuara në ML. Ky funksionalitet përdoret shpesh për të krahasuar ngjashmërinë e dy imazheve duke përdorur teknika krahasimi matematikore si p.sh. ngjashmëria e kosinusit. Kjo detyrë funksionon në të dhënat e imazhit me një model të mësimit të makinerive (ML) si të dhëna statike ose një rrjedhë të vazhdueshme, dhe nxjerr një paraqitje numerike të të dhënave të imazhit si një listë e vektorëve të veçorive me dimensione të larta, të njohur gjithashtu si vektorë ngulitës, në të dyja -formë pikësore ose e kuantizuar.

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ërdorur një model të rekomanduar dhe ofrojnë shembuj kodesh 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.
  • Rajoni i interesit - Kryen futjen në një rajon të imazhit në vend të të gjithë imazhit.
  • Përfshirja e llogaritjes së ngjashmërisë - Funksioni i integruar i shërbimeve për të llogaritur ngjashmërinë e kosinusit midis dy vektorëve të veçorive
  • Kuantizimi - Mbështet kuantizimin skalar për vektorët e veçorive.
Hyrjet 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 i drejtpërdrejtë i videos
Image Embedder nxjerr një listë të futjeve të përbërë nga:
  • Embedding: Vektori i veçorive në vetvete, qoftë në formë me pikë lundruese ose të kuantizuar në shkallë.
  • Indeksi i kokës: indeksi për kokën që ka prodhuar këtë ngulitje.
  • Emri i kokës (opsionale): emri i kokës që ka prodhuar këtë ngulitje.

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
l2_normalize Nëse do të normalizohet vektori i tipareve të kthyera me normën L2. Përdoreni këtë opsion vetëm nëse modeli nuk përmban tashmë një L2_NORMALIZATION TFLite Op. Në shumicën e rasteve, ky është tashmë rasti dhe normalizimi i L2 arrihet në këtë mënyrë përmes përfundimit të TFLite pa pasur nevojë për këtë opsion. Boolean False
quantize Nëse futja e kthyer duhet të kuantizohet në bajt nëpërmjet kuantizimit skalar. Përfshirjet supozohen në mënyrë implicite si njësi-normë dhe për këtë arsye çdo dimension është i garantuar të ketë një vlerë në [-1.0, 1.0]. Përdorni opsionin l2_normalize nëse nuk është kështu. Boolean False
result_callback Vendos dëgjuesin e rezultateve që të marrë rezultatet e ngulitjes në mënyrë asinkrone kur Embedder i imazhit është në modalitetin e transmetimit të drejtpërdrejtë. Mund të përdoret vetëm kur modaliteti i ekzekutimit është caktuar në LIVE_STREAM N/A Nuk është vendosur

Modelet

Embedder-i i imazhit kërkon që një model i futjes së imazhit të shkarkohet dhe të ruhet në drejtorinë e projektit tuaj. Filloni me modelin e paracaktuar, të rekomanduar për platformën tuaj të synuar kur të filloni të zhvilloni këtë detyrë. Modelet e tjera të disponueshme zakonisht bëjnë shkëmbime ndërmjet performancës, saktësisë, rezolucionit dhe kërkesave për burime, dhe në disa raste, përfshijnë veçori shtesë.

Modeli MobileNetV3

Kjo familje modelesh përdor një arkitekturë MobileNet V3 dhe është trajnuar duke përdorur të dhënat ImageNet . Ky model përdor një shumëzues prej 0.75 për thellësinë (numrin e veçorive) në shtresat konvolucionale për të akorduar shkëmbimin e saktësisë dhe vonesës. Përveç kësaj, MobileNet V3 vjen në dy madhësi të ndryshme, të vogla dhe të mëdha, për të përshtatur rrjetin me rastet e përdorimit të burimeve të ulëta ose të larta.

Emri i modelit Forma e hyrjes Lloji i kuantizimit Versionet
MobileNet-V3 (i vogël) 224 x 224 Asnjë (float32) E fundit
MobileNet-V3 (i madh) 224 x 224 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ë
MobileNet-V3 (i vogël) 3.94 ms 7.83 ms
MobileNet-V3 (i madh) 9.75 ms 9.08 ms