ようこそゲストさん

Yanal-Lab News

メッセージ欄

2015年6月の日記

一覧で表示する

2015/06/11(木) インタラクティブセッション1 岡元

IS1-20 複数カメラを用いた外観が類似する複数物体のリアルタイム3次元復元

DSCN3307.JPG

Track-Graph,MAP-EMという手法を用いる
ターゲット形状に基づき前景領域がターゲットと混同するのを防ぎ、
非常に高速で精度のよい3D復元と物体追跡を実現している。

デモとしておもちゃのサッカーゲームの人形を最大8個までも
正確で高速に追跡できていた。
処理はGPU,CPUで並列に行い30fpsでサクサク実行できていた。


IS1-34 指振りによる簡易な複数機器操作手法の構築

DSCN3312.JPG

4台のカメラが設置されている部屋内で動作によって
複数の家電を操作する。
この時の動作とは非常に小さく、ユーザの負担が小さく恥ずかしかったりしない
複数のカメラで撮影を行っているので3D復元が可能であり
人の形状を復元、その体を中心に座標系を作成する
このおかげでたとえ寝ていても同様に動作で家電を操作することができる。
認識は1~2秒程度で実行され小さい動作でも検出できている。

2015/06/11(木) オーガナイズドセッション1 「産業界で今まさに成長期に入った画像認識」

OS-01混雑環境の安心安全を実現する群集行動解析

概要:監視カメラを用いて立ち入り禁止個所への監視や人ごみの状態把握を行う
人ごみでの人数推定にCNNを用いている
しかしCNNを用いるためには多数のデータセットが必要
そこで人工データセットを作成 精度はほとんど変わらない

以下スライド概要
監視カメラでの撮影を行い、近づいてはいけない個所や普段人がいない位置に人がいることを警告してくれるシステムは存在している
実際にアルゼンチンでは街に800台ものカメラを設置し街を守っている

現在では人の流れや、取り囲みといった細かい環境にも適応できるようにする

施設全体の混雑状況も把握し、異変などにもすぐに対応できるようにしている

混雑検出には人物検出ベースと非人物検知ベースの2種類存在している
人物は混雑時に少し弱い
非人物は混雑時でも可能だが少し精度が低い

CNNで人数推定を行う

プライバシーの問題で実際の混雑映像を撮影するのは難しい
また大体日常風景、非日常はない
なので人工的に学習データを作る
背景データと人物データをそれぞれ作成しそれを組み合わせ学習データを増やす
合成画像でも実環境に負けてない

実用化には様々な環境下に対応しなければならない
背景の影響を受けるので背景を切り落としたりする

群集行動の把握
実用化に向けての工夫


OS1-02自動車の安全運転支援のための画像認識プロセッサ

概要:近年では衝突を回避するようなシステムが求められている
しかしPCを乗せるわけにもいかないので専用のチップを開発する 「Visconti」
CoHoGなどを用いて歩行者・車の検出を行う
中々開発費用が貰えなかった話や今後の自社が生き残れるかどうかなど少し企業よりなお話でした

以下スライド概要
今では衝突安全から予防安全へ
シートベルトからステレオカメラへ

しかし車にパソコンを乗せておくわけにはいかない
画像を与えトップビューや後ろへの変換を行ったりする
提案手法はメモリを太量に持っているので高速な手法である

SfMを用いた距離推定
幾何解析
パターン認識
と様々なものが搭載されだした。
歩行者検出、車両検出、レーン検出を行う

最初はなかなか売れなかった
そのため開発が中々進まない
他社のが流行って作れるようになった
CoHoG

今後市場は拡大し安定していくと考えている
今後は他社と差をつけるため安さや精度、自動運転への対応を考えている

OS1-03 画像解析技術と番組アーカイブス検索システムへの応用

概要:放送のデータは日々たまり続けその情報を素早く検索するシステムが必要
オブジェクト認識と類似画像検索を用いて番組を検索
顕著性マップやSpatial Pyramidなどを用いて既存手法からの精度を上げている
Caltech101やTRECVIDの話などあったが最新の研究と比べてしまうと性能はそこまででもない

