Előre korlátozott kaszkádolt képbesorolás

Fontos

A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.

2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.

A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.

Előre beképezett képosztályozási modellt hoz létre a frontális arcok számára az OpenCV-kódtár használatával

Kategória: OpenCV kódtármodulok

Megjegyzés

A következőkre vonatkozik: Machine Learning Studio (klasszikus)

Hasonló húzással használható modulok érhetők el Azure Machine Learning tervezőben.

A modul áttekintése

Ez a cikk azt ismerteti, hogyan használható a Machine Learning Studio (klasszikus) pretrained Cascade Image Classification (Előre korlátozott kaszkádolt képbesorolás) modulja a képeken látható arcok észlelésére.

A modell az OpenCV-kódtáron alapul. Az OpenCV-kódtár előre definiált modellek listáját tartalmazza, amelyek mindegyikét egy adott objektumtípus észlelésére optimalizálták.

További információk az előre betanított modellről

Ezt a képfelismerési modellt már betanítottunk nagy mennyiségű képpel, amelyek széles körben használatosak képfelismerési feladatokhoz. Ez az adott besorolási modell arcfelismerésre lett optimalizálva, és a Viola-Jones algoritmust használja. A modell célja az emberi arcot frontális nézetben tartalmazó képek azonosítása.

Bár jelenleg csak egy OpenCV képosztályozási modell érhető el, a későbbi kiadásokban további előre korlátozott modellek is elérhetők lehetnek.

Előre betanított modell használata

Ha elemezni szeretne egy képkészletet, adja meg őket bemenetként a Modell pontozása modulhoz a témakörben leírtak szerint, és csatolja ezt a modult, amely biztosítja az előre korlátozott OpenCV kódtármodellt.

A Score Model ( Modell pontozása) modul a képbesorolási modellel határozza meg, hogy a kép tartalmaz-e emberi arcot, és minden bemenetként használt kép valószínűségi pontszámát adja vissza.

Az előre korlátozott kaszkádolt képbesoroláson alapuló modellek nem képezhetőek újra az új képadatokon.

A modell tárolóformátuma nem kompatibilis a Modell betanítás és Kereszt-ellenőrzés modulokkal.

Előre korlátozott kaszkádolt képbesorolás konfigurálása

A modellben használt képbesorolási Machine Learning már betanítva lett egy nagy adatkészlet használatával, és egy adott képtípushoz van optimalizálva. Ezért mindössze meg kell adnia egy képkészletet pontozási adatkészletként. Kimenetként a modul létrehoz egy pontszámot, amely jelzi, hogy minden kép tartalmazza-e a célként kívánt képtípust.

  1. Készítse elő és importálja a pontozáshoz használni tervezi képek adatkészletét. Általánosságban elmondható, hogy az adatkészlet összes képének azonos méretűnek kell lennie.

    A képeket az Import Images (Képek importálása) modullal adjuk hozzá a kísérlethez . Olvassa el a Képek importálása– súgót, hogy a használt képek megfelelnek-e a követelményeknek. Arról is gondoskodnia kell, hogy a rendszerképek elérhetők legyenek a megadott tárolási beállításban.

  2. Adja hozzá az előre korlátozott Kaszkádolt képosztályozás modult a kísérlethez a Studióban (klasszikus). Ezt a modult az OpenCV-könyvtár kategóriában találja .

  3. Válasszon ki egy előre betanított osztályozót az Előre betanított osztályozó listájából.

    Jelenleg csak egy osztályozó érhető el: az alapértelmezés szerint kiválasztott frontális arc.

  4. Méretezési tényező: Írjon be egy értéket, amely meghatározza, hogy a képméret mekkora mértékben csökken az egyes képméretekben.

    Az OpenCV-kódtárban az osztályozó úgy van kialakítva, hogy könnyen átméretezhető legyen, hogy különböző méretekben is megtalálja a fontos objektumokat. Ez hatékonyabb, mint maga a kép átméretezése. Ezért ha ismeretlen méretű objektumot keres a képen, a vizsgálati eljárást többször, különböző léptékekben kell eltennünk.

    Javasoljuk, hogy próbáljon ki különböző méretezési tényezőket, hogy lássa, melyik a legjobb képosztályozási eredmény.

  5. Szomszédok minimális száma: Írjon be egy egész számot, amely az átfedésben lévő téglalapok minimális számát jelöli, amelyek annak észleléséhez szükségesek, hogy egy arc egy adott régióban található-e.

    Az OpenCV-kódtárban az osztályozó különböző méretű objektumokat észlel a bemeneti képen. Az észlelt objektumokat a rendszer téglalapok listájaként visszaadja. A neighbors paraméter azt szabályozza, hogy hány lehetséges egyezésre van szükség az észlelt arcnak vagy jellemzőnek való minősítéshez. Ezért ennek az értéknek a növelése általában növeli a pontosságot a lefedettség költségének megfelelően.

    A szomszédok kiszámításának példáiért tekintse meg ezt a cikket az OpenCv-könyvtár dokumentációjában: Eigenfaces in OpenCV

  6. A következő beállításokkal megadhatja a modell képméretét, hogy az jobb előrejelzéseket hoz létre. A követelményeknek nem megfelelő képek ki vannak küszöbölve:

    • Minimális magasság: Adja meg a legkisebb kép képpont magasságát. Ha megad egy értéket ehhez a tulajdonsághoz, a rendszer figyelmen kívül hagyja az ennél kisebb képeket.

    • Maximális magasság. Írja be a legnagyobb kép képpontszélességet. Ha megad egy értéket ehhez a tulajdonsághoz, a rendszer figyelmen kívül hagyja az ennél nagyobb képeket.

    • Minimális szélesség: Adja meg a legkisebb kép képpontszélességet. Ha megad egy értéket ehhez a tulajdonsághoz, a rendszer figyelmen kívül hagyja az ennél kisebb képeket.

    • Maximális szélesség: Írja be a legnagyobb kép képpontszélességet. Ha megad egy értéket ehhez a tulajdonsághoz, a rendszer figyelmen kívül hagyja az ennél nagyobb képeket.

  7. Csatlakozás pontozáshoz használt képadatkészletet.

  8. Adja hozzá a Score Model ( Modell pontozása) modult a kísérlethez, és kösse össze az előre betanított képosztályozót és a képadatkészletet.

  9. Futtassa a kísérletet.

