Dieses Repository enthält den Trajectorien-Creator und den Trajektorien-Modifier des SePIA Projekts sowie einige zur Installation bzw. zum Aufsetzen nötigen Dateien. Die Tools dieses Repos sind nicht für den öffentlichen Gebrauch gedacht und das Repository wird entsprechend nur intern weiterentwickelt und nicht extern supportet.
Die Installation kann in zwei Varianten erfolgen: entweder für beide Tools also creator und Modifier oder nur für den Modifier.
- Anaconda installieren (Anleitung hier)
- Microsoft Visual C++ 14.0 oder größer inklusive Windows 10 SDK installieren. (Falls aktuelles Visual Studio mit C++ Paketen und Win 10 SDK installiert ist, sollten sie bereits vorhanden sein. Anderenfalls dieser Anleitung folgen.)
- CUDA Toolkit 10.1 installieren (Anleitung hier)
- CUDNN 7.6.5 installieren (Downloadlink (kostenloser Account erforderlich. Für Win10 64bit kann der Ordner hier heruntergeladen werden.) Installationsanleitung folgen. Im Grunde kopieren der Dateien in den CUDA Ordner.)
- Überprüfen, dass die Umgebungsvariablen korrekt gesetzt sind:
Variablenname:
CUDA_PATH
Wert:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
(bzw. den entsprechenden Installationspfad) - Anaconda Prompt öffnen.
- Name der zu installierenden Umgebung in
environment.yaml
ändern (oder behalten). conda env create -f *pfad_zur_environment.yaml*
ausführen.conda activate *name_der_umgebung_(default:sepia)*
ausführen.pip install *pfad_zur_GDAL-3.1.4-cp38-cp38-win_amd64.whl*
ausführen.pip install *pfad_zur_rasterio-1.1.8-cp38-cp38-win_amd64.whl*
ausführen.- Keras-Retinanet installieren:
- in keras-retinanet-master Ordner wechseln
pip install . --user
ausführen.
- Netzwerk-Gewichte downloaden:
- Yolo Gewichte herunterladen.
- RetinaNet Gewichte herunterladen.
- Beide Dateien unter
trajectoryCreator\weights
speichern.
- Anaconda installieren (Anleitung hier)
- Microsoft Visual C++ 14.0 oder größer inklusive Windows 10 SDK installieren. (Falls aktuelles Visual Studio mit C++ Paketen und Win 10 SDK installiert ist, sollten sie bereits vorhanden sein. Anderenfalls dieser Anleitung folgen.)
- Anaconda Prompt öffnen.
- Name der zu installierenden Umgebung in
environment_modifier.yaml
ändern (oder behalten). conda env create -f *pfad_zur_environment.yaml*
ausführen.conda activate *name_der_umgebung_(default:sepia_modifier)*
ausführen.pip install *pfad_zur_GDAL-3.1.4-cp38-cp38-win_amd64.whl*
ausführen.pip install *pfad_zur_rasterio-1.1.8-cp38-cp38-win_amd64.whl*
ausführen.
Um die Programme auszuführen:
- Anaconda Prompt öffnen.
- Installierte Anacondaumgebung aktivieren:
conda activate *name_der_umgebung_(default:sepia)*
- In der Anaconda Prompt in den trajectoryCreator Ordner des Repositories wechseln.
python app.py
ausführen.
Um die Programme auszuführen:
- Anaconda Prompt öffnen.
- Installierte Anacondaumgebung aktivieren:
conda activate *name_der_umgebung_(default:sepia)*
- In der Anaconda Prompt in den trajectoryModifier Ordner des Repositories wechseln.
python modifierApp.py
ausführen.
Um die PCMv5 Datenbank im MS Access-Format (.mdb) speichern zu können ist der MS Access Driver in der 64 Bit Version nötig. (Dieser sollte installiert sein, wenn MS Access in der 64 Bit Version installiert ist. Ansonsten hier herunterladen Der Treiber ist nicht mit gleichzeitig installiertem 32 Bit Office kompatibel!) Ist der Treiber nicht installiert werden die Tabellen als .csv Dateien gespeichert.
Entweder per Git Pull. Oder per Download des Zip-Ordners. Diesen entpacken und in den vorhandenen Ornder ziehen und alle Dateien ersetzen. Achtung: Vorher die geänderten assignment und carFiles umbenennen/an einem anderen Ort sichern. Sonst werden diese überschrieben!
-
Running setup.py clean for keras-retinanet Building wheel for keras-resnet (setup.py) ... done Created wheel for keras-resnet: filename=keras_resnet-0.2.0-py2.py3-none-any.whl size=20487 sha256=226c85ed647b50f5cdfba91fc0f071c200c6e5f6b35f4e11b847bce781137594 Stored in directory: ...\appdata\local\pip\cache\wheels\be\90\98\9d455f04a7ca277366b36c660c89d171ff5abb7bdd8a8b8e75 Successfully built keras-resnet Failed to build keras-retinanet Installing collected packages: pyyaml, python-utils, keras, progressbar2, keras-resnet, cython, keras-retinanet WARNING: The scripts cygdb.exe, cython.exe and cythonize.exe are installed in '...\AppData\Roaming\Python\Python38\Scripts' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Running setup.py install for keras-retinanet ... error ERROR: Command errored out with exit status 1: command: '...\Anaconda3\envs\sepia\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'...\\AppData\\Local\\Temp\\pip-req-build-fk3v76cp\\setup.py'"'"'; __file__='"'"'...\\AppData\\Local\\Temp\\pip-req-build-fk3v76cp\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record '...\AppData\Local\Temp\pip-record-wfby_3gj\install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers '...\AppData\Roaming\Python\Python38\Include\keras-retinanet' ERROR: Command errored out with exit status 1: '...\Anaconda3\envs\sepia\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'...\\AppData\\Local\\Temp\\pip-req-build-fk3v76cp\\setup.py'"'"'; __file__='"'"'...\\AppData\\Local\\Temp\\pip-req-build-fk3v76cp\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record '...\AppData\Local\Temp\pip-record-wfby_3gj\install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers '...\AppData\Roaming\Python\Python38\Include\keras-retinanet' Check the logs for full command output.```
Lösung: Microsoft Visual C++ 14.0 oder größer inklusive Windows 10 SDK muss installiert werden. (Siehe Punkt 2 der Installationsanleitung.)
-
building 'keras_retinanet.utils.compute_overlap' extension error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ ---------------------------------------- ERROR: Command errored out with exit status 1: '...\Anaconda3\envs\sepia\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'...\\AppData\\Local\\Temp\\pip-req-build-yhyfhdba\\setup.py'"'"'; __file__='"'"'...\\AppData\\Local\\Temp\\pip-req-build-yhyfhdba\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record '...\AppData\Local\Temp\pip-record-zt_sn_ug\install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers '...\AppData\Roaming\Python\Python38\Include\keras-retinanet' Check the logs for full command output.```
Lösung: Microsoft Visual C++ 14.0 oder größer inklusive Windows 10 SDK muss installiert werden. (Siehe Punkt 2 der Installationsanleitung.)
- Beim Ausführen:
File "app.py", line 4, in <module> from tasks import TaskManager File "...\SePIA_CGV_Tools_Repository\trajectoryCreator\tasks.py", line 6, in <module> import globals File "...\SePIA_CGV_Tools_Repository\trajectoryCreator\globals.py", line 2, in <module> from flaskwebgui import FlaskUI ModuleNotFoundError: No module named 'flaskwebgui'```
Lösung: Die korrekte Anacondaumgebung ist nicht aktiviert. (Siehe Ausführen Punkt 2) Das muss bei jedem Start der Anaconda Prompt gemacht werden.
- Beim Ausführen:
NoneType: None Failed to detect chrome location from registry 2020-12-15 13:43:34.146332: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cudart64_101.dll [WinError 2] Das System kann die angegebene Datei nicht finden NoneType: None Failed to detect chrome location from registry 2020-12-15 13:44:02.146266: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cudart64_101.dll Exception in thread Thread-2: Traceback (most recent call last): File "...\Anaconda3\envs\sepia\lib\threading.py", line 932, in _bootstrap_inner * Serving Flask app "globals" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off self.run() File "...\Anaconda3\envs\sepia\lib\threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "...\Anaconda3\envs\sepia\lib\site-packages\flaskwebgui.py", line 205, in open_browser * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit) self.BROWSER_PROCESS = sps.Popen(options, File "...\Anaconda3\envs\sepia\lib\subprocess.py", line 854, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "...\Anaconda3\envs\sepia\lib\subprocess.py", line 1247, in _execute_child args = list2cmdline(args) File "...\Anaconda3\envs\sepia\lib\subprocess.py", line 549, in list2cmdline for arg in map(os.fsdecode, seq): File "...\Anaconda3\envs\sepia\lib\os.py", line 818, in fsdecode filename = fspath(filename) # Does type-checking of `filename`. TypeError: expected str, bytes or os.PathLike object, not NoneType```
Lösung: Der Standardbrowser (in diesem Fall Chrome) kann nicht gefunden werden. Den Link (http://127.0.0.1:8080/) manuell in den Browser eingeben. Sollten weitere Fehler auftauchen:
Browserlocation händisch angeben. Dazu für den Creator: die Zeile 7 in trajectoryCreator/globals.py in einem Editor ersetzten durch:
ui = FlaskUI(flask_app, port=8080, browser_path="C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe")
Wobei der Pfad der Pfad zur Chrome Installation entsprechen sollte.
Für den Modifier entsprechend in der trajectoryModifier/modifierApp.py Zeile 21 ersetzen durch:
ui = FlaskUI(app, browser_path="...")
- Beim Ausführen:
...: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cudart64_101.dll Traceback (most recent call last): File "app.py", line 4, in <module> from tasks import TaskManager File "...\CGV-Tools\SePIA_CGV_Tools-main\trajectoryCreator\tasks.py", line 8, in <module> from trajectoryEstimation import runTrajectoryEstimationTask File "...\CGV-Tools\SePIA_CGV_Tools-main\trajectoryCreator\trajectoryEstimation.py", line 4, in <module> import detection as det File "...\CGV-Tools\SePIA_CGV_Tools-main\trajectoryCreator\detection.py", line 10, in <module> from models.experimental import attempt_load File "...\CGV-Tools\SePIA_CGV_Tools-main\trajectoryCreator\models\experimental.py", line 7, in <module> from models.common import Conv, DWConv File "...\CGV-Tools\SePIA_CGV_Tools-main\trajectoryCreator\models\common.py", line 6, in <module> from yolo_utils.general import non_max_suppression File "...\CGV-Tools\SePIA_CGV_Tools-main\trajectoryCreator\yolo_utils\general.py", line 20, in <module> import yaml ModuleNotFoundError: No module named 'yaml'```
Lösung: pip install pyyaml
Dieses Repository steht unter den gleichen Lizenzen wie die genutzten Bibliotheken.