宇崎ちゃんは本当に"過度に性的"なのか？

# "性的である"とは？

ことの発端はとあるツイートでした．

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">I admire the work the Red Cross does, which is why I’m disappointed that <a href="https://twitter.com/JRCS_PR?ref_src=twsrc%5Etfw">@JRCS_PR</a> in Japan would run a campaign using the over-sexualized Uzaki-chan. There’s a time &amp; a place for this stuff. This isn’t it. <a href="https://twitter.com/hashtag/women?src=hash&amp;ref_src=twsrc%5Etfw">#women</a> <a href="https://twitter.com/hashtag/metoo?src=hash&amp;ref_src=twsrc%5Etfw">#metoo</a> <a href="https://twitter.com/hashtag/kutoo?src=hash&amp;ref_src=twsrc%5Etfw">#kutoo</a> <a href="https://t.co/bhds7IPPTq">pic.twitter.com/bhds7IPPTq</a></p>&mdash; Unseen Japan @ 超スプーキー (@UnseenJapanSite) <a href="https://twitter.com/UnseenJapanSite/status/1183682038173450240?ref_src=twsrc%5Etfw">October 14, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


日本赤十字のポスターに「宇崎ちゃんは遊びたい！」というマンガのキャラクターが採用されました．そのポスターの絵柄が**"過度に性的である"**という批判でした．
これにはメディアも反応し以下のような記事が出たりしています．