Results (Eredmények)

A Modell pontozása kimenete tartalmazza a kép nevét, a pontozási címkét és a címke valószínűségi pontszámát (0 vagy 1). Az osztályozó egy "1" kimenetet ad, ha a kép valószínűleg az objektumot (arcot), egyébként pedig a "0" eredményt mutatja. Például:

Rendszerkép neve Pontozott címkék Pontozási valószínűségek
MAN001.png IGAZ 1
TABLE001.PNG HAMIS 0
CHAIR001.PNG HAMIS 0

Tipp

A kimenet az adatkészlet összes színcsatornája RGB-értékeit is tartalmazza. Ezért az adatok egyszerű megtekintéséhez javasoljuk, hogy a kísérletben csak az eredményoszlopokat adja ki az Adatkészlet oszlopainak kijelölése használatával.

Technikai megjegyzések

A modul által biztosított arcfelismerési modell az arcfelismerési algoritmus Viola-Jones alapul. További információért tekintse meg az alábbi forrásforrásokat:

  • Ez a videó ismerteti az arcfelismerés alapvető fogalmait, beleértve a Haar-funkciók definícióját és az arcészlelésben való alkalmazás módszerét: Arcészlelés – 1. rész

  • Ez a Wikipedia-cikk az osztályozóhoz használt módszert írja le Navneet Dalal és Bill Triggs tanulmánya alapján: A orientált színátmenetek hisztogramja

  • Az OpenCV-kódtárban biztosított arcfelismerési algoritmus dokumentációját lásd: Cascade Classifier.

Megjegyzés

Ez a modul nem teszi lehetővé az OpenCV-kódtár által előállított adatok teljes gyűjteményét. Ez a modul csak azt jelzi előre, hogy egy arc jelen van-e vagy sem, és nem tartalmazza az arc koordinátáit vagy egyéb információkat.

Ha további információra van szüksége, fontolja meg más kódtárak használatát, például a Microsoft által biztosított Face API-t Cognitive Services.

Modulparaméterek

Name Tartomány Típus Alapértelmezett Description
Előre betanított osztályozó Lista PretrainedClassifier Frontális arc Előképezett osztályozó a standard OpenCV-disztribúcióból.
Nagyságrendi tényező >=1,000000000000002 Float 1.1 Paraméter, amely meghatározza, hogy a képméret mekkora mértékben csökken az egyes képméretekben.
Szomszédok minimális száma >=0 Egész szám 3 Paraméter, amely meghatározza, hogy az egyes jelölt téglalapoknak hány szomszédot kell megőrizniük.
Minimális magasság >=1 Egész szám 100 Az objektumok lehetséges minimális magassága (képpontban). Az ennél kisebb objektumok figyelmen kívül lesznek hagyva.

A paraméter megadása nem kötelező.
Minimális szélesség >=1 Egész szám 100 A lehető legkisebb objektumszélesség (képpontban). Az ennél kisebb objektumok figyelmen kívül lesznek hagyva.

A paraméter megadása nem kötelező.
Maximális magasság >=1 Egész szám 200 Az objektumok lehetséges maximális magassága (képpontban). Az ennél nagyobb objektumokat a rendszer figyelmen kívül hagyja.

A paraméter megadása nem kötelező.
Maximális szélesség >=1 Egész szám 200 Maximális lehetséges objektumszélesség (képpontban). Az ennél nagyobb objektumokat a rendszer figyelmen kívül hagyja.

A paraméter megadása nem kötelező.

Kimenetek

Név Típus Description
Betanított modell ILearner interfész Betanított bináris besorolási modell

Kivételek

Kivétel Description
0005-ös hiba Kivétel akkor fordul elő, ha a paraméter kisebb egy adott értéknél.

A Studio (klasszikus) moduljaival kapcsolatos hibák listájáért tekintse meg a Machine Learning hibakódokat.

Az API-kivételek listájáért tekintse meg a Machine Learning REST API hibakódokat.

Lásd még

Képek importálása
Előre korlátozott kaszkádolt képbesorolás