% !TeX root = ../thesis.tex %---------------------------------------------------------------------------- \chapter{Madárhang felismerő rendszer} \label{chapter:birbnetes} %---------------------------------------------------------------------------- Éves szinten komoly károkat okoznak a szőlőtermő vidékeken a seregély madarak, amelyek előszeretettel csipegetik le a megtermelt szőlőt. A seregély védett madár és a jelenlegi vadkár elleni megoldások vagy drágák vagy nem túl hatékonyak \cite{nk}. A probléma innovatív megoldására irányult az a tanszéki projekt, -- amelyen én is részt vettem -- amely olyan rendszer kidolgozását tűzte ki célul, amely a madarakat képes hangjuk alapján azonosítani, illetve szükség esetén elriasztani őket. A rendszer eredetileg a szőlővidékre telepített \acrfull{iot} eszközökből és a felhőben futó szoftverből áll. Kétszintű mesterséges intelligencia segítségével mind az eszközök, mind a felhő szoftver végez intelligens felismerést. Az eszköz maga egy egyszerűbb algoritmussal próbálja megállapítani, hogy a rögzített hangminta tartalmaz-e madárcsiripelést. Ha igen, továbbítja a mintát a felhőbe ahol egy komolyabb számítási igényű mesterséges intelligencia osztályozza a mintát aszerint, hogy milyen madár hangját tartalmazza a minta. Ha a felismerés eredménye arra utal, hogy a cél madár hangját sikerült rögzíteni, akkor a rendszer megpróbálkozik a kérdéses madár elriasztásával hangminták lejátszásával a területen telepített eszközön. A rendszer belső működéséről egy rövid összefoglaló található \aref{appendix:birbnetes}.\ függelékben. A fejezeten belül csak a permhálózati alkalmazásra való átalakítás szempontjából érintett részleteket vázolom. Ez az alkalmazás a peremhálózati rendszerek adat aggregációs lehetőségeit hivatott kiaknázni. Azzal, hogy bevonjuk a peremhálózati rendszereket a működésbe, jelentős adatforgalmi és számítási kapacitásbeli megtakarításokat érhetünk el. \section{Felépítés} A rendszer felépítése két rétegű. Az egyik réteg a felhőben futó szoftver a másik magukon az \acrshort{iot} eszközökön fut. A két rendszer magas szintű működésének funkcionális vázlatát \aref{fig:nagyon_simple_birbnetes}.\ ábra szemlélteti. \begin{figure}[h!] \centering \includegraphics[width=0.9\textwidth]{figures/nagyon_simple_birbnetes} \caption{Madárhang felismerő rendszer egyszerűsített architektúrája} \label{fig:nagyon_simple_birbnetes} \end{figure} A felhős szoftver felépítése mikroszolgáltatás architektúrára épül. Az egyes funkcionalitásokat különálló mikroszolgáltatások valósítják meg. A futtatókörnyezet \textit{Kubernetes}. A hangminta feldolgozására szolgáló intelligens felismerésen kívül ez a komponens megvalósít számos egyéb funkcionalitást is, mint a hangminták hosszútávú tárolása, a használt \acrshort{mi} modellek kezelése vagy az észlelésekről statisztikai adatok készítése és azok vizualizálása. Az \acrshort{iot} eszközön futó komponens egy moduláris monolit szoftver. Két részből áll: üzleti logika és platform illesztő. A platform illesztő egy absztrakciós réteget húz a konkrét hardver belső működése fölé és egy egységes interfészt szolgáltat az üzleti logika számára. A két réteg kommunikációja két külön csatornán történik. Az egyik csatorna a vezérlő és állapot üzenetek kétirányú továbbítására szolgál. Ez egy \textit{MQTT} alapú üzenetsor. A másik csatorna a rögzített hangminták feltöltésére szolgál, ez \acrshort{http} kapcsolaton keresztül történik. Működés közben az \acrshort{iot} eszközök folyamatosan rögzítik a hangmintákat egy másodperces darabokban. Minden egyes mintára lefuttatják a helyi mesterséges intelligencia alapú felismerő algoritmusukat. Ha annak az eredménye arra enged következtetni, hogy a hangmintán madárcsiripelés hallható, akkor a minta felküldésre kerül a felhőbe. Az felküldött \acrshort{http} üzenetben a hangminta maga és néhány információ utazik az eszközről és a rögzítés körülményeiről. \section{Felkészítés peremhálózati alkalmazásra} % Azzal, hogy beraktuk az edge-be megtakarítunk egy csomó számítási kapacitást, mert nem lesz idle a birbox % Itt leírom az átalakítást a három rétegű rendszerre % Itt még nem írok szerintem a kubefedről % a szükséges átalakításokat összeszedem % Végül az elkészült műdől is írok pár sort és hogy miért jó ez nekünk % = hogy lehet ezzel megmutatni, hogy miért jó a kenyér és a héja