#### 200626_Journalclub_hay
### 今日の内容
### Improving plankton image classification using context metadata
#### Jeffrey S. Ellen, Casey A. Graff, Mark D. Ohman
---
### Outline
- 海洋のプランクトン画像の分類に関する研究
- 環境データを導入することで精度を大幅に向上させた
- 旧来の特徴量検出とCNNの両者に対して環境データの導入を行った
- 大規模なデータセットを用意
### 本論文のおもしろいところ
- 試料が得られた深度、場所、時間
- 水温、塩濃度、クロロフィル
というメタデータを組み合わせることで、誤差を大幅に低下させた。
画像の分類の改善のためメタデータを利用するコンセプトは、他領域でも検討されてきた。
- 観光写真や標高の分類: GPU情報
---
### 論文の内容に入る前に、背景
観測技術の発達により、海洋内部の「画像」が大量に得られている。
-> ちゃんと分類して、”なにかしらの”解析に用いたい。
-> 求める分類の精度に合わせ、各クラスの特徴量を抽出すればよい
#### 特徴量
処理対象の特徴をよく表す記号や数値の組(特徴ベクトル)のこと。認識系で目的とする決定に役立つものを選択する必要がある。
1. 画像統計量
平均輝度値や尖度、歪度など。
1. 線形フィルタ
線形フィルタを適用する処理をフィルタリングや畳み込みと呼ぶ。
> #### フィルタリングの結果がなぜ特徴量になるのか?
> 例) 平均値フィルタ
> 注目画素の近傍の画素値の平均を計算し、その値を新しい画素値とする -> 画像がボケてノイズが消える。
> 平均値フィルタはボケるだけなので特徴量抽出には向かない。-> 「フィルタ応答=フィルタとの類似度」と考え、フィルタ設計に求めたい特徴量の重みを加えてやる。
1. 画像から指定した特徴量を抽出する
2. 特徴量から分類を行う
- 指定した特徴量が識別にどの程度有効か、わからない
- いろいろな特徴量を試したとして、次元が高すぎてよくわからない
1. 画像から指定した特徴量を抽出する
1. 主成分分析や判別分析で次元を削減する
1. 特徴量から分類を行う
1の特徴量抽出、計算量が膨大になる
-> 後から選択するのではなく識別的な特徴だけを用いて分類したい
-> 事前に、類似するデータセットを用いて識別的なフィルタを抽出しておく。
*- 機械学習*-
そもそも
フィルタ自体、固定したものを用いる必要はなく、識別的なフィルタ形状を学習させればよいのでは?
-> 畳み込みニューラルネットワーク(CNN)へ学習させる!!!
深層学習「ディープラーニング」の手法の一種
### ディープラーニングとは
ニューラルネットワークの層を何重にも深くした「ディープニューラルネットワーク」というモデルの学習に使われる手法。
ディープラーニングとディープニューラルネットワークは別物
## Neural Networkとは
機械学習の手法の一つ。図のような構造をしており、ニューロンは入力層、中間層、出力層の3層で構成される。枝はそれぞれ重みwをもっている。また、ニューラルネットワークは順伝播と逆誤差伝播の2つの計算があり、これらを繰り返し行うことで学習をする。
## Convolutional Neural Network(CNN)とは
何段もの深い層を持つニューラルネットワーク
- 畳み込みとプーリングを繰り返す
- 高次・抽象的な特徴を取得
- 各層で入力とバイアスを活性化関数により計算
- 畳み込みにより扱う重みの数が減少
-> 全結合ネットワークより学習パラメータ、時間軽減
### 畳み込み層
- 注目画素と周辺を重みづけ
- 畳み込み和が出力の画素値
- 注目画素を一定間隔でずらしながら入力画像全体にカーネルを適用
- カーネルnxnで重みパラメータを保持する積分核
- padding: 端領域を0で補完---本研究では、0でない
### プーリング層
- 畳み込み層で得られたデータサイズを抑制
- 対象領域の幾何領域内の特徴を平滑化し、ロバストに取得
- 入力画素の一部分を特徴として出力にマッピング
- AVG-PoolingやMAX-Pooling
### 誤差逆伝播法
- ニューラルネットワークにおける学習手法
- 期待する出力と実際の出力値から損失を導出
- 損失が低下するよう各層の重みを学習
- 損失: 損失関数から求められる精度の悪さ
---
## Materials and procedures
### Machine learning algorithms and image processing software
- CNNs
- feature‐based algorithms: Random Forest Classifier (RFC), Extremely Randomized Trees (XRT), Gradient Boosted Classifier (GBC), MLP, and SVM.
- Pythonを使った。画像処理にはOpenCV.
---
### Computational equipment
- 小規模テスト
- CPU: 40 core
- RAM: 128GB
- GPU: NVIDIA K40
- 大規模実験
- NSFのExtreme Science and Engineering Discovery Environment
---
### Image acquisition
- Zoogliderによって取得された画像。
- 1フレームあたり~250 mL内のプランクトンや粒子の観察が可能
- 垂直分解能: ~5 cm
- 環境データ取得
- 導電率
- 温度
- 水温
- クロロフィルa蛍光
- 音響後方散乱

