Robuuste UAV-detectie en -tracking via AI-gestuurde computervisie
Samenvatting
Met de innovatie in technologie wordt beveiliging het grootste issue om aan te pakken. De exponentieel toenemende toegankelijkheid van drones vormt een grote dreiging voor de algemene veiligheid. Het gebruik van UAV's is in de afgelopen jaren toegenomen. Houdende rekening met de beveiligingskwesties, wordt hier een oplossing voorgesteld. Eerst UAV's detecteren en daarna hun pad tracken.
Voor objectdetectie zijn computervisie deep learning algoritmen zeer effectief. De invoer wordt verwerkt door YOLO, een neuraal netwerk dat gebruikt wordt voor real-time objectdetectie en -tracking.
2.1 Het concept UAV begrijpen
Volgens de titel "UAV-detectie en -tracking met computervisie", is UAV (onbemend luchtvaartuig) een vliegtuig zonder piloot, dat op afstand of via boordcomputers kan worden bestuurd. 
UAV's kunnen worden gebruikt voor nuttige doeleinden zoals landbouw, wetenschappelijk onderzoek, weersvoorspelling, verzending en levering, reddingsoperaties en gezondheidszorg. Ze kunnen ook voor catastrofale doeleinden worden gebruikt zoals aanvallen, raketaanvallen, gerichte dodingen, etc.
2.2 Wat is computervisie?
Computervisie is het wetenschapsveld dat computers laat zien, identificeren en afbeeldingen verwerken op de manier dat het menselijk oog dat doet en om een passende output te leveren. Computervisie wordt in bijna elk veld gebruikt, zoals:
- Object- en gezichtsdetectie
- Robotische chirurgie en medische diagnostiek
- Beeldverwerking
- Landbouw
- Ruimtevaarttechnologie (NASA's Mars Rover omvat mogelijkheden om het terrein van de planeet te modelleren, obstakels in zijn pad te detecteren en panoramische afbeeldingen samen te voegen) Toepassingen van computervisie worden getoond in figuur 1.4
2.3 Wat is de beeldverwerkingstechniek?
De Beeldverwerking-techniek wordt door computervisie gebruikt om verschillende taken uit te voeren. De bewerkingen die worden uitgevoerd en methoden die worden toegepast om de kwaliteit van een afbeelding te verbeteren of om een specifiek resultaat te krijgen na verkregen als een afbeeldingsstapel, wordt beeldverwerking genoemd.
Beeldverwerking wordt beschouwd als een van de snelst groeiende gebieden van informatietechnologie vandaag, met groeiende toepassingen in alle bedrijfsgebieden. Toepassingen van beeldverwerking zijn:
Use-cases van beeldverwerking
Beeldverwerking kan in deze velden worden gebruikt:
- Robotica
- Medisch
- Patroonherkenning
- Videoverwerking
- Gezichtsdetectie
2.4 Softwarevereisten
- Anaconda
- Spyder
- Python
- Open-CV bibliotheek
3. Algoritmen voor objectdetectie
Er zijn veel algoritmen aanwezig voor objectdetectie. Een paar van hen zijn als volgt:
- VIOLA EN JONES
- Convolutionele Neurale Netwerken (CNN)
- You Only Look Once (YOLO)
- Single Shot Detector (SSD)
- Regio Convolutionele Neurale Netwerken (R-CNN)
Tabel 3.1: Algoritmen voor detectie
| Algoritme | Beschrijving | Sterkte | Zwakte |
| VIOLA EN JONES (Het Viola-Jones algoritme was ontworpen door Paul Viola en Michael Jones in 2001) | Het hoofddoel was gezichts- en objectdetectie. Het kan objecten in real-time detecteren. Wanneer we afbeelding algoritmes geven, kijkt het naar kleinere subregio's en probeert objecten te vinden door te kijken naar speciale kenmerken in elke subregio. Viola en Jones algoritme gebruikt Haar-achtige kenmerken om objecten te detecteren |
|
|
| CNN (Convolutionele Neurale Netwerken) Geïntroduceerd door Kunihiko Fukushima in 1980 | Het biologisch geïnspireerde hiërarchische model dat getraind kan worden om een verscheidenheid aan detectie, herkenning en segmentatie uit te voeren. Het is eigenlijk een deep learning algoritme, het neemt afbeeldingen als invoer, het toewijst leerbare gewichten en biases aan objecten in de afbeelding en differentieert tussen de ene en de andere |
|
|
| YOLO (You Only Look Once) | Het is een real-time detectiealgoritme. Het past neuraal netwerk algoritme toe op de afbeelding, en het deelt de afbeelding in S x S raster en maakt een grens om afbeeldingen en voorspelt mogelijkheden voor elke grens. Het gebruikt regressie. |
|
1. Detecteert één object per rastercel. 2. Bevoordeelt hoge prestaties boven nauwkeurigheid. |
| SSD (Single Shot Detector) | Deze methode neemt alleen een enkele shot om meerdere objecten te detecteren, deze methode is erg snel. Het is ontworpen voor real-time implementatie. Het bevat twee componenten: backbone en SSD head. |
|
|
Hier zal het YOLO neuraal netwerk algoritme worden gebruikt. Dit algoritme is erg snel voor real-time implementatie. Het gebruikt een neuraal netwerk algoritme en deelt de afbeelding in S x S raster en maakt een grens om de afbeelding om mogelijkheden voor elke grens te voorspellen. Algoritmen voor detectie worden getoond in Tabel 4.4.
3.1 Algoritme voor tracking
Na het detecteren van een object, is de volgende focus op tracking. Als het gedetecteerde object een vlieger of vogel is, is er geen tracking nodig, maar als het gedetecteerde object een drone is, wordt het doel getrackt.
Er worden veel algoritmen gebruikt voor objecttracking. Maar weer wordt YOLO gebruikt voor tracking omdat dit algoritme snel en nauwkeurig is en het kan detecteren en tracken tot het doel buiten bereik van de camera beweegt.
4. Implementatie van voorgesteld ontwerp
Hier is de implementatie van het voorgestelde ontwerp. Waarin alle stappen die nodig zijn om het project op software te draaien, worden uitgevoerd.
4.1 Initiële fase
- Beeldverwerking heeft een goede CPU/GPU nodig, kies CPU. Installeer Anaconda vanaf de website. Installatie van Anaconda wordt getoond in figuur 4.1

- Na de installatie van Anaconda Navigator, maak een omgeving met behulp van het omgevingsdialoogvenster en selecteer de Python-versie.
- Na het succesvol creëren van een omgeving, is de volgende stap het installeren van Spyder omdat het gemakkelijk in gebruik is. Installeer dan OpenCV via de opdracht pip install cv2.

4.2 Dataset voorbereiden
- Verzamel veel afbeeldingen van verschillende luchtobjecten zoals drones, vogels, vliegtuigen, helicopters, vliegers en ballonnen.
Opmerking: Een dataset maken is meer dan alleen afbeeldingen verzamelen. De namen van de afbeeldingen geven en ook de positie van deze specifieke objecten in elke afbeelding aangeven. Hiervoor wordt een software genaamd LabelImg gebruikt, die afbeeldingen omzet in tekstbestanden. Zoals getoond in figuur 4.6
- Zodra TXT-bestanden van alle objecten zijn gemaakt. Zet alle afbeeldingen en tekstbestanden in een zip-bestand. Noem ook het bestand voor de inbegrepen klassen.

4.3 YOLO-configuratie
Voor configuratie, volg deze stappen:
- Installeer darknet met YOLO v3.
- Om YOLO te configureren, maak een map in darknet/data inclusief alle afbeeldingen en .txt-bestanden van de dataset die eerder is gemaakt.
- Om een aangepast config-bestand te maken, maak de vereiste wijzigingen in YOLO v3 van cfg, batch, subdivisions en max batches aanpassen ten opzichte van klassen en stappen.
- Bij het invoeren van het aantal klassen, wijzig de convolutionele laag boven YOLO. Stel ook random in op 1. cfg parameters worden getoond in Tabel 4.1
Tabel 4.1: CFG Parameters
| Naam | Beschrijving |
| Batch | Hoeveel afbeeldingen en labels worden gebruikt in de forward pass om een gradiënt te berekenen en de gewichten bij te werken via de backpropagatiemethode. |
| Subdivisions | De batch wordt onderverdeeld in veel "blokken". De afbeeldingen van een blok worden parallel uitgevoerd. |
| Steps | 500,1000: Pas de leersnelheid aan na 500 en 1000 batches. |
| Layers (Filters) | Hoeveel convolutionele kernels er in een laag zitten. |
| Layers (Random) | Zet in de YOLO-lagen. Als ingesteld op 1, doe data augmentatie door afbeeldingen te resizen naar verschillende formaten elke paar batches, gebruikt om te generaliseren over objectgroottes. |
- Maak een aangepast objectmapje via data/obj.names waarin alle namen die we willen detecteren zoals drones, UAV's, vogels, vliegers, etc. worden geschreven.
- In obj.data worden aantal klassen, train.txt, valid, names en weights mapje opgenomen en opgeslagen.

- In train.txt worden alle data en namen van de afbeeldingen opgeslagen.

4.4 Training van YOLO op je dataset
Training van YOLO voor een aangepaste dataset wordt ook gedaan via darknet. Clone en activeer darknet alsook enable OpenCV. Door de ZIP-map, .cfg-bestand, .names-bestand, obj.data-bestand en train.txt-bestand die boven zijn gemaakt te nemen, configureer dan het darknet-netwerk voor de training van YOLO v3, de uitvoeringen tellend.
Na duizenden iteraties die ongeveer 2 uur kunnen duren gebaseerd op onze CPU-kracht, zal een getrainde dataset klaar zijn om te gebruiken en te integreren met ons systeem, met het vertellen van de gemiddelde loss.
4.5 Testen van code op afbeelding en video-invoer
Na het trainen van YOLO voor de aangepaste dataset, begin met het testen van de code op je getrainde dataset wat YOLO-gewichten wordt genoemd. Het heeft in dit geval 4 klassen.
Probeer YOLO-detectie op verschillende. Grote gewichten zijn goed in termen van nauwkeurigheid maar verwerken is een beetje langzaam vanwege lage frames per seconde. Maak video van UAV, vogels en geef deze data als invoer aan de code. Alle objecten zullen succesvol gedetecteerd en getrackt worden met de gegeven labels, fps en drempelwaarde.
Nu kan de code getest worden voor real-time scenario's via de real-time invoer van webcam, de bereik van onze camera veranderend, vlieg onze UAV met het vastleggen van het resultaat, je zult de output zien als vereist "Detectie en Tracking van UAV".

Industriële technologie
- SmartThings-bewegingsensor met computer vision op Raspberry Pi 3
- Microsoft Kinect Integreren met Raspberry Pi voor Realtime Mensendetectie op de Sonbi-robot
- Zeven Bewezen Manieren Hoe Computervisie Efficiëntie Drijft & Kosten Bespaart
- Revolutioneren van Industrie 4.0: Hoe Computer Vision Slimme Productie Drijft
- PC Oscilloscoop: Een Goedkope Golfvormanalyser Bouwen met Uw Computer
- Mastercam Eenheid 7: Afbeeldingsbeheer en Werkpadcreatie
- Hoe Robotvisie Automatisering Verbetert: Belangrijkste Voordelen & Toepassingen
- Geavanceerde high-altitude UAV voor nauwkeurige meteorologische monitoring
- Voorkom Hittestoring in Line-scan Machine Vision Camera's
- Top 4 Voordelen van Slimme Lekdetectie voor Gebouwveiligheid en Kostenbesparing
- Waarom Biz4Intellia's IoT Waterlekdetectie Industriële Efficiëntie Boost – 5 Belangrijkste Voordelen