Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
アニメーションARマーカを用いた
アドホック通信の提案
山本 眞也†,柴田 直樹††
†山口東京理科大学
††奈良先端科学技術大学院大学
2013/7/11 DICOMO 2013 1
研究背景
2013/7/11 DICOMO 2013 2
スマートフォンの普及
高解像度カメラ,高精細ディスプレイ,高性能CPU,GPU内蔵
QRコードの普及
ARアプリケーションが注目を集めている
携帯通信網,無線LAN網の混雑
あらゆるコン...
アニメーションアニメーションアニメーションアニメーションARマーカを用いた通信マーカを用いた通信マーカを用いた通信マーカを用いた通信手法を提案手法を提案手法を提案手法を提案
電波通信網を用いない手軽なアドホック通信
一般的なスマートフォンで利用...
関連研究
Unsynchronized 4D barcodes[1](Langlotz, T, et al.)
2Dカラーバーコード
QVGA 2.5 fps で 毎分 1,400 キャラクタ
複数色を利用
ディスプレイ・カメラの性能に大きく依...
既存のアニメーションARマーカ
環境やディスプレイ・カメラの性能に強く依存
QRコードの延長(あらかじめ用意されたマーカを読み取る)
提案手法
環境や端末の性能への依存が比較的低い
リアルタイムなエンコード・デコード
本研究の立ち位置
2013...
システム実現への課題
課題
非同期なディスプレイとカメラよる手軽な通信の実現のために
1. アニメーションに適した高速に検出できるマーカ構造
2. アニメーションするマーカの正確な読み取り
3. 検出されたノイズや重複を含むマーカ群から適切な
...
課題(1/3):アニメーション用マーカ
2013/7/11 DICOMO 2013 7
送信側端末 受信側端末
カメラディスプレイ
データ
エンコード
マーカ群
アニメーション
描画
検出
マーカ群
デコード
データ
課題 1: アニメーション...
2013/7/11 DICOMO 2013 8
提案するマーカ構造
最小単位(正方形) = セル
セルの大きさ(pixel)は自由
1セル = 1ビット
モノクロ(白=0,黒=1)
マーカ粒度(何セル用いるか)
7x7セル以上
一辺のセル数は奇...
ペイロードの構成
カウンタ部: アニメーション・フレーム番号(8〜64ビット)
データ部 : マーカごとに分割された送信データ(8ビット単位)
冗長部 : データ部の誤り検出訂正符号(サイズは方式に依存
)
ペイロードの配分法
1. マーカ粒度...
課題(2/3):高速なマーカ読み取り
2013/7/11 DICOMO 2013 10
送信側端末 受信側端末
カメラディスプレイ
データ
エンコード
マーカ群
アニメーション
描画
検出
マーカ群
デコード
データ
課題 2: アニメーション...
GPU処理部:連結成分抽出
① Sobel Operator,Edge Thinning,二値化 を順に適用し,連
結成分を抽出する
② 30ピクセル未満の連結成分(ノイズ)を破棄する
③ 各連結成分の2次元座標 X,Y の最小値,最大値を利用...
1. 最も遠い2点を選択し,線分を引く
2. 線分の中点から垂直ベクトル方向に最も離れた2点を選択し,線分を引く
3. これらの4点と2線分を,頂点と対角線とする四角形をマーカとみなす
4. 対角線の交点のピクセルが,マーカ中央の基準点の指定色...
DICOMO 20132013/7/11
CPU部:座標計算・ペイロード読込
1. 2次元座標からマーカの3次元姿勢を算出
2. 2次元の正方形に変換し,各セルの位置・ピクセル位置を計
算し,ペイロードとして読み出す
13
90°
1
1
視点...
課題(3/3):マーカの選別
2013/7/11 DICOMO 2013 14
送信側端末 受信側端末
カメラディスプレイ
データ
エンコード
マーカ群
アニメーション
描画
検出
マーカ群
デコード
データ
課題 3: 検出されたマーカ群から...
マーカの逐次選別手法
2013/7/11 DICOMO 2013 15
検出したマーカのカウンタ N と直前のマーカのカウンタ M を比較
• Mを書き出す
• Nを次の比較対象とす
る
N = M+1
次のマーカ(カウンタ O)を読み込む
N...
実験
実験1:マーカ検出速度評価
アニメーションするマーカを正確に読み取れるだけのマー
カ検出速度を実現できているか
実験2:読み取りエラー率評価
どの程度のアニメーション速度(fps)に耐えうるか
どの程度の検出ドロップ,検出エラーを含むか
...
実験1:マーカ検出速度評価
アニメーションするマーカを読み取れる検出速度を実現できている
かを評価
画像を入力し,マーカを検出するまでの速度を計測
提案手法(GPGPU読み取り手法) と ARToolkit による比較
実験環境
Java 7,...
マーカ検出速度
2013/7/11 DICOMO 2013 18
提案手法は,既存手法より高速!
FullHDかつ30fps以上(33ms以内)で動作可能
実験2:読み取りエラー率評価
どの程度のアニメーション速度に耐えうるか
マーカのドロップ率,マーカごとのエラー率はどの程度か
マーカ粒度とアニメーション速度を変え,マーカのドロップ率とマーカ毎の
エラー率を計測
実験環境
Java 7,JOGL...
検出ドロップ率
2013/7/11 DICOMO 2013 20
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
5 10 15 30 5 10 15 30 5 10 15 30 5 10 15 30
9...
マーカ単位のエラー率
2013/7/11 DICOMO 2013 21
0
5
10
15
20
25
30
35
40
45
50
5 10 15 30 5 10 15 30 5 10 15 30 5 10 15 30
9x9 13x13 1...
ٖ쨠
まとめ
アニメーションARマーカによるアドホック通信手法を提案しました
アニメーションに適した高速に検出できるマーカ構造
GPGPUを利用した高速かつ正確なマーカ読み取り手法
ノイズや重複を含むマーカ群から適切なマーカを逐次選別する手法
...
Upcoming SlideShare
Loading in …5
×

