1、对倒车处理增加更细的修正。

2、配置文件修改
This commit is contained in:
zhangwei 2024-06-28 14:28:02 +08:00
parent d8817e3d09
commit c1273c545a
5 changed files with 39 additions and 22 deletions

View File

@ -116,9 +116,8 @@ model:
nms_threshold: 0.3
gc_http_open: 0
# gc_http_url: "http://192.168.2.211:20004/api/train-carriage/identification/video-save"
# gc_gettoken_url: "http://192.168.2.211:20004/api/blade-auth/oauth/token"
# gc_image_srv: "http://192.168.2.211:9010/"
username: "guest_01"
password: "d55b0f642e817eea24725d2f2a31dd08" # 神东
gc_http_url: "http://192.168.2.121:8081"
gc_gettoken_url: "http://192.168.0.121:20004/api/blade-auth/oauth/token"
gc_image_srv: "http://192.168.0.121:9010/"

View File

@ -190,32 +190,43 @@ void FilterTrainStepOneEngine::AddBackInfo(std::shared_ptr<ProcessData> pProcess
else
{
TrainBackInfo trainBackInfoTop = stackBackInfo_.top();
// 2024年3月27日修改前
// if (trainBackInfoTop.strAllClassType != trainBackInfo.strAllClassType)
// {
// stackBackInfo_.push(trainBackInfo);
// LogDebug << "frameId:" << pProcessData->iFrameId << " push strAllClassType:" << strAllClassType
// << " stacksize:" << stackBackInfo_.size();
// }
if (trainBackInfoTop.strAllClassType != trainBackInfo.strAllClassType)
{
if (iDirection_ == DIRECTION_RIGHT
&& trainBackInfo.strAllClassType == "SPACE"
&& this->rightFirst_ == RIGHT_RUN_AND_PRO_FIRST
&& ((trainBackInfo.strAllClassType == "SPACE"
&& (trainBackInfoTop.strAllClassType == "PROSPACE" || trainBackInfoTop.strAllClassType == "SPACEPRO"))
|| (trainBackInfo.strAllClassType == "NUM"
&& (trainBackInfoTop.strAllClassType == "NUMSPACE" || trainBackInfoTop.strAllClassType == "SPACENUM"))))
{
return;
}
if (iDirection_ == DIRECTION_RIGHT
&& trainBackInfo.strAllClassType == "SPACE"
&& this->rightFirst_ == RIGHT_RUN_AND_NUM_FIRST
&& ((trainBackInfo.strAllClassType == "SPACE"
&& (trainBackInfoTop.strAllClassType == "NUMSPACE" || trainBackInfoTop.strAllClassType == "SPACENUM"))
|| (trainBackInfo.strAllClassType == "PRO"
&& (trainBackInfoTop.strAllClassType == "PROSPACE" || trainBackInfoTop.strAllClassType == "SPACEPRO"))))
{
return;
}
if (iDirection_ == DIRECTION_LEFT
&& trainBackInfo.strAllClassType == "SPACE"
&& this->rightFirst_ == RIGHT_RUN_AND_NUM_FIRST
&& ((trainBackInfo.strAllClassType == "SPACE"
&& (trainBackInfoTop.strAllClassType == "NUMSPACE" || trainBackInfoTop.strAllClassType == "SPACENUM"))
|| (trainBackInfo.strAllClassType == "PRO"
&& (trainBackInfoTop.strAllClassType == "PROSPACE" || trainBackInfoTop.strAllClassType == "SPACEPRO"))))
{
return;
}
if (iDirection_ == DIRECTION_LEFT
&& this->rightFirst_ == RIGHT_RUN_AND_PRO_FIRST
&& ((trainBackInfo.strAllClassType == "SPACE"
&& (trainBackInfoTop.strAllClassType == "PROSPACE" || trainBackInfoTop.strAllClassType == "SPACEPRO"))
|| (trainBackInfo.strAllClassType == "NUM"
&& (trainBackInfoTop.strAllClassType == "NUMSPACE" || trainBackInfoTop.strAllClassType == "SPACENUM"))))
{
return;
}

View File

@ -813,6 +813,8 @@ APP_ERROR TransTrainEngine::Process()
}
pProcessData->pVoidData = std::static_pointer_cast<void>(pTransData);
LogInfo << " FrameID:" << pProcessData->iFrameId << " 来车时间:" << pProcessData->strTrainName;
// push端口0车号属性选优处理
PushData(strPort0_, pProcessData);

View File

@ -194,13 +194,18 @@ void TrainStepOneEngine::FilterInvalidInfo(std::vector<stDetection> &vecRet, std
std::vector<stDetection> vecSpaceInfo;
for (auto it = vecRet.begin(); it != vecRet.end();)
{
float centre_x = it->bbox[0] + (it->bbox[2]-it->bbox[0])/2;
float centre_y = it->bbox[1] + (it->bbox[3]-it->bbox[1])/2;
LogDebug << "frameId:" << pProcessData->iFrameId
<< " bigclassid:" << it->class_id << " ltx:" << it->bbox[0] << " lty:" << it->bbox[1]
<< " rbx:" << it->bbox[2] << " rby:" << it->bbox[3];
<< " bigclassid:" << it->class_id
<< " centre_x:" << centre_x << " centre_y:" << centre_y
<< " lt[" << it->bbox[0] << "," << it->bbox[1] << "] "
<< " rb[" << it->bbox[2] << "," << it->bbox[3] << "]";
// 根据配置文件中 设置的识别范围,过滤掉无效数据
if (!(it->bbox[0] >= dataSourceCfg.fIdentifyAreasLTX &&
it->bbox[1] >= dataSourceCfg.fIdentifyAreasLTY &&
it->bbox[2] <= dataSourceCfg.fIdentifyAreasRBX &&
it->bbox[1] >= dataSourceCfg.fIdentifyAreasLTY &&
it->bbox[3] <= dataSourceCfg.fIdentifyAreasRBY))
{
LogDebug << "frameId:" << pProcessData->iFrameId

View File

@ -239,7 +239,7 @@ APP_ERROR TrainStepTwoEngine::Process()
// push端口0第1步推理
pProcessData->pVoidData = std::static_pointer_cast<void>(pPostData);
iRet = outputQueMap_[strPort0_]->push(std::static_pointer_cast<void>(pProcessData));
iRet = outputQueMap_[strPort0_]->push(std::static_pointer_cast<void>(pProcessData), true);
// PushData(strPort0_, pProcessData);
}
return APP_ERR_OK;