75 lines
2.4 KiB
C++
75 lines
2.4 KiB
C++
/*
|
|
* @Author: your name
|
|
* @Date: 2024-11-10 16:05:35
|
|
* @LastEditors: your name
|
|
* @LastEditTime: 2024-11-10 16:07:08
|
|
* @Description: file content
|
|
* @FilePath: /VCarContainer_arm/engine/Step1InferenceEngine/ContainerStep1InferenceEngine.h
|
|
*
|
|
* Copyright © 2022 <Shandong Matrix Software Engineering Co., Ltd>
|
|
*/
|
|
/**
|
|
* 车号属性第一步推理前预处理
|
|
* */
|
|
|
|
#ifndef CONTAINERSTEP1INFERENCEENGINE_H
|
|
#define CONTAINERSTEP1INFERENCEENGINE_H
|
|
|
|
#include <opencv2/opencv.hpp>
|
|
#include "AppCommon.h"
|
|
#include "EngineBase.h"
|
|
#include "EngineFactory.h"
|
|
#include "yolov5_clearity_inference.h"
|
|
|
|
class ContainerStep1InferenceEngine : public ai_matrix::EngineBase
|
|
{
|
|
public:
|
|
ContainerStep1InferenceEngine();
|
|
~ContainerStep1InferenceEngine();
|
|
|
|
APP_ERROR Init() override;
|
|
APP_ERROR DeInit() override;
|
|
APP_ERROR Process() override;
|
|
|
|
private:
|
|
//初始化识别模型
|
|
APP_ERROR initModel();
|
|
//过滤无效信息
|
|
void filterInvalidInfo(std::vector<stDetection> &vecInferenceResult,
|
|
std::shared_ptr<VDetectInfo> &pVDetectInfo);
|
|
|
|
void getMaxScoreResult(std::vector<stDetection> &vecInferenceResult);
|
|
|
|
void getTargetType(SingleData &singleData);
|
|
|
|
std::string strPort0_;
|
|
ai_matrix::ModelConfig modelConfig_;
|
|
ai_matrix::DataSourceConfig dataSourceConfig_;
|
|
ai_matrix::IdentifyConfig identifyConfig_;
|
|
YoloV5ClearityInference yolov5model;
|
|
|
|
const char* INPUT_BLOB_NAME = "images"; //输入层名称
|
|
const char* OUTPUT_BLOB_NAME = "output"; //输出层名称
|
|
unsigned int img_width = IMAGE_WIDTH;
|
|
unsigned int img_height = IMAGE_HEIGHT;
|
|
unsigned int model_width = STEP1_INPUT_W;
|
|
unsigned int model_height = STEP1_INPUT_H;
|
|
unsigned int clear_num = STEP1_CLEAR_NUM;
|
|
unsigned int class_num = STEP1_CLASS_NUM_CON;
|
|
unsigned int input_size = STEP1_INPUT_SIZE;
|
|
unsigned int output_size = STEP1_OUTPUT_SIZE;
|
|
unsigned int det_size = STEP1_CLASS_NUM_CON + STEP1_CLEAR_NUM + 5;
|
|
unsigned int batch_size = STEP1_BATCH_SIZE;
|
|
float score_threshold = STEP1_SCORE_THRESH;
|
|
float nms_threshold = STEP1_NMS_THRESH;
|
|
|
|
YoloV5ClearityModelInfo modelinfo;
|
|
|
|
// std::map<int, ai_matrix::DataSourceConfig> mapDataSourceCfg_; //[key-数据源id, value-数据源参数配置信息]
|
|
// std::map<int, int> mapSameSideFlatcarSid_; //[key-数据源id, value-同侧识别平车数据源id]
|
|
};
|
|
|
|
ENGINE_REGIST(ContainerStep1InferenceEngine)
|
|
|
|
#endif
|