Hogyan replikáltam egy 86 millió dolláros projektet 57 kódsorban

Amikor a meglévő nyílt forráskódú technológiával végzett kísérlet „elég jó” munkát végez

A Victoria rendőrség az ausztráliai Victoria elsődleges bűnüldöző szerve. Az elmúlt évben Victoria-ban több mint 16 000 járművet loptak el - mintegy 170 millió dolláros költséggel - a rendőrség számos, a technológiák által vezérelt megoldással kísérletezik az autólopások visszaszorítására. BlueNet-nek hívják ezt a rendszert.

Az ellopott járművek csalárd értékesítésének megelőzése érdekében már létezik egy VicRoads webalapú szolgáltatás a járművek regisztrációjának állapotának ellenőrzésére. Az osztály befektetett egy álló rendszám-leolvasóba is - egy rögzített állványos kamerába, amely az elhaladó forgalmat vizsgálja, hogy automatikusan azonosítsa az ellopott járműveket.

Ne kérdezd, miért, de egyik délután arra vágytam, hogy prototípusba állítsak egy járműre szerelt rendszámtábla-szkennert, amely automatikusan értesíti Önt, ha járművet loptak el vagy nem regisztráltak. Megértve, hogy ezek az egyes alkatrészek léteznek, arra gondoltam, milyen nehéz lenne összekötni őket.

De egy kis guglizás után fedeztem fel, hogy a Viktória Rendőrség nemrégiben átesett egy hasonló eszköz kipróbálásán, és a bevezetés becsült költsége valahol 86 000 000 dollár környékén volt. Egy ügyes hozzászóló rámutatott, hogy a 220 jármű felszerelésének 86 millió dolláros költsége meglehetősen szomjas, járműenként 390 909 dollár .

Biztosan tudunk ennél valamivel jobban is.

A siker kritériumai

Az indulás előtt vázoltam néhány alapvető követelményt a termék tervezésével kapcsolatban.

1. követelmény: A képfeldolgozást helyben kell végrehajtani

Az élő videó közvetítése egy központi feldolgozó raktárba a legkevésbé hatékony megközelítésnek tűnt a probléma megoldásában. Az adatforgalom óriási számlája mellett a hálózati késleltetést is bevezeti egy folyamatba, amely már meglehetősen lassú lehet.

Bár egy központosított gépi tanulási algoritmus az idő múlásával csak pontosabbá válik, szerettem volna megtanulni, hogy egy helyi eszközön történő megvalósítás „elég jó-e”.

2. követelmény: Alacsony minőségű képekkel kell működnie

Mivel nincs Raspberry Pi fényképezőgépem vagy USB-s webkamerám, ezért a dashcam felvételeit fogom használni - ez könnyen elérhető és ideális mintaadat-forrás. További bónuszként a dashcam videó a járműre szerelt kameráktól elvárt felvételek általános minőségét képviseli.

3. követelmény: Nyílt forráskódú technológiával kell megépíteni

A saját szoftverre támaszkodva azt jelenti, hogy minden alkalommal elszúrja magát, amikor módosítást vagy fejlesztést kér - és a csípés folytatódik minden utána benyújtott kérésnél. A nyílt forráskódú technológia használata nem gond.

Az én megoldásom

Magas szinten a megoldásom képet készít egy dashcam videóról, átpumpálja az eszközre helyileg telepített nyílt forráskódú rendszámfelismerő rendszeren, lekérdezi a regisztrációs ellenőrző szolgáltatást, majd visszaadja az eredményeket megjelenítésre.

A rendvédelmi járműbe telepített eszközre visszaküldött adatok tartalmazzák a jármű gyártmányát és modelljét (amelyet csak a rendszámtáblák ellopásának ellenőrzésére használ), a nyilvántartási státuszt és az esetleges lopásról bejelentett járműre vonatkozó értesítéseket.

Ha ez meglehetősen egyszerűnek hangzik, az azért van, mert valóban így van. Például a képfeldolgozást mind az openalpr könyvtár kezelheti .

