【问题标题】:Why the result of DIGITS and OpenCV 3.1 is different?为什么 DIGITS 和 OpenCV 3.1 的结果不同?
【发布时间】:2017-02-15 21:57:56
【问题描述】:

我使用 DIGIT 进行分类(我使用自适应梯度、随机梯度下降和 Nesterov 的加速梯度测试 GoogLeNet)。图像为彩色和 256*256。训练后,我使用“测试单个图像”选项并测试一个图像。结果是显示完美匹配并正确分类图像。然后我使用下载的模型在基于“http://docs.opencv.org/trunk/d5/de7/tutorial_dnn_googlenet.html”的 OpenCV 3.1(windows 64bit,visual studio 2013,Nvidia GPU)中应用。但是,我总是得到不同的课程和错误的答案。
编辑:
我尝试cvtColor(img, img, COLOR_BGR2RGB) 并没有解决问题。我还是得到了错误的结果。 我尝试了不同的data transformations,例如noneimagepixel。也不同solver type

【问题讨论】:

  • 你能用“buran”图像和教程中提到的模型复制数字吗?
  • 最佳类别:'Google',概率:66.8766%

标签: opencv classification deep-learning caffe nvidia-digits


【解决方案1】:

OpenCV 默认使用现在非常少见的 BGR(蓝、绿、红)颜色通道排序。正常是RGB。

Why OpenCV Using BGR Colour Space Instead of RGB

这可以解释模型性能不佳的原因。

【讨论】:

  • 谢谢,但我试试 cvtColor(img, img, COLOR_BGR2RGB);并且问题没有解决。还是我得到了错误的结果。
【解决方案2】:

如果 OpenCV 3 vs 2 引起了这个问题,我会感到惊讶。相反,我认为差异是由于数据预处理的差异造成的。

下面是一个如何对在 DIGITS 中训练的 Caffe 模型进行数据预处理的示例: https://github.com/NVIDIA/DIGITS/blob/v4.0.0/examples/classification/example.py#L40-L85

还要确保您阅读了这些“陷阱”:https://github.com/NVIDIA/DIGITS/blob/v4.0.0/examples/classification/README.md#limitations

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 2021-12-07
    • 2010-10-31
    相关资源
    最近更新 更多