以下スライド概要
日々映像はたまり続ける 番組は日100件、ニュースは300件
テープからファイルに変化してきており、映像検索技術の重要性は今後もますます増加
従来にも番組検索システムは存在している。
今までは
人手でメタデータを入れなければならない
番組単位でしか検索できない
言葉で表現できないような映像を検索できない
そこで画像認識技術を利用した映像検索システムを提案

オブジェクト認識
Denseサンプリングと色・テクスチャ・Spatial Pyramid
周辺特徴をまとめて検出それを統合しMax pooling
Caltech101で80%程度
実際の使用環境で90%程度の再現性
TRECVIDでの評価Semantic Indexingタスク
2013年で平均適合率0.1程度 順位40位


類似画像検索
従来技術ではブロックに分割しマッチングを取る
背景や被写体の位置形状の変化の影響を受ける

顕著性マップをいれて被写体領域を抽出
その領域のみで類似検索を行う
ハッシュなどを用いて類似のクエリだけを検索することで精度と速度を向上させている
適合率34%

NHKアーカイブス
1981年以降の番組データを保存
ここで検索も行っている
上記の手法を用いて認識を用いた映像検索システムの作成を行った
2015年1月から4月までを運用テスト
これから分析を行ったりアンケートなどをとる

2015/06/10(水) チュートリアル1 ハッシングによる効率的な大規模画像検索 -近似近傍探索の新たなスタンダード-

DSCN3299.JPG

概要:大規模なデータを高速に探索するためにバイナリコード化させるハッシング手法についてのチュートリアル
高速に処理が行えるためモバイル画像検索や3D復元などに用いられる
基本的ながらも精度のよいPCAハッシングやIQTの説明やグラフ/構造体に基づく方法などの説明を受けた
クロスモーダルハッシングやDeep Learningによるハッシングなどが今後の課題とされる

以下スライド概要
そもそもハッシングとは?
・たくさんのデータの中からざっくりと近いものを早く探すためのcontent-basedなデータインデクシング法
・画像では検索、マッチング、3D復元などいろいろ使われる
・大規模画像処理の基本的なツールの一つ

何のためにあるのか?
基本は近傍探索のため
真面目にやると非常に時間がかかる

近似近傍探索
多少いい加減でもよいことにすると処理速度が上がる
ハッシングはこの近似近傍探索を実現するための代表ツール

ハッシングとは
ハッシュ関数を使ってインデクシングする
低次元なバイナリコードへの変換=ハッシュコードに変換する
もともと遠いものは遠く、近いものは近く

ハッシュランキング
そうすることでハミング距離を求めることで近いものをランキングすることができる。
長所:必ず近似近傍を見つけることができる
短所:距離計算をしなければならない(それでもL2距離などよりは少ない)

ハッシュルックアップ
ハッシュコードで作ったルックアップテーブルを使って一定距離内のデータをすぐに見つけることができる
長所;データが増えても検索時間は変わらない
短所:近似近傍が見つからない場合がある

ハッシュを用いることでモバイル画像検索にも用いられている。
3次元復元では処理時間は通常では21時間、ハッシュでは5分! 243倍!

ハッシュ関数の構成法
局所鋭敏性ハッシング LSH
原始的なハッシュ関数構成の一つ
元の空間の距離に応じて様々なアルゴリズムが提案されている
画像分野では角度距離を保存するランダムプロジェクションが用いられる

LSHはハッシュ関数をたくさん用いなければならないデータから学習するハッシング


ハッシング法の紹介
ランダム型と学習型が存在する
基本的には次元削減+バイナリ量子化
主に教師なし型を今回は議論する

PCAハッシング
主成分ベクトルを引き、そのベクトルに垂直に線をひき01を分ける
10が均等な確率で現れる ビット間の相関がない方がよい
量子化誤差が問題
ITQ
量子化誤差が少なくなるようにデータを回転させてしまう。
その回転行列Rを求める
近傍探索精度を大幅に改善できる 5倍近い改善がみられる
分散が均一化される
様々な発展形が存在している(要旨参照)
ハッシングを行うならまずこれを試してみる

K-means ハッシング KMH
K-meansを用いたハッシング法
代表点にバイナリの値を割り当てその値を用いて距離の計算を行う
ITQでは立方体の回転のみでの対応だったがKMHでは立方体のゆがみによる修正を行う事ができるので量子化誤差を少なくする面で優秀

