Lane and Object Detection
Using OpenCV and YOLOv7
Loading...
Searching...
No Matches
LaneAndObjectDetection::Globals Namespace Reference

Contains all global and constant objects. More...

Namespaces

namespace  Exceptions
 Contains all custom exceptions.

Enumerations

enum class  DrivingState : std::uint8_t { WITHIN_LANE = 0 , CHANGING_LANES , ONLY_LEFT_LANE_MARKING_DETECTED , ONLY_RIGHT_LANE_MARKING_DETECTED , NO_LANE_MARKINGS_DETECTED }
 The different driving states supported by the lane detector. More...
enum class  ObjectDetectorTypes : std::uint8_t { NONE = 0 , TINY , STANDARD }
 The type of object detector to use with an option to disable object detection. The tiny version is more performant at the cost of accuracy. More...
enum class  ObjectDetectorBackEnds : std::uint8_t { NONE = 0 , CPU , GPU , CUDA }
 The supported backends for the object detector to run on. In theory, GPU should be significantly more performant. For maximum performance CUDA should be used as the backend, however, this requires building OpenCV with CUDA which is not supported with this projects built-in installation script. More...
enum class  ObjectDetectorBlobSizes : std::int16_t { NONE = 0 , ONE = 288 , TWO = 320 , THREE = 416 , FOUR = 512 , FIVE = 608 }
 The supported blob sizes for the object detector to run with. The larger the blob size the more performant the detector at the cost of performance. More...

Functions

static std::string GetTimeElapsed (const std::chrono::time_point< std::chrono::high_resolution_clock > &p_startTime)
 Gets the elapsed time from p_startTime to now.

Variables

static const std::string G_CLI_HELP_MESSAGE = "\nUsage: lane-and-object-detection --input ... --yolo-folder-path ... [optional]\n\nOPTIONS:\n\nGeneric Options:\n\n -h --help Display available options\n\nRequired Options:\n\n -i --input File path or camera ID\n -y --yolo-folder-path Path to the yolo folder\n\nOptional options:\n\n -o --object-detector-type One of: none, standard or tiny (default = none)\n -b --object-detector-backend One of: cpu, gpu or cuda (default = cpu)\n -s --object-detector-blob-size One of: 208, 320, 416, 512 or 608 (default = 208)\n\n"
 CLI help message for the video manager.
static const uint32_t G_VIDEO_OUTPUT_FPS = 30
 Output video FPS.
static const std::string G_TIME_UNIT = "us"
 Time unit for performance-related frame times.
static const double G_MICROSECONDS_IN_SECOND = 1000000
 Conversion between time units.
static const uint32_t G_CONVERT_DECIMAL_TO_PERCENTAGE = 100
 Convert a decimal value to a percentage.
static const double G_DIVIDE_BY_TWO = 2
 Divide by two.
static const cv::Rect G_UI_RECT_TIMESTAMP = cv::Rect(0, G_VIDEO_INPUT_HEIGHT - G_UI_BOTTOM_BAR_HEIGHT, 300, G_UI_BOTTOM_BAR_HEIGHT)
 Timestamp UI location.
static const cv::Rect G_UI_RECT_FPS = cv::Rect(300, G_VIDEO_INPUT_HEIGHT - G_UI_BOTTOM_BAR_HEIGHT, 300, G_UI_BOTTOM_BAR_HEIGHT)
 Performance-related information UI location.
static const cv::Rect G_UI_RECT_DRIVING_STATE = cv::Rect(0, G_VIDEO_INPUT_HEIGHT - G_UI_BOTTOM_BAR_HEIGHT, G_VIDEO_INPUT_WIDTH, G_UI_TITLE_HEIGHT)
 Driving state UI location (width is the entire screen for centering).
static const cv::Rect G_UI_RECT_DRIVING_STATE_SUBTITLE = cv::Rect(0, G_VIDEO_INPUT_HEIGHT - G_UI_SUBTITLE_HEIGHT, G_VIDEO_INPUT_WIDTH, G_UI_SUBTITLE_HEIGHT)
 Driving state sub-title UI location (width is the entire screen for centering).
static const cv::Rect G_UI_RECT_DEBUG_MODE_STATUS = cv::Rect(G_VIDEO_INPUT_WIDTH - 600, G_VIDEO_INPUT_HEIGHT - G_UI_BOTTOM_BAR_HEIGHT, 300, G_UI_BOTTOM_BAR_HEIGHT)
 Debug mode status UI location.
static const int32_t G_HOUGH_LINE_THICKNESS = 2
 The thickness of the hough lines drawn in debug mode.
static const cv::Scalar G_LANE_OVERLAY_COLOUR = cv::Scalar(0, 64, 0)
 Translucent colour of the overlay for the current lane.
static const uint32_t G_DEFAULT_ROLLING_AVERAGE_SIZE = 10
 Default rolling average size.
static const double G_DEBUGGING_FRAME_SCALING_FACTOR = static_cast<double>(G_VIDEO_INPUT_WIDTH / 3.0) / static_cast<double>(G_ROI_BOUNDING_BOX_END_X - G_ROI_BOUNDING_BOX_START_X)
 Scaling factor for debugging frames.
static const double G_HOUGH_LINE_HORIZONTAL_GRADIENT_THRESHOLD = 0.5
 Threshold gradient to decide whether a line is to be considered horizontal.
static const uint32_t G_SOLID_LINE_LENGTH_THRESHOLD = 175
 Threshold length to decide whether a line is to be considered solid line road marking.
static const std::unordered_map< DrivingState, std::string > G_DRIVING_STATE_TITLES
 The driving state titles to display.
static const uint32_t G_CHANGING_LANES_DISTANCE_DIFFERENCE_FRAME_COUNT_THRESHOLD = 10
 The number of frames to wait before calculating another distance difference while the vehicle is changing lanes.
static const std::string G_YOLO_NAME = "YOLOv7"
 The name of the YOLO version being used.
static const std::map< std::string, cv::Scalar > G_OBJECT_DETECTOR_OBJECT_NAMES_AND_COLOURS
 Object names and bounding box colours. G_OPENCV_WHITE is used as the default colour while custom colours are given to object more commonly found while driving.
static const std::string G_PERFORMANCE_TESTS_CLI_HELP_MESSAGE = "Usage: lane-and-object-detection-performance-tests --platform ... --database-path ... --input ... --yolo-folder-path ... --repetitions ...\n\nOPTIONS:\n\nGeneric Options:\n\n-h --help Display available options\n\nRequired Options:\n\n-p --platform The current platform being tested\n-d --database-path Path to SQLite database file\n-i --input Benchmark video file path\n-y --yolo-folder-path Path to the yolo configuration folder\n-r --repetitions Number of repetitions for each test"
 CLI help message for the performance tests.
static const uint32_t G_VIDEO_INPUT_HEIGHT = 1080
 Input video dimensions.
static const uint32_t G_VIDEO_INPUT_WIDTH = 1920
 Input video dimensions.
static const uint32_t G_VIDEO_OUTPUT_HEIGHT = 1080
 Output video dimensions.
static const uint32_t G_VIDEO_OUTPUT_WIDTH = 1920
 Output video dimensions.
static const uint32_t G_KEY_DEBUG_MODE = 'd'
 Keyboard values when getting user input.
static const uint32_t G_KEY_TOGGLE_SAVE_OUTPUT = 'r'
 Keyboard values when getting user input.
static const uint32_t G_KEY_QUIT = 'q'
 Keyboard values when getting user input.
static const uint32_t G_FONT_DEFAULT_FACE = cv::FONT_HERSHEY_DUPLEX
 Font settings.
static const uint32_t G_FONT_DEFAULT_THICKNESS = 1
 Font settings.
static const int32_t G_FONT_DEFAULT_HORIZONTAL_PADDING = 10
 Font settings.
static const int32_t G_FONT_DEFAULT_VERTICAL_PADDING = 15
 Font settings.
static const double G_FONT_DEFAULT_DECREMENT = 0.1
 Font settings.
static const double G_FONT_DEFAULT_SCALE = 1
 Font settings.
static const cv::Scalar G_COLOUR_BLACK = cv::Scalar(0, 0, 0)
 OpenCV Colours (in BGR format).
static const cv::Scalar G_COLOUR_GREY = cv::Scalar(128, 128, 128)
 OpenCV Colours (in BGR format).
static const cv::Scalar G_COLOUR_WHITE = cv::Scalar(255, 255, 255)
 OpenCV Colours (in BGR format).
static const cv::Scalar G_COLOUR_RED = cv::Scalar(0, 0, 192)
 OpenCV Colours (in BGR format).
static const cv::Scalar G_COLOUR_LIGHT_RED = cv::Scalar(128, 128, 192)
 OpenCV Colours (in BGR format).
static const cv::Scalar G_COLOUR_ORANGE = cv::Scalar(0, 128, 192)
 OpenCV Colours (in BGR format).
static const cv::Scalar G_COLOUR_YELLOW = cv::Scalar(0, 192, 192)
 OpenCV Colours (in BGR format).
static const cv::Scalar G_COLOUR_GREEN = cv::Scalar(0, 192, 0)
 OpenCV Colours (in BGR format).
static const cv::Scalar G_COLOUR_BLUE = cv::Scalar(192, 0, 0)
 OpenCV Colours (in BGR format).
