第8回名古屋CV・PRML勉強会に参加しました

今日は第9回名古屋CV・PRML勉強会が開催されます.

1ヶ月前の第8回の報告を今さら!!
ていうか,第7回が飛んでますね><

さてしょっぱなからツッコミどころ満載ですが,第8回についての報告を.
第8回もまた非常に素晴らしい内容で,本当に参加してよかったと思っています.

ということで,いつもの箇条書きメモ形式でまとめました.
といってもまとまりはぜんぜん無いです.ホントにメモそのままです.

今回の勉強会について

  • 日時: 2011年6月19日
  • 場所: 中部大学名古屋キャンパス(いつもの場所)
  • イベントページ: http://partake.in/events/2274776c-bf38-47aa-983a-282199fd742c
  • テーマ: 『デジカメの画像処理』(amazon)の著者をお招きし,

    • オムロン・川出先生より,3章『人物画像の処理−最高の表情を撮る−』
    • 中部大学・藤吉先生より,4章『物体の追跡−ねらった被写体を逃さない−』
    • この本は2011.4.22に発売されたばかり
    • すごく読みやすい本です

      • これから研究とかする初学者…っていう一見ニッチなようで実は需要の大きい層にがっちり食い込んでると思います

川出先生による人物画像処理について

川出先生について
  • @gajin3
  • オムロン株式会社 技術本部 コアテクノロジーセンタ
  • 名工大卒

    • 勉強会会場付近などはまさにホームタウン
  • もともとCAD/CAM/CAEのアルゴリズム開発等
  • カーネギーメロンから画像による人認識

    • ロボットへのティーチング,つまり人と同じことをさせる
    • 金出先生のもとで!
  • 今年から画像センシング・コア技術 研究開発リーダに

    • 特定アプリケーションではなく!
オムロンはなぜデジカメによる人の最適撮影のための技術を目指したか
オムロンはセンシング企業
  • 視覚は人間の感覚の83%

    • つづいて聴覚,嗅覚,触覚,味覚
  • 要するに,デジカメによる最適撮影技術っていうのはある意味当然の帰着だった!
1965〜,オムロンでの最初のとりくみ
  • 偽札とか,自動改札とか
1980頃〜
  • ナンバープレート読み取り
  • 旅行時間表示
  • 車種判別

    • ステレオで三次元形状計測
    • ETCでの車種別,とか
1985
  • 文字とか製品とか
  • はんだ検査
  • 工業製品の検査
  • 文字の読み取り
「何か新事業を!!」
  • これまでの流れで,川出先生が新事業に着手
  • 人と機械のベストマッチング

    • 人が機械に合わせるようでは
    • 機械が人に合わせなければ
1995〜,顔
  • 似顔絵シール自販機 似テランジェロ

    • 平均顔からのはずれた部分を誇張する,というスタイル
    • ほとんど川出先生が実装
    • これはビジネスとしてはあまり成功しなかった...
  • その後,逆に,美しく撮る技術を!!

    • 瞳補正とか美肌美白補正とか

      • 「なぜかオムロンだと綺麗に撮れる!」→人気
      • 開発段階ではJKやJDを呼んで試験
    • このときの技術が今すごく生きてる
    • 今はFuRyu(フリュー)で!(オムロンからフォークした会社)

      • フリューといえば写真シール製作機のトップメーカーですね
  • 顔画像エンタテイメントサービス「おかおネット」

    • 「写メール」の出た日に開始した
    • 人相とかランキングとか似てるかとかを判定するような
    • 研究者の趣味としてはじめたら

      • 研究所のサーバでサービス提供してた
      • ※顔データ集めるのも目的として
    • 雑誌やらテレビやらにひっぱりだこになった
    • その後auやdocomoの公式アプリにも
    • 事業としてこっちもかなり成功