- [日赤「宇崎ちゃん」献血PRポスターは"過度に性的”か　騒動に火をつけた米国人男性に聞いてみた](https://bunshun.jp/articles/-/14871)

また，Togetterにも多くのまとめが作られています．

 - [「宇崎ちゃん」献血ポスター問題、問題は『表情』にあるのだという議論も](https://togetter.com/li/1418807)
 - [宇崎ちゃん献血コラボポスターはどれくらい目立つから環境型セクハラと言われるに至ったのか](https://togetter.com/li/1419197)
 - [『「宇崎ちゃんは遊びたい」の献血PRポスターはセクハラ』との批判と、それに関する議論](https://togetter.com/li/1417228)

各種議論が巻き起こっている中で，おそらく焦点となるのが，

**宇崎ちゃんのポスターは性的なのか否か？**

という問題です．これを男女中立的に議論するのは難しく，これを人間が公平に判断するのは至難の業だと思います．男性女性どちらの意見にしても偏りがある恐れがあります．それではどうすればよいのか？

**機械学習で判別した場合，宇崎ちゃんのポスターは性的だと判定されるのか？**

は，１つ視点としてありなのではないか．と考えました．
というわけで，ネットに公開されている機械学習のモデルを使い，性的かどうかの判定を行ってみました．


# open_nsfw

画像が性的かどうかを判定するモデル．そんなニッチな機械学習のモデルが公開されているのか？疑問に思われるかもしれませんが，実際にあります．

https://github.com/yahoo/open_nsfw

米国Yahoo.Inc社が公開しているopen_nsfwというCaffeモデルです．
NSFW(Not Suitable For Work)とは

>《be ～》〔ウェブページなどが〕職場で開くとまずい◆リンクの注意書き。音が出たり不適切な写真がある場合など。◆【略】NSFW

引用：https://eow.alc.co.jp/search?q=not+suitable+for+work

ということで，ポルノや暴力表現など"不適切である"という意味がNSFWとなっています．そのような画像を判定するモデルが公開されています．今回は，このモデルを用いて，宇崎ちゃんのポスターは不適切画像であるか？判定してみようと思います．


# 環境構築

個人でリポジトリをフォークしました．

https://github.com/kotauchisunsun/open_nsfw

使い方としては，

```shell-session
$ git clone https://github.com/kotauchisunsun/open_nsfw
$ cd open_nsfw
$ sudo docker build -t caffe:cpu .
$ sudo docker run --volume=$(pwd):/workspace -it caffe:cpu bash 
# Docker内
$ python ./classify_nsfw.py \
    --model_def nsfw_model/deploy.prototxt \
    --pretrained_model nsfw_model/resnet_50_1by2_nsfw.caffemodel uzaki.jpg
```

となっています．公式のマニュアルだと動きません．Dockerfileに細工を入れています．

https://github.com/kotauchisunsun/open_nsfw/blob/master/Dockerfile

open_nsfw作られた時代がCaffeがPython2系で動いていた時期のようです．それが，時間が経ってCaffeがPython3で動くようになりました．そのあと，open_nsfwが保守されず，Python3系に対応されなかったようです．そして，Caffeを動かすDockerイメージはPython3系がベースになったため，open_nsfwと整合性が取れなくなり，動かなくなっています．
その辺を無理やりバージョン固定したり，numpyのバージョンやprotobuffのバージョンを動くものに変えたり調整しています．


# 実証実験

今回，検証した画像は6つ．
1つ目．
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/0674f22d-291b-d536-7c6e-e97b6a5cf311.png)
引用元：[献血PRに「胸強調」女性キャラで疑問の声も　日赤「セクハラという認識は持っておりません」
](https://news.nifty.com/article/domestic/society/12144-437836/)

議論になった宇崎ちゃんの画像です．

2つ目．
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/3b99cad6-f474-00fb-80da-2623688f8db3.png)
引用元：[駅乃みちか](https://tetsudou-musume.net/contents/chara/chara.php?cid=E04)

これも以前に議論になった「駅乃みちか」の画像です．
[「駅乃みちか (鉄道むすめVer.)」(東京メトロ＋トミーテック)炎上問題／まとめのまとめ](https://togetter.com/li/1106433)


3つ目．
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/f3f9a09c-c989-406d-e3c9-1e9140247e04.png)
引用元：[批判受けた「のうりん！」と美濃加茂市コラボポスター、新デザインを掲出　「作品自体は適切なもの」と企画は続行](https://nlab.itmedia.co.jp/nl/articles/1512/08/news106.html#l_kuro_151208nourin01.jpg)

これも議論になった，「のうりん」の「良田胡蝶」の画像です．


4つ目．
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/53812d9b-03cd-5f65-c378-ec56a74137f7.png)
引用元：[「ありがとう」と言っている人のイラスト](https://www.irasutoya.com/2015/03/blog-post_789.html)


5つ目．
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/63dfc158-5b65-af9e-5b32-e4d06cfa677d.png)
引用元：[歩く女性会社員のイラスト](https://www.irasutoya.com/2013/05/ol.html)


6つ目．
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/fea0d32c-ed97-6202-ad81-aff266dd7748.png)
引用元：[セーラー服を着た女子学生のイラスト（夏服・学生服）](https://www.irasutoya.com/2015/09/blog-post_852.html)


# 実験結果

|データセット| スコア |
|:---:|----:|
|宇崎ちゃん                  | 0.109|
|駅乃みちか (鉄道むすめVer.) | 0.002|
|良田胡蝶                    | 0.011|
|「ありがとう」のイラスト     |0.001|
|歩く女性会社員のイラスト     |0.008|
|セーラー服を着た女子学生のイラスト|0.001|


公式ドキュメントによると

> The network takes in an image and gives output a probability (score between 0-1) which can be used to filter not suitable for work images. Scores < 0.2 indicate that the image is likely to be safe with high probability. Scores > 0.8 indicate that the image is highly probable to be NSFW. Scores in middle range may be binned for different NSFW levels.

> ネットワークは画像を取り込み、出力に確率（0〜1のスコア）を与えます。この確率は、作業画像に適さないフィルタリングに使用できます。スコア<0.2は、画像が高い確率で安全である可能性が高いことを示します。スコア> 0.8は、画像がNSFWである可能性が高いことを示します。中間の範囲のスコアは、異なるNSFWレベルごとに分類されます。

文章通りですが，スコアが0.8より大きいと不適切である．スコアが0.2より小さいと安全である可能性が高い．とされています．以上の結果より，

**「宇崎ちゃん」「駅乃みちか (鉄道むすめVer.)」「良田胡蝶」の画像は安全である可能性が高く，不適切画像であるとはいえない．**

また，"不適切でない"いらすとやの画像も0.2未満のため，**"不適切でない"という判定はできている**ように考えられます．


# 追試験

今回行ったopen_nsfwによる実験は手法として問題のある部分があります．

> Defining NSFW material is subjective and the task of identifying these images is non-trivial. Moreover, what may be objectionable in one context can be suitable in another. For this reason, the model we describe below focuses only on one type of NSFW content: pornographic images. The identification of NSFW sketches, cartoons, text, images of graphic violence, or other types of unsuitable content is not addressed with this model.

> NSFWマテリアルの定義は主観的であり、これらの画像を識別するタスクは簡単ではありません。さらに、あるコンテキストで好ましくないものが別のコンテキストで適切になる可能性があります。このため、以下で説明するモデルは、NSFWコンテンツの1つのタイプ、つまりポルノ画像のみに焦点を当てています。**NSFWスケッチ、漫画、テキスト、暴力的な画像、または他の種類の不適切なコンテンツの識別は、このモデルでは対応していません。**

いわゆるマンガ，アニメ的表現は対応していない．と明言されています．そのため，open_nsfwで不適切でない．と判断されたならば，宇崎ちゃんの画像は不適切でない．というのは直接的には無理があります．「open_nsfwはマンガ的な画像をは全て"不適切でない"と判断するのではないか？」という疑念が生まれます．

では，18歳未満閲覧禁止のマンガの画像をopen_nsfwに読み込ませた場合，どのような挙動をするのでしょうか？
実験として，2019/10/22のFANZAアダルトコミックトップ5のマンガの表紙画像のスコアを計算しました．一部不適切な表現が入ってしまうため，作品はISBNで明記します．

|ISBN|スコア|
|:------:|-------:|
|4862696627| **0.998**|
|4910138351195| **0.996**|
|488774630X| 0.684|
|4861173299| 0.771|
|4866533358| **0.974**|

18歳未満閲覧禁止のマンガだからといって表紙が常に不適切であるか？というと100%の可能性とは言えませんが，概ねそうであると思います．そういった画像に対して，スコアが0.8を超える作品が3つありました．スコアが0.8超えると，不適切である可能性が高いので，この結果から，**open_nsfwはマンガ画像に対して適切・不適切の判定ができないわけではない．**というのが所感です．
そもそもアニメやマンガはデフォルメしてはいるものの，リアルの物体を模して描かれているわけです．そのため，機械学習のモデルが，マンガの画像であるから一切不適切であると判定しない．判定できない．とは考えにくいので，open_nsfwがマンガの不適切画像を判定できたとしても，それほど直感とは外れないです．


# まとめ

 - open_nsfwでは「宇崎ちゃん」は不適切画像と判定されなかった．
 - 同様に「駅乃みちか」「のうりん」の話題に上がった画像も不適切画像と判定されなかった．
 - 「いらすとや」の画像は不適切画像と判定されなかった．
 - open_nsfwは写真等のポルノ画像にしか対応していないと明記されていたが，マンガの不適切画像を不適切と判別する傾向がみられた．
 - open_nsfwでマンガ的な不適切画像を判定する能力があるかもしれない．
 - open_nsfwの判定した結果，「宇崎ちゃん」は"過度に性的である"とは言い難い．


# 倫理的問題を機械学習により判定する有用性と危険性

どのような画像が適切か，不適切か．これを客観的な事実を元に論理的に説明することは非常に難しい行為です．そのような問題に対し，一手段として，機械学習を用いる．という手段は有用性があるのではないか．と思います．
しかし，今回の不適切画像の判定に関しては"かなり難しい"問題があります．

**不適切な画像のデータセットを公開できない**

これに尽きます．実際に，open_nsfwのデータセットは公開されていません．いくら学術的なデータセットとはいえ，大量のポルノ画像を公開することは，一般的な企業としてのブランディングが損なわれる危険性があります．一方で，ではポルノ画像を扱う会社なら良いのか？というと，著作権などの権利関係の処理や，そもそも商材を無償公開してしまうことにリスクがあります．
また，なんらかの方法で公開したとします．そうすると何が起こるか？それは基本的には抜け道探しになります．顔認識のライブラリでありがちなのですが，データセットにアジア人が少ないという問題があります．そのため，私たち日本人のような顔は認識が甘いことがあります．おそらく，このようなデータセットも海外が先行して出すことになるのではないでしょうか．そうすると，アジア人のポルノ画像は検閲されない世界になるのかもしれません．そして，マンガ的なポルノ画像のデータセットが公開されたとしても，おそらく宇崎ちゃんと同じ問題が発生し，このデータセットはダメだ．オタク文化を検閲している．などといった議論になると思われます．
では，データセットを公開せず，open_nsfwという機械学習のモデルのみを公開する形がベストか？というとそういうわけではありません．倫理的な基準を非公開のまま，非公開なデータセットにより学習された機械学習モデルにより倫理観というものが左右される世界は望んだ世界でしょうか？おそらく，このような倫理観はオープンに議論されるべきではないでしょうか．では，オープンなプラットフォームで誰でも自分が不適切画像だと思うものをアップロードし，不適切画像判定のモデルだけがダウンロードされる世界はどうでしょうか？これもある種のテロが可能で，これからの世界では警備ロボットなども出てくると思います．そうすると，このようなデータセットを汚染することで，特定の人物の顔を猥褻物として認識させて，町中の警備ロボットから，常に猥褻物陳列罪で追われる世界．というのもないわけではありません．実際，MicrosoftがAIを公開したところ，ユーザーからの投稿により16時間で人種差別的なツイートをしてしまう事件がありました．([差別主義者と化したAIボット「Tay」からマイクロソフトが学んだこと](差別主義者と化したAIボット「Tay」からマイクロソフトが学んだこと))
画像に顔がある・ない．のように，ほぼほぼ多くの人に認識に齟齬がない，判断基準にずれがないものに関して，機械学習は有用な手段であるとおもいます．一方で，適切・不適切のような判断基準が人々にずれがあるものに関しては，そのデータセットの構築や，データの公開まで，かなりセンシティブな問題を抱えることになります．

# 感想

結局，倫理観や，適切・不適切とは何でしょうね．最近，思うこととしては，そろそろ倫理観というものもアップデートをする必要があるのだろうな．ということです．平成の30年というのは，ネットの歴史でした．それまでは，遠隔の地との知識の共有はかなり難しい時代でした．そのため，各地域でローカルな知識やノウハウというものが通用しました．が，これほどリアルタイムに24時間，全世界の多種多様な人間とコミュニケーションをとる時代になると，そういうローカルな知識や倫理観というものは"足かせ"になりつつあるんじゃないか．と感じることもあります．もともと，全世界において，倫理観の共通認識がある．自分が生まれてきた国や地域の倫理観は正しい．といった世界で僕らは生きていましたが，ネットによりコミュニケーションが活発になったことにより，地域による倫理観のずれが如実にあらわになったように思います．そのため，ある地域では適切であったものが，他の地域で不適切である．と言われるようになったのではないでしょうか．その意味で，今は端境期なのかもしれません．倫理観に関して共通認識がある．といった前提が崩れ，その差分が露わになってきた．さて，これからどうしよう．というフェーズです．ネット時代．ここまで世界の時空間が縮まった中での倫理観とは，いったい何なんでしょうか．