--.--.-- --:-- | EDIT
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Category: スポンサー広告
Permanent Link | Comment(-) | Trackback(-) | PageTop↑
2015.09.01 15:40 | EDIT
cvpaper.challengeの最初のチャレンジであるCVPR2015の論文602本を完全読破しました。

論文を一気に読んだことでメンバーの知識量や研究への意欲向上のみならず、英語論文を読むことへの抵抗感がなくなったように感じます。最先端の論文を読める集団にしたい、体系的に知識を収集したい、という目標は達成できたのではないでしょうか。共著のメンバーを鍛えるためでもあったのですが、気付けばその頑張りに感化されて自分も必死で論文を読んでいました。

当初は今年終わるくらいまでに読み切れればいいと思っていたのですが、途中メンバーからも提案をもらい締め切りを設定し、一気に読み進めることができました。7月と8月に読んだ論文量は450本を越えていたと記憶しています。2015/5/7-2015/8/25の110日間、5.47本/日のペースで読み続けてきたことになります。

ここまでで「①荒く概要や論文・動画などのリンクを書き出す」が終わったので、「②研究内容によるクラス分類により分野の動向を把握③ドキュメントにまとめて共有」と、次はまとめる作業へと移行します。

CVPRがコンピュータビジョン系のトップ会議であることから、この作業をすることにより「コンピュータビジョンの今」を映しだすことができればいいですね。

下は、SlideShareにアップロードした全論文の要約です。

・cvpaper.challengeについて


・2015年5月分


・2015年6月分


・2015年7月分(1/2)


・2015年7月分(2/2)


・2015年8月分(1/5)


・2015年8月分(2/5)


・2015年8月分(3/5)


・2015年8月分(4/5)


・2015年8月分(5/5)
スポンサーサイト
2014.11.08 17:19 | EDIT
ECCV2014のワークショップ,2nd Workshop on Computer Vision for Road Scene Understanding and Autonomous Driving (CVRSUAD)にて面白い論文が出ていたので共有します.

この10年間の「画像ベースの歩行者検出」の成長の歴史をまとめた論文を,MPIIのRodrigo Benensonがまとめていました.

論文中のFigure1を見ると,2004年時点の手法としてViola-JonesのHaar-like特徴量と2014年の手法であるkatamari-v1特徴量の比較をして,精度が上がっていると指摘しています.

(Figure1を見て)もう少し具体的に改善点を言うと,
- スケールへの対応
- 複雑背景下での検出
- オクルージョンハンドリング
- 形状が似ている物体への誤検出の低減(人物領域の中でも脚領域のみを人物として検出してしまうことはよくあることでした)
が挙げられます.

下の画像を見てみると,精度の改善が一目瞭然です.ちなみに,%はmiss-rateなので,小さいほど精度が良いことを示します.INRIA training,Caltech-USA trainingはそれぞれのデータセットでの学習,Other trainingはCaltech-USAの拡張版(画像を増やした?)だそうです.違う場面における学習では精度が上手く出ないことを述べていて,やはり同じドメイン,そしてさらに学習画像を良好にした場合ではさらに精度が出るということも示しています.それを考慮しても,最高精度を出した手法は著しく精度が上がっていると位置づけています.

pd_eccvw

結論には,チューニングされた歩行者検出Big3 (deformable part models, decision forests, deep networks)の精度はあまり変わらないとのことです.
(DPM, decision forests and deep networks are based on different learning techniques, their state-of-the-art results are surprisingly close.)
2013.06.03 13:51 | EDIT
サーベイ論文,"Crowd analysis: a survey"(混雑解析サーベイ)を読んだのでメモを残しておきます.

Beibei Zhan, Dorothy N. Monekosso, Paolo Remagnino, Sergio A. Velastin, Li-Qun Xu, "Crowd analysis: a survey", Machine Vision Applications (MVA), Vol.19.5-6, pp.345-357, 2008.

この論文では主にコンピュータビジョンベースの混雑状況解析について説明されていました.

