0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SKJvillageの顔を認識しメンバーを判定するAI(未経験者向け)

Last updated at Posted at 2023-05-01

1.はじめに

 今回は、前回の記事で切り抜いたSKJvillageの顔についてをAIに学習させ、SKJvillageのスクリーンショット内の顔を認識後、どのメンバーであるかの判定を行いました!
 先日SKJファンの皆さんに、自分の研究分野の用語の認知度についてのアンケートをTwitterで実施したところ、ほとんどの人が知らない感じだったので、本記事ではファン向けに極力専門的な内容を省こうと思います。ですが、「自分の研究内容が広く知れ渡って欲しい」っていう願いもあるので、多少は含めます。(いきなり矛盾してて草わ~ら)

2.SKJvillageとは?

 SKJvillageは、3人組のゲーム実況系YouTubeチャンネル。高校時代の親友で「早稲田・慶應・上智」大学にそれぞれ進学し、大手企業を退職後、2018年に3人でYoutube活動開始。
(https://www.youtube.com/@SKJVillage/about より参考)

3.今回の内容をもう少し詳しく

 今回は上記のように、SKJvillageのスクリーンショット内の顔を認識後、どのメンバーであるかの判定するAIの学習を行いました。

前回の内容

 今回の学習では、前回作成したSKJメンバーの顔を切り抜いた画像を用います。以下のようにメンバーの顔を切り抜きました。切り抜いたものを自力でメンバーごとにカテゴリ分けして今回の学習に使用しました。
image.png
↓前回の記事

今回の学習方法について

 ここで、今回のAIの学習について触れていきます。やることは以下の2つです。

①スクリーンショットから顔を認識

 過去の記事と同様に、既存の分類器を用いてSKJvillageのスクリーンショットから顔を認識します。

↓顔の認識に関する記事

②認識した顔に対してメンバーを判定、そのためのAI学習(今回のメイン!)

 認識した顔がSKJvillageのメンバーの誰なのかを判定します。選択肢はサイカツ、sa2、シンカの3人です。この判定を行うために、AIに事前にサイカツ、sa2、シンカの顔について学習させる必要があります。イメージ図を下の図に乗せています。AIに各メンバーの顔を1枚ずつ学習させます。このときにAIが学習して得た知識を使って実際に判定を行います。
SKJ資料図.png

補足

 ここで、学習についてをもう少し伝えるついでに、下のグラフについての説明を行います。
seido.png
 「なんやねん!このグラフ!!」
ってなりますよね(笑)ちゃんと説明します。

 グラフの横軸はエポック数と呼ばれる、学習の回数です。アンケートで出てきたワードですね。今回扱っている機械学習の方法では、1回だけでなく複数回同じデータを学習させます。学生のときも1回だけの勉強じゃなくて何回も復習とかするでしょ?(ちなみに自分はしてませんよ^^)

 グラフの縦軸は精度(正答率)です。どのメンバーなのかをどのくらい正解できているかを示す値です。

 2本の折れ線グラフがありますが、青が教師データでの精度、オレンジは検証データでの精度を示しています。ここでまた謎のワードが出てきましたね。教師データは、AIの学習に使うデータです。教科書みたいなものです検証データは、学習した後に実際に性能を評価するために使うデータです。小テストみたいなものです。今回のAIの学習では、「教科書で勉強→小テスト」の1セットを何回も繰り返しているというようなことを行っています。

 ここまでの内容をまとめると、AIに対して「勉強・小テスト」を行うことで徐々にAIを成長させよう、ということを行っています。

4.結果

 ここでは、メンバーの顔の精度(正答率)と実際に判定を行った結果を示します。

メンバーの顔の学習の様子

seido.png
 結果を見ると、青線の教師データ(教科書)での精度(正答率)は1.0に近いことが分かります。教科書のほぼすべての内容を学べていることが分かります。これに対してオレンジの検証データ(小テスト)での精度(正答率)は0.9以上であることが分かります。90点以上取れてることになります。優秀やな(笑)

実際のメンバーの判定

 1つ目の例です。サイカツの顔には赤枠の下にsaikatsuとかかれ、sa2の顔には赤枠の下にsa2と書かれていますが、シンカの顔にはsa2と書かれています。
kekka.png

 もう1つの例では、すべての赤枠の下にsa2と書かれています。メンバーの区別がついていないようです。
kekka2.png

 学習の精度は良かったのに、学習を成果を実際のメンバー判定に活かせてない感じです。。。

5.まとめ

 今回は、メンバーの判定まで試みましたが、性能が全然でした。。。今後もいろいろ調査して取り組んでいきたいです!
 本記事は未経験者向けの記事であるため、内容をかなり省略しています。この記事を機に、AIや機械学習に興味を持っていただければと嬉しいです!最後までご閲覧いただきありがとうございました!

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?