その後
  • アナログ画像機器がデジタル画像機器になってきた!

    • デジカメの販売は今や3.8台/秒
    • さらに,デジカメで撮る写真の70%は人!
  • デジカメのトレンドは「より簡単に」

    • 撮影の自動化→人に最適な自動撮影

      • AF/AEモジュール
      • 加速度センサ
    • 顔フォーカスとか→個人に最適な自動撮影

      • 顔検出顔認証
  • 顔検出LSI

    • 2003年には,世界最初の顔検出LSI
    • だいたい33ms程度で処理
    • 顔向き左右60度
    • 最小20px
    • 30万ゲート
    • 回転OK
    • 2008年くらいにはもうほとんどのデジカメに入ってきた
    • 僕の持ってるデジカメは富士フィルムのFinePix F100fdでちょうど2008年の機種ですが,顔検出能力についてすごく宣伝されていたのをよく覚えてます.
デジカメによる人の最適撮影について
  • 主にデジカメに載ってるものについての話
最適顔撮影
  • 露出
  • フォーカス
  • 構図
顔最適タイミング撮影
  • スマイルシャッター
  • 目つむり防止
顔最適補正
  • 美肌,美白,小顔,瞳,赤目

    • (写真シール自販機の技術)
最適顔検索
  • 顔の検索

では順に.

顔最適撮影
  • 顔がどこにあっても人の顔を検出し自動的に焦点を合わせる.(AF)
  • 露出も(AE;オートアイリス)
  • 検出された顔の中で特定の人に優先的に焦点や露出を合わせる
  • 赤ちゃんとかに最適な色合いや露出がある
  • ペットの顔もできる.
最適顔タイミング撮影
  • 最も「笑顔度」が高い顔で自動シャッター
  • 目が開いたところで自動シャッター

    • 集合写真で全員が目開いてたら…と
  • 視線シャッターも

    • 正面を向いたときに自動シャッター
適顔補正
  • 一番多いのは美肌補正

    • 髪や目元や眉や口元はハッキリ
    • 頬とか肌のしみそばかすにきびけあなは補正
  • 美白補正も(ちょっと色を白めにする)
  • 小顔補正

    • 顔を少し小さく細く
    • エラを,とか
  • 瞳補正

    • 瞳を少し大きく
    • すこしアイキャッチを
  • 赤目補正

    • 欧米では特に宗教的に嫌われてる.
最適顔検出
  • 同じ人を検索,とか人物毎に自動分類,とか

デジカメ向け顔画像センシング技術のデモ

デジカメ向け顔画像センシング技術の概要(本題!!)

デジカメに求められる顔画像センシング技術
  • OpenCVとかあるけど,それをデジカメとかケータイに載せるには?

    • そのままじゃ無理.組み込み機器の制約として.

      • 小型    ROM,RAM,メモリアクセス数に制限
      • 高速    リアルタイムで30ms,オフラインでも1sec以下
      • 高精度
      • 耐環境性    照明,顔向き,人種,老若男女,表情
      • ※オムロンのは世界に載ってるので