混雑情報の取得
- 混雑位置検知
- 人物の認識(顔や頭部)
- 歩行者や混雑の認識(オクルージョンや時系列手法)
- 追跡(追跡手法,インタラクション,複数カメラ)

混雑状況モデリングやイベント推定
- コンピュータビジョンによる混雑解析
Optical Flowや追跡情報,領域分析による混雑状況モデリングとイベント推定
- コンピュータビジョン以外による混雑解析
物理モデル,エージェントモデル,自然モデル


コンピュータビジョンによる混雑状況の解析においては,詳細なモデリングが困難なため個人ではなく領域単位の追跡が複数見られました.正確ではないかもしれないですが,「個人→グループ→混雑」みたいに階層化する方が有効であるという意見もあります.
個人的には,オプティカルフローにより特徴点を抽出していかに統計モデルや識別器に落とし込んで解析できるかが有効だと思います.また,オプティカルフローを出来る限り詳細に(数多く)取得できるかが「個人→グループ→混雑」を検出・解析するキーになるでしょう.

他に気付いたこととしては,サーベイに引用されている論文が1990年代後半以降で,殆どの論文が2000年代に書かれています.追跡技術が十分に出来ていないと混雑の解析は出来ないので,コンピュータビジョンによる混雑解析は比較的歴史が浅いのではと考察できます.他の分野においては研究と実利用化が行われていると思うので,コンピュータビジョンとプラスして人工知能や物理モデルなんかを当てはめると良いと思います.

以上,混雑解析サーベイとその考察でした.

参考
Crowd analysis: a survey - Springer
2013.04.08 13:25 | EDIT
去年,コンピュータビジョンの研究の進め方について投稿しました.

今年はその改訂版として新たに内容を加えました.

以下,赤字が新しい内容です.

[勉強方法]

1.プログラミング

- 基礎力
僕の使っている言語環境は主にC++です(Visual StudioまたはXCodeにて).3年生の研究室配属のとき,最初に一冊基礎の参考書を読んでから研究に入りました.もちろん,今まで少しずつ勉強は進めて参りました.構文を調べる時には,C++編(言語解説)/C++編(標準ライブラリ)を参考にしてきました(もちろん,今まで参考にしたページは数多くあります).

-ライブラリ
コンピュータビジョンの分野においてはOpenCVがライブラリとして使われてきました(OpenGLなんかも?).Kinectが登場した今ではOpenNIや Point Cloud Library(PCL)なども盛んですね.基本的には最初に触って遊んでみて,次にリファレンスを確認してどんな機能があるのかを覚えておくと問題に直面した時どの関数が使えるのか,という見当が付け易そうです.あとは,研究を進めて行く中でどんどん覚えて行きます.

- 自分で実装する
もちろん,コンピュータビジョンの知識がついてきてカスタマイズしたいと思った場合,どうしてもライブラリでは解決出来そうにない問題に直面した場合には自分で手法を実装する必要があります.最新の関連研究の論文に書いてある手法を試したい時にも自分で実装しなければなりません.そのためにもプログラミングスキルは磨いておくのが良さそうです.また,数学やコンピュータビジョンの知識も必要になるでしょう.僕は「完璧に理解すれば実装はできる」と思っているので,実装する時には手法についてとことん理解度を高めるようにします.文献を読んでみて,紙に書いて,プログラミングを書いてテストしながら前に進めます.

- コードリーディング
たまに他人が書いたプログラムを参照しています.参照する時にはオープンソースをみてみるのが良いでしょう.CVPapersのページでも,Computer Vision Algorithm Implementationsがあり,フリーで獲得出来るソースが多く載せられています.ここにも載せられていますが,OpenCVの中身をみてみるのも結構面白いです.

- トライアンドエラー
実際にやって試すことや,失敗することは非常に大事です.従来手法を実装してみたものの,うまく問題を解決できない時もあります.そのときにどうするかを考えて,自分の経験や知識を従来の方法に付け加えて新しい手法になることもしばしばあります.「従来手法の後追いをしてもしょうがないじゃないか」みたいな考え方もありますが,サーベイして歴史を知る,そしてそれを破ることで新しさが生まれる事は多いです.また,自分の失敗の繰り返しの中でも新しさは出てきます.あきらめずに挑戦・失敗・改善・失敗・改善...の繰り返しです.


