Zum Inhalt wechseln


Foto

472 GFlops für KI und Bildverarbeitung auf dem Kopter

eigenbau modellbau multicopter ndvi jetson nano

  • Bitte melde dich an um zu Antworten
108 Antworten in diesem Thema

#1 WiSi-Testpilot

WiSi-Testpilot
  • 1.193 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Gopro H3+, Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640 (LWIR),
    Connex ProSight (NIR)

Geschrieben 19. September 2019 - 08:54

Seit einiger Zeit suche ich nach einer leistungsfähigen Lösung, wie man 2 oder 3 Videostreams auf dem Kopter in Echtzeit zu einen neuen Bild verarbeiten kann. Ich denke zunächst an eine NDVI (Normalized Difference Vegetation Index) ähnliche Anwendung nach dem Schema (NIR-Vis)/(NIR+Vis). Außerdem soll noch ein Wärmebild mit verwurstet werden, um dann anschließend mit KI Software zB ein Rehkitz von anderen Signalen zu trennen. Aber das ist Zukunftsmusik.
Zuletzt hatte ich mir den neuen DJI Manifold 2-G angesehen, der mit einem Nvidia Jetson TX2 Grafikprozessor arbeitet.
Im Zuge der Recherchen fand ich das Jetson Nano Developer Kit. Es kostet nur gut 100 Euro, hat viele schnelle Schnittstellen inklusive HDMI, Video-Decoder und -Encoder und auch einen Port für die Raspberry Pi V2 Kamera, die es für meine Anwendungen auch in IR offen gibt. Vier ARM-Rechenkerne und 128 CUDA-Kerne erlauben rechenintensive Anwendungen wie Künstliche Intelligenz und eben Bildverarbeitung in Echtzeit. Es besteht aus einem Carrier board, auf dem das eigentliche Jetson Nano SOM aufgesteckt ist. Carrierboards werden auch schon von mehreren Herstellern angeboten.
Hier ist ein Video für den ersten Einstieg. Es wird der Betrieb mit der Raspberry Pi Kamera gezeigt und ab Minute 4:45 zeigt er Code Demos, zB in C++.
Nun viel Spaß beim träumen,
Fortsetzung folgt,
viele Grüße,
Wilhelm


 


  • Buri gefällt das

#2 Eye in the Sky

Eye in the Sky
  • 257 Beiträge

Geschrieben 19. September 2019 - 09:20

Die Jetson gehen übrigens auch ganz gut mit Pixhawks wenn man damit den Kopter direkt "intelligent" steuern will z.b. über MAVLink oder ROS. Dazu wäre auch das hier ein gutes "Spielzeug": https://coral.withgo...ucts/dev-board/



#3 Arthur

Arthur
  • 7.460 Beiträge
  • OrtKerpen
Tutorial

Geschrieben 19. September 2019 - 10:44

Warum möchtest du denn mehrere Videobilder direkt am Kopter verarbeiten? Man hat doch in der Regel nur eine Kamera. Lediglich FPV Syteme haben 2 Kameras und die sind meist auf das Nötigste reduziert um die Flugzeit zu verlängern. Und wenn mehrere Kameraansichten benötigt werden, etwa bei professionellen Luftaufnahmen, dann nutzt man mehrere Drohnen oder filmt eine Einstellung einfach mehrfach.



#4 el Kopto

el Kopto
  • 3.250 Beiträge
  • OrtNorddeutschland
  • Hexa / Matrice 100 hybrid mod / Jordana Endurance mit N3 + LB2 + PulseKraft PWM Erweiterung, H920 Retrofit mit HyraCom BVLOS Steuersystem

Geschrieben 19. September 2019 - 11:04

Danke für den Link.

 

Boards dieser Art sind - vorausgesetzt, man ist in der Lage, deren Hardware-Potenzial auch in der Software auszunutzen - interessant für Use Cases, wo diese Rechenleistung tatsächlich in Echtzeit benötigt wird. Nur, um ein paar Videostreams optisch bereits Onboard zu einem Bild (und damit einem Stream) zusammen zu mixen / zu überlagern, genügen Mittelklasse ARM Chips, wie ich es hier bereits 2016 mit einem ODROID XU4 zeigte. Ich hatte damals zunächst den ersten Manifold von DJI gekauft, stellte aber bald fest, dass er für den Zweck viel zu schwer und zu teuer war, die Rechenleistung der GPU nur sehr schwer zugänglich war und es für meinen Zweck auch vollkommen überkandidelt war.