Double-Bit Quantization (DBQ)
1次元あたり2ビット量子化する
分割した際に次元ごとの量子化誤差が最も小さくなるように線引きする
ITQとの併用で精度がよくなる
グラフ/多様体に基づくハッシング
Laplacian Eigenmaps(LE)
本質的なデータの構造をとらえて低次元化する
多様体構造 簡単にいえば局所的な近接性
元の空間でのデータの局所的な近接性が、より低次元な空間上で出来る限り再現されるように配置する問題を解く
固有値問題

局所的な近接性の観点に近いもの同士が近いハッシュコードになる
しかし単純にLEを適用してしまうと学習データにしか適応できない
なので様々な方法が提案されている

Spatialハッシング
特徴空間を三角関数で分割してハッシング
新規点と既存点との類似度を求める この時にはサイン関数を用いる

Local Linear Embedding LLE
相対距離が保持される
近接する異なる多様体同士を分離して探索できる


現在そしてこれからの課題
クロスモーダルハッシング
異なるデータ同士の相互検索(画像―文書)
多くの場合ユニモーダル(画像―画像)精度を改善できることも知られている
モーダル内類似度とモーダル間類似度の2つの類似度を保持するようなハッシュコードを求める
詳しくは要旨参照

超次元ハッシング
検索はデータ数に対して比例しない時間で実行できる
ハッシュコード生成は1ビットあたり特徴次元に比例する時間かかる
特徴ベクトルを行列に折りたたむことでメモリの削減などを行う

Deep-Learning Hashing
CNNを用いたハッシュ法特徴抽出とハッシングが同時に行える

1: Apposcofs 『 スーパーは時計をコピーしますブランド偽物、偽物ブランド、ルイヴィトンコピー、 ロレックスコピー、シャネルコピー、グッチコピー、...』 (2023/05/20 17:06)

2: pneurgig 『 激安ブランド,財布コピー,偽ブランド,偽 ブランド財布,偽物ブランド財布,ブランドコピー,ヴィトンコピー,ルイヴィトン財布偽物...』 (2023/05/21 27:35)

2015/06/10(水) チュートリアル2 Deep-Learningによる画像認識革命 –歴史・最新理論から実践応用まで-

DSCN3302.JPG

発表スライド

概要:Deep Learningの歴史や現在の立ち位置の説明
画像認識での性能や今までの手法(BoVW)との比較しての説明を受けた
CNN内でどのようなことが起こっているかの説明
もうすでにかなり研究が進んでおり、全結合層やプーリング層が必要ないのではという見方も存在している
どんな対象にもうまくいくわけでもなく本当に自分のやりたいことがDeep Learningに適しているのか考える必要がある。
実装を行う際にはどのようなところに気を付けるのか 学習率など
最新の研究ではセグメンテーションやパターン生成などにも用いられている


以下スライド概要
画像認識分野におけるDeep-Learningの歴史
一般物体認識において非常に良い精度を示している
ニューラルネットワークを用いた人工知能の構築技術の総称
脳の働きを模した学習アルゴリズム
深く大規模な構造を備えていることが特徴
ニューラルネットワークは脳神経系を模した数学モデル
人工ニューロンのシナプス結合強度を変化させて問題解決能力を獲得する
2010年ごろまではあまり良い精度は示されていなかった
2012年に大ブレーク!
現在では人間同等の精度
また静止画に限らず動画、画像処理などにも用いられる

畳み込みニューラルネットワーク
脳の視覚野の構造を模倣した多層パーセプトロン
ニューロン間の結合を局所に限定(パラメータ数の大幅な削減)

局所領域の畳み込みとプーリングを繰り返す多層ネットワーク
様々なフィルタをかけ出力を求める
プーリングでは一定領域内の畳み込みフィルタの反応をまとめる
領域内での平行移動普遍性を獲得
層が上がるにつれてクラスの分離性能が上がる

ニューラルネットではすべてを学習で決める
End-toEndでパラメータを最適化
誤差逆伝搬法
非線形変換の(活性化関数)の設計が重要

基本的な構造は今までの画像認識と変わらないが深さなどの違いにより精度が非常に向上している
より一般的な全結合・局所結合ネットワークなどは今一つ