2.コンピュータビジョンの基礎知識

どれだけの手法を知っているか,で研究するための引き出しの数が変わり,問題解決能力が高まると感じます.最新の論文から知識を獲得するということもありますが,スタンダードな手法になっているアルゴリズムを勉強するのが手っ取り早いと考えます.以下は,僕が今まで読んだことがあるコンピュータビジョンの本です.スタンダードな手法が主に取り上げられています.(注:全部読みきったわけではありません)

- ディジタル画像処理, CG-ARTS協会
→ディジタル画像とは何か?から始まり,単純なアルゴリズムが紹介されていて,画像処理入門者が簡単に読めるような構成になっています.最初に読む一冊.

- コンピュータビジョン最先端ガイド,アドコムメディア
→最先端のアルゴリズムがチュートリアル形式で丁寧に取り上げられています.一章毎にひとつのアルゴリズムが解説されています.シリーズ化されていて,2012年4月現在では4巻までが発行されております.

- OpenCV 2 プログラミングブック,マイナビ
→OpenCV使い方とアルゴリズムの説明があります.コンピュータビジョンのアルゴリズムとOpenCVによる実装方法が同時に勉強出来るのでお得な本です.研究にOpenCVを使う人は一読することをおすすめします.僕が勉強していたときは1.0版ですが,OpenCV2シリーズ対応の本が出ています.

- Computer Vision: Algorithms and Applications, Springer
→Microsoft ResearchのRichard Szeliskiさんが書いている本で,上記リンク"Latest Draft"からpdfが配布されています.アルゴリズムはもちろん,それが何に使えるのか?という視点でも書かれています.中を見てみると,カメラ幾何のお話が多いという印象を受けます.

こちらの書籍は訳書が2013年に「コンピュータビジョン-アルゴリズムと応用-」というタイトルで出ていて,既にご存知の方も多いと思います.日本語訳なので最初に勉強するときには読みやすいと思います.

- Multiple View Geometry in Computer Vision, Cambridge University Press
→主にカメラ幾何の話が紹介されている,比類なき書籍です.カメラ幾何を勉強するならこれ.

その他,オライリーの詳解OpenCV,佐藤淳先生のコンピュータビジョン-視覚の幾何学-,David A. Forsyth先生,Jean Ponce先生のコンピュータビジョン,などなどたくさん出てきますね.


3.論文(サーベイ)

- 有名な国際学会・論文誌から探す
まずはCVPR,ICCV,ECCVなどのトップカンファレンス,PAMI,IJCV,CVIUなどトップジャーナルから探しています.トップカンファレンスの論文はCVPapers-Computer Vision Resourceから見ることができます.このページは非常に良く見る重要な情報源です.ここに論文のリンクが無くても,著者ページにあることも多いので,目に留まった論文についてはタイトルや著者名で調べることをおすすめします.

- 読んだ論文の関連する論文を探す
トップカンファレンスに出てくる人は,ほぼサーベイを十分にしています.逆にいうとサーベイをちゃんとして,その研究の位置づけをしていないとトップカンファレンスに通らないです(僕も何度か落とされて痛感しました).なので,その研究者のサーベイ能力を借りてどんどん調べて行きましょう.しかし,全ての論文に対して関連する論文をピックアップしてしまうと,とんでもない数を読むことになります.特に関連する論文を見つけ,さらにその中でも強い関連がある論文だけにしておく必要はあると思います.

- 著者を調べる
トップ会議でよく名前を見る人は,その人の年代を追ってサーベイしてみると面白いです.こういう人はほとんど自分のページを持っているものです.研究者のページから研究に関する情報を収集しましょう.

