diff --git a/Documentation/Images/Udacity/Img001-Hough.png b/Documentation/Images/Udacity/Img001-Hough.png new file mode 100644 index 0000000..92492e1 Binary files /dev/null and b/Documentation/Images/Udacity/Img001-Hough.png differ diff --git a/Documentation/Images/Udacity/Img001-KI.png b/Documentation/Images/Udacity/Img001-KI.png new file mode 100644 index 0000000..84cb5d6 Binary files /dev/null and b/Documentation/Images/Udacity/Img001-KI.png differ diff --git a/Documentation/Images/Udacity/Img001-Slidin-Window.png b/Documentation/Images/Udacity/Img001-Slidin-Window.png new file mode 100644 index 0000000..2480cdb Binary files /dev/null and b/Documentation/Images/Udacity/Img001-Slidin-Window.png differ diff --git a/Documentation/Images/Udacity/Img002-Hough.png b/Documentation/Images/Udacity/Img002-Hough.png new file mode 100644 index 0000000..a011e7a Binary files /dev/null and b/Documentation/Images/Udacity/Img002-Hough.png differ diff --git a/Documentation/Images/Udacity/Img002-KI.png b/Documentation/Images/Udacity/Img002-KI.png new file mode 100644 index 0000000..2c7b08f Binary files /dev/null and b/Documentation/Images/Udacity/Img002-KI.png differ diff --git a/Documentation/Images/Udacity/Img002-Sliding-Window.png b/Documentation/Images/Udacity/Img002-Sliding-Window.png new file mode 100644 index 0000000..18dcc7e Binary files /dev/null and b/Documentation/Images/Udacity/Img002-Sliding-Window.png differ diff --git a/Documentation/Images/Udacity/Img003-Hough.png b/Documentation/Images/Udacity/Img003-Hough.png new file mode 100644 index 0000000..d1cfe3d Binary files /dev/null and b/Documentation/Images/Udacity/Img003-Hough.png differ diff --git a/Documentation/Images/Udacity/Img003-Sliding-Window.png b/Documentation/Images/Udacity/Img003-Sliding-Window.png new file mode 100644 index 0000000..af41690 Binary files /dev/null and b/Documentation/Images/Udacity/Img003-Sliding-Window.png differ diff --git a/Documentation/Images/Udacity/Img003_KI.png b/Documentation/Images/Udacity/Img003_KI.png new file mode 100644 index 0000000..08f234c Binary files /dev/null and b/Documentation/Images/Udacity/Img003_KI.png differ diff --git a/Documentation/Images/Udacity/Img004-Hough.png b/Documentation/Images/Udacity/Img004-Hough.png new file mode 100644 index 0000000..f569d41 Binary files /dev/null and b/Documentation/Images/Udacity/Img004-Hough.png differ diff --git a/Documentation/Images/Udacity/Img004-KI.png b/Documentation/Images/Udacity/Img004-KI.png new file mode 100644 index 0000000..b44d091 Binary files /dev/null and b/Documentation/Images/Udacity/Img004-KI.png differ diff --git a/Documentation/Images/Udacity/Img004-Sliding-Window.png b/Documentation/Images/Udacity/Img004-Sliding-Window.png new file mode 100644 index 0000000..8c6ed93 Binary files /dev/null and b/Documentation/Images/Udacity/Img004-Sliding-Window.png differ diff --git a/Documentation/Images/Udacity/Img005-Hough.png b/Documentation/Images/Udacity/Img005-Hough.png new file mode 100644 index 0000000..1891945 Binary files /dev/null and b/Documentation/Images/Udacity/Img005-Hough.png differ diff --git a/Documentation/Images/Udacity/Img005-KI.png b/Documentation/Images/Udacity/Img005-KI.png new file mode 100644 index 0000000..000d549 Binary files /dev/null and b/Documentation/Images/Udacity/Img005-KI.png differ diff --git a/Documentation/Images/Udacity/Img005-Sliding-Window.png b/Documentation/Images/Udacity/Img005-Sliding-Window.png new file mode 100644 index 0000000..618c451 Binary files /dev/null and b/Documentation/Images/Udacity/Img005-Sliding-Window.png differ diff --git a/Documentation/Images/Udacity/Img006-Hough.png b/Documentation/Images/Udacity/Img006-Hough.png new file mode 100644 index 0000000..8fecb2b Binary files /dev/null and b/Documentation/Images/Udacity/Img006-Hough.png differ diff --git a/Documentation/Images/Udacity/Img006-KI.png b/Documentation/Images/Udacity/Img006-KI.png new file mode 100644 index 0000000..8ed971a Binary files /dev/null and b/Documentation/Images/Udacity/Img006-KI.png differ diff --git a/Documentation/Images/Udacity/Img006-Sliding-Window.png b/Documentation/Images/Udacity/Img006-Sliding-Window.png new file mode 100644 index 0000000..d9936f0 Binary files /dev/null and b/Documentation/Images/Udacity/Img006-Sliding-Window.png differ diff --git a/Documentation/Images/Udacity/Img007-Hough.png b/Documentation/Images/Udacity/Img007-Hough.png new file mode 100644 index 0000000..98f1421 Binary files /dev/null and b/Documentation/Images/Udacity/Img007-Hough.png differ diff --git a/Documentation/Images/Udacity/Img007-KI.png b/Documentation/Images/Udacity/Img007-KI.png new file mode 100644 index 0000000..d58034f Binary files /dev/null and b/Documentation/Images/Udacity/Img007-KI.png differ diff --git a/Documentation/Images/Udacity/Img007-Sliding-Window.png b/Documentation/Images/Udacity/Img007-Sliding-Window.png new file mode 100644 index 0000000..aaa6267 Binary files /dev/null and b/Documentation/Images/Udacity/Img007-Sliding-Window.png differ diff --git a/Documentation/Images/Udacity/Img008-Hough.png b/Documentation/Images/Udacity/Img008-Hough.png new file mode 100644 index 0000000..8d8029e Binary files /dev/null and b/Documentation/Images/Udacity/Img008-Hough.png differ diff --git a/Documentation/Images/Udacity/Img008-KI.png b/Documentation/Images/Udacity/Img008-KI.png new file mode 100644 index 0000000..8e04bed Binary files /dev/null and b/Documentation/Images/Udacity/Img008-KI.png differ diff --git a/Documentation/Images/Udacity/Img008-Sliding-Windows.png b/Documentation/Images/Udacity/Img008-Sliding-Windows.png new file mode 100644 index 0000000..7d954aa Binary files /dev/null and b/Documentation/Images/Udacity/Img008-Sliding-Windows.png differ diff --git a/README.md b/README.md index 8a641d5..1416ee7 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ Dieses Projekt beinhaltet die Prüfungsleistung für den Kurs Digitale Bildverarbeitung an der Dualen Hochschule Bade-Württemberg. Aufgabe ist es, eine Spurerkennung für ein Video zu erstellen. Bonusaufgaben können zudem ergänzt werden. Für genauere Anforderungen, siehe [Task.pdf](Task.pdf). **Hinweis: Die Videos für die Abgabe sind unter `Documentation/Videos` zu finden!** +**Hinweise zum KI-Modell: Der direkte Download ist: Der Pfad des Models muss dann in der mein als model_path mitgegeben werden** ## Ordnerstruktur diff --git a/config/video.json b/config/video.json index 8628509..df0dc5b 100644 --- a/config/video.json +++ b/config/video.json @@ -1,11 +1,11 @@ { "HOUGH": { "RHO": 6, - "THETA": 90, + "THETA": 80, "THRESHOLD": 100, "MIN_LINE_LENGTH": 3, "MAX_LINE_GAP": 2, - "CANNY_LOWER": 100, + "CANNY_LOWER": 80, "CANNY_UPPER": 150, "LEFT_FIX": [200, 720], "RIGHT_FIX": [1200, 720], @@ -16,10 +16,10 @@ "MAX_COLOR": [70, 255, 255], "HIT_X_LEFT": 200, "HIT_Y_LEFT": 300, - "HIT_X_RIGHT": -80, + "HIT_X_RIGHT": -40, "HIT_Y_RIGHT": 500, "HIT_X_MIDDLE_LEFT": 450, - "HIT_X_MIDDLE_RIGHT": -380, + "HIT_X_MIDDLE_RIGHT": -410, "HIT_Y_MIDDLE": -75, "ROI": [ [300, -75], diff --git a/src/main.py b/src/main.py index ab62d86..8c7ef9e 100644 --- a/src/main.py +++ b/src/main.py @@ -13,18 +13,19 @@ class Main(): WIN_X = 1280 WIN_Y = 720 - def __init__(self, path, debug=False): + def __init__(self, path, model_path = "", debug=False): print('Willkommen beim Projekt "Erkennung von Spurmarkierungen"') # Define the objects self.calib = cal.Calibration(debug=debug) self.sliding_win = slw.SlidingWindow(debug=debug) self.hough = hou.HoughTransformation(debug = debug) - - model_path = "src/model/tusimple_18.pth" + self.model_path = None + + if model_path: self.model_path = model_path useGPU = False # True if you want to use GPU and coda cores - self.lane_detector = LaneDetection(model_path, useGPU) + if model_path: self.lane_detector = LaneDetection(model_path, useGPU) # Define the variables self.path = path @@ -39,10 +40,10 @@ def startVideo(self, mode=0, config_path="./config/video.json", export_video=Fal error = self.hough.load_config(config_path) elif mode == 1: error = self.sliding_win.load_config(config_path) - elif mode == 2: + elif mode == 2 and self.model_path: pass else: - error = "Mode not found" + error = "Mode not found or model not found" if error: print(error) @@ -60,7 +61,7 @@ def startVideo(self, mode=0, config_path="./config/video.json", export_video=Fal vid_str = 'default_vid' if mode == 1: mode_str = 'sliding_windows' - if mode == 2: + if mode == 2 and self.model_path: mode_str = 'KI' if config_path == './config/video_challenge.json': vid_str = 'challenge_vid' @@ -149,7 +150,7 @@ def _calcFPS(self, prev_frame_time, new_frame_time): # Mode: # - 0: Hough # - 1: Sliding window - # - 2: KI-Model + # - 2: KI-Model (if model is loaded) model_path = ... main.startVideo(mode=0, config_path="./config/video.json") main.startVideo(mode=1, config_path="./config/video.json") main.startVideo(mode=2, config_path="./config/video.json")