【検証】お手製てるてる坊主の顔をAIは認識できるのか?
こんにちは!株式会社ヒューマノーム研究所でインターンをしている井上と申します。
まだまだ暑い日が続いていますね。私は梅雨や台風の時期になると、幼稚園生の頃、遠足のためにみんなで「てるてる坊主」を作っていたものの、毎年雨天延期になったことを思い出します。そこで本稿では、この原因が梅雨や台風によるものではなく、私たちが当時作成していた「てるてる坊主」の顔が下手すぎて「てるてる坊主」として機能していなかった可能性をAIで検討していこうと思います。
この記事では、検証用のAIをノーコード物体検知AI構築ツールである「Humanome Eyes (以下Eyes)」を用いて開発します!
Eyesは、無料で大部分の機能が利用できます。まだ使ったことないよ?という方はぜひお試しください!
まえおき
本稿では、人が作ったてるてる坊主を見た時に、神様が「ただのティッシュだな。」ではなく「てるてる坊主だな。よし晴れにしてやろう」と思うには、「誰から見てもてるてる坊主と認識されること」がポイント!という前提で話を進めます。
神様に確認することは難しいので、今回は「てるてる坊主認識AI」を作成し検知させてみましょう。
画像の中の「てるてる坊主」が認識可能か?を教えてくれるAIを開発することが目的となりますが、AIが物体を検知できるようになるには正解となる画像を学習する必要があります。
物体検知については、以下の記事を参照ください。
1. 画像の準備
それでは早速、てるてる坊主とはどんなものかをAIに学習させていこうと思います。
世間で認識されているてるてる坊主を認識させるため、今回はGoogle検索画像とAdobe Stockから学習させる画像を準備しました。著作権の関係で収集した画像をこちらで再配布することはできませんが、顔が書いてあり、かつイラストではないてるてる坊主の画像を集めています。
2. アノテーション
Eyesへログイン後、タスク一覧画面からタスクの作成をクリックします。画面が切り替わったら、図1.のような操作をします。
アップロード完了の通知を確認したら準備完了です!タスク一覧から「てるてる判定」を選択し、タスク詳細画面に移りましょう。
次はアノテーションを行います。アノテーションは物体検知AIに「てるてる坊主」を認識させる作業です。画像の中の物体を四角く囲み、ラベリングしていきます(図2)。
選択すると以下のような画面(図3)に切り替わります。
中央の画像エリアのすぐ左に並ぶアイコンメニューから四角いアイコンをタップし、ポップアップしたメニューから「Shape」をタップすることでアノテーションができるようになります。パソコンをお使いの場合は、キーボードの「n」キーを押すことでも、画像範囲を選択できます。
画像のラベリングが終わったら、画面上の矢印を押して次の画像のラベリングを行っていきます。全てが終わったら、図5.の手順でアノテーションを保存します。
3. 学習
アノテーションが終わったらいよいよ学習させていきます。
今回の学習データではデフォルトの設定ではなく、AIの精度を上げるため学習回数900、学習率を0.00005に変更して学習させます(図6)。
変更が終わり次第、開始を押してください。長時間かかるとの表示が出ますが、構わず続行してください。
学習が完了したことを確認してタップすると、モデル詳細画面に移動します。モデル詳細画面では、モデルの精度に関する3つの指標(上からTotal Loss、Precision、Recall)がグラフに示されています(図7)。
Total Loss、Precision、Recallが何をさしているかは、別記事でも詳しく紹介されていますが、本記事でも軽く説明します。
まずTotal Lossは、予測されたものと正解のズレを指します。つまり0に近づくほど良い値となります!
今回は、学習回数が500回あたりからグラフが収束しました。これ以上は値が下がらなそうに見えます(図8)。
次に、PrecisionとRecallです。どちらも、AIの正答率を表します。1に近いほど精度が良く、0に近いほど精度が悪いと言えます。
今回はどちらも0.78ほどの値になりました(図9)。
ではこれらが実際、どのように予測されているのか学習したデータを例にしてみてみましょう。グラフから下に移動すると、予測結果例を確認することができます(図10)。
今回は「teruteru」だと認識させたもの(すなわち正答率100%)が、どちらの画像も98−99%「teruteru」であると認識されているため、精度の高いAIであるということが言えます。
4. いざ実践!
では、作成したAIを使って、お手製てるてる坊主が認識されるかを試していきます。本稿を執筆するにあたり、友人らとヒューマノーム研究所の社員さんに「てるてる坊主」を作成してもらったので、今回はそちらの画像を使ってテストしたいと思います!
最初に、今回利用する学習モデルの状態が「完了」になっているのを確認し、選択します。すると下記画像のようにオブジェクト検出テストが表示されます(図11)。
では、いざ実戦。
(突然)それではただいまをもちまして、「もっともてるてる度が高い奴は誰だ!? No.1 teruteru決定戦」を開催致します!
早速、選手を紹介していきましょう。
以上5てるてるでお届けします!
果たして、結果は…
ということで、優勝は「エントリーNo.2 あざと可愛い💗 顎のせてるてる」でした!
インタビュアー:優勝おめでとうございます!
teruteru:ありがとうございます。
インタビュアー:今回の勝因はなんだったでしょうか?
teruteru:そうですね…やはり私の可愛さですかね笑
まあそれは冗談として、No.1 がオブジェクト検出すらされなかったところを見ると、まずは私のスタイルがスリム(縦長)だったことがあると思います。歴代のteruteru(学習に使用した画像)もみんな、比較的スリムですからね。また私の美白具合も No.3 に比べると磨きがかかっていたように思います。検出された枠も1つだったところから、疑う余地のないteruteruになれていたのかなと思いました。
とは言っても今回はたまたま学習されていた、てるてる坊主に近かっただけだと思うので、今後もいろんなteruteru大会で優勝できるように精進していきます!
インタビュアー:なるほど…貴重なお話ありがとうございました🙇♀️
あとがき
途中から筆者も楽しくなって、ついteruteru決定戦まで開催してしまいました笑
今回teruteruと認識されるために大事だった要素は、
吊るされているような状態に近い縦長の容姿であること
白い布やティッシュであること
顔がシンプルであること
だったように思います。学習する画像の共通点を、AIが見つけてくれた気がします。
これは学習させたてるてる画像にもよるとは思うのですが、幼稚園生の頃の筆者はとにかくいろんな色で顔を塗りたくっていたことを思い出すと、てるてると認識されていなかった説が高いなと今更ながら思いました笑
ここまでお読み頂きありがとうございます🙇♀️
データ解析・AI構築の初学者向け自習テキスト
表データを利用したAI学習テキスト(Humanome CatData)
画像・動画を利用したAI学習テキスト(Humanome Eyes)
AI・DX・データサイエンスについてのご質問・共同研究等についてはお気軽にお問い合わせ下さい!