优化面目标检测

main
wangchongwu 3 months ago
parent 04dd7d3816
commit a882eb1c52

@ -1084,17 +1084,17 @@ DecPolicy SkyTracker::TO_TrackDecisionOf_KCF_CEND(GD_VIDEO_FRAME_S img)
policy.Act_KCFTracker = Act::Adjust;
g_GLB_nTrackDecisionCnt++;
// 1.附近没有目标且跟踪偏离隔5帧重置一次KCF更苛刻条件下
// 2.CEND检出稳定的尺寸条件下20帧重置1次KCF
// 2.CEND检出稳定的尺寸条件下1s重置1次KCF
if (
((1 == nCrossTarget && fSizeSameCendKCF < 0.7f && g_GLB_nTrackDecisionCnt > 5)
|| (pObjStatusCEND->fConfidence > 0.8f && nBkgAbnormal <= 2
&& g_GLB_nTrackDecisionCnt > 20 && pObjStatusCEND->sfSize.s < 300))
&& g_GLB_nTrackDecisionCnt > GLB_FRM_FREQ && pObjStatusCEND->sfSize.s < 300))
)
{
policy.Act_KCFTracker = Act::Reset;
}
if (g_GLB_nTrackDecisionCnt > 20)
if (g_GLB_nTrackDecisionCnt > GLB_FRM_FREQ)
{
g_GLB_nTrackDecisionCnt = 0;
}

@ -701,8 +701,8 @@ void SA_Tracker::SARegionDet(GD_VIDEO_FRAME_S img, GLB_INPUT* p_GLB_Input, SINT3
// 针对S3315近处大目标伺服不收敛优化
if (!stMotionMod_mean.bTrackStable && (trackTarget->snSize.w > 8 || m_LockingPipe->ObjectFilter.fPxlsCnt > 10))
{
m_TSA_Input.crCenterRect.w = MAX(m_TSA_Input.crCenterRect.w, 256);
m_TSA_Input.crCenterRect.h = MAX(m_TSA_Input.crCenterRect.w, 256);
m_TSA_Input.crCenterRect.w = MAX(m_TSA_Input.crCenterRect.w, 180);
m_TSA_Input.crCenterRect.h = MAX(m_TSA_Input.crCenterRect.w, 180);
}
SINT32 nAreaTargetNum = pDAT_Module->Detect(img, m_TSA_Input.crCenterRect, nObjCombineDist, GLB_STATUS_TRACK);
@ -1475,7 +1475,7 @@ SINT32 SA_Tracker::FindMatchTarget(PIPE* pPipe, TARGET_OBJECT* ptTargetArray, SI
//小目标情况下,周围可能检测出干扰的相似目标(真正的目标无法检出),需要强逻辑限定
//面目标情况下,单个目标允许大范围关联,关闭距离限定;非单个目标限定关联距离
if (/*PIPE_EVENT_JUST_LOCK != m_LockingPipe->ubEventStatus && */
m_LockingPipe->stMotionMod_mean.bTrackStable &&
/*m_LockingPipe->stMotionMod_mean.bTrackStable && */
m_SizeMode <= SizeType::SmallTarget || (m_SizeMode >= SizeType::MiddleTarget && !bSingleTarget))
{
if ((ABS(ptTarget->pfCenPos.x - stMotionMod_mean.crnObjPrediRtLong.cx) > MAX(ABS(fAzSpeed) * 2, nPredictDiffThresX)
@ -1486,6 +1486,17 @@ SINT32 SA_Tracker::FindMatchTarget(PIPE* pPipe, TARGET_OBJECT* ptTargetArray, SI
fSimMax = -1;
}
}
//else if (m_LockingPipe->stMotionMod_mean.nObjPredictFarCnt < 3 &&
// m_LockingPipe->stMotionMod_mean.nObjPredictFarCnt > 0)
//{
// if ((ABS(ptTarget->pfCenPos.x - stMotionMod_mean.crnObjPrediRtLong.cx) > 50
// || ABS(ptTarget->pfCenPos.y - stMotionMod_mean.crnObjPrediRtLong.cy) > 50
// && (ABS(ptTarget->pfCenPos.x - m_ObjStatus.ptPos.x) > 50
// || ABS(ptTarget->pfCenPos.y - m_ObjStatus.ptPos.y) > 50)))
// {
// fSimMax = -1;
// }
//}
//// 灰度类型不同,任何情况都不允许跳跃
//if (ptTarget->fSNR * ptMainTarget->fSNR < 0)

@ -434,7 +434,7 @@ SINT32 DetectAreaObj::DAT_DetectAreaTarget(GD_VIDEO_FRAME_S img, GLB_STATUS nSta
m_DAT_stPara.nDSmpScale = 1;
}
}
m_DAT_stPara.nDSmpScale = MAX(2, m_DAT_stPara.nDSmpScale);
////自动调整降采样倍数
//if (nStatus != GLB_STATUS_TRACK)
//{
@ -1077,7 +1077,7 @@ void DetectAreaObj::DAT_Initialization(SINT32 nWidth, SINT32 nHeight, CENTERRECT
m_DAT_stPara.nObjBkgGrayDiffMin = 10;
m_DAT_stPara.fBkgGrayDiffCoeff = 0.35f;
m_DAT_stPara.fgdk = DAT_OBJ_SNR_MIN;
m_DAT_stPara.nObjCombineDist = 11;
m_DAT_stPara.nObjCombineDist = 1;
//20161113Whao亮暗目标两套阈值
m_DAT_stPara.nGrayThresMinBright = DAT_GRAY_THRES_BRIGHT_MIN;

Loading…
Cancel
Save