Heute würde ich zu einem RK3399 greifen (wie auf meinem aktuellen Thermal-Rehkitz-Suchkopter als RockPi 4 verbaut) oder wenn Beschleunigung für KI Verfahren gewünscht ist, z.B. ein Kirin 980. Diese kosten (und wiegen) allesamt einen Bruchteil des Jetson Boards, das DJI als Manifold nochmals überteuert mit einem schönen (und schweren) Gehäuse veredelt.

 

Die Ergebnisse von mehreren Multispektral-Kameras kann man aus meiner Sicht hingegen auch problemlos nach dem Flug in Ruhe von entsprechender Hard- und Software am Boden verarbeiten.

 

Warum möchtest du denn mehrere Videobilder direkt am Kopter verarbeiten? Man hat doch in der Regel nur eine Kamera. Lediglich FPV Syteme haben 2 Kameras und die sind meist auf das Nötigste reduziert um die Flugzeit zu verlängern. Und wenn mehrere Kameraansichten benötigt werden, etwa bei professionellen Luftaufnahmen, dann nutzt man mehrere Drohnen oder filmt eine Einstellung einfach mehrfach.

 

Anwendungsfälle, wo mehrere Bilder gleichzeitig benötigt werden, gibt es im Überwachungs-, Inspektions- und insbesondere Agrarbereich viele. Hier im Eigenbau-Unterforum sind ja eher nicht die Leute unterwegs, die nur ein paar Luftaufnahmen oder Videos vom Urlaub zusammenschustern wollen. ;)

 

Wenn diese Aufnahmen dann noch passgenau bereits zur Flugzeit überlagert werden sollen, ist schon ein bisschen Rechenarbeit erforderlich, im Falle meiner RGB + Thermal-Überlagerungen z.B. auch ein Parallaxe-Ausgleich. Das kann man nicht mit mehreren Drohnen oder in mehreren Flügen hinbekommen.

 

Natürlich kann man sie auch zunächst als getrennte Streams zum Boden übermitteln. Das bedeutet dann aber entweder doppelte Bandbreite oder eine Reduzierung der Qualität (wie z.B. bei der Lightbridge 2 prozentual auf die beiden Streams verteilbar). Wenn die Bilder hingegen schon Onboard kombiniert werden, braucht man nur noch einen Stream zu übertragen und hat für den die volle Bandbreite.

 

 

Im Falle meines HyraCom Systems ist Bandbreite aber auch nicht mehr so das Problem. Mit 2 MBps bekommt man schon einen ordentlichen 720p Stream übermittelt und LTE bietet selbst in den beschnittenen Verträgen schon 50 MBps.


  • Arthur gefällt das

#5 WiSi-Testpilot

WiSi-Testpilot
  • 1.193 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Gopro H3+, Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640 (LWIR),
    Connex ProSight (NIR)

Geschrieben 19. September 2019 - 13:28

Mit mehreren Kameras bzw unterschiedlichen spektralen Kanälen kann man aus den Bildern Informationen über die Gesundheit der Vegetation (Waldsterben) ableiten oder zB die Konzentration der Biomasse auf einem Acker sichtbar machen. Eine kommerzielle Kamera für solche Zwecke ist zB die MicaSense RedEdge-M Multispektral Kamera. Auch die Sentinel-2 Satelliten liefern multispektrale Bilder, um die Vegetation auf der Erde zu dokumentieren.

In Verbindung mit der Wärmebildkamera schwebt mir vor, die Rehkitzsuche zu automatisieren bzw die Trefferquote zu erhöhen. Bekanntlich erhält man ja bei höher stehender Sonne auch Treffer durch von der Sonne erwärmte Maulwurfshaufen oder Grasbüschel. Ein NIR Beispiel Bild von Maulwurfshaufen habe ich unten angehängt.
Nun möchte ich mit diversen Algorithmen testen, ob man aus dem Wärmebild plus NIR und eventuell plus Vis-Bild das Rehkitz extrahieren kann. Das macht natürlich nur in Echtzeit Sinn.