static const cv::Scalar G_COLOUR_LIGHT_BLUE = cv::Scalar(192, 128, 128)
 OpenCV Colours (in BGR format).
static const cv::Scalar G_COLOUR_PURPLE = cv::Scalar(192, 0, 192)
 OpenCV Colours (in BGR format).
static const std::string G_UI_TEXT_RECORDING = "Output Recording Enabled"
 Text to display whether or not recording.
static const std::string G_UI_TEXT_NOT_RECORDING = "Press 'r' to record output"
 Text to display whether or not recording.
static const std::string G_UI_TEXT_DEBUG_MODE = "Debug Mode Enabled"
 Text to display whether or not in debug mode.
static const std::string G_UI_TEXT_NOT_DEBUG_MODE = "Press 'd' to enter debug mode"
 Text to display whether or not in debug mode.
static const double G_UI_H1_FONT_SCALE = 0.6
 Font scales for different heading sizes.
static const double G_UI_H2_FONT_SCALE = 0.4
 Font scales for different heading sizes.
static const int32_t G_UI_BOTTOM_BAR_HEIGHT = 55
 UI heights.
static const int32_t G_UI_TITLE_HEIGHT = 30
 UI heights.
static const int32_t G_UI_SUBTITLE_HEIGHT = 25
 UI heights.
static const cv::Rect G_UI_RECT_RECORDING_STATUS = cv::Rect(G_VIDEO_INPUT_WIDTH - 300, G_VIDEO_INPUT_HEIGHT - G_UI_BOTTOM_BAR_HEIGHT, 300, G_UI_TITLE_HEIGHT)
 Recording status UI locations.
static const cv::Rect G_UI_RECT_RECORDING_ELAPSED_TIME = cv::Rect(G_VIDEO_INPUT_WIDTH - 300, G_VIDEO_INPUT_HEIGHT - G_UI_SUBTITLE_HEIGHT, 300, G_UI_SUBTITLE_HEIGHT)
 Recording status UI locations.
static const cv::Point G_UI_POINT_RECORDING_DOT = cv::Point(G_VIDEO_INPUT_WIDTH - 190, G_VIDEO_INPUT_HEIGHT - 13)
 Recording status UI locations.
static const uint32_t G_UI_RADIUS_RECORDING_DOT = 5
 Recording status UI locations.
static const cv::Rect G_UI_RECT_NOT_RECORDING_STATUS = cv::Rect(G_VIDEO_INPUT_WIDTH - 300, G_VIDEO_INPUT_HEIGHT - G_UI_BOTTOM_BAR_HEIGHT, 300, G_UI_BOTTOM_BAR_HEIGHT)
 Recording status UI locations.
static const int32_t G_ROI_TOP_HEIGHT = 800
 Region-of-interest dimensions.
static const int32_t G_ROI_BOTTOM_HEIGHT = 1025
 Region-of-interest dimensions.
static const int32_t G_ROI_TOP_WIDTH = 250
 Region-of-interest dimensions.
static const int32_t G_ROI_BOTTOM_WIDTH = 850
 Region-of-interest dimensions.
static const uint32_t G_NUMBER_OF_POINTS = 4
 Region-of-interest points. Below is how the indicies of the array map to the points.
static const std::array< cv::Point, G_NUMBER_OF_POINTSG_ROI_MASK_POINTS
 Region-of-interest points. Below is how the indicies of the array map to the points.
static const uint32_t G_ROI_BOUND_BOX_PADDING = 10
 The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.
static const uint32_t G_ROI_BOUNDING_BOX_START_X = (G_VIDEO_INPUT_WIDTH / 2.0) - (G_ROI_BOTTOM_WIDTH / 2.0) - G_ROI_BOUND_BOX_PADDING
 The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.
static const uint32_t G_ROI_BOUNDING_BOX_END_X = (G_VIDEO_INPUT_WIDTH / 2.0) + (G_ROI_BOTTOM_WIDTH / 2.0) + G_ROI_BOUND_BOX_PADDING
 The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.
static const uint32_t G_ROI_BOUNDING_BOX_START_Y = G_ROI_TOP_HEIGHT - G_ROI_BOUND_BOX_PADDING
 The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.
static const uint32_t G_ROI_BOUNDING_BOX_END_Y = G_ROI_BOTTOM_HEIGHT + G_ROI_BOUND_BOX_PADDING
 The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.
static const cv::Range G_ROI_BOUNDING_BOX_X_RANGE = cv::Range(G_ROI_BOUNDING_BOX_START_X, G_ROI_BOUNDING_BOX_END_X)
 The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.
static const cv::Range G_ROI_BOUNDING_BOX_Y_RANGE = cv::Range(G_ROI_BOUNDING_BOX_START_Y, G_ROI_BOUNDING_BOX_END_Y)
 The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.
static const uint32_t G_ROI_TOP_LEFT_INDEX = 0
 The index values which represent each corner of G_ROI_MASK_POINTS.
static const uint32_t G_ROI_TOP_RIGHT_INDEX = 1
 The index values which represent each corner of G_ROI_MASK_POINTS.
static const uint32_t G_ROI_BOTTOM_RIGHT_INDEX = 2
 The index values which represent each corner of G_ROI_MASK_POINTS.
static const uint32_t G_ROI_BOTTOM_LEFT_INDEX = 3
 The index values which represent each corner of G_ROI_MASK_POINTS.
static const double G_LEFT_EDGE_OF_MASK_M = (G_ROI_MASK_POINTS[G_ROI_TOP_LEFT_INDEX].y - G_ROI_MASK_POINTS[G_ROI_BOTTOM_LEFT_INDEX].y) / static_cast<double>(G_ROI_MASK_POINTS[G_ROI_TOP_LEFT_INDEX].x - G_ROI_MASK_POINTS[G_ROI_BOTTOM_LEFT_INDEX].x)
 Region-of-interest sub-division line equations (y = mx + c).
static const double G_LEFT_EDGE_OF_MASK_C = G_ROI_MASK_POINTS[G_ROI_TOP_LEFT_INDEX].y - (G_LEFT_EDGE_OF_MASK_M * G_ROI_MASK_POINTS[G_ROI_TOP_LEFT_INDEX].x)
 Region-of-interest sub-division line equations (y = mx + c).
static const double G_RIGHT_EDGE_OF_MASK_M = (G_ROI_MASK_POINTS[G_ROI_TOP_RIGHT_INDEX].y - G_ROI_MASK_POINTS[G_ROI_BOTTOM_RIGHT_INDEX].y) / static_cast<double>(G_ROI_MASK_POINTS[G_ROI_TOP_RIGHT_INDEX].x - G_ROI_MASK_POINTS[G_ROI_BOTTOM_RIGHT_INDEX].x)
 Region-of-interest sub-division line equations (y = mx + c).
static const double G_RIGHT_EDGE_OF_MASK_C = G_ROI_MASK_POINTS[G_ROI_TOP_RIGHT_INDEX].y - (G_RIGHT_EDGE_OF_MASK_M * G_ROI_MASK_POINTS[G_ROI_TOP_RIGHT_INDEX].x)
 Region-of-interest sub-division line equations (y = mx + c).
static const double G_TOP_MID_POINT_X_LOCATION = G_ROI_MASK_POINTS[G_ROI_TOP_LEFT_INDEX].x + (G_ROI_TOP_WIDTH / 2.0)
 Region-of-interest sub-division line equations (y = mx + c).
static const double G_BOTTOM_ONE_THIRD_LOCATION = G_ROI_MASK_POINTS[G_ROI_BOTTOM_LEFT_INDEX].x + (G_ROI_BOTTOM_WIDTH / 3.0)
 Region-of-interest sub-division line equations (y = mx + c).
static const double G_BOTTOM_TWO_THIRD_LOCATION = G_ROI_MASK_POINTS[G_ROI_BOTTOM_LEFT_INDEX].x + (2.0 * G_ROI_BOTTOM_WIDTH / 3.0)
 Region-of-interest sub-division line equations (y = mx + c).
static const double G_LEFT_LINE_THRESHOLD_M = (G_ROI_TOP_HEIGHT - G_ROI_BOTTOM_HEIGHT) / (G_TOP_MID_POINT_X_LOCATION - G_BOTTOM_ONE_THIRD_LOCATION)
 Region-of-interest sub-division line equations (y = mx + c).
static const double G_LEFT_LINE_THRESHOLD_C = G_ROI_TOP_HEIGHT - (G_LEFT_LINE_THRESHOLD_M * G_TOP_MID_POINT_X_LOCATION)
 Region-of-interest sub-division line equations (y = mx + c).
static const double G_RIGHT_LINE_THRESHOLD_M = (G_ROI_TOP_HEIGHT - G_ROI_BOTTOM_HEIGHT) / (G_TOP_MID_POINT_X_LOCATION - G_BOTTOM_TWO_THIRD_LOCATION)
 Region-of-interest sub-division line equations (y = mx + c).
static const double G_RIGHT_LINE_THRESHOLD_C = G_ROI_TOP_HEIGHT - (G_RIGHT_LINE_THRESHOLD_M * G_TOP_MID_POINT_X_LOCATION)
 Region-of-interest sub-division line equations (y = mx + c).
static const uint32_t G_CANNY_ALGORITHM_LOWER_THRESHOLD = 128
 Canny algorithm thresholds.
static const uint32_t G_CANNY_ALGORITHM_UPPER_THRESHOLD = 255
 Canny algorithm thresholds.
static const double G_HOUGH_RHO = 1
 Hough transform threshold and properties.
static const double G_HOUGH_THETA = CV_PI / 180.0
 Hough transform threshold and properties.
static const uint32_t G_HOUGH_THRESHOLD = 32
 Hough transform threshold and properties.
static const uint32_t G_HOUGH_MIN_LINE_LENGTH = 8
 Hough transform threshold and properties.
static const uint32_t G_HOUGH_MAX_LINE_GAP = 8
 Hough transform threshold and properties.
static const uint32_t G_VEC4_X1_INDEX = 0
 Hough line index mapping.
static const uint32_t G_VEC4_Y1_INDEX = 1
 Hough line index mapping.
static const uint32_t G_VEC4_X2_INDEX = 2
 Hough line index mapping.
static const uint32_t G_VEC4_Y2_INDEX = 3
 Hough line index mapping.
static const double G_OBJECT_DETECTOR_SCALE_FACTOR = 1 / 255.0
 Object detection threshold and properties.
static const double G_OBJECT_DETECTOR_CONFIDENCE_THRESHOLD = 0.4
 Object detection threshold and properties.
static const double G_OBJECT_DETECTOR_NMS_THRESHOLD = 0.4
 Object detection threshold and properties.
static const uint32_t G_OBJECT_DETECTOR_BOUNDING_BOX_BUFFER = 5
 Object detection bounding box properties.
static const int32_t G_OBJECT_DETECTOR_BOUNDING_BOX_HEADER_HEIGHT = 15
 Object detection bounding box properties.
static const int32_t G_OBJECT_DETECTOR_BOUNDING_BOX_BORDER_THICKNESS = 1
 Object detection bounding box properties.
static const int32_t G_OBJECT_DETECTOR_BOUNDING_BOX_CHARACTER_WIDTH = 9
 Object detection bounding box properties.
static const int32_t G_OBJECT_DETECTOR_BOUNDING_BOX_TEXT_HEIGHT_OFFSET = 2
 Object detection bounding box properties.
static const double G_OBJECT_DETECTOR_BOUNDING_BOX_FONT_SCALE = 0.5
 Object detection bounding box properties.
static const int32_t G_OBJECT_DETECTOR_OUTPUT_BLOBS_CENTER_X_COORD_INDEX = 0
 The indicies representing various values in the output blobs.
static const int32_t G_OBJECT_DETECTOR_OUTPUT_BLOBS_CENTER_Y_COORD_INDEX = 1
 The indicies representing various values in the output blobs.
static const int32_t G_OBJECT_DETECTOR_OUTPUT_BLOBS_WIDTH_INDEX = 2
 The indicies representing various values in the output blobs.
static const int32_t G_OBJECT_DETECTOR_OUTPUT_BLOBS_HEIGHT_INDEX = 3
 The indicies representing various values in the output blobs.
static const int32_t G_OBJECT_DETECTOR_OUTPUT_BLOBS_OBJECT_SCORES_START_INDEX = 5
 The indicies representing various values in the output blobs.
static const uint32_t G_OBJECT_DETECTOR_NUMBER_OF_DETECTABLE_OBJECTS = 80
 Names of detectable objects. The order is significant and should not be changed.
static const std::array< std::string, G_OBJECT_DETECTOR_NUMBER_OF_DETECTABLE_OBJECTSG_OBJECT_DETECTOR_OBJECT_NAMES
 Names of detectable objects. The order is significant and should not be changed.
static const uint32_t G_PERFORMANCE_TESTS_NUMBER_OF_TESTS = 21
 Performance tests settings.
static const std::array< std::string, G_PERFORMANCE_TESTS_NUMBER_OF_TESTSG_PERFORMANCE_TESTS_NAMES
 Performance tests settings.
static const std::array< ObjectDetectorTypes, G_PERFORMANCE_TESTS_NUMBER_OF_TESTSG_PERFORMANCE_TESTS_OBJECT_DETECTOR_TYPES
 Performance tests settings.
static const std::array< ObjectDetectorBackEnds, G_PERFORMANCE_TESTS_NUMBER_OF_TESTSG_PERFORMANCE_TESTS_BACK_END_TYPES
 Performance tests settings.
static const std::array< ObjectDetectorBlobSizes, G_PERFORMANCE_TESTS_NUMBER_OF_TESTSG_PERFORMANCE_TESTS_BLOB_SIZES
 Performance tests settings.

Detailed Description

Contains all global and constant objects.

Enumeration Type Documentation

◆ DrivingState

enum class LaneAndObjectDetection::Globals::DrivingState : std::uint8_t
strong

The different driving states supported by the lane detector.

Definition at line 411 of file Globals.hpp.

◆ ObjectDetectorTypes

enum class LaneAndObjectDetection::Globals::ObjectDetectorTypes : std::uint8_t
strong

The type of object detector to use with an option to disable object detection. The tiny version is more performant at the cost of accuracy.

Definition at line 445 of file Globals.hpp.

◆ ObjectDetectorBackEnds

The supported backends for the object detector to run on. In theory, GPU should be significantly more performant. For maximum performance CUDA should be used as the backend, however, this requires building OpenCV with CUDA which is not supported with this projects built-in installation script.

Definition at line 457 of file Globals.hpp.

◆ ObjectDetectorBlobSizes

The supported blob sizes for the object detector to run with. The larger the blob size the more performant the detector at the cost of performance.

Definition at line 469 of file Globals.hpp.

Function Documentation

◆ GetTimeElapsed()

std::string LaneAndObjectDetection::Globals::GetTimeElapsed ( const std::chrono::time_point< std::chrono::high_resolution_clock > & p_startTime)
inlinestatic

Gets the elapsed time from p_startTime to now.

Parameters
p_startTimeThe time to compare to now.
Returns
std::string The elapsed time in the format HH:mm:ss.

Definition at line 49 of file Globals.hpp.

Variable Documentation

◆ G_CLI_HELP_MESSAGE

const std::string LaneAndObjectDetection::Globals::G_CLI_HELP_MESSAGE = "\nUsage: lane-and-object-detection --input ... --yolo-folder-path ... [optional]\n\nOPTIONS:\n\nGeneric Options:\n\n -h --help Display available options\n\nRequired Options:\n\n -i --input File path or camera ID\n -y --yolo-folder-path Path to the yolo folder\n\nOptional options:\n\n -o --object-detector-type One of: none, standard or tiny (default = none)\n -b --object-detector-backend One of: cpu, gpu or cuda (default = cpu)\n -s --object-detector-blob-size One of: 208, 320, 416, 512 or 608 (default = 208)\n\n"
inlinestatic

CLI help message for the video manager.

Definition at line 97 of file Globals.hpp.

◆ G_VIDEO_INPUT_HEIGHT

const uint32_t LaneAndObjectDetection::Globals::G_VIDEO_INPUT_HEIGHT = 1080
inlinestatic

Input video dimensions.

Definition at line 103 of file Globals.hpp.

◆ G_VIDEO_INPUT_WIDTH

const uint32_t LaneAndObjectDetection::Globals::G_VIDEO_INPUT_WIDTH = 1920
inlinestatic

Input video dimensions.

Definition at line 104 of file Globals.hpp.

◆ G_VIDEO_OUTPUT_HEIGHT

const uint32_t LaneAndObjectDetection::Globals::G_VIDEO_OUTPUT_HEIGHT = 1080
inlinestatic

Output video dimensions.

Definition at line 111 of file Globals.hpp.

◆ G_VIDEO_OUTPUT_WIDTH

const uint32_t LaneAndObjectDetection::Globals::G_VIDEO_OUTPUT_WIDTH = 1920
inlinestatic

Output video dimensions.

Definition at line 112 of file Globals.hpp.

◆ G_VIDEO_OUTPUT_FPS

const uint32_t LaneAndObjectDetection::Globals::G_VIDEO_OUTPUT_FPS = 30
inlinestatic

Output video FPS.

Definition at line 118 of file Globals.hpp.

◆ G_KEY_DEBUG_MODE

const uint32_t LaneAndObjectDetection::Globals::G_KEY_DEBUG_MODE = 'd'
inlinestatic

Keyboard values when getting user input.

Definition at line 124 of file Globals.hpp.

◆ G_KEY_TOGGLE_SAVE_OUTPUT

const uint32_t LaneAndObjectDetection::Globals::G_KEY_TOGGLE_SAVE_OUTPUT = 'r'
inlinestatic

Keyboard values when getting user input.

Definition at line 125 of file Globals.hpp.

◆ G_KEY_QUIT

const uint32_t LaneAndObjectDetection::Globals::G_KEY_QUIT = 'q'
inlinestatic

Keyboard values when getting user input.

Definition at line 126 of file Globals.hpp.

◆ G_FONT_DEFAULT_FACE

const uint32_t LaneAndObjectDetection::Globals::G_FONT_DEFAULT_FACE = cv::FONT_HERSHEY_DUPLEX
inlinestatic

Font settings.

Definition at line 133 of file Globals.hpp.

◆ G_FONT_DEFAULT_THICKNESS

const uint32_t LaneAndObjectDetection::Globals::G_FONT_DEFAULT_THICKNESS = 1
inlinestatic

