• ブログTOP
  • AI・ディープラーニング
  • AR
  • VR
  • WEBサイト
  • WEBマーケティング
  • SEO
  • SNS
  • その他
  • お問い合わせ

ALAKI株式会社

COZIKEEいつまでも使えるTech情報発信ブログ

WebARはじめてみませんか?〜第5回 8th Wall Webの画像認識機能の使い方〜

2019年4月26日

  • このエントリーをはてなブックマークに追加

こんにちは!
デザイナーの伊東(@ALAKIWebVRAR1)です。

※TwitterでもWebARの事を中心に情報発信中!
よかったらフォローお願いしますm(_ _)m
Follow @ALAKIWebVRAR1

前回は決められたマーカーではなく、完全オリジナルのマーカーを作成して、認識させる技術をどう実装するかをご紹介しました。

WebARはじめてみませんか?〜第4回 tracking.jsで完全オリジナルのマーカーを実現 / 画像認識編〜

その記事を公開して数日後の2019年4月17日、なんと8th Wall Webが画像認識に対応したとのニュースが発表されました!

Release 11: Image Targets & More

8th Wall Web登場以前は、iOS12以降に実装されたARの「クイックビュー」、決められた規定の中で作成したマークを読み取る「マーカー型AR」の2種類が主流だったWebAR。
画像認識機能の発表により、WebARの可能性が大きく広がったと感じています。

今日は、最新の技術であるWebARの画像認識機能を実際に利用するための方法をご説明します。

今日の記事を最後まで学ぶと、こんなものが作れるようになります。

https://alaki.co.jp/blog/wp-content/uploads/2019/04/card2.mp4

 

この記事の目次

  • 1 サンプルコードのダウンロード
  • 2 ソースコードの確認
  • 3 画像のアップロード
  • 4 実機で検証する
  • 5 まとめ

サンプルコードのダウンロード

まずはサンプルコードをダウンロードしましょう。
GitHubから8th Wall Webのデータを落としてきます。

https://github.com/8thwall/web

サンプルコードは以下の場所に用意されています。
/examples/aframe/

今回は「flyer」というフォルダに入ったサンプルコードを使用します。
その中に「flyer.jpg」というファイルを開いてみましょう。

flyer

この画像の左上のクラゲの絵から3Dオブジェクトが、右下からは動画が再生されるようなサンプルコードが提供されています。

ソースコードの確認

次に、index.htmlを開いて実際のソースコードをみてみましょう。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<!doctype html>
<html>
 
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
  <meta name="apple-mobile-web-app-capable" content="yes">
 
  <title>8th Wall Web: Flyer</title>
 
  <script src="//cdn.8thwall.com/web/aframe/8frame-0.9.0.min.js"></script>
 
  <!-- XR Extras - provides utilities like load screen, almost there, and error handling.
         See github.com/8thwall/web/xrextras -->
  <script src="//cdn.8thwall.com/web/xrextras/xrextras.js"></script>
 
  <!-- 8thWall Web - Replace the app key here with your own app key -->
  <script src="//apps.8thwall.com/xrweb?appKey=XXXXXXXXX"></script>
 
</head>
 
<body>
 
  <a-scene
    xrweb="disableWorldTracking: true"
    xrextras-gesture-detector
    xrextras-almost-there
    xrextras-loading
    xrextras-runtime-error>
 
    <a-assets>
      <!-- Credit to Poly by Google for the model: https://poly.google.com/view/dA5osnS0Rzj -->
      <a-asset-item id="jelly-glb" src="jellyfish-model.glb"></a-asset-item>
      <img id="jelly-thumb" src="targets/video-target.jpg">
      <video
        id="jelly-video"
        autoplay
        muted
        crossorigin="anonymous"
        loop="true"
        src="jellyfish-video.mp4">
      </video>
    </a-assets>
 
    <a-camera
      position="0 4 10"
      raycaster="objects: .cantap"
      cursor="fuse: false; rayOrigin: mouse;">
    </a-camera>
 
    <a-light type="directional" intensity="0.5" position="1 1 1"></a-light>
 
    <a-light type="ambient" intensity="1"></a-light>
 
    <a-entity
      xrextras-named-image-target="name: video-target"
      xrextras-play-video="video: #jelly-video; thumb: #jelly-thumb; canstop: true"
      geometry="primitive: plane; height: 1; width: 0.79;">
    </a-entity>
 
    <a-entity xrextras-named-image-target="name: model-target">
      <!-- Add a child entity that can be rotated independently of the image target. -->
      <a-entity xrextras-one-finger-rotate gltf-model="#jelly-glb"></a-entity>
    </a-entity>
 
  </a-scene>
 
</body>
</html>

 

細かいところをみていきます。

まずは表示させるオブジェクトを、<a-assets>の中に記述します。

1
2
3
4
5
6
7
8
9
10
11
12
13
<a-assets>
<!-- Credit to Poly by Google for the model: https://poly.google.com/view/dA5osnS0Rzj -->
<a-asset-item id="jelly-glb" src="jellyfish-model.glb"></a-asset-item>
<img id="jelly-thumb" src="targets/video-target.jpg">
<video
id="jelly-video"
autoplay
muted
crossorigin="anonymous"
loop="true"
src="jellyfish-video.mp4">
</video>
</a-assets>

上からクラゲの3Dオブジェクト、クラゲの動画のサムネイル、動画の本体の3つを記述しています。

表示させるオブジェクトを用意したら、認識する画像と紐づける作業をします。