デジカメにおける顔画像センシング技術の体系(階層)
  • まず顔を見つける,追跡する

    • 顔検出
    • 顔トラッキング
  • 顔器官を見つける,追跡する

    • 顔器官検出
    • 顔向き推定
    • 顔器官開閉トラッキング
    • 肌領域検出
    • 顔輪郭検出
  • 顔や顔の状態を見分ける

    • 年齢とか
    • 笑顔とか
    • 認証とか
  • 代表的な顔検出手法

    • Haar like
    • adaboost
    • (あと何かメモり忘れた)
  • 生まれたばっかの子は目と口の3点から見てく.

    • 顔写真の解像度さげてくと,同じ感じ
  • Haar-Like特徴量

    • 2領域の平均輝度の差が特徴量
    • 隣接する部分的な明度さで顔か非顔かを判別
    • 年齢とか向きとか人種とか表情とか照明とかにけっこう強い
  • 多種類のHaar-like特徴量

    • たんなる2つのあれじゃない
    • 24×24で18万種類!
  • Haar-likeの高速化

    • 矩形領域の平均輝度は全ての画素の輝度値合計を求めないといけない

      • →Haar-likeの領域が大きいと重い
  • なので,「積分画像」という考えで高速化

    • ある点の画素は,
    • 画像の左上からその点までを含む矩形内の画素値の累計
    • そうすれば一発で求まる
  • このへんはそれこそ競技プログラミングなんかでもわりと頻出のテクニック
  • Haar-like特徴量による顔・非顔の判別

    • 特徴量
    • 確率関数
    • 出力関数

      • →学習!
      • AdaBoost    →Haar-like特徴量の選択
      • 正解データと非正解データ画像を用意する.
      • 位置・サイズ・形状を変えた各種のHaar-like特徴量候補
    • 評価では特徴量候補ごとに評価して,その最大値を重みにするてのを繰り返す

      • こうすると順に,最も顔を表す特徴量を(重みと共に)選べる.
      • 一つ目が最も顔らしさを表す,次のはそれで見落としたのを…というかんじ
      • AdaBoostによる階層化棄却(顔以外のところをスキャンするのは無駄)
      • 顔かもしれない所だけ調べたい
      • 目がある?
      • 口がある?
      • 動物じゃない?
      • こうしてできるだけ早い段階で領域をハジいてしまう
  • ココまでの方法だと,

    • 小型化△

      • 特徴量は大量
      • いろんな大きさでの積分画像を容易,それはデカい
      • メモリアクセスも多い
    • 高速化△

      • 特徴量演算や加減算も多くて遅い
    • 高精度△

      • 特徴の表現力が弱いのでちょっとロバスト性が
  • さてこれらをどう改良する.

    • 積分画像の改良→自由な位置で高速に出したい

      • Granular Imageによる顔検出
      • 1/1,1/2,1/4,1/8の4つの画像から構成
      • 部分領域はGranular Imageの1pixelに相当する.
      • →1回のデータアクセスでhaar-likeの部分領域の平均輝度値を求められる.
      • 同等のメモリアクセスでより複雑な情報を表現できる.
    • Sparse特徴量

      • Haar-Likeは隣接する2つの領域での差だったけど,Sparseでは部分領域グループ間の明暗差で判別
      • 位置やサイズ(4段階)や数が自由
      • (共起確率的な感じ?かと思った)
      • →少ない特徴量で顔を捉えることができる!
  • それでもまだ計算量が多い><

    • 部分領域の平均を求めるのは多い
    • Joint Sparse特徴量(さらなる高速化)
    • 部分領域間の明暗差の大小関係を複数箇所の組み合わせの発生確率により判定
    • 要するに,輝度値じゃなく,明るいか暗いかの二値で判定!
    • 部分領域の平均輝度の差も1か0か.

      • ほとんどビット演算だけで顔検出ができてしまう
      • 濃淡度合いを無視してしまうことで,コントラストの変動に対してロバストに!(超驚!!!!!!)
  • 精度についても

    • 顔の大きさの対応

      • いろんな顔の大きさで対応できないと
      • デジカメでは,画像サイズを変えながらウィンドウをスキャンしてく
  • 顔の向きの対応

    • 正面と左45度,左90度,右も同様で,それぞれの学習器(5つ)を用意する.

      • ※左右は対象なので,データを反転させるだけでイケる
    • ベタに5回認識させていくとトロい
    • →Tree型検出.枝刈りをする.
    • 上の方でラフに判定する.
    • この方法:Vector Boosting

      • 特徴演算は共通だけど,
      • 判別関数はそれぞれに
    • これに対してAdaboostだけでやると,

      • それぞれの向きに対して特徴演算と判別関数を…
  • 回転への対応

    • 0度の検出器と,30度による検出器のふたつを使う.
    • xyをyxにしたりとかでできる.
    • 顔器官検出

      • ASAM:
      • マルチアングルカメラ装置によって実際の顔の(平均的な)3次元モデルをとっておいて,様々な状態時の顔の三次元形状と器官の形特徴を抽出
      • →それに3Dフィッティングすることで
      • 3D顔モデル
      • →4つのパラメータで顔形状変化を表現できる
      • フィッティング
      • ラフな方からだんだん細かく
    • 年齢の推定

      • 年齢推定の手がかり→顔の骨格・しわ・たるみ
      • 大まかな全体サンプリング→骨格
      • 詳細サンプリング→しわ・たるみ(7箇所)
    • 多クラス識別器からエリアごとの年齢推定をして,そっから統合する.
    • 統合は,重み・信頼度との積で
    • 化粧メーカーとかにも使えるw

      • 「あなたは右目が老けてるので右目に化粧をね!ww」
    • 笑顔の推定

      • 笑顔による顔の変化
      • 目が細くなる
      • 目尻が下がる
      • 口がひらく,口角があがる,鼻の横のへんにしわが
      • 顔全体の形状の総合的な判定が必要!
      • これも,年齢と結構似た感じで
      • 全体サンプリング→大まかな笑顔度
      • 詳細サンプリング→局所的な笑顔度(6箇所)
    • 笑顔推定の流れ

      • 顔の位置を見つける
      • 顔の器官の位置・形状を見つける(3D顔モデルフィッティング)
    • 笑顔度推定の特徴抽出

      • 基本はHaar-like特徴量.
      • Retinaサンプリング:特徴が現れやすいであろう器官点の周りは密に,離れると疎に,特徴量を算出し特徴量に追加する.
      • 学習と推定
      • 笑顔データベースと真顔データベースから2クラスに.
      • 境界面からの距離を0-1に正規化.0.5で境界面上.
      • 実データが入ってきたらプロットして距離を出す.この距離が笑顔度
      • で,これらをまた重み付け・信頼度の加算で統合する.

