Mune's Weblog

鹿児島在住のstray radiologistです
仕事も趣味も画像関係…

2019.03.31 Faster-RCNN成功\(^O^)/

2020年03月31日 | 仕事関係
今月アタマから取り組んでいたFaster RCNNを用いた「とあるAI」の最初のモデルが成功!!
パブリックデータベースの取得から、数10GBのDICOM画像の一括処理、アノテーション作成とアノテーションファイルの自動書き換え等々、人工知能開発だけでなくPython言語についても良いトレーニングになりました。



過学習かもしれませんが、概ね良い結果が得られていると思いたい...
これで益々色んな事ができるようになるはず!?

COVID-Netざっくり解説

2020年03月27日 | 仕事関係
胸部単純写真を用いたCOVID-19診断支援ツールの情報が公開されていますね。
ざっくり解説。

ソースはこちら
GitHub https://github.com/lindawangg/COVID-Net/
Arxiv Linda Wang and Alexander Wong, "COVID-Net: A Tailored Deep Convolutional Neural Network Design for Detection of COVID-19 Cases from Chest Radiography Images", 2020.

診断支援システムの内容ですが、
要は胸部単純写真による4クラス分類の分類器
1. no infection
2. bacterial infection
3. non-COVID viral infection
4. COVID-19 viral infection
です。
モデルを見ると入力画像が224×224×3(つまり224ピクセル×224ピクセル×3チャンネル)になっているので、RGBカラーの汎用画像を元に作成されているようです。ひょっとしたらImageNetで学習済みのモデルのファインチューニングかもしれないです。
GitHubのトップに出ている画像はGSInquireというツールなので、別モデルのような気がします(出力がsemantic segmentation)。こちらは商用化を視野に入れているかも?

データセットは下記2種類を用いており、さらにGitHubで公開して募集しています。

1. COVID chest X-ray dataset
2. Kaggle chest X-ray images (pneumonia) dataset

今のところ、そこそこの精度が出ているようですが、GitHubのissuesで議論されているようなlimitationsがあるので、注意が必要ですね。BacterialとCOVID-19の診断に迷っているようなので(胸部単純写真でわかる程度の所見を有するものが学習画像に多いということかもしれません)、病期に応じた画像の変化を考慮していない点や、DICOM画像から入力画像へ変換する際のがルールが決まっていないことなど。

医用画像AI開発一般に言えることですが、AIに解かせる課題の定義や、医用画像の取り扱いなどもう少しメディカル側からの働きかけが必要でしょう。

2020.03 三連休その3

2020年03月26日 | 波乗り
三連休が始まったのは、もう1週間も前のことか...
連休最終日も波に恵まれました。しかも面ツル南西ウネリ!


DC-LX100M2

何気にホームポイントで入ったの久しぶりでした。
小波予想でオルタナティブボードだけ持って行きましたが、EPSショートでも良かったかも。いつまで乗れるかわからないし(最近、ちょっと弱気)。

2020.03 三連休その2

2020年03月24日 | 日記
三連休、中日。
約1週間、コツコツと作業してようやく完成。





初めてのデスクづくり。ダボ継ぎにハマりそう(笑うところ。)
精度は初心者丸出しですが、ギリギリ収まってくれました。はじめて妻に褒められたけど、片付いたからだろな。

2020.03.07 D.I.Y.

2020年03月15日 | 日記
休校の貴重な時間をどう過ごさせるか...
と、いうことで部屋にバスケットボールのゴールを付けてみました。リングはミニバスより少し低いくらいかな。
ボールは100均のビニール?ボールなので変なクセがつくかもしれませんが。


DC-LX100M2

RJさん、コーチありがとうございました!

Windows10でFaster RCNN

2020年03月13日 | 仕事関係
久しぶりに物体検出アルゴリズムをしてみることにしました。
Haar like特徴量を用いたものを昔やっていたのですが、deep learningでもチャレンジ。
最新のモデルではありませんが、Faster RCNNの実装に取り組んでみました。
色んな方のブログ、まとめに助けてもらったので、一応備忘録として。

結果。


KerasでFaster RCNN 参考サイト
https://aerials.hatenablog.com/entry/2019/02/06/155055
英語サイト20200310追加*別画像での方法?やQ&Aが豊富
https://www.analyticsvidhya.com/blog/2018/11/implementation-faster-r-cnn-python-object-detection/

上のサイトはUbuntuなので、導入に際してはコマンドの読み替えが必要です。
wget→bitsadmim.exe /TRANSFER ~~~
mv→move
とかですね。

Tensorflow, kerasあるあるですが、ドはまりしたポイントのまとめは、
kerasのバージョン依存です。ResNet50が動かなかったし、VGG16は学習できたものの、認識が上手くいきませんでした。原因はkeras 2.2.4を使っていたことのようです。
エラーメッセージ:
“ValueError: Shape must be rank 1 but is rank 0 for ‘bn_conv1_7/Reshape_4’ (op: ‘Reshape’) with input shapes: [1,1,1,64], [].”

一応、Anacondaの仮想環境で行っていましたが、バージョン合わせとライブラリのインポートにはcondaでは上手くいかず、pipで成功しました。
普段、condaを使うのでかなりビビっていたのですが。。(他のライブラリを入れる可能性もあるので、まだわからない)
コマンドプロンプトから仮想環境をactivateして、
pip install tensorflow-gpu == 2.2.0
pip == 1.8.0
で、
python
from tensorflow.python.client import device_lib
device_lib.list_local_devices
GPUの認識に成功したことを確認。cuDNN, CUDAのあたりはpipでうまく解消してくれたみたいです...?

しかし、opencvが無かったので動かず
pip install opencv-python

これで成功!!numpyやmklなどがぶつかっていたらどうしようもないところでした。
自前のデータでするにはまだまだ障壁がありますが、梅雨までには1個発表できるAI作りたいですね。


2020.03.04 丸鶏堪能

2020年03月04日 | 日記
ご無沙汰です。
色々思うところあり、3月からフリーに戻りました。
怪我の功名というべきか、おかげさまで(?)この大変な時期も家で子守をすることができています。


DC-LX100M2

せっかく空いた時間なので、普段できないことを色々しようかと思っています、の第1弾。
RJさんにお願いして丸鶏を購入!
圧力鍋に入りきらなかったので、筋肉と関節について解剖学的な講義をした後、出刃でソウタに捌かせてまずは参鶏湯風スープ。
翌日の昼はチキンラーメン。
で、夜は海南風チキンライス!
まるっと美味しく頂いています(*^_^*)いわゆるボーンブロスの一種なので、体にも良さそう!