忍者ブログ

めもめも ...〆(。_。)

認知心理学・認知神経科学とかいろいろなはなし。 あるいは科学と空想科学の狭間で微睡む。

2017/07    06≪ 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  ≫08
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ねててもなんもいいことおきねー。
だからおきてなんかをしないといけないのだよ明智君(誰)。
というわけで。

まあ先月はばりばり視知覚やってるひとたちの話を聞いてうへぇ('д` ;)ってなってたんですが、そーゆーばりばりなひとたちがばりばりつかいこなすオブジェクトの記述統計というものをおそるおそるさわってみよーと思います。
おそるおそる。

とりあえず今日さわるのは、にほんじんがR上で動くツールを作ってくれたという楕円フーリエ記述子というやつをば。
おそるおそる。




まあさくっと言うてしまうと、岩田先生という方がSHAPEというツールを公開しているよ、という話を聞いてそんじゃさわってみよっかーと思ったのですが、岩田先生は異動なされていて、SHAPEのダウンロードページもマニュアルもチュートリアルもすべて英語になっているのでした。
lbm.ab.a.u-tokyo.ac.jp/~iwata/shape/index.html
・・・まあ英語でもね。がんばればなんとかならんでもないかもしれんけどね。
ぶっちゃけ初学者に第二言語ってしんどいと思うの。
というわけでずっこく旧ページのキャッシュとチュートリアルを読みながらべんきょうしませう。

えー。
正確な解説は岩田先生のページを読んでもらうとして、わたしのよーなあほのこがぽややんと理解する中で、まず楕円フーリエ記述子についておさえておきませう。
とりあえず、調べる対象はオブジェクトの「輪郭」です。
りんかく。
輪郭ってーと「かたち」情報の一種ですね。ガワの線です。シルエットです。
楕円フーリエ記述子っていうのは、かたちを定量的に評価することができる方法の1つなわけです。
たとえていうなら、ひまなときにやる「あの雲○○っぽいなー」ってやつを数値化できるわけですよ。たぶん。

んでどーやってそんなもんを定量化するのかというと、オブジェクトの輪郭は(たいてい)ぐるっと一周してるものだから、それを座標におとしこんである点から出発して一周するのんを「周期関数」とみなすらしいっす。
んでー、なんか関数だから係数がつくんだけど(なんてひどい言い草)、係数は輪郭の向きやら大きさやら出発点によって変化してしまうから、そこらへんは標準化してやらなあかんらしい。
でまあそこは岩田先生はじめえらい先生方が標準化してくれるってさ。
このへんもーgdgdっす。
そもそもわたしフーリエ関数やってないっちゅーねん。
4回んときに「やりなさい」って言われてから逃げっぱやっちゅーねん。
ああやっぱ数学しなおさなあかんのかー。

んで、まあ、係数がいっぱいでてきてふぎゃーってなるところを、主成分分析で次元おとすらしい。
主成分分析っってたいてい分析のあとの解釈ってかインスピレーションが勝負になるけど、楕円フーリエ記述子なら、係数から逆に輪郭を描くこともできるので、主成分ごとに輪郭かいたりできるし解釈も楽だYO!てさー。

そいでもって、あーもーこんなん1からできるわけねーっていうあほねこのためにあるようなすばらしいツールが、SHAPE on Rなわけですね。
使う上でPerlがつかえたほうがいいらしい。
んでもあほなので極力Rだけでなんとかしてみる。

1)まずさいしょにすること。
岩田先生のページからZIPで落としてくる。
なんか猛者はパーツごとに落としてください。ってかそもそも猛者はここ読まんな。

2)ZIPを解凍する&中身を確認
まー解凍せんと始まりんせん。
中身はけっこーいっぱいあって16こ。
とりあえずぜんぶあげてしまうと
・ChainCoder.exe
・CHC2NEF.exe
・PrinComp.exe
・PrinPrint.exe
・ChcView.exe
・NefView.exe
・bmp_work.dll
・imgprc.dll
・Princomp.dll
・Prinscore.dll
・Prinplot.dll
・Sample_img.bmp
・Sample_chc.chc
・Sample_nef.nef
・Tutorial.pdf
・Manual.pdf
の16こ。以上。
足りなかったら先生に泣きついてください(無責任)。

3)画像を用意する
なんかSHAPEでは、24ビットカラーのビットマップ(もちろん拡張子は.bmp)しか対象にしてないらしーっす。
256色も16色も白黒もだめー。ってさ。
つーかビットマップ限定なのかよ。
まあそこらへんはおとなしくてけとーなそふとでてけとーにビットマップ変換。

あと他にも注意点があって、
・大きさも測りたいんなら基準となる枡かなんかも画像にいれとけ
・なるべく向きは揃えてたほうがいいかも。標準化するけど
・1枚の画像で複数オブジェクトを対象にできる。それは便利だけどオブジェクトが重なっちゃうともう無理(輪郭なんだから当たり前だ)
・オブジェクトと背景の輝度コントラストは激しければ激しいほどよろしい
・立体的なオブジェクトを扱うのであれば、逆光で写真撮って、のっぺり潰したほうがよろし。影が別の輪郭を生むとめどい
・ぺらぺらオブジェクト(はっぱとか)だったらもうスキャナつかっちゃえよ
とかそんなかんじ。
まあ地道にカメラで写真とれ言うてはりますけど。

