Absztrakt

Olyan időket élünk, amikor a mesterséges intelligencia és a gépi tanulás alapjait használó járművek észlelése már nem számít csodának. Valójában egyre jobban beleéljük magunkat szakmai és mindennapi életünkbe. Ez a csodálatos, egykor lehetetlennek tartott projekt annyira praktikus, hogy életünk szinte minden területén használható. A nagyszabású technológiáktól és radarrendszerektől az egyszerű közúti forgalomirányításig és a házbiztonsági rendszerekig a járműészlelés egyre jobban belemerül mindennapi életünkbe. Projektünk a járműfelderítésen, valamint a járművek észlelésének leghatékonyabb és legpontosabb módszerének megtervezésén fog dolgozni. Különböző gépi tanulási technikákat fogunk használni erre a célra, és végül kiválasztjuk azt a technikát, amely a leginkább kívánt eredményt hoz. Az adatkészletet különböző technikákkal betanítják, majd ennek megfelelően tesztelik. Végül a leghatékonyabb és legpontosabb eredményeket biztosító gépi tanulási módszert alkalmazzuk a járművek észlelésére projektünkben. Meggyőződésünk, hogy projektünk, ha tökéletesen megvalósul, városi szinten szerepet fog játszani a járműfelderítésben, és számos, a város közlekedési rendszerével kapcsolatos kérdést megold majd.

1.1 Bevezetés

A mai világ következetes pályán forog, hogy elérje a lehető legmagasabb korlátokat a technológia és a fejlődés terén. A technológiai fejlődés elképzelhetetlen magasságok elérése iránti gyarapodás és éhség kitűnően csillogó eredményeket hozott az emberként ismert egyszerű halandók elméjéből. Sőt, a megfelelő technológiai berendezések és eszközök, amelyek segítenek megtalálni az örök fejlődés kincsét, valóban fellendítette a moráljukat, és megerősítette az akaratukat, hogy a lehető legnagyobb mértékben próbára tegyék képzelőerejüket. Néhány évszázaddal ezelőtt még senki sem gondolta volna, hogy a mai világban milyen dolgok zajlanak, és az a vicces, hogy az ember felfogta a munkavégzés fogalmát gépeken és elektromos berendezéseken keresztül. Mindez a gépi tanulásnak és a mesterséges intelligenciának köszönhető. A tudósok ma már nem aggódnak a fizikai nyomás miatt egy bizonyos feladat kapcsán. Csak arra gondolnak, hogy megfelelő mechanizmust szerezzenek be gépeik betanításához a feladatok végrehajtására. Elméjük teljes egészében azon gondolkodnak, hogy mechanizmusokat és mechanizmusokat generáljanak, mert tudják, hogy a gépek, ha egyszer betanították, képesek megbirkózni az egykor minden tekintetben lehetetlennek tartott feladatokkal. A kutatás már nem városi, országos vagy világszintű. A tudósok más bolygókra szegezték a szemüket, és azt tervezik, hogy bármilyen módon hozzáférhetnek hozzájuk a mai problémák megoldása érdekében. Ezt a gondolkodást még a gépi tanulás és a mesterséges intelligencia is lehetővé tette. Szinte minden folyamatban lévő projektben szerepel valamilyen gépi tanulási szempont. A tudomány és a technológia ma nem teljes a gépi tanulás és a mesterséges intelligencia nélkül, és projektünk is ennek az úttörő és forradalmasító technikának a köré fog épülni.

A járműészlelés annyira praktikus funkció, hogy számos területen alkalmazható. A nagy energiájú rendszerektől és irányítóközpontoktól az egyszerű forgalomszabályozásig és a házbiztonságig a járműészlelés olyan gépi tanulási technika, amely hasznos lehet egy tudós vagy egy hétköznapi ember számára. Éppen ezért ez lesz a projektünk témája, projektünk pedig a járműfelderítés körül forogna, és megpróbálná megtanítani a gépeket, hogy a legpontosabb és leghatékonyabb módot adják a járművek észlelésére. Utalni fogunk az emberek és tudósok által korábban végzett munkákra és kutatásokra a járműfelderítési módszereikben (1), és ezeket a lehető legjobb módon használjuk fel projektünk pontos és hatékony megvalósítása érdekében. Ezzel a projekttel kapcsolatos erőfeszítéseink arra a kérdésre próbálnak választ adni: „Mennyire pontosan képes egy rendszer észlelni a járművet anélkül, hogy csúcstechnológiás fejlett gépeket használna, és amennyire csak lehetséges, egyszerű gépekre hagyatkozna?”

