Introduction
今回の記事では、画像セグメンテーションの基盤モデルであるSegment Anything Model(SAM)と医用画像に対する応用手法であるMedSAMモデルの精度検証およびその比較について実験しました。本記事では、SAMとMedSAMにおける精度の検証・比較についての結果を紹介します。
Segment Anything Model(SAM)
SAM [1] は、2023年4月にMeta社が発表した画像セグメンテーションのための基盤モデルです。1100万枚の画像と10億以上のセグメンテーションマスクから学習されており、追加の学習を必要とせずに、新しいデータに対して高精度なセグメンテーションを実現できるzero-shotが特徴です。SAMは、セグメンテーションの対象を指定するためのプロンプトを受け取ることで、マスクを柔軟に生成します。プロンプトは、特定の位置を示す点やbounding box、大まかなマスク、さらにはテキスト形式など、さまざまな情報を利用して指定できます。これにより、幅広いセグメンテーションタスクに対応可能です。
SAMの仕組み
SAM(Segment Anything Model)は、画像のセグメンテーション(分割)を行う革新的なAIモデルです。その特徴は「プロンプトによるセグメンテーション」にあります。プロンプトとは、モデルへの指示や入力のことで、点、bounding box、テキストなど様々な形式が使えます。SAMは、どんなプロンプトに対しても適切なセグメンテーションマスクを生成できるよう訓練されています。
SAMの仕組みは以下の3つの要素で構成されています:
- 画像エンコーダ:画像を一度だけ処理して埋め込みを生成
- プロンプトエンコーダ:プロンプトをリアルタイムで埋め込みベクトルに変換
- デコーダ:画像とプロンプトの情報を組み合わせてマスクを予測
この設計により、SAMはウェブブラウザ上のCPUでも高速に動作し、画像の埋め込み後は50ミリ秒という速さでセグメンテーションを行うことが出来ます。SAMの特筆すべき点は、新しいデータセットやタスクに対して、追加学習なし(zero-shot)や少量データでの学習(few-shot)で対応できる柔軟性です。これにより、様々な画像処理タスクに広く応用できる可能性を秘めています。
zero-shot
SAMは、プロンプト可能(promptable)な設計がされており、新しい画像データやタスクに対してzero-shotで優れた性能を発揮することが特徴であると紹介してきました。
イメージのために、点やbounding boxをプロンプトとして与えて、zero-shotで予測させるデモ動画を作成しました。医用画像に対しても、中々の性能を発揮してくれています。(※ GUIは、自作のものになります。)
MedSAM
MedSAM [2] は、CT や MRI、病理画像などの計100万枚以上にのぼる様々な医用画像で構成されたデータセットを用いて SAM を fine-tuning したモデルです。SAM と比較して、MedSAMは細かい形状の臓器や病変をより正確にセグメンテーション可能であることを示しています。つまり、医用画像に特化したSAMベースの基盤モデルです。
Materials and Methods
これから、実験に使用したデータセットや実験方法について説明していきたいと思います。今回は、2つの異なるモダリティ(MRI、US)のSegmentationデータセットを使用しました。
Dataset
今回の実験では、2つのデータセットを使用します。
- Breast Ultrasound Images Dataset [3]
1つ目は、BUSIという乳房の超音波画像のデータセットを使用しました。Normal(133枚)、Benign(487枚)、Malignant(210枚)からなるデータセットで、それぞれmask画像も付随しています。
そのうち、今回は、Malignantのみ210枚を使用して、推論・評価を行いました。
- Duke Liver Dataset [4]
2つ目は、Duke Liver DatasetというMRIのデータセットを使用しました。Segmentation用に、95患者の複数のシーケンス(A. opposed phase、B. in phase、C. precontrast T1 weighted、D. portal venous phase contrast enhanced T1 weighted)の肝臓セグメンテーションのデータが含まれています。
最終的に、95患者(12,542枚)を使用して、推論・評価を行いました。
Study design
赤枠のようなBounding Boxでpromptを与えて、predictionを行い、Grand Truthとの比較により、Dice ScoreとIoUを算出することで、評価を行います。
Bounding Boxは、mask画像から自動的にmaskの範囲を囲むようなBoxを作成するようにしています。
Results
Breast Ultrasound Images Dataset
malignantの210枚を使用して、zero-shotによる予測を行った結果です。
Model | Average Dice Score | Average IoU |
SAM | 0.836 | 0.724 |
MedSAM | 0.914 | 0.844 |
Dice Score、IoU共にMedSAMの方が高い性能を示しました。MedSAMではzero-shotにも関わらず、非常に高い性能が出ていることが分かります。
また、MedSAMの方がSAMと比べてバラツキが少なく、高いパフォーマンスを維持できると考えられます。
Duke Liver Dataset
LiverのMRI画像 95患者(12,542枚)を使用して、zero-shotによる予測を行った結果です。
Model | Average Dice Score | Average IoU |
SAM | 0.852 | 0.761 |
MedSAM | 0.887 | 0.813 |
BUSIの結果と同様に、Dice Score、IoU共にMedSAMの方が高い性能を示しました。MedSAMではzero-shotにも関わらず、非常に高い性能が出ていることが分かります。
また、MedSAMの方がSAMと比べてバラツキが少なく、高いパフォーマンスを維持できると考えられます。
Discussion
今回の実験では、異なるモダリティ・タスクで性能を比較しました。2つのデータセット共に、平均して高いzero-shot性能を発揮しました。これは、SAMの特徴であるzero-shot性能が医用画像にも、適用出来る可能性を示していると考えられます。
SAMとMedSAMの比較では、MedSAMの方が全てにおいて高い性能を示しました。これは、医用画像でfine-tuningを行ったことにより、医用画像に特化した性能を発揮出来ていると考えられる。バラツキがSAMと比べて少ないことや極端な外れ値が少ない事から、安定して高い性能を示す事が出来るモデルであると言える。
しかし、今回はプロンプトの与え方の違いやfine-tuningについては検討していない。実際には、プロンプトの与え方やfine-tuningを行う事により、さらに安定した高い性能を発揮できる可能性がある。また、US、MRI以外のモダリティやその他のタスクには応用出来ていない。今後は、X-rayやCTなどその他のモダリティやタスクにおける性能も検証していく必要があると考えられる。
References
[1] Alexander Kirillov et al. “Segment Anything”, arXiv preprint arXiv:2304.02643 (2023).
[2] Ma, J., He, Y., Li, F. et al. Segment anything in medical images. Nat Commun 15, 654 (2024). https://doi.org/10.1038/s41467-024-44824-z.
[3] Walid Al-Dhabyani, Mohammed Gomaa, Hussien Khaled, Aly Fahmy, Dataset of breast ultrasound images, Data in Brief, Volume 28, 2020, https://doi.org/10.1016/j.dib.2019.104863.
[4] Duke Liver Dataset: A Publicly Available Liver MRI Dataset with Liver Segmentation Masks and Series Labels
Jacob A. Macdonald, Zhe Zhu, Brandon Konkel, Maciej A. Mazurowski, Walter F. Wiggins, and Mustafa R. Bashir
Radiology: Artificial Intelligence 2023 5:5