Definition at line 165 of file ThreadVisualSimilarity.h. References Impala::Core::Table::SimilarityTableSet::ComputeRanksTopN(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get1(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::GetColumn1(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::GetColumn2(), Impala::Core::VideoSet::Keyframes::GetFrameId(), Impala::Core::VideoSet::Keyframes::GetNrKeyframes(), Impala::Core::VideoSet::Keyframes::GetQuidFrame(), Impala::Core::Table::SimilarityTableSet::GetRankTable(), Impala::Core::VideoSet::Keyframes::GetShotId(), Impala::Core::Table::SimilarityTableSet::GetSimTable(), ILOG_ERROR, ILOG_INFO, Impala::Core::VideoSet::Keyframes::IsRKF(), mFeatureTable, Impala::Min(), mKeyframes, mOrigin, mSimSet, Impala::Core::Table::Table::SetSize(), Shot2Key(), Impala::Core::Vector::Similarity(), and Impala::Core::Table::Table::Size(). 00166 { 00167 Table::SimilarityTableSet::SimTableType* sTable = 00168 mSimSet->GetSimTable(0); 00169 Real64* sim = sTable->GetColumn1()->GetData(); 00170 Vector::Similarity(sim, exampleFeatureVector, 00171 mFeatureTable->GetColumn2(), 0, 1, 00172 Vector::Norm1Dist<Real64>); 00173 sTable->SetSize(mFeatureTable->Size()); 00174 int nr = Min(mFeatureTable->Size(), 8); 00175 00176 mSimSet->ComputeRanksTopN(nr, false); 00177 00178 // return best result: 00179 Table::SimilarityTableSet::RankTableType* ranktable = mSimSet->GetRankTable(0); 00180 Table::SimilarityTableSet::SimTableType* scoretable = mSimSet->GetSimTable(0); 00181 00182 Quid rquid = ranktable->Get1(0); 00183 00184 00185 // verification 00186 int ver_keyframe = mKeyframes->GetFrameId(rquid); 00187 ILOG_INFO("GetNearestFrameQuid:" << QuidObj(rquid) << " keyframe: " << ver_keyframe ); 00188 if (mKeyframes->IsRKF(ver_keyframe)) 00189 { 00190 ILOG_INFO("is rkf"); 00191 } 00192 00193 if (ver_keyframe > mKeyframes->GetNrKeyframes()) 00194 { 00195 ILOG_ERROR("Keyframe does not exist!"); 00196 } 00197 00198 // only take RKF's: 00199 int shot = mKeyframes->GetShotId(ver_keyframe); 00200 int rkf_keyframe = Shot2Key(shot); 00201 Quid rrquid = mKeyframes->GetQuidFrame(rkf_keyframe); 00202 if (rrquid != rquid) 00203 ILOG_INFO("Quid " << QuidObj(rrquid) << " differs fromr result!"); 00204 mOrigin = -1; 00205 return rrquid; 00206 }
Here is the call graph for this function:
|