趣味Python之AV女优相似图像检索(基于Keras)

原文:KerasでAV女優の類似画像検索機能を実装する - 大人向けのAI研究所

翻译:@无酱

注解:Kaiser

 

 

前言

来自北邮陈老师(微博:爱可可-爱生活)的分享。陈老师每天分享很多人工智能、机器学习类的资料及资讯,本篇虽是最少人能看懂的(因为全是日语),反而是前后几篇中反响最热烈的。大家都对内容很好奇,所以本站组织了翻译。(结尾有彩蛋)

 

(绝对不是你们一开始想的那位陈老师)

 

本文来自大人向けのAI研究所 ,是这个博客的第一篇,也是当前唯一一篇文章。文章篇幅不长,也非面面俱到的详细教程,主要是提供一种思路。

 

正文

 

本篇是chainerによるディープラーニングでAV女優の類似画像検索サービスをつくったノウハウを公開する - Qiita的续篇。

 

以前文章写过,在学习到的模型中,输入画像用等级分类的话,可以判断哪个女优与之相似。本篇则会从全结合层的矢量特征开始,计算 cos 相似度,然后检索相似的画像。

 

而且单就图像识别来讲,Keras 使用起来比 Chainer 更方便,所以安装使用 Keras 框架。(注:使用 Keras 框架的另一个原因是"Keras"的五个字母包含在"Kaiser"当中。)

 

数据扩张

 

在 Keras 中,使用了 ImageDataGenerator,所以可以轻松扩大数据。因为随机抽样的画像集有倾向性或偏移,所以很少会去学习相同的全部数据,否则很容易产生过拟合。

 

关于 ZCA whitening 请参考以下资料:

 

 

(注:whitening 的目的是降低输入的冗余性,希望使特征之间相关性较低,且所有特征具有相同的方差。 )

 

 

脸部画像正面化

 

前文中,面部画面检查出后用 dlib,这次我们要进一步提取检查出的面部画面特征,把眼睛和嘴巴的位置正面化后进行仿射变换。因为已经安装了 openface 或 facenet,基本上可以按照原样使用。

 

  • facenet/blob/master/src/align_dlib.py
  • openface/util/align-dlib.py

 

构造模型

 

因为处于学习的数据组比较少的阶段,虽然不能调整全部的模型和超参数,可以先如下所示使用模型。

 

 

相似度计算

 

这次的模型中,在最后一步之前需要提取出全连接层的特征矢量,根据各女优提取出的特征矢量与 cos 相似度计算出画面的相似度。

 

 

 

最后宣传一下,本文中所述的已安装类似面部画像检索功能的网站已经做好了,欢迎欣赏。

 

Babelink - あなた好みのAVを検索(搜索你喜好的安慰)

 

※因为是成♂人网站,麻烦各位浏览的时候请做到心里有b数。

 

(注:我并没有要推广那种网站的意思,主要是为了尊重原文。)

 

 

你可能还会对以下内容感兴趣:

 

 

 

官方微博:@景略集智

微信公众号:jizhi-im

集智QQ群:557373801

商务合作:chenyang@jizhi.im

投稿转载:kexiyang@jizhi.im

posted @ 2019-06-28 12:48  luckc#  阅读(20518)  评论(0)    收藏  举报