Deep-Learningの数理
ある一定の表現能力を得ようとした場合、深いモデルの方が必要なパラメータが少なくて済むと考えられている
結論は出てない 反論もある

最近ではできるだけ少ないパラメータで深い非線形性を与える
一つのレイヤー内のパラメータを増やすのは効率が悪い

全結合層もいらない?
CNNのパラメータの大半は全結合層に集中
あくまで1層内でのパラメータなので、そこを増やすよりも深さを増やした方がよい
良い結果を示しているネットワークでも全結合層は存在していない
DeepModelの計算コストは“相対的には軽い”
FisherVector:2億6000万
AlexNet:6000万
Network in Network:750万
同じ性能をShallowで出そうとしたらもっと大変な計算!

今まではできるだけ作りこみ表現能力をあげ、パラメータを増やすことが必要だった
Deepではできるだけ余計なことはせず1層は「シンプルにしパラメータを減らす
多層化し、すべてデータに任せる

なんで今できるようになったか
根本的には変わってない
マシンパワーももちろん大きい
昔は
Vanishing gradient:誤差のせいでパラメータが更新されにくかった
過学習のせい

0:マシンパワー
1:活性化関数の発明
2:過学習回避手法
3:その他の最適化のノウハウ

すでに時代遅れになっている技術もある。
全結合層、プーリング層もいらないといわれている
Rectified Linear Units(ReLU)
プラスならばどこでも一定の勾配
すべての入力データが負になるとパラメータが2度と更新されなくなる
負の側にも少し勾配を与えたReLUも考えられている

DropOut
各訓練データのフィードバックの際に一定確率で中間ニューロンを無視
訓練時は全ニューロンを使うが結合重みを半分にする
L2正規化に近い効果を示し以前と比べ大幅な精度向上→ほぼ必須なテクニック!!

実際には学習を実行するのは非常に困難
設定すべきハイパーパラメータが極めて多い


実践するにあたって
どのようにDeep Learningを使うか
教師付大規模データが必要

Fine-tuning
出力層だけを取り換えそこを元に再学習を行う
Pre-trained network
中間層の値を取り出しその値をSVMなどで分類を行う

必ずしもDeep Learningがよい結果を示すわけでもない
Fgcomp2013

教師付データが十分あるのか?
ImageNetに含ませるタスクか?
上記2点を判断して使用するタスクを判別する

ImageNetから離れた領域では圧倒的ではない

ハードウェア
GPU必須 Titan Black
オープンソース
Caffe;画像メイン Torch7:汎用的 Theano:ロジックレベル
学習を始める前に
基本的にはコミュニティで共有されているネットワークを使用する
訓練誤差・予測誤差・過学習・正規化についての理解が重要
よくあるトラブル
訓練誤差が減ってない→学習が破綻→学習率を小さくする
学習率の設定は一番重要
訓練誤差は減っているが、予測誤差が大きい→過学習→正規化を強くする→(dropoutの割合を増やす)、ネットワークを小さくする
訓練誤差と予測誤差がほとんど変わらない→アンダーフィッテング→ネットワークを大きくする

まとめ
一層ごとの基本的な構造は同じ
作りこみからデータ任せへ
構造を深くすることで少ないパラメータで強い非線形変換を表現
とにかく1層はシンプルにし積み重ねるのが近道

実践方法
学習率に気にしながら調整

まだまだ新タスクへの適用は続く
本質的にはCNNの構造に依存している
より汎用的な人工知能に近づくことができるのか・・・?

2015/06/10(水) チュートリアル3 特徴点追跡による動画像からの逐次3次元復元とその応用 –座標系の基礎から応用事例・最新研究動向まで-

DSCN3305.JPG

概要:画像内の特徴点を検出、追跡することによりカメラの位置姿勢や特徴点の座標を求めることができるv-SLAM手法の説明
v-SLAMを用いることでARやDR、自由視点画像生成、ロボットナビゲーションなどに用いられる
先行技術としてSfMという技術があるが得意としている機能が異なりv-SLAMでは特にリアルタイム性が優れている
カメラの位置姿勢推定には決められた点を測定しPnP問題を解くことで実装される(これはOpenCVなどで容易に実装できる)
特徴点追跡にはFAST特徴量など簡単で高速な特徴を用いる
これはカメラの位置姿勢がわかるのでスケール不変性を考える必要がないためである(SIFTなどはいらない)
現在ではマシンパワーの向上により全画素を用いたDirect methodなどが考案されている