Ez valóban csak annyit jelent, hogy felismerjük a rendszámtáblán szereplő karaktereket:

Egy kisebb figyelmeztetés

A VicRoads API-khoz nyilvános hozzáférés nem áll rendelkezésre, ezért a rendszámtáblák ellenőrzése ennek a prototípusnak a webes lehúzásával történik. Bár általában ráncolják a szemöldökét - ez a koncepció bizonyítéka, és nem csapom be senki szervereit.

Így néz ki a koncepcióm igazolásának piszkosítása:

Eredmények

Azt kell mondanom, hogy kellemesen meglepődtem.

Arra számítottam, hogy a nyílt forráskódú rendszámfelismerés elég szemétség lesz. Ezenkívül a képfelismerési algoritmusok valószínűleg nincsenek optimalizálva ausztrál rendszámokhoz.

A megoldás széles látómezőben képes volt felismerni a rendszámokat.

Bár a megoldásnak alkalmanként problémái lennének bizonyos betűkkel.

De ... a megoldás végül helyrehozza őket.

Amint a fenti két képen látható, a kép feldolgozása pár képkockával később 87% -os megbízhatósági osztályról 91% fölötti hajszálra ugrott.

Bízom benne, bocsássa meg a szójátékot, hogy a pontosság javítható a mintavételi arány növelésével, majd a legmagasabb megbízhatósági besorolással. Alternatív megoldásként beállítható egy küszöb, amely csak akkor fogadja el a 90% -nál nagyobb bizalmat, mielőtt folytatja a regisztrációs szám érvényesítését.

Ezek nagyon egyszerű kódelső javítások, és nem zárják ki a rendszámfelismerő szoftver helyi adatsorral történő képzését.

A 86 000 000 dolláros kérdés

Hogy igazságos legyek, fogalmam sincs, mit tartalmaz a 86 millió dolláros összeg - és nem is beszélhetek a nyílt forráskódú eszköz pontosságával, lokalizált képzés nélkül, szemben a pilóta BlueNet rendszerrel.

Arra számítanék, hogy ennek a költségvetésnek egy része több régi adatbázis és szoftveralkalmazás cseréjét is magában foglalja, hogy támogassák a rendszámok magas frekvenciájú, alacsony késésű lekérdezését másodpercenként, járműenként.

Másrészt ~ 391 ezer dollár / jármű költség elég gazdagnak tűnik - különösen, ha a BlueNet nem különösebben pontos, és nincsenek nagyszabású informatikai projektek a függő rendszerek leszerelésére vagy frissítésére.

Jövőbeni alkalmazások

Noha könnyű belekapni a rendszámtáblázók „mindig bekapcsolt” hálózatának orwelli jellegébe, ennek a technológiának számos pozitív alkalmazása van. Képzeljünk el egy passzív rendszert, amely az autótársakat egy rablóautó után kutatja, amely automatikusan figyelmezteti a hatóságokat és családtagjaikat jelenlegi helyzetükre és irányukra.

A Teslas járművei már tele vannak kamerákkal és érzékelőkkel, amelyek képesek OTA frissítéseket kapni - képzelje el, hogy ezeket virtuális jó szamaritánusok flottájává változtatja. Az Ubers és a Lyft illesztőprogramokat is fel lehet szerelni ezekkel az eszközökkel, hogy drámaian megnöveljék a lefedettséget.

A nyílt forráskódú technológia és a meglévő összetevők felhasználásával lehetségesnek tűnik olyan megoldás felajánlása, amely sokkal magasabb megtérülési rátát biztosít - 86 millió dollárnál kevesebb befektetés esetén.

2. rész - közzétettem egy frissítést, amelyben saját felvételeimmel tesztelek, és elkapok egy nem regisztrált járművet:

Emlékszel arra a 86 millió dolláros rendszám-leolvasóra, amelyet lemásoltam? A következő történt.

Sikerek, kudarcok és egy nagyon rossz mozdonyvezető elkapása medium.freecodecamp.org