Conscience Core
Public Member Functions | Public Attributes | List of all members
conscience_core::ai::TrackedObject Class Reference

#include <CscEntityDetectionState.h>

Public Member Functions

 TrackedObject (CscWorldObject *worldObject, ptr< cv::Tracker > tracker, const CscRect2d &firstDetectionBox, float certitude)
 
 ~TrackedObject ()
 
void onDetected (const CscRect2d &newDetectionBox, float updatedCertitude, bool actualDetection, const CscPoint3d *position=nullptr, const CscPoint3d *rotation=nullptr)
 
 operator string () const
 
const CscRect2dgetLastDetectionBox () const
 
bool isLastHitAnActualDetection () const
 
unsigned long long getImmobileSinceMilliseconds () const
 
vector< CscRect2dgetLastDetectionBoxes (optional< int > count={}) const
 
CscRect2d getAverageBox (optional< int > count={}) const
 
float getCertitude () const
 
int countActualDetections (long lastMillis) const
 
float getActualDetectionsRatio (long lastMillis) const
 
float getMotionRatio (long lastMillis) const
 
bool isOlderThan (long millis) const
 
int getHitsCount (long lastMillis) const
 
unsigned long long getMaxDurationBetweenHits (long observationPeriodMillis) const
 
ptr< CscDetectedAlerttoAlert (CscAlertType alertType, optional< float > forcedCertitude={}) const
 

Public Attributes

const int uid = counter++
 
CscWorldObject *const worldObject
 
const ptr< cv::Tracker > tracker
 
const system_clock::time_point firstDetectionTime = system_clock::now()
 
system_clock::time_point lastDetectionTime = system_clock::now()
 
system_clock::time_point lastActualDetectionTime = system_clock::now()
 
system_clock::time_point lastMotionTime = system_clock::now()
 

Constructor & Destructor Documentation

◆ TrackedObject()

conscience_core::ai::TrackedObject::TrackedObject ( CscWorldObject worldObject,
ptr< cv::Tracker >  tracker,
const CscRect2d firstDetectionBox,
float  certitude 
)

◆ ~TrackedObject()

conscience_core::ai::TrackedObject::~TrackedObject ( )

Member Function Documentation

◆ countActualDetections()

int conscience_core::ai::TrackedObject::countActualDetections ( long  lastMillis) const
Returns
count of actual detections within a given time slot

◆ getActualDetectionsRatio()

float conscience_core::ai::TrackedObject::getActualDetectionsRatio ( long  lastMillis) const
Returns
ratio of actual detections (between 0-1) within a given time slot

◆ getAverageBox()

CscRect2d conscience_core::ai::TrackedObject::getAverageBox ( optional< int >  count = {}) const

Returns average rectangle of [count] last detection boxes, starting with more recent first

Parameters
count: defaults to all boxes history count

◆ getCertitude()

float conscience_core::ai::TrackedObject::getCertitude ( ) const

Detection certitude between 0 and 1

◆ getHitsCount()

int conscience_core::ai::TrackedObject::getHitsCount ( long  lastMillis) const
Returns
number of tracking hits during last X milliseconds

◆ getImmobileSinceMilliseconds()

unsigned long long conscience_core::ai::TrackedObject::getImmobileSinceMilliseconds ( ) const

◆ getLastDetectionBox()

const CscRect2d & conscience_core::ai::TrackedObject::getLastDetectionBox ( ) const

◆ getLastDetectionBoxes()

vector< CscRect2d > conscience_core::ai::TrackedObject::getLastDetectionBoxes ( optional< int >  count = {}) const

Returns [count] last detection boxes, starting with more recent first

Parameters
count: defaults to all boxes history count

◆ getMaxDurationBetweenHits()

unsigned long long conscience_core::ai::TrackedObject::getMaxDurationBetweenHits ( long  observationPeriodMillis) const

get last hits in the given milliseconds period, and return the duration between first and last hit

◆ getMotionRatio()

float conscience_core::ai::TrackedObject::getMotionRatio ( long  lastMillis) const
Returns
ratio of motion of object, which consists of max translation of object's center / object's average proportion (rect width + height / 2). Range from 0 to infinite

◆ isLastHitAnActualDetection()

bool conscience_core::ai::TrackedObject::isLastHitAnActualDetection ( ) const

◆ isOlderThan()

bool conscience_core::ai::TrackedObject::isOlderThan ( long  millis) const

◆ onDetected()

void conscience_core::ai::TrackedObject::onDetected ( const CscRect2d newDetectionBox,
float  updatedCertitude,
bool  actualDetection,
const CscPoint3d position = nullptr,
const CscPoint3d rotation = nullptr 
)

actualDetection false if detected without using detectors (for instance through OpenCV tracker). Because at some point we want to match back to a detector's detection

◆ operator string()

conscience_core::ai::TrackedObject::operator string ( ) const

◆ toAlert()

ptr< CscDetectedAlert > conscience_core::ai::TrackedObject::toAlert ( CscAlertType  alertType,
optional< float >  forcedCertitude = {} 
) const

Member Data Documentation

◆ firstDetectionTime

const system_clock::time_point conscience_core::ai::TrackedObject::firstDetectionTime = system_clock::now()

◆ lastActualDetectionTime

system_clock::time_point conscience_core::ai::TrackedObject::lastActualDetectionTime = system_clock::now()

◆ lastDetectionTime

system_clock::time_point conscience_core::ai::TrackedObject::lastDetectionTime = system_clock::now()

◆ lastMotionTime

system_clock::time_point conscience_core::ai::TrackedObject::lastMotionTime = system_clock::now()

◆ tracker

const ptr<cv::Tracker> conscience_core::ai::TrackedObject::tracker

◆ uid

const int conscience_core::ai::TrackedObject::uid = counter++

◆ worldObject

CscWorldObject* const conscience_core::ai::TrackedObject::worldObject

The documentation for this class was generated from the following files: