最近宅在家,消遣时间之际,总会遇到一个让我困扰的事情。比如随手刷到的一个GIF,总想找到它的原片。
各位绅士可别想歪,我说的是动漫。
这个问题本质是一个相似度的检索问题。
说到视频找视频,其实可以分解为以图搜图。以图搜图这项技术,已经十分成熟,且已产品化。尤其在主流搜索引擎,很难找到一个不能搜图的引擎。连淘宝都有自己的时尚搜图功能。
但是当你满怀期待上传一张图时,你会发现,他返回的结果要么是同风格作品,要么是图片的描述。摔,我不是让你做抽象阅读理解哇。
这样的现象,实际是个性化需求与规模化需求的矛盾。对于公司,能规模化的,成本越低;定制带来存储成本,远高于能带来的回报。
这样的问题难不倒我们广大的人民群众,如果没有现成的,那我们就造一个。
以图搜图,可以理解为图像的检索,图像和其它信息一样,是可以被索引,被检索的。
于是乎,可以将整个工程抽象为3个部分。
- 图像预处理
- 图像特征表征
- 图像检索
图像预处理,一般是尺寸、色调的调整、以及去除明显的噪声。
索引建立有很多种方法,其核心是构造图像的特征表征。
这里先用简单的,构建一个 MVP(最小可行性产品),就采用谷歌的 MobileNet 啦。
该模型尺寸仅数十M,放在服务器或是部署到手机移动端,完全绰绰有余。(实不相瞒,其实一开始上的VGG16,但是模型太大了,服务器放不下。)
最后,图像检索,当一张新图来到时,对其进行特征提取,然后去索引库中查询,返回特征表征最近的 TopN,一个简单的以图搜图就完成了。
迫不及待想尝试了,但是发现一个大问题,咱们的索引图从哪儿来?总不能凭空捏造噻。
嗯,这也不是什么大问题,之前浏览某P开头,哦不对是G开头的学习网站,发现了知乎问题的爬虫。
这可是个好东西,恰好知乎时间线上,总有一个问题干扰学习——#什么样的腿才叫好看的腿#
就拿这个问题为例,将图片在离线创建索引,随后通过服务端部署。(服务端部署也可以讲一集,但不在这里,别挡住我看腿。)
当当当,随着周末两天的操作,舍弃了俺在的 pubg mobile 战友,谷粒粒的第一个搜图app上线咯。喜大普奔。
让我们赶紧试试,
嗯,还不错
再来一张,
原图秒匹配好吗,还给配上了类似风格的照片。
到这里,咱们的以图搜图小应用,就算开发上线完毕啦。
学习效率上升N个档次有没有⬆
链接地址:以图搜图之#什么样的腿才叫好看的腿# http://img-search.kuhungio.cn/
相关文章:
声明:该应用仅供学习,禁止用于其它用途。