Font settings.

Definition at line 134 of file Globals.hpp.

◆ G_FONT_DEFAULT_HORIZONTAL_PADDING

const int32_t LaneAndObjectDetection::Globals::G_FONT_DEFAULT_HORIZONTAL_PADDING = 10
inlinestatic

Font settings.

Definition at line 135 of file Globals.hpp.

◆ G_FONT_DEFAULT_VERTICAL_PADDING

const int32_t LaneAndObjectDetection::Globals::G_FONT_DEFAULT_VERTICAL_PADDING = 15
inlinestatic

Font settings.

Definition at line 136 of file Globals.hpp.

◆ G_FONT_DEFAULT_DECREMENT

const double LaneAndObjectDetection::Globals::G_FONT_DEFAULT_DECREMENT = 0.1
inlinestatic

Font settings.

Definition at line 137 of file Globals.hpp.

◆ G_FONT_DEFAULT_SCALE

const double LaneAndObjectDetection::Globals::G_FONT_DEFAULT_SCALE = 1
inlinestatic

Font settings.

Definition at line 138 of file Globals.hpp.

◆ G_COLOUR_BLACK

const cv::Scalar LaneAndObjectDetection::Globals::G_COLOUR_BLACK = cv::Scalar(0, 0, 0)
inlinestatic

OpenCV Colours (in BGR format).

Definition at line 145 of file Globals.hpp.

◆ G_COLOUR_GREY

const cv::Scalar LaneAndObjectDetection::Globals::G_COLOUR_GREY = cv::Scalar(128, 128, 128)
inlinestatic

OpenCV Colours (in BGR format).

Definition at line 146 of file Globals.hpp.

◆ G_COLOUR_WHITE

const cv::Scalar LaneAndObjectDetection::Globals::G_COLOUR_WHITE = cv::Scalar(255, 255, 255)
inlinestatic

OpenCV Colours (in BGR format).

Definition at line 147 of file Globals.hpp.

◆ G_COLOUR_RED

const cv::Scalar LaneAndObjectDetection::Globals::G_COLOUR_RED = cv::Scalar(0, 0, 192)
inlinestatic

OpenCV Colours (in BGR format).

Definition at line 148 of file Globals.hpp.

◆ G_COLOUR_LIGHT_RED

const cv::Scalar LaneAndObjectDetection::Globals::G_COLOUR_LIGHT_RED = cv::Scalar(128, 128, 192)
inlinestatic

OpenCV Colours (in BGR format).

Definition at line 149 of file Globals.hpp.

◆ G_COLOUR_ORANGE

const cv::Scalar LaneAndObjectDetection::Globals::G_COLOUR_ORANGE = cv::Scalar(0, 128, 192)
inlinestatic

OpenCV Colours (in BGR format).

Definition at line 150 of file Globals.hpp.

◆ G_COLOUR_YELLOW

const cv::Scalar LaneAndObjectDetection::Globals::G_COLOUR_YELLOW = cv::Scalar(0, 192, 192)
inlinestatic

OpenCV Colours (in BGR format).

Definition at line 151 of file Globals.hpp.

◆ G_COLOUR_GREEN

const cv::Scalar LaneAndObjectDetection::Globals::G_COLOUR_GREEN = cv::Scalar(0, 192, 0)
inlinestatic

OpenCV Colours (in BGR format).

Definition at line 152 of file Globals.hpp.

◆ G_COLOUR_BLUE

const cv::Scalar LaneAndObjectDetection::Globals::G_COLOUR_BLUE = cv::Scalar(192, 0, 0)
inlinestatic

OpenCV Colours (in BGR format).

Definition at line 153 of file Globals.hpp.

◆ G_COLOUR_LIGHT_BLUE

const cv::Scalar LaneAndObjectDetection::Globals::G_COLOUR_LIGHT_BLUE = cv::Scalar(192, 128, 128)
inlinestatic

OpenCV Colours (in BGR format).

Definition at line 154 of file Globals.hpp.

◆ G_COLOUR_PURPLE

const cv::Scalar LaneAndObjectDetection::Globals::G_COLOUR_PURPLE = cv::Scalar(192, 0, 192)
inlinestatic

OpenCV Colours (in BGR format).

Definition at line 155 of file Globals.hpp.

◆ G_TIME_UNIT

const std::string LaneAndObjectDetection::Globals::G_TIME_UNIT = "us"
inlinestatic

Time unit for performance-related frame times.

Definition at line 161 of file Globals.hpp.

◆ G_MICROSECONDS_IN_SECOND

const double LaneAndObjectDetection::Globals::G_MICROSECONDS_IN_SECOND = 1000000
inlinestatic

Conversion between time units.

Definition at line 166 of file Globals.hpp.

◆ G_CONVERT_DECIMAL_TO_PERCENTAGE

const uint32_t LaneAndObjectDetection::Globals::G_CONVERT_DECIMAL_TO_PERCENTAGE = 100
inlinestatic

Convert a decimal value to a percentage.

Definition at line 171 of file Globals.hpp.

◆ G_DIVIDE_BY_TWO

const double LaneAndObjectDetection::Globals::G_DIVIDE_BY_TWO = 2
inlinestatic

Divide by two.

Definition at line 176 of file Globals.hpp.

◆ G_UI_TEXT_RECORDING

const std::string LaneAndObjectDetection::Globals::G_UI_TEXT_RECORDING = "Output Recording Enabled"
inlinestatic

Text to display whether or not recording.

Definition at line 182 of file Globals.hpp.

◆ G_UI_TEXT_NOT_RECORDING

const std::string LaneAndObjectDetection::Globals::G_UI_TEXT_NOT_RECORDING = "Press 'r' to record output"
inlinestatic

Text to display whether or not recording.

Definition at line 183 of file Globals.hpp.

◆ G_UI_TEXT_DEBUG_MODE

const std::string LaneAndObjectDetection::Globals::G_UI_TEXT_DEBUG_MODE = "Debug Mode Enabled"
inlinestatic

Text to display whether or not in debug mode.

Definition at line 190 of file Globals.hpp.

◆ G_UI_TEXT_NOT_DEBUG_MODE

const std::string LaneAndObjectDetection::Globals::G_UI_TEXT_NOT_DEBUG_MODE = "Press 'd' to enter debug mode"
inlinestatic

Text to display whether or not in debug mode.

Definition at line 191 of file Globals.hpp.

◆ G_UI_H1_FONT_SCALE

const double LaneAndObjectDetection::Globals::G_UI_H1_FONT_SCALE = 0.6
inlinestatic

Font scales for different heading sizes.

Definition at line 198 of file Globals.hpp.

◆ G_UI_H2_FONT_SCALE

const double LaneAndObjectDetection::Globals::G_UI_H2_FONT_SCALE = 0.4
inlinestatic

Font scales for different heading sizes.

Definition at line 199 of file Globals.hpp.

◆ G_UI_BOTTOM_BAR_HEIGHT

const int32_t LaneAndObjectDetection::Globals::G_UI_BOTTOM_BAR_HEIGHT = 55
inlinestatic

UI heights.

Definition at line 206 of file Globals.hpp.

◆ G_UI_TITLE_HEIGHT

const int32_t LaneAndObjectDetection::Globals::G_UI_TITLE_HEIGHT = 30
inlinestatic

UI heights.

Definition at line 207 of file Globals.hpp.

◆ G_UI_SUBTITLE_HEIGHT

const int32_t LaneAndObjectDetection::Globals::G_UI_SUBTITLE_HEIGHT = 25
inlinestatic

UI heights.

Definition at line 208 of file Globals.hpp.

◆ G_UI_RECT_TIMESTAMP

const cv::Rect LaneAndObjectDetection::Globals::G_UI_RECT_TIMESTAMP = cv::Rect(0, G_VIDEO_INPUT_HEIGHT - G_UI_BOTTOM_BAR_HEIGHT, 300, G_UI_BOTTOM_BAR_HEIGHT)
inlinestatic

Timestamp UI location.

Definition at line 214 of file Globals.hpp.

◆ G_UI_RECT_FPS

const cv::Rect LaneAndObjectDetection::Globals::G_UI_RECT_FPS = cv::Rect(300, G_VIDEO_INPUT_HEIGHT - G_UI_BOTTOM_BAR_HEIGHT, 300, G_UI_BOTTOM_BAR_HEIGHT)
inlinestatic

Performance-related information UI location.

Definition at line 219 of file Globals.hpp.

◆ G_UI_RECT_DRIVING_STATE

const cv::Rect LaneAndObjectDetection::Globals::G_UI_RECT_DRIVING_STATE = cv::Rect(0, G_VIDEO_INPUT_HEIGHT - G_UI_BOTTOM_BAR_HEIGHT, G_VIDEO_INPUT_WIDTH, G_UI_TITLE_HEIGHT)
inlinestatic

Driving state UI location (width is the entire screen for centering).

Definition at line 224 of file Globals.hpp.

◆ G_UI_RECT_DRIVING_STATE_SUBTITLE

const cv::Rect LaneAndObjectDetection::Globals::G_UI_RECT_DRIVING_STATE_SUBTITLE = cv::Rect(0, G_VIDEO_INPUT_HEIGHT - G_UI_SUBTITLE_HEIGHT, G_VIDEO_INPUT_WIDTH, G_UI_SUBTITLE_HEIGHT)
inlinestatic

