Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

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

  1. Robuust
  2. Zeer hoog detectiepercentage.
  3. Gebruik verschillende classificaties die elk naar een ander deel van de afbeelding kijken
  4. Snel
  5. Goed in het detecteren van randen en lijnen
  1. Kan geen gekantelde of gedraaide gezichten detecteren.
  2. Het is gevoelig voor lichtomstandigheden
  3. Kan bewegende objecten niet 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

  1. Bepaal functies door te trainen (heeft dus een hogere mate van vrijheid).
  2. Gebruik enkele classificatie die naar de volledige afbeelding kijkt.
  3. Past matrixbewerking toe.
  4. Nauwkeurig.
  1. Grote dataset is vereist
  2. Duur.
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. Kan meerdere objecten in dezelfde afbeelding detecteren.
  2. Realtime uitvoering
  3. Supersnel
  4. Hoge prestaties
  5. Geen achtergrondfouten
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.
  1. Hogere rekentijd
  2. Hoge nauwkeurigheid
  3. Nauwkeurigheid is matig
  1. Presteren goed voor grote objecten, maar daalt een beetje voor kleine objecten
  2. End-to-end-detectie, is te traag.
  3. Computationeel duur.

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

  1. 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
  2. Maak na de installatie van Anaconda Navigator een omgeving met behulp van het omgevingsdialoogvenster en selecteer de python-versie.

  3. 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

  1. 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

  1. 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: 

  1. Installeer darknet met YOLO v3.
  2. 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.
  3. 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.
  4. 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.
  1. Maak een aangepaste objectmap via data/obj.names waarin alle namen die we willen detecteren, zoals drones, UAV's, vogels, vliegers, enz. zijn geschreven.
  2. In obj.data zijn het aantal klassen, train.txt, valid, names en weights-map opgenomen en opgeslagen.
  3. 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

  1. PC-oscilloscoop
  2. Computervisie als bewegingssensor voor SmartThings
  3. SONBI ROBOT MENSELIJKE DETECTIE MET KINECT EN RASPBERRY PI
  4. De voordelen van het gebruik van Robotic Vision voor automatiseringstoepassingen
  5. 4 voordelen van het gebruik van slimme lekdetectie-oplossingen in gebouwen
  6. 5 voordelen van het gebruik van Biz4intellias IoT-aangedreven waterlekdetectiesysteem in industrieën
  7. 7 toepassingen van computervisie
  8. Computer visie
  9. High-Altitude Unmanned Aerial Vehicle (UAV) voor het bewaken van meteorologische parameters
  10. Voorkomen van door hitte veroorzaakte beeldvervorming in Machine Vision Line Scan-camera's
  11. 24 Unit 7:Mastercam