{"id":13181,"date":"2021-03-24T08:32:00","date_gmt":"2021-03-24T07:32:00","guid":{"rendered":"https:\/\/blog.mi.hdm-stuttgart.de\/?p=13181"},"modified":"2023-06-18T18:02:38","modified_gmt":"2023-06-18T16:02:38","slug":"verkehrserkennung-mit-neuronalen-netzen","status":"publish","type":"post","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2021\/03\/24\/verkehrserkennung-mit-neuronalen-netzen\/","title":{"rendered":"Verkehrserkennung mit Neuronalen Netzen"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Einleitung<\/h2>\n\n\n\n<p>Hast du beim Lernen auch schon einmal gelangweilt aus dem Fenster geschaut und die vorbeifahrenden Autos gez\u00e4hlt? Auf wie viele Autos bist du dabei genau gekommen und war diese Zahl vielleicht auch vom Wochentag oder der Uhrzeit abh\u00e4ngig? <br>In unserem Projekt haben wir versucht diese Frage zu beantworten.<br>Daf\u00fcr haben wir mittels Maschinellem Lernen, auch als \u201cMachine Learning\u201d bezeichnet, ein Neuronales Netz trainiert, welches bei einer Videoaufzeichnung einer Kreuzung verschiedene Verkehrsteilnehmer erkennen kann.&nbsp;<br>Unser Ziel war es, durch eine Z\u00e4hlung bestimmen zu k\u00f6nnen, wie viele und welche Art von Fahrzeugen die Kreuzung in einem bestimmten Zeitraum passieren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Problemstellung<\/h2>\n\n\n\n<p>Wie viele Autos passieren eine Kreuzung? Handelt es sich haupts\u00e4chlich um Autos oder gibt es auch andere Fahrzeuge, die die Kreuzung passieren und wie hoch ist die dadurch resultierende potentielle L\u00e4rmbelastung? Um all diese Fragen kl\u00e4ren zu k\u00f6nnen, w\u00e4re es von Vorteil, wenn man w\u00fcsste, wie viele Fahrzeuge an der ausgesuchten Teilstrecke vorbeifahren. Wir haben probiert, genau das, nur mit Hilfe von Videos, herauszufinden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">L\u00f6sungsansatz<\/h2>\n\n\n\n<p>Wir entschieden uns, ein vortrainiertes Neuronales Netz auf Basis der YOLO-Architektur anzupassen und mit unseren Daten weiter zu trainieren. YOLO ist ein Echtzeit-Objekterkennungssystem, welches ein einzelnes Neuronales Netz auf ein komplettes Bild anwendet [1].<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Vorverarbeitung der Bilder bzw. Videos<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Nacht-Videos aussortieren und verteilen&nbsp;<\/h4>\n\n\n\n<p>Um das Projekt durchf\u00fchren zu k\u00f6nnen, hatten wir einige Videoaufnahmen einer Kreuzung von Herrn Prof. Kriha erhalten. Die Aufnahmen zeigen eine Kreuzung, wie in Abbildung 1 zu sehen, welche zu unterschiedlichen Uhrzeiten gefilmt wurde. Wir entschieden uns, das Netz erst einmal mit Aufnahmen bei Tag zu trainieren, da die Fahrzeuge auf diesen Aufnahmen deutlicher zu erkennen sind und damit besser zuordenbar. Aus diesem Grund sortierten wir alle Nachtaufnahmen aus und verteilten die restlichen Videos auf alle Teilnehmer der Projektarbeit, um den Aufwand f\u00fcr das sp\u00e4tere Labeln der Bilder untereinander aufzuteilen.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/MC3KTdi0c6_rqKu2ZOq5LMHCsmzum6QDwK6PiBJwYrHAGF2ABFbzHo9z-DmWFwBB0R2K5aFYvHKnwY8sBc3WQr-hiJmpC396HF5uFy3i3gGCQMFO9LJOrSK47Hsa6IByVk1xGSGY\" alt=\"\" \/><figcaption>Abbildung 1: Kreuzung ohne Fahrzeuge<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Bilder aus Videos extrahieren<\/h4>\n\n\n\n<p>Da man das Neuronale Netz nicht mit Videoaufnahmen trainieren kann, mussten wir aus den Videos zun\u00e4chst einzelne Bilder generieren. Dazu erstellten wir \u00fcber 500 Screenshots, welche die verschiedenen Fahrzeuge an unterschiedlichen Positionen zeigen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Labeln der Bilder<\/h4>\n\n\n\n<p>Um das Netz trainieren zu k\u00f6nnen, muss man die Bilder zun\u00e4chst labeln. Hierf\u00fcr verwendeten wir die Software \u201cVGG Image Annotator\u201d [2]. Direkt zu Beginn des Projektes einigten wir uns auf alle Fahrzeugtypen, die unser Netz erkennen sollte. Hierzu geh\u00f6ren:<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul class=\"wp-block-list\"><li>PKW<\/li><li>LKW<\/li><li>Traktor<\/li><li>Motorrad<\/li><li>Fahrrad<\/li><li>Sonstiges (z. B. E-Scooter, Inlineskater)<\/li><\/ul>\n\n\n\n<p><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/attributes-1.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"13183\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2021\/03\/24\/verkehrserkennung-mit-neuronalen-netzen\/attributes-1\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/attributes-1.png\" data-orig-size=\"281,438\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"attributes-1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/attributes-1.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/attributes-1.png\" alt=\"\" class=\"wp-image-13183\" width=\"244\" height=\"380\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/attributes-1.png 281w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/attributes-1-192x300.png 192w\" sizes=\"auto, (max-width: 244px) 100vw, 244px\" \/><\/a><figcaption>Abbildung 2: Annotator Attributauswahl<\/figcaption><\/figure>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<p>In der Software kann man verschiedene Labels anlegen, welche nach den Fahrzeugkategorien benannt sind. In Abbildung 2 sieht man, wie die verschiedenen IDs, also die Label-Kategorien, angelegt werden.&nbsp;Ein Objekt kann man kennzeichnen, indem man mit Hilfe der Software ein Rechteck auf das Objekt legt und die jeweilige Bezeichnung &#8211; durch Klicken auf den passenden Radiobutton &#8211; angibt. Die Positionen der Rechtecke werden dann zus\u00e4tzlich zu den Bildern als CSV abgespeichert und k\u00f6nnen so sp\u00e4ter f\u00fcrs Training verwendet werden.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Augmentation<\/h4>\n\n\n\n<p>Da es nicht m\u00f6glich ist, f\u00fcr jedes Szenario in der realen Welt ein Bild zu kreieren, mit dem man sp\u00e4ter trainieren kann, behalfen wir uns hier der Bild-Augmentation, um den aktuellen Trainingssatz zu diversifizieren. Dabei werden alle Bilder auf eine quadratische Gr\u00f6\u00dfe von 512 x 512 Pixel skaliert und der Kontrast normalisiert. Im Anschluss gibt es eine 50 prozentige Chance, dass ein Bild horizontal und\/ oder vertikal gespiegelt wird. Bei diesen Arten der Augmentation muss man aufpassen, dass die Label-Rechtecke korrekt mit skaliert und -rotiert werden. In Abbildung 3 sieht man ein Beispiel eines augmentierten Bildes.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/ReqjQUQD7nsJ3rsJYRAA9Ojdw1e-r1-axcZUnFb-2dCwr0S40ug2lDdiRRLDKqJzVGrZg_sSd986QEJOjyRVOGkTvH7zkz2DRmyLG5y6pttm2zxrXsl5SMQeHxrA2yvndAzXEgK5\" alt=\"\" \/><figcaption>Abbildung 3: Augementiertes Bild<\/figcaption><\/figure>\n\n\n\n<p>Der Datensatz wurde anschlie\u00dfend in einen Trainingssatz und einen Testsatz aufgespalten. Wie der Name bereits impliziert, wird der Trainingssatz lediglich zum Trainieren des Netzes verwendet. Den Testsatz bekommt das Netz w\u00e4hrend des Trainings nie zu sehen. Erst am Ende wird dieser zur Verifizierung und Bewertung der Ergebnisse verwendet.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Neuronales Netz<\/h3>\n\n\n\n<p>Ein Neuronales Netz ist ein Verbund von Neuronen, dessen Parameter durch Training angepasst werden. \u00dcbliche Trainingsziele sind die Klassifikation, Replikation oder allgemein die Abstraktion der Eingangsdaten. Besonders die Klassifikation spielt in unserem Fall der Objekterkennung eine besondere Rolle.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Architektur<\/h4>\n\n\n\n<p>Bei der Entscheidung, welche Netzarchitektur wir f\u00fcr unser Projekt verwenden wollten, gab es die Auswahl zwischen dem Region Based Convolutional Neural Network (R-CNN) und dem \u201cYou Only Look Once\u201d Netz (YOLO). Ein R-CNN durchl\u00e4uft ein Bild zweimal. Im ersten Durchlauf schl\u00e4gt es \u201cRegions of Interest\u201d vor, welche im zweiten Durchlauf verfeinert und klassifiziert werden. YOLO geht einen v\u00f6llig anderen Weg und schaut nur ein einziges Mal auf ein Bild. Dabei wird das Bild in Zellen unterteilt welche anschlie\u00dfend sogenannte Bounding Boxes vorhersagen, die ein Objekt umschlie\u00dfen sollen. Auch wird die \u201cconfidence\u201d angeben, die zeigt, wie sicher das Netz ist, wirklich ein Objekt umschlossen zu haben. Parallel dazu erstellt jede Zelle eine Klassifikation. In unserem Fall w\u00e4re es die Unterscheidung, ob es ein PKW, LKW oder ein anderes Fahrzeug ist. Im letzten Schritt werden beide Ergebnisse miteinander vereinigt und es entsteht die finale Vorhersage (siehe Abbildung 4).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/KoCtxPz75cOfkbwYPj4UCIESgvp8U13f-e4DSIksX-QQP6ikyOqDf2sBwpFtFVQeBqV7hKyrf2PxnXShus-aIJyFUjufM-EzQdEovp7hDNOQHX92v43rut_H5_XVQmya2Ns4cbP8\" alt=\"\" \/><figcaption>Abbildung 4: Modell des YOLO-Netzes [3]<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler\"><div class=\"wp-block-embed__wrapper\">\n<a class=\"m-story\" href=\"https:\/\/medium.com\/analytics-vidhya\/yolo-v3-introduction-to-object-detection-with-tensorflow-2-ce75749b1c47\" target=\"_blank\" data-width=\"500\" data-border=\"1\" data-collapsed=\"\">View at Medium.com<\/a>\n<\/div><\/figure>\n\n\n\n<p>Wir haben uns f\u00fcr die YOLO Architektur entschieden, weil sie im Vergleich zum R-CNN schneller arbeitet, auch wenn sie nicht so pr\u00e4zise ist. Das zu analysierende Material sind Videos mit 25 Bildern pro Sekunde und wenn man es in Echtzeit verarbeiten wollte, ist die Geschwindigkeit wichtiger als die Genauigkeit.<\/p>\n\n\n\n<p>Um nicht komplett von Null anzufangen, \u00fcbernahmen wir eine YOLOV2-Implementierung mit bereits trainierten Gewichten basierend auf dem COCO Datensatz. Die letzte Schicht des Netzes wurde dann mit unseren eigenen Trainingsbildern trainiert.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Training<\/h4>\n\n\n\n<p>Das verwendete Netz, basierend auf der YOLO Architektur [4], wird \u00fcberwacht trainiert. W\u00e4hrend des Trainings erzeugt es f\u00fcr jede Bildeingabe eine Ausgabe pro erkanntem Objekt, welche aus den vier Koordinaten der Bounding Box und einem Label, das angibt, um was f\u00fcr ein Vehikel es sich handelt, besteht. Diese Ausgabe wird nun mit den zuvor gelabelten Rechtecken des Eingabebildes verglichen und ein Loss-Wert errechnet. Mittels Backpropagation werden der Gradient von jedem Neuron neu berechnet und die Gewichte angepasst. Nach jeder Wiederholung des Prozesses mit denselben Eingabebildern, sollte sich die Ausgabe den wahren Werten immer weiter ann\u00e4hern. Das Netz lernt.<\/p>\n\n\n\n<p>In Abbildung 5 ist ein Trainingsvorgang veranschaulicht. Die Y-Achse zeigt den Loss-Wert an, die X-Achse die Epochen. Eine Epoche ist ein gesamter Durchlauf mit allen Trainingsbildern. Der orange Graph zeigt den Loss-Wert der Testbilder mit den zum Zeitpunkt x errechneten Gewichten des Netzes an, w\u00e4hrend der blaue Graph f\u00fcr den Loss-Wert auf den Trainingsbildern steht. Man kann erkennen, dass der Loss in den ersten Epochen sehr schnell abnimmt und sich ab der 200. Epoche kaum noch verbessert.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/training.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"13193\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2021\/03\/24\/verkehrserkennung-mit-neuronalen-netzen\/training-2\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/training.png\" data-orig-size=\"372,248\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"training\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/training.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/training.png\" alt=\"\" class=\"wp-image-13193\" width=\"437\" height=\"291\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/training.png 372w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/training-300x200.png 300w\" sizes=\"auto, (max-width: 437px) 100vw, 437px\" \/><\/a><figcaption>Abbildung 5: Loss-Verlauf bei Training mit 1.000 Epochen<\/figcaption><\/figure><\/div>\n\n\n\n<p>Dem fertig trainierten Netz \u00fcbergaben wir einige Testbilder, um zu sehen, ob es vern\u00fcnftige Ausgaben liefern konnte. Wie in den Abbildungen 6 bis 9 zu sehen ist, kann das Netz verschiedene Vehikel erkennen und auch die Klasse richtig einordnen. Des Weiteren ist es in der Lage, verdeckte Objekte wie die Autos in Abbildung 7 und 8, welche teilweise von Pflanzen verdeckt werden, zu identifizieren.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\"><\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-gallery columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training1-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"583\" height=\"590\" data-attachment-id=\"13196\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2021\/03\/24\/verkehrserkennung-mit-neuronalen-netzen\/nach_training1-4\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training1-4.png\" data-orig-size=\"583,590\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"nach_training1-4\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training1-4.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training1-4.png\" alt=\"\" data-id=\"13196\" data-full-url=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training1-4.png\" data-link=\"https:\/\/blog.mi.hdm-stuttgart.de\/?attachment_id=13196\" class=\"wp-image-13196\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training1-4.png 583w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training1-4-296x300.png 296w\" sizes=\"auto, (max-width: 583px) 100vw, 583px\" \/><\/a><figcaption class=\"blocks-gallery-item__caption\">Abbildung 6<\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training2-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"583\" height=\"590\" data-attachment-id=\"13197\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2021\/03\/24\/verkehrserkennung-mit-neuronalen-netzen\/nach_training2-4\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training2-4.png\" data-orig-size=\"583,590\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"nach_training2-4\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training2-4.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training2-4.png\" alt=\"\" data-id=\"13197\" data-full-url=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training2-4.png\" data-link=\"https:\/\/blog.mi.hdm-stuttgart.de\/?attachment_id=13197\" class=\"wp-image-13197\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training2-4.png 583w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training2-4-296x300.png 296w\" sizes=\"auto, (max-width: 583px) 100vw, 583px\" \/><\/a><figcaption class=\"blocks-gallery-item__caption\">Abbildung 7<\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training3-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"583\" height=\"590\" data-attachment-id=\"13198\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2021\/03\/24\/verkehrserkennung-mit-neuronalen-netzen\/nach_training3-1\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training3-1.png\" data-orig-size=\"583,590\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"nach_training3-1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training3-1.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training3-1.png\" alt=\"\" data-id=\"13198\" data-full-url=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training3-1.png\" data-link=\"https:\/\/blog.mi.hdm-stuttgart.de\/?attachment_id=13198\" class=\"wp-image-13198\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training3-1.png 583w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training3-1-296x300.png 296w\" sizes=\"auto, (max-width: 583px) 100vw, 583px\" \/><\/a><figcaption class=\"blocks-gallery-item__caption\">Abbildung 8<\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training4-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"583\" height=\"590\" data-attachment-id=\"13199\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2021\/03\/24\/verkehrserkennung-mit-neuronalen-netzen\/nach_training4-1\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training4-1.png\" data-orig-size=\"583,590\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"nach_training4-1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training4-1.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training4-1.png\" alt=\"\" data-id=\"13199\" data-full-url=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training4-1.png\" data-link=\"https:\/\/blog.mi.hdm-stuttgart.de\/?attachment_id=13199\" class=\"wp-image-13199\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training4-1.png 583w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/nach_training4-1-296x300.png 296w\" sizes=\"auto, (max-width: 583px) 100vw, 583px\" \/><\/a><figcaption class=\"blocks-gallery-item__caption\">Abbildung 9<\/figcaption><\/figure><\/li><\/ul><figcaption class=\"blocks-gallery-caption\">Vom YOLO-Netz erkannte Verkehrsteilnehmer<\/figcaption><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p>Es bleibt noch anzumerken, dass die Ausgabe der Rechtecke nicht ganz unseren Erwartungen entsprach. Zwar wurden die Vehikel mit gro\u00dfer Wahrscheinlichkeit erkannt und korrekt zugeordnet, jedoch waren die Bounding Boxen zu gro\u00df und entsprachen nicht unseren gelabelten Trainingsbildern. Dennoch konnten wir mit den Ergebnissen weiterarbeiten, weil nur der Mittelpunkt der Rechtecke f\u00fcr die Z\u00e4hlung wichtig ist. Diesen Mittelpunkt kann man aus den Eckpunkten des Rechtecks berechnen, dabei spielte es keine Rolle wie gro\u00df die Dimensionen sind.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Z\u00e4hlung der Fahrzeuge<\/h3>\n\n\n\n<p>Bevor wir beginnen konnten die vorbeifahrenden Fahrzeuge zu z\u00e4hlen, mussten wir in der Lage sein, ein bestimmtes Fahrzeug w\u00e4hrend des Vorbeifahrens zu tracken. Das ist n\u00f6tig, da das neuronale Netz eigentlich keine Videos direkt verarbeiten kann. Stattdessen wird das Video in die einzelnen Bilder zerlegt und Bild f\u00fcr Bild verarbeitet. In einem ersten Schritt haben wir dabei jeweils die vorher erw\u00e4hnten Mittelpunkte eines jeden erkannten Fahrzeugs in passender Farbe, je nachdem welcher Typ erkannt wurde, in jedes einzelne Bild gezeichnet und anschlie\u00dfend wieder zu einem Video zusammengesetzt. Das Ergebnis zeigt, dass das Netz in der Lage ist, ein Fahrzeug zu &#8220;verfolgen&#8221; wie in Video 1 zu sehen. <\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/general_tracking_compressed.mp4\"><\/video><figcaption>Video 1: Fahrzeug-Tracking mit unserem Netz<\/figcaption><\/figure>\n\n\n\n<p>Um ein vorbeifahrende Auto als nur ein einziges Fahrzeug zu werten und zu z\u00e4hlen, verglichen wir die Mittelpunkte der erkannten Fahrzeuge zwischen zwei nachfolgenden Bildern eines Videos und ordneten diese, wenn m\u00f6glich, einem bereits im ersten Bild erkannten Fahrzeug zu. Hierf\u00fcr verwendeten wir einen Centroid (z. Dt. Schwerpunkt, hier der Mittelpunkt der erkannten Fahrzeuge) Tracking-Algorithmus [5]. Dieser ordnet Fahrzeuge auf einem neuen Bild zu bereits erkanntem Fahrzeugen zu oder registriert sie als neue Fahrzeuge. Dieser merkt auch, wenn Fahrzeuge wieder verschwunden sind und l\u00f6scht diese aus den als &#8220;aktuell im Bild befindlich&#8221; registrierten Fahrzeugen.&nbsp;<\/p>\n\n\n\n<p>Nachdem wir in der Lage waren, ein vorbeifahrendes Fahrzeug \u00fcber den Zeitraum, in dem es im Video auftaucht, als ein einziges Fahrzeug zu werten, musste als n\u00e4chstes festgelegt werden, wann wir ein Fahrzeug z\u00e4hlen. Zwar konnten wir Fahrzeuge relativ genau zuordnen, w\u00fcrde man jedoch einfach die Zahl aller einzigartig erkannten Fahrzeuge betrachten, so w\u00e4re die Zahl viel zu hoch. Das liegt daran, dass Fahrzeuge am Rand der Bilder teils nicht so gut erkannt werden oder z. B. lang genug von einem anderen verdeckt sind und anschlie\u00dfend als neues Fahrzeug registriert werden. Das l\u00e4sst sich nicht wirklich verhindern. Auch werden bei gro\u00dfen Fahrzeugen manchmal f\u00e4lschlicherweise zus\u00e4tzlich Fahrzeuge erkannt (siehe Abbildung 10). So wird, auch wenn ein zus\u00e4tzliches Fahrzeug nur in einem einzelnen Bild erkannt wurde, die Zahl der insgesamt erkannten Fahrzeuge hochgetrieben.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/a-hcTlnRwcPJxSOiOY0-DqtEplUzLxFVA6Gqs1ajZHxy9QPzinoUDTQyoR4Io2ibOL-kBo67h5dG72HsJo6Thp9KdbhbOp-yR-fORkG4_HYXbdBldk6MD1hHuPZIqwwoa1FOOOYP\" alt=\"\" width=\"579\" height=\"579\" \/><figcaption>Abbildung 10: Das Netz erkennt zus\u00e4tzlich zum Traktor noch zwei LKWs<\/figcaption><\/figure><\/div>\n\n\n\n<p>Es ergibt also Sinn, an einer Stelle zu z\u00e4hlen, an der alles gut sichtbar ist und das Netz sehr genau Fahrzeuge erkennt, damit diese m\u00f6glichst genau gez\u00e4hlt werden. Daf\u00fcr haben wir relativ mittig im Bild einen runden Bereich definiert, den die Fahrzeuge durchqueren m\u00fcssen, um gez\u00e4hlt zu werden, siehe Abbildung 11.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/joJrtKJw7l15MUIYtn4C8adhx8Sv6TfLoCVS60fpaD1u9zNvHyPkGBdN6trPsmgmdDCneXo32HPbiq-dcV_cOwtnyVA_QXGK6bVKyluykRdj7EVW5wy06xRBrwRsuaETeKKPM7bR\" alt=\"\" \/><figcaption>Abbildung 11: Kreis, in dem Fahrzeuge gez\u00e4hlt werden und Fahrtverlauf aller Autos<\/figcaption><\/figure><\/div>\n\n\n\n<p>Jedes erkannte Fahrzeug bekommt in unserem Tracking-Algorithmus dabei eine Variable, die den Status des Fahrzeug angibt. Dabei wird unterschieden zwischen &#8220;ist nicht im Kreis&#8221;, &#8220;ist im Kreis&#8221; und &#8220;war im Kreis&#8221;. Nach jedem Update, also nach jedem verarbeiteten Bild, wird f\u00fcr jedes in diesem Moment erkannte Fahrzeug \u00fcberpr\u00fcft, ob es sich im Kreis befindet und der Status entsprechend angepasst. Wechselt dieser dabei von &#8220;ist im Kreis&#8221; zu &#8220;war im Kreis&#8221;, dann wird das Fahrzeug gez\u00e4hlt, also beim Verlassen des Kreises. Um sicherzustellen, dass alle Fahrzeuge auch &#8220;durch den Kreis&#8221; fahren, liegt dieser zwangsweise an einer Stelle an, bei der Fahrzeuge von Pflanzen verdeckt werden k\u00f6nnen. Dies hat zur Folge, dass manche Fahrzeuge bereits nicht mehr erkannt werden, obwohl sie den Kreis noch nicht verlassen haben und folglich nie gez\u00e4hlt werden. Daraus folgte die Entscheidung, auch Fahrzeuge zu z\u00e4hlen, die verschwinden, w\u00e4hrend sie sich im Kreis befinden. Das f\u00fchrt dazu, dass im Schnitt zu viele Fahrzeuge erkannt werden, siehe Video 2. Allerdings ist in unseren Tests die Anzahl der gez\u00e4hlten Fahrzeuge dadurch sehr viel n\u00e4her an der tats\u00e4chlichen Anzahl der vorbeifahrenden Fahrzeuge.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/count_too_many_compressed.mp4\"><\/video><figcaption>Video 2: Ein Auto wird f\u00e4lschlicherweise drei Mal gez\u00e4hlt<\/figcaption><\/figure>\n\n\n\n<p>Sobald ein Fahrzeug gez\u00e4hlt wird, werden Informationen wie der genaue Zeitpunkt und die Art des Fahrzeugs in eine Liste geschrieben und zur Weiterverarbeitung als CSV-Datei gespeichert. Zur Veranschaulichung haben wir auch die Counter der verschiedenen Fahrzeuge mit in das Video eingef\u00fcgt, siehe Video 3.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/final_example_compressed.mp4\"><\/video><figcaption>Video 3: Ausschnitt eines fertig verarbeiteten Videos<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Ergebnis<\/h2>\n\n\n\n<p>Wir konnten die Ziele, welche wir uns am Anfang gesetzt haben, erfolgreich umsetzen. Das Netz ist in der Lage, verschiedene Verkehrsteilnehmer zu erkennen und zu kategorisieren. Zus\u00e4tzlich w\u00e4re es performant genug, die Erkennung und Z\u00e4hlung in Echtzeit durchzuf\u00fchren. <\/p>\n\n\n\n<p>Die Klassifizierung der Fahrzeuge hat zwar generell funktioniert, aber w\u00e4re durch mehr gelabelte Bildern von nicht-PKWs vermutlich sehr viel besser gewesen. Eine weitere Sache, die sich im Nachhinein als suboptimal herausstellte, ist, dass wir bei Landwirtschaftsfahrzeugen jeweils nur das Zugfahrzeug labelten. Das f\u00fchrte dazu, dass das Netz Probleme hatte, Anh\u00e4nger zu erkennen und oft zus\u00e4tzlich mehrfach LKWs erkannte, siehe Abbildung 10.&nbsp;<\/p>\n\n\n\n<p>Die Z\u00e4hlung w\u00e4re abgesehen von teils fehlerhafter Klassifizierung und dem Erkennen zus\u00e4tzlicher nicht vorhandener Fahrzeuge, einfacher und potenziell genauer gewesen, w\u00e4re die Kreuzung aus einem anderen Winkel gefilmt worden. Der Umstand, dass ein f\u00fcr die Z\u00e4hlung relevanter Bildteil direkt an eine &#8220;Bildkante&#8221;, an der Fahrzeuge verschwinden, angrenzt, erschwert die genaue Z\u00e4hlung immens. Wenn Teile einer Pflanze im Kreis hingen, f\u00fchrte das oft dazu, dass ein Fahrzeug nicht mehr erkannt wurde, w\u00e4hrend es verdeckt war, dann aber erneut erkannt und anschlie\u00dfend aufgrund unsere Entscheidung im Bild, verschwindende Fahrzeuge zu werten, doppelt gez\u00e4hlt wurde.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie l\u00e4sst sich das Projekt fortf\u00fchren?<\/h2>\n\n\n\n<p>Nach dem Abschluss des Projektes gibt es noch eine Vielzahl an M\u00f6glichkeiten, das Projekt weiterzuf\u00fchren. Zum einen kann man den gesamten Video-Datensatz des Netzes bearbeiten lassen, danach durchgehen und anschlie\u00dfend statistisch auswerten.<\/p>\n\n\n\n<p>Es w\u00e4re auch m\u00f6glich, das Netz mit dem Videomaterial einer anderen Stra\u00dfe zu trainieren. Oder unseren Datensatz mit nicht-PKWs zu erweitern und bspw. die nicht optimal gelabelten Traktoren zu ersetzen. Ein anderer Ansatz w\u00e4re, alle Fahrzeuge mit dem gleichen Label zu versehen und damit das Netz zu trainieren. Anschlie\u00dfend k\u00f6nnte man bewerten, wie sich das Ergebnis ver\u00e4ndert.<\/p>\n\n\n\n<p>Neben der <em>YOLO<\/em>-Architektur gibt es auch noch die <em>Single Shot Detector<\/em>-Architektur, welche eine \u00e4hnlich Performance bietet. Es w\u00e4re interessant herauszufinden, was f\u00fcr diese Problemstellung besser ist, sei es in Sachen Geschwindigkeit oder Pr\u00e4zision.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Referenzen<\/h2>\n\n\n\n<p>[1] <a href=\"https:\/\/deepdataocean.ai\/de\/deep-learning\/yolo\">https:\/\/deepdataocean.ai\/de\/deep-learning\/yolo<\/a><br>[2] <a href=\"https:\/\/annotate.officialstatistics.org\/\">https:\/\/annotate.officialstatistics.org\/<\/a><br>[3] <a href=\"https:\/\/towardsdatascience.com\/yolo-you-only-look-once-real-time-object-detection-explained-492dc9230006\">https:\/\/towardsdatascience.com\/yolo-you-only-look-once-real-time-object-detection-explained-492dc9230006<\/a><br>[4] <a href=\"https:\/\/github.com\/jmpap\/YOLOV2-Tensorflow-2.0\">https:\/\/github.com\/jmpap\/YOLOV2-Tensorflow-2.0<\/a><br>[5] <a href=\"https:\/\/www.pyimagesearch.com\/2018\/07\/23\/simple-object-tracking-with-opencv\/\">https:\/\/www.pyimagesearch.com\/2018\/07\/23\/simple-object-tracking-with-opencv\/<\/a><\/p>\n\n\n\n<p><strong>Danke an alle Teammitglieder<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Niklas Henrich<\/li><li>Florian Huynh<\/li><li>Lukas Joraschek<\/li><li>Anke M\u00fcller<\/li><li>Leah Fuchs<\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Einleitung Hast du beim Lernen auch schon einmal gelangweilt aus dem Fenster geschaut und die vorbeifahrenden Autos gez\u00e4hlt? Auf wie viele Autos bist du dabei genau gekommen und war diese Zahl vielleicht auch vom Wochentag oder der Uhrzeit abh\u00e4ngig? In unserem Projekt haben wir versucht diese Frage zu beantworten.Daf\u00fcr haben wir mittels Maschinellem Lernen, auch [&hellip;]<\/p>\n","protected":false},"author":1021,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,652,661],"tags":[355,463,466,465,467,464,468,470,469],"ppma_author":[846],"class_list":["post-13181","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-artificial-intelligence","category-deep-learning","tag-ai","tag-ki","tag-neural-network","tag-nn","tag-supervised-learning","tag-traffic","tag-traffic-recognition","tag-video-processing","tag-yolo-v2"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":12835,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2021\/03\/07\/sensor-fusion\/","url_meta":{"origin":13181,"position":0},"title":"Sensor Fusion","author":"Konstantin Rosenberg","date":"7. March 2021","format":false,"excerpt":"Geschrieben von Konstantin Rosenberg Einleitung Stell dir vor du f\u00e4hrst in deinem autonom Fahrenden Auto die Stra\u00dfe entlang. Pl\u00f6tzlich erscheint, hinter einem parkenden Auto, ein Fu\u00dfg\u00e4nger und tritt direkt vor dir auf die Fahrbahn. Du erschrickst, doch das Auto kommt elegant vor dem unachtsamen Spazierg\u00e4nger zu stehen. W\u00e4hrend du dir\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/image-5.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/image-5.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/03\/image-5.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":11711,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/09\/29\/perfekter-gluhwein-fur-zuhause-thermometer-mit-raspberry-pi-und-aws\/","url_meta":{"origin":13181,"position":1},"title":"Perfekter Gl\u00fchwein f\u00fcr Zuhause: Thermometer mit Raspberry Pi und AWS","author":"jg129","date":"29. September 2020","format":false,"excerpt":"Abstract Kein anderes Getr\u00e4nk ist mit Weihnachtsm\u00e4rkten so verbunden wie Gl\u00fchwein. Und so trinkt sich der ausschweifende Weihnachtsmarktbesucher im Laufe der Adventszeit von Stand zu Stand bis er schlie\u00dflich am Ende des Jahres seinen Lieblingsstand gefunden hat. Doch auch daheim kann der perfekte Gl\u00fchwein gelingen.\u00a0 Wir zeigen, wie man sich\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/lh3.googleusercontent.com\/rbu36fXExVo14XfyUicXbIFjAgh1bvNnXHlaUVRfqLevpyZx4KVyjeuYdgItPx6y39R8L9Ub_hug03LYM3AIAW_F14vhBiXOZlt92qIpN0Y2h0H-czZ65ERnn3qUoWVh7JfI5ihA","width":350,"height":200,"srcset":"https:\/\/lh3.googleusercontent.com\/rbu36fXExVo14XfyUicXbIFjAgh1bvNnXHlaUVRfqLevpyZx4KVyjeuYdgItPx6y39R8L9Ub_hug03LYM3AIAW_F14vhBiXOZlt92qIpN0Y2h0H-czZ65ERnn3qUoWVh7JfI5ihA 1x, https:\/\/lh3.googleusercontent.com\/rbu36fXExVo14XfyUicXbIFjAgh1bvNnXHlaUVRfqLevpyZx4KVyjeuYdgItPx6y39R8L9Ub_hug03LYM3AIAW_F14vhBiXOZlt92qIpN0Y2h0H-czZ65ERnn3qUoWVh7JfI5ihA 1.5x"},"classes":[]},{"id":27369,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2025\/02\/26\/cloudy-mit-aussicht-auf-worter-unser-weg-mit-crowdcloud\/","url_meta":{"origin":13181,"position":2},"title":"Cloudy mit Aussicht auf W\u00f6rter: Unser Weg mit CrowdCloud","author":"Simon Wimmer","date":"26. February 2025","format":false,"excerpt":"Willkommen zu unserem Erfahrungsbericht aus der Vorlesung \u201eSystem Engineering and Management\u201c. In den letzten Monaten haben wir uns an ein Projekt gewagt, das uns sowohl technisch als auch pers\u00f6nlich herausgefordert hat \u2013 CrowdCloud. Anstatt uns in trockene Theorien zu verlieren, m\u00f6chten wir euch in diesem Blog-Beitrag erz\u00e4hlen, wie aus einer\u2026","rel":"","context":"In &quot;System Engineering&quot;","block_context":{"text":"System Engineering","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/system-designs\/system-engineering\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/System_Engineering.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/System_Engineering.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/System_Engineering.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/System_Engineering.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/System_Engineering.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/System_Engineering.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":24536,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2023\/03\/19\/von-studierenden-fur-studierende-grundlagentutorium-unterstutzung-empowerment\/","url_meta":{"origin":13181,"position":3},"title":"Von Studierenden f\u00fcr Studierende: Grundlagentutorium &#8211; Unterst\u00fctzung &amp; Empowerment","author":"Tamara Hezel","date":"19. March 2023","format":false,"excerpt":"Kim Bastiaanse, Tamara Hezel Einleitung Die Idee zu unserem Projekt entstand aus einem Gespr\u00e4ch mit einer Studentin des 3. Semesters. Aufgrund von Wissensl\u00fccken und Unsicherheiten hatte sie \u00fcberlegt, ihr Studium abzubrechen. Wir f\u00fchlten uns direkt in unsere ersten Semester im Studiengang Mobile Medien zur\u00fcckversetzt und \u00fcberlegten, was uns damals geholfen\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/08\/gMqnGsMdK7UF6sYIWMq7XDYYPl2O4KeKk7VGGfIir9JTXBQmmmb42idNXZAuCf71_KaTrmKinBIjQ2I0_xrUYEUeByfVcjRUg1umCfJC8Fv2ftIohCIrfkI4udGuMoBvVKMms7Oj9549xtAkH4dLQ_c.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/08\/gMqnGsMdK7UF6sYIWMq7XDYYPl2O4KeKk7VGGfIir9JTXBQmmmb42idNXZAuCf71_KaTrmKinBIjQ2I0_xrUYEUeByfVcjRUg1umCfJC8Fv2ftIohCIrfkI4udGuMoBvVKMms7Oj9549xtAkH4dLQ_c.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/08\/gMqnGsMdK7UF6sYIWMq7XDYYPl2O4KeKk7VGGfIir9JTXBQmmmb42idNXZAuCf71_KaTrmKinBIjQ2I0_xrUYEUeByfVcjRUg1umCfJC8Fv2ftIohCIrfkI4udGuMoBvVKMms7Oj9549xtAkH4dLQ_c.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":22460,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2022\/02\/28\/himbeer-tarte-und-harte-fakten-im-interview-mit-ansible-k3s-infrastructure-as-code-und-raspberry-pi\/","url_meta":{"origin":13181,"position":4},"title":"\u201cHimbeer Tarte und harte Fakten\u201d: Im Interview mit Ansible, k3s, Infrastructure as Code und Raspberry Pi","author":"Aliena Leonhard","date":"28. February 2022","format":false,"excerpt":"Why so serious? - Ein Artikel von Sarah Schwab und Aliena Leonhard im Rahmen der Vorlesung Systems Engineering and Management. Die Idee, ein fiktives Interview zu erstellen, entstammt daraus komplexe Sachverhalte unterhaltsam und verst\u00e4ndlich zu machen. Wir sind heute zu Gast in der Tech-Sendung \u201cHimbeer Tarte und harte Fakten\u201d.\u00a0 Heute\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/02\/stan-slade-BM27BzBrhVM-unsplash-2-scaled.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/02\/stan-slade-BM27BzBrhVM-unsplash-2-scaled.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/02\/stan-slade-BM27BzBrhVM-unsplash-2-scaled.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/02\/stan-slade-BM27BzBrhVM-unsplash-2-scaled.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/02\/stan-slade-BM27BzBrhVM-unsplash-2-scaled.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/02\/stan-slade-BM27BzBrhVM-unsplash-2-scaled.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":25062,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2023\/07\/27\/machine-learning-fluch-oder-segen-fur-die-it-security\/","url_meta":{"origin":13181,"position":5},"title":"Machine Learning: Fluch oder Segen f\u00fcr die IT Security?","author":"Sabrina Berg","date":"27. July 2023","format":false,"excerpt":"Im heutigen digitalen Zeitalter ist die Sicherheit von IT-Systemen ein allgegenw\u00e4rtiges Thema von enormer Wichtigkeit. Rund um die Uhr m\u00fcssen riesige Mengen an sensible Daten sicher gespeichert und \u00fcbertragen werden k\u00f6nnen und die Funktionalit\u00e4t von unz\u00e4hligen Systemen muss zuverl\u00e4ssig aufrecht gehalten werden. Industrie 4.0, unz\u00e4hlige Onlinediensten und das Internet of\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/07\/Machine-learning-1024x587-1-e1690452250291.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/07\/Machine-learning-1024x587-1-e1690452250291.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/07\/Machine-learning-1024x587-1-e1690452250291.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2023\/07\/Machine-learning-1024x587-1-e1690452250291.png?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_sharing_enabled":true,"authors":[{"term_id":846,"user_id":1021,"is_guest":0,"slug":"lj031","display_name":"Lukas Joraschek","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/34b9f0b81075b334f299c4d56fca2376901811c84c506fede5b327a615c71aeb?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/13181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/users\/1021"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/comments?post=13181"}],"version-history":[{"count":23,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/13181\/revisions"}],"predecessor-version":[{"id":13235,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/13181\/revisions\/13235"}],"wp:attachment":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/media?parent=13181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/categories?post=13181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/tags?post=13181"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/ppma_author?post=13181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}