以下スライド概要
Simultaneous Localization And Mapping SLAM
もともとはロボット分野の研究用語
ロボットの位置推定及びマップの推定
ロボット分野では各種センサ情報を手掛かりに
CV分野では動画像情報

動画像を解析することで逐次の位置・姿勢とシーンの3次元情報を推定する手法
カメラを用いることで安価に様々な情報を取得することができる

実現ではARやDR、自由視点画像の生成、ロボットナビゲーションなどもできると考えられている

SfMとv-SLAMの関係
SfM:オフライン 高精度 入力情報のすべてを用いることができる
v-SLAM:リアルタイム出力 そこまでの情報のみ

SLAMの実現方法
何らかの方法でカメラ位置の初期値が与えられればLocalization mappingを繰り返すことで実現できる
基準となる座標系を設定する
その時々に応じた座標系が必要
ワールド座標系 全体の共通基盤となる座標系
ローカル座標系 物体ごとに設定されている座標系
絶対位置姿勢 他の系から参照可能で再現可能な世界座標において推定される位置姿勢情報
相対位置姿勢 再現可能でない座標系による推定
v-SLAMでは相対的な位置姿勢しか推定できない

カメラ位置姿勢を推定することでARなどをよりリアルに投影することができえる
座標変換には平行回転を考慮した座標変換行列を用いる

自由度は6

投影モデル
直行投影や透視投影を行う事ができる

誤対応
RANSAC 少数の点を繰り返し対応を付ける
繰り返し回数が少ないと処理が破綻する可能性がある
また誤対応が多いと処理に時間がかかる
M推定 最小二乗法ではoutlierの影響が極めて大きくなるため例外値の重みを小さくするような誤差関数を用いる方法
Outlierの影響を完全に排除できない
局所解に陥る場合がある

人工マーカーを用いるのは配置や維持、美観の問題から難しい
そこでシーン中に存在する特徴点や線特徴を利用して位置合わせを行う

3次元位置が基地の対象があればPnP問題を解くことができる OpenCVでもできる
既知の対象としてはマーカーや自然特徴点
3次元位置をリアルタイムで推定できればv-SLAMを実現可能

自然特徴点の3次元位置推定
カメラの位置が既知でありかつ画面上の位置が既知な場合はObject Space errorまたはImage Space Errorを最小にすることで特徴点の3次元位置を推定可能

v-SLAMでは処理が高速であること繰り返し再現性が高いことが求められる
スケール普変性は考慮する必要がない
FAST特徴量やShi-Tomasi特徴量を用いることが多い

v-SLAMではカメラの位置姿勢が既知であるためスケール変化、回転、変形について補正することができる
このためSIFTやSURFなどの特徴量を使う必要はない
テンプレートマッチングでよい

対応点の探索範囲
カメラの動きや画像間の最大視差より対応点の探索範囲を限定している


v-SLAMのアルゴリズム
カメラ運動を先に推定する方法
初期位置でMAPを与える方法
同時に推定する方法

蓄積誤差の問題
1%の誤差であってもそれが100回続くと1.01の100乗で270%もの誤差になる
なので多数の地点から観測可能な点を存在させそこからスケールを取得、誤差を抑えることができる

順次復元によるv-SLAM
OpenCVの関数を組み合わせることで実現可能

PTAM
MappingとTrackingを並列かつ非同期に行う事で実時間処理を実現しながら蓄積誤差を解消を図る手法

様々な課題への対応
画像から実際の大きさの推定はできない 何らかの外部指標が必要
絶対位置の決定
マップがその場で構築されるため位置に依存した情報サービスの提供には事前に何らかの事前指標が必要となる

Direct method
特徴点に限定せずすべての画素の3次元情報を利用した位置合わせを行う
基本的にはphoto consistencyを高めるようにカメラ位置姿勢を推定する枠組み
Feature/key-point based method
特徴点のみを利用しそれ以外の情報は利用しない

まとめ
v-SLAMの基本は特徴点のトラッキング、カメラ位置姿勢3次元位置推定最適化処理の繰り返し
OpenCVや他のオープンソースも出てきており開発の敷居は下がっている