2015 3
1 1 1.1.................................... 1 1.2........................... 1 1.3................................... 2 2 3 2.1............................ 3 2.2................... 3 2.3....................... 4 3 5 3.1.................................. 5 3.1.1.......................... 5 3.1.2.................... 7 3.2.. 7 4 8 4.1........................................ 8 4.2...................................... 11 4.3................................... 11 4.3.1........................... 11 4.3.2................... 12 4.4...................................... 12 4.4.1............................... 12 4.4.2.............................. 13 4.4.3.................... 14 5 15 5.1...................................... 15 5.2................................... 15 5.3 -.............................. 16 5.3.1.................................. 17 i
.......................... 17 5.3.2.................................. 17 HSV RGB.......................... 20 5.3.3................................... 22 5.4 -........................... 23 5.4.1............................... 23 5.4.2................................... 23 5.4.3........................... 24 5.5....................................... 25 5.5.1......................... 25 5.5.2........................... 26 5.5.3........................ 26 6 27 6.1........................ 27 6.2......................... 28 6.3................................. 28 6.4............................... 29 6.5......................... 29 6.6................... 29 6.7........................ 30 6.8......................... 30 7 32 7.1....................................... 32 7.2.................................... 32 33 34 ii
4.1............................... 8 4.2................................... 9 4.3.................... 10 4.4............. 13 5.1................................. 16 5.2.................................. 17 5.3............... 18 5.4............... 19 5.5......................... 20 5.6 HSV.................................. 21 5.7 HSV.................................. 22 5.8............................. 23 5.9............................... 24 5.10......................... 26 iii
3.1......................... 6 5.1...................................... 15 iv
1 1.1 1.2 1
1.3 7 2 3 4 5 6 7 2
2 2.1 1 2.2 3 2014 [1] 2013 23 2018 475 Google Google Glass Google Watch JINS! 1 1 Jins meme, https://www.jins-jp.com/jinsmeme/product/ 3
2.3 Google Google Drive 2 Apple icloud 3 Dropbox 4 IDC Japan [2] 2013 2018 26.7% 2 Google Drive, http://www.google.com/intl/ja jp/drive/ 3 icloud, https://www.apple.com/jp/icloud/ 4 Dropbox, https://www.dropbox.com/ 4
3 2 1 3.1 3.1.1 4 1. 2. 3. 4. 1 Google Picasa 1 2 1 3 2 4 3 1 Wikipedia -, http://ja.wikipedia.org/wiki/ #.E8.AA.8D.E8.AD.98.E7.8E.87 5
(a) (b) (c) 3.1 3.1: (a) (b) (c) 1. 2. 3. 4. 2 2 1. 2. 2 4 6
3.1.2 3.2 2 1 2 7
第 4 章 ユーザと写真を紐付けてライフログを 蓄積するシステム 本章では開発したシステムの概要及び使用方法 使用する場面について述べる 4.1 概要 本システムは写真撮影時に 被撮影者 以後 ユーザと呼ぶ がカメラに向かって腕時計型 端末をかざすことによって撮影された写真とユーザを結びつけて記録することができるシス テムである 具体的には ユーザが腕時計型端末に表示されているマーカをカメラにかざす ことで 予めカメラ端末に保持されているマーカとユーザ ID の対応表と照合する カメラ端 末は照合してユーザを一意に定めた後 撮影された写真をユーザのパーソナルクラウドへ送 信 記録する ユーザは 1 10 人を想定している 腕時計型端末に表示されたマーカとユー ザ ID の照合が完了した際には該当ユーザの腕時計型端末を振動させることによってフィード バックを行う さらに 照合完了後はユーザの顔を自動追跡するため 腕時計型端末をかざ したままである必要はなくなる そのため ユーザは好きなポーズの写真を撮影することが できる 図 4.1 では腕時計型端末を用いていないが腕時計型端末を用いていると仮定し カ ラーマーカを表示した場合の利用の様子を示している 図 4.1: システム利用の様子 8
4.2 4.2 4.2: 1. 2. 3. 4. ID 5. 6. ID 4.2 4 ( 4.3) 4.3 9
4.3: 1. 2. 3. 4. 10
4.2 1. 2. 3. 3 1. 2. 3. 1. 3. 1 4.3 4.3.1 1 : 1. 2. 3. : 1. 2. 11
3. 4. 4.3.2 1. 2. A 3. A 4. A IPX 1 7 4.4 4.4.1 / / 1, http://www.rime.jp/secint/elecsec/kd3.htm 12
4.4.2 2 4.4 3 4 4.4: 2 SmartWatch SW2 - MN2 -, http://gadgets.blog.jp/archives/860304.html 3 Mecan Imaging - PC AR, http://www.mecan.co.jp/optical-film/anti-reflection/mobile.html 4 SmartWatch3, http://www.sonymobile.co.jp/product/smartwear/swr50/ 13
4.4.3 A B C D 14
5 5.1 5.1 1 Android ios Java Objective-C, C++ Ruby Ruby on Rails 2 5.1 SmartWatch2 Xperia ipad mini 5.1: SmartWatch2 1.6, 220 176 pixel Xperia Android 4.3 Android Studio ver 0.8.1 ipad mini ios 7.01 Xcode ver 5.1 Ubuntu Ubuntu 10.04.4 Apache Apache/2.2.14 5.2 3 5.2 ID ID 1 SmartWatch2, http://www.sonymobile.co.jp/product/accessories/smartwatch2/ 2 Ruby on Rails, http://rubyonrails.org/ 15
図 5.1: 開発に用いた端末 ラを用いた場合と公共のカメラを用いた場合に分けて図 5.3 と図 5.4 にそれぞれ示す 両者の 違いは公共カメラを用いた場合の流れ図を緑で示した 5.3 カメラ - ユーザ識別部 ユーザを識別するために 腕時計型端末のディスプレイに色を表示させ OpenCV3 を用い て色を検出する そしてカメラの顔検出機能を用いて顔を検出 その顔の下にある色と顔を マッチングすることでユーザを識別する その様子を図 5.5 に示す 図 5.5 では腕時計型端末 ではなくスマートフォンを用いている カメラ付端末搭載の顔検出 API を用いて検出した顔 と OpenCV での色相検出によってリアルタイムで画像を解析する 腕時計型端末のディス プレイに表示するカラーマーカはサーバから取得したものを用いることによってマッチング を可能としている カラーマーカ部分については後述する 3 OpenCV, http://opencv.jp/ 16
5.2: 5.3.1 openframeworks 4 1/3 5.3.2 openframeworks opencv HSV 6 HSV 4 ofxcvhaarfinder, http://openframeworks.cc/documentation/ofxopencv/ofxcvhaarfinder.html 17
5.3: 18
5.4: 19
図 5.5: ユーザ識別のためのマッチング の変換前と変換後の様子を図 5.6, 5.7 にそれぞれ示す それぞれの図では各ユーザの腕時計 型端末のカラーマーカを抽出し 検出した顔と照合を行い 予めサーバから知らされている ユーザ ID と紐付けた際の HSV 変換前と HSV 変換後を示す図になっている 左端のユーザは カラーマーカをかざした位置が低かったために検出されなかった 上述の通り 顔の下にカ ラーマーカを持ってくる必要がある 1. RGB から HSV に変換 2. HSV 画像を各チャンネルに分解 3. 各チャンネルごとに二値化 4. 各チャンネルの二値化画像の And をとり マスク画像を作成 5. HSV 画像を各チャンネルの画像を And をとる 6. 各チャンネルの画像を RGB 画像へ戻す openframeworks では RGB から HSV への変換はメソッドが用意されているためそれを用 いた 各チャネル毎に抽出したい色とピクセルを比較し 二値化画像を作成する HSV から RGB へと戻す際には標準のメソッドが見当たらなかったのでウェブサイト 5 を参考に以下の ように変換するためのメソッドを作成した HSV から RGB を算出 最大値と最小値を求める 本システムでは S V の範囲が 0 255 であるため 以下の式で最大値と最小値を求めるこ とができる 5 HSV から RGB への変換計算式, http://www.peko-step.com/tool/hsvrgb.html 20
図 5.6: HSV への変換前 最大値 MAX = V 最小値 MIN = MAX - ((S / 255) * MAX) RGB 値を求める 本システムでは H の範囲が 0 180 であるため以下の式で RGB 値を求めることができる H が 0 30 の場合 R = MAX G = (H / 30) * (MAX - MIN) + MIN B = MIN H が 30 60 の場合 R = ((60 - H) / 30) * (MAX - MIN) + MIN G = MAX B = MIN H が 60 90 の場合 R = MIN G = MAX B = ((H - 60) / 30) * (MAX - MIN) + MIN H が 90 120 の場合 R = MIN G = ((120 - H) / 30) * (MAX - MIN) + MIN 21
図 5.7: HSV への変換後 B = MAX H が 120 150 の場合 R = ((H - 120) /30) * (MAX - MIN) + MIN G = MIN B = MAX H が 150 180 の場合 R = MAX G = MIN B = ((180 - H) / 30) * (MAX - MIN) + MIN 5.3.3 通信部 カメラ端末の通信ライブラリには ios 用の通信ライブラリである AFNetworking というオー プンソースのライブラリを使用している 各通信は HTTP 通信を使用し JSON 型で情報の伝 達を行っている 22
5.4-4.2 5.8 5.8(a) 5.8(b) 5.8(a) 5.8(b) ( 5.8(c)) ( 5.8(d)) ( 5.8(e)) 5.8: 5.4.1 5.9 11 10 5.4.2 Android okhttp 6 HTTP GET ID 6 okhttp, https://github.com/square/okhttp 23
5.9: 3 5.4.3 Android android.os Vibrator Vibrator.vibrate() Vibrator.vibrate() 2 1 2 0, 2, 4... OFF 1,3,5... ON 1 5.8(c) 5.8(e) 2 24
5.5 Ruby on Rails Ruby on Rails CakePHP Ruby on Rails SQLite3 5.5.1 Android 2 7 1 GPS 2 Network LAN GPS GPS LocationManager LocationManager 10m 10m 10 2 null 5.10 5.10 10m 2 A B 1 2 3 10m 7 - Android:, http://onlineconsultant.jp/pukiwiki/?android%20 25
5.10: 5.5.2 10 1 1 5.5.3 paperclip 8 Ruby on Rails 8 paperclip, https://github.com/thoughtbot/paperclip 26
6 6.1 ios viewer 1 [3] Bluetooth Contextual photo browser Contextual photo browser Bluetooth [4] PhotoLoop 1 viewer, https://itunes.apple.com/jp/app/cuo-ying-deviewer/id888171472?mt=8 27
6.2 2002 8bit 255 ID ID Cam[5] ID Cam ID ID LED [6] CASIO, Inc 2 1 1 ID 6.3 2 Chu [7] 2 Selfie Stick, http://www.sekailab.com/times/?p=1431 28
6.4 FlashAir 3 SDHC SDHC SDHC SDHC SDHC 6.5 Apple iphoto 4 Google Picasa 5 Google Picasa API API [8] 6.6 RFID 6 7 [9] 3 FlashAir, http://www.toshiba.co.jp/p-media/flashair/ 4 iphoto, https://www.apple.com/jp/mac/iphoto/ 5 Picasa, http://picasa.google.co.jp/ 6 - RFID, https://www.denso-wave.com/ja/adcd/fundamental/rfid/ 7 Wikipedia -, http://ja.wikipedia.org/wiki/ 29
[10] [11] 4.4.2 6.7 [12] 8 SONY 9 30 Party-shot Party-shot Cyber-shot 10 6.8 [13] Album Weaver 8 NARRATIVE CLIP 2, http://getnarrative.com/ 9 Party-shot, http://www.sony.jp/cyber-shot/party-shot/ 10 SONY -, http://www.sony.jp/cyber-shot/products/dsc-t70/feature 1.html 30
Album Weaver Easy-Album[14] [15] 3 Kirk[16] 1 [17] [18] PhotoLab[19] 3 31
7 7.1 SNS 7.2 32
33
[1].., 2014. [2]. Storage in the Cloud 2013 2014 2018. IDC Japan, 2014. [3],,. Contextual photo browser:.. HCI,, Vol. 2011 No. 1, pp. 1-7, 2011. [4],,. PhotoLoop. 11(1), pp. 69-76, 2009. [5],,,,. ID Cam: ID. 2002, 8 pages, 2002. [6] CASIO, Inc.. http://www.casio-isc.com/ja/ (2015 1 9 ) [7] S. Chu and J. Tanaka. Interacting with a Self-portrait Camera Using Motion-based Hand Gestures. Proceedings of the 11th Asia-Pacific Conference on Computer-Human Interaction, pp. 93-101, 2013. [8] A. Gomi, T. Itoh. A Personal Photograph Browser for Life Log Analysis based on Location, Time, and Person. ACM Symposium on Applied Computing, Multimedia Visualization Track, pp. 1250-1257, 2011. [9],,,,.., 2004-UBI-5(1), pp. 1-8, 2004. [10],,.., 2010-UBI-27(10), pp. 1-8, 2010. [11],,,.., 2006-DPS-129(14), pp. 71-76, 2006. [12] G. Bell, J. Gemmell. Total Recall: How the E-Memory Revolution will Change Everything Dutton Adult, 304 pages, 2009. 34
[13]. Album Weaver:. (WISS2007) 6 pages, 2007. [14] J. Cui, F. Wen, R. Xiao, Y. Tian, and X. Tang. EasyAlbum: an interactive photo annotation system based on face clustering and re-ranking. CHI 2007 Proceedings, pp. 367-376, 2007. [15],,,.. DEIM Forum 2012, 8 pages, 2012. [16] D. Kirk, A. Sellen, C. Rother, and K. Wood. Under-standing Photowork. CHI 2006 Proceedings, pp. 761-770, 2006. [17]. -55. 2004, pp. 129-136, 2004. [18],,,,, G.Liu, S.Subramanian.. 2013 Information Processing Society of Japan, pp. 40-47, 2013. [19],. PhotoLab:., 2008-CG-131(6), pp. 31-36, 2008. 35