Enviar búsqueda
Cargar
Rでウォーリを探してみた
•
24 recomendaciones
•
7,060 vistas
Kazuya Wada
Seguir
2012/4/18 SSPSザーユ会(裏SPSSユーザ会)でのLT発表資料です。主にRのEBImageパッケージを利用しています。
Leer menos
Leer más
Educación
Denunciar
Compartir
Denunciar
Compartir
1 de 17
Recomendados
Kashiwa.R#1 画像解析とパターン認識における R の利用
Kashiwa.R#1 画像解析とパターン認識における R の利用
nmaro
SappoRoR#7 Rを用いた画像処理入門 -胸部X線の経時的差分画像-
SappoRoR#7 Rを用いた画像処理入門 -胸部X線の経時的差分画像-
昌彦 飛騨
EBImageの紹介
EBImageの紹介
Tokyo Medical and Dental University
Opencv object detection_takmin
Opencv object detection_takmin
Takuya Minagawa
201209 Biopackathon 12th
201209 Biopackathon 12th
Satoshi Kume
画像処理の高性能計算
画像処理の高性能計算
Norishige Fukushima
OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門
uranishi
SSII2014 チュートリアル資料
SSII2014 チュートリアル資料
Masayuki Tanaka
Recomendados
Kashiwa.R#1 画像解析とパターン認識における R の利用
Kashiwa.R#1 画像解析とパターン認識における R の利用
nmaro
SappoRoR#7 Rを用いた画像処理入門 -胸部X線の経時的差分画像-
SappoRoR#7 Rを用いた画像処理入門 -胸部X線の経時的差分画像-
昌彦 飛騨
EBImageの紹介
EBImageの紹介
Tokyo Medical and Dental University
Opencv object detection_takmin
Opencv object detection_takmin
Takuya Minagawa
201209 Biopackathon 12th
201209 Biopackathon 12th
Satoshi Kume
画像処理の高性能計算
画像処理の高性能計算
Norishige Fukushima
OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門
uranishi
SSII2014 チュートリアル資料
SSII2014 チュートリアル資料
Masayuki Tanaka
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
マルチコアを用いた画像処理
マルチコアを用いた画像処理
Norishige Fukushima
Face Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learn
Shiqiao Du
OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群
Norishige Fukushima
ImageJを使った画像解析実習〜数・形態・分布の解析〜
ImageJを使った画像解析実習〜数・形態・分布の解析〜
LPIXEL
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
京大 マイコンクラブ
ImageJプラグインの作成:序論
ImageJプラグインの作成:序論
nmaro
-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識
-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識
Hironobu Fujiyoshi
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
takesako
SIMDで整数除算
SIMDで整数除算
shobomaru
Fast, Accurate Detection of 100,000 Object Classes on a Single Machine
Fast, Accurate Detection of 100,000 Object Classes on a Single Machine
Takuya Minagawa
vImageのススメ(改訂版)
vImageのススメ(改訂版)
Shuichi Tsutsumi
リアルタイム道路標識検出システムの開発
リアルタイム道路標識検出システムの開発
幸翼 長瀬
LexADV_WOVis Ver.0.1bの概要
LexADV_WOVis Ver.0.1bの概要
ADVENTURE Project
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
Yosuke Onoue
Gurobi python
Gurobi python
Mikio Kubo
Or seminar2011final
Or seminar2011final
Mikio Kubo
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
Unity Technologies Japan K.K.
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Kotaro Nakayama
画像を縮小するお話
画像を縮小するお話
technocat
RのffでGLMしてみたけど...
RのffでGLMしてみたけど...
Kazuya Wada
Más contenido relacionado
La actualidad más candente
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
マルチコアを用いた画像処理
マルチコアを用いた画像処理
Norishige Fukushima
Face Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learn
Shiqiao Du
OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群
Norishige Fukushima
ImageJを使った画像解析実習〜数・形態・分布の解析〜
ImageJを使った画像解析実習〜数・形態・分布の解析〜
LPIXEL
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
京大 マイコンクラブ
ImageJプラグインの作成:序論
ImageJプラグインの作成:序論
nmaro
-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識
-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識
Hironobu Fujiyoshi
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
takesako
SIMDで整数除算
SIMDで整数除算
shobomaru
Fast, Accurate Detection of 100,000 Object Classes on a Single Machine
Fast, Accurate Detection of 100,000 Object Classes on a Single Machine
Takuya Minagawa
vImageのススメ(改訂版)
vImageのススメ(改訂版)
Shuichi Tsutsumi
リアルタイム道路標識検出システムの開発
リアルタイム道路標識検出システムの開発
幸翼 長瀬
LexADV_WOVis Ver.0.1bの概要
LexADV_WOVis Ver.0.1bの概要
ADVENTURE Project
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
Yosuke Onoue
Gurobi python
Gurobi python
Mikio Kubo
Or seminar2011final
Or seminar2011final
Mikio Kubo
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
Unity Technologies Japan K.K.
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Kotaro Nakayama
La actualidad más candente
(20)
プログラムを高速化する話
プログラムを高速化する話
マルチコアを用いた画像処理
マルチコアを用いた画像処理
Face Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learn
OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群
ImageJを使った画像解析実習〜数・形態・分布の解析〜
ImageJを使った画像解析実習〜数・形態・分布の解析〜
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
ImageJプラグインの作成:序論
ImageJプラグインの作成:序論
-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識
-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
SIMDで整数除算
SIMDで整数除算
Fast, Accurate Detection of 100,000 Object Classes on a Single Machine
Fast, Accurate Detection of 100,000 Object Classes on a Single Machine
vImageのススメ(改訂版)
vImageのススメ(改訂版)
リアルタイム道路標識検出システムの開発
リアルタイム道路標識検出システムの開発
LexADV_WOVis Ver.0.1bの概要
LexADV_WOVis Ver.0.1bの概要
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
Gurobi python
Gurobi python
Or seminar2011final
Or seminar2011final
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Similar a Rでウォーリを探してみた
画像を縮小するお話
画像を縮小するお話
technocat
RのffでGLMしてみたけど...
RのffでGLMしてみたけど...
Kazuya Wada
Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~
Kazunari Hara
How to use animation packages in R(Japanese)
How to use animation packages in R(Japanese)
sleipnir002
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3D
Katsushi Suzuki
Three.jsで3D気分
Three.jsで3D気分
Toshio Ehara
Similar a Rでウォーリを探してみた
(7)
画像を縮小するお話
画像を縮小するお話
RのffでGLMしてみたけど...
RのffでGLMしてみたけど...
Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~
How to use animation packages in R(Japanese)
How to use animation packages in R(Japanese)
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3D
Three.jsで3D気分
Three.jsで3D気分
Más de Kazuya Wada
オンラインTVサービスの分析事例
オンラインTVサービスの分析事例
Kazuya Wada
DeployR使ってみた話
DeployR使ってみた話
Kazuya Wada
道玄坂Lt#2 wdkz
道玄坂Lt#2 wdkz
Kazuya Wada
ハイレゾの話
ハイレゾの話
Kazuya Wada
Shiny-Serverあれこれ
Shiny-Serverあれこれ
Kazuya Wada
データサイエンティストカジュアルトーク by wdkz
データサイエンティストカジュアルトーク by wdkz
Kazuya Wada
R-3.0.0でGLM
R-3.0.0でGLM
Kazuya Wada
はじめてのShiny
はじめてのShiny
Kazuya Wada
JuliaでGLM
JuliaでGLM
Kazuya Wada
Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~
Kazuya Wada
そろそろRStudioの話
そろそろRStudioの話
Kazuya Wada
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
Kazuya Wada
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Kazuya Wada
RのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみた
Kazuya Wada
RでGPU使ってみた
RでGPU使ってみた
Kazuya Wada
Tokyo.R#16 wdkz
Tokyo.R#16 wdkz
Kazuya Wada
Más de Kazuya Wada
(16)
オンラインTVサービスの分析事例
オンラインTVサービスの分析事例
DeployR使ってみた話
DeployR使ってみた話
道玄坂Lt#2 wdkz
道玄坂Lt#2 wdkz
ハイレゾの話
ハイレゾの話
Shiny-Serverあれこれ
Shiny-Serverあれこれ
データサイエンティストカジュアルトーク by wdkz
データサイエンティストカジュアルトーク by wdkz
R-3.0.0でGLM
R-3.0.0でGLM
はじめてのShiny
はじめてのShiny
JuliaでGLM
JuliaでGLM
Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~
そろそろRStudioの話
そろそろRStudioの話
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
RのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみた
RでGPU使ってみた
RでGPU使ってみた
Tokyo.R#16 wdkz
Tokyo.R#16 wdkz
Último
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ssusere0a682
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
Takayuki Itoh
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
Tokyo Institute of Technology
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
Tokyo Institute of Technology
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
Kochi Eng Camp
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
Kochi Eng Camp
Último
(8)
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
Rでウォーリを探してみた
1.
R SPSSでウォーリーを探してみた
2012/04/18 SSPSザーユ会 (裏SPSSユーザ会) 和田 計也 サイバー系
2.
サイバー系
はじめに ※この発表は個人の 見解であり、所属す る組織の公式見解で はありません。 2012/04/18 1
3.
サイバー系
自己紹介 和田 計也(@wdkz) 静岡県袋井市出身 サイバー系企業でデータマイニングエンジニア職 創立記念日が3月18日 社長の出身地が福井県鯖江市 前職はバイオベンチャー バイオマーカ探索してた 学生時代は枯草菌の研究 2012/04/18 2
4.
サイバー系
ウォーリーを探せ! 2012/04/18 3
5.
サイバー系
ウォーリーをRで探してみます! 準備 ImageMagick-6.5.9-10-Q16-windows-dll.exe gtk2-runtime-2.16.1-2009-04-21-ash.exe (↑どちらも利用可能なバージョンがシビアなので気をつけて下さい。 最新版では動きません。ファイルはググって見つけて下さい。) R-2.15.0の32bit版 作戦 赤色を抜き出す ノイズ除去してから大きな塊を抽出 その塊がストライプかどうかの判定をして、もっともウォー リーっぽい物体を一つ抽出 有無を言わずそれがウォーリー 2012/04/18 4
6.
サイバー系
事始め install.packages(c(“abline”, “biOps”)) #基本はEBImageで処理を行っていくが、画像切り出しと拡大縮小のところに biOpsを利用した。 source("http://www.bioconductor.org/biocLite.R") biocLite("EBImage") #EBImageとbiOpsのフォーマット変換に利用 source("http://rimagebook.googlecode.com/svn/installR ImageBook.R") installRImageBook() require(EBImage) require(biOps) require(RImageBook) 2012/04/18 5
7.
サイバー系
ウォーリーのjpgファイルを読み込む wally <- readImage(file="http://www.findwaldo.com/fankit/graphics/IntlManOfLiter ature/Scenes/DepartmentStore.jpg") display(wally) 2012/04/18 6
8.
サイバー系
赤色抽出 wally.red <- as.vector(channel(wally, "red"))*255- channel(wally,"green")*255-channel(wally, "blue")*255 wally.red[is.na(wally.red)] <- 0 wally.red[wally.red < 0] <- 0 display(wally.red) 2012/04/18 7
9.
サイバー系
閾値を設定して2値化(強い赤みのところだけ残す) wally.red2 <- thresh(wally.red,w=3,h=3,offset=50) #二値化 display(wally.red2) #biOpsオブジェクトもつくっておく(後で使う) eb.wally <- EBI2biOps(wally.red2) 2012/04/18 8
10.
サイバー系
ぼかしフィルタ wally.red3 <- blur(wally.red2, r=0, s=3) #ぼかし display(wally.red3) 2012/04/18 9
11.
サイバー系
2値化 wally.red4 <- (wally.red3 > 0.15) #閾値による2値化 display(wally.red4) 2012/04/18 10
12.
サイバー系
ノイズ除去 kern <- makeBrush(7, shape=“diamond”) #ノイズ除去用のブラシ定義 wally.red5 <- closing(opening(wally.red4,kern),kern) #ノイズ除去 display(wally.red5) 2012/04/18 11
13.
サイバー系
塊にナンバリング wally.red5.label <- bwlabel (wally.red5) dist.res.box <- rep(-1, length=max(wally.red5.label)) #結果入れる箱 塊① for(i in 1:max(wally.red5.label)){ wally.cand <- matrix(wally.red5.label==i, 塊② nrow=nrow(wally.red5.label)) #塊のx座標、y座標を取得 y_lim <- ceiling(which(wally.cand)/nrow(wally.cand)) x_lim <- which(wally.cand)-(y_lim-1)*nrow(wally.cand) #塊周辺だけ抽出 塊③ eb.wally.crop <- imgCrop(eb.wally, x_start=min(x_lim), y_start=min(y_lim), c_width= diff(range(x_lim)), c_height= diff(range(y_lim))) 塊④ #行列にして x <- matrix(eb.wally.crop,nrow=nrow(eb.wally.crop)) 塊⑤ #塊に対しての距離を算出 dist.res.box[i] <- my.dist(x, 0.33) } 2012/04/18 12
14.
サイバー系
(参考)距離算出関数 my.dist <- function(x, contiguity.factor=0.5){ #ストライプを20行単位で考える if(nrow(x)==20){ ストライプパターンを発見する上手な方法を x.ebi <- biOps2EBI(imagedata(x)) ご存じの方いたら教えて下さい。よろしくお願いします。 }else if(nrow(x) < 20){ #拡大の場合 x <- imgCubicScale(imagedata(x),round(20/nrow(x)*1000)/1000,round(20/nrow(x)*1000)/1000) x.ebi <- thresh(biOps2EBI(x)) }else if(nrow(x) > 20){ #縮小の場合 x <- imgMedianShrink(imagedata(x),round(20/nrow(x)*1000)/1000,round(20/nrow(x)*1000)/1000) x.ebi <- thresh(biOps2EBI(x)) } #行を集約して、一列のベクトルに変換 x2 <- apply(matrix(x.ebi,nrow=nrow(x.ebi)),2,function(y){sum(y)/length(y)}) #4つのストライプパターンを作成して tmplts <- matrix(c(rep(c(1,1,0,0,0),4), rep(c(0,1,1,0,0),4), rep(c(0,0,1,1,0),4), rep(c(0,0,0,1,1),4)),nrow=4, byrow=TRUE) #それぞれのストライプパターンとの距離を出して、最短の値を返す return(min(apply(tmplts, 1, function(y){return(sum(sqrt((x2-y)^2)) + sum(sqrt((x2[-1]-y[- length(y)])^2))*contiguity.factor + sum(sqrt((x2[-length(x2)]-y[-1])^2))*contiguity.factor)}))) } 2012/04/18 13
15.
サイバー系
ウォーリーの塊と判定された領域を照らす w.clump <- matrix(wally.red5.label==which(dist.res.box==min(dist.res.box)), nrow=nrow(wally.red5.label)) #ウォーリーの塊のx座標、y座標を取得 y_lim <- ceiling(which(w.clump)/nrow(w.clump)) x_lim <- which(w.clump)-(y_lim-1)*nrow(w.clump) #ウォーリーの塊の中心座標 circle.center <- c(median(x_lim), median(y_lim)) #最大距離 max.radius <- max(max(abs(x_lim-circle.center[1])), max(abs(y_lim- circle.center[2]))) #○のマスクを3倍増しで作成して circle.mask <- channel(drawCircle(matrix(0.5, nrow=nrow(wally), ncol=ncol(wally)), circle.center[1], circle.center[2], max.radius*3, col=1, fill=TRUE),"rgb") 2012/04/18 14
16.
サイバー系
ウォーリーを探せた! #元画像に上記マスクを合成 display(wally*circle.mask) 2012/04/18 15
17.
サイバー系
おしまい 以上、 による 「ウォーリを探してみた」話でした。 2012/04/18 16