んでもって最初に試すときはぶっちゃけSample_img.bmpつかうからいいんですけど。

4)さっそくChainCoder.exeだ
まずChainCoder.exeのアイコンをだぶるくりっく。
なんかウィンドウ出てくる。
左側に分析に関するパラメタいじるとこあるから適宜。
・Object Color:Darkがデフォルト。黒背景白オブジェクトならBright選ぶべし
・Scale Included:大きさの目安にするやつが画像に含まれてるかどうか。Yesがデフォルト
・Scale Size(mm):↑のめやすの大きさ
・Scan Direction:画像見る向きか。Y軸がデフォルト(大きさ目安が上か下にある場合)。目安が左右ならX軸で。
・Scale Position:大きさ目安の位置。上下か左右。

このへん適宜調整し終わったらProceed to Processingというぼたんをぽちっとな。

そうするとファイル選択画面が出てくるので、分析したい画像を選択して>ボタンでSelected File(s)送りにしてやる。
で、OKをぽちろー。

ほいたら画面が別タブで戻る(見たらわかる)ので、Load Imageをぽちり。
画像が読み込まれる。

画像にいらんもんが写ってたり余白がでかすぎる場合は、Select Areaで対象とする範囲を選択しておくがよろし。

んでもってGray Scaleというぼたんをぽちり。白黒グレーになります。
(なぜあらかじめ白黒にしてる画像は対象にならないのかよくわからん。が気をつけよう)

そのあとMake Histogramというボタンおし。
なんか左下に赤いヒストグラムが出る。

んでもってBinarize Imageというとこをぽち。
画像が二値化されて完全白黒なります。
このぼたんの横の数字は白黒化する閾値らしいです。
でも単位がよくわからん。とりあえずさっきの赤いヒストグラムが関係することだけはわかる。

で、なんかよーわからんけどEro Dil Filterというとこが1~3選べて、それでノイズや輪郭のほそくて無視できそーなとこがおとせるらしい。
悲惨なまでによくわかってない。

ほいたらLabeling Objectというぼたんを押そう。
Chain Code Dataっていうウィンドウが出てきて、検出したオブジェクトについて何か言ってくれるぞ。

そしたらChain Codingだ。
なんかよくわからんデータが増えるぞ!

これをSave to Fileで名前つけて保存したらChainCoderは終了。


5)次はCHC2NEFだー。
CHC2NEF.exeをくりっくだー。
そしたらなんかファイル選ぶとこが2こあるウィンドウでてくる。

一方はCHC File Nameを選べ、と。
これはさっきつくったChainCoderのファイルを選べばいいのよー。
拡張子が.chcのやつ。

もう一方はNEF File Nameとかいって、楕円フーリエ記述子を標準化するダイアログを保存するファイルらしー。
なんかわかりやすい名前をでっちあげとけばおk。
拡張子は.nefとなります。

んでMax Harmonicってとこがあるけどデフォルトの20でおk。
Normalization Methodってとこもなんかデフォルトでおk。
詳細知りたいひとはマニュアルpdf読んだらよいそーな。
とりあえずOKぼたんをぽちり。

ほいたらなんかまっくろい画面出てくるけどびびらずにスタートボタンをくりっく。
標準化された輪郭がにょろっと描き出される。

輪郭を180度回転させることもできる。Turn 180degボタンで。
出てきた輪郭が気に入らなければ、Discardボタンで破棄。
そんなにわるくないなーってときはSave/Nextボタンを押すよろし。

そんなかんじで
Current job repeated(だっけ?)かなんかそんな警告出るまでSave/Next繰り返し。
そいつがでたらCHC2NEFはおしまい。


6)その次はPrinCompをば。
PrinComp.exeをじっこーう。
そしたらツールバーだけみたいなんでてくるから、ファイル開きげなアイコンでさっき作った.nefを開く。
なんかNef File Informationなるウィンドウがでてくるけど、Number of Header LinesやらNumber of HarmonicsやらConstant Coefficientなどのパラメタはファイルから勝手に読み込んでくれるので気にしないでおk。

んで、グラフっぽいのにピンクの点々が群れてぐじゃってなってるボタン、主成分分析ボタンをおしてみよう。
Principal Component Analysis Dialogなるものが出てきます。
係数何個かを設定するのがAnalyzed Coefficientsだと思いますが、もうNefファイルから読み込んでくれてるっぽいしデフォルトでいーじゃんねー。
(だめなひとは適宜調節が必要)
そいでOKをぽちっとな。

そしたらファイルを保存せい言われるのでてっけっとーな名前つけて拡張子.pcrで保存します。
そうすると主成分分析情報ウィンドウがざざっと出ます。
ざざっとMake Reportボタン押しちゃうぜ。

