技術
Sparse Modelingに基づく画像処理の再訪
2021/08/24
SHARE
業務ロボット技術部の根岸と申します。
主に洗浄後食器を自動で仕分けるロボット(finibo)のソフトウェア全般を開発しています。その中では、対象物認識周りにDeep Neural Network(DNN)を応用しておりますが、もう一つ、Sparse Codiingに基づく画像処理も活躍しております。
今回はテックコーナーとして、Sparse Modelingによる画像処理を再訪してみたいと思います。
なぜ、DNN全盛の時代でもSparse Modelingなのか?
最近の画像処理と言えばDNNが圧倒していますが、「機械学習プロフェッショナルシリーズ」を眺めると、ガウス過程やSparse Modelingのようにとても魅力的な神秘の手法が世界にはあふれています。
もちろん時代の流れに乗って、性能的に先進なDNNを第一選択肢として考えます。
しかしながら、次の場合、一旦立ち止まってSparse Modeling手法の適用も検討してみたくなります。
・データセットを大量に用意できない
・オンラインで観測したデータから特徴を学習させたい
・GPUを使わず、もっと軽量に済ませたい
・線形性がある問題に落としやすい
異常検出、超解像度、欠損補完、ノイズ除去
まず、Sparse Modelingそのものと基本応用例として、こちらの記事がおすすめです。
・ITエンジニアのためのスパースモデリング入門(染田貴志さん・著(株式会社ハカルス))
データ解析や主要因の解析としてのLASSOなど、ずいぶんと前から聞いたことがある方もいらっしゃるのではないでしょうか?
(あの黄色い本「ビショップ著:パターン認識と機械学習と機械学習」の線形回帰モデルの章にも載っています!)
「スパースモデリングの画像処理への発展的な応用~欠損補間、異常検知、超解像」の回では、Sparse Codingで特徴学習と復元誤差を求める異常検知手法も紹介されています。DNNベースのAutoEncoderでもおなじみですね。
しかしながら、実際にSparse Codingベースの方を動かしてみると、画像パッチ辞書学習処理の軽量さに驚かれるのではないでしょうか?
パラメータや入力画像サイズによってはオンラインで辞書学習を回せるぐらいです。
パッチサイズを大きくしていくとKSVD的にそれなりに重くなりますので、許容速度と精度からバランスを取っていくと良いでしょう。
finiboの開発でも、対象物の画像を事前学習することなく、逐次観測画像から特徴辞書を学習するVisual Trackerを実装しています。
圧縮センシング(Compressed Sensing)
やはり、Sparseベースな画像処理の応用として有名なのは、MRIの検査時間の短縮を可能にした圧縮センシングでしょう。
とても簡単に言ってしまうと、スパース性を仮定することで、標本化定理で求められるよりも少ないランダム観測から元の画像を復元できるというものです。
ウェーブレット画像など、周波数成分における構成要素のスパース性を仮定しています。
こんなスパース性も!
超解像度の工夫でも、画像をはっきりとさせるために隣り合うピクセルの変化が少ないといったスパース性を導入している例があります。
これは、良く基本の技として見受けられます。
さらに、水平、垂直方向のピクセル差分には変化が少ない(スパースな変異しかない)とすることで、文書画像の傾き補正を行う例もあります。
具体的に知りたくなった方には、次の書籍がおすすめです。
・「岩波データサイエンス Vol.5 スパースモデリングと多変量データ解析」
いかがでしょうか?
最初はDNNと比べて軽量で済ませたい場合のために紹介を始めましたが、
やはり、Sparse Modelingの最大の魅力は「スパース性の発見」にあると思います。
既存研究や実例では、一体どんなところにスパース性を見出しているのかと調べていくと、とてもワクワクします。
TecgMagicブログのテックコーナーでは、製品開発時の関連技術についても紹介していきたいと考えております。
もし、TechMagicにご興味がある方に、どのような技術ベースで開発を進めているのか雰囲気が伝われば幸いです。
どうか、次回もお楽しみに。
TechMagicでは食産業の未来を創造する仲間を募集しています!
募集ポジションの確認やオフィス見学、カジュアル面談の希望など、お気軽にHPからご連絡ください。