Zu erst kommen natürlich einfache Tests am Kopter. Das Teil wird einiges an Störungen produzieren…

Viele Grüße,
Wilhelm

Angehängte Dateien


Bearbeitet von WiSi-Testpilot, 19. September 2019 - 13:29.


#6 Eye in the Sky

Eye in the Sky
  • 257 Beiträge

Geschrieben 19. September 2019 - 14:31

Die Idee ist sehr cool... Aber um ein AI/ML zu Trainieren müsstest Du extrem viele Bilder haben. Bin gespannt ob Dir das gelingt. Auf dem Google Board läuft z.b. TensorFlow ;-) 

 

Ein Pfeil mit "Rehkitz hier" wäre aber dann schon ziemlich geil!



#7 el Kopto

el Kopto
  • 3.250 Beiträge
  • OrtNorddeutschland
  • Hexa / Matrice 100 hybrid mod / Jordana Endurance mit N3 + LB2 + PulseKraft PWM Erweiterung, H920 Retrofit mit HyraCom BVLOS Steuersystem

Geschrieben 19. September 2019 - 14:38

Ja, eine zuverlässigere Rehkitz-Erkennung wäre natürlich bei großen Flächen eine sinnvolle Hilfestellung. Wenn man mit 4 m/s unterwegs ist, bleibt nicht viel Zeit, bis das Kitz wieder aus dem Bild raus ist und im Laufe der Zeit ermüdet man...

 

Es dürfte allerdings schwierig sein, ein Modell so generisch zu bekommen, dass es mit jeder beliebigen Kamera-/Drohnen/Flughöhen Kombination vernünftig arbeitet. Solange man nur Bildmaterial von einem bestimmten Typ hat, ist es schon einfacher, aber das wird dann mangels Masse entsprechend länger dauern, bis so ein Modell traniert ist. Die Saison ist recht kurz und wenn man dann nach drei Jahren soweit ist, ist die Technik schon wieder veraltet...

 

Mit Budgets, wie sie im Military Bereich üblich sind, wäre das natürlich alles machbar. Für Rehkitze fehlt leider die entsprechende Lobby...


  • Buri gefällt das

#8 Arthur

Arthur
  • 7.460 Beiträge
  • OrtKerpen
Tutorial

Geschrieben 20. September 2019 - 07:13

Danke für die Erläuterungen. Man lernt nie aus. :-) 



#9 WiSi-Testpilot

WiSi-Testpilot
  • 1.193 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Gopro H3+, Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640 (LWIR),
    Connex ProSight (NIR)

Geschrieben 24. September 2019 - 12:45

Kleines Update nach einigen Nächten Recherche…
Zunächst möchte ich die semantische Segmentierung auf dem Kopter zum Laufen bringen. Es ist eine KI/DeepLearning Methode, bei der jeder Pixel des Bildes einer Klasse zugeordnet wird. Das können Personen, Tiere, Autos, Bäume, Straße, Häuser, Bürgersteig, Fahrräder, Wiesen, Himmel, Windräder usw sein. Als Output erhält man ein buntes Bild, in dem jede Klasse eine vordefinierte Farbe hat. So „weis“ dann zB das selbstfahrende Auto oder der autonom fliegende Kopter, was sich vor der Linse befindet.
Beispielbilder gibt es im Netz, wenn man eine Bildersuche nach„semantische Segmentierung“ macht.
Auf GitHub gibt inzwischen viele  Repositorys zum Jetpack nano und KI mit Democode.

Die semantische Segmentierung ist meiner Meinung gut für den Einstieg in KI auf dem Kopter geeignet. Zum einen erhält man bunte Bildchen (und nicht nur einen Zahlenwert und eine Wahrscheinlichkeit) und zukünftige autonom fliegende Transportkopter müssen ja auch nachschauen können, ob der zugedachte Landeplatz überhaupt frei ist oder ob dort ein Moped steht. In unserem Fall müsste zB der Maulwurfshaufen als solcher erkannt werden.
Vielleicht hat ja jemand Lust mit einzusteigen.
Als Programmiersprache würde ich Python mit Pytorch vorschlagen.
Viele Grüße,
Wilhelm


