AWS rekognitionは牛と人間の境界をどこで判定するか

## どこから牛でどこから人間か

AWSのサービス"rekognition"を使って人間と牛の境界を探っていきます。


使った画像はこちら。
<img src="https://qiita-image-store.s3.amazonaws.com/0/117147/0a3b3973-108a-3641-f00f-bc5c0f153cfd.jpeg" width="400px">

人間はこの画像をすぐになんだかわかりますよね。
牛のかぶりものをした人間です。
では、AIはこれをどのように判定するのでしょうか？気になりませんか？

実行結果はこちら
https://qiita.com/umeee/items/98146b250df94bdc95a6#rekognition%E5%AE%9F%E8%A1%8C

なんと人間だと判定したのです！

たしかにこれ、半分が人間で半分が牛というような画像。
顔以外を見て人間だと判定してもおかしくないかもしれませんね。

それでは、画像をどんどん下から切り詰めていくと、どこで牛という判定がでるのでしょうか？

こういう経緯で牛と人間との境界を探してみることにしました。
※今回はrekognitionの結果をみていくだけで技術的な話はありません。

## さっそくためしてみる

さっそく試していきます。
実施方式は以下の画像を起点にして、どんどん下部を切り取っていき・・・

<img src="https://qiita-image-store.s3.amazonaws.com/0/117147/0a3b3973-108a-3641-f00f-bc5c0f153cfd.jpeg" width="400px">

最終的にはこの画像（ほぼ牛）になるまで結果をみていくだけです。

<img src="https://qiita-image-store.s3.amazonaws.com/0/117147/508c3bbd-0b2f-3804-bf9b-c8f35efc7e7a.jpeg" width="400px">

さて、いったいどこのタイミングで人間から牛に判定が変わると思いますか？
想像してみてください。

想像したら結果を見ていきましょう！


## 実施した結果

さて、まずは1枚目から見ていきましょう！

![スクリーンショット 2018-10-20 18.48.17.png](https://qiita-image-store.s3.amazonaws.com/0/117147/d19941f2-41f6-5e50-8291-3b57d093e73f.png)

Human,People,Personが99%です。
ほぼ人間ということですね。ここがスタートです。

![スクリーンショット 2018-10-20 19.26.37.png](https://qiita-image-store.s3.amazonaws.com/0/117147/4f199a99-414e-f899-acab-caef85f74d67.png)

すこし下部を削りました。
結果はほぼ変わってないですね。

![スクリーンショット 2018-10-20 19.26.53.png](https://qiita-image-store.s3.amazonaws.com/0/117147/8c397a53-6b6f-1e3a-b1a1-2cb2986e0b55.png)

ここでもHuman,People,Personが上位を占めています。
でも待って！
Animal：92.5%が入ってきていますね！
すこし動物要素を感じているようです。

![スクリーンショット 2018-10-20 19.27.12.png](https://qiita-image-store.s3.amazonaws.com/0/117147/0bc65db0-1621-e659-9f03-c0c70ecba66d.png)

もう少し下部を切り詰めてみましょう。
Animal要素はすこし減りましたが、CattleやCowといった牛の要素が上がってきました。

![スクリーンショット 2018-10-20 19.27.25.png](https://qiita-image-store.s3.amazonaws.com/0/117147/02791a11-06ae-16b3-bbfa-56884700a2d8.png)

Animal,Cattle,Cowの要素がなぜかすこし下がります。謎。

![スクリーンショット 2018-10-20 19.27.52.png](https://qiita-image-store.s3.amazonaws.com/0/117147/0ba3247a-e5e7-2b42-7802-4c28d614f8f1.png)

ここからすこしずつ上がり・・・

![スクリーンショット 2018-10-20 19.28.04.png](https://qiita-image-store.s3.amazonaws.com/0/117147/fb40b4e6-8e17-ca05-ecf3-4011de17fc7f.png)

ここで人間と牛が逆転します！

さっきの絵と見比べて見てください。
違いは右肘が少しうつっているかどうかです。
ここからはもう牛になります。

![スクリーンショット 2018-10-20 19.28.19.png](https://qiita-image-store.s3.amazonaws.com/0/117147/e2dfd514-b8fd-d318-9ede-3f091634b6dd.png)

![スクリーンショット 2018-10-20 19.28.33.png](https://qiita-image-store.s3.amazonaws.com/0/117147/5e08352f-98db-9d6b-cb65-2bd6ad778f69.png)

![スクリーンショット 2018-10-20 19.28.42.png](https://qiita-image-store.s3.amazonaws.com/0/117147/7195c6d4-3ef8-505b-508e-433cd6727703.png)

![スクリーンショット 2018-10-20 19.28.52.png](https://qiita-image-store.s3.amazonaws.com/0/117147/4fc90666-f099-3f72-f17d-127623fb1503.png)

画像によっては若干の変化がありますが、ほぼ牛と判定されています。


## 牛と人間の境界は・・・

結果です。

こちらが人間

![スクリーンショット 2018-10-20 19.27.52.png](https://qiita-image-store.s3.amazonaws.com/0/117147/0ba3247a-e5e7-2b42-7802-4c28d614f8f1.png)

こちらが牛

![スクリーンショット 2018-10-20 19.28.04.png](https://qiita-image-store.s3.amazonaws.com/0/117147/fb40b4e6-8e17-ca05-ecf3-4011de17fc7f.png)


私たちの目で見るとほぼ同じに見えるのに、AWS rekognitionでは大きな違いと受け取っているのです！
不思議ですよね。

肘が見えるかどうかの微妙な違いです。
また、左腕は写っているにも関わらず牛と判定されるのも不思議ですよね。

## まとめ

牛と人間の境界を探ってみました。
思いもしないところで判定が動きましたね！

人間には理解できないようなポイントを元にして機械学習プログラムは対象の判定をしているようです。
「私たちがみるとこうだから」という、いわゆる「人間の常識」はこの世界ではまったく通用しないことを肝に命じておく必要がありそうですね。