ブログ
CTの原理①~ラドン変換~
CTはというと,既に完成された技術のように思いますが,「投影回数を少なくしたい」かつ,「様々な方向から投影できない」という場合にも対応できるように,より精密に断面を再構成する技術が求められています。 CTとは CTとは,Computed Tomography の頭文字をとったもので,コンピュータ断層撮像法と訳されます。 CT検査とは,X線をつかって身体の断面を撮影する検査です。X線を照射し,断面を通過したデータを集め,画像処理を行うことで,断面を再構成します。 CTの応用分野は非常に広く,医療系であれば「カテーテルX線血管造影法」,「CTアンジオグラフィ」,「三次元欠陥撮影」(参考文献[1])...
Deep learningで画像認識⑩〜Kerasで畳み込みニューラルネットワーク vol.6〜
前回は、画像中の領域抽出に用いられる、U-Netと呼ばれるU字型の畳み込みネットワークを紹介しました。 今回は、U-Netを人体の腹部MRI画像に適用して、実際に肝臓の領域抽出を行ってみます。 肝臓抽出に用いたU-Net 下向きパスは、「畳み込み+プーリング」により、深い層ほど特徴が局所的で位置情報が曖昧に、浅い層ほど、特徴は全体的で位置情報は正確になる。一方、上向きパスは、「畳み込み+upサンプリング」により、特徴を保持したまま、画像を大きく復元することができる。両方のパスにおいて、画像サイズが同じものを深い層から段階的にマージ(統合)することによって、局所的特徴を保持したまま全体的位置情報...
Deep learningで画像認識⑨〜Kerasで畳み込みニューラルネットワーク vol.5〜
前回までは、畳み込みネットワークを用いて画像に「何が」写っているかの推測(クラス分類)を行いましたが、今回は、U-Netと呼ばれるU字型の畳み込みネットワークを用いて、画像中に「何が、どこに、どのように」写っているのか(領域抽出)を行います。 人体の腹部MRI画像にU-Netを適用して、肝臓の領域抽出を行ってみます(今回は前準備です)。 ディープラーニングを用いた物体検出・領域抽出 畳み込みニューラルネット(CNN)は、画像のクラス分類(画像認識)だけでなく、物体の位置や大きさの検出(物体検出)や形状の抽出(領域抽出)にも用いられます(図1, 2)。例えば、物体検出には、R-CNN, Fast...
Deep learningで画像認識⑧〜Kerasで畳み込みニューラルネットワーク vol.4〜
前回は、白血球(好中球、好酸球、単球)の顕微鏡画像(90枚)を用いて、これら3種類の分類を行いました。画像の水増し(Data Augmentation)や交差検証(KFold)などの精度良く分類できる手法を紹介しました。 今回は、上記の手法に加え、転移学習(Transfer Learning)と呼ばれる学習済みのモデルを利用する手法を試します。画像は前回と同じものを用いました。 転移学習(Transfer Learning) 畳み込みニューラルネット(CNN)では、層間の結合重みが最適化されることによって、学習モデルが作られますが、既に学習済みのモデルをCNNに用いる手法を転移学習と呼びます。...
Deep learningで画像認識⑦〜Kerasで畳み込みニューラルネットワーク vol.3〜
前回は、KerasによるDeepLearningのモデルで、60,000枚の文字画像を用いて分類を行いました。 今回は、白血球(好中球、好酸球、単球)の顕微鏡画像(90枚)を用いて、これら3種類の分類を行います。100枚に満たないような少ない画像数でも、DeepLearningで分類可能になるテクニックや過学習を抑える方法を紹介します。 画像の水増し(Data Augmentation) DeepLearningで画像分類というと、万単位の大量の画像を学習させる必要があるイメージがあるかもしれませんが、少ない画像数でもDeepLearningで分類が可能となる方法があります。その1つの方法が画...
Deep learningで画像認識⑥〜Kerasで畳み込みニューラルネットワーク vol.2〜
前回は、KerasでDeepLearningを行うための準備(画像データの読み込みや前処理)を行いました。今回は、実際に畳み込みニューラルネットワーク(CNN)で画像データを分類してみます。MNISTというサイトからダウンロードした60000個の手書き文字を学習した後、自分が書いた手書き文字を認識できるかどうか試してみます。 CNNのモデルの組み立て この図をKerasのコマンドで表すと下のようになります。たった数十行で簡単なDeepLearningの出来上がりです。 from keras.models import Sequential from keras.layers.convoluti...
Deep learningで画像認識⑤ 〜Kerasで畳み込みニューラルネットワーク vol.1〜
Kerasとは? Kerasと呼ばれるDeep Learingのライブラリを使って、簡単に畳み込みニューラルネットワークを実装してみます。 世の中に出回っている機械学習のライブラリには、いくつか種類があります。・Tensorflow (開発元:Google)・Theano (開発元:モントリオール大学)・Caffe(開発元:Berkeley Vision and Learning Center) これらは、python向けのDeep Learningのライブラリを持っています。今回は、Kerasと呼ばれる最近開発されたDeep Learningのライブラリを使って、文字認識のニューラルネットワ...
Deep learningで画像認識④ 〜畳み込みニューラルネットワークの構成〜
今回は、畳み込みニューラルネットワーク(CNN)が、なぜ画像認識に適しているのかを理解するために、CNNの各層の働きに注目して構造を見ていきます。 畳み込みネットワークの構成 前回、前々回の記事Deep learningで画像認識②〜視覚野と畳み込みニューラルネットワーク 〜Deep learningで画像認識③〜ネオコグニトロンとは?〜 でも紹介しましたが、CNN(畳み込みニューラルネットワーク)では、 ① 畳み込みフィルタ層:画像の濃淡パターンを検出する(エッジ抽出等の特徴抽出)② プーリング層:物体の位置が変動しても同一の物体であるとみなす(位置ズレを許容する) これらの層を組み合わせる...
Deep learningで画像認識③ 〜ネオコグニトロンとは?〜
Deep learningは、画像認識において大きな成功を収めています。そこで用いられる多層ネットワークは、畳み込みニューラルネットワーク(convolutional neural network:CNN)と呼ばれており、画像認識に適した独特の構造を持っています。 前回(Deep learningで画像認識②)は、CNNがなぜ画像認識に適しているのかを解説しました。簡単にまとめると、CNNが、われわれの視覚野の神経細胞の2つの働き ①「画像の濃淡パターンを検出する(特徴抽出)」:単純型細胞(以下S細胞) ②「物体の位置が変動しても同一の物体であるとみなす(位置ズレを許容する)」:複雑型細胞(以...
Deep learningで画像認識② 〜視覚野と畳み込みニューラルネットワーク 〜
画像認識は、Deep learningが成功を収めている分野の一つですが、その多層ネットワークは、畳み込みニューラルネットワーク(以下、畳み込みネット)と呼ばれ、画像認識に適した独特の構造を持っています。 前回(Deep learningで画像認識①)は、この畳み込みネットが、文字認識や医用画像診断などの画像認識においてその力を発揮していることを紹介しました。 今回は、畳み込みネットが画像認識に適している理由を解説します。畳み込みネットは、神経科学の知見に基づく構造を持っています。例えば、我々生物の視覚野には、たくさんの神経細胞(ニューロン)があり、外界からの入力に対する反応の違いによって、 ...