为啥 EigensCount 不能大于 TrainingImagesCount-1 [EigenObjectRecognizer]
Posted
技术标签:
【中文标题】为啥 EigensCount 不能大于 TrainingImagesCount-1 [EigenObjectRecognizer]【英文标题】:Why Can't EigensCount Be Greater Than TrainingImagesCount-1 [EigenObjectRecognizer]为什么 EigensCount 不能大于 TrainingImagesCount-1 [EigenObjectRecognizer] 【发布时间】:2012-07-05 08:30:18 【问题描述】:http://www.cognotics.com/opencv/servo_2007_series/part_5/fig_6_thumb.png
谁能解释为什么nEgiens不能超过上图中的nTrainFace-1?
我正在使用 EmguCv。当 nEgiens 和 nTrainFace 相等时,最后一个特征图像返回空白(黑色)。 但是,关于 emgucv 实现:
`if (termCrit.max_iter <= 0 || termCrit.max_iter > trainingImages.Length)
termCrit.max_iter = trainingImages.Length;`
【问题讨论】:
【参考方案1】:数学约束:
协方差矩阵的秩受训练样例数量的限制:如果有N个训练样例,则最多有N-1个特征值非零的特征向量。
http://en.wikipedia.org/wiki/Eigenface#Computing_the_eigenvectors
【讨论】:
我认为 N 个特征向量不包括零向量,但确实如此。谢谢...以上是关于为啥 EigensCount 不能大于 TrainingImagesCount-1 [EigenObjectRecognizer]的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Swift 的大于或小于运算符不能比较可选项,而相等运算符可以呢?
为啥这个 Pytorch 官方教程中没有 .train() 方法?
ValueError:不能有拆分数 n_splits=3 大于样本数:1