Természetesen egyetemi szintű projektet végzünk, és lehet, hogy nem férünk hozzá ilyen magas színvonalú berendezésekhez, és lehet, hogy nem is olyan pontosak, mint valami, amit egy globális szintű szervezet használ, de ez a fő kérdés, amely körül projekt forog. A lehető legtöbbet kell kihoznunk a rendelkezésünkre álló erőforrásokból, és még mindig el kell érnünk a legtöbb kívánt eredményt, és ez a fő kihívás, amellyel projektünk során szembe kell néznünk. Különböző gépi tanulási technikákat fogunk használni erre a célra, és végül kiválasztjuk azt a technikát, amely a leginkább kívánt eredményt hoz. Az adatkészletet különböző technikákkal betanítják, majd ennek megfelelően tesztelik. Végül a leghatékonyabb és legpontosabb eredményeket biztosító gépi tanulási módszert alkalmazzuk a járművek észlelésére projektünkben.

A projekt jelentősége nagymértékben a használatában és az alkalmazások sokszínűségében rejlik. Pakisztán nagyon magas népességű ország, és nagyon sokan használnak járműveket a mindennapi életben különféle célokra. Ha egy pontos, de gazdaságos járműérzékelő rendszert beépíthetünk az utcákba, városokba, városokba stb., az sok forgalmi és biztonsági probléma alól mentesít bennünket. Projektünknek megvan a maga jelentősége az emberek számára, és mindent megteszünk annak érdekében, hogy ne csak működjön, hanem nagyon kívánatos eredménnyel működjön.

1.2 Matematikai megfogalmazás

Az alábbiakban néhány rövid leírás található az osztályozókról/modellekről, amelyeket projektünkben fogunk használni, és így értékelni fogjuk mindegyik teljesítményét.

Naív Bayes:

A Naive Bayes Algorithm egy felügyelt tanulási algoritmus, amely Bayes-tételen alapul és osztályozási problémák megoldására szolgál. A Naive Bayes Classifier az egyik egyszerű és leghatékonyabb osztályozási algoritmus, amely segít a gyors előrejelzéseket lehetővé tevő gyors gépi tanulási modellek felépítésében. Ez egy valószínűségi osztályozó, ami azt jelenti, hogy egy objektum valószínűsége alapján jósol. A Naív Bayes Algorithm néhány népszerű példája a spamszűrés, a szentimentális elemzés és a cikkek osztályozása.

Bayes-tétel: A Bayes-tétel egy hipotézis valószínűségének meghatározására szolgál előzetes tudással. Ez a feltételes valószínűségtől függ. A Bayes-tétel képlete a következő:

ahol,

P(A|B) posterior valószínűség: Az A hipotézis valószínűsége a B megfigyelt eseményre vonatkozóan.

P(B|A) a valószínűség valószínűsége: Annak a bizonyítéknak a valószínűsége, hogy egy hipotézis valószínűsége igaz.

P(A) előzetes valószínűség: A valószínűségi hipotézis előzetes tudásként érvényes

Logisztikus regresszió

Ez egy felügyelt tanulási algoritmus az osztályozás elvégzésére. Itt közvetlenül az adatokból becsüljük meg a Posterior valószínűséget. A logisztikus regresszió előrejelzi egy kategorikus függő változó kimenetét. Ezért az eredménynek kategorikus vagy diszkrét értéknek kell lennie. Lehet igen vagy nem, 0 vagy 1, igaz vagy hamis stb., de ahelyett, hogy a pontos értéket 0 és 1-ként adná meg, a valószínűségi értékeket adja meg, amelyek 0 és 1 között vannak.

A logisztikus regresszióban a regressziós egyenes illesztése helyett egy „S” alakú logisztikus függvényt illesztünk, amely két maximális értéket (0 vagy 1) jósol. Ez a szigmoid függvény aktiváló funkcióként működik a gépi tanulásban, amelyet nemlinearitás hozzáadására használnak, egyszerű szavakkal kifejezve eldönti, hogy melyik értéket adja át kimenetként, és mit ne.

A logisztikai függvény görbéje valaminek a valószínűségét jelzi

Vector gépek támogatása

Az SVM algoritmus célja a legjobb vonal vagy döntési határ létrehozása, amely képes az n-dimenziós teret osztályokba bontani, hogy a jövőben könnyen a megfelelő kategóriába sorolhassuk az új adatpontot. Ezt a legjobb döntési határt hipersíknak nevezzük.

Az SVM kiválasztja azokat a szélső pontokat/vektorokat, amelyek segítenek a hipersík létrehozásában. Ezeket a szélsőséges eseteket támogatási vektoroknak nevezzük, és ezért az algoritmust Support Vector Machine-nek nevezik. Tekintsük az alábbi diagramot, amelyen két különböző kategória van, amelyek döntési határ vagy hipersík alapján vannak besorolva:

