34 lines
1.1 KiB
C
34 lines
1.1 KiB
C
|
|
#include "ANSLIB.h"
|
||
|
|
|
||
|
|
//#define FNS_DEBUG
|
||
|
|
class CUSTOM_API ANSCustomHMD : public IANSCustomClass
|
||
|
|
{
|
||
|
|
private:
|
||
|
|
using ANSLIBPtr = std::unique_ptr<ANSCENTER::ANSLIB, decltype(&ANSCENTER::ANSLIB::Destroy)>;
|
||
|
|
|
||
|
|
std::recursive_mutex _mutex;
|
||
|
|
int engineType{ 0 };
|
||
|
|
ANSLIBPtr _detector{ nullptr, &ANSCENTER::ANSLIB::Destroy };
|
||
|
|
ANSLIBPtr _classifier{ nullptr, &ANSCENTER::ANSLIB::Destroy };
|
||
|
|
|
||
|
|
// ----- Model config -----
|
||
|
|
int _detectorModelType;
|
||
|
|
int _detectorDetectionType;
|
||
|
|
int _classifierModelType;
|
||
|
|
int _classifierDetectionType;
|
||
|
|
|
||
|
|
std::string _classifierLabels;
|
||
|
|
bool _isInitialized{ false };
|
||
|
|
bool _readROIs{ false };
|
||
|
|
|
||
|
|
public:
|
||
|
|
bool Initialize(const std::string& modelDiretory, float detectionScoreThreshold, std::string& labelMap) override;
|
||
|
|
bool OptimizeModel(bool fp16) override;
|
||
|
|
bool ConfigureParameters(CustomParams& param) override;
|
||
|
|
std::vector<CustomObject> RunInference(const cv::Mat& input) override;
|
||
|
|
std::vector<CustomObject> RunInference(const cv::Mat& input, const std::string& camera_id) override;
|
||
|
|
bool Destroy() override;
|
||
|
|
ANSCustomHMD();
|
||
|
|
~ANSCustomHMD();
|
||
|
|
};
|