- 分野別のサーベイ本やサーベイ論文を読む
例えば,ヒューマンセンシング分野で言うと"Visual Analysis of Humans - Looking at People",カメラ幾何分野だと前述の"Multiple View Geometry in Computer Vision"がサーベイ本にあたります.それぞれの分野についてまずはその類いの書籍がないか確認すると良いかと思います.また,それ以上にサーベイ論文はたくさんあります.PAMI(IEEE Trans. Pattern Analysis and Machine Intelligence)やCVIU(ELSEVIER Computer Vision and Image Understanding)などのジャーナルや国際会議論文でもサーベイ論文は数多く出回っています."(キーワード) Survey"などで調べると出てくることが多いです.


[論文の読み方]

読む順番と把握する情報

- アブストラクト→結論→図とその注釈→本文

- アブストラクト:全体の内容を簡単につかむ

- 結論:どのくらいの成果が出ているのかを知る

- 図と注釈:図で分かり易く,そして具体的なイメージをつかむ

- 本文:全体の流れ,実際のアルゴリズム,数式,実験結果
全体の流れは,序章の次あたりにあるはずです(無い場合もありますが).ここで,全体としてどういう流れで,どんなアルゴリズムを使っているのかを知ります.知っているアルゴリズムや,オリジナルのアルゴリズムを分類するだけで,その論文では何を重点的に調べる必要があるのかがある程度わかります.
分からない数式は,僕の場合一回書いて理解しようとします.また,理解した後もノートに書いてあると何度か見ることになるので,書くという方法を採用しています.


[研究の進め方]

1.情報の獲得
適切なタイミングで,適切に情報を得ることが重要です.上で詳解した方法を一通り試してみると,状況に応じて「何が使えそう」ということが頭に浮かぶはずです.最初は容易なことではありませんが,知識を積み重ねることによって,出来るようになってくるでしょう.

2.勉強しろ!
これは,コンピュータビジョン界の大先生から「博識になる方法」として実際に言われた言葉です.博識の人と知識が無い人も実は入ってくる情報は変わらないのではないか?と言われました.引き出しを多く持っていると,その人の中に残る情報量が違う,と解釈しました.日頃から専門分野だけでなく,多くの分野に精通させて,何にでも興味を持って知識を累積しておくことが博識になるための道だと感じました.研究には直接的に関係ないと思われる知識に関しても貪欲に蓄積していくと,あるところで繋がる事もあると感じました.複数分野に精通することでも道が拓ける可能性も広がると思います.

3.論文・読書とアイディア帳
多くの知識を入れ,アイディアとして出す.この,インプットとアウトプットの回転効率を上げることでアイディアの質を高める,ということは今,僕が大事にしていることです.論文を毎日読むとか,読書を年間数百冊読もうとかがインプットに,そしてブログや友達や周りの人に研究のことや得た知識について話すことがアウトプットとして上げられます.また,いつも研究ノートを持ち歩いて,アイディアが思い浮かんだら書くようにもしています.アイディアにノートを書くことは,発明王Thomas Edisonや,アイディアマラソンを参考にしています.

4.ミーティングを活用
他の人の知識をうまく利用して,新しい突破口とするためにも,ミーティングに限らずいろんな人と話す必要があります.自分だけでは限界と思っても,他の人の中に解決策が存在する場合があります.またはブレインストーミング的に新しいアイディアを考えたり,知識を増やすためにも人と意識して話す必要はあるでしょう.研究テーマを決めるときや何か研究の手法を拡張させようとするときに手を借りると研究が強化されます.

2013.02.06 14:40 | EDIT
最近MacBookProを新しくしたので,作業するために環境を構築していました.

OSXのTerminalからインストールすることも多くなったのですが,そんなときに役に立ったのが"Command Line Tools for Xcode"でした.
インストールすると,makeなどインストールに必要なコマンド集がそろっています.
Xcodeだけではうまく行かないときに試してみてください.

自分の過去ログ「 MacにOpenCV(2.4.2)を入れてXCodeで使いました
」を実行したときにどうもmakeコマンドがないと表示されるのでコマンド集を入れたのでした.

Apple Developper にログインした後で,"Command Line Tools for Xcode"と検索すると見つかります.
自分のPCのOSに合わせてインストールしてください.
(今回はMountain Lion版をインストールしました!)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。