基于递归学习法以及记忆化的学习方法论
Posted Clo91eaf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于递归学习法以及记忆化的学习方法论相关的知识,希望对你有一定的参考价值。
基于递归学习法以及记忆化的学习方法论
递归学习法,即在学习一个东西A时遇到了不熟悉的知识点B,于是去学习知识点B又遇到了知识点C,……当学到了最底层的知识点X,return回到上一级,继续学习尚未学完的知识点W。
用代码表示就是
#include<stdio.h>
void learnA(){
...
if (!B.learn())
learnB();
...
return;
}
void learnB(){
...
if (!C.learn())
learnC();
...
return;
}
...
void learnX(){
...
return;
}
这种学习方法花费较大时间的情况下学习知识点A。但是由于我们在学习知识点A的同时不断学习知识点A的底层,因此我们能够把握A的整个框架。但是,这种学习方法有两个很重要的缺点,学过递归的朋友们都知道,比起顺序学习来说,递归学习因为要不断地调用函数,因此会产生较大的时间损耗,另一个缺点是当一个函数在它内部调用了它自己,就down了,如何避免这种情况的发生呢?答案是:记忆化与查文档。
记忆化,在程序中表示成递归过程中,通过一个数组储存函数运行结束时的状态,这种方法在非线性动态规划中经常使用。但是我们人脑毕竟不是计算机,没有内存,怎么记忆化?我的方法是:写博客。这样在下一次学习时,遇到重复的部分可以跳过,达到所谓“记忆化搜索剪枝”的功能。
通过写博客,记录下自己学习某样东西的路程,这条路程有的时候会很曲折,绕了一个大弯,有的时候又自己调用自己,或者自己调用别人调用自己(说的就是你,CSDN),因此我们尽量通过官方文档的查阅来使得弯绕的少一些,小一些,并且官方文档中的调用较为完备,在一个较为完备的系统中学习更加有利于自己的学习路线。
此方法论正通过不断实践改进中。
AR学习笔记:阈值二值化优化与颜色分割的优化
AR学习笔记(七):阈值二值化优化与颜色分割的优化
接下来改进一下阈值二值化的方法,使分割更加完整,然后改进颜色分割的方法,让阈值适应不同牙齿颜色以及光照条件
阈值二值化的优化
当前方案
图像预处理
图像预处理包括尺寸修改、限制对比度自适应直方图均衡、中值滤波,其中CLAHE能够增强牙齿和牙龈间的对比度,中值滤波可以削弱牙齿反光从而减少噪声
下面是不同参数下的CLAHE的效果
ClipLimit = 2.0
ClipLimit = 4.0
ClipLimit = 8.0
结论:当ClipLImit上升后,对比度增强,但牙齿底部颜色失真严重,灰度值变低,这里取3.0比较合适,对于其它样本图片同样适用
下面是CLAHE对不同均匀光照(暗/正常/亮)下图片的效果
结论:CLAHE能够使得在不同光照下的图片亮度趋向于一致,但是对于不均匀光照,没有统一局部光照的效果
ps.矫正光照的其他方法:在HSV颜色模型下,使多幅图像的V参数达到一致
阈值二值化
下面是对于均匀光照(暗/正常/亮)条件的图片,采用不同阈值的二值化处理效果对比
thresh = 100
thresh = 120
下面是对于不均匀光照(暗/正常/亮)条件的图片,采用不同阈值的二值化处理效果对比
thresh = 100
thresh = 120
结论:
由于阈值thresh固定,所以只在正常光照下,二值化的效果比较好,对于光照过强或过弱情况,轮廓的提取存在较大误差
优化方案
otsu法
otsu法(最大类间方差法,大津算法)使用的是聚类的思想,把图像的灰度数按灰度级分成2个部分,使得两个部分之间的灰度值差异最大,每个部分之间的灰度差异最小,通过方差的计算来寻找一个合适的灰度级别来划分。 所以可以在二值化的时候采用otsu算法来自动选取阈值进行二值化。
otsu算法被认为是图像分割中阈值选取的最佳算法,计算简单,不受图像亮度和对比度的影响。
代码参考:OTSU算法介绍及openCV的C++实现
下面是测试结果:
ostuthresh = 107
ostuthresh = 111
ostuthresh = 117
结论:使用ostu得到的阈值还需要进一步地优化,但优化难度比较大,目前通过对多幅图像测试,采取×1.3的方法来拟合合理阈值,相比固定阈值的优化有一定的改善
顶帽变换
可以用来矫正不均匀光照,下面是不同结构元素尺寸(2121,3131,4141,5151)的测试结果,效果不好
分块阈值法
参考:光照不均匀图像分割技巧
颜色分割的优化
当前方案
图像预处理同样包括尺寸修改、限制对比度自适应直方图均衡、中值滤波,然后在HSV空间下进行颜色分割
分割效果见:AR学习笔记(五):边缘分割优化和提取特征点
优化方案
HSV模型分割
查找表方法
以上是关于基于递归学习法以及记忆化的学习方法论的主要内容,如果未能解决你的问题,请参考以下文章