Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
YOLOModel.hpp File Reference

Defines and implements objects/structs related to opening, interfacing, and inferencing YOLO models. All contained within the TensorflowModel namespace. More...

#include "../../AutonomyConstants.h"
#include "../../interfaces/TensorflowTPU.hpp"
Include dependency graph for YOLOModel.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  yolomodel::Detection
 This struct is used to. More...
 
struct  yolomodel::tensorflow::InputTensorDimensions
 This struct is used to store the dimensions of an input tensor for a yolo model. More...
 
struct  yolomodel::tensorflow::OutputTensorDimensions
 This struct is used to store the dimensions of an output tensor for a yolo model. More...
 
class  yolomodel::tensorflow::TPUInterpreter
 This class is designed to enable quick, easy, and robust inferencing of .tflite yolo model. More...
 

Namespaces

namespace  yolomodel
 Namespace containing functions or objects/struct used to aid in easy use of YOLO models. Namespace can contain other namespace pertaining to the method of inference or library being used.
 
namespace  yolomodel::tensorflow
 Namespace containing functions or objects/structs used to run inference on a YOLO model with the Tensorflow library. This namespace contains static functions for getting available hardware devices, and classes for running a .tflite model on each device. This namespace was built to work with YOLO models only!
 
namespace  yolomodel::pytorch
 Namespace containing functions or objects/structs used to run inference on a YOLO model with the PyTorch library. This namespace contains static functions for getting available hardware devices, and classes for running a .pt model on each device. This namespace was built to work with YOLO models only!
 

Functions

void yolomodel::NonMaxSuppression (std::vector< Detection > &vObjects, std::vector< int > &vClassIDs, std::vector< float > &vClassConfidences, std::vector< cv::Rect > &vBoundingBoxes, float fMinObjectConfidence, float fNMSThreshold)
 Perform non max suppression for the given predictions. This eliminates/combines predictions that overlap with each other.
 
void yolomodel::DrawDetections (cv::Mat &cvInputFrame, std::vector< Detection > &vObjects)
 Given an image and a vector of object structs, draw each object bounding box, class type, and confidence onto the image.
 

Detailed Description

Defines and implements objects/structs related to opening, interfacing, and inferencing YOLO models. All contained within the TensorflowModel namespace.

Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2023-11-11