(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0017】
〈第1の実施形態〉
以下、図面を用いて第1の実施形態における鉄筋計数装置10について説明する。鉄筋計数装置10は、複数の鉄筋が撮影された一連の画像に基づき、鉄筋の本数を計数するものである。
図1は、鉄筋計数装置10が有する機能構成をまとめた機能構成図である。鉄筋計数装置10は、CPUが各種の制御用プログラムを読み込んで実行することにより、
図1に示す機能構成としての役割を果たすコンピュータである。
図2は、コンピュータ内のハードウェア構成を示す図である。尚、ハードウェア構成については、以降の各実施形態の鉄筋計数装置についても同様の構成とする。
【0018】
鉄筋計数装置10は、画像取得部2、鉄筋検出部3、マーカ検出部4、指示部5、マーカ識別部6、計数部7、表示制御部8、記憶部15を備えている。
【0019】
画像取得部2は、撮像装置1により撮像された画像を受信する。画像取得部2により取得された画像は、画像データ16として記憶部15内に保存される。撮像装置1は、デジタルカメラ等である。尚本実施形態では、撮像を行う撮像装置1は、鉄筋計数装置10の外部にあるものとしているが、鉄筋計数装置10は撮像装置1を有していてもよい。以下、
図3、
図4において、撮像装置1により撮像される画像について説明する。
【0020】
図3は、撮像装置1による撮像の対象である複数の鉄筋Rを示している。複数の鉄筋Rのいくつかには、予め識別可能なマーカM(マーカM1、M2、M3…)が付与されている。ユーザは、撮像装置1により、マーカが付与された鉄筋を二つ含むように撮像していくとともに、共通のマーカが付与された鉄筋が含まれるように撮像を行う。そのため、撮像の際には、二つのマーカが視野内に収まるように撮像装置1と鉄筋Rとの距離が調整される。
【0021】
図4は、上記のようにして撮像が行われて取得された画像の例を示す図である。このように、撮像装置1によって撮像された複数の画像P1、P2、P3・・・は、マーカが付与された二つの鉄筋を含む画像であり、該複数の画像の中で、異なる二つの画像間で共通のマーカが付与された鉄筋を含むものである。
【0022】
図1の機能構成図の説明に戻る。鉄筋検出部3は、画像取得部2が取得した画像から鉄筋の検出を行う。鉄筋の検出の方法は、公知のパターンマッチング等を利用すればよい。撮像装置にステレオカメラを用いる場合は、奥行情報、鉄筋特有の形状情報を利用した直線検出等の画像処理により検出する方法も有用である。マーカ検出部4は、画像取得部2が取得した画像からマーカを検出する。
【0023】
指示部5は、ユーザからの入力により、画像内のマーカ位置を指示する。例えば、マーカ検出部4が画像中からマーカを検出することに失敗した場合、指示部5が用いられる。画像中からマーカを検出することに失敗した場合とは、マーカが画像中から二つ検知されない場合等である。マーカ検出に失敗した場合に、ユーザはモニタ等の表示媒体9に表示される画像を目視で確認し、画像中のマーカ位置を入力する。ユーザからマーカ位置が入力されると、指示部5は、マーカ検出部4の検出範囲を指定し狭める等の処理を行う。指示部5により、マーカ検出の範囲を限定することで、マーカ検出を行いやすくする。
【0024】
マーカ識別部6は、予め記憶部15に記憶されたマーカ情報17に基づいて、マーカ検出部4が検出した各マーカを識別する。マーカ情報17とは、マーカの形状やマーカの文字等の情報によって、マーカの種類や番号を識別するための情報である。
【0025】
計数部7は、画像取得部2が取得した複数の画像に含まれる鉄筋の数を、画像間での重複鉄筋分を除いて計数する計数処理を行う。計数処理では、マーカが付与された鉄筋間の鉄筋、即ち
図4に示される画像P1を例に挙げれば、マーカM1とマーカM2が付与されたそれぞれの鉄筋の間に位置する鉄筋を計数する。そして、計数部7は、マーカが付与された鉄筋の数を計数する。このとき、計数部7は、取得された複数の画像間で重複して計数されないように、マーカが付与された鉄筋の数を計数することを特徴とする。
【0026】
計数部7における、複数の画像に含まれる鉄筋の計数方法の一例を記す。先ず画像毎にマーカが付与された鉄筋をそれぞれ計数する。ここで計数された、マーカが付与された鉄筋の数は、画像間での重複を含むものである。例えば、
図4で示されるマーカM2は、画像P1と画像P2のそれぞれで計数されるため、重複分である一本分多めに計数されている。そこで、マーカ識別部6により識別されたマーカのうち計数部7で重複カウントされたマーカの数である重複数を計数する。たとえば、マーカが付与された鉄筋のうち2回計数されたマーカに対応する鉄筋の数を、重複数として計数していく等である。
【0027】
重複数は、計数対象の中で、画像間で重複する鉄筋の数に等しい。従って、
図4の画像P1、P2を例に説明すると、マーカが付与された鉄筋の間の鉄筋の数(
図4の例では、3+4)と、マーカが付与された鉄筋を画像毎に計数した数(
図4の例では、4本)(重複を含む)とを合計した合計数(
図4の例では、11本)から、上記の重複数(
図4の例では、1本)を減算することで、全ての画像(
図4の例では、画像P1、P2)に含まれる鉄筋の数を割り出すことができる。尚、このようにして重複分を除いて鉄筋の数を計数する計数処理を、第1計数処理とする。
【0028】
計数部7における、複数の画像に含まれる鉄筋の数の計数方法の別の一例を記す。この例では、画像毎にマーカが付与された鉄筋を計数していくとともに、計数されたマーカが付与された鉄筋を記録していく。そして既に計数済みのマーカが付与された鉄筋が画像に含まれる場合には、計数済みのマーカが付与された鉄筋を計数対象から除外する。
【0029】
このようにしてマーカ間の鉄筋と、マーカが付与された鉄筋の数と、を計数していくことで、全ての画像に含まれる鉄筋の数を割り出すことができる。尚、このようにして重複分を除いて鉄筋の数を計数する計数処理を、上記第1計数処理と区別するため、第2計数処理とする。
【0030】
また、計数部7は、複数の画像に含まれる鉄筋数を、予め記憶部15に記憶された鉄筋情報18と比較してもよい。ここでいう鉄筋情報18は、用いた鉄筋の総数である。予め記録された情報と比較することで、用意された鉄筋が正しく本数分配置されているかどうかを確認することも容易に行える。
【0031】
表示制御部8は、モニタ等の表示媒体9へ取得した画像を表示する。それによりユーザは、目視により鉄筋及びマーカを確認する。
【0032】
図2は、鉄筋計数装置10のハードウェア構成図である。鉄筋計数装置10は、ハードウェア構成として、CPU21、DRAM22、ROM23、記憶部15、入出力IF25を備えている。
【0033】
CPU21は、ROM23に格納される各種制御プログラム(鉄筋検出部の処理プログラム、計数部の処理プログラム等)を読みこんで実行する。
【0034】
DRAM22は、制御プログラムや各種データを一時的に格納するワーキングエリアを提供する。ROM23は、各種制御プログラムを不揮発的に記憶する記憶媒体である。
【0035】
記憶部15は、前述したように、画像データ、マーカ情報、鉄筋情報等を記憶するものであり、フラッシュメモリやハードディスク等により構成される。入出力IF25は、装置外部とデータの送受信を行うものである。尚、各構成は、バス26により接続される。
【0036】
以上の構成を有する鉄筋計数装置10が、複数の画像を取得し、複数の画像中の鉄筋数を重複無く計数する一連の手順について
図5のフローチャートを参照しつつ説明する。
【0037】
まずステップS1では、画像取得部2が、マーカが付与された二つの鉄筋を含む複数の画像を取得する。ここでは上述したように、異なる二つの画像間で共通のマーカが付与された鉄筋を含む画像が取得される。
【0038】
ステップS2では、鉄筋検出部3が複数の画像のそれぞれで鉄筋の検出を行う。ステップS3では、マーカ検出部4が複数の画像のそれぞれでマーカの検出を行う。
【0039】
ステップS4では、マーカ識別部6が複数の画像から検出されたマーカの識別を行う。
【0040】
ステップS5では、計数部7が複数の画像に含まれる鉄筋の数を、画像間での重複鉄筋分を除いて計数する計数処理を行う。ステップS5の計数処理は、計数部7について説明した上述の第1計数処理、または、第2計数処理に対応する。
【0041】
以下、
図6、
図7を用いて計数処理の処理手順の具体例を説明する。
図6は、第1計数処理の処理手順を示すフローチャートである。
図7は、第2計数処理の処理手順を示すフローチャートである。尚、
図6、7の各手順については、いずれも計数部7が実行するものとする。
【0042】
図6のステップS11では、画像中のマーカが付与された鉄筋間の鉄筋の数を、各画像において計数する。
【0043】
ステップS12では、マーカが付与された鉄筋の数を、各画像において計数する。
【0044】
ステップS13では、重複カウントされたマーカの数である重複数を計数する。
【0045】
ステップS14では、ステップS11、S12で算出された各画像毎のマーカが付与された鉄筋間の鉄筋の数とマーカが付与された鉄筋の数との総和から、ステップS13で算出された重複数を減算する。そして
図6のフローチャートを終了する。
【0046】
図7のステップS21は、
図6のステップS11と同様であり、画像中のマーカが付与された鉄筋間の鉄筋の数を、各画像において計数する。
【0047】
ステップS22からステップS25のループ処理は、マーカが付与された鉄筋を画像間での重複カウントを除いて計数する処理である。
【0048】
ステップS22では、N番目のマーカが付与された鉄筋を対象とし、該鉄筋について計数を行うかどうかの判定を行う。尚、ここで示すN番目のNとは、便宜上設けられた番号であり、複数の画像毎にマーカが付与された鉄筋を計数していく順番を示す。ここで、鉄筋を計数していく画像は必ずしも撮った順番であるとは限らず、また画像中の2つのマーカが付与された鉄筋を右から計数しても左から計数してもよい。即ち、計数の順番Nは、状況によって変わり規定されるものではない。
【0049】
ステップS23では、計数対象のマーカが付与された鉄筋(N番目の鉄筋)が、既に計数済みであるかどうかを判定する。ステップS23がNOである場合、未だ計数されていないマーカであるため、ステップS24へ移行してマーカが付与された鉄筋の数に1を加算する。ステップS23がYESである場合、該マーカが計数済みのマーカであるため計数を行わずステップS25へ移行する。
【0050】
ステップS25では、マーカが付与された鉄筋が全て計数済みであるかどうかを判定する。ステップS25がNOである場合、ステップS22へ戻り、ステップS22からステップS25をループする。ステップS25がYESならば、
図7のフローチャートを終了する。
【0051】
以上のように、第1の実施形態における鉄筋計数装置10によれば、取得した画像から重複鉄筋分を除いて計数処理が行われる。そのため、鉄筋が広範囲に渡って組み立てられ、数多くの鉄筋画像を取得する場合であっても、正確な鉄筋の計数が可能となる。
【0052】
また、第1の実施形態の鉄筋計数装置10によれば、マーカが付与された二つの鉄筋を含む複数の画像を取得するだけで鉄筋の数を自動的に算出することから、ユーザがとり行う作業工程が少なく、ユーザの作業負担を大幅に軽減できる。
尚、第1の実施形態に係る鉄筋計数装置10は、計数処理を行う画像の順序が撮影画像順となっている場合には、マーカ識別部6を構成として備えずとも上述の効果を奏するものである。鉄筋計数装置10がマーカ識別部6を備えない場合には、例えば、第1計数処理の重複マーカ及び第2計数処理の計数済みのマーカを処理済みマーカとして他のマーカと区別するとよい。また、鉄筋計数装置10は、指示部5についても備えずともよい。
【0053】
〈第2の実施形態〉
次に、第2の実施形態における鉄筋計数装置20について説明する。
図8は、鉄筋計数装置20の機能構成図である。鉄筋計数装置20は、マーカ識別部6を有さない点、及び、計数部7が新たな処理を行なう点で鉄筋計数装置10と異なるがそれ以外の構成は、
図1と同様である。鉄筋計数装置20もまた、複数の鉄筋の本数を計数する鉄筋計数装置である。
【0054】
第2の実施形態では、重複分を検知するために使用するマーカは一種類であるので、マーカの識別は不要である。即ち、二枚の画像を取得すれば、配置された鉄筋を全て撮影できるような状況を想定している。
【0055】
図9は、撮像装置1が撮像を行う対象である複数の鉄筋Rを示している。複数の鉄筋Rの中央付近には、予めマーカMが付与されている。撮像装置1は、マーカMが付与された鉄筋を含むように撮像を行う。撮像の際には、端部の鉄筋と、マーカMが視野内に収まるように撮像装置1と鉄筋Rとの距離を調整して行うことが望ましい。
【0056】
図10は、上記のようにして撮像が行われて取得された画像の例を示す図である。このように画像P1、P2が端部の鉄筋とマーカMを含むように撮像が行われる。
【0057】
鉄筋計数装置20により、複数の画像(本実施形態では二枚の画像)を取得し、その画像中の鉄筋数を重複無く計数する一連の手順については、ステップS5の計数処理を除いて
図5のフローチャートと同様である。また、ステップS1では、
図9、
図10で説明した方法で撮像装置1により撮像を行い、画像取得部2が画像取得を行う。
【0058】
以下、鉄筋計数装置20における計数処理(
図5のステップS5に対応する処理)について説明する。
図11は、鉄筋計数装置20における計数処理の手順を示すフローチャートである。
【0059】
ステップS31では、取得した二つの画像のうち一つの画像の画面端部に位置する鉄筋からマーカが付与された鉄筋までを計数する(
図10の例では、5本)。ここで画面の端部に位置する鉄筋とは、画面両端のいずれかの鉄筋に当たる。尚、最初に計数を始める端部に位置する鉄筋のことを第1端部の鉄筋Re1と表記する(
図10参照)。
【0060】
ステップS32では、取得した二つの画像のうちもう一方の画像において、画面の端部に位置する鉄筋(第2端部の鉄筋Re2とする(
図10参照))からマーカが付与された鉄筋の手前の鉄筋までを計数する(
図10の例では、5本)。ステップS32で、マーカが付与された鉄筋を除外して計数する方法は、例えば、
図7のフローチャートで説明したように既にカウント済みであるとして除外してもよい。
【0061】
ステップS33では、ステップS31、S32で計数した鉄筋の数を加算する(
図10の例では、10本)。
【0062】
尚、鉄筋計数装置20における計数処理は、
図11の処理に限らず、
図6のフローチャートで説明したように画像間で重複計数したあとに重複分(ここでは重複数は一つ)を減算してもよい。
【0063】
以上のように、二枚の画像を取得すれば、配置された鉄筋を全て撮影できるような状況であれば、鉄筋計数装置20は、マーカ識別部を有さずともよい。本実施形態においても、第1の実施形態と同様の効果を奏する。
【0064】
次に第1、2の実施形態の変形例として、表示制御部8による画像表示の方法の一例を説明する。鉄筋の計数自体はコンピュータ内で行われるが、ユーザが確認しやすいように表示媒体9上に鉄筋を含む各画像が表示されることが望ましい。
【0065】
図12は、複数の鉄筋が何層にもわたって存在する場合において、鉄筋の情報を分類し、表示媒体9に表示する処理の手順を示すフローチャートである。尚、
図12の各手順については、いずれも表示制御部8が実行するものとする。
【0066】
ステップS35では、平面毎に鉄筋を分類する。平面とは、前方から後方に存在する各層の鉄筋を示す。例えば、鉄筋が存在する層毎にA層、B層・・・等の記号を付与することで鉄筋を分類する。
【0067】
ステップS36では、分類された鉄筋に対し番号を付与する。例えば、A層に存在する鉄筋に対して左端から1、2、3・・・等の番号を付与する。このような番号は、並び順を示しており、マーカが付与された鉄筋が何番目に位置するかということを示す情報ともなる。
【0068】
ステップS35、S36により、各鉄筋は、層と番号の情報をもつこととなる(A層1番目の鉄筋等)。従って、ステップS37によって、付与した情報に関する記号及び番号を画像中の鉄筋と合わせて表示媒体9に表示することで、ユーザが計数対象の鉄筋を容易に判別することができる。
【0069】
一般に、建築現場における鉄筋の組み方によっては、一方向に配置されるだけでなく、奥行き方向にも配置され、手前から後方へ向かって何層にもなっていることがある。この場合計数する対象の鉄筋の層(例えば手前の層)をユーザが確認することができれば、指示部5により計数対象の鉄筋を選択することも可能となる。
【0070】
〈第3の実施形態〉
以下、第3の実施形態の鉄筋計数装置30について説明する。鉄筋計数装置30は、新たに通知部31を有する点で鉄筋計数装置10と異なるがそれ以外の構成は同様である。
図13は、鉄筋計数装置30の機能構成図である。
【0071】
第3の実施形態における鉄筋計数装置30では、通知部31は、取得した画像に対して、正常に計数を行うことが可能な状態であるかどうかの判定を行い、正常に計数を行うことが不可能な場合にユーザに通知を行う。正常に計数を行うことが不可能な場合とは、撮像装置1が撮像した画像にマーカが含まれない等、計数処理を行うことができない画像が取得されてしまった場合である。
【0072】
以下、鉄筋計数装置30によって、複数の画像を取得し、複数の画像中の鉄筋数を重複無く計数する一連の手順について
図14のフローチャートを参照しつつ説明する。尚、ステップS41からS44、及び、ステップS46の計数処理については、
図5のステップS1からS5と同様である。
【0073】
ステップS44では、マーカ識別部6が、画像毎にマーカを識別する。その後、ステップS45では、通知部31が、各画像中においてマーカが存在するかどうかを判定する。ここで、マーカが存在しない画像があった場合、ステップS45の判定がNOとなり、ステップS47へ移行する。
【0074】
ステップS47では、通知部31は、マーカが存在しない画像があるため正常に計数を行うことが不可能である旨をユーザに対して伝達する。伝達の方法は、マーカが存在しない画像にエラーメッセージを合わせて表示媒体9へ表示してもよいし、また音声により通知してもよい。具体的な手段に特に限定されるものではない。尚このように、複数の画像のいずれかにマーカが存在しない画像が含まれる場合、ユーザに通知を行う通知部31を第1通知部とも表記する。
【0075】
ステップS45で全ての画像にマーカが存在すると判定された場合には、ステップS45の判定がYESとなり、ステップS46の計数処理へ進む。
【0076】
以上のように、鉄筋計数装置30によれば、撮像装置1による撮像が失敗してマーカが含まれない画像を取得してしまった場合であっても、計数処理に移る前にユーザに通知することで、画像の取り直しを促すことができる。また、所定の位置にマーカが付与されていない場合やマーカ間隔が広すぎる場合においても、マーカが存在しない画像が取得されてしまう可能性があるため、該通知部31によるユーザへの通知を行うことは、マーカの配置ミスを指摘する上でも有効である。
【0077】
また、
図14の例は、先に全ての画像を取得して、全ての画像に対してステップS45の判定を行うものであるが、特にこの例に限られるものではない。例えば、画像を一つ取得する度にステップS42からS45を行うものとしてよい。その場合は、全ての画像を取得するまで、画像毎にステップS42からS45を繰り返したあとに計数処理を実行すればよい。
【0078】
図15から
図19は、第3の実施形態に係る鉄筋計数装置30による画像取得から計数処理までの一連の手順の別の例を示すフローチャートである、
図15から
図19のフローチャートについてそれぞれ説明する。尚、
図15から
図19に示される計数処理についても、
図5のステップS5の計数処理と同様である。
【0079】
なお、第3の実施形態では、画像取得部2が取得する画像には、ライブビュー画像が含まれる。
図15のフローチャートに示す処理は、画像中にマーカがあるかどうかの判定をライブビュー画像に対して行うものである。
【0080】
図15のステップS51では、画像取得部2は、撮像装置1によるライブビュー画像を取得する。ステップS52では、マーカ検出部4がマーカを検出する。
【0081】
ステップS53では、マーカ識別部6が画像中にマーカがあるかどうかの判定を行う。ステップS53の判定がNOである場合、通知部31はマーカが視野内に存在しないことをユーザに通知する(ステップS57)ことで、撮像位置の調整を促す。以降、ライブビュー画像中にマーカが存在するまでステップS51からS57を繰り返す。
【0082】
ステップS53でYESと判定された場合、ステップS54へ移行し、画像取得部2が静止画画像の取得を行う。
【0083】
ステップS55では、全ての画像が取得されたかどうかの判定結果に基づいて、その判定がNOである場合には、ステップS51へ戻り、以降ステップS55でYESと判定されるまでステップS51からS55を繰り返す。
【0084】
ステップS55でYESと判定された場合、計数部7がステップS55の計数処理を行い、処理を終了する。
【0085】
このようにライブビュー画像を取得する段階において、マーカの有無の判定を実行し、ユーザへ通知を行うことで、マーカが存在しない画像が取得されること自体を防ぐことができる。
【0086】
図16に示すフローチャートについて説明する。
図16のステップS61からS64及びステップS66の計数処理については、
図14のステップS41からS44及びステップS46と同様である。
【0087】
ステップS64では、マーカ識別部6が画像毎のマーカを識別する。ステップS65では、通知部31が、全ての画像が同一のマーカが付与された鉄筋を含む2画像を有しているかどうかの判定を行う。同一のマーカが付与された鉄筋を含む2画像(画像の組み)とは、
図4に示される画像P1及び画像P2のような画像の組みを指す。画像P1と画像P2はそれぞれ同一のマーカであるマーカM2が付与された鉄筋を含んでいる。ステップS65の判定がNOである場合、ステップS67へ移行する。
【0088】
ステップS67では、通知部31は、同一マーカを含む画像の組みを作らない画像があるため、正常に計数を行うことが不可能である旨をユーザに伝達する。尚このように、複数の画像間で同一のマーカが付与された鉄筋を含む画像が存在しない場合、ユーザに通知を行う通知部31を第2通知部とも表記する。
【0089】
ステップS65の判定がYESである場合、ステップS66へ移行する。
【0090】
以上の方法によれば、ユーザが撮像すべきである一部区間を撮像したものと勘違いして次の画像を撮像する等により、画像に抜けが生じた場合であっても、そのような画像の抜けを検知してユーザに通知を行うことで、画像の取り直しを促すことができる。
【0091】
また、本例によれば、マーカが存在しない画像についても通知対象とするため、
図14、
図15で示した処理よりもより幅広く、正常に計数を行うことが不可能な画像についてユーザに通知することができる。
【0092】
図17に示すフローチャートについて説明する。
図16の処理では、全ての画像を取得後、全ての画像に対しステップS65による判定を行うものとしたが、
図17の処理では、画像を取得する毎に画像間で同一のマーカが付与された鉄筋を含むかどうかを判定する。
【0093】
ステップS71では、画像取得部2がn番目の画像を取得する。nは、撮影順の画像の番号で、n=1、2・・・である。開始時は、n=1である。取得した画像から、鉄筋の検出(ステップS72)、マーカの検出(ステップS73)、マーカの識別(ステップS74)が実行される。
【0094】
次にステップS75において、画像取得部2がn+1番目の画像を取得する。開始時は、n=2になる。ステップS76からステップS78の処理は、ステップS71からステップS74の処理と同様である。
【0095】
ステップS79では、通知部31が、ステップS71で取得したn番目の画像と、ステップS75で取得したn+1番目の画像との間で同一のマーカが付与された鉄筋を含むかどうかを判定する。ステップS79の判定がNOである場合、通知部31は、ユーザに通知を行い、n+1番目の画像の再取得を行う。
【0096】
ステップS79の判定がYESである場合、ステップS80において全ての画像を取得したかどうかを判定する。全ての画像を取得した場合には(ステップS80の判定がYES)、ステップS81の計数処理へ移行し、全ての画像を取得していない場合には(判定がNO)、n=n+1として画像の番号を+1して、ステップS75へ戻る。
【0097】
以上の方法によれば、画像を一つ取得する度に画像間で同一のマーカが付与された鉄筋を含むかどうかを判定する。これにより、画像を撮像して取得していく段階で正常に計数を行うことが不可能な画像についてユーザに通知を行うことができる。
【0098】
図18に示すフローチャートについて説明する。
図18では、2番目以降の(静止画)画像取得に際して、画像取得を行う前にライブビュー画像を取得して、一つ前の(静止画)画像との間で同一のマーカが付与された鉄筋を含むかどうかを判定する点で、
図17のフローチャートと異なっている。ステップS91からS94までの処理は、
図17のステップS71からS74までの処理と同様である。
【0099】
ステップS95では、画像取得部2がライブビュー画像を取得し、そのライブビュー画像に対して鉄筋の検出(ステップS96)、マーカの検出(ステップS97)、マーカの識別(ステップS98)を行い、ステップS99へ進む。
【0100】
ステップS99では、通知部31が、ステップS91で取得したn番目の画像と、該ライブビュー画像との間で同一のマーカが付与された鉄筋を含むかどうかを判定する。
【0101】
ステップS99における判定がYESである場合、画像取得部2は、そのライブビュー画像に対応する(静止画)画像をn+1番目の画像として取得する(ステップS100)。
【0102】
また、ステップS99における判定がNOである場合、通知部31がユーザに通知を行うとともに、撮像位置の調整を促しつつステップS95へ戻る。
【0103】
ステップS101では、全ての画像を取得したかどうかの判定に基づき、判定がNOである場合、n=n+1として画像の番号を+1して、ステップS95へ戻る。以降ステップS101でYESとなるまで、ステップS95からS101を繰り返す。判定がYESである場合には、ステップS102の計数処理へ移行する。
【0104】
このようにライブビュー画像を取得する段階において、画像間で同一のマーカが付与された鉄筋を含むかどうかを判定する。従って、画像を撮像する前の段階で正確に計数を行うことが不可能な画像についてユーザに通知することができる。
【0105】
以下、
図19のフローチャートについて説明する。
【0106】
ステップS110では、画像取得部2がライブビュー画像を取得する。ステップS111では、ライブビュー画像中からマーカの検出を行う。
【0107】
以降、ユーザは、表示媒体9へ表示されるライブビュー画像を確認しながら画像を撮像する位置を調整する。具体的には、撮像する画像にマーカが二つ含まれるように調整していく。例えば、マーカが一つのみライブビュー画像に表示されている状態では、もう一つのマーカがライブビュー画像内に含まれるように、撮像位置を動かしつつ調整する。
【0108】
ステップS112では、通知部31が、ライブビュー画像内にマーカが二つあるかどうかを判定する。ステップS112における判定がNOである場合、ステップS113へ移行する。
【0109】
ステップS113では、通知部31が、検出マーカが画像端にあるかどうかを判定する。ステップS113における判定がNOである場合、マーカが二つ含まれるように撮像位置を移動する余地は残っているため、ステップS111へ戻る。
【0110】
一方で、ステップS113における判定がYESである場合、それ以上撮像位置を移動させたとき、ライブビュー画像に移っているマーカも画像外へ移動してしまうため、通知部31はユーザへ警告通知する(ステップS114)。
【0111】
図20は、検出マーカが画像端にある状態を示した図である。ライブビュー画像である画像P内において、Nと表記されたマーカMNが付与された鉄筋が画像端に存在している状態を示している。この状態で他端の鉄筋にマーカが付与されていない場合(Bで示される鉄筋にマーカが付与されていない場合)、より右に撮像位置を移動すると、マーカMNも画像P外へ移動してしまうため、二つのマーカが画像P内に写るようにすることは難しい。ステップS114における通知の内容は、例えば、撮像装置1と鉄筋との距離を大きくとるようにユーザへ促すものでもよく、計測可能な画像が取得出来ない旨を通知するものでもよい。尚このように、ライブビュー画像内におけるマーカが画像端部にあり、かつ他のマーカが該ライブビュー画像内に存在しない場合、ユーザに通知を行う通知部31を第3通知部とも表記する。
【0112】
ステップS112における判定がYESである場合、画像取得部2が、ライブビュー画像から(静止画)画像の取得を行う(ステップS115)。
【0113】
ステップS116では、全ての画像を取得したかどうかの判定に基づき、判定がNOである場合には、ステップS110に戻り、以降全ての画像を取得するまでステップS110からS116を繰り返す。ステップS116の判定がYESである場合、ステップS117の計数処理へ移行する。
【0114】
以上のように、ライブビュー画像取得時において、画像中に2つのマーカが付与された鉄筋が含まれない場合であって、写っているマーカが画面端にある場合にユーザに対して通知を行う構成として、撮像装置1の位置または鉄筋の配置が、鉄筋を正確に計数することが可能な画像を取得することができない状態であることをユーザへ通知する。そのため、ユーザへの撮像のサポートを行うとともに、正確に計数することが不可能な画像が取得される可能性を減少させることができる。
【0115】
〈第4の実施形態〉
以下、第4の実施形態における鉄筋計数装置40について説明する。鉄筋計数装置40は、通知部31に加え、マーカ位置検出部41、重複判定部42を有する点で鉄筋計数装置10と異なるがそれ以外の構成は同様である。
図21は、鉄筋計数装置40の機能構成を示す図である。
【0116】
マーカ位置検出部41は、マーカ検出部4が検出したマーカの画像中における位置を検出する。
【0117】
重複判定部42は、マーカ識別部6によるマーカの識別結果と、マーカ位置検出部41によって検出されたマーカの位置に基づいて、画像取得部2が取得した複数の画像の中で、重複画像を判定する。重複画像とは、撮影された鉄筋が同一である画像をいう。具体的には、識別されたマーカの種類が同一であり、画像間でのマーカの位置が規定の範囲内に存在する画像を重複画像として判定するものである。尚、規定の範囲は、予め設定される範囲であり、マーカの位置が略同じ(若干位置ずれしているものも含む)である画像を判定可能な範囲であればよい。なお、識別されたマーカの種類だけを用いて重複画像か否かを判定してもよい。その場合、重複判定部42は、識別されたマーカの種類が同一である画像を重複画像として判定する。
【0118】
図22は、重複判定部42が重複画像であると判定する画像Pa及び画像Pbを示す図である。画像Pa及び画像Pbには、同じ種類のマーカであるマーカM1及びマーカM2が付与された鉄筋が含まれており、また、そのマーカの位置も略同じである。
【0119】
図23は、本実施形態における鉄筋計数装置40によって、複数の画像を取得し、複数の画像中の鉄筋数を重複無く計数する一連の手順を示すフローチャートである。
【0120】
図23におけるステップS121からS124、ステップS127については、第1の実施形態の
図5におけるステップS1からS5と同様である。
【0121】
ステップS124でマーカの識別がされた後、ステップS125では、マーカ位置検出部41がマーカの位置検出を行う。
【0122】
ステップS126の重複判定処理では、ステップS121で取得した画像から、重複判定部42がマーカの種類と位置を用いて重複画像を判別する。以下、
図24を用いてステップS126の重複判定処理を行う手順について説明する。
【0123】
図24は、本実施形態における重複判定処理の一例を示す図である。
【0124】
ステップS131では、重複判定を行う対象の画像を選択する。ここでは、画像取得部2が取得した複数の画像を判定対象の画像とする。
【0125】
ステップS132では、画像毎にマーカ位置とマーカ種類を比較する。
【0126】
ステップS133では、重複判定部42は、マーカ種類が等しく、マーカ位置が規定の範囲内にある画像が存在するかどうかを判定する。尚、重複判定部42がマーカの種類のみを判定する構成である場合には、ステップS133では、マーカ種類が等しい画像が存在するかどうかを判定する。ステップS133の判定がNOである場合には、重複判定処理を終了する。
【0127】
ステップS133の判定がYESである場合には、ステップS134では、それぞれマーカ種類が等しく、マーカ位置が規定の範囲内にある画像を重複画像とし、重複画像のいずれか一つのみを計数のカウント対象し、重複判定処理を終了する。
【0128】
以上のように重複判定処理を行うことで、撮像装置1の連写機能等により誤って重複画像を取得してしまった場合であっても、重複分の鉄筋の計数を防ぐことができる。
【0129】
一方で、重複判定部42による
図24の重複判定処理では、例えば、
図25に示されるような画像Pa、画像Pbについても重複画像と判定してしまう。画像Pa、画像Pbは、鉄筋の本数が異なるが、互いにマーカ位置(マーカM1、M2の画像中の位置)が規定の範囲内に存在し、そのマーカの種類が等しいためである。
【0130】
図26は、第4の実施形態における重複判定処理の他の一例を示す図である。
図26に示す重複判定処理を行うことで、
図25に示したようなマーカが付与されていない鉄筋の本数が異なる画像が、重複画像として処理されることを防ぐことができる。
【0131】
図26のステップS141からS143までは、
図25のステップS131からS133と同様である。
【0132】
ステップS143の判定がYESであった場合、ステップS144では、計数部7は、重複画像とされた画像でマーカ間の鉄筋本数を計数する。
【0133】
ステップS145では、重複判定部42が、重複画像とされた画像の中で、マーカ間で鉄筋数の異なる画像が存在するかどうかを判定する。ステップS145の判定がYESであった場合、画像内の鉄筋数が実際には異なる画像が、誤って重複画像として判定されたものであるため、通知部31は、ユーザにエラーを知らせる、または、状況の確認等を促す通知を行う。尚このように、計数部31による重複画像とされた画像内の鉄筋の数の計数の結果、重複画像とされた画像間で鉄筋の数が異なる場合、ユーザに通知を行う通知部31を第4通知部とも表記する。
【0134】
ステップS145の判定がNOであった場合には、ステップS146において、それぞれマーカ種類が等しく、マーカ位置が規定の範囲内にある画像を重複画像とし、重複画像のいずれか一つのみを計数のカウント対象とする。
【0135】
以上の重複判定処理によれば、
図25に示したような重複画像ではない画像が、重複画像として処理されることを防ぐことができる。そのため、より正確に重複画像の判定を実行することができる。
【0136】
上述した実施形態は、発明の理解を容易にするために具体例を示したものであり、本発明はこれらの実施形態に限定されるものではない。上述した鉄筋計数装置及び、方法及び、プログラムは、特許請求の範囲に記載した本発明を逸脱しない範囲において、さまざまな変形、変更が可能である。