Я работаю над проектом стабилизации видео с использованием OpenCV, и у меня есть реализация ЦП, но производительность требует улучшения, поэтому я пытаюсь перенести большую часть обработки на GPU ,CUDA эквивалент оценкиRigidTransform в OpenCV 3
текущая реализация в основном использует эти четыре OpenCV функции:
cv::goodFeaturesToTrack
cv::calcOpticalFlowPyrLK
cv::estimateRigidTransform
cv::warpAffine
До сих пор я нашел следующие эквиваленты на Графический процессор:
cv::cuda::createGoodFeaturesToTrackDetector
cv::cuda::SparsePyrLKOpticalFlow
cv::cuda::warpAffine
Есть ли CUDA эквивалент estimateRigidTransform
?
Я не уверен, что вы хотите один. Это должно быть довольно быстро на процессоре, а накладные расходы, чтобы загрузить его на GPU, могут сделать его медленнее для низкого количества точек. В методе оценкиRigidTransform используется метод наименьших квадратов, который может быть вычислен с использованием cuda cuSolver. Это не должно быть сложно реализовать, если вы действительно этого хотите на GPU. – taarraas
Привет, @taarraas благодарит за комментарий. Я переписываю стабилизацию видео на 100% на графическом процессоре, поэтому я не хочу загружать/выгружать точки, чтобы запустить «оценкуRigidTransform» на процессоре. Если на графическом процессоре нет существующей реализации, я напишу его в CUDA, просто подумал, что попрошу, если я что-то пропустил :) –