背景
訳あって学生時代に少しかじった画像処理を基礎から学びなおすことにした。
改めて技術資料などを見返すと忘れてることばかりだったので、
まずは基本的な用語を片っ端から調べてまとめていく。
用語集
ステレオカメラ(Stereo Camera)
- 2つのカメラで構成されている測距センサの一つ。
- ここに測距原理が分かりやすく解説されてる。 www.macnica.co.jp
CMOSセンサ(CMOS Sensor)
- 相補性金属酸化膜半導体(Complementary Metal Oxide Semiconductor)
- 光を感じて電気信号に変える半導体センサ。
- 受光素子と電気信号を増幅するアンプがたくさん並んでいる。
- CCDセンサより低い電圧で動作し、読み出しを高速化することが容易。
- 詳細はこちらを参照。
global.canon
CCDセンサ(CCD Sensor)
- 電荷結合素子(Charge Coupled Device)
- 光を電気信号に変える半導体センサ。
- 画素と呼ばれる小さな素子が集まってできている。
- 一つ一つの画素には受光素子(フォトダイオード)があり、光の強さに応じた電荷を蓄える。
- 詳細はこちらを参照。 global.canon
焦点距離(Focal Length)
- 焦点(Focus): 光軸に平行な光線が光学系に入射した際、通過後の光線を延長した直線が光軸と交わる点。
- 光学系の主点から焦点までの距離を焦点距離という。 ja.wikipedia.org
視差
- 左右の眼から見る方向の差。被写体に対する観測点位置・方向の違い。(Parallax)
- 左右の眼の網膜像の差。上記系により観測された画像データの違い。(Disparity)
- これらは共に視差として表現される場合が多いが定義が異なる。
- 両眼視差(Binocular Disparity/Parallax)
- 視差マップ(Disparity Map)
- 運動視差(Motion Parallax)
VGA(Video Graphic Array)
- 画面解像度を表す用語の一つ。
- 画素数が横に640個、縦に480個となっている画面。
- 解像度の単位としてはdpi(dot per inch)が使われる。
- 1インチの幅に何個の点が打てるのかを意味する。
- 解像度は点の密度であり、画素数は点の数である。
https://wa3.i-3-i.info/word16893.html
ステレオ画像マッチング手法
SGM(Semi Global Matching)
- 画像パターンがないところでも視差が得られる高密度視差画像の手法を利用。
- 全面で一様にデータが得られる視差画像が得られる。
- 誤った視差が拡散し、信頼性の低い距離分布が得られてしまう傾向がある。
SAD(Sum of Absolute Difference)
- 視差の得られない部分はデータなしで割り切る手法。
- 信頼性の高い視差のみを用いる。
- 4×4画素のような小領域で最適な視差を求める。
エッジ(Edge)
- 輝度差がある場所、明暗差がある場所のこと。
- 物体の外周、シワ、道路、盛り土、コンクリート面などの凹凸。
- エッジの視差を得ることでステレオマッチングが可能になる。
- ただし、表面がつるつるして輝度差がないような場所では無理。
エピポーラ幾何(Epipolar Geometry)
- ステレオビジョンにおける2カメラ間の幾何。
- 一方のカメラ画像に写っている物体上の1点が、もう一方のどこに写るか。
- 両カメラ画像上の点のペアは同一平面上に存在するという拘束条件を利用。
- 一方の画像上の1点に対応する点をもう一方の画像上から見つける際の探索範囲がエピポーラ線上のみで済むというメリットがある。
エピポーラ線(Epipolar Line)
- 両画像上の同一点のペアが存在する同一平面が、もう一方のカメラ画像平面上を横切る線。
- Structure from MotionやMultiview Stereoなど、多視点から同一シーンを撮影し、それらの画像群から三次元座標を推定したい問題において必須の道具となる。 cvml-expertguide.net
ピンホールカメラ(Pinhole Camera)
- 針先のような小さい穴を使って光を通し、一定距離の先にあるフィルムや印画紙などの感光材の上に像を映し出す仕組みのカメラ。
- 被写体と像の間には、光の直進性による厳密な幾何的関係が成立している。
- 画像処理ではほとんどの場合、カメラの特性は出来るだけピンホールカメラに近い方が良い。
- 図形が歪まない、像が甘くならない、ボケが生じない。 www.kurabo.co.jp
キャリブレーション(Calibration)
- カメラ固有の内部パラメータと世界座標系における位置姿勢を意味する外部パラメータを求める処理。
- ある3次元座標を持った点がカメラ画像のどこに投影されるか、複数のカメラに投影された点が3次元空間中のどこにあるか、などを計算できる。
- 円周方向と半径方向の歪みの補正を行うこともできる。 news.mynavi.jp
外部パラメータ(Extrinsic Parameters)
- 世界座標系をカメラ座標に変換する行列。
- カメラの姿勢(回転行列)と位置(併進ベクトル)を合わせた同次変換行列。
mem-archive.com
mem-archive.com
内部パラメータ(Intrinsic Parameters)
- カメラ座標を画像座標へ変換する行列。
- 画像座標では左上が原点となるようにする。
- 焦点距離f
- 画像中心
- アスペクト比
- スキュー歪み
mem-archive.com
mem-archive.com
歪み(Distortion)
半径方向歪み(Radial Directional Distortion)
- 画像上の直線が曲がって見える。
- 画像の中心から離れるほど大きくなる。
円周方向歪み(Circumferential Directional Distortion)
- 画像面に完璧に平行に取り付けられたわけではないレンズで撮られた写真で生じる歪み。
- 画像の中のいくつかの領域は、期待されているよりも近づいて見えるかもしれない。
- 以下5つの歪み係数(Distortion Coefficients)を求める必要がある。
qiita.com
バンドル調整(Bundle Adjustment)
- 画像からの3次元復元において、3次元点群とカメラ姿勢を改善する手法。
- 点群を画像上に再投影したときに、観測データに最も当てはまるような3次元点群とカメラ姿勢を推定する問題。
- バンドル調整の問題は非線形最小二乗問題に分類され、解法としてGauss-Newton法やLevenberg-Marquardt法がある。 kamino.hatenablog.com
最小二乗法(Least Squares Method)
- 誤差を伴う測定値の処理において、誤差の二乗和を最小にすることで最もらしい関係式を求める方法。
- 例えば、2変数の間の関係に最もふさわしい直線を引くとすると、それを直線回帰という。
- 最小二乗法を用いることで、数学的な根拠を基に引くことができる。
- 回帰直線における回帰係数の求め方
- それぞれの変数の平均を求める。
- それぞれの変数の偏差(数値 - 平均)を求める。
- 変数xの分散を求める。
- 共分散を求める。
- 共分散を変数xの分散で割って回帰直線の傾きを得る。
- ぞれぞれの変数の平均と傾きから、回帰直線のy切片を得る。
反復法(Iterative Method)
- 最適化問題の解法のうち、反復計算を用いるものの総称。
- 逆に、有限回の手順で解を得る数値解法は直接法(Direct Method)という。
- 線形最小二乗法では閉じた解で求まるが、非線形最小二乗法では反復計算が必要となる。 ja.wikipedia.org
ニュートン法(Newton Method)
- f(x) = 0になるようなxを求めるアルゴリズムの一つ。
- 方程式の解を近似的に求めることができる。
- バンドル調整において誤差関数を最小化するパラメータを計算するのに用いる。
- 二次微分を利用する方法であり、解の周辺での収束が早い。
- 二階微分の情報(ヘッセ行列)と、その逆行列計算も必要。 qiita.com
ガウス・ニュートン法(Gauss-Newton Method)
- 非線形最小二乗法を解く手法の一つ。
- 二乗和の最小化にしか使えないが、2階微分の計算が不要になる。 ja.wikipedia.org
最急降下法(Gradient Descent, Steepest Descent)
- 一次微分を利用する方法。
- 誤差関数のパラメータに関する微分が分かればいい。
- 進む方向しか分からないので、学習率が必要。
- そうしないと最適解を飛び越えてしまう可能性がある。
www.slideshare.net
平滑化(Smoothing)
- 画像の輝度値を平らに滑らかにするための手法。
- 画像中のノイズを除去するために用いられる。
平均化フィルタ(Mean Filter)
- 注目画素の周辺の輝度値を用いて平均化し、処理後画像の輝度値とする手法。
- 例えば、注目画素を中心にした3×3の範囲で平均化するなら、各画素の輝度値に1/9のレートを掛け合わせる。
- その範囲内の全レートを足し合わせて1となるように調整する。
- こういったレートの組み合わせをカーネル、オペレータ、マスクという。 www.frontier.maxell.co.jp
ガウシアンフィルタ(Gaussian Filter)
- 注目画素に近いほど、平均値を計算するときの重みを大きくし、遠くなるほど重みを小さくなるようにガウス分布の関数を用いてレートを計算する手法。
- σの値が小さいほど平滑化の効果は小さくなり、大きいほど効果が大きくなる。 www.mitani-visual.jp
メディアフィルタ(Median Filter)
- Median(中央値)とは、データを値が小さい順に並べたときに、真ん中にあるデータのことを指す。
- 注目画素の近傍の画素値を取得する。(8近傍なら周囲8画素+注目画素の合計9画素)
- それらを画素値が小さい順に並べ、真ん中にある値を注目画素の新しい画素値とする。
- 他のフィルタと比べて、周囲の飛びぬけた値に左右されないという性質を持つ。
- ゴマ塩ノイズの除去に有効とされている。 www.frontier.maxell.co.jp
プレヴィットフィルタ(Prewitt Filter)
- 画像のエッジ抽出をするための1次微分フィルタの一種。
- 勾配フィルタとも呼ばれる。
- 明るさが大きく変化している部分にだけ反応して協調するような処理。 www.mitani-visual.jp
ソーベルフィルタ(Sobel Filter)
- プレヴィットフィルタと同様、利用頻度の高い微分フィルタ。
- 輝度差の少ないエッジも協調されるようになり、人が目で見てエッジと思うような場所が協調されやすい。
- ただし、ノイズが協調される可能性も同様に高くなる。
- 縦方向、横方向でそれぞれフィルタリングしたものを最後に合成することで全方向のフィルタリングができる。 www.frontier.maxell.co.jp
2値化(Binarization)
- 画像を白と黒の2色に変換する処理。
- ある値以上の画素値を白、ある値未満の画素値を黒にする。
- 画像を単純化し、画僧検査の際の前処理として使われる。 jss1.jp
論理和(Logical Disjunction), 論理積(Logical Conjunction)
- 画素値の1(白)を真、0(黒)を偽として扱う。
- 各画素値を10進数から2進数に変換し、ビット表現にする。
- 2枚の画像における対応した画素値のビットのORをとり、その結果を新たな画素値とするのが論理和。
- 逆にANDをとって、その結果を新たな画素値とするのが論理積。
- 論理和では、2枚の画像をそのまま重ね合わせたようなものになる。
- 論理積では、2枚の画像の重なり合う部分だけが抜き出されたようになる。 www.frontier.maxell.co.jp
ハフ変換(Hough Transform)
- 画像の中から直線や円といった図形を検出する際に用いられる手法。
- 検出精度は高いが、その分計算負荷が高く、メモリの消費量も大きい。
直線検出
- 元になる直角座標上の点を極座標に変換。
- 角度と距離ごとに、その個数をメモリ配列上に加算していく。
- 個数が最大になった組み合わせを元の直角座標に戻したものが、最も直線らしい点の集まりとなる。
- 個数を下げていくと、次の候補が順次得られる。
円検出
- 元になる直角座標上の点を、円の中心点と半径に変換。
- 以降は直線検出時と同様の処理を施す。
HOG(Histogram of Oriented Gradients)
- 画像認識における特徴量の一つ。
- 人や車両などを検出するのに一定の精度が認められている。
特徴
- 輝度の変化量を基準とし、明るさの変化や局所的な幾何学的変化に強い。
- 画像のサイズを揃える必要あり。
- 回転する対象に弱い。
アルゴリズム
- ピクセルを8×8などのグループにまとめたセルを作る。
- そのセルをさらに2×2などにまとめたブロックを作る。
- ピクセル毎の輝度の変化の方向と強さをセル単位でヒストグラム化し、ブロック単位で正規化する。
- まともに精度を出すには数千個レベルの正解データが必要。
ラスタースキャン(Raster Scan)
- デジタル画像から画素値を取り出して操作する手法の一つ。
- 画像データを一次元配列として走査(スキャン)する。
- 左上から右下へ1画素ずつ順番に走査していく。
二次元配列スキャン(2-Dimensional Scan)
- 隣接画素を用いて走査を行う。
- 走査の順番は、ラスタースキャンと同様に左上から右下。