Driving state sub-title UI location (width is the entire screen for centering).

Definition at line 229 of file Globals.hpp.

◆ G_UI_RECT_DEBUG_MODE_STATUS

const cv::Rect LaneAndObjectDetection::Globals::G_UI_RECT_DEBUG_MODE_STATUS = cv::Rect(G_VIDEO_INPUT_WIDTH - 600, G_VIDEO_INPUT_HEIGHT - G_UI_BOTTOM_BAR_HEIGHT, 300, G_UI_BOTTOM_BAR_HEIGHT)
inlinestatic

Debug mode status UI location.

Definition at line 234 of file Globals.hpp.

◆ G_UI_RECT_RECORDING_STATUS

const cv::Rect LaneAndObjectDetection::Globals::G_UI_RECT_RECORDING_STATUS = cv::Rect(G_VIDEO_INPUT_WIDTH - 300, G_VIDEO_INPUT_HEIGHT - G_UI_BOTTOM_BAR_HEIGHT, 300, G_UI_TITLE_HEIGHT)
inlinestatic

Recording status UI locations.

Definition at line 240 of file Globals.hpp.

◆ G_UI_RECT_RECORDING_ELAPSED_TIME

const cv::Rect LaneAndObjectDetection::Globals::G_UI_RECT_RECORDING_ELAPSED_TIME = cv::Rect(G_VIDEO_INPUT_WIDTH - 300, G_VIDEO_INPUT_HEIGHT - G_UI_SUBTITLE_HEIGHT, 300, G_UI_SUBTITLE_HEIGHT)
inlinestatic

Recording status UI locations.

Definition at line 241 of file Globals.hpp.

◆ G_UI_POINT_RECORDING_DOT

const cv::Point LaneAndObjectDetection::Globals::G_UI_POINT_RECORDING_DOT = cv::Point(G_VIDEO_INPUT_WIDTH - 190, G_VIDEO_INPUT_HEIGHT - 13)
inlinestatic

Recording status UI locations.

Definition at line 242 of file Globals.hpp.

◆ G_UI_RADIUS_RECORDING_DOT

const uint32_t LaneAndObjectDetection::Globals::G_UI_RADIUS_RECORDING_DOT = 5
inlinestatic

Recording status UI locations.

Definition at line 243 of file Globals.hpp.

◆ G_UI_RECT_NOT_RECORDING_STATUS

const cv::Rect LaneAndObjectDetection::Globals::G_UI_RECT_NOT_RECORDING_STATUS = cv::Rect(G_VIDEO_INPUT_WIDTH - 300, G_VIDEO_INPUT_HEIGHT - G_UI_BOTTOM_BAR_HEIGHT, 300, G_UI_BOTTOM_BAR_HEIGHT)
inlinestatic

Recording status UI locations.

Definition at line 244 of file Globals.hpp.

◆ G_HOUGH_LINE_THICKNESS

const int32_t LaneAndObjectDetection::Globals::G_HOUGH_LINE_THICKNESS = 2
inlinestatic

The thickness of the hough lines drawn in debug mode.

Definition at line 250 of file Globals.hpp.

◆ G_LANE_OVERLAY_COLOUR

const cv::Scalar LaneAndObjectDetection::Globals::G_LANE_OVERLAY_COLOUR = cv::Scalar(0, 64, 0)
inlinestatic

Translucent colour of the overlay for the current lane.

Definition at line 255 of file Globals.hpp.

◆ G_DEFAULT_ROLLING_AVERAGE_SIZE

const uint32_t LaneAndObjectDetection::Globals::G_DEFAULT_ROLLING_AVERAGE_SIZE = 10
inlinestatic

Default rolling average size.

Definition at line 260 of file Globals.hpp.

◆ G_ROI_TOP_HEIGHT

const int32_t LaneAndObjectDetection::Globals::G_ROI_TOP_HEIGHT = 800
inlinestatic

Region-of-interest dimensions.

Definition at line 266 of file Globals.hpp.

◆ G_ROI_BOTTOM_HEIGHT

const int32_t LaneAndObjectDetection::Globals::G_ROI_BOTTOM_HEIGHT = 1025
inlinestatic

Region-of-interest dimensions.

Definition at line 267 of file Globals.hpp.

◆ G_ROI_TOP_WIDTH

const int32_t LaneAndObjectDetection::Globals::G_ROI_TOP_WIDTH = 250
inlinestatic

Region-of-interest dimensions.

Definition at line 268 of file Globals.hpp.

◆ G_ROI_BOTTOM_WIDTH

const int32_t LaneAndObjectDetection::Globals::G_ROI_BOTTOM_WIDTH = 850
inlinestatic

Region-of-interest dimensions.

Definition at line 269 of file Globals.hpp.

◆ G_NUMBER_OF_POINTS

const uint32_t LaneAndObjectDetection::Globals::G_NUMBER_OF_POINTS = 4
inlinestatic

Region-of-interest points. Below is how the indicies of the array map to the points.

  Top left (0) >  ____________________  < Top right (1)
                 /                    \
                /                      \
               /                        \
              /                          \
             /                            \
            /                              \
            --------------------------------

Bottom Left (3) ^ ^ Bottom right (2)

Definition at line 286 of file Globals.hpp.

◆ G_ROI_MASK_POINTS

const std::array<cv::Point, G_NUMBER_OF_POINTS> LaneAndObjectDetection::Globals::G_ROI_MASK_POINTS
inlinestatic
Initial value:
= {
cv::Point((G_VIDEO_INPUT_WIDTH / 2.0) - (G_ROI_TOP_WIDTH / 2.0), G_ROI_TOP_HEIGHT),
cv::Point((G_VIDEO_INPUT_WIDTH / 2.0) + (G_ROI_TOP_WIDTH / 2.0), G_ROI_TOP_HEIGHT),
}
static const uint32_t G_VIDEO_INPUT_WIDTH
Input video dimensions.
Definition Globals.hpp:104
static const int32_t G_ROI_TOP_HEIGHT
Region-of-interest dimensions.
Definition Globals.hpp:266
static const int32_t G_ROI_BOTTOM_WIDTH
Region-of-interest dimensions.
Definition Globals.hpp:269
static const int32_t G_ROI_BOTTOM_HEIGHT
Region-of-interest dimensions.
Definition Globals.hpp:267
static const int32_t G_ROI_TOP_WIDTH
Region-of-interest dimensions.
Definition Globals.hpp:268

Region-of-interest points. Below is how the indicies of the array map to the points.

  Top left (0) >  ____________________  < Top right (1)
                 /                    \
                /                      \
               /                        \
              /                          \
             /                            \
            /                              \
            --------------------------------

Bottom Left (3) ^ ^ Bottom right (2)

Definition at line 287 of file Globals.hpp.

◆ G_ROI_BOUND_BOX_PADDING

const uint32_t LaneAndObjectDetection::Globals::G_ROI_BOUND_BOX_PADDING = 10
inlinestatic

The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.

           #######____________________######## < Start Y
           #     /                    \      #
           #    /                      \     #
           #   /                        \    #
           #  /                          \   #
           # /                            \  #
           #/                              \ #
           #---------------------------------# < End Y
   Start X ^                           End X ^

Definition at line 310 of file Globals.hpp.

◆ G_ROI_BOUNDING_BOX_START_X

const uint32_t LaneAndObjectDetection::Globals::G_ROI_BOUNDING_BOX_START_X = (G_VIDEO_INPUT_WIDTH / 2.0) - (G_ROI_BOTTOM_WIDTH / 2.0) - G_ROI_BOUND_BOX_PADDING
inlinestatic

The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.

           #######____________________######## < Start Y
           #     /                    \      #
           #    /                      \     #
           #   /                        \    #
           #  /                          \   #
           # /                            \  #
           #/                              \ #
           #---------------------------------# < End Y
   Start X ^                           End X ^

Definition at line 311 of file Globals.hpp.

◆ G_ROI_BOUNDING_BOX_END_X

const uint32_t LaneAndObjectDetection::Globals::G_ROI_BOUNDING_BOX_END_X = (G_VIDEO_INPUT_WIDTH / 2.0) + (G_ROI_BOTTOM_WIDTH / 2.0) + G_ROI_BOUND_BOX_PADDING
inlinestatic

The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.

           #######____________________######## < Start Y
           #     /                    \      #
           #    /                      \     #
           #   /                        \    #
           #  /                          \   #
           # /                            \  #
           #/                              \ #
           #---------------------------------# < End Y
   Start X ^                           End X ^

Definition at line 312 of file Globals.hpp.

◆ G_ROI_BOUNDING_BOX_START_Y

const uint32_t LaneAndObjectDetection::Globals::G_ROI_BOUNDING_BOX_START_Y = G_ROI_TOP_HEIGHT - G_ROI_BOUND_BOX_PADDING
inlinestatic

The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.

           #######____________________######## < Start Y
           #     /                    \      #
           #    /                      \     #
           #   /                        \    #
           #  /                          \   #
           # /                            \  #
           #/                              \ #
           #---------------------------------# < End Y
   Start X ^                           End X ^

Definition at line 313 of file Globals.hpp.

◆ G_ROI_BOUNDING_BOX_END_Y

