Ball Erkennung

Translations: en

Die Ballerkennung ist eine zentrale Fähigkeit die die Nao Roboter beherschen müssen. In unserem Team wird dazu ein CNN benutzt. Dieses soll den Ball in kleinen Bildausschnitten (Patches) finden. Details dazu stehen im Teamreport in Kapitel 4
https://www2.informatik.hu-berlin.de/~naoth/docs/publications/technical/naoth-report19.pdf

Im Rahmen einer Abschlussarbeit können eine Reihe von unterschiedlichen An Es gibt viele unterschiedliche Aspekte die im Rahmen einer Abschlussarbeit beleuchtet werden können. Hier sind ein paar Ideen die umgesetzt werden können. Nicht alle müssen innerhalb einer Abschlussarbeit bearbeitet werden.

Vergleichen von Unterschiedlichen CNN Architekturen

Untersucht werden kann wie gut ein CNN auf unserem Datensatz sein kann. Dies könnte man erreichen indem ein sehr tiefes und breites Netz trainiert wird und vergleicht dieses mit kleineren Netzen welche auf dem Nao Roboter laufen können.

Der Nao Roboter hat eine obere und untere Kamera. In der unteren Kamera sind die Bälle typischerweise größer als in der oberen Kamera. Es kann untersucht werden ob es sinnvoll ist zwei verschiedene Netze für die beiden Kamera zu trainieren.

Das B-Human Team nutzt für die Ballerkennung 3 Neuronale Netze. Das erste Netzt verringert die Dimension mit Convolution und Pooling Layern. Danach wird ein kleines Klassifikationsnetz auf die Ausgabe des ersten Netzes angewandt. Dieses gibt eine Zahl zwischen 0 und 1 zurück. Ist das Klassifikationsergebniss gut genug wird die Ausgabe des ersten Netzes in das dritte Netz gegeben welches den Mittelpunkt und den Radius des Balls im Bild zurück gibt. Details finden sich im B-Human Teamreport in Kapitel 4.2.2

Desweiteren kann der Einfluss von (Monte Carlo) Dropout, Pruning, Batchnorm, unterschiedlichen Regularisierungsmethoden und Optimierungsalgorithmen untersucht werden. Auch Methoden aus dem Gebiet "Neural Architecture Search" können untersucht werden.

Vergleichen von unterschiedlich vorverarbeiten Daten

Untersucht werden kann der Einfluss von verschiedenen Augmentation Methoden. Beispielsweise von Augmix: https://arxiv.org/pdf/1912.02781.pdf

Ein großes Thema im Bereich Deep Learning ist die Nutzung von synthetischen Daten. Hierbei muss untersucht werden wie gut ein vortrainieren auf computer generierten Bildern der Genauigkeit auf einem realen Datensatz hilft. Denkbar wäre es gezielt Bilder zu generieren die wenig im vorhanden Datensatz vorkommen. Zum Beispiel entfernte Bälle. Es gibt bereits Vorarbeiten in Webots, Unreal Engine und Blender die genutzt werden können.

Eigene Ideen

Gerne könnt ihr eigene Ideen einbringen. Hierfür lohnt es sich vorher in unserem Teamreport anzuschauen wie unsere Bildverarbeitungspipeline aktuell ist.

Relevante Publikationen und Abschlussarbeiten:

Möglicher Ablauf der Abschlussarbeit

Wir stellen uns den Ablauf folgendermaßen vor.

  • Themabesprechung und kennenlernen
  • Expose schreiben
  • Besprechen des Exposes und eventuelle Anpassungen
  • Anmeldung der Arbeit
  • Experimente auf den bereitgestellten Datensets durchführen
  • Auswerten der Experimente
  • Schreiben der Abschlussarbeit
  • Schreiben einer Kurzfassung der Ergebnisse für den NaoTH Teamreport.

Alle zwei Wochen soll selbständig ein kurzer Status an das Nao Team gesendet werden.

Informationen zum Nao Team Humboldt

Website: https://naoth.de
RoboCup Regeln: https://cdn.robocup.org/spl/wp/2021/01/SPL-Rules-2021.pdf
Slack: https://naoth.slack.com
Public Github: https://github.com/BerlinUnited
Internal Gitlab: https://scm.cms.hu-berlin.de/berlinunited

Quellcode anderer RoboCup SPL Teams

Public NaoTH Repo: https://github.com/BerlinUnited/NaoTH
Public Nao Devils Repo: https://github.com/NaoDevils/CodeRelease
Public B-human Repo: https://github.com/bhuman/BHumanCodeRelease
Bembelbots: https://github.com/Bembelbots
rUNSWift: https://github.com/UNSWComputing/rUNSWift-2019-release
Hulks: https://github.com/HULKs/HULKsCodeRelease

Publikationslisten anderer Teams

Eventuell können Arbeiten anderer Teams hilfreich sein.

Naoth: https://www.naoteamhumboldt.de/en/publications/
Hulks: https://hulks.de/publications/
B-Human Abschlussarbeiten: https://b-human.de/theses-en.html
B-Human Publikationen: https://b-human.de/publications-en.html
Bembelbots: https://www.jrl.cs.uni-frankfurt.de/web/robocup/publications/
rUNSWift: https://github.com/UNSWComputing/rUNSWift-2019-release/raw/master/rUNSWift_Team_Report.pdf

Weitere Angaben

Gutachterin: V. Hafner
Lehrstuhl für adaptive Systeme: https://hu.berlin/adapt
Betreuung und Technische Unterstützung: Heinrich Mellmann, Stella Alice Schlotter
Arbeit im Labor notwendig: eventuell
Eigener PC notwendig: ja