我想用 opencv c++ 训练一个 SVM,以便推断图像中一个点相对于所需点相关的另外两个点的位置。
基本上我有整个视频中三个点的轨迹,我想用这些轨迹作为 SVM 的训练数据。
我是机器学习技术的新手,经过一些阅读后,我想我已经理解 SVM 将返回一个布尔结果(如果同时满足某些条件,则为 true,否则为 false)。就我而言,我需要图像中的位置作为结果。
我不确定我应该如何组织训练集,我正在考虑做这样的事情:
T1 T2 T3 标签=1
其中 T1 T2 和 T3 包含属于我认为正确的三个轨迹的所有点;
T1 T2 T4 标签=-1
其中 T1 和 T2 与之前相同,而 T4 包含不位于轨迹 T3 上的随机点。
一旦我用来自不同视频的不同轨迹训练了 SVM,我想通过三个点:P1(x,y) 和 P2(x,y) 对应于时间 t 的 T1 和 T2 以及随机点 P(x,y ),SVM 应该预测随机点是否在想要的位置。
如果这种方法是错误的,任何人都可以向我解释,为什么?
谢谢