RubyとEyeTribeで視線追跡をする

Yukimitsu Izawa
Yukimitsu Izawa株式会社クルウィット
「安心・安全・安定・信頼」できるインターネットサービスを
株式会社クルウィット
井澤 志充
RubyとEyeTribeで視線追跡をする
2015/2/21 (Sat)
Kanazawa.rb #30
@IPBP武蔵
「安心・安全・安定・信頼」できるインターネットサービスを
じこしょうかい
• (株)クルウィットの取締役  兼  北北陸陸⽀支社⻑⾧長  
• 博⼠士(情報科学)  
• ネットワーク関連の委託研究・⾃自社サービス開発など
2
• 井澤  志充  (いざわゆきみつ)
@Yukimitsu_Izawa
「安心・安全・安定・信頼」できるインターネットサービスを
EyeTribeとは
• デンマークのThe  Eye  Tribe
社が販売する視線追跡デバ
イス。$99.0  
• Windows/OSX対応。  
• 30  or  60  sample/sec  
• 距離離:45-‐‑‒75cm  
• 65cmで40cm四⽅方  
• 最⼤大24インチのスクリーン
に対応  
• USB  3.0必須
3
(画像は http://theeyetribe.com/ より)
「安心・安全・安定・信頼」できるインターネットサービスを
EyeTribeで得られる情報
• 左右それぞれの瞳孔のサイズと位置  
• 左右と両⽬目に関して、  
• rawの座標データ  
• 平均化した座標データ
4
「安心・安全・安定・信頼」できるインターネットサービスを
準備するもの
• Ruby  
• Qt  
• 4系(最新は4.8.6)  
• qtbindings  gem
5
「安心・安全・安定・信頼」できるインターネットサービスを
Qt
• GUI  ライブラリ・フレームワーク  
• http://qt-‐‑‒project.org/  
• 商⽤用版・オープンソース版の⼆二種類がある  
• OSXの場合、brewでインストール可能。
6
図はwikipediaより
% brew install qt
「安心・安全・安定・信頼」できるインターネットサービスを
qtbindings gem
• RubyからQtライブラリを使えるするようにするgem  
• gem  コマンドか、git  から最新版をインストール可能
7
% gem install qtbindings
or
% git clone https://github.com/ryanmelt/qtbin
dings.git
% cd qtbindings
% rake install
「安心・安全・安定・信頼」できるインターネットサービスを
RubyからQtを使う
8
require ‘Qt4'
app = Qt::Application.new(ARGV)
win = Qt::MainWindow.new
scene = Qt::GraphicsScene.new
imageview = Qt::GraphicsView.new(scene)
image = Qt::Image.new('lena.jpg')
pm = Qt::Pixmap.fromImage(image)
scene.addPixmap(pm)
win.setCentralWidget(imageview)
win.show
app.exec
「安心・安全・安定・信頼」できるインターネットサービスを
RubyからQtを使う
9
「安心・安全・安定・信頼」できるインターネットサービスを
EyeTribe API
10
• クライアントは  Tracker  Server  に  TCP/6555  で接続する。  
• JSONベースのプロトコル。  
• http://dev.theeyetribe.com/api/  
• push/pull  モードが存在する。(default  はpullモード)  
• pushモードの場合は  heatbeat  の送出が必須。  
• 今回はSDKを使わずに、Socketで通信することにする。
「安心・安全・安定・信頼」できるインターネットサービスを
Frameの簡単な例
11
{
"values": {
"frame": {
"timestamp": "2015-02-20
17:43:47.763",
"time": 640169139,
"state": 7,
"righteye": {
"raw": {
"y": 167.0612,
"x": 984.7193
},
"psize": 25.0996,
"pcenter": {
"y": 0.3862,
"x": 0.5977
},
"avg": {
"y": 168.7315,
"x": 983.1584
}
}, // righteye
"raw": {
"y": 207.9453,
"x": 989.4243
},
"lefteye": {
"raw": {
"y": 248.8294,
"x": 994.1293
},
"psize": 23.2937,
"pcenter": {
"y": 0.3803,
"x": 0.4135
},
"avg": {
"y": 231.8799,
"x": 994.0333
}
}, // lefteye
"fix": true,
"avg": {
"y": 200.3238,
"x": 988.9051
}
} // frame
}, // values
"statuscode": 200,
"request": "get",
"category": "tracker"
}
「安心・安全・安定・信頼」できるインターネットサービスを
視線を表示するプログラム
12
デモ
「安心・安全・安定・信頼」できるインターネットサービスを
おまけ
13
Googleから画像検索してヒートマップを表示するデモ
参考: 「ImageMagick でサクッとヒートマップを作る」
http://qiita.com/daimatz/items/7d24db71515379c0e1a4
「安心・安全・安定・信頼」できるインターネットサービスを
まとめ
• 視線追跡デバイスとしてThe  Eye  TribeをRubyから使っ
てみた。  
• Qtライブラリを使うとGUIプログラミングもRubyででき
るよ。
14
「安心・安全・安定・信頼」できるインターネットサービスを
• Thank  You!  
• If  you  have  any  comments,  
• please  send  to:  
• Mail:  izawa@izawa.org  /  izawa@clwit.co.jp  
• Twitter:  @Yukimitsu_̲Izawa
15
1 of 15

Recommended

Rubyでオートマトン by
RubyでオートマトンRubyでオートマトン
RubyでオートマトンYukimitsu Izawa
4.8K views19 slides
IoTタグで遊んでみよう by
IoTタグで遊んでみようIoTタグで遊んでみよう
IoTタグで遊んでみようYukimitsu Izawa
1.7K views49 slides
中国における情報セキュリティの新たな免疫システムの作り方 by WooYun - CODE BLUE 2015 by
中国における情報セキュリティの新たな免疫システムの作り方 by WooYun - CODE BLUE 2015中国における情報セキュリティの新たな免疫システムの作り方 by WooYun - CODE BLUE 2015
中国における情報セキュリティの新たな免疫システムの作り方 by WooYun - CODE BLUE 2015CODE BLUE
8.5K views33 slides
Sakura infini band-20180424 by
Sakura infini band-20180424Sakura infini band-20180424
Sakura infini band-20180424さくらインターネット株式会社
6.5K views23 slides
2016.7.6 さくらの夕べ@沖縄 さくらインターネットの「閉域網サービス」の裏側 by
2016.7.6 さくらの夕べ@沖縄 さくらインターネットの「閉域網サービス」の裏側2016.7.6 さくらの夕べ@沖縄 さくらインターネットの「閉域網サービス」の裏側
2016.7.6 さくらの夕べ@沖縄 さくらインターネットの「閉域網サービス」の裏側Shuichi Ohkubo
3K views26 slides
最強のセキュリティでIoTを実装する方法 by
最強のセキュリティでIoTを実装する方法最強のセキュリティでIoTを実装する方法
最強のセキュリティでIoTを実装する方法Shinji Saito
5.5K views63 slides

More Related Content

What's hot

座談会(趣旨説明資料) 20160417 by
座談会(趣旨説明資料) 20160417座談会(趣旨説明資料) 20160417
座談会(趣旨説明資料) 20160417知礼 八子
1.6K views15 slides
Innovation egg6 mythings by
Innovation egg6 mythingsInnovation egg6 mythings
Innovation egg6 mythingsMakoto Oya
2.4K views27 slides
さくらのクラウド・サービス概要と構成例(第29回 さくらの夕べin徳島) by
さくらのクラウド・サービス概要と構成例(第29回 さくらの夕べin徳島)さくらのクラウド・サービス概要と構成例(第29回 さくらの夕べin徳島)
さくらのクラウド・サービス概要と構成例(第29回 さくらの夕べin徳島)さくらインターネット株式会社
3.8K views58 slides
【SoftLayer事例】アップクロス株式会社 by
【SoftLayer事例】アップクロス株式会社【SoftLayer事例】アップクロス株式会社
【SoftLayer事例】アップクロス株式会社softlayerjp
4K views36 slides
Innovation Egg presen_160130 by
Innovation Egg presen_160130Innovation Egg presen_160130
Innovation Egg presen_160130知礼 八子
4.6K views45 slides
2016.03.04 NetOpsCoding#2 by
2016.03.04 NetOpsCoding#22016.03.04 NetOpsCoding#2
2016.03.04 NetOpsCoding#2Shuichi Ohkubo
1.1K views13 slides

What's hot(20)

座談会(趣旨説明資料) 20160417 by 知礼 八子
座談会(趣旨説明資料) 20160417座談会(趣旨説明資料) 20160417
座談会(趣旨説明資料) 20160417
知礼 八子1.6K views
Innovation egg6 mythings by Makoto Oya
Innovation egg6 mythingsInnovation egg6 mythings
Innovation egg6 mythings
Makoto Oya2.4K views
【SoftLayer事例】アップクロス株式会社 by softlayerjp
【SoftLayer事例】アップクロス株式会社【SoftLayer事例】アップクロス株式会社
【SoftLayer事例】アップクロス株式会社
softlayerjp4K views
Innovation Egg presen_160130 by 知礼 八子
Innovation Egg presen_160130Innovation Egg presen_160130
Innovation Egg presen_160130
知礼 八子4.6K views
2016.03.04 NetOpsCoding#2 by Shuichi Ohkubo
2016.03.04 NetOpsCoding#22016.03.04 NetOpsCoding#2
2016.03.04 NetOpsCoding#2
Shuichi Ohkubo1.1K views
[JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ by Ichiro Tsuji
[JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ [JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ
[JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ
Ichiro Tsuji3.6K views
さくらのVPSと4G LTEをIPv6でつないでみた by Naoto MATSUMOTO
さくらのVPSと4G LTEをIPv6でつないでみたさくらのVPSと4G LTEをIPv6でつないでみた
さくらのVPSと4G LTEをIPv6でつないでみた
Naoto MATSUMOTO2.3K views
石狩DCで運用するプライベートクラウドとハイブリッドクラウドへの展望(既存資産とクラウドの価値を生かすハイブリッドクラウド事例セミナー) by さくらインターネット株式会社
石狩DCで運用するプライベートクラウドとハイブリッドクラウドへの展望(既存資産とクラウドの価値を生かすハイブリッドクラウド事例セミナー)石狩DCで運用するプライベートクラウドとハイブリッドクラウドへの展望(既存資産とクラウドの価値を生かすハイブリッドクラウド事例セミナー)
石狩DCで運用するプライベートクラウドとハイブリッドクラウドへの展望(既存資産とクラウドの価値を生かすハイブリッドクラウド事例セミナー)
IoT案件を70件やってみて分かった事 by Koichi Sasaki
IoT案件を70件やってみて分かった事IoT案件を70件やってみて分かった事
IoT案件を70件やってみて分かった事
Koichi Sasaki8.9K views
ログ分析の事前知識 -Prior knowledge of log analytics- (20200427) by Masanori KAMAYAMA
ログ分析の事前知識 -Prior knowledge of log analytics- (20200427)ログ分析の事前知識 -Prior knowledge of log analytics- (20200427)
ログ分析の事前知識 -Prior knowledge of log analytics- (20200427)
Masanori KAMAYAMA1.1K views
スマートコントラクト概況 5 nov2015 by Yoshimitsu Homma
スマートコントラクト概況 5 nov2015スマートコントラクト概況 5 nov2015
スマートコントラクト概況 5 nov2015
Yoshimitsu Homma976 views
ニフティクラウドでのVyOS利用事例 by Shintaro Hasunuma
ニフティクラウドでのVyOS利用事例ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例
Shintaro Hasunuma2.9K views
JAWS-UG re:Mote 2015 地方こそチャンス!? AWSとIoT by Yukihito Kataoka
JAWS-UG re:Mote 2015地方こそチャンス!? AWSとIoTJAWS-UG re:Mote 2015地方こそチャンス!? AWSとIoT
JAWS-UG re:Mote 2015 地方こそチャンス!? AWSとIoT
Yukihito Kataoka1.9K views
ATS対策- IDCフロンティア by IDC Frontier
ATS対策- IDCフロンティアATS対策- IDCフロンティア
ATS対策- IDCフロンティア
IDC Frontier2.3K views

Similar to RubyとEyeTribeで視線追跡をする

Ghissuesのご紹介 by
Ghissuesのご紹介Ghissuesのご紹介
Ghissuesのご紹介Yukimitsu Izawa
1.3K views24 slides
RubyからFFIを使ってみた by
RubyからFFIを使ってみたRubyからFFIを使ってみた
RubyからFFIを使ってみたYukimitsu Izawa
3.6K views18 slides
どこでも安全に使えるIoTを目指して ~さくらインターネットのIoTへの取り組み~ by
どこでも安全に使えるIoTを目指して ~さくらインターネットのIoTへの取り組み~どこでも安全に使えるIoTを目指して ~さくらインターネットのIoTへの取り組み~
どこでも安全に使えるIoTを目指して ~さくらインターネットのIoTへの取り組み~法林浩之
522 views141 slides
Octopress簡単スタートガイド by
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイドYukimitsu Izawa
5.3K views37 slides
第30回八子クラウド座談会(当日メモ付き)190413 by
第30回八子クラウド座談会(当日メモ付き)190413第30回八子クラウド座談会(当日メモ付き)190413
第30回八子クラウド座談会(当日メモ付き)190413知礼 八子
1.1K views32 slides
第8回八子クラウド座談会in関西(事前配布) 190202 by
第8回八子クラウド座談会in関西(事前配布) 190202第8回八子クラウド座談会in関西(事前配布) 190202
第8回八子クラウド座談会in関西(事前配布) 190202知礼 八子
2K views16 slides

Similar to RubyとEyeTribeで視線追跡をする(20)

RubyからFFIを使ってみた by Yukimitsu Izawa
RubyからFFIを使ってみたRubyからFFIを使ってみた
RubyからFFIを使ってみた
Yukimitsu Izawa3.6K views
どこでも安全に使えるIoTを目指して ~さくらインターネットのIoTへの取り組み~ by 法林浩之
どこでも安全に使えるIoTを目指して ~さくらインターネットのIoTへの取り組み~どこでも安全に使えるIoTを目指して ~さくらインターネットのIoTへの取り組み~
どこでも安全に使えるIoTを目指して ~さくらインターネットのIoTへの取り組み~
法林浩之522 views
Octopress簡単スタートガイド by Yukimitsu Izawa
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイド
Yukimitsu Izawa5.3K views
第30回八子クラウド座談会(当日メモ付き)190413 by 知礼 八子
第30回八子クラウド座談会(当日メモ付き)190413第30回八子クラウド座談会(当日メモ付き)190413
第30回八子クラウド座談会(当日メモ付き)190413
知礼 八子1.1K views
第8回八子クラウド座談会in関西(事前配布) 190202 by 知礼 八子
第8回八子クラウド座談会in関西(事前配布) 190202第8回八子クラウド座談会in関西(事前配布) 190202
第8回八子クラウド座談会in関西(事前配布) 190202
知礼 八子2K views
知ることから始めるセキュリティ対策 by はなずきん Hana
知ることから始めるセキュリティ対策知ることから始めるセキュリティ対策
知ることから始めるセキュリティ対策
2019 1009 f-secure_ali_eater_tokyo13_slideshare by Shinichiro Kawano
2019 1009 f-secure_ali_eater_tokyo13_slideshare2019 1009 f-secure_ali_eater_tokyo13_slideshare
2019 1009 f-secure_ali_eater_tokyo13_slideshare
Shinichiro Kawano167 views
第8回八子クラウドin関西(討議メモ付き) by 知礼 八子
第8回八子クラウドin関西(討議メモ付き)第8回八子クラウドin関西(討議メモ付き)
第8回八子クラウドin関西(討議メモ付き)
知礼 八子936 views
サーバーレス時代の システム設計ワークショップ by Masahiro NAKAYAMA
サーバーレス時代の システム設計ワークショップサーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップ
Masahiro NAKAYAMA183 views
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp by Masahiro NAKAYAMA
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccampクラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
座談会資料 事前配布 20170225 by 知礼 八子
座談会資料 事前配布 20170225座談会資料 事前配布 20170225
座談会資料 事前配布 20170225
知礼 八子871 views
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿 by Yui Ashikaga
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
Yui Ashikaga1.6K views
NTPを使ったDDoSについて by Yukimitsu Izawa
NTPを使ったDDoSについてNTPを使ったDDoSについて
NTPを使ったDDoSについて
Yukimitsu Izawa2.6K views
ストリーミングサービス研究グループ by Masaaki Nabeshima
ストリーミングサービス研究グループストリーミングサービス研究グループ
ストリーミングサービス研究グループ
Masaaki Nabeshima252 views
【Cisco Data Center Forum 2015】 Cisco UCSと共に挑むクラウド基盤構築 ~アルとタスかるクラウドになるために~ by シスコシステムズ合同会社
【Cisco Data Center Forum 2015】 Cisco UCSと共に挑むクラウド基盤構築 ~アルとタスかるクラウドになるために~【Cisco Data Center Forum 2015】 Cisco UCSと共に挑むクラウド基盤構築 ~アルとタスかるクラウドになるために~
【Cisco Data Center Forum 2015】 Cisco UCSと共に挑むクラウド基盤構築 ~アルとタスかるクラウドになるために~

More from Yukimitsu Izawa

docxをmdで書こう by
docxをmdで書こうdocxをmdで書こう
docxをmdで書こうYukimitsu Izawa
15.6K views27 slides
最新プロトコル HTT/2 とは by
最新プロトコル HTT/2 とは最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とはYukimitsu Izawa
1.6K views30 slides
Getting Started with Ruby on Rails4 + Twitter Bootstrap3 by
Getting Started with Ruby on Rails4 + Twitter Bootstrap3Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3Yukimitsu Izawa
2.6K views34 slides
テストとは by
テストとはテストとは
テストとはYukimitsu Izawa
1.9K views17 slides
RubyでDSL by
RubyでDSLRubyでDSL
RubyでDSLYukimitsu Izawa
12.1K views33 slides
Pow by
PowPow
PowYukimitsu Izawa
947 views11 slides

More from Yukimitsu Izawa(11)

RubyとEyeTribeで視線追跡をする