Detectie van onbemande luchtvaartuigen met behulp van computervisie
Abstract
Met de innovatie in technologie wordt beveiliging het grootste probleem om aan te pakken. De exponentieel toenemende toegankelijkheid van drones vormt een grote bedreiging voor de algemene veiligheid. Het gebruik van UAV's is de laatste jaren toegenomen. Rekening houdend met de beveiligingsproblemen hier wordt een oplossing voorgesteld. Detecteer eerst UAV's en volg vervolgens hun pad.
Voor objectdetectie zijn de deep learning-algoritmen van Computer Vision zeer effectief. De invoer wordt verwerkt door YOLO, een neuraal netwerk dat wordt gebruikt voor realtime objectdetectie en -tracking.
2.1 Het concept van UAV begrijpen
Volgens de titel "UAV-detectie en tracking met behulp van computervisie", UAV (onbemand luchtvaartuig) is een vliegtuig zonder piloot, dat op afstand of boordcomputers kan worden bestuurd.
UAV's kunnen worden gebruikt voor nuttige doeleinden zoals landbouw, wetenschappelijk onderzoek, weersvoorspellingen, verzending en levering, reddingsoperaties en gezondheidszorg. Het kan worden gebruikt voor rampen zoals aanvallen, raketaanvallen, het doden van doelen, enz.
2.2 Wat is een computervisie?
Computervisie is het wetenschapsgebied dat ervoor zorgt dat computers afbeeldingen zien, identificeren en verwerken op de manier waarop het menselijk oog dat doet, en om de juiste output te leveren. Computervisie wordt op bijna elk gebied gebruikt, d.w.z.:
- Object, gezichtsdetectie
- Robotchirurgie en medische diagnose
- Beeldverwerking
- Landbouw
- Ruimtetechnologie (NASA's Mars Rover bevat mogelijkheden om het terrein van de planeet te modelleren, obstakels op zijn pad te detecteren en panoramische beelden aan elkaar te naaien) Toepassingen van computervisie worden getoond in figuur 1.4
2.3 Wat is de beeldverwerkingstechniek?
De Beeldverwerking techniek wordt door Computer vision gebruikt om verschillende taken uit te voeren. De uitgevoerde bewerking en toegepaste methoden om de kwaliteit van een afbeelding te verbeteren of om een specifiek resultaat te krijgen nadat ze zijn verkregen als een afbeeldingsstapel, worden beeldverwerking genoemd.
Beeldverwerking wordt tegenwoordig beschouwd als een van de snelst evoluerende gebieden van informatietechnologie, met groeiende toepassingen in alle bedrijfssectoren. Toepassingen van beeldverwerking zijn:
Gebruiksvoorbeelden 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 daarvan zijn als volgt:
- VOILA EN JONES
- Convolutionele neurale netwerken (CNN)
- Je kijkt maar één keer (YOLO)
- Single Shot Detector (SSD)
- Regio convolutionele neurale netwerken (R-CNN)
Tabel 3.1:Algoritmen voor detectie
Algoritme | Beschrijving | Kracht | Zwakte |
VOILA AND JONES (The Viola-Jones Algoritme is ontworpen door Paul Viola en Michael Jones in 2001) | Het belangrijkste doel was gezichts- en objectdetectie. Het kan objecten in realtime detecteren. Wanneer we beeldalgoritmen geven, kijken we naar kleinere subregio's en proberen we objecten te vinden door naar speciale functies in elke subregio te kijken. Het Viola and Jones-algoritme gebruikt Haar-achtige functies om objecten te detecteren |
|
|
CNN (Convolu- tional Neural Networks) geïntroduceerd door Kunihiko Fukushima in 1980 | Het biologisch geïnspireerde hiërarchische model dat kan worden getraind om de waarheid van detectie, herkenning en segmentatie uit te voeren. Het is in feite een deep learning-algoritme, het neemt afbeeldingen als invoer, het wijst leerbare gewichten en vooroordelen toe aan het object dat in de afbeelding aanwezig is en maakt onderscheid tussen het ene en het andere |
|
|
YOLO (Je kijkt maar één keer) | Het is een realtime detectie-algoritme. Het past een neuraal netwerkalgoritme toe op het beeld en verdeelt het beeld naar S x S-raster en maakt een grens rond afbeeldingen en voorspelt mogelijkheden voor elk van de grenzen. Het gebruikt regressie. |
| 1. Detecteert één object per rastercel. 2. Geef de voorkeur aan hoge prestaties boven nauwkeurigheid. |
SSD (Single Shot Detector) | Deze methode maakt slechts één opname om meerdere objecten te detecteren. Deze methode is erg snel. Het is ontworpen voor realtime implementatie. Het bevat twee componenten backbone en SSD-kop. |
|
|
Hier wordt het Yolo neurale netwerkalgoritme gebruikt. Dit algoritme is erg snel voor realtime implementatie. Het gebruikt een neuraal netwerkalgoritme en verdeelt het beeld in S x S-raster en maakt een grens rond het beeld om de mogelijkheden voor elke grens te voorspellen. Algoritmen voor detectie worden weergegeven in Tabel 4.4.
3.1 Algoritme voor tracking
Na het detecteren van een object ligt de volgende focus op het goede spoor. Als het gedetecteerde object een vlieger of vogel is, is tracking niet nodig, maar als het gedetecteerde object een drone is, wordt het doelwit gevolgd.
Er worden veel algoritmen gebruikt voor het volgen van objecten. Maar nogmaals, YOLO wordt gebruikt voor tracking omdat dit algoritme snel en nauwkeurig is en het kan detecteren en volgen totdat het doelwit buiten het bereik van de camera komt.
4. Implementatie van het voorgestelde ontwerp
Hier is de uitvoering van het voorgestelde ontwerp. Waarin alle stappen die nodig zijn om het project op software uit te voeren worden uitgevoerd.
4.1 Eerste fase
- Beeldverwerking heeft een goede CPU/GPU nodig, kies CPU. Installeer de anaconda vanaf de website Installatie van de Anaconda wordt getoond in figuur 4.1
- Maak na de installatie van Anaconda Navigator een omgeving met behulp van het omgevingsdialoogvenster en selecteer de python-versie.
- Na het succesvol aanmaken van een omgeving, is de volgende stap het installeren van Spyder omdat het gemakkelijk te gebruiken is. Installeer vervolgens open CV via het commando pip install cv2.
4.2 Dataset voorbereiden
- Verzamel veel afbeeldingen van verschillende luchtobjecten zoals drones, vogels, vliegtuigen, helikopters, vliegers en ballonnen.
Opmerking: Het maken van een dataset is meer dan alleen het verzamelen van afbeeldingen. De namen van de afbeeldingen geven en ook de positie van deze specifieke objecten in elke afbeelding vertellen. Daarvoor kan een software genaamd Labellmg wordt gebruikt, die afbeeldingen omzet in tekstbestanden. Zoals weergegeven in figuur 4.6
- Eenmaal Txt-bestanden van alle objecten zijn gemaakt. Zet alle afbeeldingen en tekstbestanden in een zip-bestand. Ook het naambestand voor de opgenomen klassen.
4.3 YOLO-configuratie
Volg deze stappen voor configuratie:
- Installeer darknet met YOLO v3.
- Om de YOLO te configureren, maakt u een map aan in darknet/data met daarin alle afbeeldingen en .txt-bestanden van de eerder gemaakte dataset.
- Om een aangepast configuratiebestand te maken, brengt u de vereiste wijzigingen aan in YOLO v3 van cfg, waarbij u batch, onderverdelingen en max-batches aanpast met betrekking tot klassen en stappen.
- Als je het aantal klassen invoert, verander dan de convolutionele laag boven YOLO. Zet ook willekeurig op 1. cfg-parameters worden weergegeven in tabel 4.1
Tabel 4.1:CFG-parameters
Naam | Beschrijving |
Batch | Hoeveel afbeeldingen en labels er in de voorwaartse pas worden gebruikt om een helling te berekenen en de gewichten bij te werken via de backpropagation-methode. |
Onderverdelingen | De batch is onderverdeeld in vele "blokken". De afbeeldingen van een blok worden parallel uitgevoerd. |
Stappen | 500,1000:pas de leersnelheid aan na 500 en 1000 batches. |
Lagen (Filters) | Hoeveel convolutionele korrels zijn er in een laag. |
Lagen (willekeurig) | Zet de YOLO-lagen erin. Indien ingesteld op 1, voert u gegevensvergroting uit door de afbeeldingen om de paar batches te verkleinen naar verschillende formaten, die worden gebruikt om te generaliseren over objectgroottes. |
- Maak een aangepaste objectmap via data/obj.names waarin alle namen die we willen detecteren, zoals drones, UAV's, vogels, vliegers, enz. zijn geschreven.
- In obj.data zijn het aantal klassen, train.txt, valid, names en weights-map opgenomen en opgeslagen.
- In train.txt worden alle gegevens en namen van de afbeeldingen opgeslagen.
4.4 YOLO trainen op je dataset
Training van YOLO voor een dataset op maat gebeurt ook via het darknet. Kloon en activeer darknet en schakel open CV in. Door de ZIP-map, .cfg-bestand, .names-bestand, obj.data-bestand en train.txt-bestand te nemen dat hierboven is gemaakt, configureert u vervolgens het darknet-netwerk voor de training van YOLO v3, waarbij de uitvoeringen worden geteld.
Na duizenden iteraties die op basis van onze CPU-kracht ongeveer 2 uur kunnen duren, is een getrainde dataset klaar voor gebruik en integratie met ons systeem, met een indicatie van het gemiddelde verlies.
4.5 Testcode op beeld- en video-ingang
Nadat u de YOLO voor de aangepaste dataset hebt getraind, begint u met het testen van de code op uw getrainde dataset, de zogenaamde YOLO-gewichten. Het heeft in dit geval 4 klassen.
Probeer YOLO-detectie op verschillende. Grote gewichten zijn goed in termen van nauwkeurigheid, maar de verwerking is een beetje traag vanwege de lage frames per seconde. Maak video van UAV, vogels en gaf deze gegevens als input voor de code. Alle objecten worden met succes gedetecteerd en gevolgd met de labels voor fps en drempelwaarde.
Nu kan de code worden getest voor real-time scenario's door de real-time invoer van de webcam die het bereik van onze camera verandert, vloog onze UAV met het opnemen van het resultaat, u zult de uitvoer zien zoals vereist "Detectie en tracking van UAV".
Industriële technologie
- PC-oscilloscoop
- Computervisie als bewegingssensor voor SmartThings
- SONBI ROBOT MENSELIJKE DETECTIE MET KINECT EN RASPBERRY PI
- De voordelen van het gebruik van Robotic Vision voor automatiseringstoepassingen
- 4 voordelen van het gebruik van slimme lekdetectie-oplossingen in gebouwen
- 5 voordelen van het gebruik van Biz4intellias IoT-aangedreven waterlekdetectiesysteem in industrieën
- 7 toepassingen van computervisie
- Computer visie
- High-Altitude Unmanned Aerial Vehicle (UAV) voor het bewaken van meteorologische parameters
- Voorkomen van door hitte veroorzaakte beeldvervorming in Machine Vision Line Scan-camera's
- 24 Unit 7:Mastercam