Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用机器学习和小型数据库进行分类_C++_Opencv_Image Processing_Machine Learning - Fatal编程技术网

C++ 使用机器学习和小型数据库进行分类

C++ 使用机器学习和小型数据库进行分类,c++,opencv,image-processing,machine-learning,C++,Opencv,Image Processing,Machine Learning,我想创建一个阀门检测和分类,如以下视频: 检测阀门的开启、关闭和中间位置 我做了一些研究,找到了一些解决这个问题的方法,但我有一些条件来解决这个问题: 条件1:在应用程序中使用机器学习,我不能使用简单的方法,如模板匹配 条件2:使用一个小型数据库,按类别至少10张图像,按类别最多40张图像 条件3:如果摄像头位置发生变化,则检测阀门的位置,因此我不能仅使用颜色来检测阀门手柄 我想使用HOG直方图导向梯度+SVM/ANN,但是HOG需要很多图像来训练SVM/ANN 我不知道在这种情况下是否可以解决

我想创建一个阀门检测和分类,如以下视频: 检测阀门的开启、关闭和中间位置

我做了一些研究,找到了一些解决这个问题的方法,但我有一些条件来解决这个问题:

条件1:在应用程序中使用机器学习,我不能使用简单的方法,如模板匹配

条件2:使用一个小型数据库,按类别至少10张图像,按类别最多40张图像

条件3:如果摄像头位置发生变化,则检测阀门的位置,因此我不能仅使用颜色来检测阀门手柄

我想使用HOG直方图导向梯度+SVM/ANN,但是HOG需要很多图像来训练SVM/ANN


我不知道在这种情况下是否可以解决这个问题?

正如我们所知,ML方法需要正确工作的最重要的事情是数据。所以,我认为你的第一个和第二个条件是相互冲突的。此外,您的第三个条件增加了问题的复杂性。您可以通过包含来自不同角度和照明条件的更多数据来解决此问题。但同样,它与条件2相冲突

即便如此,如果您想遵循ML路径,我建议您使用预先训练的模型、强大的数据扩充,或者使用一组模型来帮助提高检测率。由于问题不是那么难,它应该有效


祝你好运。

找到一个适用于你的应用程序的特征描述符,一定要使用SVM而不是NN。如果你选择好你的训练特征,支持向量机即使在训练集很小的情况下也能很好地工作。