みんなの画像機械学習
機械学習による画像解析を必要とする
すべての人のための
Macをつかった簡易機械学習法
Machine learning is
Power for the people, by the people, of the people!
みんなの画像機械学習
機械学習による画像解析を必要とする
すべての人のための
Macをつかった簡易機械学習法
Machine learning is
Power for the people, by the people, of the people!
Movie
Table of Contents
目次
(各項目をクリックするとリンクページに移動できます。各ページには、ページ上部のメニューからも移動可能です)
1. 概要説明
2. 本解析で使用するアプリケーション
3. Image classifierの概要
4. 学習のためのアノテーション (Image classifier)
5. 学習 (Image classifier)
6. Object detectorの概要
7. 学習のためのアノテーション(Object detector)
8. 学習 (Object detector)
9. AIによるアノテーション (Image Classifoer & Object Detector)
10. Image classifierモデルを用いてアノテーションされたファイルの仕分け
11. Object detectorモデルを用いて検出された物体のカウント
12. 参考文献
13. モデル
14. 学習用アノテーション済み画像ファイル
15. PDF
Overview
概要説明
ここでは、Macを用いた画像の機械学習のプロトコルについて説明しています。
このプロトコルには、「学習」、「画像ファイルの分類 (Image classifier)」および「画像中の物体検出 (Object detector)」の方法が記されています。
これらの方法は5つのステップに分かれています。
1. 学習のためのアノテーション
2. 学習
3. 学習したAIによるアノテーション
4. ファイルの仕分け
5. 検出された物体のカウント
ステップ1および2は、Image classifierとObject detectorで異なります。
ステップ3は共通ですが、ステップ4はImage classifier用のオプション、ステップ5はObject detector用のオプションです。
Protocols
Applications
本解析で使用するアプリケーション
macOS (Catalina以降)
Create MLのグラフィカルインターフェース(GUI)バージョンを使用するためには、Catalina (macOS 10.15)以降のmacOSがインストールされたMacが必要です。MacOSごとに使用できるCreate MLのバージョンが異なります。
MacOS | 使用可能なXcodeバージョン | Xcodeに含まれるCreateMLバージョン |
Catalina (MacOS 10.15以降) | 11.4-12.4? | 1 (Xcode 11)または3 (Xcode 12)? |
Big Sur (MacOS 11) | 11.4-13.2 | 1 (Xcode 11)、3 (Xcode 12および13) |
Monterey (MacOS 12) | 11.4-14.2? | 1 (Xcode 11)、3 (Xcode 12および13)、4 (Xcode 14)? |
Ventura (MacOS 13) | 11.4-14.3 | 1 (Xcode 11)、3 (Xcode 12および13)、4 (Xcode 14) |
注:表中の下線部分は未検証です。Xcodeのバージョンと対応MacOSについては、https://developer.apple.com/jp/support/xcode/をご覧ください。
Create ML in Xcode(無料)
Create MLは、アップル社がソフトウエア開発者向けに無料配布している機械学習のためのアプリケーションです。Create MLは、Xcodeの一部として提供されており、App storeからダウンロード可能です。最新のXcodeは、App storeアプリケーションからダウンロードできます。古いバージョンのXcodeは、App store (https://developer.apple.com/download/more/)からダウンロード可能です(Apple DeveloperにID登録する必要がありますが、Xcodeは無料でダウンロードできます)。本プロトコルでは、基本的にChromosome Research (Nagaki et al. 2021)で報告したCreate ML ver 1の使用法について解説し、ver 3で異なる部分について追加説明しています(ver 3とver4は基本的に同じ操作で、何が違うのか分かりません)。
RectLabel Pro(1週間無料、$2.99/month or $19.99/one-time)
RectLabel (https://rectlabel.com)は、Create MLで使用するアノテーションファイルを作成するのに便利なアプリケーションです。RectLabelは、Create MLによって生成されたモデルを使ったAIによるアノテーションにも使用できます。RectLabelは、App storeからダウンロード可能です。
CutSort(無料)
CutSort (https://github.com/tomoyukif/CutSort)は、RectLabelによって付加されたアノテーションに基づいて、フォルダ内の画像を仕分けするアプリケーションです。
Machine Spec
解析で使用するMac等のスペック
既存のモデルの利用
本サイトに掲載してあるものも含めCreate_MLで作られたCoreMLモデルなら、Mojave (macOS 10.14)以降がインストールされたいずれのMacでも快適に使用することができます(モデルを作るのにはそれなりの処理能力が必要ですが、使うのにはわずかな処理能力しか必要としません)。
Image classifier
Image classifierは、処理が軽いため、Create MLを含むXcodeがインストール可能なMacであればどんなMacでも利用可能です。
Object detector
Object detectorは、処理が重いため、独立したGPUをもつMacで学習させることをお勧めします。独立したGPUをもたないMacでも学習可能ですが、学習時間が長時間になります。また、独立したGPUをもたないMacでもeGPU(外付けGPU)を使うことにより、GPUを使った高速な解析が可能となります(ただし、使えるGPUは限られています)。残念ながらeGPUはM1等のM系プロセッサ搭載のMacでは使用することができず、M系プロセッサを用いた学習速度はアップルの主張に反して既存の高性能GPUより遅いです。
Object detector ver 1
Object detector ver 1は、設定項目も少なく、GPUを可能な限り酷使するので、処理能力とともに熱処理能力も学習に影響してきます。Object detector ver 3の高負荷(大きなGrid size値)設定に比べると計算量は少ないのですが、GPUを遠慮なく使ってくるのでGPUの使用率が上がりやすく、GPUの使用率が50%を超えると熱暴走との戦いとなります。この場合は、室温を下げ扇風機でバンバン風を当てるしか、できることは残されていません。
Object detector ver 3(および4)
Object detector ver 3(および4)は、設定項目にあるGrid sizeを変更することで、処理の重さが変化します。Grid sizeは、検定時に画像を何分割して検定するかに関する値ですが、この値を大きくするとより多くの処理能力が必要となります。デフォルトでは13 x 13に設定されていますが、画像に占める割合が小さな物体を検出する場合は、その物体が同一グリッドに複数含まれないようにGrid sizeの値を大きくする必要があります。反対に、処理が重すぎる場合、この数値を小さくすることにより、処理を軽くすることができます。目的に合わせた最小限の値にすることにより、処理の軽減、学習時間の短縮が可能となります。
CPU
GPUを用いた学習の場合、MacBook Airの様な非力なモデルでもCPUの使用量は上限に達することはほとんどありませんが、同じeGPUを用いてもMacごとに学習時間が変わるのでCPUの学習に与える影響がないわけではなさそうです。
MacのRAM
学習中のRAM使用量をみていると20-70 GBの範疇(多くの場合は32 GB以下)に収まっているように見えます。ですので、32 GB以上のRAMを搭載しているMacが理想です(最近のモデルはRAMが小さめで、増設できないモデルが多いのが悩みどころ)。RAM容量が少なく、データーがあふれた場合はスワップによって対応され、これが学習時間に影響するようです。RAMが8 GBの場合はGrid sizeの値を19 x 19以上、16 GBの場合はGrid sizeの値を27 x 27以上に設定すると学習開始時にエラーが出ます。RAMが72 GB以上(未確認だが、おそらく32 GBあれば大丈夫?)あればver 3のGrid sizeの上限値30 x 30が選択可能です(ただし、後述のGPUの性能によっては、そちらが律速になって選べないことがあります)。
GPU
GPUを用いた学習の場合、ほぼGPUの能力でできることが決まってきます。ビットコインバブルがはじけた影響で、2022年に入って、だいぶグラフィックボードの価格も落ち着いてきましたので、お安い「650 W以上対応のeGPU box」やグラフィックボードを見つけたら、機械学習用に購入するのもアリかもしれません。購入の参考のために、こちらの環境で試した例を挙げておきます。
Radeon RX 590
このGPUでは、Grid sizeを25 x 25以上に設定すると学習開始時にエラーが出ました。このGPUはCatalinaでも使用可能なのでObject detector ver 1の解析にも使用可能です。
Radeon RX 6600 XT
このGPUでは、Grid sizeを29 x 29以上に設定すると学習開始時にエラーが出ました。さらに、上限付近で使用すると学習中に発熱に起因すると思われるエラーが出ます。26 x 26以下で使用するとエラーが出にくくなります。このGPUにはMonterey以上が必要なのでObject detector ver 1の解析には使用できません。
Radeon RX 6800 XT
このGPUでは、Grid sizeを30 x 30まで設定可能で、ver 3の性能をフルに活用することができます。さらに、このクラスのGPUになると熱対策もしっかり取られており、発熱に起因すると思われるエラーは起きません。このGPUにはBig Sur以上が必要なのでObject detector ver 1の解析には使用できません。
Reference
参考文献
このページで紹介したCreate ML ver 1を用いた画像分類法で、分裂細胞や四分子を検出および分類した論文です。
Kiyotaka Nagaki, Tomoyuki Furuta, Naoki Yamaji, Daichi Kuniyoshi, Megumi Ishihara, Yuji Kishima, Minoru Murata, Atsushi Hoshino and Hirotomo Takatsuka. Effectiveness of Create ML in microscopy image classifications: A simple and inexpensive deep learning pipeline for non-data scientists. Chromosome Research in press, 2021. DOI:https://doi.org/10.1007/s10577-021-09676-z
Models
モデル
シェアされているモデルです。
ダウンロードして、自動検出等に、ご利用ください。
さらに、みなさんの作成したモデルもご提供いただければ、順次こちらからダウンロードできる様にします。
Machine learning is
Power for the people, by the people, of the people!
1. 細胞、染色体、四分子の顕微鏡画像の検出モデル
報告された論文
Kiyotaka Nagaki, Tomoyuki Furuta, Naoki Yamaji, Daichi Kuniyoshi, Megumi Ishihara, Yuji Kishima, Minoru Murata, Atsushi Hoshino and Hirotomo Takatsuka. Effectiveness of Create ML in microscopy image classifications: A simple and inexpensive deep learning pipeline for non-data scientists. Chromosome Research in press, 2021. DOI:https://doi.org/10.1007/s10577-021-09676-z
Mix-60_IC.mlmodel
12種由来の分裂細胞を含む画像(Chromosomes: 各5枚)と4種由来の分裂細胞を含まない画像(Others: 各15枚)を元に、オプションなしで生成したImage classifier用のモデル。
Mix-60_IC+op.mlmodel
12種由来の分裂細胞を含む画像(Chromosomes: 各5枚)と4種由来の分裂細胞を含まない画像(Others: 各15枚)を元に、オプションありで生成したImage classifier用のモデル。
Mix-60_OD.mlmodel
12種由来の分裂細胞を含む画像(Chromosomes: 各5枚)と4種由来の分裂細胞を含まない画像(Others: 各15枚)を元に生成したObject detector用のモデル。
Mix-120_IC.mlmodel
12種由来の分裂細胞を含む画像(Chromosomes: 各10枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)を元に、オプションなしで生成したImage classifier用のモデル。
Mix-120_IC+op.mlmodel
12種由来の分裂細胞を含む画像(Chromosomes: 各10枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)を元に、オプションありで生成したImage classifier用のモデル。
Mix-120_OD.mlmodel
12種由来の分裂細胞を含む画像(Chromosomes: 各10枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)を元に生成したObject detector用のモデル。
Mix-767_IC.mlmodel
12種由来の分裂細胞を含む画像(Chromosomes: 全767枚)と4種由来の分裂細胞を含まない画像(Others: 全232枚)を元に、オプションなしで生成したImage classifier用のモデル。
Mix-767_IC+op.mlmodel
12種由来の分裂細胞を含む画像(Chromosomes: 全767枚)と4種由来の分裂細胞を含まない画像(Others: 全232枚)を元に、オプションありで生成したImage classifier用のモデル。
Mix-767_OD.mlmodel
12種由来の分裂細胞を含む画像(Chromosomes: 全767枚)と4種由来の分裂細胞を含まない画像(Others: 全232枚)を元に生成したObject detector用のモデル。
Nt-120_IC.mlmodel
タバコの分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)を元に、オプションなしで生成したImage classifier用のモデル。
Nt-120_IC+op.mlmodel
タバコの分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)を元に、オプションありで生成したImage classifier用のモデル。
Nt-120_OD.mlmodel
タバコの分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)を元に生成したObject detector用のモデル。
BY-2-120_IC.mlmodel
BY-2の分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)を元に、オプションなしで生成したImage classifier用のモデル。
BY-2-120_IC+op.mlmodel
BY-2の分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)を元に、オプションありで生成したImage classifier用のモデル。
BY-2-120_OD.mlmodel
BY-2の分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)を元に生成したObject detector用のモデル。
Ha-120_IC.mlmodel
ヒマワリの分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)を元に、オプションなしで生成したImage classifier用のモデル。
Ha-120_IC+op.mlmodel
ヒマワリの分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)を元に、オプションありで生成したImage classifier用のモデル。
Ha-120_OD.mlmodel
ヒマワリの分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)を元に生成したObject detector用のモデル。
OD_Mix-767+Keyence-150.mlmodel
12種由来の分裂細胞を含む画像(Chromosomes: 全767枚)と4種由来の分裂細胞を含まない画像(Others: 全232枚)にKeyence顕微鏡で撮影した分裂細胞を含む画像150枚を加えたデータを元に生成したObject detector用のモデル。
Confocal.mlmodel
ニンニクの根の共焦点顕微鏡画像中のinterphase(873個)、prophase(202個)、 metaphase(119個)、anaphase(41個)、telophase(109個)を元に生成したObject detector用のモデル。
Tetrads.mlmodel
イネ の四分子画像292個を元に生成したObject detector用のモデル。
Annotated Images for Learning
学習用アノテーション済み画像ファイル
モデル生成に使った学習用アノテーション済み画像ファイルです。
圧縮ファイルを解凍して生成されたフォルダをそのままCreate MLで読み込めますので、システムの動作確認や練習にご利用ください。
また、これらの画像に違うアノテーションをつければ、転移学習用にも使用可能です。
加えて、これらの画像にご自身で用意した画像を付け加えて学習することにより、少量の画像をご自身で用意するだけで、ご自身で用意した画像だけで学習するよりも高精度のモデルを作ることも可能です。
さらに、みなさんの作成した学習用アノテーション済み画像データもご提供いただければ、順次こちらからダウンロードできる様にします。
Machine learning is
Power for the people, by the people, of the people!
1. 細胞、染色体、四分子の顕微鏡画像
これらの画像が使用された論文
Kiyotaka Nagaki, Tomoyuki Furuta, Naoki Yamaji, Daichi Kuniyoshi, Megumi Ishihara, Yuji Kishima, Minoru Murata, Atsushi Hoshino and Hirotomo Takatsuka. Effectiveness of Create ML in microscopy image classifications: A simple and inexpensive deep learning pipeline for non-data scientists. Chromosome Research in press, 2021. DOI:https://doi.org/10.1007/s10577-021-09676-z
IC_Mix-60.zip
Image classifier用の12種由来の分裂細胞を含む画像(Chromosomes: 各5枚)と4種由来の分裂細胞を含まない画像(Others: 各15枚)。
OD_Mix-60.zip
Object detector用の12種由来の分裂細胞を含む画像(Chromosomes: 各5枚)と4種由来の分裂細胞を含まない画像(Others: 各15枚)とjasonファイル。
IC_Mix-120.zip
Image classifier用の12種由来の分裂細胞を含む画像(Chromosomes: 各10枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)。
OD_Mix-120.zip
Object detector用の12種由来の分裂細胞を含む画像(Chromosomes: 各10枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)とjasonファイル。
IC_Mix-767.zip
Image classifier用の12種由来の分裂細胞を含む画像(Chromosomes: 全767枚)と4種由来の分裂細胞を含まない画像(Others: 全232枚)。
OD_Mix-767.zip
Object detector用の12種由来の分裂細胞を含む画像(Chromosomes: 全767枚)と4種由来の分裂細胞を含まない画像(Others: 全232枚)とjsonファイル。
IC_Nt-120.zip
Image classifier用のタバコの分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)。
OD_Nt-120.zip
Object detector用のタバコの分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)とjsonファイル。
IC_BY-2.zip
Image classifier用のBY-2の分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)。
OD_BY-2.zip
Object detector用のBY-2の分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)とjsonファイル。
IC_Ha-120.zip
Image classifier用のヒマワリの分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)。
OD_Ha-120.zip
Object detector用のヒマワリの分裂細胞を含む画像(Chromosomes: 全120枚)と4種由来の分裂細胞を含まない画像(Others: 各30枚)とjsonファイル。
OD_Mix-767+Keyence-150.zip
Object detector用の12種由来の分裂細胞を含む画像(Chromosomes: 全767枚)と4種由来の分裂細胞を含まない画像(Others: 全232枚)にKeyence顕微鏡で撮影した分裂細胞を含む画像150枚を加えたデータとjsonファイル。
Confocal.zip
Object detector用のニンニクの根の共焦点顕微鏡画像中のinterphase(873個)、prophase(202個)、 metaphase(119個)、anaphase(41個)、telophase(109個)とjsonファイル。
Tetrads.zip
Object detector用のイネ の四分子画像292個とjsonファイル。
このマニュアルのPDF版は、こちらからダウンロードできます。
Contact
この方法およびWebページに関するお問い合わせは、岡山大学 資源植物科学研究所 長岐清孝(nagaki@(@以下はokayama-u.ac.jp を付けてください。))までお願いします。