OpenCV, Dlib 및 Simd과 같이 HOG 설명자를 계산할 때 여러 가지 시도가 있습니다. 그들 모두는 HOG 히스토그램으로 결과 크기를 추가하는 스칼라 코드를 사용SIMD를 사용한 HOG 최적화
는float histogram[height/8][width/8][18];
float ky[height], kx[width];
int idx[size];
float val[size];
for(size_t i = 0; i < size; ++i)
{
histogram[y/8][x/8][idx[i]] += val[i]*ky[y]*kx[x];
histogram[y/8][x/8 + 1][idx[i]] += val[i]*ky[y]*kx[x + 1];
histogram[y/8 + 1][x/8][idx[i]] += val[i]*ky[y + 1]*kx[x];
histogram[y/8 + 1][x/8 + 1][idx[i]] += val[i]*ky[y + 1]*kx[x + 1];
}
이 size
의 값은 구현에서 따라 다르지만 일반적으로 의미는 동일합니다.
저는 histogram calculation with using of SIMD의 문제가 간단하고 효과적인 해결책이 없다는 것을 알고 있습니다. 그러나이 경우에는 작은 크기 (18)의 막대 그래프가 있습니다. SIMD 최적화에서 도움이 될 수 있습니까?
당신 [이 용지 (http://ieeexplore.ieee.org/document/4429976/) 유용 할 수도 – Martin