画像解析入門①:画像解析の基礎知識

主に教材としている資料は、第186回農林交流センターワークショップで用いられた「 植物科学・作物育種におけるフェノーム解析- はじめて画像解析を行う研究者のための入門実習 - 」というスライド資料をもとに見ていきます。

目次

ライフサイエンスにおける画像解析とは?

ライフサイエンスにおける画像には、小さいものでは生命現象のスケールと大きいものでは惑星レベルの画像まで様々存在します。

例えば、DNAのATGC塩基配列のレベルを観察する研究もあれば、衛星から見た惑星の画像のレベルを観察する研究もあります。このようにミクロからマクロまでデジタル画像は存在し、何を観察したいのかも様々です。同じビット単位で同じ輝度であっても映っているものが全く異なるのです。

近年は、画像処理の技術があがってきており、あらゆる研究分野においてデジタルデータの量が大量に増えてきています。

全てのデータを一つ一つ裁くのは難しいのが現実です。その為、画像から必要な情報を的確に取捨選択するデータマイニングの力が必要になります。生物学の分野において、"必要な情報"は観察対象がそれぞれ異なります。

撮像装置も沢山ありますし、撮像する対象が非常に多様なので、一概に決められないからです。他の研究では、一つの人、物、対象を調べれば良いものが、ライフサイエンスの分野では、一人一人観察対象が違います。その為、デジタルの画像解析を行えるITに強い人間だけでなく、生命分野に強い人の手も借りないといけないのです。

例えば、色の付け方一つでも分野によって意味が異なります。生物の細胞分析と医用画像は同じ色をつけられるでしょうか?ビットレベル、量子レベルでは同じであっても意味する物は全然違うのです。

画像を作るまでのプロセス

それでは、画像は何で撮るのでしょうか?撮影方法を見ていきましょう。

①画像の撮像

…まず、画像を作るのに必要なものは何でしょうか?まずは、外部光が必要です。外部からの光の量によって、画像の

コントラストが決まって来ます。その為、カメラのピンホール径をどれくらいの大きさにし、露光時間をどれくらいにするか調整するなどして、感度を調整しアドバイスをしていきます。

装置(モダリティ)は良い方がいいのか?(一眼レフカメラの方が解像度が良ければ、それをお勧めします。

重要なのは、一定の装置(モダリティ)を必ず用いることです。環境により異なりますが、撮像装置は必ず一定にして下さい。そうでないと、経過観察などが出来ないからです。

②画像処理

皆さんはどんな形式の画像を使いますか?そのままの画像データ(RAW)か、TIFFか、JPEGか、色々ありますよね。最近だとBPGというJPEGよりも効率のよい圧縮方法が考案されました。 TIFF形式だと圧縮は少ないですが、JPEGだと画像圧縮が行われており、細かいデータが失われていることが多いのです。ブロック状のアーチファクトがしばしば発生します。

生物の観察を行う時は是非、RAWや圧縮の少ないTIFFを用いて観察を行って下さいね。

実験生物学者の話をすると、実験生物学はいわゆるwetな実験が多く、試験管、クリーンベンチ等様々な装置が必要です。

一方で、パソコンの前で主な仕事をする人もいます。こういう人をdryな実験者と言います。彼らも、沢山のアルゴリズムを用いて解析していくことで色々なことを調べているので、実験条件を妥当にしたりなど様々な工夫が必要が必要です。

Image Jを用いた編集の方法

Image Jでは、ファイルを選択し、画像処理を進めていくとより細かい処理を行えます。Image Jの数値データをExcelやRに入れるとデータをプロットすることが出来ます。また、同じ画像処理にも取捨選択の必要があります。このように、様々なアプローチが出来るImage Jですが、画像処理の方法はそれぞれの分野でも異なり、注意が必要です。

例えば、最近よく用いられる画像処理としてNL(Non Local)-meansという手法があります。綺麗な画像が得られるのですが、生物学ではほとんど利用されません。何故かというと、NL-meansは離れたpixelの情報も取得してしまうので、本来含まれるべき情報を省いてしまっている可能性があるからです。

NL=Non Localという意味であり、画像の中から1pixelごとに比較して非局所的な画像処理を行っています。局所のぱっと見で似ているところを用いてノイズ処理を行っているのです。しかし、意図しない画像を示してしまうこともある。(例えば、似ているからといって頭の画像の一部と腹の画像の一部で平均化するのはミスリーディングにつながる可能性もあります。)

むしろ、隣り合ったデータを用いてノイズ除去をするのが生物学や医療のアプローチになります。ノイズ除去しようとすると、近傍をフィルタ処理するのが古典的かつ王道の方法です。画像の解像度にも影響するので、画像圧縮にも近い面があります。

Image Jを実際に使ってみよう

では、試しにImage Jを使って簡単な画像処理をやってみましょう!

メニューのFile->Open Samples->Lena(68K)を選択して開きます。(上の写真)

①画像の特徴

Image->Type->8bitを選択すると、0~255の白黒のコントラストスケールの画像になります。
因みに32bitでは、小数点と負の画像が取得出来ます。

この画像は、縦横512×512個のピクセルで構成された画像でコントラストは8bit(0~255:2の8乗=256個のレベルに別れている)の画像です。(四角で囲った部分を見て下さい。)

②簡単な操作について

虫眼鏡ツールを選択してマウスクリックをすると、どんどん細かい部分まで調べることが出来ます。(右クリックで元の大きさに戻る)

これが座標系にあたります。マウスオーバーした位置がx,y座標を示していて、(x=42,y=49)左上が原点になります。これが少し特殊ですね。

虫眼鏡ツールで拡大すると最大限拡大して、1pixelの情報を調べることも出来ます。

③サチる!(コントラストを変えてみよう)

サチるまで見てみよう!「サチる」のサチはsaturation(輝度飽和)から来ています。

カメラにおける saturation と、コントラスト補正によって「この辺りがサチっちしまう」という時の saturation は、もとは装置が持つ検出範囲を超えて光が入ってしまい、装置の側の上限を超えてしまったことを意味します。

カメラや撮像装置が検出する光はカメラが持っている半導体素子の性能によるのですが、ある一定レベルまで光が入るとそれ以上の光を検出出来なくなり、輝度が飽和してしまいます。(つまり真っ白になるわけです)

つまり、画面が真っ白になるまで画像を変化させてみることを「サチる」と考えても構わないと思います。
Image Jを見てみると、メニューバーからImage->Adjust->Bright&Contrastを選択すると以下のように赤い四角で囲ったウィンドウが表示されます。

この最小値〜最大値を変更すると、0~255のコントラストスケールの中に入る範囲を変えることが出来ます。
因みに、医療現場の画像でも似たようなコントラスト処理をよく行っています。。病院のX線画像も今はほぼデジタルが主流です。CT画像の場合はやや特殊で、-1000~+1000の各組織のX線減弱の値(CT値)を0~255の8bitの画像に変換します。Window/Levelがそれにあたります)

さて、いかがだったでしょうか?Windowsだとペイントであったり、Macだとプレビューの編集であったり、色々な編集の方法がありますが、まずは色々試してみて下さいね!