目次
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を選択してください。
以降は以下の記事を参考にして頂ければ実機でテストできる環境が整います。
Apple IDの設定
いよいよ実行になります。
以下の記事を参考に実行までしてみてください。
エラーになりますが、まずはそこまでやってみましょう。
さあ、エラーが出まくったと思います。
順を追って解決していきましょう。
Signingのエラー解消
TeamがNoneだった場合は、登録したアカウントを選択しましょう。
それでも以下の赤枠のようにエラーが出ているかと思います。
identityのBundle Identifierの変更
こちらの記事を参考にしてください。
理屈はよく分かりませんが、私はこれだけで解決しました。
Bundle Identifierを変更したら、再度三角ボタンを押して実機にインストールしてみましょう。
今度はうまく行くはずです。
実機でテスト
インストールが成功すると以下の画像のように妙なアイコンが出来上がっています。
早速クリックすると、信頼できん!!というようなエラーが出ます。
以下の記事を参考に発行元を信頼するに設定しましょう。
さあ、再度アプリを起動しましょう。
iphoneで劇速YOLOの実現
はえ〜〜〜の一言です。
しばらく遊べそうです。
それではまた!!
その他の物体検出記事はこちらから
あまり詳しくなく、教えてください。
アカウントの登録の「iOS Development」で「You already have a current iOS Development certificate or a pending certificate request.」
となってしまいます。
何かAppleのアカウントでの登録が抜けているのか何なのか判らず、考えられることがあれば教えて下さい。
素人の質問で恐縮です。
宜しく御願い致します。
こちらの記事を参考にしてみても解決しませんか?
https://i-bitzedge.com/jailbreak-news/cydia-impactor-error-list
「identityのBundle Identifierの変更」
上記の作業でもエラー内容が変わりません。
Bundle Identifierは
jp.primetheory.TinyYOLO-CoreML
で間違えないでしょうか?
ご回答いただけると幸いです。
自己解決しました。
拡張子ありでプロジェクト名なんですね。
jp.primetheory.TinyYOLO-CoreML.xcodeproj
お騒がせしました(_ _)
よかったです。
初心者のため初歩的な質問かもしれませんが申し訳ありません。
検出した時にデバイスをバイブレーションさせることは可能でしょうか?
もちろん可能です。
矩形表示ロジックの後に、バイブレーションロジックを追加すればできるかと思います。
どうぞ、よろしくお願い致します。
ご返信ありがとうございます。ロジックの追加は “BoundingBox.swift” に追加すれば行けますかね?他のファイルの書き換えも必要でしょうか?
はい。追加だけで大丈夫かと思います。
YOLO .mlmodeに自作の学習済モデルを追加したいのですがどうすれば良いでしょうか?