4
4

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 3 years have passed since last update.

アニメ画像の昼/夜認識システムの作成:(1/3)「Create ML」を用いた機械学習モデルを作成

Last updated at Posted at 2020-05-14

本シリーズの記事一覧:

意図:

  1. Mac OSの壁紙として、時刻に合わせてさまざまなアニメ画像を設定するアプリの開発。

  2. 機械学習を使用して、アニメ画像に自動的に昼または夜としてのマーク付けを行う。

アニメ画像から昼夜の状態を認識する必要があるため、機械学習を取り入れます。

このアプリは、例えば日中には昼の場面のさまざまなアニメ画像を壁紙として設定します。そして夜間には、夜の場面のさまざまなアニメ画像を壁紙に設定します。

こちらは、「Create ML」を用いて機械学習モデルを作成する方法を解説する記事の第1部となります。

早速始めましょう!

機械学習モデルのトレーニング

まずは機械学習モデルのトレーニングと機械学習モデルファイルの取得に取り掛かりましょう。

「Create ML」ツールを開く

「Xcode」に搭載されている「Create ML」は、「iOS」、「iPadOS」、および「Mac OS」で使える機械学習モデル(拡張子.mlmodelのファイル)の生成に利用できる便利なツールで、「Xcode」内にインストールされています。

開くには、画面上部のシステムバーにある「Xcode」をクリックします。

Screen Shot 2020-05-12 at 11.02.25 PM.png

そして、表示されたメニューから、「Open Developer Tool(開発者ツールを開く)」を選択し、「Create ML」をクリックして開きます

Screen Shot 2020-05-12 at 11.04.58 PM.png

開いた「Create ML」ツールの画面上部のシステムバーにある「File(ファイル)」をクリックし、その後「New Project(新規プロジェクト)」をクリックします

Screen Shot 2020-05-12 at 11.05.55 PM.png

「Image Classifier(画像分類システム)」を選択します。画像を入力するとその画像のラベルを出力するモデルをトレーニングするということです。

スクリーンショット 2020-05-12 午後11.30.27.png

次に、情報を入力して「Next(次)」をクリックします

「Create(作成)」をクリックしてモデルを作成します。

画像の収集

ここでは、プログラムに任意のアニメ画像の時間帯が昼か夜かを予測させることを目指しています。この機械学習モデルをトレーニングするには、2グループの画像、つまり昼の時間帯の画像と暗い(夜の)時間帯の画像を見つける必要があります。

そこで、「アニメ」という名前のフォルダーを作ります。そして、「アニメ」の中に2つのフォルダーを作り、名前は「昼」と「夜」にします。「アニメ」フォルダーの中にはそのほかには何も入れないでください。インターネットから何枚かアニメ画像を取得し、時間帯を判断して「昼」フォルダーか「夜」フォルダーにドラッグします。

スクリーンショット 2020-05-13 午後3.50.33.png

用意する画像数が多ければ多いほど、モデルはより正確になります。

モデルのトレーニングの開始

次に、「Create ML」アプリに切り替えて、「Training Data(トレーニングデータ)」セクションを見つけ、「Choose(選択)」ドロップダウンメニューをクリックして「Select Files(ファイルを選択)」をクリックします

スクリーンショット 2020-05-13 午後3.52.17.png

先ほど作成したフォルダーを選択して「Open(開く)」をクリックします

スクリーンショット 2020-05-13 午後3.58.13.png

すると、黄色の矢印で、「Classes(クラス)」の総数、つまりカテゴリー数が指し示されて表示されます。青の矢印で用意した画像の総数が指し示されて表示されます。

「Augmentations(拡張)」の設定

スクリーンショット 2020-05-13 午後4.07.36.png

実行ボタンをクリックしてトレーニングを開始します:

スクリーンショット 2020-05-13 午後4.05.30.png

処理中

お茶でも楽しみながらトレーニングの完了を待ちます。

スクリーンショット 2020-05-13 午後4.06.24.png

トレーニング完了

スクリーンショット 2020-05-13 午後4.07.08.png

テスト用画像を何枚か用意してモデルをテストします

モデルのトレーニングが完了したので、どれほど正確なモデルになったかをテストしましょう。Testing(テスト)セクションに切り替えましょう。

スクリーンショット 2020-05-13 午後4.22.19.png

次に、もう1つフォルダーを作り、名前を「Testing(テスト)」にします。その中に2つのフォルダーを作り、名前を「Day(昼)」と「Night(夜)」にします。新たにいくつかアニメの画像を取得して、それぞれのフォルダーに分類して保存します。

先ほどと同じように、「Choose(選択)」、「Select Files(ファイルを選択)」をクリックします。そしてこのフォルダーを選択します。

「Test Model(モデルをテスト)」をクリックします

スクリーンショット 2020-05-13 午後4.26.32.png

この例では正確性は100%となりました!素晴らしい結果です!

スクリーンショット 2020-05-13 午後4.27.57.png

お手元では正確性が低くても、心配することはありません。画像をさらに追加して再度トレーニングを開始してください。

直接テスト

画像をドラッグ・ドロップするだけでテストすることもできます。

「Output(出力)」をクリックし、左のパネルに画像をドラッグするだけで結果を確かめられます。

スクリーンショット 2020-05-14 午後3.54.21.png

モデルの書き出し

「Output(出力)」にあるモデルファイルを見つけ、フォルダーにドラッグするだけです。

スクリーンショット 2020-05-13 午後4.34.12.png

次の記事の内容

次の記事では、このモデルをコードから呼び出すことで、どのようにアニメ画像の時間帯の昼/夜の認識ができるかを解説します。


:relaxed: Twitter @MszPro

:sunny: 私の公開されているQiita記事のリストをカテゴリー別にご覧いただけます。

4
4
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
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?