const uint32_t LaneAndObjectDetection::Globals::G_ROI_BOUNDING_BOX_END_Y = G_ROI_BOTTOM_HEIGHT + G_ROI_BOUND_BOX_PADDING
inlinestatic

The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.

           #######____________________######## < Start Y
           #     /                    \      #
           #    /                      \     #
           #   /                        \    #
           #  /                          \   #
           # /                            \  #
           #/                              \ #
           #---------------------------------# < End Y
   Start X ^                           End X ^

Definition at line 314 of file Globals.hpp.

◆ G_ROI_BOUNDING_BOX_X_RANGE

const cv::Range LaneAndObjectDetection::Globals::G_ROI_BOUNDING_BOX_X_RANGE = cv::Range(G_ROI_BOUNDING_BOX_START_X, G_ROI_BOUNDING_BOX_END_X)
inlinestatic

The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.

           #######____________________######## < Start Y
           #     /                    \      #
           #    /                      \     #
           #   /                        \    #
           #  /                          \   #
           # /                            \  #
           #/                              \ #
           #---------------------------------# < End Y
   Start X ^                           End X ^

Definition at line 315 of file Globals.hpp.

◆ G_ROI_BOUNDING_BOX_Y_RANGE

const cv::Range LaneAndObjectDetection::Globals::G_ROI_BOUNDING_BOX_Y_RANGE = cv::Range(G_ROI_BOUNDING_BOX_START_Y, G_ROI_BOUNDING_BOX_END_Y)
inlinestatic

The bounding box of the region-of-interest which is used to crop debugging frames. The '#' characters show the bounding box with respect to the region-of-interest.

           #######____________________######## < Start Y
           #     /                    \      #
           #    /                      \     #
           #   /                        \    #
           #  /                          \   #
           # /                            \  #
           #/                              \ #
           #---------------------------------# < End Y
   Start X ^                           End X ^

Definition at line 316 of file Globals.hpp.

◆ G_DEBUGGING_FRAME_SCALING_FACTOR

const double LaneAndObjectDetection::Globals::G_DEBUGGING_FRAME_SCALING_FACTOR = static_cast<double>(G_VIDEO_INPUT_WIDTH / 3.0) / static_cast<double>(G_ROI_BOUNDING_BOX_END_X - G_ROI_BOUNDING_BOX_START_X)
inlinestatic

Scaling factor for debugging frames.

Definition at line 322 of file Globals.hpp.

◆ G_ROI_TOP_LEFT_INDEX

const uint32_t LaneAndObjectDetection::Globals::G_ROI_TOP_LEFT_INDEX = 0
inlinestatic

The index values which represent each corner of G_ROI_MASK_POINTS.

Definition at line 328 of file Globals.hpp.

◆ G_ROI_TOP_RIGHT_INDEX

const uint32_t LaneAndObjectDetection::Globals::G_ROI_TOP_RIGHT_INDEX = 1
inlinestatic

The index values which represent each corner of G_ROI_MASK_POINTS.

Definition at line 329 of file Globals.hpp.

◆ G_ROI_BOTTOM_RIGHT_INDEX

const uint32_t LaneAndObjectDetection::Globals::G_ROI_BOTTOM_RIGHT_INDEX = 2
inlinestatic

The index values which represent each corner of G_ROI_MASK_POINTS.

Definition at line 330 of file Globals.hpp.

◆ G_ROI_BOTTOM_LEFT_INDEX

const uint32_t LaneAndObjectDetection::Globals::G_ROI_BOTTOM_LEFT_INDEX = 3
inlinestatic

The index values which represent each corner of G_ROI_MASK_POINTS.

Definition at line 331 of file Globals.hpp.

◆ G_LEFT_EDGE_OF_MASK_M

const double LaneAndObjectDetection::Globals::G_LEFT_EDGE_OF_MASK_M = (G_ROI_MASK_POINTS[G_ROI_TOP_LEFT_INDEX].y - G_ROI_MASK_POINTS[G_ROI_BOTTOM_LEFT_INDEX].y) / static_cast<double>(G_ROI_MASK_POINTS[G_ROI_TOP_LEFT_INDEX].x - G_ROI_MASK_POINTS[G_ROI_BOTTOM_LEFT_INDEX].x)
inlinestatic

Region-of-interest sub-division line equations (y = mx + c).

                              Top mid-point
                    __________|__________
                   /         # &         \
                  /         #   &         \

Left edge of mask > / # & \ < Right edge of mask / # & \ / # & \ / # & \


Bottom one third ^ ^ Bottom two thirds

Left edge threshold = '#' Right edge threshold = '@'

Definition at line 352 of file Globals.hpp.

◆ G_LEFT_EDGE_OF_MASK_C

const double LaneAndObjectDetection::Globals::G_LEFT_EDGE_OF_MASK_C = G_ROI_MASK_POINTS[G_ROI_TOP_LEFT_INDEX].y - (G_LEFT_EDGE_OF_MASK_M * G_ROI_MASK_POINTS[G_ROI_TOP_LEFT_INDEX].x)
inlinestatic

Region-of-interest sub-division line equations (y = mx + c).

                              Top mid-point
                    __________|__________
                   /         # &         \
                  /         #   &         \

Left edge of mask > / # & \ < Right edge of mask / # & \ / # & \ / # & \


Bottom one third ^ ^ Bottom two thirds

Left edge threshold = '#' Right edge threshold = '@'

Definition at line 353 of file Globals.hpp.

◆ G_RIGHT_EDGE_OF_MASK_M

const double LaneAndObjectDetection::Globals::G_RIGHT_EDGE_OF_MASK_M = (G_ROI_MASK_POINTS[G_ROI_TOP_RIGHT_INDEX].y - G_ROI_MASK_POINTS[G_ROI_BOTTOM_RIGHT_INDEX].y) / static_cast<double>(G_ROI_MASK_POINTS[G_ROI_TOP_RIGHT_INDEX].x - G_ROI_MASK_POINTS[G_ROI_BOTTOM_RIGHT_INDEX].x)
inlinestatic

Region-of-interest sub-division line equations (y = mx + c).

                              Top mid-point
                    __________|__________
                   /         # &         \
                  /         #   &         \

Left edge of mask > / # & \ < Right edge of mask / # & \ / # & \ / # & \


Bottom one third ^ ^ Bottom two thirds

Left edge threshold = '#' Right edge threshold = '@'

Definition at line 355 of file Globals.hpp.

◆ G_RIGHT_EDGE_OF_MASK_C

const double LaneAndObjectDetection::Globals::G_RIGHT_EDGE_OF_MASK_C = G_ROI_MASK_POINTS[G_ROI_TOP_RIGHT_INDEX].y - (G_RIGHT_EDGE_OF_MASK_M * G_ROI_MASK_POINTS[G_ROI_TOP_RIGHT_INDEX].x)
inlinestatic

Region-of-interest sub-division line equations (y = mx + c).

                              Top mid-point
                    __________|__________
                   /         # &         \
                  /         #   &         \

Left edge of mask > / # & \ < Right edge of mask / # & \ / # & \ / # & \


Bottom one third ^ ^ Bottom two thirds

Left edge threshold = '#' Right edge threshold = '@'

Definition at line 356 of file Globals.hpp.

◆ G_TOP_MID_POINT_X_LOCATION

const double LaneAndObjectDetection::Globals::G_TOP_MID_POINT_X_LOCATION = G_ROI_MASK_POINTS[G_ROI_TOP_LEFT_INDEX].x + (G_ROI_TOP_WIDTH / 2.0)
inlinestatic

Region-of-interest sub-division line equations (y = mx + c).

                              Top mid-point
                    __________|__________
                   /         # &         \
                  /         #   &         \

Left edge of mask > / # & \ < Right edge of mask / # & \ / # & \ / # & \


Bottom one third ^ ^ Bottom two thirds

Left edge threshold = '#' Right edge threshold = '@'

Definition at line 358 of file Globals.hpp.

◆ G_BOTTOM_ONE_THIRD_LOCATION

const double LaneAndObjectDetection::Globals::G_BOTTOM_ONE_THIRD_LOCATION = G_ROI_MASK_POINTS[G_ROI_BOTTOM_LEFT_INDEX].x + (G_ROI_BOTTOM_WIDTH / 3.0)
inlinestatic

Region-of-interest sub-division line equations (y = mx + c).

                              Top mid-point
                    __________|__________
                   /         # &         \
                  /         #   &         \

Left edge of mask > / # & \ < Right edge of mask / # & \ / # & \ / # & \


Bottom one third ^ ^ Bottom two thirds

Left edge threshold = '#' Right edge threshold = '@'

Definition at line 359 of file Globals.hpp.

◆ G_BOTTOM_TWO_THIRD_LOCATION

const double LaneAndObjectDetection::Globals::G_BOTTOM_TWO_THIRD_LOCATION = G_ROI_MASK_POINTS[G_ROI_BOTTOM_LEFT_INDEX].x + (2.0 * G_ROI_BOTTOM_WIDTH / 3.0)
inlinestatic

Region-of-interest sub-division line equations (y = mx + c).

                              Top mid-point
                    __________|__________
                   /         # &         \
                  /         #   &         \

Left edge of mask > / # & \ < Right edge of mask / # & \ / # & \ / # & \


Bottom one third ^ ^ Bottom two thirds

