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をインストールしましょう。

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

 

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

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

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

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

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

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

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

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

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

 

プロジェクトの起動

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

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

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

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

 

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

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

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

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

Xcode 9 & iOS 11で可能となったワイヤレスバッグが超便利!

 

Apple IDの設定

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

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

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

[iPhone] 実機でアプリを確認する, iOSアプリ作成準備

 

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

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

Signingのエラー解消

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

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

 

identityのBundle Identifierの変更

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

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

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

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

 

実機でテスト

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

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

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

【iOS 10】iPhoneにインストールしたアプリの「信頼されていない開発元」を“信頼”する手順

 

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

 

iphoneで劇速YOLOの実現

はえ〜〜〜の一言です。

しばらく遊べそうです。

 

それではまた!!


その他の物体検出記事はこちらから

あなたにオススメの記事

コメント

    • 木山
    • 2018年 5月 04日

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

    • ピヨ
    • 2018年 6月 24日

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

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

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

      • ピヨ
      • 2018年 6月 24日

      自己解決しました。

      拡張子ありでプロジェクト名なんですね。
      jp.primetheory.TinyYOLO-CoreML.xcodeproj

      お騒がせしました(_ _)

    • マック
    • 2019年 12月 17日

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

    • もちろん可能です。
      矩形表示ロジックの後に、バイブレーションロジックを追加すればできるかと思います。

      どうぞ、よろしくお願い致します。

        • マック
        • 2019年 12月 17日

        ご返信ありがとうございます。ロジックの追加は “BoundingBox.swift” に追加すれば行けますかね?他のファイルの書き換えも必要でしょうか?

    • すっきりすだち
    • 2020年 7月 09日

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

  1. 2020年 4月 27日
  2. 2023年 11月 16日
    トラックバック:d-change.net
PAGE TOP