cnn(卷积神经网络)是典型的ai算法。

我们已经cnn实现像机器视觉中形状匹配的功能,因为使用了roi抠图匹配,所以就叫做roicnn,以区分整图匹配。下面是roicnn笔记总结:

20241022,roicnn搞定,问题都已经排除,成绩不错!(一个roi抠图学习了1000次)

1,有一部分权值w没有初始化,即初值全为0,正常,知道是什么原因,已经搞清楚,ok。

2,指定d【0】=1,其他九个=0,但训练迭代的初始几次,出现类似d【4】=5,这类奇怪的问题,已经搞清楚,ok。

3,roicnn一千次同一图的训练收敛成绩99.7比minst手写数字识别训练收敛成绩好,这个训练6万次,97,明白是怎么回事,ok。

显然,一类的cnn识别与多类cnn识别是不同的。

4,roicnn已经表现出稳定,准确(位置还行),但速度不行,要3s,这个roicnn要遍历整个1024*768图像,如果训练的roicnn大小32*32,那么匹配遍历大于900*700。为什么多类手写数字识别快呢?因为给的手写数字识别图像与训练大小一样,32*32,遍历次数是1。

5,roicnn一类识别和手写数字多类识别都存在不能识别旋转图像,但在小角度时,没有影响。

6,如果让roicnn适应识别图像旋转,要么旋转roi,要么旋转图像,显然,匹配仍然会大于3s。

那么,多小的角度,cnn无感呢?应该在10度以内,这个经验来自工业现场机器视觉。

这说明小于这个角度,cnn会是一样的结果,也就是能稳定匹配到,但角度和位置上有偏差,但确实从宏观上讲,就这了,八九不离十。

显然,我们在工业现场机器视觉粗匹配也是这样,但我们的细匹配还可以执行,甚至感知一度内的偏差,所以这就是工业现场视觉匹配的稳定,准确,显然cnn还不行,但似乎可以代替粗匹配,然后我们可以想其他办法改进。

我们的机器视觉megauging形状匹配,相同的图像,匹配时间在40ms左右完成粗细匹配,这是roicnn达不到的,现在自己还没有好的改进办法。

另一个比roicnn好的多的算法,相关系数法ncc,也在等待进化,一样是速度上不来。达不到100ms以内。所以只能在门外排队,还不能并入megauging。

20241024

1,人类状态:十次到20次训练,就足够了!(甚至事不过三)识别很行,但在克和毫米上,没尺子不行。对于一个测量值,有没有发现,我们常估计错误,但不会绝不会把猫认成狗!

2,图像专注一类训练,roicnn,训练十次,从0.5上升到0.88以上,一千次训练0.997

3,图像多类训练,比如手写数字识别,训练每一类至少6000次,十个数字,6万次,训练结果0.97

4,而机器视觉,一次训练就够了,而且稳定,准确,速度快!

显然,如果离不开测量,必须用机器视觉。而其他三种对于测量是谈不上的,只能说是识别,所谓识别,就是ai,从识别到测量,人类发明了很多工具,才走到今天的地步!

显然,ai不可小瞧,他能学会识别,自然也可以学会测量!

只要你教他,没他学不会的!

虽然今天的gpu给了ai很好的算力,功耗很大,但迟早会降下来功耗,这很象当年cpu发展!

总体来说,我们现在的ai还是处在开智的小时候,可能笨办法来的多一些,但未来一定会达到不惑的飞跃状态。

有期待,有担心!

更多推荐