機械学習ツールlobeで画像判定 その2

  • このエントリーをはてなブックマークに追加

はじめに

Microsoft社から無料で公開されている機械学習ツール「lobe」を使用して犬と猿を識別してみます。前回1から3までを説明しましたので、今回はlobeで学習から記載します。

  1. 必要なもの(その1)
  2. Anaconda環境の作成(その1)
  3. 犬、猿データ収集(その1)
  4. lobeで学習
  5. 学習結果をテスト
  6. Exportした学習データをPythonでテスト

1.必要なもの~3.犬、猿データ収集については前回を参照ください。今回は4.lobeで学習から記載します。

 

4.lobeで学習

lobeは無料の機械学習ツールです。

 

Downloadボタンをクリックするとユーザー登録画面になりますので、名前・Email・国を記入してDownloadをクリックします。

 

ダウンロードしたlobe.exeをインストールし、lobeを起動します。

Untitledにタイトルを記入します。タイトルは[犬or猿チェック]にしました。

inuフォルダとsaruフォルダをデータセットとしてとうろくするの登録するので、[import]⇒[Dataset]を選択します。

[Choose Dataset]をクリックし、フォルダーの選択でsaruを選びます。

次に[Import」をクリックします。

猿の画像が50枚追加されました。

同様に[Import]⇒[Dataset]⇒[Choose Dataset]⇒[フォルダの選択でinuを選択]⇒[Import]の順で実行します。

猿の画像と犬の画像が50枚ずつ計100枚となります。

Trainingは自動で始まり終了すると、犬と猿の識別が実行できるようになります。

 

5.学習結果をテスト

テストに使用する画像を取得します。

VSCでpythonを実行しFlickrから画像を取得します。dl_from flickr.pyの

per_page = 50をper_page = 3に設定しターミナルでpythonを実行します。
画像は何でもいいですが、今回は日本猿にしました。

画像をダウンロードしたらlobeの[Play]⇒[Import]を実行し、testフォルダの日本猿を選択します。(真ん中のImportを選択する代わりに画像をドラッグ&ドロップできます)

実行するとsaruと判断されました。このデータを学習させたい場合は右下の緑の「✔」または赤い「Θ」を選択します。正しかった場合は「✔」、間違っていた場合は「Θ」を選択します。
 
 
 
 

入力データについて

入力データは3種類用意されています。Imagesを選択すると画像ファイルを直接指定できます。Cameraを選択すると、PCから撮影した画像をトレーニングデータとして使用することができます。
 
 

6.Exportした学習データを使用してテスト

作成したモデルをExportし、そのモデルを使用してテストを行います。
左上から[Export..]を選択します。
 
 
次に黄色のTensorFlowを選択します。
 
出力するフォルダを指定してExportを実行します。最適化を行ってからExportしたい場合は右側の[Optimize & Export]を選択します。
 
Exportが完了すると[Exporting Done]と表示されるので[OK]をクリックします。
 
 
犬or猿チェック TensorFlow というフォルダが作成されていれば成功です。
[犬or猿チェック TensorFlow]⇒[example]⇒[requirements.txt]を開くと、
以下が必要とあるので、Anacondaのlobe_env1にインストールします。
 
tensorflow==1.15.4
pillow==7.2.0
 
 

tensorflowとPillowのインストールが完了したら、Visual Studio Codeで[ファイル]⇒[新しいウィンドウ]で新しくウィンドウを開きます。

新しく開いたVSCで[ファイル]⇒[フォルダを開く…]で「犬or猿チェック TensorFlow」フォルダを開きます。テスト用に猿と犬の画像を「犬or猿チェック TensorFlow」フォルダの下に置きます。猿をno1.jpg 犬をno2.jpgとしました。(画像のファイル名や画像の内容はなんでもいいです)

exampleフォルダの下のtf_example.pyを右クリックし、[ターミナルでPythonファイルを実行]を選択し実行します。

引数がないのでエラーとなります。

VSCのターミナルでキーボードの「↑」を押してno1.jpgと入力し再実行します。

実行結果:Predicted: {‘Prediction’: ‘saru’, ‘Confidences’: [0.0, 1.0]} となり猿と判定されました。

no1.jpgの代わりに犬の画像no2.jpgで実行すると犬と判定されました。

 

 

注意

何と何を比較するのかもう少し工夫が必要。
(犬の画像と猿の画像は全く異なるので、モデルは見分けられる。間違えない。)

フォルダ名、プロジェクトのタイトルは後々の作業に影響するので考慮が必要。
exportフォルダがプロジェクト名となるのでここも注意が必要。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメント

コメントを残す

*