限定的・局所的なアノテーションデータでの学習～細胞領域の推定～

## 1. はじめに

本記事では、連続的な複数断面が撮影された生体細胞画像を対象に、細胞質および細胞核の領域を3次元的に推定する当社の提案手法[^alcon2018]をご紹介します。2次元のセグメンテーションをベースにした手法のため必ずしも連続断面を必要とせず、断面画像1枚に対しても同様の手法が適用可能です。生体細胞に限らず金属や多孔質材料、プラスチック、繊維などの顕微鏡画像など幅広い対象に対して応用できると考えています。本手法は、2018年の外観検査アルゴリズムコンテスト[^alcon]において同課題に対して取り組んだ際の手法です。当社の応募プログラムは、優秀賞およびレゾナンスバイオ賞を受賞しました。

## 2. 背景・目的

近年バイオイメージング技術の発展により、細胞をはじめとして多くの生体組織を撮影することが可能となりました。こうして得られた画像データに対して、統計的な解析や定量的な分析を行う技術が求められています。

外観検査アルゴリズムコンテストでは2016年～2018年にかけて、細胞の可視化画像を対象とした追跡や領域抽出がテーマとして取り上げられました。本記事で紹介する2018年の課題は、下図に示したように連続断面から細胞質領域・細胞核領域を3次元的に抽出するというものです。

![課題概要](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2990701/300e8d8c-2a49-dcc2-656f-0f3c0f56d0b1.png "課題概要")

このような細胞領域の自動抽出が高い精度で実現できれば、たとえば試薬などが細胞に与える影響を客観的・定量的に評価することができるようになるなど、生物学や医学分野の研究の発展に資することができます。

## 3. 提案手法概要

本手法では、連続断面画像から細切れにデータを取り出し、2次元のセグメンテーションを繰り返すことで細胞領域の推定を行いました。 本手法は以下の2つのステップに処理を分けることができます。

- Step1. U-Net[^unet]による2次元領域推定
- Step2. 個々の細胞領域の分離と各断面間の細胞領域の対応付け

![手法概要](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2990701/2f92acd0-6274-39fe-b838-ab26ce91d209.png "手法概要")
以下各ステップについて詳しく見ていきます。

## 4. (Step1) U-Netによる領域推定

初めに、深層学習（Deep Learning）を用いたセマンティックセグメンテーション手法の1つであるU-Netを用いて、2次元断面ごとに細胞領域を推定します。 この時、今回の課題に合わせてニューラルネットワークや損失関数を以下のように設計しました。

### ニューラルネットワーク入力

細胞の奥行方向の連続性を考慮し、ある断面の細胞領域を推定する際には、その断面に対応する断面画像だけでなくその前後に隣接する断面画像計5枚を入力データとして利用しました。

### ニューラルネットワーク出力

最終的に求めるのは細胞質領域と細胞核領域ですが、本手法では以下で示す「細胞輪郭領域」「細胞核領域」「細胞核輪郭領域」3種類の領域を推定しました。

![細胞領域](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2990701/4524e58a-0d18-cf3f-5841-9ab4a412fe7d.png "細胞領域")

細胞質領域ではなく細胞輪郭領域を求めているのは、学習データの大半が細胞質領域のために、直接細胞質を推定することが困難であったためです。 また細胞核領域の推定精度を向上させるために細胞核だけでなく細胞核輪郭を推定しています。

### 損失関数

本手法では、Dice係数を用いた損失関数[^dice]を利用しました。

Dice係数とは、一般に 2つの集合（今回の場合、正解領域の画素集合と、予測領域の画素集合）の一致度を比較する指標です。また2項分類の評価指標の1つF値とも一致します。

具体的には、以下の式で定義されます。
$$
\mathrm{dice}(A,B) = \frac{2|A\cap B|}{|A|+|B|}
$$

![Dice係数](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2990701/d3a7fc91-4ef0-58f8-87eb-f3a5350fa2db.png "Dice係数")

分子・分母ともに1/2をかけると、分子は共通部分の要素数、分母は2つの集合の平均要素数となり、Dice係数はこれらの比と考えることもできます。 2つの集合が近いほどDice係数の値は大きくなり、2つの集合が完全に一致した場合に、最大値1となります。

学習に用いる場合は、 $1-\mathrm{dice}(予測領域,正解領域)$を損失関数として利用します（本質的には符号を反転させるだけで十分ですが、こうすることで損失関数の取りうる値は0から1の範囲となり、評価時に少しだけ見やすくなります）。

### 学習データ

本コンテストでは、細胞領域に関する正解情報のサンプルが限定的・局所的にしか公開されませんでした。たとえば下図の「入力」上段に示した断面画像には大量の細胞が映っていますが、正解の領域が公開されたのは、「学習データ」上段にあるように4つの細胞のみでした。
![学習データ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2990701/3ca26812-3aff-ffec-3201-b3337ebd924c.png "学習データ")

機械学習による教師あり学習を行う場合、このような状況に対する正攻法は、正解情報を人力で作成するというものです。一方で、さまざまな要因によりどうしても正解情報を十分に用意できないことも多いです。 当社は、追加の学習データを作成することなく、公開された情報のみを学習データとして領域推定を行いました。

今回の場合、1枚の学習データの中に推定すべき正解が判明している箇所と不明な箇所が混在してしまっています。このようにデータをそのまま学習に使ってしまうと、アノテーションされない細胞領域は検出しない状態が正しいとして学習することとなってしまうため、工夫が必要になります。本手法では、学習に利用する領域を定義する「学習領域マスク」を事前に用意して学習を行いました。この学習領域マスクは、公開されたサンプルで細胞質または細胞核と指定された領域と、その近傍1画素を前景とするマスクです。学習時に損失関数を計算する箇所を、学習領域に該当する画素のみに限定することで、予測自体は画像全体に対して行いつつ、正解の判明している箇所のみを利用して学習を行っています。

