BLOG

Androidで画像認識してみよう!

SHARE SHARE SHARE SHARE

Androidで画像認識してみよう!Android Studio + Vuforia

こんにちは、16卒技術職内定者のBoraです。

はじめてTECH BLOGを書かせていただきます。至らない部分もあると思いますが、よろしくお願いします。

先日、卒業制作展を終えたばかりです。その際にAndroidの画像認識のアプリをつくりました。

今回は、私が使ったAndroid Studio+Vuforiaでの画像認識の方法をまとめてみました。

WEB上にアップロードしてある画像と比較したのち、ひも付けてあるjsonのデータを引っ張ってきます。

やること一覧

  1. 画像とjsonの準備
  2. データベース作成と画像の登録
  3. Vuforia SDK、Samplesのダウンロード
  4. SDKとSamplesのひも付け
  5. ソースコードを追加
  6. 実行

だいたいこんなかんじです!

ちなみにAndroid Studioのverは1.4です。

画像とjsonを準備しよう

画像ですが、今回はjpg(anq_target_02.jpg)を用意しました。認識しやすい画像については後述します。

jsonはtxt形式で用意します。

URLを入れておけば、後から任意のWEBページなんかに飛ばす処理も書けますね。

データベース作成と画像の登録

https://developer.vuforia.com/

にアクセスします。

ユーザー登録がお済みでない方は、まず登録をお願いします。

1. License Keyの作成

License Key発行

Develop > Lisence Manager から Add License Key をクリック。

今回はアプリケーション名を metaData としました。

入力したら、そのまま Next。

次ページでボックスにチェックを入れて Confirm 。License Key の出来上がりです。

2. データベースの追加

add Database

Develop > Target Manager から Add Database をクリック。

今回はデータベース名を metaData としました。

Type は Cloud に

プルダウンから MetaDate を選択して Create 。これでデータベースができました。

3. 画像の登録

add Target

Develop > Target Manager > metaData から Add Target をクリック。

Target image File で用意したjpgファイル(anq_target_02.jpg)を指定。

Width は 2

Metadata Packge に用意したjsonのtxt(anq_target_json.txt)を指定。

Name は anq_target_02 としました。

これで Add します。

認識しやすい画像

Target 詳細

これが Target の詳細になります。

星が5つ表示されています。星が多い方が認識しやすいと考えてよいと思います。

赤い矢印のリンク(Show Features / Hide Features)をクリックすると、特徴点を確認することができます。

特徴点 = 角 が多いとレートの評価が高くなるので、様子を見ながら画像を編集するのが良いと思います。

Vuforia SDK、Samplesのダウンロード

下記のSDK「vuforia-sdk-android-5-0-10.zip」とSamples「VuforiaSamples-5-0-10.zip」をダウンロードします。

vuforiaのダウンロード

ダウンロードが終わったら、任意の場所に解凍します。

サイトはまた使用しますので、閉じないでくださいね。

SDKとSamplesのひも付け

ここからは、SDKフォルダからSamplesフォルダへのコピペが基本になります。

1. libフォルダ

libフォルダ

《SDK》vuforia-sdk-android-5-0-10/build/lib をコピー。

《Samples》VuforiaSamples-5-0-10/app/src/main にペースト。jniLibs にリネームします。

2. Vuforia.jar

jar

《SDK》vuforia-sdk-android-5-0-10/build/java/vuforia/Vuforia.jar をコピー。

《Samples》VuforiaSamples-5-0-10/app にペースト。

3. Android Studioを起動

《Samples》VuforiaSamples-5-0-10 を Android Studio にインポート。

はじめは赤線が出ていると思います。

jarひも付け

app を右クリック。

Open Module Settings をクリックして・・・

Dependencies を選択。

下部にある +ボタン から 2 File dependency を選択。Vuforia.jar のパスを指定します。

ソースコードを追加

1. License Keyの挿入

サイトに戻ります。

Develop > Lisence Manager > metaDate をクリックすると、License Key が表示されます。

License Key 表示

SampleApplicationSession の 347行目の矢印部分に License Key を挿入してください。

License Key 挿入

2. Access Keyの挿入

Develop > Target Manager > metaDate > Database Access Keys をクリック。

Client Access Keys 以下を使います。

Access Key 表示

CloudReco の 88行目に Access Keyを

89行目に Secret Key を挿入します。

Access Keys 挿入

これで、キーの挿入は終わりです。

3. jsonのトースト表示

jsonの取得の処理を CloudReco に追加します。

今回は、とりあえず Toast で取得を確認。

Toast 追加

以上を追加したら、あとは実行するのみ!

実行

実行したら、メニューリストが表示されると思います。

今回は、Cloud Reco をタップしてください。そして、Start!

用意した画像にかざします。

実行結果

ちゃんと Toast は表示されましたでしょうか?

今回は Toast で終わりますが、json を取得できることで、その後にいろいろ展開できると思います。

また、今回使用した Vuforia には、 CloudReco 以外にもたくさんの機能があります。

興味のある方は、是非試してみてください!

参考URL

Vuforia + AndroidStudio ARのサンプルを動かしてみた

Android StudioでVuforia5のsampleをbuild出来るようにするまで

How To Use Cloud Recognition Metadata

リッチメディアではプログラミングが好きで、 チーム全体でサービスを開発していきたいという想いを持ったエンジニアを募集しています。 一緒に最高の作品を創り上げていきませんか?

20150901_仲間募集KV

RECOMMEND