お問い合わせ

  • 技術の概要・事業化・研究開発プロデュース関連は川出先生,もっと細かい点は

    • @takayasiyさん
    • @joyportさん
    • などに

質問に対して

オムロンって,監視カメラとかみたいな分野は?
  • 日本の国際空港全てに入ってる!!
  • 犯罪者とか,密輸とか
  • (identificationの方にも)
  • でもマーケティングの方にも使える

    • ※JR東日本では自販機につけて,オヌヌメとかしたり
  • 99sから始まって結構あれだったけど今は精度も凄い高い
学習のバリエーションは?
  • ロバスト性を確保するにはいろいろ用意しなきゃいけない
  • 昔は法整備があれだったので肖像権とかでいちいちお金払ってきてた
  • 去年のMIRUで少しそういう話した
  • コントロールデータベース→輝度を少しいじったとかそういう多少人工的なデータ
  • 実利用環境データベース→実際のあれ
  • これらで併せて600万データ
年齢推定のとき,人種によって判断基準が…
  • 今のは,アジア圏だけで集めてるデータでやってる.
  • 最終的には人種にロバストにしたいけどまだちょっとむりぽ><
  • 人種推定っていうプログラムもある.精度は結構高い.
  • それによって分類した上で,っていうなできる(あとはデータだけ).

ここまでで,川出先生のセッションについてはこんなかんじ.

字で書くだけでこんな量ですが,実際学べたことはもうこんなレベルではありませんでした.

続いて,中部大学・藤吉先生より物体追跡技術について.
こちらは本に書いてある内容をわかりやすく解説していただくという内容で,メモ自体はやや少なめとなりました.しかし内容の濃さはもう本当に素晴らしいものがありました.

物体追跡

  • 与えられた動画像から指定した対象が各画像間でどのように移動したかを推定する問題
逐次処理
  • 被写体である対象の初期位置x0が次のフレームにおける移動量Δxを順方向に求める

    • 今日の話はこっちの内容
一括処理
  • 動画像全体を用いて順方向と逆方向最適化して

デジカメにおける物体追跡の利用

  • 最初ニコン

    • 物体追跡
    • 物体検出
  • 3Dスイングパノラマ(sony)
デジカメにおける物体追跡の用途
  • 領域ベースの追跡
  • 顔などの指定された領域内のカラー情報をもとに
  • AF/AE
  • オートフレーミング(被写体を常に中心に)
領域ベースの追跡手法
  • 追跡対象の領域を指定し,特徴量を用いて探索
  • 特徴量はカラーヒストグラム
  • 探索方法は全探索(アクティブ探索)か局所探索(MeanShift)
  • その間に入るのがParticle Filter
  • カラーヒストグラムについて
  • カラーヒストグラムの類似度

    • ヒストグラムいんたセクション
    • 頻度の大小を比べて小さい方の頻度の総和
  • Bhattachattya係数

    • 色番号が多い場合にはノイズの影響が少ない
  • テンプレートマッチング

    • 全探索は遅いやん→アクティブ探索
    • アクティブ探索は僕がここ最近で最も感動した手法
    • だけどここでは詳細省略><;;

      • 以前の名古屋CVで詳細な説明を頂いがことがあります.