Left edge threshold = '#' Right edge threshold = '@'

Definition at line 360 of file Globals.hpp.

◆ G_LEFT_LINE_THRESHOLD_M

const double LaneAndObjectDetection::Globals::G_LEFT_LINE_THRESHOLD_M = (G_ROI_TOP_HEIGHT - G_ROI_BOTTOM_HEIGHT) / (G_TOP_MID_POINT_X_LOCATION - G_BOTTOM_ONE_THIRD_LOCATION)
inlinestatic

Region-of-interest sub-division line equations (y = mx + c).

                              Top mid-point
                    __________|__________
                   /         # &         \
                  /         #   &         \

Left edge of mask > / # & \ < Right edge of mask / # & \ / # & \ / # & \


Bottom one third ^ ^ Bottom two thirds

Left edge threshold = '#' Right edge threshold = '@'

Definition at line 362 of file Globals.hpp.

◆ G_LEFT_LINE_THRESHOLD_C

const double LaneAndObjectDetection::Globals::G_LEFT_LINE_THRESHOLD_C = G_ROI_TOP_HEIGHT - (G_LEFT_LINE_THRESHOLD_M * G_TOP_MID_POINT_X_LOCATION)
inlinestatic

Region-of-interest sub-division line equations (y = mx + c).

                              Top mid-point
                    __________|__________
                   /         # &         \
                  /         #   &         \

Left edge of mask > / # & \ < Right edge of mask / # & \ / # & \ / # & \


Bottom one third ^ ^ Bottom two thirds

Left edge threshold = '#' Right edge threshold = '@'

Definition at line 363 of file Globals.hpp.

◆ G_RIGHT_LINE_THRESHOLD_M

const double LaneAndObjectDetection::Globals::G_RIGHT_LINE_THRESHOLD_M = (G_ROI_TOP_HEIGHT - G_ROI_BOTTOM_HEIGHT) / (G_TOP_MID_POINT_X_LOCATION - G_BOTTOM_TWO_THIRD_LOCATION)
inlinestatic

Region-of-interest sub-division line equations (y = mx + c).

                              Top mid-point
                    __________|__________
                   /         # &         \
                  /         #   &         \

Left edge of mask > / # & \ < Right edge of mask / # & \ / # & \ / # & \


Bottom one third ^ ^ Bottom two thirds

Left edge threshold = '#' Right edge threshold = '@'

Definition at line 365 of file Globals.hpp.

◆ G_RIGHT_LINE_THRESHOLD_C

const double LaneAndObjectDetection::Globals::G_RIGHT_LINE_THRESHOLD_C = G_ROI_TOP_HEIGHT - (G_RIGHT_LINE_THRESHOLD_M * G_TOP_MID_POINT_X_LOCATION)
inlinestatic

Region-of-interest sub-division line equations (y = mx + c).

                              Top mid-point
                    __________|__________
                   /         # &         \
                  /         #   &         \

Left edge of mask > / # & \ < Right edge of mask / # & \ / # & \ / # & \


Bottom one third ^ ^ Bottom two thirds

Left edge threshold = '#' Right edge threshold = '@'

Definition at line 366 of file Globals.hpp.

◆ G_CANNY_ALGORITHM_LOWER_THRESHOLD

const uint32_t LaneAndObjectDetection::Globals::G_CANNY_ALGORITHM_LOWER_THRESHOLD = 128
inlinestatic

Canny algorithm thresholds.

Definition at line 373 of file Globals.hpp.

◆ G_CANNY_ALGORITHM_UPPER_THRESHOLD

const uint32_t LaneAndObjectDetection::Globals::G_CANNY_ALGORITHM_UPPER_THRESHOLD = 255
inlinestatic

Canny algorithm thresholds.

Definition at line 374 of file Globals.hpp.

◆ G_HOUGH_RHO

const double LaneAndObjectDetection::Globals::G_HOUGH_RHO = 1
inlinestatic

Hough transform threshold and properties.

Definition at line 381 of file Globals.hpp.

◆ G_HOUGH_THETA

const double LaneAndObjectDetection::Globals::G_HOUGH_THETA = CV_PI / 180.0
inlinestatic

Hough transform threshold and properties.

Definition at line 382 of file Globals.hpp.

◆ G_HOUGH_THRESHOLD

const uint32_t LaneAndObjectDetection::Globals::G_HOUGH_THRESHOLD = 32
inlinestatic

Hough transform threshold and properties.

Definition at line 383 of file Globals.hpp.

◆ G_HOUGH_MIN_LINE_LENGTH

const uint32_t LaneAndObjectDetection::Globals::G_HOUGH_MIN_LINE_LENGTH = 8
inlinestatic

Hough transform threshold and properties.

Definition at line 384 of file Globals.hpp.

◆ G_HOUGH_MAX_LINE_GAP

const uint32_t LaneAndObjectDetection::Globals::G_HOUGH_MAX_LINE_GAP = 8
inlinestatic

Hough transform threshold and properties.

Definition at line 385 of file Globals.hpp.

◆ G_VEC4_X1_INDEX

const uint32_t LaneAndObjectDetection::Globals::G_VEC4_X1_INDEX = 0
inlinestatic

Hough line index mapping.

Definition at line 392 of file Globals.hpp.

◆ G_VEC4_Y1_INDEX

const uint32_t LaneAndObjectDetection::Globals::G_VEC4_Y1_INDEX = 1
inlinestatic

Hough line index mapping.

Definition at line 393 of file Globals.hpp.

◆ G_VEC4_X2_INDEX

const uint32_t LaneAndObjectDetection::Globals::G_VEC4_X2_INDEX = 2
inlinestatic

Hough line index mapping.

Definition at line 394 of file Globals.hpp.

◆ G_VEC4_Y2_INDEX

const uint32_t LaneAndObjectDetection::Globals::G_VEC4_Y2_INDEX = 3
inlinestatic

Hough line index mapping.

Definition at line 395 of file Globals.hpp.

◆ G_HOUGH_LINE_HORIZONTAL_GRADIENT_THRESHOLD

const double LaneAndObjectDetection::Globals::G_HOUGH_LINE_HORIZONTAL_GRADIENT_THRESHOLD = 0.5
inlinestatic

Threshold gradient to decide whether a line is to be considered horizontal.

Definition at line 401 of file Globals.hpp.

◆ G_SOLID_LINE_LENGTH_THRESHOLD

const uint32_t LaneAndObjectDetection::Globals::G_SOLID_LINE_LENGTH_THRESHOLD = 175
inlinestatic

Threshold length to decide whether a line is to be considered solid line road marking.

Definition at line 406 of file Globals.hpp.

◆ G_DRIVING_STATE_TITLES

const std::unordered_map<DrivingState, std::string> LaneAndObjectDetection::Globals::G_DRIVING_STATE_TITLES
inlinestatic
Initial value:
= {
{DrivingState::WITHIN_LANE, "Within Lanes" },
{DrivingState::CHANGING_LANES, "WARNING: Changing lanes" },
{DrivingState::ONLY_LEFT_LANE_MARKING_DETECTED, "WARNING: Only left road marking detected" },
{DrivingState::ONLY_RIGHT_LANE_MARKING_DETECTED, "WARNING: Only right road marking detected"},
{DrivingState::NO_LANE_MARKINGS_DETECTED, "WARNING: No road markings detected" },
}

The driving state titles to display.

Definition at line 423 of file Globals.hpp.

◆ G_CHANGING_LANES_DISTANCE_DIFFERENCE_FRAME_COUNT_THRESHOLD

const uint32_t LaneAndObjectDetection::Globals::G_CHANGING_LANES_DISTANCE_DIFFERENCE_FRAME_COUNT_THRESHOLD = 10
inlinestatic

The number of frames to wait before calculating another distance difference while the vehicle is changing lanes.

Definition at line 434 of file Globals.hpp.

◆ G_YOLO_NAME

const std::string LaneAndObjectDetection::Globals::G_YOLO_NAME = "YOLOv7"
inlinestatic

The name of the YOLO version being used.

Definition at line 439 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_SCALE_FACTOR

const double LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_SCALE_FACTOR = 1 / 255.0
inlinestatic

Object detection threshold and properties.

Definition at line 483 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_CONFIDENCE_THRESHOLD

const double LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_CONFIDENCE_THRESHOLD = 0.4
inlinestatic

Object detection threshold and properties.

Definition at line 484 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_NMS_THRESHOLD

const double LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_NMS_THRESHOLD = 0.4
inlinestatic

Object detection threshold and properties.

Definition at line 485 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_BOUNDING_BOX_BUFFER

const uint32_t LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_BOUNDING_BOX_BUFFER = 5
inlinestatic

Object detection bounding box properties.

Definition at line 492 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_BOUNDING_BOX_HEADER_HEIGHT

const int32_t LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_BOUNDING_BOX_HEADER_HEIGHT = 15
inlinestatic

Object detection bounding box properties.

Definition at line 493 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_BOUNDING_BOX_BORDER_THICKNESS

const int32_t LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_BOUNDING_BOX_BORDER_THICKNESS = 1
inlinestatic

Object detection bounding box properties.

Definition at line 494 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_BOUNDING_BOX_CHARACTER_WIDTH

const int32_t LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_BOUNDING_BOX_CHARACTER_WIDTH = 9
inlinestatic

