(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-22
(45)【発行日】2024-10-30
(54)【発明の名称】撮像方法、位置ずれ量算出方法、プログラムおよび記録媒体ならびに撮像装置
(51)【国際特許分類】
G06T 1/00 20060101AFI20241023BHJP
【FI】
G06T1/00 500A
(21)【出願番号】P 2021038058
(22)【出願日】2021-03-10
【審査請求日】2023-12-18
(73)【特許権者】
【識別番号】000207551
【氏名又は名称】株式会社SCREENホールディングス
(74)【代理人】
【識別番号】100105935
【氏名又は名称】振角 正一
(74)【代理人】
【識別番号】100136836
【氏名又は名称】大西 一正
(72)【発明者】
【氏名】安田 拓矢
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2017-068302(JP,A)
【文献】特開平11-112790(JP,A)
【文献】特開2013-068706(JP,A)
【文献】米国特許出願公開第2013/0070970(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
(57)【特許請求の範囲】
【請求項1】
撮像対象物を複数の撮像視野に分割して撮像する撮像方法において、
前記撮像対象物を、前記撮像視野を互いに異ならせ、かつ隣り合う前記撮像視野同士を部分的に重複させながら撮像して、複数の原画像を取得する工程と、
一の前記原画像が取得されるごとに、当該原画像に対応する画像データをメモリに記憶させる工程と、
前記複数の原画像の間の位置ずれ量を算出する工程と
を備え、
前記原画像の各々について、前記撮像視野が当該原画像と重複し前記位置ずれ量の算出対象となる他の前記原画像である算出対象画像の数を示す対象画像数を、撮像時の前記撮像視野間の位置関係に基づいて予め設定しておき、
新たに前記原画像が取得されると、当該原画像と、前記メモリに前記画像データが記憶されている取得済みの前記算出対象画像との間の位置ずれ量を、互いの重複部分の画像内容に基づき算出し、
前記メモリに前記画像データが記憶されている前記原画像のうち、当該原画像との間で前記位置ずれ量の算出が行われた前記算出対象画像の数が前記対象画像数に達したものについては、当該原画像に対応する前記画像データを前記メモリから解放する、撮像方法。
【請求項2】
前記原画像の各々について、当該原画像との間で前記位置ずれ量の算出が行われた前記算出対象画像の数を計数しておき、該計数結果と前記対象画像数とを比較して前記メモリからの前記画像データの解放を実行するか否かを判断する、請求項1に記載の撮像方法。
【請求項3】
前記位置ずれ量に基づき、前記複数の原画像を合成する工程をさらに備える、請求項1または2に記載の撮像方法。
【請求項4】
前記原画像を撮像する撮像部と前記撮像対象物とを相対移動させながら複数回撮像を行うことで、前記複数の原画像を取得する、請求項1ないし3のいずれかに記載の撮像方法。
【請求項5】
前記撮像対象物に対し前記撮像部を所定の主走査方向に相対移動させながら所定回数の撮像を実行する走査撮像動作を、前記主走査方向と交わる副走査方向に位置を異ならせて複数回実行し、
1回の前記走査撮像動作により取得され前記メモリに前記画像データが記憶された前記原画像の数が、前記所定回数と一致したときに、前記メモリからの前記画像データの解放を実行する、請求項4に記載の撮像方法。
【請求項6】
1回の前記走査撮像動作により取得され前記メモリに前記画像データが記憶された前記原画像の数が前記所定回数と一致しないときには、前記副走査方向の同じ位置で前記走査撮像動作を再実行する、請求項5に記載の撮像方法。
【請求項7】
撮像対象物を複数の撮像視野に分割し、かつ隣り合う前記撮像視野同士を部分的に重複させて撮像された複数の原画像間の位置ずれ量を算出する位置ずれ算出方法であって、
前記原画像に対応する画像データを取得しメモリに記憶させる工程と、
前記複数の原画像の間の位置ずれ量を算出する工程と
を備え、
前記原画像の各々について、前記撮像視野が当該原画像と重複し前記位置ずれ量の算出対象となる他の前記原画像である算出対象画像の数を示す対象画像数を、撮像時の前記撮像視野間の位置関係に基づいて予め設定しておき、
一の前記原画像と、前記メモリに前記画像データが記憶されている取得済みの前記算出対象画像との間の位置ずれ量を、互いの重複部分の画像内容に基づき算出し、
前記メモリに前記画像データが記憶されている前記原画像のうち、当該原画像との間で前記位置ずれ量の算出が行われた前記算出対象画像の数が前記対象画像数に達したものについては、当該原画像に対応する前記画像データを前記メモリから解放する、位置ずれ算出方法。
【請求項8】
コンピュータに、請求項7に記載の各工程を実行させるためのプログラム。
【請求項9】
請求項8に記載のプログラムを非一時的に記録した、コンピュータ読み取り可能な記録媒体。
【請求項10】
撮像対象物を、撮像視野を互いに異ならせ、かつ隣り合う前記撮像視野同士を部分的に重複させながら撮像して、複数の原画像を取得する画像取得部と、
前記原画像に対応する画像データを一時的に記憶するメモリと、
前記複数の原画像の間の位置ずれ量を算出する位置ずれ量算出部と
を備え、
前記位置ずれ量算出部は、
前記原画像の各々について、前記撮像視野が当該原画像と重複し前記位置ずれ量の算出対象となる他の前記原画像である算出対象画像の数を示す対象画像数を、撮像時の前記撮像視野間の位置関係に基づいて予め設定しておき、
新たに前記原画像が取得されると、当該原画像と、前記メモリに前記画像データが記憶されている取得済みの前記算出対象画像との間の位置ずれ量を、互いの重複部分の画像内容に基づき算出し、
前記メモリに前記画像データが記憶されている前記原画像のうち、当該原画像との間で前記位置ずれ量の算出が行われた前記算出対象画像の数が前記対象画像数に達したものについては、当該原画像に対応する前記画像データを前記メモリから解放する、撮像装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、撮像対象物を複数の撮像視野に分割して撮像する撮像技術に関するものである。
【背景技術】
【0002】
撮像手段の撮像視野よりも広範囲の画像が必要なとき、撮像対象物を複数の撮像視野に分割して撮像した原画像から合成画像を作成することがある。このような場合、隣接する撮像視野同士を部分的にオーバーラップさせて撮像を行い、オーバーラップ部分の画像内容に基づいて原画像間の位置ずれを補正しつつ合成することが行われる。例えば特許文献1に記載の技術では、互いに一部がオーバーラップするように撮像された複数の画像間で位置ずれ量を計算し、その結果に基づき複数の画像を合成することで、1つの広角画像を得ている。
【0003】
また、このように撮像対象物を複数の撮像視野に分割する場合において、特に撮像対象物の形状や物性に応じて画像の配置を動的に決定する方法については、例えば特許文献2に記載されている。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開第2019/053839号公報
【文献】特開2018-040569号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
コンピュータ装置などの演算処理装置を用いて画像内容に基づく位置ずれ補正を行う際には、補正対象となる画像のデータをメモリに保存しておく必要があるが、画像のサイズが大きい場合には多くのメモリ資源を必要とする。これに起因するメモリ資源不足を回避する方法としては、例えば画像を圧縮してデータ量を削減することや、画像データをハードディスクドライブ等の大容量ストレージに退避させることなどが考えられる。
【0006】
しかしながら、圧縮された画像に基づく位置ずれ補正では、位置ずれ量の算出精度が低下する場合がある。また、画像データをストレージに保存する方法では、位置ずれ量を算出する際には画像データをストレージからメモリに転送しながら演算を行う必要があり、これにより演算処理の所要時間が長くなってリアルタイム性を損ねるという問題が生じ得る。
【0007】
この発明は上記課題に鑑みなされたものであり、撮像対象物を複数の撮像視野に分割して撮像する技術において、画像間の位置ずれ量を、限られたメモリ資源でもリアルタイム性を損ねることなく算出することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
この発明の一の態様は、撮像対象物を複数の撮像視野に分割して撮像する撮像方法であって、上記目的を達成するため、前記撮像対象物を、前記撮像視野を互いに異ならせ、かつ隣り合う前記撮像視野同士を部分的に重複させながら撮像して、複数の原画像を取得する工程と、一の前記原画像が取得されるごとに、当該原画像に対応する画像データをメモリに記憶させる工程と、前記複数の原画像の間の位置ずれ量を算出する工程とを備えている。
【0009】
また、この発明の他の一の態様は、上記目的を達成するため、撮像対象物を、撮像視野を互いに異ならせ、かつ隣り合う前記撮像視野同士を部分的に重複させながら撮像して、複数の原画像を取得する画像取得部と、前記原画像に対応する画像データを一時的に記憶するメモリと、前記複数の原画像の間の位置ずれ量を算出する位置ずれ量算出部とを備えている。
【0010】
前記原画像の各々について、前記撮像視野が当該原画像と重複し前記位置ずれ量の算出対象となる他の前記原画像である算出対象画像の数を示す対象画像数を、撮像時の前記撮像視野間の位置関係に基づいて予め設定しておき、新たに前記原画像が取得されると、当該原画像と、前記メモリに前記画像データが記憶されている取得済みの前記算出対象画像との間の位置ずれ量を、互いの重複部分の画像内容に基づき算出し、前記メモリに前記画像データが記憶されている前記原画像のうち、当該原画像との間で前記位置ずれ量の算出が行われた前記算出対象画像の数が前記対象画像数に達したものについては、当該原画像に対応する前記画像データを前記メモリから解放する。
【0011】
これらの発明においては、前記原画像の各々について、前記撮像視野が当該原画像と重複し前記位置ずれ量の算出対象となる他の前記原画像である算出対象画像の数を示す対象画像数を、撮像時の前記撮像視野間の位置関係に基づいて予め設定しておき、新たに前記原画像が取得されると、当該原画像と、前記メモリに前記画像データが記憶されている取得済みの前記算出対象画像との間の位置ずれ量を、互いの重複部分の画像内容に基づき算出し、前記メモリに前記画像データが記憶されている前記原画像のうち、当該原画像との間で前記位置ずれ量の算出が行われた前記算出対象画像の数が前記対象画像数に達したものについては、当該原画像に対応する前記画像データを前記メモリから解放する。
【0012】
このように構成された発明では、撮像対象物が複数の撮像視野の原画像に分割されて撮像される場合において、原画像の各々につき、当該原画像との間で位置ずれ量の算出対象となる他の原画像の数が、撮像時の撮像視野間の位置関係に基づき、「対象画像数」として予め設定される。その上で、各原画像と、当該原画像との間で相互に位置ずれ量の算出対象となる算出対象画像との間で位置ずれ量が算出される。
【0013】
この「対象画像数」は、言い換えれば、各原画像が他の一の原画像との間での位置ずれ算出処理に適用される回数に相当する。撮像により取得される複数の原画像のうち、当該原画像との間で位置ずれ量の算出が行われた算出対象画像の数が「対象画像数」に達したものについては、以後の位置ずれ量の算出において「算出対象画像」として使用されることはない。このため、当該原画像の画像データをメモリに保存しておく必要はない。このような画像データをメモリから解放する、つまり当該画像データが占有するメモリ上の記憶領域への他のデータの書き込みを許容するようにすれば、不要な画像データがメモリの記憶資源を圧迫することは回避される。例えば、当該画像データを削除して、新たに取得された画像データを保存することが可能となる。
【0014】
このように、本発明では、撮像視野を異ならせることで撮像対象物を分割して撮像した原画像の各々につき、当該原画像との間で位置ずれ量の算出に用いられる他の原画像の数が、対象画像数として予め求められている。そして、各原画像のうち、当該原画像との間で位置ずれ量の算出に用いられた他の原画像の数が対象画像数に達したものについては、画像データをメモリから解放する。
【0015】
そのため、全ての原画像をメモリに記憶しておく必要はなく、処理に必要なメモリ容量を小さくすることができる。その一方で、以後の算出処理に使用される画像については画像データがメモリに保存された状態が維持されるので、算出処理のリアルタイム性を損ねることも回避される。
【0016】
また、この発明の他の一の態様は、撮像対象物を複数の撮像視野に分割し、かつ隣り合う前記撮像視野同士を部分的に重複させて撮像された複数の原画像間の位置ずれ量を算出する位置ずれ算出方法であって、上記目的を達成するため、前記原画像に対応する画像データを取得しメモリに記憶させる工程と、前記複数の原画像の間の位置ずれ量を算出する工程とを備えている。
【0017】
ここで、前記原画像の各々については、前記撮像視野が当該原画像と重複し前記位置ずれ量の算出対象となる他の前記原画像である算出対象画像の数を示す対象画像数を、撮像時の前記撮像視野間の位置関係に基づいて予め設定しておき、一の前記原画像と、前記メモリに前記画像データが記憶されている取得済みの前記算出対象画像との間の位置ずれ量を、互いの重複部分の画像内容に基づき算出し、前記メモリに前記画像データが記憶されている前記原画像のうち、当該原画像との間で前記位置ずれ量の算出が行われた前記算出対象画像の数が前記対象画像数に達したものについては、当該原画像に対応する前記画像データを前記メモリから解放する。
【0018】
また、この発明の他の態様は、上記位置ずれ算出方法の各工程をコンピュータに実行させるためのプログラム、およびこのプログラムを非一時的に記録した記録媒体である。
【0019】
このように構成された発明では、上記発明と同様に、位置ずれ量の算出のためにメモリに保存しておくべき画像データを残しつつ、不要な画像データを削除することができる。これにより、処理のリアルタイム性を損なうことなく、メモリ使用量の削減を図ることが可能である。
【発明の効果】
【0020】
以上のように、本発明によれば、複数の原画像の各々につき、当該原画像との間で位置ずれ算出に用いられる他の原画像の数(対象画像数)が予め求められる。そして、算出処理の対象となった他の原画像の数が対象画像数に達した時点で、当該原画像の画像データをメモリから解放する。こうすることで、画像間の位置ずれ量を、限られたメモリ資源でもリアルタイム性を損ねることなく算出することが可能となる。
【図面の簡単な説明】
【0021】
【
図1】本発明に係る撮像装置の第1実施形態の概略構成を示す図である。
【
図2】複数の撮像視野に分割した撮像の割り付け例を示す図である。
【
図3】本実施形態の事例として用いる原画像の例を示す図である。
【
図4】原画像の撮像順と算出可能な原画像との関係を示す図である。
【
図5】本実施形態の撮像処理の原理を示すタイミングチャートである。
【
図6】
図5の撮像処理を具現化したフローチャートである。
【
図7】撮像処理の変形例を示すフローチャートである。
【
図8】リトライ撮像の要否判断処理の2つの例を示すフローチャートである。
【
図9】変形例における各部の状態変化を示すタイミングチャートである。
【
図10】撮像ユニットと画像処理ユニットとが別体に構成された撮像装置の構成例を示す図である。
【
図11】撮像ユニットの動作を示すフローチャートである。
【
図12】画像処理ユニットの動作を示すフローチャートである。
【発明を実施するための形態】
【0022】
<第1実施形態>
図1は本発明に係る撮像装置の第1実施形態の概略構成を示す図である。この撮像装置1は、ディッシュと呼ばれる平型で上面が開口する試料容器10に担持された細胞等の生試料を撮像する装置である。試料容器10には、培地Mとしての液体が所定量注入され、この液体中において所定の培養条件で培養された細胞等が、この撮像装置1の撮像対象物となる。培地は適宜の試薬が添加されたものでもよく、また液状で試料容器10に注入された後ゲル化するものであってもよい。
【0023】
なお、ここでは撮像対象物を生試料とした場合を例示して説明するが、本発明における撮像対象物はこれに限定されるものではない。例えば、適宜の担体に担持された組織切片や病理標本等が撮像対象物とされてもよい。また、試料容器がウェルと呼ばれる窪部を複数備えた、いわゆるウェルプレートであり、各ウェルに担持された生試料が撮像対象物とされてもよい。
【0024】
また例えば、規則的なパターンが形成されたプリント基板、半導体チップまたはウエハ、ディスプレイ用パネルなどの工業製品についても、その品質検査やプロセス評価のための撮像に本発明を適用することが可能である。
【0025】
撮像装置1は、試料容器10を保持するホルダ11と、ホルダ11の上方に配置される照明部12と、ホルダ11の下方に配置される撮像部13と、これら各部の動作を制御するCPU141を有する制御部14とを備えている。ホルダ11は、試料容器10の下面周縁部に当接して試料容器10を略水平姿勢に保持する。
【0026】
照明部12は、ホルダ11により保持された試料容器10に向けて照明光を出射する。照明光の光源としては、例えば白色LED(Light Emitting Diode)を用いることができる。光源と適宜の照明光学系とを組み合わせたものが、照明部12として用いられる。照明部12により、試料容器10内の撮像対象物が上方から照明される。
【0027】
ホルダ11により保持された試料容器10の下方に、撮像部13が設けられる。撮像部13には、試料容器10の直下位置に撮像光学系が配置されており、撮像光学系の光軸は鉛直方向に向けられている。
図1は側面図であり、図の上下方向が鉛直方向を表す。
【0028】
撮像部13により、試料容器10内の撮像対象物が撮像される。具体的には、照明部12から出射され試料容器10の上方から液体に入射した光が撮像対象物を照明し、試料容器10の底面から下方へ透過した光が、撮像部13の対物レンズ131を含む撮像光学系を介して撮像素子132の受光面に入射する。撮像光学系により撮像素子132の受光面に結像する撮像対象物の像が、撮像素子132により撮像される。撮像素子132は二次元の受光面を有するエリアイメージセンサであり、例えばCCDセンサまたはCMOSセンサを用いることができる。
【0029】
撮像部13は、制御部14に設けられたメカ制御部146により水平方向および鉛直方向に移動可能となっている。具体的には、メカ制御部146がCPU141からの制御指令に基づき駆動機構15を作動させ、撮像部13を水平方向に移動させることにより、撮像部13が試料容器10に対し水平方向に移動する。また鉛直方向への移動によりフォーカス調整がなされる。
【0030】
駆動機構15は、撮像部13を水平方向に移動させる際、図において点線矢印で示すように照明部12を撮像部13と一体的に移動させる。すなわち、照明部12は、その光中心が撮像部13の光軸と略一致するように配置されており、撮像部13が水平方向に移動するとき、これと連動して移動する。これにより、撮像部13が試料容器10に対し移動する場合でも、照明部12の光中心が常に撮像部13の光軸上に位置することとなり、どの位置においても撮像対象物に対する照明条件を一定にして、撮像条件を良好に維持することができる。
【0031】
撮像部13の撮像素子132から出力される画像信号は、制御部14に送られる。すなわち、画像信号は制御部14に設けられたADコンバータ(A/D)143に入力されてデジタル画像データに変換される。CPU141は、受信した画像データに基づき適宜画像処理を実行する。
【0032】
制御部14はさらに、画像データや演算中のデータを一時的に記憶するためのメモリ144と、CPU141が実行すべきプログラムやCPU141により生成されるデータを記憶保存するためのストレージ145とを有している。メモリ144はCPU144から高速アクセスが可能である一方、記憶容量はストレージ145よりも小さい。ストレージ145は例えばハードディスクドライブ(HDD)であり、記憶容量は大きいが、アクセス速度はメモリ144よりも遅い。これらは目的に応じて使い分けられる。CPU141は、ストレージ145に記憶された制御プログラムを呼び出し実行することにより、後述する各種の演算処理を行う。
【0033】
その他に、制御部14には、インターフェース(IF)部142が設けられている。インターフェース部142は、ユーザからの操作入力の受け付けや、ユーザへの処理結果等の情報提示を行うユーザインターフェース機能のほか、通信回線を介して接続された外部装置との間でのデータ交換を行う機能を有する。ユーザインターフェース機能を実現するために、インターフェース部142には、ユーザからの操作入力を受け付ける入力受付部147と、ユーザへのメッセージや処理結果などを表示出力する表示部148とが接続されている。
【0034】
撮像部13の撮像視野は撮像倍率により変化するが、特に高倍率の撮像では、撮像視野が試料容器10の底面よりも小さい場合があり得る。このような場合に試料容器10の全体を撮像するためには、撮像対象となる範囲を複数の撮像視野に分割して撮像し、こうして得られた複数の原画像を画像処理により合成して大サイズの画像を作成することが行われる。
【0035】
図2は試料容器を複数の撮像視野に分割して撮像する場合の割り付け例を示す図である。
図2(a)は試料容器10を複数の撮像視野に分割して撮像する場合の画像の配置の例を示す図であり、
図2(b)はこれを撮像するための撮像部13の走査移動経路、より具体的には撮像部13の光軸の軌跡を示す図である。以下の説明のために、図の横方向をX方向、縦方向をY方向とする座標軸を設定する。底面が水平となるように試料容器10が保持されるので、XY平面は水平面である。
【0036】
撮像部13の撮像視野FVが試料容器10の全体をカバーできない場合には、
図2(a)に示すように、試料容器10が複数の原画像Im1~Im16に分割して撮像される。これらの原画像Im1~Im16が撮像後の画像処理によりつなぎ合わせて合成されることにより、試料容器10の全体を収めた合成画像Itが作成される。原画像間のスムーズなつなぎ合わせおよび相互の位置ずれ補正を可能とするために、隣り合う原画像の間では一部領域が互いにオーバーラップするように、原画像の割り付けが行われる。
【0037】
試料容器10の底面に沿って撮像部13を相対的に走査移動させ、その間に複数回の撮像を行うことにより、これらの原画像が取得される。具体的には、
図2(b)に矢印で示すように、撮像部13のX方向の移動とY方向の移動とを組み合わせることで、撮像部13を試料容器10の底面に沿って走査移動させ、その過程で複数回撮像を行うことで原画像を取得することができる。
図2(b)における黒点P1~P16は、撮像部13の光軸が当該黒点の位置にある時に撮像が行われることを示している。以下では、このように撮像が行われるときの撮像部13の位置を「撮像位置」と称する。
【0038】
具体的には、撮像部13を試料容器10に対し(+X)方向に走査移動させ、所定のタイミングで繰り返し撮像を行う。例えば撮像位置P1では原画像Im1が、撮像位置P2では原画像Im2が取得される。同様にして撮像位置P3では原画像Im3が、撮像位置P4で原画像Im4が取得された後、撮像部13は(+Y)方向に所定ピッチだけ送られる。
【0039】
そして、撮像部13が(-X)方向に移動し、撮像位置P8,P7,P6,P5でそれぞれ撮像が行われて、原画像Im8,Im7,Im6,Im5がそれぞれ取得される。さらに撮像部13が(+Y)方向に移動した後、再び(+X)方向に移動しながら原画像Im9,Im10,Im11,Im12を撮像し、最後に(-X)方向に移動しながら原画像Im16,Im15,Im14,Im13を撮像する。このように、原画像の配置と撮像順とは必ずしも一致しない。
【0040】
撮像部13の(+X)方向または(-X)方向への走査移動中における撮像タイミングと、Y方向への送りピッチとの組み合わせとを規定した撮像スケジュールを適宜に設定することで、与えられた原画像の割り付けに応じた撮像を行うことが可能である。以下では、X方向への走査移動を「主走査移動」、Y方向への走査移動を「副走査移動」と称することがある。
【0041】
この例では試料容器10を16の撮像視野FVに分割して撮像を行うが、撮像対象物に対する撮像視野の割り付けはこれに限定されず任意である。撮像対象物の大きさと、撮像部13の撮像視野FVとの関係が予めわかっていれば、撮像対象物の全体をカバーし、かつ互いに一部をオーバーラップさせるという条件を満たす原画像の配置は、種々のものが考えられる。
【0042】
以下、このように撮像対象物を複数の撮像視野に分割して撮像し、こうして得られた複数の原画像を最終的に1つに合成して全体画像を作成するための、本実施形態の撮像処理について説明する。画像の合成に際しては、撮像時に生じ得る原画像間の位置ずれに対する補正が行われる。具体的には、互いにオーバーラップする2枚の原画像の間で、オーバーラップ部分の画像内容の比較に基づいて相対的な位置ずれ量を算出し、算出結果に基づき位置ずれの補正を行った上で原画像をつなぎ合わせる。こうすることで、不自然な継ぎ目のない全体画像を得ることが可能となる。
【0043】
位置ずれ量の算出方法としては、各種の公知技術を適用することが可能であり、本実施形態では特に限定しない。例えば互いにオーバーラップする原画像間で、一方のオーバーラップ部分の画像をテンプレートとして用い、他方の原画像中で対応する領域を探索するパターンマッチング手法を適用することができる。また、オプティカルフロー推定法を用いた手法でもよい。
【0044】
なお、上記説明では円形の底面を有する試料容器10を、それぞれが略正方形である複数の撮像視野FVに分割し、16枚の原画像Im1~Im16を取得する例を採り上げた。以下では、より一般的な事例として次のような原画像の例を用いることとする。
【0045】
図3は本実施形態の事例として用いる原画像の例を示す図である。以下では、各々が長方形であり、
図3(a)に示すように、X方向に4枚、Y方向に3枚に分割して撮像された、計12枚の原画像Im(1)~Im(12)を用いるものとする。これらの原画像Im(i)(i=1,2,…,12)の位置関係は、
図2(a)に示した原画像Im1~Im12に対応するものと考えることができる。
【0046】
前記したように、隣り合う原画像の間では一部が互いにオーバーラップするように撮像が行われ、オーバーラップ部分の画像内容に基づき原画像間の位置ずれ量が求められる。
図3(a)における矢印は、位置ずれ量の算出対象となる原画像の組み合わせを示している。例えば左上の画像Im(1)に対しては、右側に隣接する原画像Im(2)と、下側に隣接する原画像Im(5)とが算出対象となる。このように、1つの原画像に対し、位置ずれ量の算出対象となる他の原画像を、以下では「算出対象画像」と称する。また例えば、原画像Im(6)に対しては、上下および左右方向に隣接する4枚の原画像Im(2)、Im(5)、Im(7)、Im(10)が算出対象画像となる。
【0047】
なお、斜め方向に隣接する原画像、例えば原画像Im(1)と原画像Im(6)との間でも部分的なオーバーラップがある。しかしながら、オーバーラップ部分の面積が小さく十分な算出精度が得られないため、このような位置関係にある原画像の間では位置ずれの評価を行わないこととする。
【0048】
図3(b)は、各原画像Im(i)と、それに対応する算出対象画像との関係をまとめた図である。このように、各原画像Im(i)に対しては、その配置に応じてそれぞれ算出対象画像を特定することができ、算出対象画像の数は一様ではない。
図3(b)の右欄は、各原画像Im(i)に対応する算出対象画像の数M(i)を示している。以下ではこの数を「対象画像数」と称する。例えば原画像Im(1)に対する算出対象画像は原画像Im(2)、Im(5)であり、対象画像数M(1)は2である。また例えば、原画像Im(3)に対する算出対象画像は原画像Im(2)、Im(4)、Im(7)であり、対象画像数M(3)は3である。
【0049】
任意の原画像の割り付けに対して、上記と同様に対象画像数を設定することができる。具体的には、撮像時の割り付けに応じて、各原画像が占める領域を二次元座標平面に配置することで、原画像間のオーバーラップ部分を特定することができる。そして、一の原画像につき、当該原画像とのオーバーラップ部分の面積が位置ずれ算出処理に適した所定範囲内である他の原画像を算出対象原画像とし、その数を計数すればよい。なお、オーバーラップ部分の面積によるほか、例えば当該部分の幅により評価を行ってもよい。
【0050】
図4は原画像の撮像順と算出可能な原画像との関係を示す図である。
図2(b)に示したように、撮像部13が(+X)方向への走査移動と(-X)方向への走査移動とを繰り返す撮像態様では、最初の(+X)方向への走査で原画像Im(1),Im(2),Im(3),Im(4)がこの順で撮像される。その後、次の(-X)方向への走査で原画像Im(8),Im(7),Im(6),Im(5)がこの順で撮像される。そして、再度行われる(+X)方向への走査により、原画像Im(9),Im(10),Im(11),Im(12)がこの順で撮像される。
【0051】
ここで、上記の順番で順次撮像を行うことにより得られる原画像と、それよりも前の撮像で既に画像データが取得されている他の原画像(以下、「既存画像」という)との関係について考える。より具体的には、新たに1つの原画像が取得されたときに、既存画像の中に算出対象画像がどれだけ含まれているかを考える。
【0052】
最初の原画像Im(1)が撮像された直後では、既存画像は存在しない。一方、2番目の原画像Im(2)が撮像された後では、既存画像Im(1)の画像データが既に保存されており、これらの原画像は互いに他方の算出対象画像となっている。そのため、他の原画像の取得を待つことなく、この時点で原画像Im(1)と原画像Im(2)との間では位置ずれ量の算出に着手することが可能である。
【0053】
このように、新たに原画像が取得されたとき、当該原画像と算出対象画像の関係にある他の原画像が既存画像の中に含まれていれば、次の撮像を行いつつ、それらの原画像の間で位置ずれ量の算出を行うことが可能である。このようにすれば、全ての画像の撮像が終了した時点で各画像間の位置ずれ量が既に求められているので、撮像後の原画像の合成を速やかに実行することができ、撮像のリアルタイム性を向上させることが可能である。
【0054】
図4(a)における矢印(⇔)は、前後の画像が互いに算出対象画像の関係にあることを意味している。例えば原画像Im(3)が撮像された後では、既存画像のうち原画像Im(2)が算出対象画像であるので、原画像Im(2)と原画像Im(3)との間で位置ずれ量の算出を行うことができる。以下の各原画像についても同様に考えることができる。
【0055】
その一例として、
図4(b)には原画像Im(6)が取得された時点での状態が示されている。同図において、直前の撮像により新たに取得された原画像Im(6)は二重の実線枠で示されている。一方、一重の実線枠で示される原画像Im(1)~Im(4),Im(7),Im(8)は既存画像である。点線枠で示される原画像Im(5),Im(9)~Im(12)は、この時点では未取得の画像である。
【0056】
ハッチング付き矢印は、新たに原画像Im(6)が取得されたことにより、位置ずれ量の算出が可能となった原画像の組み合わせを表している。原画像Im(6)が取得されると、既存画像に含まれる算出対象画像Im(2),Im(7)との間で、それぞれ位置ずれ量の算出が可能となる。
【0057】
図において黒矢印は、それまでの撮像で取得された既存画像の間で位置ずれ量の算出が可能となっている組み合わせを示す。また点線矢印は、互いに算出対象画像となっている2つの原画像の少なくとも一方が未取得であるため、この時点では位置ずれ量の算出を開始することができない組み合わせを示している。
【0058】
ここで、原画像Im(3),Im(4)に着目すると、当該原画像に対する算出対象画像は既に全て取得されていることが示されている。例えば、原画像Im(3)の算出対象画像Im(2),Im(4),Im(7)は既に全て取得されており、位置ずれ量の算出が可能となった時点で直ちに算出処理を開始していれば、当該処理は既に終了していると期待される。原画像Im(4)についても同様である。したがって、原画像Im(3),Im(4)の画像データは、この後の位置ずれ量算出処理に使用されることはない。
【0059】
また、原画像Im(6)が新たに取得されたことにより、原画像Im(2)との間で新たに位置ずれ量の算出が可能となる。この算出処理が終了すれば、原画像Im(2)の画像データも、以後の位置ずれ量算出処理には使用されなくなる。このように、既存画像のうち、全ての算出対象画像との間で位置ずれ量の算出が終了したものについては、画像データを保存しておく必要は必ずしもない。
【0060】
位置ずれ量の算出処理に際しては、処理の高速性を担保するため、算出対象となる2つの原画像の画像データについては高速アクセスが可能なメモリ144に保存しておくことが望ましい。特に高精細の画像データはデータ量が大きいため、記憶容量の大きいストレージ145に記憶保存しておくことが一般的である。しかしながら、位置ずれ量の算出のために必要なデータをその都度ストレージ145から読み出したのでは処理時間が長くなってしまう。
【0061】
一方、メモリ144は高速アクセスが可能であるものの、記憶容量としてはストレージ145よりも小さく、全ての原画像の画像データをメモリ144に記憶させておくことができない場合もあり得る。原画像を縮小した画像データをメモリ144に保持させることも考えられるが、その場合には位置ずれ量の算出精度の低下を招くおそれがある。
【0062】
本実施形態の撮像処理では、前記したように位置ずれ量の算出処理が進めば保存不要となる画像データが生じてくることを利用して、メモリ144が記憶すべき画像データのデータ量の削減を図っている。すなわち、原画像の取得により既存画像との間で可能となった位置ずれ量の算出処理については他の撮像と併行して実行するとともに、以後の算出処理に使われない画像データをメモリから解放することによりデータ量を削減する。これにより、限られたメモリ資源でも新たな撮像で生成された画像データを受け入れることが可能になる。
【0063】
より具体的には、各原画像Im(i)に対して、当該原画像との間で位置ずれ量の算出が終了した算出対象画像の数を計数するカウンタC(i)を導入する。カウンタC(i)の初期値は0であり、1つの原画像Im(i)と他の1つの原画像Im(j)(j=1,2,…,12、ただしi≠j)との間で位置ずれ量の算出処理が終了すると、カウンタC(i),C(j)の値はそれぞれ1つずつインクリメントされる。
【0064】
各原画像C(i)に対しては、対象画像数M(i)が予め求められている。前記したように、対象画像数M(i)は、原画像Im(i)が他の原画像との間で位置ずれ量算出処理に適用される回数を表している。したがって、カウンタC(i)の値が対象画像数M(i)に到達すれば、全ての算出対象画像との間で算出処理は完了していると言え、以後の位置ずれ量算出処理に原画像Im(i)の画像データが使用されることはない。つまり、画像データをメモリから解放することができる。
【0065】
ここで、「画像データをメモリから解放する」という文言は、メモリが当該画像データを有効なデータとして保存する必要性を、実質的に消滅させることを意味する。したがって、例えば当該画像データがメモリから削除されてもよく、また特にデータ消去を行わなくても、例えば当該画像データのために割り当てられている記憶領域に他のデータの上書きを許容するようにしてもよい。
【0066】
図5は本実施形態の撮像処理の原理を示すタイミングチャートである。この図では、各原画像Im(i)の撮像タイミング(上段)と、取得された画像データがメモリに保存される期間(中段)と、カウンタC(i)のカウント値の変化(下段)との関係が示されている。前記した通り、各原画像Im(i)について、撮像時の割り付けに応じて対象画像数M(i)が予め定められており、カウンタC(i)の初期値は0である。
【0067】
なお、説明が煩雑になるのを防止し理解を容易にするために、撮像タイミングを表す時刻T1~T12の添え字数字については、撮像される原画像の番号に合わせている。このため、各時刻の前後関係と添え字の順番とは必ずしも一致していないことに注意を要する。
【0068】
撮像部13が(+X)方向に走査移動し撮像位置P1(
図2(b))に到達する時刻T1において、原画像Im(1)が撮像され、これに対応する所定サイズの画像データがメモリ144に書き込まれる。画像データは後述する解放タイミングが来るまでメモリ144上に保持され、メモリ空間内の所定領域を占有する。以後の撮像で取得される他の画像データについても同様である。
【0069】
撮像部13が撮像位置P2に到達する時刻T2において、原画像Im(2)が撮像され、これに対応する所定サイズの画像データがメモリ144に書き込まれる。この時点で原画像Im(1)と原画像Im(2)との間で位置ずれ量算出処理が可能となる。これらの間で位置ずれ量算出処理が行われることにより、カウンタC(1),C(2)はそれぞれ0から1にインクリメントされる。
【0070】
時刻T3で原画像Im(3)が取得されると、これに対応する画像データがメモリ144に書き込まれる。この時点では原画像Im(2)と原画像Im(3)との間で位置ずれ量算出処理が可能となり、位置ずれ量算出処理が行われることにより、カウンタC(2)は1から2へ、カウンタC(3)は0から1へ、それぞれインクリメントされる。
【0071】
同様に、時刻T4で原画像Im(4)が取得されると、これに対応する画像データがメモリ144に書き込まれ、原画像Im(3)と原画像Im(4)との間で位置ずれ量算出処理が可能となる。位置ずれ量算出処理が行われることにより、カウンタC(3)は1から2へ、カウンタC(4)は0から1へ、それぞれインクリメントされる。
【0072】
撮像部13が(+Y)方向にステップ送りされた後、(-X)方向への走査移動を開始して撮像位置P8に到達する時刻T8において、原画像Im(8)が取得され画像データがメモリ144に書き込まれる。このとき原画像Im(4)と原画像Im(8)との間で位置ずれ量算出処理が実行される。これにより、カウンタC(8)が0から1にインクリメントされる。
【0073】
カウンタC(4)も1から2にインクリメントされるが、このカウント値2は原画像Im(4)に対して定められた対象画像数M(4)と等しい。図において数字に付した丸印は、カウント値C(i)が対象画像数m(i)と等しくなったことを表すものとする。このときの原画像Im(4)は、算出対象画像である原画像Im(3),Im(8)のいずれとも位置ずれ量算出処理が完了した状態である。したがって、原画像Im(4)の画像データについてはメモリ144から解放する、つまりメモリ144上に実質的に存在しない状態とすることができる。特に、次の原画像Im(7)が撮像される時刻T7よりも前にメモリ解放を行うようにすれば、原画像Im(4)の画像データが記憶されていた領域に原画像Im(7)の画像データを保存することが可能になる。
【0074】
時刻T7において原画像Im(7)が取得されると、原画像Im(3),Im(8)との間でそれぞれ位置ずれ量算出処理が実行される。これにより、カウンタC(3),C(8)がそれぞれ1つずつインクリメントされ、このうちカウンタC(3)のカウント値3は、原画像Im(3)の対象画像数M(3)と等しい。したがって、原画像Im(3)の画像データについてはメモリ144から解放することができる。また、原画像Im(7)は2つの算出対象画像との間で位置ずれ量算出処理が実行されたので、カウンタC(7)のカウント値は0から2に増加する。これについては、原画像Im(3)との間での算出処理と、原画像Im(8)との間での算出処理とでそれぞれ1つずつ、カウンタC(7)がインクリメントされたと考えてもよい。
【0075】
以下同様にして、時刻T6には原画像Im(2)の、時刻T5には原画像Im(1)の、時刻T9には原画像Im(5)の、時刻T10には原画像Im(6),Im(9)の、時刻T11には原画像Im(7),Im(10)の画像データを、それぞれメモリ144から解放することができる。そして、全ての撮像が終了する時刻T12の後では、残る原画像Im(8),Im(11),Im(12)について相互の位置ずれ量算出処理を行って、最終的には全ての画像データをメモリ144から解放することができる。
【0076】
このように、12枚の原画像Im(1)~Im(12)が順次撮像され、画像データがメモリ144に書き込まれてゆくが、1つの撮像が済んだ段階で可能な組み合わせについて位置ずれ量算出処理を実行し、必要のなくなった画像データについてはその都度メモリ144から解放している。そのため、図から明らかなように、メモリ144上に同時に存在する画像データは最大でも画像5枚分である。
【0077】
このことから、12枚の原画像についてリアルタイムで位置ずれ量算出処理を行うために必要なメモリ資源については、本実施形態によれば画像5枚分に抑えることが可能であると言える。したがって、全ての原画像を記憶するだけの容量をメモリ144に用意する必要はなく、しかも、画像データをストレージ145から読み出す場合よりも高速に処理を行うことが可能となる。
【0078】
図6は
図5の撮像処理を具現化したフローチャートである。この処理は、CPU141が予め作成された制御プログラムに基づいて装置各部に所定の動作を行わせることにより実現される。最初に、撮像時の原画像の割り付けが決定される(ステップS101)。撮像対象物が予めわかっていれば、割り付けについても予め定めておくことが可能である。また、撮像対象物の大きさと撮像視野との関係から、動的に割り付けが定められてもよい。そのための具体的な方法としては、例えば特許文献2に記載された技術を適用することができる。
【0079】
こうして割り付けが決定された原画像Im(i)の各々に対して、対象画像数M(i)が決定されるとともに(ステップS102)、カウンタC(i)が初期値0に初期化される(ステップS103)。ここで変数iは、割り付けにより決定された原画像の枚数を上限とする自然数である。
【0080】
そして、原画像の割り付けに応じて定まる、主走査移動の方向、移動速度、副走査移動のピッチ、撮像タイミング等を規定した撮像スケジュールに基づき、撮像部13の走査移動が開始される(ステップS104)。撮像部13が撮像位置に到達する度に(ステップS105)、撮像部13による撮像が行われ、取得された画像データが保存される(ステップS106)。
【0081】
この撮像処理では、上記のようにメモリ144に記憶されている画像データに基づき原画像間の位置ずれ量算出処理が実行される。ただし、この処理では原画像間の相対的な位置ずれ量が算出されるが、算出結果に基づく原画像間の位置ずれ補正は行われない。全ての原画像が取得され、それらの間での位置ずれ量が求められた後に画像を合成する処理が行われる。このときの合成処理のために、全ての原画像の画像データを保存しておく必要がある。
【0082】
このため、取得された画像データはメモリ144とストレージ145との両方に書き込まれる。メモリ144に一時的に記憶された画像データは位置ずれ量算出処理に使用され、必要がなくなれば削除される。一方、撮像の目的からすれば、取得された画像データはより長期的に保存しておくことが当然に求められるものと考えられる。このため、画像データはストレージ145にも記憶保存される。位置ずれ量算出結果を用いた画像の合成には、ストレージ145に記憶された画像データが用いられる。
【0083】
こうして1つの原画像が取得されると、メモリ144に画像データが記憶されている既存画像の中から算出対象画像が探索され、該当するものがあれば位置ずれ量算出処理が実行される(ステップS107)。位置ずれ量算出処理としては、前述したパターンマッチング処理、オプティカルフロー法など、2つの画像間で互いに相関のある領域を特定することのできる各種の公知技術を利用可能である。
【0084】
位置ずれ量算出処理に使用された原画像についてはカウンタC(i)のカウント値が増加される(ステップS108)。そして、カウンタC(i)と対応する対象画像数M(i)とが比較され(ステップS109)、両者が等しければ該当する原画像Im(i)の画像データがメモリ144から解放される(ステップS110)。全ての原画像につき撮像が終了するまで(ステップS111)、ステップS105に戻って処理が繰り返される。
【0085】
全ての撮像が終了すると、原画像が合成されて全体画像It(
図2(a))が作成される(ステップS112)。このとき、原画像間の位置合わせに、算出された位置ずれ量に基づく補正が適用される。これにより、不自然な継ぎ目のないスムーズな画像を得ることができる。なお、原画像の全てを1つの全体画像に合成することは必須でなく、例えば複数の原画像のうち互いに隣接する一部のみを合成した画像を作成する態様であってもよい。
【0086】
このときの画像処理は、既に求められている位置ずれ量に対応する量だけ位置を調整しながら複数の原画像をつなぎ合わせる処理であり、ストレージ145に保存されている全原画像の画像データに基づき行われる。撮像装置1が別の撮像対象物あるいは同一撮像対象物の異なる範囲を撮像している間に、このような画像合成処理を実行することも可能である。
【0087】
ところで、このように撮像部と撮像対象物とを相対的に走査移動させながら撮像を行う走査撮像においては、何らかの理由でまれに画像の取得または保存に失敗することがある。このような場合、画像の取得に失敗したときの主走査移動を再度行い、撮像を試行することが行われることがある。以下ではこれを「リトライ撮像」と称する。
【0088】
上記実施形態では、1枚の原画像を取得するごとに位置ずれ量算出処理を行い、カウンタC(i)および対象画像数M(i)に基づき不要な画像データをメモリ解放している。そのため、リトライ撮像が必要になった時点で必要な画像データがメモリに残っていないという事態が生じ得る。以下に説明する変形例では、このようなリトライ撮像が想定されるケースにも対応可能である。
【0089】
以下で説明する撮像処理の変形例にのうち、多くの処理内容は上記した撮像処理(
図6)と共通するものである。そこで、
図6と処理内容が共通する処理ステップについては同一の番号を付し、詳しい説明を省略することとする。また、図が煩雑になるのを避けるため、ステップS101~S103の記載を省略する。
【0090】
図7は撮像処理の変形例を示すフローチャートである。この変形例における処理のうち、ステップS108までの処理内容は
図6に示すものと同じである。ただしその後、1ライン分の主走査移動が終了した時点で(ステップS121)、リトライ撮像が必要であるか否かの判断が行われる(ステップS122)。原画像が欠落なく取得されリトライ撮像が必要ない場合には(ステップS122においてNO)、引き続きステップS109以降の処理が実行され、結果的には
図6の処理と同じ動作となる。
【0091】
ここで「1ライン」とは、撮像部13の(+X)方向または(-X)方向へ向かう一連の連続した主走査移動を指す概念である。例えば
図2(b)に示す例では、撮像位置P1~P4を順番に通過する(+X)方向への走査移動、および、撮像位置P8~P5を順番に通過する(-X)方向への走査移動が、それぞれ「1ライン」の走査移動に相当する。
【0092】
図8はリトライ撮像の要否判断処理の2つの例を示すフローチャートである。
図8(a)に示す第1の例では、1ライン分の主走査移動が終了した時点で、当該走査移動で取得された画像の枚数を評価し(ステップS201)、その枚数が予め計画された枚数と一致していなければ(ステップS202においてNO)、リトライ撮像が必要と判断される(ステップS203)。一方、取得された画像の枚数が計画枚数と一致しているときには(ステップS202においてYES)、リトライ撮像は不要であると判断される(ステップS204)。この要否判断は、撮像部13の副走査移動が実行される前に行われることが好ましい。
【0093】
図8(b)に示す第2の例では、1ライン分の画像の取得枚数ではなく、取得された画像のデータ量が必要量に達しているか否かにより、リトライ撮像の要否が判断される(ステップS211,S212)。このように判断基準が異なる点を除けば、第1の例と処理内容は同じである。
【0094】
図7に戻って、リトライ撮像が必要であると判断された場合には(ステップS121においてYES)、当該主走査移動で取得された画像データおよびこれを用いた位置ずれ量の算出結果が破棄され(ステップS122)、この間に更新されたカウンタC(i)が元の値に修正される(ステップS123)。そして、リトライ撮像を行うために撮像スケジュールが修正された上で(ステップS124)、ステップS105に戻る。これにより、修正後の撮像スケジュールに基づき撮像が再開される。
【0095】
リトライ撮像では、副走査方向への移動を行うことなく、撮像部13を主走査移動させて再度撮像を行う。このときの撮像スケジュールについては、例えば、原画像の取得に失敗したラインの主走査移動を再度繰り返す態様とすることができる。この場合、撮像スケジュールの大幅な組み替えは不要であるが、撮像部13を当該主走査移動開始時の位置に戻すための移動が必要となる。一方、主走査移動の方向を逆向きにする、例えば(+X)方向への走査移動で撮像に失敗したときには(-X)方向への走査移動でリトライ撮像を行うようにすれば、無駄な移動は生じないが、次ライン以降の撮像順についても変更が必要となるなど、撮像スケジュールは大きく変わることとなる。いずれの態様であっても、リトライ撮像は可能である。
【0096】
この変形例では、1ライン分の走査撮像が終了した時点でリトライ撮像の要否が判断される。そして、リトライ撮像が必要と判断されたときには、誤ったデータに基づく処理がリセットされた上でリトライ撮像が行われる。そして、不要な画像データのメモリからの解放は、リトライ撮像が必要ないと判断された後に実行される。したがって、リトライ撮像が必要となった場合でも、その時点で位置ずれ量算出処理に必要な画像データはメモリに残されている。より具体的には、各部はリトライ撮像が必要となったラインの走査撮像が開始される前の状態に戻され、当該ラインの走査撮像はなかったものと同様の状態となっている。そのため、リトライ撮像により新たに取得された画像データに基づき位置ずれ量の算出が可能となったときには直ちに算出処理を実行することができる。
【0097】
図9はこの変形例における各部の状態変化を示すタイミングチャートである。
図5と比較してわかるように、この変形例では、カウンタC(i)のカウント値が対象画像数M(i)に達した場合でも、直ちに画像データがメモリ解放されることはなく、その後に1ライン分の走査撮像が終了し、かつリトライ撮像が不要と判断された段階でメモリ解放が実施される。
【0098】
このため、同時にメモリ144上に保存しておくべき画像データは最大で原画像8枚分まで増加するものの、もしリトライ撮像が必要となった場合であっても、リトライ撮像で新たに取得された画像データとメモリ144に保存されている既存画像の画像データとを用いて、位置ずれ量算出処理を実行することが可能となる。
【0099】
なお、上記変形例では、1ライン分の走査撮像が終了した後にリトライ撮像の要否判断を行うプロセス(ステップS121およびS122)が、ステップS108とステップS109との間に追加されている。このため、リトライ撮像の要否に関わらずカウンタC(i)の更新が進んでおり、もしリトライ撮像が必要となった場合にはカウンタC(i)の修正が必要となる。これに代えて、ステップS121およびS122をステップS107とステップS108との間に設ければ、リトライ撮像が必要とされた場合にはカウンタC(i)の更新自体が実行されないこととなる。このようにした場合には、上記変形例と同様の作用効果を得つつ、ステップS124のカウンタ修正工程については省略することが可能である。
【0100】
なお、リトライ撮像の要否判断をステップS106とステップS107との間に配置することも考えられる。しかしながら、このようにすると、1ラインの走査撮像が終了するまで位置ずれ量算出処理を開始することができなくなってしまい、撮像のリアルタイム性を担保するという点では効果的とは言えない。
【0101】
<第2実施形態>
上記した第1実施形態の撮像装置1は、それ自体が撮像機能と画像処理機能とを有するものである。一方、この種の撮像装置は、次に説明する第2実施形態のように、撮像機能とそれを稼働させるための最小限の制御機能とを有する撮像ユニットと、自身は撮像機能を持たないが高度な演算処理機能を有する画像処理ユニットとの組み合わせにより実現される場合がある。
【0102】
図10は撮像ユニットと画像処理ユニットとが別体に構成された撮像装置の構成例を示す図である。この実施形態において、第1実施形態(
図1)の構成と実質的に同一の構成については同一符号を付し、詳しい説明を省略することとする。
【0103】
この実施形態の撮像装置2では、高度な演算機能を必要とする画像処理の主体が、撮像ユニット21とは別体の画像処理ユニット22となっている。画像処理ユニット22は、専用のハードウェアを備えた専用装置であってもよく、またパーソナルコンピュータやワークステーション等の汎用処理装置に、画像処理機能を実現するための制御プログラムを組み込んだものであってもよい。すなわち、この撮像装置2の画像処理ユニット22として、汎用のコンピュータ装置を利用することが可能である。汎用処理装置を用いる場合、撮像ユニット21には、撮像部13等の各部を動作させるために必要最小限の制御機能と、原画像1枚分の画像データを記憶する画像メモリが備わっていれば足りる。
【0104】
撮像ユニット21には、撮像ユニット21の各部の動作を制御するためのコントローラ211と、撮像部13から出力される画像信号をデジタル画像データに変換するADコンバータ213と、画像データを一時的に記憶する画像メモリ214と、駆動機構15を制御するメカ制御部216と、インターフェース部218とを備えている。画像メモリ214は、少なくとも原画像1枚分の記憶容量を備えていればよい。また、インターフェース部218は、画像処理ユニット22と各種の情報通信を行う機能を有している。メカ制御部216の機能は、第1実施形態に備えられたメカ制御部146の機能と同等である。
【0105】
画像処理ユニット22は、各種の制御プログラムを実行するCPU221と、画像データや演算中のデータを一時的に記憶するためのメモリ224と、CPU221が実行すべきプログラムやCPU221により生成されるデータを記憶保存するためのストレージ225とを有している。メモリ224およびストレージ225の機能は、第1実施形態におけるメモリ144およびストレージ145の機能と同等である。また、画像処理ユニット22には、各種の画像処理演算に特化したプロセッサとしての画像処理部223が設けられることが望ましいが、CPU221がこの機能を兼備する態様であってもよい。
【0106】
さらに、画像処理ユニット22には、撮像ユニット21との間で各種の通信を行うインターフェース部222が設けられている。インターフェース部222には、ユーザからの操作入力を受け付ける入力受付部227と、ユーザへのメッセージや処理結果などを表示出力する表示部228とが接続されており、これらの機能は、第1実施形態において相当する構成と同等である。
【0107】
このように構成された撮像装置2においては、撮像ユニット21と画像処理ユニット22とが協働することで撮像処理が実現される。具体的には、画像処理ユニット22に設けられたCPU221が予め用意された制御プログラムを実行することで、撮像ユニット21および画像処理ユニット22の各部を制御して所定の動作を行わせる。
【0108】
撮像ユニット21は、画像処理ユニット22から与えられる撮像スケジュールにしたがい動作して、撮像対象物の撮像を行う。撮像により生成された画像データは画像メモリ214に記憶され、原画像1枚分に相当する画像データが取得されると、画像データは画像処理ユニット22に転送される。すなわち、撮像ユニット21は、画像処理を行わず、撮像対象物を撮像しこれにより得られた原画像に対応する画像データを出力する機能のみを有する。
【0109】
図11は撮像ユニットの動作を示すフローチャートである。撮像ユニット21は、画像処理ユニット22から送信されてくる撮像スケジュールを受信し(ステップS301)、これに応じて撮像部13の走査移動を実行する(ステップS302)。そして、撮像部13が撮像スケジュールで指定された撮像位置に到達したタイミングで撮像を行い、得られた画像データを画像処理ユニット22に送信する(ステップS303,S304)。
【0110】
1ライン分の走査撮像が終了すると(ステップS305)、画像処理ユニット22からリトライ撮像指示が送信されたか否かを判断する(ステップS306)。リトライ撮像指示がなければ(ステップS306においてNO)、撮像スケジュールにより指定された全ての撮像が終了するまで(ステップS307)、ステップS303に戻って上記処理を繰り返す。
【0111】
一方、リトライ撮像指示があった場合には(ステップS306においてYES)、ステップS301に戻り、画像処理ユニット22から与えられる新たな撮像スケジュールを受信して撮像を継続する。このように、撮像ユニット21は、画像処理ユニット22から与えられる制御指令に応じて従属的に動作し、撮像対象物の撮像を行う。
【0112】
図12は画像処理ユニットの動作を示すフローチャートである。画像処理ユニット22では、第1実施形態における撮像処理(
図6)と同様に、撮像時の原画像の割り付け(ステップS401)、対象画像数M(i)の決定(ステップS402)およびカウンタC(i)の初期化(ステップS403)が行われる。そして、割り付け結果に応じて策定された撮像スケジュールが、撮像ユニット21に送信される(ステップS404)。
【0113】
送信された撮像スケジュールに応じて撮像ユニット22から送信される原画像1枚分の画像データを受信すると(ステップS405)、第1実施形態と同様に、当該画像データをメモリ224およびストレージ225に記憶保存する(ステップS406)。そして、メモリ224に記憶されている既存画像の中から算出対象画像が探索され、該当する既存画像があれば位置ずれ量の算出処理が実行される。第1実施形態と同様に、算出処理に使用された原画像Im(i)については、対応するカウンタC(i)のカウント値がインクリメントされる(ステップS408)。
【0114】
そして、第1実施形態の変形例と同様に、1ライン分の走査撮像が終了した時点で(ステップS409)、リトライ撮像の要否が判断される(ステップS410)。その判断基準は第1実施形態と同様である。リトライ撮像が不要である場合には(ステップS410においてNO)、各原画像Im(i)に対応するカウンタC(i)の値が対象画像数M(i)と比較され、これらが一致していれば画像データがメモリ224から解放される(ステップS411~S412)。全ての原画像につき処理が終了するまで(ステップS413)、ステップS405からの処理が繰り返される。全ての画像データが受信されて位置ずれ量算出処理が終了すると、その結果と、ストレージ225に記憶されている各原画像の画像データとに基づき画像の合成が行われる(ステップS414)。
【0115】
一方、リトライ撮像が必要と判断された場合には(ステップS410においてYES)、第1実施形態の変形例と同様に、当該ラインの走査で取得された画像データおよびそれに基づく位置ずれ量の算出結果が破棄され(ステップS421)、カウンタC(i)が修正される(ステップS422)。さらに、リトライ撮像を実行するための撮像スケジュールの修正が行われ(ステップS423)、撮像ユニット21に対しリトライ撮像指示が送信される(ステップS424)。
【0116】
リトライ撮像指示を受けた撮像ユニット21に対し、新たな撮像スケジュールを送信することで(ステップS404)、撮像ユニット21に、修正後の撮像スケジュールに応じた撮像動作を行わせることができる。このようにして、それぞれ別体として構成された撮像ユニット21と画像処理ユニット22とを協働させて、第1実施形態の撮像装置1と同様の撮像処理を実行することができる。
【0117】
なお、この第2実施形態は、第1実施形態の変形例と同様に、1ライン分の走査撮像が終了した時点でリトライ撮像の必要性が生じる可能性があることを想定したものとなっている。しかしながら、第1実施形態と同様に、この想定をしない前提で処理フローを構成することも当然に可能である。
【0118】
また、ここでは画像処理ユニット22が撮像ユニット21に撮像スケジュールを送信し、撮像ユニット21がこれを実行する構成としている。これに代えて、例えば画像処理ユニット22が撮像スケジュールを実行し、必要なタイミングで走査移動指示や撮像指示等の制御指令を撮像ユニット21に与える態様であってもよい。この場合には、撮像ユニット21は、単に画像処理ユニット22からの制御指令に応じて照明部12および撮像部13を動作させる機能のみ有すればよいこことなる。
【0119】
この実施形態の撮像装置2は、高度な演算機能を持たない既存の撮像ユニット21と、一般的なハードウェア構成を有する汎用のコンピュータ装置である画像処理ユニット22とを組み合わせ、コンピュータ装置に本発明に係るプログラムを実装することにより、既存の装置にはない新たな機能をもたらすものであると言える。
【0120】
<その他>
以上説明したように、上記第1実施形態の撮像装置1では、撮像部13が本発明の「画像取得部」として機能している。また、制御部14に設けられたCPU141が本発明の「位置ずれ量算出部」として、またメモリ144が本発明の「メモリ」としてそれぞれ機能している。一方、第2実施形態の撮像装置2では、撮像ユニット21が本発明の「画像取得部」として機能している。また、画像処理ユニット22のうちCPU221および画像処理部223が本発明の「画像処理部」として機能し、メモリ224が本発明の「メモリ」として機能している。
【0121】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態の撮像処理のうち、撮像に直接関与しない画像処理については、取得済みの画像データを用いた位置ずれ量算出処理として単独で実現することも可能である。このような処理は特定のハードウェア資源に依存するものではなく、例えば汎用コンピュータ装置により実行可能なプログラムとして、あるいはそれを非一時的に記録したコンピュータ読み取り可能な記録媒体として実用に供することが可能である。
【0122】
また、上記した原画像の割り付けは単なる一例であり、目的に応じて、また本発明の趣旨に沿って適宜に設定されるべきものである。例えば特許文献2に記載の技術のように、撮像対象物に対する原画像の割り付けが動的に設定される態様においても、本発明は有効に機能するものである。
【0123】
また、上記実施形態の撮像装置は、撮像素子としてのエリアイメージセンサを有し撮像対象物に対し走査移動する撮像部13により間欠的に撮像を行うことで原画像を取得している。これ以外にも、例えばリニアイメージセンサを撮像素子とする撮像装置においても本発明は有効である。この場合、リニアイメージセンサの長手方向に交わる方向を主走査方向として走査撮像を行うことで、主走査方向に長く延びる帯状の原画像を取得することができる。そして、リニアイメージセンサを副走査方向に移動させながら撮像を行うことで、副走査方向に撮像視野の異なる複数の原画像を取得することができる。これらの原画像の間で位置ずれ量を算出する目的に、本発明を適用することが可能である。
【0124】
以上、具体的な実施形態を例示して説明してきたように、本発明に係る撮像方法において、例えば、原画像の各々について、当該原画像との間で位置ずれ量の算出が行われた算出対象の数を計数しておき、該計数結果と対象画像数とを比較してメモリからの画像データの解放を実行するか否かを判断することができる。このような構成によれば、実質的には位置ずれ量の算出を行った回数を計数することとなり、これにより当該原画像が以後の位置ずれ量算出処理に使用されるか否かを判断することが可能である。
【0125】
また例えば、位置ずれ量に基づき、複数の原画像を合成する工程をさらに設けることができる。このような構成によれば、不自然なつなぎ目のないスムーズな合成画像を作成することが可能である。
【0126】
また例えば、原画像を撮像する撮像部と撮像対象物とを相対移動させながら複数回撮像を行うことで、複数の原画像を取得することができる。このような撮像では、移動時の位置の変動や撮像タイミングのずれによる原画像間の位置ずれが生じ得るが、本発明を適用することで位置ずれ量を算出し補正することが可能となる。
【0127】
この場合、例えば、撮像対象物に対し撮像部を所定の主走査方向に相対移動させながら所定回数の撮像を実行する走査撮像動作を、主走査方向と交わる副走査方向に位置を異ならせて複数回実行し、1回の走査撮像動作により取得されメモリに前記画像データが記憶された原画像の数が、所定回数と一致したときに、メモリからの画像データの解放を実行するようにしてもよい。このような構成によれば、1回の走査撮像動作中に何らかの原因で画像データの欠落が生じたとしても、この時点ではそれまでに取得された画像データはメモリに残されているため、算出処理に必要な画像データが消去されてしまうことは回避される。
【0128】
さらにこの場合、1回の走査撮像動作により取得されメモリに画像データが記憶された原画像の数が所定回数と一致しないときには、副走査方向の同じ位置で走査撮像動作を再実行してもよい。こうすることで、新たに取得された画像データを用いて遅滞なく処理を継続することができる。
【産業上の利用可能性】
【0129】
この発明は、撮像対象物を複数の撮像視野に分割して撮像する技術全般に適用することが可能であり、特に、分割撮像された原画像間の位置ずれを把握する必要がある用途に好適である。例えば、複数の原画像を合成して最終的に1つの画像を作成する目的に有効である。
【符号の説明】
【0130】
1,2 撮像装置
11 試料容器
13 撮像部(画像取得部)
21 撮像ユニット(画像取得部)
22 画像処理ユニット(画像処理部)
141,221 CPU(画像処理部)
144,224 メモリ