アニメーションARマーカを用いた アドホック通信の提案

2,326 views

Published on

データをモザイク状の画像マーカにエンコードし,携帯電話に搭載されたカメラで読み取ることのできるQR コードが普及している.QR コードのような二次元バーコードで大きなデータを扱おうとすると,画像マーカが大きくなってしまい,読み取るために高解像度のカメラと大きな CPU 資源が必要になる.また,Micro payment などの目的で,目の前にある 2 つの端末を確実に指定して,その間で暗号による通信を行いたい場合,無線電波通信ではなく,ディスプレイからカメラにデータ送信ができれば有用である.そこで,我々は AR マーカの読み取り手法を応用し,送信端末がディスプレイに AR マーカをアニメーションさせ,受信端末がカメラを用いてそのアニメーションする AR マーカを撮影し,読み取ることによってデータ通信を行うようなアドホック通信を提案する.また,CPU 負荷を GPU に分散し,デバイス全体として高いパフォーマンスを実現するための,GPGPU を用いた画像処理アルゴリズムについても合わせて提案する.

Published in: Technology
  • Be the first to comment

アニメーションARマーカを用いた アドホック通信の提案

  1. 1. アニメーションARマーカを用いた アドホック通信の提案 山本 眞也†,柴田 直樹†† †山口東京理科大学 ††奈良先端科学技術大学院大学 2013/7/11 DICOMO 2013 1
  2. 2. 研究背景 2013/7/11 DICOMO 2013 2 スマートフォンの普及 高解像度カメラ,高精細ディスプレイ,高性能CPU,GPU内蔵 QRコードの普及 ARアプリケーションが注目を集めている 携帯通信網,無線LAN網の混雑 あらゆるコンテンツがインターネットを経由 インターネットを必要としないローカルなデータ交換など 秘匿通信のための新たな通信経路の必要性 Micro payment などでの秘密鍵交換の安全性確保 盗み聞き や man-in-the-middle攻撃 への対策 インターネットや電波通信網を用いない通信手段が必要
  3. 3. アニメーションアニメーションアニメーションアニメーションARマーカを用いた通信マーカを用いた通信マーカを用いた通信マーカを用いた通信手法を提案手法を提案手法を提案手法を提案 電波通信網を用いない手軽なアドホック通信 一般的なスマートフォンで利用可能 本研究の概要 2013/7/11 DICOMO 2013 3 撮影されたマーカ群を データへデコード カメラで録画 データ データ アニメーションする ARマーカとして描画 送信側 受信側
  4. 4. 関連研究 Unsynchronized 4D barcodes[1](Langlotz, T, et al.) 2Dカラーバーコード QVGA 2.5 fps で 毎分 1,400 キャラクタ 複数色を利用 ディスプレイ・カメラの性能に大きく依存 環境の変化に弱い(光源の変化など) マーカあたりの情報量に制限 通信速度(マーカ読み取り速度)が低速 2013/7/11 DICOMO 2013 4 [1] Langlotz, T. and Bimber, O.: “Unsynchronized 4D barcodes: coding and decoding time-multiplexed 2D color-codes,” Proc. of the 3rd international conference on Advances in visual computing(ISVC’07), pp. 363-374, 2007. 近隣ピクセル との混色
  5. 5. 既存のアニメーションARマーカ 環境やディスプレイ・カメラの性能に強く依存 QRコードの延長(あらかじめ用意されたマーカを読み取る) 提案手法 環境や端末の性能への依存が比較的低い リアルタイムなエンコード・デコード 本研究の立ち位置 2013/7/11 DICOMO 2013 5 2Dカラーバーコード 低速アニメーション 低解像度マーカ 2Dモノクロバーコード 高速アニメーション 高解像度マーカ
  6. 6. システム実現への課題 課題 非同期なディスプレイとカメラよる手軽な通信の実現のために 1. アニメーションに適した高速に検出できるマーカ構造 2. アニメーションするマーカの正確な読み取り 3. 検出されたノイズや重複を含むマーカ群から適切な マーカを取捨選択 2013/7/11 DICOMO 2013 6 送信側端末 受信側端末 カメラディスプレイ データ エンコード マーカ群 アニメーション 描画 検出 マーカ群 デコード データ
  7. 7. 課題(1/3):アニメーション用マーカ 2013/7/11 DICOMO 2013 7 送信側端末 受信側端末 カメラディスプレイ データ エンコード マーカ群 アニメーション 描画 検出 マーカ群 デコード データ 課題 1: アニメーションに適した高速に検出できるマーカ構造 複雑なマーカ構造は検出・エンコード・デコードに時間がかかる 解決策: 新たなマーカ構造を提案
  8. 8. 2013/7/11 DICOMO 2013 8 提案するマーカ構造 最小単位(正方形) = セル セルの大きさ(pixel)は自由 1セル = 1ビット モノクロ(白=0,黒=1) マーカ粒度(何セル用いるか) 7x7セル以上 一辺のセル数は奇数 固定セル リム = マーカの外枠 基準点B = 右上,右下 基準点W = 左下,中心 ペイロード(可変セル) リムと基準点を除くセル 次ページで解説 基準点およびリム(色B) 基準点および背景(色W) ペイロード 11x11セルのマーカの例
  9. 9. ペイロードの構成 カウンタ部: アニメーション・フレーム番号(8〜64ビット) データ部 : マーカごとに分割された送信データ(8ビット単位) 冗長部 : データ部の誤り検出訂正符号(サイズは方式に依存 ) ペイロードの配分法 1. マーカ粒度,仮のカウンタ部サイズ,誤り検出訂正符号を決める 2. 仮カウンタ部サイズを引いたペイロードにデータ部,冗長部を割り当てる 3. 2.で余ったペイロードをカウンタ部に加え,カウンタ部のサイズを確定する 2013/7/11 DICOMO 2013 9 データ部 冗長部 カウンタ部 設定値 7x7セル(ペイロード 21セル) 仮カウンタ部 = 8セル (15,11) ハミング符号
  10. 10. 課題(2/3):高速なマーカ読み取り 2013/7/11 DICOMO 2013 10 送信側端末 受信側端末 カメラディスプレイ データ エンコード マーカ群 アニメーション 描画 検出 マーカ群 デコード データ 課題 2: アニメーションするマーカの正確な読み取り 誤検出を出来る限りなく少なくしなければならない 高解像度・高フレームレートでもリアルタイム処理しなければならない 解決策: GPGPUによる画像解析を用いたマーカ読み取り手法を提案 GPGPUによる連結成分抽出 CPUによる座標変換・ペイロード読み込み
  11. 11. GPU処理部:連結成分抽出 ① Sobel Operator,Edge Thinning,二値化 を順に適用し,連 結成分を抽出する ② 30ピクセル未満の連結成分(ノイズ)を破棄する ③ 各連結成分の2次元座標 X,Y の最小値,最大値を利用 し,マーカの角を見つけるための8つの代表点を求める (重複を含む) 2013/7/11 DICOMO 2013 11 上,下,左,右,左上,左下,右上,右下 ① ②,③ 入力画像 連結成分抽出 代表点抽出
  12. 12. 1. 最も遠い2点を選択し,線分を引く 2. 線分の中点から垂直ベクトル方向に最も離れた2点を選択し,線分を引く 3. これらの4点と2線分を,頂点と対角線とする四角形をマーカとみなす 4. 対角線の交点のピクセルが,マーカ中央の基準点の指定色でない 連結成分を削除 5. 最小二乗法による回帰分析を行い,サブピクセル精度の座標へ修正する CPU処理部:マーカの検出・補正 2013/7/11 DICOMO 2013 12 GPU部で抽出された連結成分の代表点
  13. 13. DICOMO 20132013/7/11 CPU部:座標計算・ペイロード読込 1. 2次元座標からマーカの3次元姿勢を算出 2. 2次元の正方形に変換し,各セルの位置・ピクセル位置を計 算し,ペイロードとして読み出す 13 90° 1 1 視点 二次元画像 のマーカ頂点 マーカの 三次元位置 0110 1010 0011 1101 0001 111 11 11 1 1 1 1 10 0 0 0 0 0 0 0 0 0
  14. 14. 課題(3/3):マーカの選別 2013/7/11 DICOMO 2013 14 送信側端末 受信側端末 カメラディスプレイ データ エンコード マーカ群 アニメーション 描画 検出 マーカ群 デコード データ 課題 3: 検出されたマーカ群から適切なものを取捨選択 検出されたマーカは誤検出やアニメーションの影響によるノイズを含む アニメーションタイミングと撮影タイミングが非同期なため,重複を含む 解決策: 直前に検出したマーカを利用した逐次選別法を提案
  15. 15. マーカの逐次選別手法 2013/7/11 DICOMO 2013 15 検出したマーカのカウンタ N と直前のマーカのカウンタ M を比較 • Mを書き出す • Nを次の比較対象とす る N = M+1 次のマーカ(カウンタ O)を読み込む Nはカウンタエラー • N をM+1に修正 • Mを書き出す Nはノイズ • N を削除 Nまでドロップ • NまでNULL を入れる それ以外 O = M+2 O = M+1 それ以外 • ペイロードで多数決 • 多数 • 同票ならば中間 点のマーカ をMに上書き • それ以外を破棄 N = M O = MO ≠ M
  16. 16. 実験 実験1:マーカ検出速度評価 アニメーションするマーカを正確に読み取れるだけのマー カ検出速度を実現できているか 実験2:読み取りエラー率評価 どの程度のアニメーション速度(fps)に耐えうるか どの程度の検出ドロップ,検出エラーを含むか どの程度の誤り訂正符号を含めるべきか 2013/7/11 DICOMO 2013 16
  17. 17. 実験1:マーカ検出速度評価 アニメーションするマーカを読み取れる検出速度を実現できている かを評価 画像を入力し,マーカを検出するまでの速度を計測 提案手法(GPGPU読み取り手法) と ARToolkit による比較 実験環境 Java 7,JOGL 1.1.1,JOCL 0.1.7,OpenCV 2.4.2 入力画像 SIMPLE と COMPLEX の2種類の画像 480p, 720p, 1080p の3種類の解像度 2013/7/11 DICOMO 2013 17SIMPLE COMPLEX CPU GPU OLD PC Core2Quad (2.4GHz) GeForce GTX 560 Ti NEW PC Core i7 (2.5GHz) GeForce 470 GTX
  18. 18. マーカ検出速度 2013/7/11 DICOMO 2013 18 提案手法は,既存手法より高速! FullHDかつ30fps以上(33ms以内)で動作可能
  19. 19. 実験2:読み取りエラー率評価 どの程度のアニメーション速度に耐えうるか マーカのドロップ率,マーカごとのエラー率はどの程度か マーカ粒度とアニメーション速度を変え,マーカのドロップ率とマーカ毎の エラー率を計測 実験環境 Java 7,JOGL 1.1.1,JOCL 0.1.7,OpenCV 2.4 650x650 pixel 程度のマーカ を 720p, 30fps で撮影 2013/7/11 DICOMO 2013 19 マーカ粒度 9x9 13x13 17x17 19x19 ペイロード データ部 32 104 208 272 カウンタ部 13 冗長部 - アニメーション速度(FPS) 5, 10, 15, 30 CPU GPU SENDER Core i7(1.8GHz) HD Graphics 3000 LG W2253V(1080p, 21.5 inch) RECEIVER Core i7(2.66GHz) GeForce 470 GTX Intel LifeCamStudio Q2F-00020 50cm を評価
  20. 20. 検出ドロップ率 2013/7/11 DICOMO 2013 20 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 5 10 15 30 5 10 15 30 5 10 15 30 5 10 15 30 9x9 13x13 17x17 19x19 Drop Error Complete FPS Marker Size 10fpsまではほぼ問題なく読み取りが可能
  21. 21. マーカ単位のエラー率 2013/7/11 DICOMO 2013 21 0 5 10 15 20 25 30 35 40 45 50 5 10 15 30 5 10 15 30 5 10 15 30 5 10 15 30 9x9 13x13 17x17 19x19 [ % ] FPS Marker Size 最大値 第3四分位 中央値 第1四分位 最小値 オートフォーカス機能をカットできれば,安定した 10 fps による通信が可能 19x19,10 fps のとき,2,720 bps で通信でき,既存手法(187 bps)を大きく上回る オートフォーカスによって一度だけ 大きなエラーが発生
  22. 22. ٖ쨠 まとめ アニメーションARマーカによるアドホック通信手法を提案しました アニメーションに適した高速に検出できるマーカ構造 GPGPUを利用した高速かつ正確なマーカ読み取り手法 ノイズや重複を含むマーカ群から適切なマーカを逐次選別する手法 高速にARマーカを読み取れることを示した 1080pの複雑な映像でも,30fpsでマーカ検出可能 1マーカあたりのマーカドロップ率・マーカエラー率について示した 一般的な環境下において,10fpsのアニメーションで,ほぼエラーなしで 受信可能 今後の予定 177x177(QRコード最大サイズ)以上の粒度の高いマーカで実験 マーカ読取手法のCPU処理部(座標変換・ペイロード読み込み)の高速化 NACKに相当する再送処理の手段を考案・実装 2013/7/11 DICOMO 2013 22

×