Microsoftの機械学習アプリLobeでユーフォニアムとテューバを判別してみた
みなさんはユーフォニアムとテューバという楽器をご存知でしょうか?
どちらも金管楽器の一種なのですがユーフォニアムが中低音,テューバが低音を担当しています.
この2つの楽器,画像で見るとよく似ています.実際に目にすれば大きさがあまりに違うため一目瞭然なのですが,単体の画像だけでは非常にわかりづらい.特に分かりづらいのがトップアクション式と言ってピストンがトップについた旧型のものです.
これは私みたいなユーフォニアム・テューバ経験者にとってはいとも簡単に判別可能なのですが,通常の人には大変難しい.そのためか,昔は時々ユーフォニアムなのに画像がどう見てもテューバみたいな悲しいサイトを見かけたものです.
*余談ですが,ユーフォニウム,チューバともいいます.発音上はユーフォニアム,テューバが近いのでこの呼び方をしています.
話は変わり,画像認識による機械学習というのが近年いとも簡単にできるようになってきました.昔は画像を同じサイズにしたりフィルタ処理したりうんたらーみたいな面倒な作業と,CUI(文字列のみで動かす表示システム)で指示を出すという一般にはハードルの高いものでした.
そしてついに先日このようなニュースが報道されました.
そう,誰でも簡単に機械学習が実装できるようになった…
これは私のような解析の時だけRやらPythonを使うというなんちゃってコーダーには朗報です.
そこで今回のタイトルにつながるわけです.
ユーフォニアム・テューバ判別器を作りたい.
というわけであとは実践あるのみ.
まずは,Lobeのサイトからアプリケーションをダウンロードします.
(下の方にダウンロードはここからとあるのでそこをクリック)
お名前とかメアドとかいろいろ聞かれるので入力してダウンロード.
こちらなんと解凍後はローカルで立ち上がります.
右上のImportから画像を読み込みます.
今回はgoogle 画像検索で適当にダウンロードした画像を用いました.
(いろいろごめんなさい)
画像をImportしたらタグ付け.
この時複数選択していると同じタグがつけられます.
タグはユーフォニアム:euphとテューバ:tubaでそれぞれつけました.
めっちゃ簡単…
2種類,各5枚ずつ以上読み込むと勝手にトレーニングしてバリデーションテストまでしてくれます.
あまりに一瞬で何が起きたか分からないくらい簡単でした.
内訳を見てみると,フレッチャー先生(下の方.テューバ界のレジェンド)がユーフォ吹き判定されていて各所に怒られそうな結果でした.
というわけで,はじめのセットではどうもtubaの正解率が悪いぞという結果がこのようにグラフィックで表示されます.となればtubaの訓練データを増やしてみるかなとなるわけです.
(この辺りあまりにも簡単にやっているのですが嘘やろ…という気持ちでいっぱいでした)
というわけで,ちょっと特徴量の強そうな(ただの勘です)太めのテューバを追加.
するとすぐに反映されてこのように予想が改善.
今度はユーフォニアムをテューバと判定しているようです.
これ以上はキリがないので訓練をしませんでしたが,あとは判別です.
判別にはPlayを使います.これもドラッグアンドドロップで簡単.
今回は私のプロフィール写真を用います.(若いし細い…詐欺感…)
するとサッと判定してくれます.
そうですeuphです!!私はユーフォを吹いています!感無量(なにがや).
この結果もまた訓練データとして読み込めます
そして,判別器のエクスポートもメニューのファイルタブから行えるようです.
Local APIでは下記のような多様な形式に対応していました.
というわけで,これはもう夢が広がるなというアプリでした.
Import先にカメラ対応もしているのでRaspberry Pi +カメラとかの簡単な構成や、Power Apps 経由でスマホアプリにして現場でガンガン使えそうだなあと真面目に思ったのでありました.
終わり
無料で全て公開しています。役に立ったと思ったら投げ銭お願いします。