んでReport Option Dialogが出てくるので、主成分分析の結果出すのにつけたい情報にチェックいれます。
・Analysis Information
・Mean of NEF
・Std of NEF
・Variance-Covariance Matrix
・Eigenvalues & Eigenvalue Proportions
・Eigenvectors
あ、NEFってのが標準化された楕円フーリエさんらしい。
デフォルトでチェックはいってるのは分析情報とNEFの平均と標準偏差、あと固有値うんぬん。
このへんはお好みでどぞー。
んでOKおしたら結果がテキストファイルで保存されます。保存しましょう。


つぎに、電卓マークのボタンを押します。
こいつが主成分得点を計算してくれます。
ぷちっとPrin Score Dlgというウィンドウがでるので、
Nef File NameにさっきとおんなじNefファイルが入っていることを横目で確認しつつ、Pcs File Nameのとこで結果出すファイルの名前をぷりっと決めてしまいます。ファイルアイコン押したらなんかかってにきまる。
あとSelect Manually...のとこで主成分何個抜くか設定できる。
数はまあよしなに。
さあOKボタンを押すんだ。

そしたらなんかずがーんと主成分得点がテキストファイルで出てくるよー。
エクセルにいれやすいようにしてくれているらしいのでこのままエクセルにこぴぺろう。


でもこのまんまだと各成分が何が何やら。
ということで成分ごとの「輪郭」をちいと描いてもらいやしょう。
なんか手のかたちしてるアイコンをくりっく。

なんかHow many Components do you want to be reconstructed?とかきいてきますんで、さっきとおんなじ数でOKにごー。
拡張子.pccで保存を求められますんで保存。
するとどうでしょう、PrinPrintがかってにあらわれて各成分ごとの輪郭をうにょろんっと描いてくれるではないですか。
きにいらんかったらRedrawボタンで描き直せます。
まっこれでいっかーってなったら、プリンタマークのアイコンで保存できます。
うちはプリント先にPDF作成も入ってるので、pdfにしてみました。

サンプルのだいこんみたいな画像で試してみたところ、どーも第1成分はさきっぽうねうね感に、第2成分はほっそり加減に関係するような気がしますなー。
まあそんなかんじに、各成分の性質をてきとーにあてこんで、そのあとでまた主成分分析の結果をじろじろ睨めつければいいわけですな。


ま、使用法としてはそんなかんじっすわー。
パラメタをきちんと理解するためにはちゃんと数学やり直さねばならん必要をひしひしと感じながらも、あるてーどころころ遊べそうな予感。
まあ今度時間のあるときに試してみませう。



以下感想。

えっあっこれすごくね?こーゆーのMRIにつっこんだらいろいろおもしろいことできるんじゃね?
とりあえず有無を言わさずレチノトピックなとことIT野につっこむよね!こんなん見たらね!
って思いませんか。思いますよね。思うでしょう。
この方法ではないですが、別の輪郭を対象とした記述統計つかってオブジェクト認知をMRIにつっこむ研究ってもうされてるんですよねー。
やっぱみんな考えることはいっしょかー。

まあそんなわけで、次時間とやるきをうまくつかまえれたら、別のオブジェクト記述統計についても鼻をつっこんでみたいと思います。
できれば。

この記事にコメントする
              
お名前
タイトル
メールアドレス
URL
カラー
絵文字 Vodafone絵文字 i-mode絵文字 Ezweb絵文字
コメント
非公開 管理人のみ閲覧できます
パスワード   
* コメントの編集にはパスワードが必要です
この記事にトラックバックする
トラックバックURL:
カレンダー
06 2017/07 08
S M T W T F S
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
カテゴリ説明
もっさり:日々の雑感をもっさり。
がっつり:論文や研究関連をがっつり。
びっくり:科学ニュースでびっくり。
まったり:空想科学などでまったり。
ばっかり:デザイン系自己満足ばっかり。
ほっこり:お茶を嗜んでほっこり。
最新コメント
※SPAMが多いのでhttpを含むコメントと英語のみのコメントを禁止しました※
[05/07 ぱるぱる]
[05/06 ぱるぱる]
[05/06 ぱるぱる]
[08/29 初見名無し]
[06/25 あ]
最新トラックバック
プロフィール
HN:
az
性別:
非公開
自己紹介:
興味のあるトピックス
 分野は視覚認知。視知覚にがて。
 あと記憶全般。
 カテゴリ (semanticsか?) とかも。
 最近デコーディングが気になる。
 でも基本なんでもこい。
 好奇心は悪食。

好きな作家(敬称略)
 川上弘美
 小林秀雄
 津原泰水
 森茉莉
 レイ・ブラッドベリ
 イタロ・カルヴィーノ
 グレッグ・イーガン
 シオドア・スタージョン
バーコード
ブログ内検索
カウンター
フリーエリア
PR
<< Back  | HOME |   Next >>
Copyright ©  -- めもめも ...〆(。_。) --  All Rights Reserved
Designed by CriCri / Material by もずねこ
忍者ブログ  / Powered by [PR]