(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、図面に従って本発明の実施形態を説明する。
図1は、本発明の一実施の形態に係る配筋検査システム1の構成例を示す図である。配筋検査システム1は、建築及び土木の構造体の骨格に関する検査を行うものである。以下では、配筋検査システム1の具体例として、配筋された鉄筋を撮影して、撮影画像に基づき鉄筋の計測処理を行う例を説明する。配筋の計測処理とは、鉄筋の径計測、鉄筋の本数計測、鉄筋の間隔計測等である。
【0010】
配筋検査システム1は、情報処理装置10とステレオカメラ100を有する。ステレオカメラ100は、三次元データ生成装置(三次元センサとも呼ばれる)の一例である。三次元データ生成装置としては、3Dレーザースキャナでもよい。
【0011】
配筋Hがステレオカメラ100により撮影され、配筋Hの三次元データが生成される。ステレオカメラ100は、右撮像部110R、左撮像部110L、三次元データ生成部120を有する。右撮像部110Rは、右目視点から見た右目視点画像を撮影する。左撮像部110Lは、左目視点から見た左目視点画像を撮影する。なお、右撮像部110R及び左撮像部110Lで撮影される画像は、カラー画像でもよいし、グレースケール画像等の多階調単色画像でもよいが、本実施形態では、グレースケール画像であるとする。
【0012】
三次元データ生成部120は、右目視点画像の画像データと左目視点画像の画像データに対して公知のステレオマッチング処理を行うことにより、三次元データを生成する。なお、三次元データは、画素単位で三次元点情報を保持する画像として取得され、三次元画像や、距離画像とも呼ばれる。
【0013】
情報処理装置10は、例えばPC(Personal Computer)、タブレット端末、或いは専用ハードウェア等である。情報処理装置10で、生成された三次元データが取得され、三次元データに基づき、前面パラメーター算出処理等により計測対象が特定され、鉄筋の各種計測処理を行われる。また、情報処理装置10で、その処理結果を表示あるいは記憶する処理等が行われてもよい。以下では、配筋Hの最前面に位置する前面配筋HAを計測対象とする。
【0014】
なお、情報処理装置10がステレオカメラ100からの三次元データを取得する手段としては、有線(例えば、USBケーブルやインターネット)、無線(例えば、無線LAN(Local Area Network)やインターネット)、あるいは外付け記録媒体のいずれでもよい。
【0015】
次に、配筋検査システム1における全体処理を簡単に説明する。
図2は、配筋検査システム1全体の主な処理を説明するフローである。
【0016】
前述のステレオカメラ100を使って、撮影者により、配筋Hのステレオ撮影が行われる(ステップS1)。ステレオカメラ100で、右目視点画像と左目視点画像が撮影され、三次元データが生成される。情報処理装置10は、ステレオカメラ100から三次元データを取得する(ステップS2)。情報処理装置10は、三次元データから、最前面の平面を特定する(ステップS3)。最前面の平面とは、建築及び土木の構造体の骨格で形成される平面の中で、最前面に位置する平面をいう。具体的には、最前面の平面とは
図1の前面配筋HAを含む平面である。
【0017】
情報処理装置10は、特定した最前面の平面に基づき、平面領域画像を作成し(ステップS4)、計測対象となる鉄筋の配置を特定する(ステップS5)。平面領域画像については、
図8や
図9で説明する。情報処理装置10は、特定した鉄筋配置に基づき、対象となる鉄筋の径計測、本数計測、間隔計測等の各種計測処理を行う(ステップS6)。
【0018】
図3は、情報処理装置10のハードウェア構成例を示すブロック図である。情報処理装置10は、CPU(Central Processing Unit)510、RAM(Random Access Memory)520、ROM(Read Only memory)530、入出力IF(Interface)540、通信部550、操作部560、表示部570及びバス580を有する。
【0019】
CPU510は、情報処理装置10全体を統括的に制御する制御部である。CPU510は、ROM530から制御プログラムを読込み、読込んだ制御プログラムに従って、各種制御処理を実行する。
【0020】
RAM520は、制御プログラムや、ステレオカメラ100からの三次元データ等の各種データを一時的に記憶するワークエリアである。RAM520は、例えばDRAM(Dynamic Random Access Memory)である。ROM530は、制御プログラムやデータ等を記憶する不揮発性の記憶部である。ROM530は、例えばフラッシュメモリである。
【0021】
入出力IF540は、外部機器とのデータの送受信を行うものである。外部機器は、例えばUSBケーブル等で接続されるステレオカメラ100、あるいは交換可能な記憶部600である。情報処理装置10は、入出力IF540によって、ステレオカメラ100から三次元データを取得する。入出力IF540は、三次元データ取得部とも呼ぶ。記憶部600は、いわゆるメモリカードと呼ばれる記録媒体である。記憶部600は、HDD(Hard Disk Drive)でもよい。記憶部600には、ステレオカメラ100で生成された三次元データや、三次元データに基づき情報処理装置10で生成された平面領域画像が記憶されてもよい。
【0022】
通信部550は、外部機器と無線で各種データの通信を行うものである。操作部560は、操作指示を入力するキーボードやタッチパネルである。表示部570は、例えばLCD(liquid crystal display)で、入力データあるいは撮影画像や三次元データによる画像等が表示される。CPU510は、RAM520、ROM530等々とバス580で接続される。
【0023】
図4は、配筋検査システム1における、情報処理装置10による配筋検査処理に関する機能ブロック図である。配筋検査処理は、CPU510が制御プログラムを読込み、CPU510が読込んだ制御プログラムを実行することによるフトウェア処理によって行われる。
【0024】
図4に示すように、配筋検査処理は、三次元情報取得部32、複数平面検出部34、前面特定部36、平面領域画像作成部38、鉄筋配置特定部40及び計測部42等のソフトウェアによる機能部により実現される。また、三次元情報取得部32、複数平面検出部34及び前面特定部36は、後述するように最前面の平面を特定して配筋検査を支援するものであるので、まとめて検査支援装置30とも呼ぶ。
【0025】
三次元情報取得部32は、ステレオカメラ100から三次元データを取得する。三次元情報取得部32は、前述のように例えば入出力IF540である。
【0026】
複数平面検出部34は、取得された三次元データから、三次元データを少なくとも3点含む平面を複数検出する。具体的には、例えば、複数平面検出部34は、取得された三次元データから3点を選択し、3点により構成される仮平面(第1の平面とも呼ぶ)を設定し、このような仮平面を複数検出する。
【0027】
そして、複数平面検出部34は、検出した仮平面毎に、仮平面に所属する三次元点として、仮平面との距離が所定以下となる三次元点を三次元データから抽出する。三次元点とは、三次元データの各点である。複数平面検出部34は、各仮平面に属する三次元点の個数を算出する。複数平面検出部34は、検出した仮平面のパラメーター(平面パラメーターと呼ぶ)と、各仮平面に所属する三次元点の個数を出力する。
【0028】
前面特定部36は、複数平面検出部34から出力された複数の仮平面の中から、最前面の平面を特定する。具体的には、前面特定部36は、各仮平面に所属する三次元点の個数に基づいて、検出された複数の仮平面の中から、前記構造体の骨格で最前面に位置する平面(最前面の平面)を特定する。最前面の平面を、第2の平面とも呼ぶ。より具体的には、前面特定部36は、検出された複数の仮平面の中で、算出された三次元点の個数が一番多い仮平面を、最前面の平面と特定する。前面特定部36は、特定した最前面の平面の平面パラメーターを配筋前面情報として、平面領域画像作成部38に出力する。
【0029】
なお、最前面の平面パラメーターを前面パラメーターとも呼び、複数平面検出部34と前面特定部36を合わせて前面パラメーター検出装置50とも呼ぶ。前面パラメーター検出装置50による処理を前面パラメーター検出とも呼ぶ。
【0030】
平面領域画像作成部38は、最前面の平面パラメーターに基づき、前面配筋HAの画像を、取得された三次元データから作成する。鉄筋配置特定部40は、前面配筋HAの画像から、鉄筋配置を特定する。計測部42は、特定した鉄筋配置に基づき、鉄筋の径計測、本数計測、間隔計測等の各種計測処理を行う。
【0031】
図5は、前面パラメーター検出処理の手順を説明するフローチャートである。前面パラメーター検出処理は、前面パラメーター検出装置50(複数平面検出部34と前面特定部36)により行われる。
【0032】
まず、複数平面検出部34と前面特定部36は、ループ処理用変数(t、N)の初期化を行う。複数平面検出部34は、三次元点の集合φから少なくとも3点を選択する(ステップS100)。複数平面検出部34は、前記選択した点に基づいて、複数の平面L_tmpのパラメーターを算出する(ステップS102)。平面L_tmpは、前述の仮平面である。
【0033】
なお、平面L_tmpのパラメーターとは、下記式(1)で示す平面方程式の係数a、b、c、dである。
ax+by+cz+d=0 ・・・式(1)
ここで、(x、y、z)は、三次元空間中の点の座標を示す。平面L_tmpのパラメーターは、最小二乗法等による公知の技術を用いて、算出することができる。なお前記選択した点が3点の場合は、一意に計算で算出することが出来る。
【0034】
複数平面検出部34は、平面L_tmpと三次元点の集合φの各点との距離を算出する(ステップS104)。複数平面検出部34は、三次元点の集合φの中で、平面L_tmpとの距離が閾値D以下の点の個数N_tmpを算出する(ステップS106)。閾値Dは、予め設定された値で、ROM530に格納されていてもよい。閾値Dは、例えば、対象となる鉄筋の半径あるいは直径としてもよい。平面L_tmpとの距離が閾値D以下の三次元点を、近接点と呼ぶ。平面L_tmpまでの距離と閾値Dの関係として、三次元点の集合φの中から、下記式(2)を満足する近接点の個数N_tmpが算出される。
|ax+by+cz+d|<D ・・・式(2)
【0035】
図6、
図7及び
図8を参照して、ステップS100〜ステップS106までを具体例で説明する。
図6、
図7は、平面L_tmpと、平面L_tmpに対応する近接点の個数との関係を示す図である。
【0036】
三次元点の集合φから平面L_tmpは多数検出される。
図6の画像D4や
図7の画像D6が、その一例である。この図例では、配筋Hと、壁面e1、床面e2がシーンに含まれている。
図6の画像D4の平面L_tmpは、配筋Hの前面下部から配筋Hの後面上部に向かって、配筋Hを斜めに横切るような斜面である。
図7の画像D6の平面L_tmpは、床面e2と平行で、かつ床面e2に近接する平面である。
【0037】
図6の画像D5は、画像D4の平面L_tmp(斜面)で算出された近接点の領域を、白色で示したものである。画像D4の平面L_tmpが配筋Hに交差する領域や、平面L_tmpが壁面e1と交差する領域が、平面L_tmp(斜面)の近接点の領域に該当する。実際の計算例では、近接点の個数N_tmpは、84,032点と算出された。
【0038】
図7の画像D7は、画像D6の平面L_tmpで算出された近接点の領域を、白色で示したものである。平面L_tmpが、床面e2に近接しているので、床面e2の領域が近接点の領域に近似する。実際の計算例では、近接点の個数N_tmpは、310,075点と算出された。
【0039】
これから、床面や壁面は、除外するのが望ましいことがわかる。複数平面検出部34は、例えば、三次元データの座標値に基づき、床面や壁面を除外する。あるいは、複数平面検出部34は、近接点の個数N_tmpが所定以上の平面L_tmpを、床面や壁面と推定して、除外してもよい。
【0040】
そして、
図5のステップS110以降では、床面や壁面を除外した仮平面の中から近接点の個数N_tmpが最も多い仮平面を選択し、選択した仮平面を配筋の最前面の平面と特定する。その理由を説明する。
【0041】
図6で示したように、仮平面が鉄筋を横断するような方向の場合には、近接点の個数は少なくなる。一方、仮平面が鉄筋の軸方向に平行な方向の場合に、近接点の個数が多くなる。つまり、配筋の面に平行な仮平面ほど、近接点の個数が多くなるからである。更に、ステレオカメラ100への距離が近い前面の鉄筋の方が、後面の鉄筋より大きなサイズで表示される(
図9参照)。つまり、前面の鉄筋の方が後面の鉄筋よりも、近接点の個数が多くなる。以上から、近接点の個数が最も多い仮平面が、配筋の最前面の平面と推定できることになる。
【0042】
図5に戻る。以下のステップS110〜ステップS114で、前面特定部36は、算出した平面L_tmpの近接点の個数であるN_tmpを順番に比較して、近接点個数N_tmpが最も多い平面L_tmpを、最前面の平面として特定する。
【0043】
前面特定部36は、N<N_tmp であるかを判断する(ステップS108)。Nは、近接点個数の暫定の最大値である。前面特定部36は、N<N_tmp であると判断すると(ステップS108のYES)、前面特定部36は、NをN_tmpで更新し、平面Lを平面L_tmpで更新する(ステップS110)。平面Lは、暫定の最前面の平面パラメーターである。
【0044】
前面特定部36は、t=t+1とする(ステップS112)。tは平面L_tmpのN_tmpを順番に比較するためのループカウンタである。
【0045】
前面特定部36は、t<Tであるかを判断する(ステップS114)。TはステップS104で算出された仮平面の総数である。t=Tになると、処理が終了される。前面特定部36は、t<Tであると判断すると(ステップS114のYES)、ステップS100に戻り、次の平面N_tmpについての処理を行う。
【0046】
前面特定部36は、N<N_tmp でないと判断すると(ステップS108のNO)、ステップS112に進む。ステップS112の後、前面特定部36は、t<Tでないと判断すると(ステップS114のNO)、平面Lを配筋前面に相当する平面パラメーターと特定して、平面領域画像作成部38に出力する。以上で、前面パラメーター検出処理が終了する。
【0047】
以上の、ステップS100〜ステップS114の処理は、RANSAC(Random Sample Consensus)処理によるパラメーター推定方法の処理過程と共通している。RANSAC処理は、アウトライアー(外れ値)を含む測定値から数値モデルを推定することを意図して開発、利用されているものだが、本来の意図と異なる、本発明で対象とする課題に対しても効果が得られる。
【0048】
図8は、平面領域画像作成部38により作成された平面領域画像の例である。画像D8は、配筋Hの三次元画像と、配筋Hの前面配筋を含むよう設定された平面Lを示す図である。画像D9は、画像D8の平面Lに対応する平面領域画像である。
【0049】
図9は、配筋Hの前面配筋HAによる平面領域画像(画像D11)と後面配筋HBによる平面領域画像(画像D12)を比較する図である。画像D10は、画像D11と画像D12の元になる三次元画像である。前面配筋HAは、ステレオカメラ100までの距離が後面配筋HBに比べて短いので、鉄筋のサイズが後面配筋HBに比べて大きく表示される。つまり、画像D11の方が画像D12よりも、表示される領域が大きい。つまり、個数N_tmpが最も多い平面が、最前面の平面となる。
【0050】
以上説明した前面パラメーター検出処理を、まとめると以下のような処理になる。
・入力の三次元データの中から任意の3つ以上の点を選び、それらの点をに基づいて平面パラメーターを算出する。
・入力三次元データに対して、算出された平面との距離を算出し、その距離が閾値以下の点の個数を計数する。
・上記の平面パラメーター算出、および、その平面との距離が閾値以下の点の個数の計数を、任意の3つ以上の点を選び直しながら所定数回繰り返し行うことによって、平面パラメーターと個数のペアを複数セット算出する。
・上記の平面パラメーターと個数のペアの中から、その個数が最も多いペアの平面パラメーターを配筋前面に相当する平面として取得する。
【0051】
そして、以上の前面パラメーター検出処理によれば、取得した三次元データ中に、前面に相当する三次元点データが最も多くなることを利用して、自動検出を行うので、確実に最前面の配筋を検出することができる。
【0052】
〈第2実施形態〉
次に第2実施形態を説明する。前述の前面パラメーター検出処理では、複数平面検出部34は、床面や壁面を予め仮平面から除くようにした。さらに、第2実施形態は、三次元データ生成装置(ステレオカメラ100)から所定距離以上離れた三次元データを、複数平面検出部34で使用する三次元点の集合φから除外するものである。計測対象が最前面の配筋であるので、ステレオカメラ100から所定以上奥側にある三次元点は、不要だからである。
【0053】
第2実施形態は、
図9までで説明した第1実施形態と共通部分が多い。以下では、第2実施形態特有の箇所について主に説明する。
図10は、第2実施形態における配筋検査処理に関する機能ブロック図である。
【0054】
第2実施形態の検査支援装置30bは、第1実施形態の検査支援装置30に三次元データ除去部70を追加したものである。三次元データ除去部70は、三次元データ生成装置(ステレオカメラ100)から所定距離以上離れた三次元データを特定し、三次元点の集合φから特定した三次元データを除外し、特定した三次元データを除外した三次元点の集合φを、複数平面検出部34に出力する。所定距離とは、例えば、前面配筋HAまでの距離が2mの場合に、3mである。
【0055】
図11は、第2実施形態における前面パラメーター検出処理の手順を説明するフローチャートである。ステップS80〜ステップS86までが、第2実施形態特有の処理である。ステップS100〜ステップS114は、第1実施形態と同じである。
【0056】
三次元データ除去部70は、三次元点の集合φから三次元点を1つずつ読み出して、以下のステップS80〜ステップS86の処理を行う。
【0057】
三次元データ除去部70は、三次元点(x、y、z)の座標から、該三次元点とステレオカメラ100の距離Kを算出する(ステップS80)。三次元データ除去部70は、K<Pであるかを判定する(ステップS82)。Pは、最前面に位置する前面配筋HAまでの距離に一定の余裕値を加算した値である。前面配筋HAまでの距離は、ステレオカメラ100による測距値を利用してもよいし、撮影者からの入力値であってもよい。
【0058】
三次元データ除去部70は、K<Pでないと判定すると(ステップS82のNO)、この三次元点を除去して(ステップS84)、ステップS86に進む。当該三次元点が、前面配筋HAには含まれない点と判定できるからである。
【0059】
三次元データ除去部70は、K<Pであると判定すると(ステップS82のYES)、三次元点の全てについての処理が終了したかを判定する(ステップS86)。三次元データ除去部70は、三次元点の全てについての処理が終了していないと判定すると(ステップS86のNO)、ステップS80に戻る。三次元データ除去部70は、三次元点の全てについての処理が終了したと判定すると(ステップS86のYES)、ステップS100に進む。ステップS100以降は、説明済であるので、省略する。
【0060】
第2実施形態によれば、三次元データ除去部70によって、奥側の配筋や壁面による三次元データを、効率良く除外することができる。不要な三次元点を予め除外することで三次元データ数が削減され、前面パラメーター検出処理にかかる時間が短縮される。なお、上述の除去処理は、複数平面検出部34内(RANSAC処理内)で行ってもよい。
【0061】
〈変形例〉
図1で、情報処理装置10とステレオカメラ100(三次元データ生成装置)を別体として説明したが、一体型装置(ステレオカメラ内蔵のタブレット端末)であってもよい。また、検査支援装置30(30b)をソフトウェア処理で実現される説明したが、これに限るものではない。検査支援装置30(30b)は、一部または全部をハードウェア処理(例えば、ゲートアレイ回路)によって実行されるものであってもよい。
【0062】
なお、本発明は上述した実施形態そのままに限定されるものではなく、実施段階でのその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素を適宜組み合わせても良い。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。このような、発明の趣旨を逸脱しない範囲内において種々の変形や応用が可能であることはもちろんである。