Object detection bounding box properties.

Definition at line 495 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_BOUNDING_BOX_TEXT_HEIGHT_OFFSET

const int32_t LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_BOUNDING_BOX_TEXT_HEIGHT_OFFSET = 2
inlinestatic

Object detection bounding box properties.

Definition at line 496 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_BOUNDING_BOX_FONT_SCALE

const double LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_BOUNDING_BOX_FONT_SCALE = 0.5
inlinestatic

Object detection bounding box properties.

Definition at line 497 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_OUTPUT_BLOBS_CENTER_X_COORD_INDEX

const int32_t LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_OUTPUT_BLOBS_CENTER_X_COORD_INDEX = 0
inlinestatic

The indicies representing various values in the output blobs.

Definition at line 504 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_OUTPUT_BLOBS_CENTER_Y_COORD_INDEX

const int32_t LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_OUTPUT_BLOBS_CENTER_Y_COORD_INDEX = 1
inlinestatic

The indicies representing various values in the output blobs.

Definition at line 505 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_OUTPUT_BLOBS_WIDTH_INDEX

const int32_t LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_OUTPUT_BLOBS_WIDTH_INDEX = 2
inlinestatic

The indicies representing various values in the output blobs.

Definition at line 506 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_OUTPUT_BLOBS_HEIGHT_INDEX

const int32_t LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_OUTPUT_BLOBS_HEIGHT_INDEX = 3
inlinestatic

The indicies representing various values in the output blobs.

Definition at line 507 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_OUTPUT_BLOBS_OBJECT_SCORES_START_INDEX

const int32_t LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_OUTPUT_BLOBS_OBJECT_SCORES_START_INDEX = 5
inlinestatic

The indicies representing various values in the output blobs.

Definition at line 508 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_NUMBER_OF_DETECTABLE_OBJECTS

const uint32_t LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_NUMBER_OF_DETECTABLE_OBJECTS = 80
inlinestatic

Names of detectable objects. The order is significant and should not be changed.

Definition at line 515 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_OBJECT_NAMES

const std::array<std::string, G_OBJECT_DETECTOR_NUMBER_OF_DETECTABLE_OBJECTS> LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_OBJECT_NAMES
inlinestatic

Names of detectable objects. The order is significant and should not be changed.

Definition at line 516 of file Globals.hpp.

◆ G_OBJECT_DETECTOR_OBJECT_NAMES_AND_COLOURS

const std::map<std::string, cv::Scalar> LaneAndObjectDetection::Globals::G_OBJECT_DETECTOR_OBJECT_NAMES_AND_COLOURS
inlinestatic

Object names and bounding box colours. G_OPENCV_WHITE is used as the default colour while custom colours are given to object more commonly found while driving.

Definition at line 604 of file Globals.hpp.

◆ G_PERFORMANCE_TESTS_CLI_HELP_MESSAGE

const std::string LaneAndObjectDetection::Globals::G_PERFORMANCE_TESTS_CLI_HELP_MESSAGE = "Usage: lane-and-object-detection-performance-tests --platform ... --database-path ... --input ... --yolo-folder-path ... --repetitions ...\n\nOPTIONS:\n\nGeneric Options:\n\n-h --help Display available options\n\nRequired Options:\n\n-p --platform The current platform being tested\n-d --database-path Path to SQLite database file\n-i --input Benchmark video file path\n-y --yolo-folder-path Path to the yolo configuration folder\n-r --repetitions Number of repetitions for each test"
inlinestatic

CLI help message for the performance tests.

Definition at line 690 of file Globals.hpp.

◆ G_PERFORMANCE_TESTS_NUMBER_OF_TESTS

const uint32_t LaneAndObjectDetection::Globals::G_PERFORMANCE_TESTS_NUMBER_OF_TESTS = 21
inlinestatic

Performance tests settings.

Definition at line 696 of file Globals.hpp.

◆ G_PERFORMANCE_TESTS_NAMES

const std::array<std::string, G_PERFORMANCE_TESTS_NUMBER_OF_TESTS> LaneAndObjectDetection::Globals::G_PERFORMANCE_TESTS_NAMES
inlinestatic
Initial value:
= {
"No YOLO",
"YOLO-tiny 288 (CPU)",
"YOLO-tiny 288 (GPU)",
"YOLO 288 (CPU)",
"YOLO 288 (GPU)",
"YOLO-tiny 320 (CPU)",
"YOLO-tiny 320 (GPU)",
"YOLO 320 (CPU)",
"YOLO 320 (GPU)",
"YOLO-tiny 416 (CPU)",
"YOLO-tiny 416 (GPU)",
"YOLO 416 (CPU)",
"YOLO 416 (GPU)",
"YOLO-tiny 512 (CPU)",
"YOLO-tiny 512 (GPU)",
"YOLO 512 (CPU)",
"YOLO 512 (GPU)",
"YOLO-tiny 608 (CPU)",
"YOLO-tiny 608 (GPU)",
"YOLO 608 (CPU)",
"YOLO 608 (GPU)",
}

Performance tests settings.

Definition at line 698 of file Globals.hpp.

◆ G_PERFORMANCE_TESTS_OBJECT_DETECTOR_TYPES

const std::array<ObjectDetectorTypes, G_PERFORMANCE_TESTS_NUMBER_OF_TESTS> LaneAndObjectDetection::Globals::G_PERFORMANCE_TESTS_OBJECT_DETECTOR_TYPES
inlinestatic
Initial value:
= {
ObjectDetectorTypes::NONE,
ObjectDetectorTypes::TINY,
ObjectDetectorTypes::TINY,
ObjectDetectorTypes::STANDARD,
ObjectDetectorTypes::STANDARD,
ObjectDetectorTypes::TINY,
ObjectDetectorTypes::TINY,
ObjectDetectorTypes::STANDARD,
ObjectDetectorTypes::STANDARD,
ObjectDetectorTypes::TINY,
ObjectDetectorTypes::TINY,
ObjectDetectorTypes::STANDARD,
ObjectDetectorTypes::STANDARD,
ObjectDetectorTypes::TINY,
ObjectDetectorTypes::TINY,
ObjectDetectorTypes::STANDARD,
ObjectDetectorTypes::STANDARD,
ObjectDetectorTypes::TINY,
ObjectDetectorTypes::TINY,
ObjectDetectorTypes::STANDARD,
ObjectDetectorTypes::STANDARD,
}

Performance tests settings.

Definition at line 722 of file Globals.hpp.

◆ G_PERFORMANCE_TESTS_BACK_END_TYPES

const std::array<ObjectDetectorBackEnds, G_PERFORMANCE_TESTS_NUMBER_OF_TESTS> LaneAndObjectDetection::Globals::G_PERFORMANCE_TESTS_BACK_END_TYPES
inlinestatic
Initial value:
= {
ObjectDetectorBackEnds::NONE,
ObjectDetectorBackEnds::CPU,
ObjectDetectorBackEnds::GPU,
ObjectDetectorBackEnds::CPU,
ObjectDetectorBackEnds::GPU,
ObjectDetectorBackEnds::CPU,
ObjectDetectorBackEnds::GPU,
ObjectDetectorBackEnds::CPU,
ObjectDetectorBackEnds::GPU,
ObjectDetectorBackEnds::CPU,
ObjectDetectorBackEnds::GPU,
ObjectDetectorBackEnds::CPU,
ObjectDetectorBackEnds::GPU,
ObjectDetectorBackEnds::CPU,
ObjectDetectorBackEnds::GPU,
ObjectDetectorBackEnds::CPU,
ObjectDetectorBackEnds::GPU,
ObjectDetectorBackEnds::CPU,
ObjectDetectorBackEnds::GPU,
ObjectDetectorBackEnds::CPU,
ObjectDetectorBackEnds::GPU,
}

Performance tests settings.

Definition at line 746 of file Globals.hpp.

◆ G_PERFORMANCE_TESTS_BLOB_SIZES

const std::array<ObjectDetectorBlobSizes, G_PERFORMANCE_TESTS_NUMBER_OF_TESTS> LaneAndObjectDetection::Globals::G_PERFORMANCE_TESTS_BLOB_SIZES
inlinestatic
Initial value:
= {
ObjectDetectorBlobSizes::NONE,
ObjectDetectorBlobSizes::ONE,
ObjectDetectorBlobSizes::ONE,
ObjectDetectorBlobSizes::ONE,
ObjectDetectorBlobSizes::ONE,
ObjectDetectorBlobSizes::TWO,
ObjectDetectorBlobSizes::TWO,
ObjectDetectorBlobSizes::TWO,
ObjectDetectorBlobSizes::TWO,
ObjectDetectorBlobSizes::THREE,
ObjectDetectorBlobSizes::THREE,
ObjectDetectorBlobSizes::THREE,
ObjectDetectorBlobSizes::THREE,
ObjectDetectorBlobSizes::FOUR,
ObjectDetectorBlobSizes::FOUR,
ObjectDetectorBlobSizes::FOUR,
ObjectDetectorBlobSizes::FOUR,
ObjectDetectorBlobSizes::FIVE,
ObjectDetectorBlobSizes::FIVE,
ObjectDetectorBlobSizes::FIVE,
ObjectDetectorBlobSizes::FIVE,
}

Performance tests settings.

Definition at line 770 of file Globals.hpp.