解析C++版OpenCV里的机器学习
解析C++版OpenCV里的机器学习使用openCV的Knn定义在人工智能中,更确切地说在机器学习中,k最近邻方法是一种有监督的学习方法。在这个框架中,我们有一个由N个“输入-输出
使用openCV的Knn
定义
在人工智能中,更确切地说在机器学习中,k最近邻方法是一种有监督的学习方法。在这个框架中,我们有一个由N个“输入-输出”对组成的训练数据库。为了估计与新输入x 相关联的输出,k最近邻方法包括根据要定义的距离(以相同的方式)考虑k个训练样本,其输入最接近新输入x。由于此算法基于距离,因此归一化可以提高其准确性。
方法
因此,要使用KNN方法进行分类,我们必须首先声明训练样本,或者可以说输入数据。
在声明了0和1矩阵之后,我们必须使用函数“RNG”将它们填充为随机值。
现在我们需要将两个类连接起来,以便进行学习。
训练
要进行训练,你必须首先使用以下代码行创建模型:
现在,我们将进行遍历整个图像的循环(我们选择的平面为500x500像素,以绘制不同类别的区域,当然也将点放置在它们的位置),然后学习模型的输出对于第一类将为0,对于第二类将为1。通过查找(或者可以说通过计算距离),我们用定义该像素属于此类的颜色填充图像的每个像素,这样就可以使边框可视化。因此,要进行训练,你必须首先使用以下代码行创建模型:
因此,你可以看到我们具有find_nearest函数,该函数计算入口点与其他点之间的距离以查找邻居,然后该函数为第一个类返回0或为第二个返回1。最后,我们使用了条件块if,为每个类赋予特定的颜色。因此,通过执行这些步骤,我们进行了学习,找到了两个类,并且我们当然划定了边界,如图:
现在,如果我们想展示用于学习的样本,我们只需要把每个要点放在适当的位置即可,这样我们就可以了解学习是否做得很好。
这是样本表示后的输出图像:
可以看出,这两个类的界限是明确的,有一些点没有很好地分类,但总的来说,学习效果不错。
首页 下一页 上一页 尾页-
“SPC”模型解读中国新兴造车入局者竞争力2021-05-24
-
使用3D打印机打印模型为何离不开支撑环节?2021-05-19
-
Magics分割模型有哪些方式?2021-05-14
-
开发三维肿瘤模型,辅助生成更仿真的3D肿瘤体系2021-05-11
-
智塑健康的人造骨骼匹配之路:3D打印重构骨科植入体2021-05-08
-
关于边缘匹配与单直线的图像处理方法说明2021-05-07
-
一文了解图像中通道的相关知识2021-05-06
-
不爱吃肉的人比吃肉的人心理健康状况更差?2021-04-22
-
飞桨框架升级到2.0:AI模型生产事半功倍2021-04-16
-
一文揭秘Linux设备驱动统一模型解析2021-04-13
-
高仙机器人CTO秦宝星受邀CCE ISSA行业论坛 清洁行业的人工智能时代已来2021-04-02
-
云计算的4种部署模型2021-03-31
-
如何利用OpenCV为Python中的图像提供卡通效果?2021-03-31
-
Galaxy Buds Pro的环境声音可帮助听力受损的人2021-03-23
-
灵长类动物模型:为测试阿尔茨海默病疗法开辟新道路2021-03-22