Neurális hálózat

A „Neurális hálózat” kifejezés az emberi agy szerkezetét fejlesztő biológiai neurális hálózatokból származik. Az emberi agyhoz hasonlóan, amelyben neuronok kapcsolódnak egymáshoz, a mesterséges neurális hálózatoknak is vannak olyan neuronjai, amelyek a hálózatok különböző rétegeiben kapcsolódnak egymáshoz. Ezeket a neuronokat csomópontoknak nevezzük.

1.1 Adatfeldolgozás

Az adatfeldolgozás akkor történik, amikor az adatokat összegyűjtik és használható információvá alakítják át.

Hét fő lépésre bontható:

● Adatgyűjtés: Kezdetben tanulás az adatokból

● Az adatok előkészítése: Adatminőség felmérés, Adattisztítás, Adatátalakítás, Adatcsökkentés

● Modell kiválasztása

● A modell betanítása

● A modell értékelése

● Paraméterhangolás

● Előrejelzések készítése

1.4 Feature Engineering

A szolgáltatástervezés alapvetően arra vonatkozik, hogy a modell pontossága érdekében funkciókat adjon hozzá az adatkészlethez. Esetünkben további olyan jellemzőket kell hozzáadnunk, amelyek nem szerepelnek a betanítási adatainkban, hogy segítsenek az objektum (jármű) észlelésében az adott adatkészletből.

Az objektumok (jármű) észlelésére és lokalizálására használható funkciók közé tartozik a színhisztogram, a térbeli kötés, az orientált színátmenetek hisztogramja, a hőtérkép küszöbértéke és a háttér eltávolítása, a kontraszt alapú megközelítés, a Canny Edge detektorok stb.

A színhisztogram az RGB-értékek szerinti színösszetétel alapján azonosítja a képpontokat. A térbeli binning összegyűjti a hasonló értékű pixeleket, és megpróbálja azonosítani a hasonlóságokat. A hőtérkép és a háttér eltávolítása a hőmérséklet-érzékelőkön szintén bevezető. A jármű testhőmérséklete eltér az út hőmérsékletétől, ahol az út hőmérséklete küszöbérték lesz, így valós időben azonosítja a járművet. A jellemzőtervezés arra a folyamatra utal, amelynek során a tartományi tudás segítségével kiválasztják és átalakítják a legrelevánsabb változókat nyers adatokból prediktív modell létrehozásakor.

1.5 Végrehajtás

Számos megvalósítás létezhet projektünkhöz. Különböző gépi tanulási algoritmusok (Naív bay, Logisztikus regresszió, Támogatási vektorgép) megvalósítása mély és gyakorlati áttekintést ad az algoritmus működéséről. Ez a tudás segíthet az algoritmus matematikai leírásának internalizálásában is, ha a vektorokat és mátrixokat úgy gondoljuk, tömbök és a számítási intuíciók az ezeken a struktúrákon végzett transzformációkhoz.

A projekt magyarázata:

Adatfeldolgozás:

Projektünk első része az adatok kinyerése és feldolgozása volt. Kaptunk egy 8100 képből álló adatsort, amely 3500 autót, 2000 kerékpárt és 2600 nem járműveket tartalmazott. Ezeket a képeket kinyertük, és különböző változólistákban tároltuk. Ezután a képeinken kivonatolást végeztünk, amely magában foglalta a térbeli tárolóedény-kivonást, a szélek kivonását, és végül a disznóelemek kivonását. Mindegyik funkciókivonathoz meghatároztunk függvényeket, és lejjebb hívtuk őket a kódban. Annak érdekében, hogy képfeldolgozásunk könnyebben kezelhető és érthető legyen, definiáltunk egy funkciót a képeink simítására.

Adataink most készen állnak a további feldolgozásra. Mielőtt a teljes, igen nagy és nehezen feldolgozható 8100-as képadatkészletünkön megvalósítottuk volna az adatfeldolgozást, először azzal kezdtük, hogy viszonylag rövidebb adatállományon végeztünk jellemző kivonást, majd áttértünk a teljes adatkészletünkre.

Először az autók, majd a kerékpárok és végül a nem járműképek képeit dolgoztuk fel.

Elvi komponenselemzés:

Mielőtt adatkészletünket képzési és tesztelési adatokra osztottuk volna, a külön feldolgozott adatokat jellemzőiknek megfelelően, azaz a térbeli tároló-, él- és disznó jellemzőinek megfelelően egyesítettük és méreteztük.

Ezenkívül elvégeztük a főkomponens-elemzést az egyesített jellemzőink adatain, és összefűztük a kimenetet.

PCA:

Vonat-teszt osztott adatok:

