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.
- További információ a gépi tanulási projektek a ML Studióból a klasszikusból a Azure Machine Learning.
- További információ a Azure Machine Learning.
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.
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.
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 .
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.
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.
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
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.
Csatlakozás pontozáshoz használt képadatkészletet.
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.
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.