## 5. (Step2)個々の細胞領域の分離と各断面間の細胞領域の対応付け

U-Netによる3種類の領域の推定後、画像処理を用いた後処理で、個々の細胞の細胞質・細胞核領域の対応付けや、断面間の対応付けを行います。

はじめに、細胞核を検出します。 細胞核の推定領域から、細胞核輪郭の推定領域を取り除き、重なり合う細胞核が分離された状態の細胞核領域を推定します。さらに、推定された領域に収縮処理をかけることで、残ってしまっている細胞核の重なりもできるだけ除去しました。

次に、細胞質領域と細胞核領域をまとめた領域である細胞領域の検出を行います。U-Netにより推定された細胞輪郭領域を反転した領域（すなわち細胞輪郭でないと推定された領域）のうち、細胞核の存在する領域を細胞領域とみなします。さらに、1つの細胞領域に対して、複数の細胞核が存在する場合は、各細胞核領域からの距離に応じて細胞領域を分割します。この処理により自動的に細胞と細胞核は対応付けされます。

最後に、細胞核を基準に、隣接断面間の重複範囲の大きい細胞領域を1つの細胞として対応付けを行います。

## 6. 推定結果

最後に、本手法による推定結果例を示します。

![結果](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2990701/eb56d341-1d54-831a-ec99-4b8a2797b7c3.png "結果")
![結果（一部）](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2990701/af1dcc58-014a-0159-c67c-add9900ecee8.png "結果（一部）")

細胞質の輪郭が画像上不明瞭な箇所に関しては、U-Netによる推定では細胞輪郭領域も途切れてしまっています。このような箇所に関しても、Step2の処理により、細胞質領域を過度に広く過検出することなく推定できていることが確認できます。


## 7. 検討段階での候補手法

最後に、本課題を検討する際に、候補として挙がった手法の一部を紹介します。撮影画像の状態や学習データ量の都合で本手法では採用を見送りましたが、3次元領域推定において、これらの手法が真価を発揮するケースもあると考えています。

### 3次元CNNを用いたセグメンテーション

3次元データから領域抽出を行うための方法の1つに3次元CNNを用いる方法があります。3次元CNNは2次元CNNと比較してパラメーター量が増大するために、学習には大量の計算機リソースと学習データが必要となりますが、3次元データに対して直接セグメンテーションを行うことが可能になります。

本課題では学習に利用可能なデータが連続断面画像5セット分しか公開されておらず、3次元CNNを学習するのにはデータ量が不足していると想定されたため採用を見送りました。

### Mask R-CNN(インスタンスセグメンテーション)

細胞領域を個々の細胞ごと推定する手法としては、Mask R-CNN[^maskrcnn]に代表されるインスタンスセグメンテーション手法が知られています。Mask R-CNNでは、検出対象の個体ごとのバウンディングボックスを推定し、各バウンディングボックス内を領域推定します。

この手法を用いれば各細胞の領域を個別に推定できますが、今回の課題のように画像中の一部の領域にしか正解情報がないという状態では学習させるのが非常に困難であり、採用を見送りました。負例（細胞がない領域）に関する情報が不足しているためです。画像単位で正解情報が用意できた場合でも、多くの細胞が密接した状態になっているため推定の難しい課題と想定されます。とくに、バウンディングボックスの検出時の重複判定のパラメーターは慎重に調整する必要があります。

## 8. おわりに

撮影技術および情報処理技術の向上により、バイオ分野に限らず、検出対象の領域をセグメンテーションする技術に注目が集まっています。 しかしこれらの技術を活用し、領域抽出を自動化しようとする際に大きな障壁となりうるのが、アノテーション（正解データの作成）にかかるコストです。学習に利用できるデータの量が限られてしまうケースは多いという印象です。

本手法では、使用できるアノテーションデータが限定的・局所的な状況の中で、

- 学習領域マスクを利用した学習に用いる領域の限定による、局所的なアノテーションデータしか存在しない画像による学習
- 学習ベースの手法では推定できない箇所の、画像処理ベースの処理と組合せた補正

という二段構えの工夫で、アノテーションデータの少なさを補っています。本記事が、領域抽出の自動化における手法検討の一助になれば幸いです。

情報通信研究部　橋本　大樹

[^alcon2018]: 橋本大樹, 杉原裕規, "U-Netによる3次元スライス画像の画像セグメンテーション ～部分的な正解データから効率よくデータの特徴を学習するアルゴリズム～," 外観検査アルゴリズムコンテスト (2018).

[^alcon]: 精密工学会　画像応用技術専門委員会　主催

[^unet]: O. Ronneberger, P. Fischer and T. Brox, "U-Net: Convolutional Networks for Biomedical Image Segmentation," in Medical Image Computing and Computer-Assisted Intervention (MICCAI), Springer, Cham, vol 9351. pp 234–241 (2015).

[^dice]: F. Milletari, N. Navab and S. Ahmadi, "V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation," in 2016 Fourth International Conference on 3D Vision (3DV), Stanford, CA, USA, 2016 pp. 565-571 (2016).

[^maskrcnn]: K. He, G. Gkioxari, P. Dollár and R. Girshick, "Mask R-CNN," in Proceedings of the IEEE International Conference on Computer Vision (ICCV), pp. 2961-2969 (2017).