Conscience Core
ArtificialIntelligence
CscEntityAlertIdentificationService.h
Go to the documentation of this file.
1
//
2
// CscEntityDetectionState.h
3
// ConscienceRobotManager
4
//
5
// Created by Hazar Zaoui on 15/12/2023.
6
// Copyright © 2023 IliesZaoui. All rights reserved.
7
//
8
9
#ifndef CscEntityAlertIdentificationService_h
10
#define CscEntityAlertIdentificationService_h
11
#include "
CoreObjects/CscCoreEvents.h
"
12
#include "
CscEntityDetectionState.h
"
13
#include "
alerts.h
"
14
#include "
CscEntitySensorValues.h
"
15
16
namespace
conscience_core::ai
{
17
18
class
CSC_DLL_IMPORTEXPORT
CscEntityAlertIdentificationService
{
19
public
:
20
28
map<AlertId, CscDetectedAlert *> identifyAlerts(
ptr<CscEntityDetectionState>
detectionState,
string
entitySerialNumber,
29
const
vector<
ptr<const CscAlertIdentificationConfig>
> &enabledAlerts,
30
const
map<string, EntitySensorValues> &sensorValuesBySensorName,
31
int
accelerationFactor = 1,
double
analysisMaxPeriodMillis = 100
'000,
32
const string &logPrefix = "", bool isUsingAiApi = false);
36
static CscEntityAlertIdentificationService *getInstance();
37
38
private:
39
CscEntityAlertIdentificationService();
40
inline static CscEntityAlertIdentificationService *serviceInstance = nullptr;
41
ptr<const CscAlertIdentificationConfig> getAlertEnabledConfig(CscAlertTypeBuiltin type, const vector<ptr<const CscAlertIdentificationConfig>> &enabledAlerts) const;
42
void identifyNobodyPresentAlert(map<AlertId, CscDetectedAlert *> ¤tAlerts, const vector<ptr<const CscAlertIdentificationConfig>> &enabledAlerts, ptr<CscEntityDetectionState> detectionState, ptr<CscLogger> logger);
43
void identifyMultiplePersonsAlert(map<AlertId, CscDetectedAlert *> ¤tAlerts, const vector<ptr<const CscAlertIdentificationConfig>> &enabledAlerts, ptr<CscEntityDetectionState> detectionState, ptr<CscLogger> logger);
44
void identifyRedonAlert(map<AlertId, CscDetectedAlert *> ¤tAlerts,
45
const vector<ptr<const CscAlertIdentificationConfig>> &enabledAlerts,
46
ptr<CscEntityDetectionState> detectionState, const map<string, EntitySensorValues> &sensorValuesBySensorName, ptr<CscLogger> logger);
47
void identifyPulseAlert(map<AlertId, CscDetectedAlert *> ¤tAlerts,
48
const vector<ptr<const CscAlertIdentificationConfig>> &enabledAlerts,
49
ptr<CscEntityDetectionState> detectionState, const map<string, EntitySensorValues> &sensorValuesBySensorName, ptr<CscLogger> logger);
50
void identifyAlertsForAiApi(map<AlertId, CscDetectedAlert *> ¤tAlerts, const vector<ptr<const CscAlertIdentificationConfig>> &enabledAlerts, ptr<CscEntityDetectionState> detectionState, ptr<CscLogger> logger);
51
vector<float> framesWithPersonRatioPerPeriod;
52
vector<bool> framesWithPerson;
53
ptr<TrackedObject> currentPersonFall = nullptr;
54
};
55
}
56
#endif
CSC_DLL_IMPORTEXPORT
#define CSC_DLL_IMPORTEXPORT
Definition:
os.h:34
conscience_core::ai
Definition:
alerts.cpp:12
CscCoreEvents.h
conscience_core::ai::CscEntityAlertIdentificationService
Definition:
CscEntityAlertIdentificationService.h:18
CscEntitySensorValues.h
alerts.h
ptr
std::shared_ptr< T > ptr
Definition:
CscCommon.h:29
CscEntityDetectionState.h
Generated by
1.8.17