IP_2:二值化算法思考

1. 唠嗑

    昨天花了比较多的时间在编程上(吐槽一句编程有待提高),结果效率很低,因为并没有学到什么东西,也没有想出什么有趣的东西。这也引发了我的一个思考:学习算法的时候,编程到底应该占多重要的地位?


2. 二值化算法思考

    2.1 迭代法是基于双峰的分割法的改进吗

        很有意思,最近在学习的时候总是能触类旁通,每一个算法都有一个深厚的背景,并能带我到其他领域一睹风采。

        为了验证博客“十三种...”下面博友所评论的“迭代法和ISODATA”是一种算法,今天早上我查了一些资料,对这些算法也有一个肤浅的了解了。刚好,这两个问题的答案其实是同一个。

        先解答2.1:二值化可以看成是一种聚类的问题:只不过是给出了类的数目。在这个问题上,倘若灰度直方图具有双峰,那自然能给我们一个简单的方向:往两个峰中间去找。当然这个找固然是有一个好坏之分的,但是因为我们现在的二值化图像的评价标准不一,为了简便,我们选用了这两个简单的阈值:一个是谷底,另一个是双峰的平均。从这个意义上看,迭代法确实是双峰法的改进,因为这两种算法本质上都是在“聚类”。反过来说也可以这样理解:基于双峰的两个算法,也可以用于解聚类问题。

        在我现在的理解里面,迭代法等同于聚类算法里面的"K-means"算法,而非ISODATA算法。原因如下:

            1. 二值化任务已经给出了类的数量:两个

            2. 因为没有类的不确定,自然也不需要在一个流程里面执行合并和分裂。迭代法的流程里面,核心的是对新的阈值的更新,并且使用这个阈值重新进行处理。这一点恰恰与 K-means 算法的流程吻合。

        所以上面就是我给出的答案。另外,在查找资料的时候,对于ISODATA算法的流程还是有一点疑问:算法是如何保证最后得出的类的数目就是所需要的类的数目?对于这个问题,算法最后应该得到的数目不一定是我们所需要的类的数目,这个参数给出来只是一个参考,可以见参考资料2中的实例。这样也就看出来了ISODATA的弊端:比较依赖于初始给的参数。

    2.2    那参考资料2提到的ISODATA算法的核心流程是怎么样的?

        草拟大爷,真tm打脸。从参考资料2看,迭代算法跟ISODATA算法就是同一个没错,但是我认为应该等同于的是K-means算法啊。怀疑这个有错,当然可能是我学得不精,思考不深入,望明白的博友指出。

    2.3    如何理解参考资料2里面的“基于模糊集理论"的算法?

        要理解这个先理解“熵”这个概念,既然需要理解这个概念不如顺便把“一维最大熵”粗浅地学一次。

        首先理解了熵的定义,了解其意义:代表着一种“信息量”。做了这两个部分不难理解这个算法了:毕竟我们不是数学家,不需要思考得十分深入(例如有没有等价的表述,“熵”这个概念的缺点在哪里,这些我们都不需要考虑。当然有时间,有能力可以思考,或许能从里面获得一些别的有趣的东西)。该算法选取一个阈值,能够使得整幅图的熵最大。

        刚开始阅读参考资料2跳转出去的链接,初初感觉有些困难,这是因为个人的理论水平所限。不过经过一会的思考之后,希望自己的理解是正确的。同样要理解几个关键的概念与公式,第一个是“熵”,第二个是“隶属度”,第三个是香农函数。前面两个倘若我们不去深究的话,是比较容易理解的。这里着重说一下自己对香农函数的理解:香农函数的形式可以写成两个熵相加之后再平均,这一部分可以这么理解:因为我们所选取的隶属函数是有一定偏差的,不可能十分准确;那么第一部分的熵,就是指的是分的对的熵,第二部分的熵,就是指分的对的反面,也就是分不对的熵。整个式子,代表的是“分类”这一个事情的熵,或者从另一个意义上面说,就是一种“模糊度的度量”。那么接下来就好办的,因为根据熵的意义,我们最好把这个时候的熵取最小。这样的话,“分类”这一个事情的“模糊度”就越小。

        这些只是个人的理解,因为没能在网上查到有助于我理解的资料。希望各位博友倘若看出有理解不当之处,请斧正。

        另外,很喜欢这样学习的感觉,感觉很有意思。


3. 参考资料

    1. zhiyong_will 的CSDN博客: 简单易学的机器学习算法——K-Means算法

    2.    Imageshop : 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果。

    3.    liangdas 的CSDN博客:ISODATA分类法


4.    心得吐槽

    1.    最近要做的事情好像有点多...

    2.    拖了好久自认为把二值化写完,果然还是要靠时间要熬啊...

    3.    哈哈哈,找到两个能与我分享快乐的队友,很高兴。手动滑稽

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值