{"id":20097654,"url":"https://github.com/AlexanderMelde/Verkehrszeichenerkennung","last_synced_at":"2025-05-06T05:32:01.365Z","repository":{"id":90348600,"uuid":"134860290","full_name":"AlexanderMelde/Verkehrszeichenerkennung","owner":"AlexanderMelde","description":"Traffic Sign Detection 🇩🇪 Praktische Implementierung einer Verkehrszeichenerkennung mit OpenCV und Tensorflow im Rahmen einer Studienarbeit.","archived":false,"fork":false,"pushed_at":"2024-04-08T00:30:44.000Z","size":16318,"stargazers_count":16,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-13T17:03:11.801Z","etag":null,"topics":["autonomous-driving","cnn","computer-vision","dataset","gtsrb","machine-learning","opencv","paper","tensorflow","traffic-sign-classification"],"latest_commit_sha":null,"homepage":"https://melde.net/portfolio/verkehrszeichenerkennung","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlexanderMelde.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-25T13:32:54.000Z","updated_at":"2024-11-08T23:36:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"71904240-e760-45a8-8392-786a2a6eb500","html_url":"https://github.com/AlexanderMelde/Verkehrszeichenerkennung","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderMelde%2FVerkehrszeichenerkennung","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderMelde%2FVerkehrszeichenerkennung/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderMelde%2FVerkehrszeichenerkennung/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderMelde%2FVerkehrszeichenerkennung/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexanderMelde","download_url":"https://codeload.github.com/AlexanderMelde/Verkehrszeichenerkennung/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252629139,"owners_count":21779153,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autonomous-driving","cnn","computer-vision","dataset","gtsrb","machine-learning","opencv","paper","tensorflow","traffic-sign-classification"],"created_at":"2024-11-13T17:01:22.505Z","updated_at":"2025-05-06T05:31:56.347Z","avatar_url":"https://github.com/AlexanderMelde.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Verkehrszeichenerkennung - Studienarbeit\n\u003ctable\u003e\n\u003ctr\u003e\u003cth\u003eAutor\u003c/th\u003e\u003ctd\u003eAlexander Melde (7939560), Stefan Schneider (5280242)\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003cth\u003eBetreuer\u003c/th\u003e\u003ctd\u003eMartin Kissel\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003cth\u003eStudiengang/Kurs\u003c/th\u003e\u003ctd\u003eB. Sc. Angewandte Informatik – Kommunikationsinformatik TINF15K\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003cth\u003eTitel der Arbeit\u003c/th\u003e\u003ctd\u003eVerkehrszeichenerkennung\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003cth\u003eAnlass\u003c/th\u003e\u003ctd\u003eStudienarbeit, 3. Studienjahr\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003cth\u003eBearbeitungszeitraum\u003c/th\u003e\u003ctd\u003e16.10.2017 - 04.06.2018\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003cth\u003eAbgabedatum\u003c/th\u003e\u003ctd\u003e04.06.2018\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n## Download und Installation\nDie Studienarbeit inklusive der praktischen Implementierung wurde veröffentlicht und kann von der Internetplattform [Github](https://github.com/AlexanderMelde/Verkehrszeichenerkennung) heruntergeladen werden:\n\nEs gibt zwei Möglichkeiten zur Installation:\n- Projekt anhand des Python Sourcecodes selbst kompilieren\n- Lauffähiges Programm herunterladen und starten \n\t1) Vollständiger Download der [build-Dateien](http://wwwlehre.dhbw-stuttgart.de/~it15111/vze/)\n\t2) Den für das Betriebssystem passende Ordner öffnen\n\t3) Die ausführbare Datei `start_vze.exe` mit einem Doppelklick öfffnen\n\n## Einrichten der Entwicklungsumgebung\nDa es sich bei dem Quelltext um Skripte der Skriptsprache Python 3.6.3 handelt, kann das Programm auf verschiedenen Betriebssystemen gestartet werden.\nFür Start und Entwicklung sind neben einer Python3-Installation die folgenden Module sowie deren Abhängigkeiten („Dependencies“) erforderlich:\n- appJar (0.82.1)\n- cx-Freeze (5.1.1)\n- numpy (1.14.2)\n- opencv-contrib-python (3.4.0.12)\n- opencv-python (3.3.1)\n- pip (9.0.2)\n- setuptools (38.5.1)\n- tensorflow (1.4.0)\n- virtualenv (15.1.0)\n- wheel (0.30.0)\n\nDie Verwendung des Moduls virtualenv ist optional, wird aber zur besseren Trennung mehrerer Python-Projekte auf einem System empfohlen. Eine Einführung in Virtual Environments ist kein Teil dieser Arbeit, eine gute Anleitung zur Einrichtung befindet sich [hier](https://www.geeksforgeeks.org/python-virtual-environment/).\n\nWurde die virtualenv eingerichtet können alle weiteren Module innerhalb der Environment (Umgebung) installiert und das Skript innerhalb der Umgebung gestartet werden.\nDas Modul cx-Freeze wird lediglich zum Erstellen von ausführbaren Dateien benötigt, eine Installation ist also nur notwendig, wenn der Python Code später ohne Interpreter ausgeführt können werden soll.\nFür die Darstellung der GUI wird in der nicht-kompilierten Version zudem das GUI-Framework Tk benötigt. Dieses wird bei den meisten Python-Installationen bereits als Tkinter mitgeliefert. Sollte Tk noch nicht vorhanden sein, kann [diese Anleitung](http://www.tkdocs.com/tutorial/install.html) genutzt werden.\n\nNach der Installation von Python 3.6 könnnen die benötigten Pakete installiert werden mit ``pip install -r requirements.txt`` (im Ordner ``VZE``).\n\n##\tAusführung\nVor der ersten Ausführung des Programms zur Verkehrszeichenerkennung muss, nachdem die Entwicklungsumgebung wie im vorherigen Abschnitt beschrieben, eingerichtet wurde, das neuronale Netz für die Klassifikation trainiert werden. Dies geschieht mit dem folgenden Befehl:\n\n\tpython classification/retrain.py --bottleneck_dir=${PWD}/tf_files/bottlenecks --how_many_training_steps=500 --model_dir=${PWD}/tf_files/inception --output_graph=${PWD}/tf_files/retrained_graph.pb --output_labels=${PWD}/tf_files/retrained_labels.txt --image_dir=${PWD}/data/signs\n\nNach dem Trainieren des neuronalen Netzes kann die Verkehrszeichenerkennung mit dem folgenden Befehl (innerhalb der virtualenv) gestartet werden:\n``python main.py``\n\nIn der Konsole erscheint nach dem Aufruf der Hinweis, dass die grafische Oberfläche nun geladen wird.\nDie Bedienung der grafischen Oberfläche wird als selbsterklärend angesehen, kleine Buttons und Hilfetexte unterstützen den Anwender innerhalb der grafischen Oberfläche.\n\n##\tKompilieren\nUm das entwickelte Programm auch ohne die Einrichtung einer Entwicklungsumgebung starten zu können, kann eine ausführbare Datei kompiliert werden.\nHierfür wird das Modul cx-Freeze verwendet, das die mitgelieferte Konfigurationsdatei `setup.py` beim Aufruf einliest und aus den Skripten eine passende Datei kompiliert.\nDas Build-Skript kann mit dem folgenden Befehl aufgerufen werden:\n``python setup.py build``\n\nHierbei wird ein neuer Ordner `build` erstellt, der die ausführbare Datei `start_vze` enthält.\n\n## Lizenz\nDie Studienarbeit inklusive der praktischen Implementierung darf unter den Bedingungen der \nGNU GPL v3 weitergegeben und modifiziert werden. Die vollständigen Lizenzbedingungen können [unter dieser Adresse](https://www.gnu.org/licenses/gpl) und in der Datei `LICENSE.txt` im Quelltext nachgelesen werden.\nDie Lizenz erlaubt die private und kommerzielle Nutzung, Weitergabe und Modifikation der Software und die Nutzung dieser in Patenten unter den folgenden Bedingungen: Die Modifikation darf nur unter derselben Lizenz veröffentlicht werden und muss einen Hinweis auf die Autoren der ursprünglichen Software sowie eine Übersicht über die Änderungen enthalten. Es wird explizit keine Haftung oder Garantie übernommen.\n\n\tVerkehrszeichenerkennung – Studienarbeit\n\t© Copyright 2018 Alexander Melde, Stefan Schneider\n\tThis program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\tThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n\nDie praktische Implementierung dieser Studienarbeitet verwendet Teile von Open Source Software. Die für diese geltenden Lizenzen sind in der Datei `NOTICE.txt` im Quelltext aufgeführt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlexanderMelde%2FVerkehrszeichenerkennung","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAlexanderMelde%2FVerkehrszeichenerkennung","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlexanderMelde%2FVerkehrszeichenerkennung/lists"}