Mostantól adataink készen állnak a tesztelési és edzési adatokra való felosztásra. Adatainkat a szabványos 80–20-as felosztásban osztottuk fel, ahol adataink 80%-a betanítási adat volt, amelyet a gépi tanulási osztályozónk betanításához használunk, az adatok fennmaradó 20%-a pedig a modellünk teljesítményének értékelésére szolgáló tesztelési adatokra szolgált. .

OSZTÁLYOZÓK:

Projektünkhöz négy gépi tanulási osztályozót valósítottunk meg. Ezek az algoritmusok a következők voltak: Support vector Machine (SVM) osztályozó, logisztikai regressziós osztályozó, naiv Bayes osztályozó és neurális hálózatok. Miután ezeket az osztályozókat implementáltuk a tesztelési adatainkra, nagyon nagy pontosságot kaptunk.

Naív Bayes osztályozónál 90,57%-os pontosságot kaptunk, SVM osztályozónál 99,07%-os, logisztikus regressziónál 98,9%-os pontosságot kaptunk, végül a neurális hálózatoknál 98,75%-os pontosságot.

Ez volt az osztályozóink teljesítménye, amely azt mutatta, hogy a megadott pontossági szintekkel megfelelően észlelte a megadott adatállományban szereplő járműveket.

Csúszóablak algoritmus a jármű észleléséhez:

Az osztályozóink teljesítményének értékelése után most áttérünk a keresőjárművek észlelésére. Ez 2 részben történt; Az egyik az átcsúsztatható ablak algoritmusa, a másik pedig a régiókiválasztás a járművek további pontos észlelésére. A csúszóablak algoritmusban egy téglalap alakú dobozt vagy ablakot egy kép fölé csúsztatva kiválasztunk egy foltot, és osztályozunk minden egyes képfoltot, amelyet az ablak időjárása fed le, tartalmazza-e a kívánt tárgyat (járművet) vagy sem. Ez egy kimerítő objektumok keresése a teljes képen.

Az észlelés további javítása érdekében olyan tárgyfelismerő modellt használunk, amely az összes tolóablakot a kép egy viszonylag kisebb részére koncentrálja, ahol a jármű jelen van, nem pedig a teljes képre.

Az alább elkészített függvény az ablakokat tartalmazó képet veszi be, és az a célja, hogy csak a hatékony ablakokat adja meg. Ez az osztályozónk segítségével történik. Elkészítjük a képet, és végrehajtjuk az összes lépést, hogy a vonatadataink részévé váljon. Kivonjuk a disznó jellemzőket, érzékeljük az éleket, valamint átméretezzük a képet. Ezt követően alkalmazzuk a simítást és a méretezést, majd továbblépünk a PCA alkalmazására. Miután ezek a dolgok teljesülnek, a kép betáplálódik az osztályozóba, és az osztályozó megjósolja, hogy szükséges-e az ablak vagy sem. Ez minden ablaknál így van, és ezt követően megszabadulunk a felesleges ablakoktól, és csak a fontos ablakok maradnak.

Végül hőtérképeket készítettünk a tolóablakon keresztül észlelt járműveink további osztályozására.

Teszt először véletlenszerű autóképen:

Most az érvényes ablakhoz (régióválasztás):

A hatékony ablakfunkció kimenete:

Az ablakok átlaga a zökkenőmentes észleléshez:

1.5 Teljesítményértékelés

A teljesítményértékelés fontos szempont a gépi tanulási folyamatban.

Teszt és betanítás adatkészletek: Miután elvégezte a szokásos jellemzőtervezést, -kiválasztást, és természetesen implementált egy modellt, és kapott némi kimenetet valószínűség vagy osztály formájában, a következő lépés az, hogy megtudja, mennyire hatékony a modell bizonyos alapokon. mérőszám tesztadatkészletek segítségével.

Az algoritmus betanításra kerül a betanítási adatkészleten, és a tesztkészlettel összehasonlítva kerül értékelésre.

Különböző teljesítménymutatókat is használnak a különböző gépi tanulási algoritmusok értékelésére.

1.7 Következtetés

A projekt befejezése után azt várjuk, hogy jól ismerjük a gépi tanulás alapvető kérdéseit és kihívásait: adatok, modellválasztás, modell összetettsége stb., meg kell értenünk számos népszerű gépi tanulási megközelítés erősségeit és gyengeségeit.

Nagyon nagy pontosságot kaptunk az SVM, a logisztikai regresszió, az NN és ​​a Naive Bayesian esetében.

Naív Bayes osztályozónál 90,57%-os pontosságot kaptunk, SVM osztályozónál 99,07%-os, logisztikus regressziónál 98,9%-os pontosságot kaptunk, végül a neurális hálózatoknál 98,75%-os pontosságot.