diff --git a/config.yaml b/config.yaml index 249651f..97cf359 100644 --- a/config.yaml +++ b/config.yaml @@ -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/" diff --git a/nvidia_ascend_engine/common_engine/FilterEngine/FilterTrainStepOneEngine.cpp b/nvidia_ascend_engine/common_engine/FilterEngine/FilterTrainStepOneEngine.cpp index 4469c32..6f7100d 100644 --- a/nvidia_ascend_engine/common_engine/FilterEngine/FilterTrainStepOneEngine.cpp +++ b/nvidia_ascend_engine/common_engine/FilterEngine/FilterTrainStepOneEngine.cpp @@ -190,32 +190,43 @@ void FilterTrainStepOneEngine::AddBackInfo(std::shared_ptr 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" - && (trainBackInfoTop.strAllClassType == "PROSPACE" || trainBackInfoTop.strAllClassType == "SPACEPRO")) + && 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" - && (trainBackInfoTop.strAllClassType == "NUMSPACE" || trainBackInfoTop.strAllClassType == "SPACENUM")) + && 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" - && (trainBackInfoTop.strAllClassType == "NUMSPACE" || trainBackInfoTop.strAllClassType == "SPACENUM")) + && 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; } diff --git a/nvidia_ascend_engine/common_engine/TransEngine/TransTrainEngine.cpp b/nvidia_ascend_engine/common_engine/TransEngine/TransTrainEngine.cpp index c66fa42..dd13320 100644 --- a/nvidia_ascend_engine/common_engine/TransEngine/TransTrainEngine.cpp +++ b/nvidia_ascend_engine/common_engine/TransEngine/TransTrainEngine.cpp @@ -813,6 +813,8 @@ APP_ERROR TransTrainEngine::Process() } pProcessData->pVoidData = std::static_pointer_cast(pTransData); + + LogInfo << " FrameID:" << pProcessData->iFrameId << " 来车时间:" << pProcessData->strTrainName; // push端口0,车号属性选优处理 PushData(strPort0_, pProcessData); diff --git a/nvidia_ascend_engine/nvidia_engine/TrainStepOneEngine/TrainStepOneEngine.cpp b/nvidia_ascend_engine/nvidia_engine/TrainStepOneEngine/TrainStepOneEngine.cpp index 7da59fd..0f577a9 100644 --- a/nvidia_ascend_engine/nvidia_engine/TrainStepOneEngine/TrainStepOneEngine.cpp +++ b/nvidia_ascend_engine/nvidia_engine/TrainStepOneEngine/TrainStepOneEngine.cpp @@ -194,14 +194,19 @@ void TrainStepOneEngine::FilterInvalidInfo(std::vector &vecRet, std std::vector 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[3] <= dataSourceCfg.fIdentifyAreasRBY)) + it->bbox[2] <= dataSourceCfg.fIdentifyAreasRBX && + it->bbox[1] >= dataSourceCfg.fIdentifyAreasLTY && + it->bbox[3] <= dataSourceCfg.fIdentifyAreasRBY)) { LogDebug << "frameId:" << pProcessData->iFrameId << " bigclassid:" << it->class_id << " 超出识别区域-识别区域:(" diff --git a/nvidia_ascend_engine/nvidia_engine/TrainStepTwoEngine/TrainStepTwoEngine.cpp b/nvidia_ascend_engine/nvidia_engine/TrainStepTwoEngine/TrainStepTwoEngine.cpp index 6777f3e..b0c8210 100644 --- a/nvidia_ascend_engine/nvidia_engine/TrainStepTwoEngine/TrainStepTwoEngine.cpp +++ b/nvidia_ascend_engine/nvidia_engine/TrainStepTwoEngine/TrainStepTwoEngine.cpp @@ -239,7 +239,7 @@ APP_ERROR TrainStepTwoEngine::Process() // push端口0,第1步推理 pProcessData->pVoidData = std::static_pointer_cast(pPostData); - iRet = outputQueMap_[strPort0_]->push(std::static_pointer_cast(pProcessData)); + iRet = outputQueMap_[strPort0_]->push(std::static_pointer_cast(pProcessData), true); // PushData(strPort0_, pProcessData); } return APP_ERR_OK;