mean-shiftについて
  • 本来はクラスタリングの手法.

    • 追跡対象カラーヒストグラムの情報をより多く持つ方向を推定して,その方向に追跡領域を繰り返し移動して追跡
    • 類似度計算ってものをしない!→はやい
  • 画素の重みの計算

    • 重み分布:画素xiカラーヒストグラムの頻度の比
  • 対象物が追跡領域の中心から移動すると

    • 領域内の対象物の面積が前フレームに対して減少するので,
    • 対象物のカラーヒストグラムの輝度は減少
    • →減少した方向に対象物が移動した可能性があるため画素の重みを高くする
  • 移動先は加重平均によって
  • カーネル関数→画像全体をスキャンするのはアレなので,ガウスとかで,中心ほど重み大きいように的な
  • 1フレームごとに,重みを出して移動量ベクトルを出して窓をずらす
  • 最終的に(5,6回とかで),重みが一様になる.
  • オクルージョンが発生しても重みの高い部分が観測されて,対象の一部のカラー情報をもとに追跡できる.
  • Mean-Shiftの応用1

    • スケール変化への対応
    • (むこうから歩いて来る人を追跡,的な)
    • →Scalable Mean-Shift
    • あと,cam-shift
  • Mean-Shiftの応用2

    • mean-shiftの移動量をカメラにフィードバックする.
Particle filter
  • 確率的な探索

    • 追跡対象の移動位置を予め予測して,物体周辺に複数のパーティクルを散らして,
    • 対象物体と似たカラー情報を持つ領域を観測することにより追跡
Mean-ShiftとParticleFilterの比較
  • mena-shiftでは,対象物体が大将領域から外れるほど大きく移動したら無理

    • オクルージョン(全体が隠れる)ではむりぽ
    • 速い・鋭いピークにもイケる
  • particlefilterではパーティクル数や配置の範囲(ガウシアンノイズのパラメータ)などで対処できる.
  • 速度はパーティクル数に依存
  • 鋭いピークに対してそれを見つけきらないことががが
特徴点ベースの追跡手法
  • イメージモザイク
  • 特徴点検出と対応点マッチング手法

…ここでメモが途切れていました><;;

聞き入ってしまってメモがけっこう残念なかんじでした.
だからみなさんぜひ現地にて直接話を聞くのが一番いいとおもいます!!

懇親会

第8回は千種の浩養園で.20人近くおられたでしょうか.中央に藤吉先生と川出先生が,そして恐れ多くも私が藤吉先生の隣で,非常に楽しい話を聞かせていただきました.

  • 僕が大学で研究室で指導を頂いてる准教授は,その界隈においても理論的な部分が非常に強い方である

    • それを当然と思ってたら大間違いなくらい,教え方のうまい先生です.
  • SIFTは万能なようでぜんぜんww

    • 僕が取り組んでる卒研では,いわばSIFTは噛ませ犬的な位置づけですww
  • 川出先生は本当に僕が目指したい技術者像そのものだった

    • いろんなお話を聞いて,そう思いました.
    • 僕はR&Dの分野に行きたいと思っているので,
    • ついでに,リタイア前には大学かできたら高専の先生になりたいと思ってます.
  • 川出先生より,「デジカメの画像処理」にサインをいただきました!

    • 後日研究室で見せびらかしたのは言うまでもありません!!

感想

  • トップメーカーでこの分野を創成期から支えるエンジニアの方から直接実装レベルの話まで講演いただく機会なんてそうそうあることでしょうか
  • それほどの方と向かいに座ってカジュアルに飲む機会なんてそうそうあることでしょうか
  • いやー,僕の恵まれっぷりはハンパない…
  • R&Dする技術者としてこの人!という理想像が,初めて定まった気がする!!

    • いままで異なる分野だけどすごい目指したい的な人はたくさんいたけど,僕が専門とするであろう分野においてそういうのを定められたのはすごく大きい

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です