荔枝的博客

whatanime.ga:根据截图搜动画的黑科技

Life is too short to answer all the “What is the anime?” questions. Let computers do that for you.

搜图需求

在网上动漫相关的日经问题莫过于「求问这是什么动画,在线等」。

确实,平时逛论坛或者聊天的时候经常能看到别人发的各种动画截图,这时候我们如果对截图的动画感兴趣的话,就会想要找出动画片的名字。

常用方法

一般情况下最常用的方法就是 Google 的以图搜图功能,如果使用 Chrome 浏览器的话直接在图片上右击选择「通过Google搜索图片」就可以很方便的快速搜到结果。

如果 Google 图片搜索不能找到满意的结果的话,这里有一个专门搜索动漫同人、游戏 CG 图片的网站 SauceNAO,搜索效果比 Google 图片搜索要好一点。还有一个整合了各大动漫同人图站的图片搜索引擎 Iqdb

新的黑科技

Telegram Bot

上周在 Telegram 上发现了一个好玩的 Bot:@WhatAnimeBot,顾名思义就是你给这个机器人发一张动画片的截图,它就会回复这部动画片的中英日文名字,如果只有这点功能的话并不新鲜,但是令我感到惊喜的是它竟然还能精确识别截图的集数以及准确时间,简直就是如同黑科技一般的存在啊😱:

sp160920_212656.png

网页版

whatanime.ga 既是这个图片搜索引擎的名字,同时也是它的网页版网址。网页版有更完整的功能,由三部分组成:左上角是提交截图和播放动画片片段的区域,你可以选择拖放、Ctrl + V 和输入图片网址三种方法提交截图之后点击搜索,网站默认会搜索到相似的视频帧并按照匹配度从高到低的顺序在右边排列:

sp160920_223543.png

如图,你可以根据自己的需要勾选安全过滤自动播放(默认选中)等选项。更棒的是,在匹配到结果之后,网站还会播放一小段包含这张截图的视频,同时还会调用 anilist.co 的数据,在下方显示这部动画的评分、摘要、staff、角色等详细信息。

你可以使用 https://whatanime.ga/?url= 后面加上图片 url 的方式分享搜索结果。

值得一提的是,详细信息里的动画中文名都是作者自行翻译的。

浏览器扩展

这个工具还有 ChromeFirefoxOpera 的扩展,安装扩展之后可以更方便地在浏览器中右键搜索截图。

你还可以使用 Image Search Options 这个浏览器扩展,它默认内置 SauceNAO, Iqdb, TinEye 和 Google 图片搜索引擎,在设置里添加 https://whatanime.ga/?url= 字段即可加入使用 whatanime.ga 搜索的选项。

搜索效果

这个搜索引擎收录了 1990 年之后的 大约 2400 部,15600 小时的正式发行的(日本)动画(包括一小部分工口动画🌚),视频文件大小达 8.4 TB。经过一台双核 i7 处理器的机器两个月的分析之后,一共有 4 亿 1400 万帧画面😱,而且每天都在更新中😂,基本上常见的动画都可以找得到。

但是经过网友测试,此搜索引擎对截图尺寸和质量要求比较高,不支持以下类型:

  1. 有额外添加的黑边
  2. 裁切过的不完整截图
  3. 左右翻转的
  4. 经过滤镜处理的
  5. 加了文字的表情包😅
  6. 1990s 之前的动画
  7. 非正式发行的动画,即同人插图等
  8. 非日本动画
  9. 画面过暗的
  10. 分辨率过低的(须大于 320x180)

实现原理

关于搜索引擎对截图的要求,这应该跟它使用的算法有关,该项目图片搜索的核心算法基于 LIREColor layout 的实现,并对搜寻速度进行了进一步的优化。原理大概是将截图划分为 8 x 8 的区块,计算每一块的颜色平均值,然后把颜色分布进行 DCT 变换量化为特征值再去匹配搜索,对动画则是逐帧扫描,滤掉相近的帧并进行存储。

开发进度

这个网站是香港开发者 soruly 的个人开源项目,从 2015 年底上线 Beta 版本,相继添加了浏览器插件、Telegram Bot 以及一些其他的小功能,作者表示目前优化算法之余正在开发 API,希望 API 开放以后能够有微信公众号版本,那样的话会变得更加方便,而且用户量和知名度一定也会有所上升。

根据作者的计划显示,接下来从十月新番开始会加入无字幕视频(目前视频资源主要来自国内字幕组), 更新速度更接近日本电视台放映时间, 另外也可能会加入 PV 支持,API 则会在年底完成。还可能会加入注册账户功能。

目前网站使用的是 Freenom.ga 免费域名,年底可能会换用新的域名,新域名还未确定。

另外目前服务器空间有限,如果要支持多种算法的索引「大概要到待明年有錢買新的伺服器 T_T」🙄。

其他动漫开源项目

除了文章开头提到的 SauceNAO 和 Iqdb 之外,作者还在 awesome-acg 这个项目里收集了其他各种动漫相关的开源项目。

其中自然包括又一个神器 waifu2x (其实我只认识这一个)。

waifu2x是采用最新锐的人工智能技术“Deep Convolutional Neural Networks”开发的网络服务。
名字来源于海外的动画粉丝们将喜欢的角色称作“waifu(即‘我老婆’)”。
把缩小的锯齿状图传到 waifu2x 的话,“现在给你的图是某张图缩小一半的图。求缩小前的图哦”,人工智能就会将噪点和锯齿的部分进行补充,生成新的图,同时还可以去除噪点。

这是 waifu2x 的在线版本:waifu2x

更多对 waifu2x 的介绍参考:

waifu2x(二次元降噪放大神器)简明安装说明
waifu2x(还是那个图片放大软件)
二次元图片 拉伸&降噪 神器——waifu2x 算法

也欢迎大家踊跃提交列表中未收录的项目。

相关信息

从 Telegram Bot 发布到本文发表短短一周时间,whatanime.ga 在 Github 增加到了 156 个 Star,并且曾在 2016 年 9 月 15 日位列 GitHub PHP Trending 第一位。作为一个非盈利开源项目,目前网站所有开支都由作者一人承担,大家如果觉得好用不妨去点个 Star 支持作者😛。

说到用户量,Telegram Bot 上线之后有人在国内著名死宅聚集地 Stage1st 动漫论坛发帖推荐了 whatanime ,短时间内用户量突然增多,导致服务器「每五分钟过载一次」,作者不得不限制每个 IP 每小时只能搜索 3 次,之后需要手动验证,后来干脆每 5 分钟重启一次服务😂。前几天资料库换用了新的 SSD,对于下一次用户量冲击「想試試效果如何」。

同样是在 s1 论坛,关于「如何关闭 Google 安全搜索功能」还曾经进行过一次深♂入探讨,而事情的起因竟然只是一个屁股😂:一個屁股引發的Google搜索技術討論及解決