- 画像の事前処理
- ノイズ除去、γ補正
- セグメンテーション
- Canny edge detection
---
### Image compilation
- 225回のダイブ、145 万枚の画像。季節ごと。
- うち15 万枚から、マリンスノーを除いたROIを手動で分類
- ~200 万のROIを27のカテゴリ(クラス)に分類(表1, 図3)。178547 個のマリンスノー以外のROIが得られた。
- 筆者らの先行研究で、クラスごとに1000枚程度の画像は必要であることが示されている。
-> 小規模テストでは、クラスごとに1000以下のデータセットを作成し、合計25,047のROIを得た。
-> 2つめのデータセットとして、クラスごとに5000。76190のROIを得た。
- 実行可能なアルゴリズムの評価手法として筆者らはこの手法を強く推奨している。
- その後、最大のデータセット (マリンスノー以外の全ROIと171,447枚のマリンスノーのROI)で実験。
- 特徴ベースのアプローチは以下の問題のため完全な学習できず。
- メモリを使い果たす
- 終わらない
- こっから下のデータ、最大のデータセットについて。
- 全ROIは、それぞれのクラスからランダムにサンプリング。全体のデータセットサイズは1.5, 4.7, 21.5 GB。メタデータは各データセットについて0.1 GB前後。
- CNNは一様サイズの画像が必要。128×128 pixelを選択。小さな粒子はニュートラルピクセルでパディング
- パディング手法: 平均強度値の正規分布からサンプリングされたランダムな強度値を含み、第1層フィルタによって検出されうる人工的なエッジあるいは均一な色の領域の導入を最小限にしようとした。
---
### Hydrographic, geotemporal, and geometric metadata
- コンテキストメタデータは3種類
- 流体
- 画像取得時の水域情報
- 地理空間??
- 場所と時間
- 幾何学
- セグメンテーションによって領域内にあると指定されたピクセルに関して計算 (平均強度、尖度kurtosis、面積、直径、加重セントロイド)
- 尖度とは、分布が正規分布からどれだけ逸脱しているかを表す統計量
- これはCNN処理でも見ているものでは?
-> 再スケーリングされ、pixel値がCNN処理される前の元画像の内容と領域サイズを記述するという意味で、メタデータ。境界長や傾きなどROIの測定値や,最小値,最大値,平均値などは通常CNNに提供されていない。
---
### Procedures
データを、トレーニング用に80 %, 検証用に10 %, テストセット10 %に分割。10個の異なるランダムに選択されたデータセットをレプリケートとした。
---
### CNN architecture
転移学習でなくde novoで訓練。
- 転移学習
CNNにおいて、浅い層では縦線・横線などおおよその特徴抽出のみであり、その画像特有の特徴は深い層(VGG16の15層以降など)までは抽出の対象とならないことがわかっている。-> 深い層を取り外し、浅い層だけを再利用することで効率よく学習させることができる
- いいとこ: 少サンプル・短時間で精度の高い学習モデルが構築できる。
- 残念なとこ: 転移学習の元のモデルとあまりにも異なる画像を用いた場合、精度が上がらない場合あり
- ネットワークの形状
- VGG-16 modelに基づいたネットワーク形状。
- VGG-16: 244×244の画像で1000通りの分類。
-> 小さいスケールで実装した。畳み込み、1/4。5層のみ。
- VGG-16: 完全接続層が存在する
-> 完全接続層を小さく構成
- メタデータの融合
- 畳み込み層は画素操作のみ。完全接続層の早い段階に組み込むとよい。
- ドロップアウト
- ネットワークの一部のニューロンの出力をランダムに無視することで、ほかの部分を強化する概念。この影響も評価する
### Performance metrics
- 元のクラスに関係なく、正しく分類された画像にはクレジットを与え、ほかには与えない。
- ボックスプロットは、四分位範囲の内側1.5 倍に相当するうぃすかを表示し、個々の試行の結果を円として重ね合わせ、訓練されたモデルの分布を示している。トライアルの数は10回。
## Assessment
### Feature‐based algorithm assessment
- 図6のように、さまざまなハイパーパラメータを評価。
- データセットが増えるにつれ精度が向上。大型のデータセットで、漸近的な性能に近づいている。
- コンテキスト・メタデータを含めると、5つのアルゴリズムすべてで性能が大幅に向上 (図8)
- 中規模のデータセットでは6.9 - 12.2 %もの向上。
- サイズが2倍になったことで、メモリを使い切ってしまった
### CNN assessment
- CNNは、劇的に影響を与えるハイパーパラメタが多い。
- 事前の設定が重要。
- 画像データの水増しにより精度が向上した
- 全接続層におけるDropoutと精度との関係
- 中規模データセットではドロップアウトにより精度が向上した。
- 大規模データセットでは影響がみられない。
- 50 %のドロップアウトを選択。
-
- Discussion
### CNNs vs. feature‐based algorithms
- CNNの前から、幾何学的特徴を用いたプランクトン画像の解析はある程度成功していた。データセットが少ないとき、
{"metaMigratedAt":"2023-06-15T09:51:39.250Z","metaMigratedFrom":"Content","title":"Untitled","breaks":true,"contributors":"[{\"id\":\"d6bb166f-c798-4257-b98a-63692ff38c36\",\"add\":5847,\"del\":559}]"}