【问题标题】:Can we train EigenVectors model with BigInt labels in OpenCv C++?我们可以在 OpenCv C++ 中使用 BigInt 标签训练 EigenVectors 模型吗?
【发布时间】:2013-11-12 15:12:35
【问题描述】:

我正在尝试使用具有 C++ 实现的 OpenCv 构建一个用于面部识别的软件。我遇到的问题是我有很多面孔,超过 1000 万张,不能仅使用 INT 类型(向量/int/标签)进行标记。我尝试使用 long long int,但经过一段时间的训练(0.5 秒后)出现此错误:

OpenCV 错误:错误参数(标签必须以整数 (CV_32SC1) 形式给出。预期为 4,但为 7。)在火车文件 /home/roka/opencv-2.4.6.1/modules /contrib/src/facerec.cpp,第 349 行在抛出 'cv::Exception' what() 实例后终止调用:/home/roka/opencv-2.4.6.1/modules/contrib/src/facerec.cpp:349 :错误:(-5)标签必须以整数(CV_32SC1)的形式给出。预期为 4,但在功能训练中为 7。

【问题讨论】:

    标签: c++ opencv


    【解决方案1】:

    如果你要处理 数百万 个面孔,你会遇到更多问题,而不是整数太小而无法标记它们。

    特征脸方法需要远远比单个机器容纳更多的内存,因为您需要一次性为其提供所有可用数据以进行训练。

    您必须将该数据分成几个块,并选择一个可以与 独立 测量相结合的算法(即 lbp )。您还需要一个单独的索引,将 int-labels(从本地识别)再次转换为全局 bigint 标签

    【讨论】:

    • 嗨,Berak,感谢您的回复。
    • 我能够在 opencv 的代码中稍微更改代码(取消注释某些行),以便它接受 BigInt 标签。但不确定它是否可以接受,并且我将来不会遇到麻烦。
    猜你喜欢
    • 2020-05-06
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多