Bearbeitet von WiSi-Testpilot, 24. September 2019 - 12:47.

  • ducpeter und Buri gefällt das

#10 WiSi-Testpilot

WiSi-Testpilot
  • 1.193 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Gopro H3+, Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640 (LWIR),
    Connex ProSight (NIR)

Geschrieben 27. September 2019 - 19:25

Bisher habe ich nur Software und Demos installiert, aber hier ist mein erstes Bild der semantischen Segmentierung. Der Kopter/das Auto weiß damit, was er/es vor sich hat. Mit den Farben sind die erkannten Klassen codiert, ganz im Hintergrund halb von einem Auto verdeckt ein Mensch in Rot.
Viele Grüße,
Wilhelm

Angehängte Dateien


  • el Kopto gefällt das

#11 WiSi-Testpilot

WiSi-Testpilot
  • 1.193 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Gopro H3+, Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640 (LWIR),
    Connex ProSight (NIR)

Geschrieben 30. September 2019 - 19:39

Videos kann ich nun über einen HDMI-USB3 Adapter in den Jetson Nano einlesen. Hier zwei Bilder daraus. Demnächst muss dort nur noch „Rehkitz xx%“ stehen…
Die Latenz liefere ich noch nach.
Viele Grüße,
Wilhelm

Angehängte Dateien



#12 el Kopto

el Kopto
  • 3.250 Beiträge
  • OrtNorddeutschland
  • Hexa / Matrice 100 hybrid mod / Jordana Endurance mit N3 + LB2 + PulseKraft PWM Erweiterung, H920 Retrofit mit HyraCom BVLOS Steuersystem

Geschrieben 30. September 2019 - 19:49

Danke für das Teilen Deiner ersten Eindrücke. Sieht danach aus, dass man damit lange Winterabende ausfüllen könnte... ;)


  • WiSi-Testpilot gefällt das

#13 WiSi-Testpilot

WiSi-Testpilot
  • 1.193 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Gopro H3+, Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640 (LWIR),
    Connex ProSight (NIR)

Geschrieben 01. Oktober 2019 - 19:54

Hier die versprochenen Lags.
Ich habe immer ein paar Fotos gemacht und gebe einen Bereich an.

1) RX0 > Connex > Monitor = 100-130 ms.

2) RX0 > HDMI-USB3 Adapter > Jetson Nano > Connex > Monitor = 200-250 ms.
Auf dem Nano lief das Programm Cheese (bitte lächeln). Das Bild benötigt also für den USB3 Adapter und das Nano nur 100-120 ms, was ich extrem gut finde.

3) Punkt 2 noch einmal mit der Bilderkennung DetectNet, s. Foto = 350-400 ms.

USB 3.0 ist inzwischen wohl eine beliebte Schnittstelle für Bildverarbeitung, siehe Link für ein paar interessante Infos.
https://www.baslerwe...usb3-0-kameras/
Viele Grüße,
Wilhelm

Angehängte Dateien


  • el Kopto gefällt das

#14 el Kopto

el Kopto
  • 3.250 Beiträge
  • OrtNorddeutschland
  • Hexa / Matrice 100 hybrid mod / Jordana Endurance mit N3 + LB2 + PulseKraft PWM Erweiterung, H920 Retrofit mit HyraCom BVLOS Steuersystem

Geschrieben 01. Oktober 2019 - 20:45

Vielversprechend.

Welchen HDMI->USB3 Adapter nutzt Du?



#15 WiSi-Testpilot

WiSi-Testpilot
  • 1.193 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Gopro H3+, Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640 (LWIR),
    Connex ProSight (NIR)

Geschrieben 01. Oktober 2019 - 21:04

Ja, finde ich auch.
Für die Wärmebildkamera habe ich noch einen weiteren bestellt.
https://www.amazon.d...n/dp/B07FXVF7HV

Dass es funktionieren müsste, hatte ich hier gesehen.

Vielleicht gibt es auch noch kleinere…
Viele Grüße,
Wilhelm





Auch mit einem oder mehreren dieser Stichwörter versehen: eigenbau, modellbau, multicopter, ndvi, jetson nano

Besucher die dieses Thema lesen: 0

Mitglieder: 0, Gäste: 0, unsichtbare Mitglieder: 0