1
2
3
4
5
6
7
8
9
<a-entity
xrextras-named-image-target="name: video-target"
xrextras-play-video="video: #jelly-video; thumb: #jelly-thumb; canstop: true"
geometry="primitive: plane; height: 1; width: 0.79;">
</a-entity>
<a-entity xrextras-named-image-target="name: model-target">
<!-- Add a child entity that can be rotated independently of the image target. -->
<a-entity xrextras-one-finger-rotate gltf-model="#jelly-glb"></a-entity>
</a-entity>

ここで注目したいのは、「xrextras-named-image-target」という属性です。
この属性で、対応する画像を変数で指定します。

肝心の認識する画像は、ソースコード内に置くのではなく、8th Wall Webの管理画面上で管理します。

画像のアップロード

認識する画像は、管理画面からアップロードします。
まずは8th Wall Webにアクセスし、管理画面にログインしましょう。
※アカウントの作成がまだの方は、下記の記事を参考に作成してください。
https://alaki.co.jp/blog/?p=3160

ログインした後、ダッシュボードのプロジェクトの詳細情報を確認してください。

スクリーンショット 2019-04-25 23.10.02

右下の「IMAGE TARGETS」の項目から画像をアップロードすることができます。
「Manage image targets」と書かれたボタンをクリックしてください。

スクリーンショット 2019-04-25 23.14.02

「Upload An Additional Image」のところから画像をアップロードします。
試しに、サンプルデータに入っていたクラゲの画像をアップロードしましょう。アップロードが完了すると、サイズや変数名を設定する画面になります。

スクリーンショット 2019-04-25 23.18.58

ここで設定するオブジェクト名が、先ほどソースコードで紐づけを行なった変数と同じであれば、3Dオブジェクトを表示することができます。

ここまでの手順を正しく設定できていれば、
先ほどのソースコードをサーバーにアップして、
読み込ませておいたクラゲの画像にクラゲの3Dオブジェクトを表示させることが可能になります。

次の章で実際にデバイスで確認してみましょう。

実機で検証する

サーバーにアップしたhtmlファイルをPCで確認すると、QRコードをモバイル端末で読み取るようにという表示になります。

スクリーンショット 2019-04-25 23.53.55

QRコードを読み取って、モバイル端末でサイトを表示させます。

サイトアクセス後にWebカメラが起動します。そのカメラで画像を読み込ませましょう。

正しく3Dオブジェクトを表示させることができました!!

https://alaki.co.jp/blog/wp-content/uploads/2019/04/trim.mp4

まとめ

いかがだったでしょうか?
複雑な処理が必要な画像処理の機能が、簡単に実装できることを体感していただけたのではないでしょうか。

8th Wall Webのようなプラットフォームにより、WebAR開発のハードルは低くなっていくのを感じています。
アイディア次第では、すぐにでも実用的なものが作れるのではないかと思います。

皆さんもぜひ、8th Wall Webの画像認識機能をお試しください!

  • ツイート
  • このエントリーをはてなブックマークに追加
ALAKI ロゴ
さよなら過去のAR。
WebARがイベント集客に
革命を起こします。
特設サイトはこちら >

You may also like...

  • スクリーンショット 2019-04-11 23.44.15

    WebARはじめてみませんか?〜第4回 tracking.jsで完全オリジナルのマーカーを実現 / 画像認識編〜

    12 4月, 2019

  • スクリーンショット 2018-03-16 0.37.47

    WebARはじめてみませんか?〜第1回 AR.jsで簡単WebAR〜

    3 8月, 2018

  • スクリーンショット 2022-11-19 7.29.55

    WebARで平面認識からインタラクションまで!「AR Quick Look」の新機能を試してみた

    19 11月, 2022

  • Next story WebARはじめてみませんか?〜第6回 Google、Amazonの最新の動向から、5Gまで。AR/3D技術を取り巻く世の中の流れ〜
  • Previous story WebARはじめてみませんか?〜第4回 tracking.jsで完全オリジナルのマーカーを実現 / 画像認識編〜

弊社サービス

MONJI+ MUGHEN ALAKI クラウド型受発注システム さよなら過去のAR。WebARがイベント集客に革命を起こします。

運営会社

ALAKI株式会社 ALAKI株式会社採用サイト

人気の記事

  • alaki1462_A_businessman_who_works_logically_1da80a2e-c297-4911-bdd6-feba0ebf1357

    仕事術

    【書籍要約】数学的な仕事術大全

    4 11月, 2024

  • fv-main-img-min

    空間コンピューティング

    世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました

    22 6月, 2023

  • Virtual reality players isometric vector illustration. VR UI and navigation. Futuristic digital technology. Virtual screen. Mixed reality 3d concept. Person in VR headset. Web banner idea

    AR

    Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ

    6 6月, 2023

  • AWE

    未分類

    ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!

    26 5月, 2023

  • python-logo-master-v3-TM

    pyhotn / 業務効率化

    「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

    2 2月, 2023

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

アーカイブ

  • 2024年11月
  • 2023年6月
  • 2023年5月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年2月
  • 2021年12月
  • 2021年9月
  • 2021年7月
  • 2021年6月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年6月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年12月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年8月
  • 2017年7月
  • 2017年6月
  • 2017年4月
  • 2017年3月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年9月
  • 2016年8月
  • 2016年7月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年7月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2013年10月
  • 2013年9月

Facebook

お問い合わせ

お問い合わせ

人気の記事

  • 【書籍要約】数学的な仕事術大全
  • 世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました
  • Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ
  • ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!
  • 「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

検索

ALAKI株式会社 © 2025. All Rights Reserved.