2016-04-22 6 views
1

Я пытаюсь внедрить фильтр частиц для отслеживания на основе обнаружения, в настоящее время пытается обновить вес по модели внешнего вида. Перед отслеживанием у меня есть детектор на основе HOG + SVM, что означает, что в настоящее время у меня есть вектор HOG для каждого обнаруженного человека. Для новой генерируемой частицы я хочу установить вес, основанный на подобии вектора HOG, по сравнению с вектором HOG детектора. Итак, любое предложение для алгоритма, которое могло бы измерить сходство векторов HOG? СпасибоHOG особенность измерение сходства?

ответ

0

Попробуйте L2 метрику (порядковое расстояние между векторами признаков) или расстояние от косинуса.

double CosineDistance(float* v1, float* v2, size_t count) 
{ 
    double dot = 0.0, denom_a = 0.0, denom_b = 0.0; 
    for (unsigned int i = 0u; i < count; ++i) 
    { 
     dot += v1[i] * v2[i]; 
     denom_a += v1[i] * v1[i]; 
     denom_b += v2[i] * v2[i]; 
    } 
    return dot/(sqrt(denom_a) * sqrt(denom_b)); 
}