我正在制作一个手势识别程序。我的数据集由不同姿势的双手组成。我试图在跳入神经网络之前使用SVM获得基线。我的数据集有6个我正在尝试分类的类,每个类有大约1000个例子。
我使用了80-20分裂。 80%用于培训,20%用于测试。在测试集上运行SVM模型之后,我正在绘制一个混淆矩阵,它表明它的精度达到了~96%,召回率达到了96%,F1得分达到了96%。
以下是我的训练集图像的一些示例:
https://imgur.com/gwRSx3C
https://imgur.com/UxUPj5t
https://imgur.com/wXcaUq6
网络摄像头图片
https://imgur.com/j97cTnp
https://imgur.com/6QDHMAD
https://imgur.com/C9DELsr
以下是我的网络摄像头中的一些图片。
我很自然地被激怒了。唯一不足的是,当我将我的模型连接到网络摄像头进行实时推理时,该模型是临界对接。任何人都有任何想法,如果精度,召回,f1如此之高,为什么它会如此糟糕?
答案 0 :(得分:1)
有2个可能的答案
您的模型过度拟合。
从中提取训练和测试数据集的分布与网络摄像头的数据不同。
我认为您的问题是您的网络摄像头数据与您的训练数据有很大不同。
要调试模型,您应该执行以下操作