iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方法を紹介

iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方法を紹介

YOLOがPC(GPU無し)よりも遥かに劇速だったiphone7 plus

こんにちは。

AI coordinatorの清水秀樹です。

久しぶりの物体検出ネタになります。

先日以下の記事を発見しました。

スゲ〜〜!!

iphoneでもYOLOが使えて、しかも速い!!!

なんてこった!

PCでカクカク(GPU無し・・・)だったYOLOがiphoneだとこれだけの速度が出るなんて。

しかもなんかカッコ良い!

 

というわけで、早速チャレンジしてみました。

 

X-CODEの使い方が分からなくても大丈夫

上記サイトによるとTinyYOLO-CoreMLはX-CODEでビルドするだけで使えますとのこと。

・・・・

そう!

X-CODEから実機にアプリを送り込んで使えるようにする必要があります。

まじかよ!!

X-CODEなんて使えません。

以前、書籍を買ってチャレンジしてみましたが、書籍の通り実行してもまともに動かなかったため、やる気を無くしてました。

でも今回はやりたい。

というわけでググりまくってなんとか実機で実装できたので、そのやり方を紹介したいと思います。

情熱があれば、大抵のことはできるようになりますね。

 

誰でもできる手順書

以下の手順通り実行すれば必ずできるようになります。

慌てず進めていきましょう。

 

X-CODEのインストール

私はここから始めました。

App StoreからX-CODE9.2をインストールしましょう。

インストールしたら、早速起動してください。

iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方 画像1

 

gitからYOLO with Core ML and MPSNNGraphをcloneします。

X-CODEを起動すると以下のような画面が表示されます。

iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方 画像2

この画面が既に意味分からんのですよね。

ということで正解は、Clone an existing projectです。

iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方 画像3

上記赤枠をクリックします。

するとなにやらURLを入力できる画面が表示されますので、

iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方 画像4

画面に上にあるURL入力欄に、以下のURLを入力して画面右下のCloneをクリックしましょう。

https://github.com/hollance/YOLO-CoreML-MPSNNGraph

ダウンロードが始まります。

 

プロジェクトの起動

これが中々分からなかったのですが、どうやってプロジェクトファイルを起動すれば良いかググりまくっていたところ、拡張子が.xcodeprojを選択すれば良いことが分かりました。

ではFileの起動方法を順を追って説明します。

iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方 画像5

上記画像のようにFile > Openをクリックしてください。

iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方 画像6

続いて、先ほどGitからダウンロードしたフォルダ内にTinyYOLO-CoreML.xcodeprojがあるので、それを選択してOPENしましょう。

 

実機を使えるようにセットアップ

続いて、実機でテストできるように手持ちのiphoneをX-codeに認識させます。

以下の画像の通り、Window > Devices and Simulatorsを選択してください。

iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方 画像7

以降は以下の記事を参考にして頂ければ実機でテストできる環境が整います。

参考記事URL: omakai.net/archives/17720(※サイト閉鎖により参照不可)

 

Apple IDの設定

いよいよ実行になります。

以下の記事を参考に実行までしてみてください。

エラーになりますが、まずはそこまでやってみましょう。

https://i-app-tec.com/ios/device-test.html

 

さあ、エラーが出まくったと思います。

順を追って解決していきましょう。

Signingのエラー解消

TeamがNoneだった場合は、登録したアカウントを選択しましょう。

それでも以下の赤枠のようにエラーが出ているかと思います。

iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方 画像8

 

identityのBundle Identifierの変更

こちらの記事を参考にしてください。

理屈はよく分かりませんが、私はこれだけで解決しました。

Bundle Identifierを変更したら、再度三角ボタンを押して実機にインストールしてみましょう。

今度はうまく行くはずです。

 

実機でテスト

インストールが成功すると以下の画像のように妙なアイコンが出来上がっています。

iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方 画像9

早速クリックすると、信頼できん!!というようなエラーが出ます。

以下の記事を参考に発行元を信頼するに設定しましょう。

 

さあ、再度アプリを起動しましょう。

 

iphoneで劇速YOLOの実現

はえ〜〜〜の一言です。

しばらく遊べそうです。

 

それではまた!!

この記事の内容について、相談したい方へ

技術選定・実装の進め方・組織での導入など、AI/IoT全般のご相談を受け付けています。

無料相談会(30分・オンライン)

About The Author

Hideki
東京大学発AIスタートアップでロボット開発室室長・画像解析室室長・動画解析室室長を務め、画像認識関連のAI特許を在籍中に3件取得。その後、KDDIグループでプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRIST株式会社の執行役員CTO 兼 VPoEとして、農業の人手不足解決に向けた収穫ロボットの開発組織を統括しています。AI・ハード・エレキ・通信・クラウド・IoTまでを一気通貫で設計できる視点を強みに、性能だけでなく「感動やワクワク体験」までデザインできるロボットの研究を進めています。並行して、AI coordinatorとして企業のAI導入・教育機関のAI授業・地域の技術相談を月額契約で継続伴走しています。

COMMENTS & TRACKBACKS

  • Comments ( 10 )
  • Trackbacks ( 2 )
  1. あまり詳しくなく、教えてください。
    アカウントの登録の「iOS Development」で「You already have a current iOS Development certificate or a pending certificate request.」
    となってしまいます。
    何かAppleのアカウントでの登録が抜けているのか何なのか判らず、考えられることがあれば教えて下さい。
    素人の質問で恐縮です。
    宜しく御願い致します。

  2. 「identityのBundle Identifierの変更」
    上記の作業でもエラー内容が変わりません。

    Bundle Identifierは
    jp.primetheory.TinyYOLO-CoreML
    で間違えないでしょうか?

    ご回答いただけると幸いです。

  3. 初心者のため初歩的な質問かもしれませんが申し訳ありません。
    検出した時にデバイスをバイブレーションさせることは可能でしょうか?

  4. すっきりすだち

    YOLO .mlmodeに自作の学習済モデルを追加したいのですがどうすれば良いでしょうか?

  1. […] iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方法を紹介 | AI coordinatorYOLOがPC(GPU無し)よりも遥かに劇速だったiphone7 plus こんにちは。 AI coordinatorの清水秀樹です。 久しぶりの物体検出ネ […]

  2. d-change.net

    iphoneで物体検出!TinyYOLO-CoreMLを誰でも使える方法を紹介 | AI coordinator blog

LEAVE A REPLY

*
*
* (公開されません)