找回密码
 立即注册
搜索

如何运用k-means聚类停止图像辨认、颜色紧缩


点击上方关注,All in AI中国


300种颜色到24种颜色



对任何人来说,图像运用过滤器都不是一个新概念。我们拍了一张照片,做了一些修正,如今看起来更酷了。但是人工智能从何而来呢?让我们尝试运用Python中的k均值聚类停止无监督机器学习。

我以前写过关于k均值聚类的文章,所以我假设你这次对这个算法很熟习。 假如你不是,可以看下我写的深化引见K-Means Clustering: Diving into Unsupervised Learning | Data Stuff

我还尝试用自动编码器停止图像紧缩,获得了不同程度的成功。

但是,这一次,我的目的不是重建最好的的图像,而是看看用尽能够少的颜色重新创建图片的效果。

那么我们应该怎样做呢?

如何用k均值聚类停止图像过滤

首先,最好记住图像只是像素向量。每个像素是由0到255之间的三个整数值(无符号字节)组成的元组,它们表示像素的颜色的RGB值。

我们想要用K个均值聚类来找到K个最能代表图像的颜色。这仅仅意味着我们可以将每个像素看作一个单一的数据点(在三维空间中),并将它们聚在一同。

首先,我们要用Python把图像转换成像素向量。我们是这样做的。




例如,也许我们的照片只要三种颜色:两种红色和一种绿色。假如我们把它放到两个集群中,一切红色的像素都会变成不同的红色(聚集在一同),其他的像素会变成绿色的。

但是这些解释曾经足够了,让我们看看这个程序是如何运转的!

像往常一样,你可以自在地运用任何你想要的pic运转它,这里是带有代码的GitHub存储库GitHub - StrikingLoo/K-means-image-compression: Applying K-means clustering to image compression

或者,也许我们的照片只要三种颜色:两种红色,一种绿色。 假如我们将它放到两个集群中,一切红色像素将变成一些不同的红色暗影(聚集在一同),而其他像素将变成一些绿色的像素。

但这些解释曾经足够了,让我们看看这个程序是如何运转的。像往常一样,您可以自在地运用您想要的任何图片运转它,这里是带有代码的GitHub存储库。GitHub - StrikingLoo/K-means-image-compression: Applying K-means clustering to image compression

结果

我们将把过滤器运用到小猫的照片上,照片从"猫狗大战"kaggle数据集中找到。

我们从一只猫的照片,然后对k运用不同值的滤镜。这里是原始的图片:




首先,让我们检查一下这幅图最后有多少种颜色。




只需求一行numpy,我们就可以计算一个像素在这幅图上所取的独一值。虽然它总共有166167个像素,但在这张图片上有243种不同的颜色。

如今,让我们看一下将它聚类为2、5和10种不同颜色的结果。




只要两种颜色,它所做的只是标记最暗和最亮的区域。 但是,假如你是一个艺术家,用黑白(例如用墨水)绘画一些东西,并想看看参考轮廓是什么样的,那么这能够是有用的。


只要5种不同的颜色,这只猫曾经可以辨认了




这10种颜色的图片能够看起来有点迷幻,但它很清楚地代表了原作的内容



你留意到了一个趋向吗? 我们添加的每种颜色都有递减的报答。 2种颜色和5种颜色之间的差异远大于5和10之间的差异。但是,对于10种颜色,平整区域更小,我们有更多的粒度。 继续看15和24种颜色!







虽然很分明这是一张经过过滤的图片,有24种颜色(原始数量的10%),但我们曾经很好地表现了猫的笼统,并达到一定程度的细节。

换一幅不同的图片:一个是原始图片(256种不同的颜色),一个是紧缩图片(还是24种颜色)。




风趣的是,"紧缩"的图像为18KB,而未紧缩的图像是16KB。我真的不知道为什么会这样,由于紧缩机是相当复杂的野兽,但很乐意在回复中看到你的想法。

结论

我们只能用原来颜色的10%来制造新的图像,这看起来和它们非常相似。由于k均值聚类,我们还得到了一些看起来很酷的过滤器。你能想到其他风趣的集群运用程序吗?你能否以为其他聚类技术可以产生更风趣的结果?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评3

盖伦Gl 2019-6-4 16:19:18 显示全部楼层
除了666我无话可说
回复

使用道具 举报

杰迷小Q 2019-6-5 16:34:24 显示全部楼层
为毛老子总也抢不到沙发?!!
回复

使用道具 举报

hyby999999 2019-6-6 22:45:53 来自手机 显示全部楼层
纯粹路过,没任何兴趣,仅仅是看在老用户份上回复一下
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies