设置首页收藏本站
开启左侧

knn分类器根据Features计算得到分类和置信度报错

[复制链接]
ZoZoZoZoey 发表于 2024-10-22 08:29:16 | 显示全部楼层 |阅读模式
本帖最后由 ZoZoZoZoey 于 2024-10-23 09:09 编辑

请问大佬,我在有SelectedImage1的情况下,再经过calculate_features ()后得到Features,但是再将运行classify_class_knn (KNNHandle, Features, Class, Rating)时报错Wrong number of values of control parameter 2(HALCON错误代码:1402)

此时Features的值为[0.1, 3.23, 3.78, 5.2, 6.34, 8.81, 17.23, 18.83, 31.09, 42.79, 34.35, 30.26, 34.74, 32.35, 26.06, 26.05, 26.19, 26.93, 23.53, 18.86, 16.9, 16.43, 16.87, 16.49, 17.48, 23.02, 26.11, 27.23, 47.52, 82.18, 105.1, 90.63, 70.43, 64.4, 64.02, 59.27, 47.79, 44.51, 43.16, 26.45]

请问大佬这是为什么呀,按道理讲KNNHandle没问题,Features没问题,输出的Class和Rating
  1. binary_threshold (SelectedImage1, Region, 'max_separability', 'dark', UsedThreshold)
  2. * The objects are separated before calculating the features
  3. * for each object sample
  4. connection (Region, ConnectedRegions)
  5. select_shape (ConnectedRegions, SelectedRegions1, 'area', 'and', 62746.4, 100000)
  6. * count_obj (SelectedRegions1, Number)
  7. * Extract the selected features
  8. calculate_features (SelectedRegions1, SelectedImage1, SelectedFeatures, Features)
复制代码

Sele

Sele


knn_model_file.zip

23.17 KB, 下载次数: 0

解压得到knn_model_file.hknn

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| ZoZoZoZoey 发表于 2024-10-22 14:01:08 | 显示全部楼层
救命啊 有没有人救救我
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Lin_She 发表于 2024-10-22 15:49:12 | 显示全部楼层
有完整代码么,用你提供的示例,SelectedRegions1为空

点评

我还想请教一下,根据select_feature_set_knn (ClassTrainDataHandle, 'greedy', [], [], KNNHandle, SelectedFeatures, Score),得到KNNHanlde之后,还可以人为指定SelectedFeatures用...时而不行   发表于 2024-10-23 09:15
泥嚎大佬,因为代码比较多,我就放了训练后的权重文件和测试代码,根据我之前提供的代码SelectedRegions1为空时因为在面积筛选的时候没选到。  发表于 2024-10-23 09:11
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
回复 支持 0 反对 1

使用道具 举报

 楼主| ZoZoZoZoey 发表于 2024-10-23 09:07:16 | 显示全部楼层
本帖最后由 ZoZoZoZoey 于 2024-10-23 09:11 编辑
Lin_She 发表于 2024-10-22 15:49
有完整代码么,用你提供的示例,SelectedRegions1为空

训练时用的是
  1. select_feature_set_knn (ClassTrainDataHandle, 'greedy', [], [], KNNHandle, SelectedFeatures, Score)
复制代码

这里得出的SelectedFeatures是
  1. ['gray_hor_proj', 'gray_rb', 'polar_gray_proj_histo', 'gray_hor_proj_histo']
复制代码
,但是我在代码中想要指定features,
然后我将这里的KNNHandle保存在了文件knn_model_file.hknn中
然后下面就是测试的过程
  1. read_class_knn('knn_model_file.hknn', KNNHandle)
  2. * 这里是我指定的features
  3. SelectedFeatures:=['polar_gray_proj_histo', 'gray_rb', 'cooc_pyramid_4', 'gray_vert_proj_histo', 'edge_density_pyramid_4', 'edge_density_pyramid_2']
  4. dev_display (SelectedImage1)
  5. * Segment objects from the image
  6. binary_threshold (SelectedImage1, Region, 'max_separability', 'dark', UsedThreshold)
  7. * The objects are separated before calculating the features
  8. * for each object sample
  9. connection (Region, ConnectedRegions)
  10. select_shape (ConnectedRegions, SelectedRegions1, 'area', 'and', 67035.1, 200000)
  11. * count_obj (SelectedRegions1, Number)
  12. * Extract the selected features
  13. calculate_features (SelectedRegions1, SelectedImage1, SelectedFeatures, Features)
  14. * Classify object with the selected features
  15. * and the automatically created classifier
  16. classify_class_knn (KNNHandle, Features, Class, Rating)
复制代码


这里就会在输入KNNHanle, Features之后,得到了Class=0,但是Rating为空,并且报错Wrong number of values of control parameter 2(HALCON错误代码:1402)

knn_model_file.zip

23.17 KB, 下载次数: 2

knn_model_file.hknn

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Lin_She 发表于 2024-10-23 10:38:54 | 显示全部楼层
我理解是select_feature_set_knn输出的KNNHandle只能使用SelectedFeatures输出的参数,如果你想自己指定参数,可能你需要直接保存ClassTrainDataHandle。
select_feature_set_knn

功能:从一组要素中选择最佳子集以解决某个分类问题。

尝试一下


奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Lin_She 发表于 2024-10-23 11:01:14 | 显示全部楼层
Lin_She 发表于 2024-10-23 10:38
我理解是select_feature_set_knn输出的KNNHandle只能使用SelectedFeatures输出的参数,如果你想自己指定参 ...

说错了,不是保存训练数据句柄,是不要进行select_feature_set_knn,直接保存KNNHandle试试

点评

经过你的提醒,我将select_features_set_knn替换成了直接训练模型的方式,才找到了问题,感谢你咧,嘿嘿  发表于 2024-10-24 10:52
好咧,感谢大佬,我好像找到了报错的原因,是因为制定的Features计算得到的Features的维度和创造KNNHandle的Features的维度不匹配导致的  发表于 2024-10-24 10:51
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
wenbo_bob 发表于 2024-11-19 09:05:07 | 显示全部楼层
学习一下
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表