(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024167921
(43)【公開日】2024-12-05
(54)【発明の名称】配筋検査装置、配筋検査方法およびプログラム
(51)【国際特許分類】
G01B 11/00 20060101AFI20241128BHJP
G06T 7/70 20170101ALI20241128BHJP
G06T 7/593 20170101ALI20241128BHJP
G06T 7/00 20170101ALI20241128BHJP
【FI】
G01B11/00 H
G06T7/70 Z
G06T7/593
G06T7/00 610
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023084228
(22)【出願日】2023-05-23
(71)【出願人】
【識別番号】591036457
【氏名又は名称】三菱電機エンジニアリング株式会社
(74)【代理人】
【識別番号】110003166
【氏名又は名称】弁理士法人山王内外特許事務所
(72)【発明者】
【氏名】坂井 清士郎
(72)【発明者】
【氏名】平 謙二
【テーマコード(参考)】
2F065
5L096
【Fターム(参考)】
2F065AA04
2F065AA12
2F065AA17
2F065BB28
2F065FF04
2F065QQ16
2F065QQ43
5L096AA06
5L096AA09
5L096BA03
5L096BA18
5L096CA04
5L096DA02
5L096EA13
5L096FA06
5L096FA10
5L096FA12
5L096FA23
5L096FA24
5L096FA32
5L096FA34
5L096FA35
5L096FA54
5L096FA66
5L096FA67
5L096FA69
5L096GA10
5L096GA30
5L096GA51
5L096HA09
5L096JA11
(57)【要約】
【課題】 単眼カメラによって撮影された画像を用いて配筋の各層の鉄筋を検出できる、配筋検査装置を提供する。
【解決手段】 配筋検査装置(1)は、単眼カメラ(2)によって異なる角度からそれぞれ撮影された配筋(3)の複数の撮影画像を取得する画像取得部(11)と、撮影画像間のマーカ(5)の大きさ、位置および撮影角度の変化に基づいて、単眼カメラ(2)の撮影姿勢および移動距離に基づいて、配筋(3)を表す三次元点群データを算出する三次元復元部(12)と、三次元点群データを用いて平面マスク画像を生成する平面検出部(13)と、撮影画像および平面マスク画像を正対画像に変換する画像変換部(14)と、撮影画像の正対画像と平面マスク画像の正対画像とを用いて、平面における鉄筋(4)を検出する鉄筋検出部(15)と、検出された鉄筋(4)の特徴量を用いて、配筋(3)における鉄筋(4)を計測する計測処理部(16)と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
格子状に組まれた鉄筋からなる複数層の平面を有した配筋を、マーカが付された鉄筋を含む平面側から、単眼カメラによって異なる角度からそれぞれ撮影された複数の撮影画像を取得する画像取得部と、
前記撮影画像間の前記マーカの大きさ、位置および撮影角度の変化に基づいて、前記単眼カメラの撮影姿勢および移動距離を算出し、算出した前記単眼カメラの撮影姿勢および移動距離に基づいて、前記配筋を表す三次元点群データを算出する三次元復元部と、
前記三次元点群データを用いて、平面における鉄筋以外の部分をマスクした平面マスク画像を生成する平面検出部と、
前記撮影画像および前記平面マスク画像を、鉄筋が互いに直交する正対画像に変換する画像変換部と、
前記撮影画像の前記正対画像と前記平面マスク画像の前記正対画像とを用いて、平面における鉄筋を検出する鉄筋検出部と、
検出された鉄筋の特徴量を用いて、前記配筋における鉄筋を計測する計測処理部と、を備えた
ことを特徴とする配筋検査装置。
【請求項2】
前記マーカは、前記配筋の平面に複数設けられ、多角形の外形状を有している
ことを特徴とする請求項1に記載の配筋検査装置。
【請求項3】
前記三次元復元部は、複数の前記撮影画像における、複数の前記マーカの大きさ、位置および撮影角度の変化に基づいて、前記単眼カメラの撮影位置および撮影姿勢を算出し、互いに異なる前記撮影画像のペアから算出した前記単眼カメラの撮影位置および移動距離を用いて、前記三次元点群データを算出する
ことを特徴とする請求項2に記載の配筋検査装置。
【請求項4】
前記平面検出部は、前記三次元点群データを用いて、互いに異なる前記撮影画像のペアから前記平面マスク画像を生成する
ことを特徴とする請求項3に記載の配筋検査装置。
【請求項5】
前記平面検出部は、前記三次元点群データを用いて決定した複数の平面候補から、前記単眼カメラから平面までの距離が設定距離内にある三次元点数に応じて選択した前記平面候補を表す平面パラメータを推定し、前記平面パラメータを用いて前記平面マスク画像を生成する
ことを特徴とする請求項4に記載の配筋検査装置。
【請求項6】
前記平面検出部は、前記平面候補の前記平面パラメータの算出と、当該平面候補の法線に基づいた平面の誤差量を示すヒストグラムの更新とを繰り返すことにより、検査対象の平面を表す前記平面パラメータを算出する
ことを特徴とする請求項5に記載の配筋検査装置。
【請求項7】
前記平面検出部は、互いに異なる前記撮影画像のペアからそれぞれ算出された前記三次元点群データを用いて前記平面マスク画像を生成し、これらの前記平面マスク画像を合成したものを、最終的な前記平面マスク画像とする
ことを特徴とする請求項4に記載の配筋検査装置。
【請求項8】
前記鉄筋検出部は、前記撮影画像の前記正対画像における輝度エッジに基づいて、前記平面マスク画像の前記正対画像における鉄筋部分に対応する線分のエッジ位置を補正する
ことを特徴とする請求項1に記載の配筋検査装置。
【請求項9】
前記計測処理部は、前記単眼カメラから鉄筋までの距離が一定になるように、検出された鉄筋の前記撮影画像と、予め登録した鉄筋の前記撮影画像との画像スケールを合わせるスケーリングを行う
ことを特徴とする請求項1に記載の配筋検査装置。
【請求項10】
前記計測処理部は、検査対象の平面における鉄筋の位置パラメータに基づいて鉄筋同士が上下に交差している交点を算出し、前記撮影画像の前記正対画像から、交点間の鉄筋の特徴量を抽出する
ことを特徴とする請求項9に記載の配筋検査装置。
【請求項11】
前記計測処理部は、前記正対画像における鉄筋の長手方向に沿った複数の画素の輝度値からなる走査線を、鉄筋の長手方向に直交する方向の画素ごとに取得し、画素ごとの前記走査線の輝度値を周波数変換した複数の周波数スペクトルを算出して、これらの前記周波数スペクトルから抽出した輝度値の変化量の中央値を、鉄筋の特徴量とする
ことを特徴とする請求項10に記載の配筋検査装置。
【請求項12】
前記計測処理部は、前記周波数スペクトルに一定の周波数範囲ごとのセグメントを設定し、前記セグメントごとに輝度値の変化量の総和と判定基準値とを比較し、前記判定基準値よりも低い前記セグメントの前記総和を、複数の前記周波数スペクトルのうち同一の前記セグメントで前記総和が中央値となるものに置き換える
ことを特徴とする請求項11に記載の配筋検査装置。
【請求項13】
前記計測処理部は、前記撮影画像から求めた前記周波数スペクトルにおけるピークの周波数での輝度値の中央値と、予め登録した鉄筋の画像から求められた前記周波数スペクトルにおけるピークの周波数での輝度値の変化量の中央値との相関係数を算出し、前記相関係数の値に応じて重み付けたピークの周波数での輝度値の変化量の中央値を加算したものを、相関評価値として算出して、前記相関評価値が閾値を超えた鉄筋の前記周波数スペクトルを新たに登録する
ことを特徴とする請求項11に記載の配筋検査装置。
【請求項14】
前記計測処理部は、前記正対画像から抽出した鉄筋の画像を複数の部分画像に分割し、複数の前記部分画像が入力されると鉄筋の径を出力する学習モデルを用いて、鉄筋の径を推論する
ことを特徴とする請求項9に記載の配筋検査装置。
【請求項15】
配筋検査装置の配筋検査方法であって、
画像取得部が、格子状に組まれた鉄筋からなる複数層の平面を有した配筋を、マーカが付された鉄筋を含む平面側から、単眼カメラによって異なる角度からそれぞれ撮影された複数の撮影画像を取得するステップと、
三次元復元部が、前記撮影画像間の前記マーカの大きさ、位置および形状の変化に基づいて、前記単眼カメラの撮影姿勢および移動距離を算出し、算出した前記単眼カメラの撮影姿勢および移動距離に基づいて、前記配筋を表す三次元点群データを算出するステップと、
平面検出部が、前記三次元点群データを用いて、平面における鉄筋以外の部分をマスクした平面マスク画像を生成するステップと、
画像変換部が、前記撮影画像および前記平面マスク画像を、鉄筋が互いに直交する正対画像に変換するステップと、
鉄筋検出部が、前記撮影画像の前記正対画像と前記平面マスク画像の前記正対画像とを用いて、平面における鉄筋を検出するステップと、
計測処理部が、検出された鉄筋の特徴量を用いて、前記配筋における鉄筋を計測するステップと、を備えた
ことを特徴とする配筋検査方法。
【請求項16】
コンピュータを、
格子状に組まれた鉄筋からなる複数層の平面を有した配筋を、マーカが付された鉄筋を含む平面側から、単眼カメラによって異なる角度からそれぞれ撮影された複数の撮影画像を取得する画像取得部、
前記撮影画像間の前記マーカの大きさ、位置および形状の変化に基づいて、前記単眼カメラの撮影姿勢および移動距離を算出し、算出した前記単眼カメラの撮影姿勢および移動距離に基づいて、前記配筋を表す三次元点群データを算出する三次元復元部、
前記三次元点群データを用いて、平面における鉄筋以外の部分をマスクした平面マスク画像を生成する平面検出部、
前記撮影画像および前記平面マスク画像を、鉄筋が互いに直交する正対画像に変換する画像変換部、
前記撮影画像の前記正対画像と前記平面マスク画像の前記正対画像とを用いて、平面における鉄筋を検出する鉄筋検出部、
検出された鉄筋の特徴量を用いて、前記配筋における鉄筋を計測する計測処理部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、配筋検査装置、配筋検査方法およびプログラムに関する。
【背景技術】
【0002】
鉄筋コンクリート構造物の施工においては、複数の鉄筋を組み上げて構成される配筋が設計通りに構成されているかどうかを検査する配筋検査が行われる。例えば、特許文献1に記載される配筋検査システムでは、配筋の所定の層の上に配置したマーカを単眼カメラにより異なる角度から撮影した複数の画像を重ね合わせた重畳画像を生成し、重畳画像において配筋の所定の層の対象層画像を生成する。そして、配筋検査システムは、対象層画像に基づいて配筋の鉄筋領域を抽出し、鉄筋領域の中心線のうち、所定の範囲に含まれる中心線の数を算出し、中心線の数と設計データとの正否を判定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載される配筋検査システムは、単眼カメラによって異なる角度から撮影された複数の画像をそれぞれ半透明の変換画像に変換し、これらの変換画像を重ね合わせた重畳画像を生成し、重畳画像において各変換画像の物体が重なって濃く表示されている部分を残し、物体が重ならなかった部分を消して対象層画像を生成している。このため、上層の鉄筋画像と下層の鉄筋画像がずれて重なる可能性があり、この場合、鉄筋を正確に検出できない、という課題があった。例えば、上層の鉄筋による下層の鉄筋に対するオクルージョンが発生すると、上層の鉄筋によって隠された下層の鉄筋を検出できない。
【0005】
本開示は上記課題を解決するものであり、単眼カメラによって撮影された画像を用いて配筋の各層の鉄筋を検出できる、配筋検査装置を得ることを目的とする。
【課題を解決するための手段】
【0006】
本開示に係る配筋検査装置は、格子状に組まれた鉄筋からなる複数層の平面を有した配筋を、マーカが付された鉄筋を含む平面側から、単眼カメラによって異なる角度からそれぞれ撮影された複数の撮影画像を取得する画像取得部と、撮影画像間のマーカの大きさ、位置および撮影角度の変化に基づいて、単眼カメラの撮影姿勢および移動距離を算出し、算出した単眼カメラの撮影姿勢および移動距離に基づいて、配筋を表す三次元点群データを算出する三次元復元部と、三次元点群データを用いて、平面における鉄筋以外の部分をマスクした平面マスク画像を生成する平面検出部と、撮影画像および平面マスク画像を、鉄筋が互いに直交する正対画像に変換する画像変換部と、撮影画像の正対画像と平面マスク画像の正対画像とを用いて、平面における鉄筋を検出する鉄筋検出部と、検出された鉄筋の特徴量と予め登録した鉄筋の特徴量との相関処理の結果に基づいて、平面における鉄筋を計測する計測処理部と、を備える。
【発明の効果】
【0007】
本開示によれば、配筋を、マーカが付された鉄筋を含む平面側から、単眼カメラにより異なる角度からそれぞれ撮影された複数の撮影画像を取得し、これらの撮影画像間のマーカの変化に基づいて単眼カメラの撮影姿勢および移動距離を算出し、単眼カメラの撮影姿勢および移動距離に基づいて、配筋を表す三次元点群データを算出する。そして、三次元点群データを用いて平面マスク画像を生成し、撮影画像および平面マスク画像を正対画像に変換し、撮影画像の正対画像と平面マスク画像の正対画像とを用いて鉄筋を検出し、検出した鉄筋の特徴量を用いて、鉄筋を計測する。これにより、本開示に係る配筋検査装置は、単眼カメラによって撮影された画像を用いて配筋の各層の鉄筋を検出できる。
【図面の簡単な説明】
【0008】
【
図1】実施の形態1に係る配筋検査装置の構成例を示すブロック図である。
【
図2】配筋の撮影処理および三次元復元処理の概要を示す概要図である。
【
図3】
図3A、
図3B、および
図3Cは、平面候補を示す関数と、アウトライヤおよびインライヤとの関係を示すグラフである。
【
図4】平面の誤選択および平面の選択の修正の概要を示す概要図である。
【
図5】正対画像への変換処理の概要を示す概要図である。
【
図6】正対画像から鉄筋を検出する処理の概要を示す概要図である。
【
図7】
図7A、
図7Bおよび
図7Cは、平面マスク画像における鉄筋部分に対応する線分を特定する処理の概要を示す概要図である。
【
図8】平面マスク画像における鉄筋部分に対応する線分の特性の概要を示す概要図である。
【
図9】
図9A、
図9Bおよび
図9Cは、平面マスク画像における鉄筋部分に対応する線分の補正処理の概要を示す概要図である。
【
図10】撮影画像における鉄筋同士の間隔を計測する処理の概要を示す概要図である。
【
図11】鉄筋部分の画像のスケーリング処理の概要を示す概要図である。
【
図13】撮影画像から鉄筋部分の特徴量を抽出する処理の概要を示す概要図である。
【
図14】鉄筋部分の画像における輝度値の周波数スペクトルの補正処理の概要を示す概要図である。
【
図15】正対画像から求めた周波数スペクトルと予め登録された周波数スペクトルとの相関処理の概要を示す概要図である。
【
図16】実施の形態1に係る配筋検査方法を示すフローチャートである。
【
図17】
図17Aおよび
図17Bは、実施の形態1に係る配筋検査装置の機能を実現するハードウェア構成を示すブロック図である。
【
図18】実施の形態2に係る配筋検査装置の構成例を示すブロック図である。
【
図19】鉄筋の部分画像を抽出する処理の概要を示す概要図である。
【
図20】学習モデルによる鉄筋径の推論処理の概要を示す概要図である。
【発明を実施するための形態】
【0009】
実施の形態1.
図1は、実施の形態1に係る配筋検査装置1の構成例を示すブロック図である。
図1において、配筋検査装置1は、格子状に組まれた鉄筋からなる複数層の平面を有した配筋における、鉄筋の本数、隣り合う鉄筋の間隔、鉄筋の径または鉄筋の節の間隔の少なくとも一つを検査する装置である。また、配筋検査装置1は、タブレット端末、スマートフォンまたはノートタイプのパーソナルコンピュータ(PC)である。
図1に示すように、配筋検査装置1には、有線または無線で単眼カメラ2が接続されている。単眼カメラ2が外付けされた装置に限らず、配筋検査装置1は、単眼カメラ2を内蔵していてもよい。
【0010】
配筋検査において、検査者は、配筋検査装置1を携帯して検査対象の配筋の周辺を移動しながら、配筋検査装置1と接続された単眼カメラ2によって配筋を撮影する。検査者とともに移動する単眼カメラ2は、複数の撮影角度で配筋を撮影することができる。
なお、配筋の周辺を移動する移動体は、検査者に限らず、車両、無人飛行体等であってもよい。
【0011】
配筋検査装置1は、単眼カメラ2を搭載する端末装置と通信可能なサーバが備える構成要素であってもよい。例えば、端末装置は、SaaS(Software as a Service)の形態で提供される配筋検査を行うことができる。SaaSの形態で配筋検査を行う場合、端末装置には、配筋検査用の情報処理アプリケーションがインストールされていなくてよい。配筋検査用の情報処理アプリケーションは上記サーバで実行されており、上記端末装置は、汎用のWebブラウザ上で計測結果情報が提供される。配筋検査用アプリケーションは、サーバが備える記憶部に記憶されている。
また、上記端末装置には、配筋検査用の情報処理アプリケーションがインストールされていてもよい。配筋検査用の情報処理アプリケーションがインストールされた端末装置では、当該アプリケーションが実行されることで、配筋検査が可能となる。
【0012】
単眼カメラ2は、ステレオカメラよりも安価なカメラであり、前述したように、タブレット端末、スマートフォンまたはノートタイプのPCが備えるカメラを想定している。
配筋検査装置1は、単眼カメラ2によって異なる撮影角度で撮影された配筋の撮影画像を入力し、これらの撮影画像を用いて、配筋の各層の平面における鉄筋を判別することができる。
【0013】
配筋検査装置1は、少なくとも、演算部および記憶部を備えた装置である。演算部は、配筋検査装置1の全体動作を制御する。演算部は、画像取得部11、三次元復元部12、平面検出部13、画像変換部14、鉄筋検出部15および計測処理部16を備える。演算部が、配筋検査用の情報処理アプリケーションを実行することにより、画像取得部11、三次元復元部12、平面検出部13、画像変換部14、鉄筋検出部15および計測処理部16の各種の機能が実現される。
【0014】
記憶部は、配筋検査用の情報処理アプリケーションと、演算部の演算処理に用いられる情報を記憶する。記憶部は、配筋検査装置1として機能するコンピュータが備える記憶装置であり、HDD(Hard Disk Drive)もしくはSSD(Solid State Drive)等のストレージ、または、後述する
図17Bのメモリ104を含むものである。なお、記憶部は、配筋検査装置1がアクセス可能なものであればよく、配筋検査装置1の外部に設けられていてもよい。
【0015】
画像取得部11は、格子状に組まれた鉄筋からなる複数層の平面を有した配筋を、マーカが付された鉄筋を含む平面側から、単眼カメラ2によって異なる角度からそれぞれ撮影された複数の撮影画像を取得する。
図2は、配筋3の撮影処理および三次元復元処理の概要を示す概要図であり、複数の鉄筋4が格子状に組まれた平面を有する配筋3が撮影された撮影画像21A、21Bおよび21Cを示している。平面内の位置A、B、CおよびDには、マーカ5がそれぞれ敷設される。マーカ5を敷設する位置は、配筋3における検査対象領域を規定する位置である。
図2において、検査対象領域は、位置A、B、CおよびDにより規定される矩形の領域である。
【0016】
マーカ5は、上述したように、配筋3の平面に複数設けられ、多角形の外形状を有している。多角形の外形状のマーカ5は、異なる撮影角度で撮影されると、撮影角度に応じてその外形状が歪んで写る。この歪みを解析することにより撮影角度を特定でき、撮影角度に応じた単眼カメラ2の撮影姿勢を推定可能である。
【0017】
図2において、マーカ5は、正方形の下地6Aに識別形状6Bが描かれたものであり、例えば、AR(拡張現実)マーカである。撮影画像21A、21Bおよび21Cは、単眼カメラ2によって異なる撮影角度で4つのマーカ5の全てを含むように撮影されたものである。
【0018】
三次元復元部12は、撮影画像間のマーカ5の大きさ、位置、および、撮影角度の変化に基づいて、単眼カメラ2の撮影姿勢および移動距離を算出し、算出した単眼カメラ2の撮影姿勢および移動距離に基づいて、配筋3を表す三次元点群データを算出する。
例えば、三次元復元部12は、撮影画像21A、21Bおよび21Cに対してSfM(Structure from Motion)を実行する。SfMは、撮影画像21A、21Bおよび21Cから三次元空間内のマーカ5の形状および位置を推定する方法である。三次元復元部12は、撮影画像21A、21Bおよび21Cのそれぞれにパターンマッチングといった画像解析を実施することにより撮影画像21A、21Bおよび21Cからマーカ5の位置を特定する。続いて、三次元復元部12は、撮影画像21A、21Bおよび21Cを2値化することによりマーカ5の下地6Aの輪郭線を検出し、この輪郭線に基づいてマーカ5を特徴点として検出する。
【0019】
三次元復元部12は、複数の撮影画像における、複数のマーカ5の大きさ、位置および撮影角度の変化に基づいて、単眼カメラ2の撮影位置および撮影姿勢を算出する。次に、三次元復元部12は、単眼カメラ2の撮影位置および撮影姿勢を用いて、互いに異なる撮影画像のペアから算出した単眼カメラ2の撮影位置および移動距離を用いて、三次元点群データを算出する。
【0020】
例えば、三次元復元部12は、撮影画像21A、21Bおよび21Cから、マーカ5を特徴点として抽出する。特徴点の抽出方法には、例えば、SIFT(Scale Invariant Feature Transform)、または、SURF(Speeded-Up Robust Features)等がある。次に、三次元復元部12は、撮影画像21Aと撮影画像21Bのペアにおける特徴点同士を比較して、特徴が似ているもの同士を対応づける特徴点マッチングを行う。続いて、撮影画像21Aと撮影画像21Cのペアおよび撮影画像21Bと撮影画像21Cのペアについても同様に特徴点マッチングを行う。
【0021】
三次元復元部12は、撮影画像21Bと撮影画像21Cとのペアに特徴点マッチングを行うことにより、撮影画像21Bの位置Aにおけるマーカ5と、撮影画像21Cの位置Aにおけるマーカ5とを対応づける。三次元復元部12は、対応づけたマーカ5の大きさ、位置および撮影角度の変化に基づいて、三次元空間内での単眼カメラ2の撮影位置および撮影姿勢をそれぞれ算出する。
【0022】
例えば、三次元復元部12は、
図2に示すように、頂点P1と頂点P2とを結ぶ線分、頂点P2と頂点P3とを結ぶ線分、頂点P3と頂点P4とを結ぶ線分、および頂点P4と頂点P1とを結ぶ線分によって外形状が構成される、撮影画像におけるマーカ5の大きさに基づいて、単眼カメラ2と配筋3との距離を決定する。さらに、三次元復元部12は、上述した線分によって構成される形状が正方形である撮影画像を、単眼カメラ2によって配筋3の平面の正面が撮影されたものと判断する。三次元復元部12は、4つの頂点P1~P4のいずれかが検出されないか、または下地6Aの形状が歪んで検出された撮影画像を単眼カメラ2が配筋3の平面を斜め方向から撮影したものであると決定する。
【0023】
三次元復元部12は、互いに異なる撮影画像のペアにおいて対応する特徴点同士の位置関係に基づいて、ペアの撮影画像間が相対的にどのような位置関係にあるかを推定する。例えば、二つの撮影画像が単眼カメラ2の平行移動により撮影されたものである場合に、三次元復元部12は、対応する特徴点同士の距離が平行方向の移動量を推定し、回転している場合は、対応する特徴点間の角度差を算出することにより回転量を推定する。三次元復元部12は、算出された単眼カメラ2の移動量または回転量を用いて、単眼カメラ2が撮影画像21A、21Bおよび21Cを撮影した撮影位置および撮影姿勢を算出する。
【0024】
次に、三次元復元部12は、単眼カメラ2の撮影位置および移動距離を用いて、三次元点群データを算出する。例えば、三次元復元部12は、単眼カメラ2の撮影位置および移動距離を用いて、撮影画像21A、21Bおよび21Cの各画素の位置情報を三次元座標系に変換することにより、配筋3を表す三次元点群データを算出する。
【0025】
平面検出部13は、三次元復元部12によって算出された三次元点群データを用いて、平面マスク画像を生成する。平面マスク画像は、配筋3の平面における鉄筋4以外の部分をマスクした画像である。例えば、平面検出部13は、Harris作用素に基づいて、第1のマスク画像を生成する。Harris作用素とは、撮影画像から三層ピラミッド画像を生成し、各層のHarris特徴量を抽出し、特徴量の閾値処理により平面マスク画像を生成する技術である。三層ピラミッド画像は、第1層の画像、第2層の画像および第3層の画像からなる。第1層の画像は、元の撮影画像を等倍した画像である。第2層の画像は、第1層の画像を1/2に縮小した画像(1/2画像)であり、第3層の画像は、第2層の画像をさらに1/2に縮小した画像(1/4画像)である。
【0026】
平面検出部13は、第1層の画像、第2層の画像および第3層の画像のそれぞれから、コーナーらしさを表すHarris特徴量を抽出し、Harris特徴量を所定の閾値と比較することにより画像上の物体のコーナーに対応する部分を特定し、特定した部分以外の部分をマスクしたマスク画像を生成する。続いて、平面検出部13は、第1層の画像、第2層の画像および第3層の画像のそれぞれに基づいて生成した各層のマスク画像を元のサイズにリサイズし、これらの画像を論理和演算することにより一枚の第1のマスク画像を生成する。
【0027】
次に、平面検出部13は、三次元点群データを用いて奥行きに基づく第2のマスク画像を生成する。例えば、平面検出部13は、三次元点群データからなる三次元画像(デプスマップ)を奥行きが浅い領域と深い領域に分離し、前面と背面のマスク画像を生成する。そして、平面検出部13は、例えば前面のマスク画像で所定の明るさ以上の画素を残し、それ以外の画素をマスクすることで、背景に関連する要素を削除するための第2のマスク画像を生成する。
【0028】
平面検出部13は、第1のマスク画像と第2のマスク画像を合成することにより、平面検出処理用のサンプリングマスクを生成する。続いて、平面検出部13は、サンプリングマスクと、デプスマップとを用いて、RANSACにより平面を推定する。RANSACでは、サンプリングマスクを用いてデプスマップからランダムにサンプリングされた点群データを用いて平面候補が繰り返し推定される。平面検出部13は、RANSACで推定した平面候補のうち、当該平面候補からの距離が設定範囲内の三次元点であるインライヤが最も多いものを、配筋3が有する各層の平面として検出する。
【0029】
図3A、
図3B、および
図3Cは、平面候補を示す関数P(1)、P(2)およびP(3)と、アウトライヤ31およびインライヤ32との関係を示すグラフである。各層の平面を示す関数P(1)、P(2)およびP(3)とアウトライヤ31およびインライヤ32との関係を示すグラフであり、XY座標系における三次元点を示している。アウトライヤ31は、許容可能な範囲に含まれない三次元点であり、インライヤ32は、許容可能な範囲に含まれる三次元点である。
【0030】
RANSAC法では、関数P(1)、P(2)およびP(3)を表すパラメータごとにインライヤ32となる三次元点の数がカウントされ、カウント数が最も多いパラメータが最適なパラメータに決定される。すなわち、決定されたパラメータを適用した関数で表される平面候補が平面の推定結果とされる。
図3A、
図3Bおよび
図3Cから明らかなように、関数P(3)を表すパラメータにおいて、インライヤ32となる三次元点の数が最も多いので、平面検出部13は、関数P(3)で表される平面候補を、配筋3の平面として検出する。
【0031】
平面検出部13は、三次元点群データを用いて決定した複数の平面候補から、単眼カメラ2から平面までの距離が設定距離内にある三次元点数に応じて選択した平面候補を表す平面パラメータを推定し、平面パラメータを用いて平面マスク画像を生成する。例えば、平面検出部13は、配筋3の最前面の平面を特定し、特定した平面を示す平面パラメータを推定し、推定した平面パラメータを用いて平面マスク画像を生成する。前面判定の基準は、単眼カメラ2に近い物体であるほど、すなわち前面側にある物体であるほど、画像上で大きく写り、単眼カメラ2との間に遮蔽が少ない、というものである。なお、画像上で大きく写るということは、三次元点の数が多いことを示しており、単眼カメラ2との間に遮蔽が少ないということは、上層の鉄筋による下層の鉄筋のオクルージョンが少ないことを示している。
【0032】
例えば、平面検出部13は、ランダムにN個の三次元点を複数回選んで上記処理を行うことにより、複数の平面候補を推定する。そして、平面検出部13は、複数の平面候補のうち、単眼カメラ2からの距離が閾値以下である三次元点をカウントし、前面判定の基準に従い、含まれる三次元点のカウント数が多いものから順に、前面側の平面であると判定する。すなわち、三次元点のカウント数が最も多い平面候補が最前面の平面とされる。
【0033】
ただし、前面判定の基準の調整が不十分であるか、単眼カメラ2と配筋3との間に障害物が存在するために、最前面(最表層)付近では、2枚以上の平面候補が検出される場合がある。
図4は、平面41の誤選択および平面41の選択の修正の概要を示す概要図であり、単眼カメラ2と配筋3の平面とを上方からみた様子を示している。例えば、前面判定の基準を、単純に単眼カメラ2と三次元点40との近さとした場合、
図4の左側図に示すように、単眼カメラ2側に傾いた平面42が配筋3の最前面の平面とされることがある。そこで、平面検出部13は、
図4の右側図に示すように、配筋3の最前面の平面とされた平面42を、平面41に修正する処理を行う。
【0034】
平面42を平面41に修正するため、平面検出部13は、平面候補の平面パラメータの算出と、平面候補の法線に基づいた平面の誤差量を示すヒストグラムの更新とを繰り返すことにより、検査対象の平面を表す平面パラメータを算出する。
例えば、平面検出部13は、RANSACによる平面の推定を行い、推定した平面候補の法線に基づくヒストグラムを算出する。このヒストグラムは、法線の方向を三次元点の分布として可視化したものである。次に、平面検出部13は、三次元点群データに対する最小二乗法によって平面候補を示す関数の平面パラメータを再度算出する。そして、平面検出部13は、算出した平面パラメータにより規定される平面候補の法線のヒストグラムを再度算出して、ヒストグラムを更新する。
これらの処理を繰り返し行うことにより、配筋3の最前面の平面は、平面42から平面41へ修正される。
【0035】
平面検出部13は、上述のようにして、三次元点群データから推定した平面(最前面)を表す平面パラメータを用いて平面マスク画像を生成する。例えば、平面検出部13は、三次元点群データを用いて、互いに異なる撮影画像のペアから平面マスク画像を生成するものである。以下、三次元復元部12が、
図2に示した撮影画像21Aと撮影画像21Bとのペアを用いて、第1の三次元点群データ(第1のデプスマップ)を算出し、撮影画像21Bと撮影画像21Cとのペアを用いて、第2の三次元点群データ(第2のデプスマップ)を算出したものとする。
【0036】
平面検出部13は、第1の三次元点群データに対して上述した処理を施すことにより、配筋3の最前面の平面を推定し、推定平面から三次元点までの距離を閾値処理することにより、第1の平面マスク画像を生成する。例えば、平面検出部13は、推定した平面パラメータにより表される関数が示す平面について、当該平面から一定の距離(閾値)だけ離れた近接範囲を定義し、この近接範囲から外れた三次元点をマスクすることにより、当該平面における鉄筋4以外がマスクされた第1の平面マスク画像を生成する。平面検出部13は、第2の三次元点群データについても同様の処理を施すことにより第2の平面マスク画像を生成する。
【0037】
平面検出部13は、互いに異なる撮影画像のペアからそれぞれ算出された三次元点群データを用いて平面マスク画像を生成し、これらの平面マスク画像を合成したものを、最終的な平面マスク画像とする。例えば、平面検出部13は、第1の平面マスク画像と第2の平面マスク画像とを和演算することで、一枚の平面マスク画像を算出する。これにより、配筋検査装置1は、平面に含まれる鉄筋を抽出するための平面マスク画像を正確に生成することができる。
【0038】
画像変換部14は、撮影画像および平面マスク画像を正対画像に変換する。正対画像とは、格子状に組まれた鉄筋4が互いに直交している画像である。
図5は、正対画像への変換処理の概要を示す概要図である。撮影画像21Dは、三次元復元部12によって生成された三次元点群データからなる三次元画像である。
図5に示すように、撮影画像21Dにおける鉄筋4は、単眼カメラ2に近いほど大きく写り、単眼カメラ2から遠くなるほど小さく写る。すなわち、撮影画像21Dにおける下側の画像領域には、単眼カメラ2に近い位置にある鉄筋4が写っており、上側の画像領域には、単眼カメラ2から遠い位置にある鉄筋4が写っている。
【0039】
そこで、画像変換部14は、撮影画像21Dに映る複数の鉄筋4のうち、任意の矩形の4隅の点を指定し、4隅の点で規定される矩形が単眼カメラ2の正面から見た形状となる正対変換行列を推定する。続いて、画像変換部14は、正対変換行列を用いて、撮影画像21Dを、正対画像である撮影画像21Eに変換する。画像変換部14は、この正対画像における全ての画素を、単眼カメラ2との距離が一定になるようにスケーリングする。
これにより、撮影画像21Dにおける単眼カメラ2との距離に応じた鉄筋4の大きさの違いが補正される。
なお、画像変換部14は、平面マスク画像についても同様の処理を施すことによって、平面マスク画像を正対画像に変換する。
【0040】
鉄筋検出部15は、撮影画像の正対画像と平面マスク画像の正対画像とを用いて、平面における鉄筋4を検出する。例えば、鉄筋検出部15は、平面マスク画像の正対画像上の配筋3の平面が写っている領域の外形を規定し、この外形で規定される領域に内接する円を設定して、この円で囲まれた部分の領域を円マスク画像とする。次に、鉄筋検出部15は、生成した円マスク画像をハフ変換し、ハフ空間での円マスク画像の角度パラメータθを特定し、円マスク画像の位置パラメータρが示す位置での白画素の数をカウントする。鉄筋検出部15は、角度パラメータθを制御して円マスク画像を回転させることで、位置パラメータρが示す位置におけるカウント数に基づいて、鉄筋4の位置を検出する。
【0041】
図6は、正対画像から鉄筋4を検出する処理の概要を示す概要図である。鉄筋検出部15は、正対画像に変換された平面マスク画像51を用いて鉄筋4の画像部分を特定する。そして、鉄筋検出部15は、特定した画像部分の画素値を「1」とし、それ以外の画像部分を「0」として、平面マスク画像51を生成する。例えば、鉄筋検出部15は、配筋3の前面に対応する平面マスク画像51において白画素のカウント数が閾値以上である位置を、鉄筋4の位置として検出する。鉄筋検出部15は、
図6に示すように、平面マスク画像51を回転させて白画素の数をカウントすることにより、鉄筋4のX方向の位置およびY方向の位置を検出できる。これにより、鉄筋検出部15は、配筋3の各層の平面において、縦方向に並ぶ鉄筋の位置情報と、横方向に並ぶ鉄筋の位置情報とを検出可能である。
【0042】
鉄筋検出部15は、平面マスク画像51において鉄筋に対応する線分を特定する処理を行う。
図7A、
図7Bおよび
図7Cは、平面マスク画像51における鉄筋部分に対応する線分を特定する処理を示す説明図である。
図7Aに示すように、平面マスク画像51において、白画素の領域A、領域Bおよび領域Cがある場合、どの領域が鉄筋4の画像に対応するのか不明である。鉄筋検出部15は、平面マスク画像51から、白画素の領域A、領域Bおよび領域Cを通る座標軸における領域Aの長さD(1)、領域Bの長さD(2)および領域Cの長さD(3)と、領域Aと領域Bとの間隔D(4)と、領域Bと領域Cとの間隔D(5)とを算出する。
【0043】
鉄筋検出部15は、
図7Bに示すように、間隔D(4)および間隔D(5)のうち、閾値以上の間隔が空いた領域間は鉄筋4の画像領域に対応するものではないと判定し、閾値未満の間隔が空いた領域同士は同じ鉄筋4に対応する画像領域であると判定する。
例えば、鉄筋検出部15は、
図7Cに示すように、閾値未満の間隔D(4)が空いた領域Aと領域Bとを通り長さがD(6)である線分52で示す画像領域を、同じ鉄筋4に対応する画像領域であると判定する。また、D(5)は閾値以上であるので、鉄筋検出部15は、平面マスク画像51において、領域Bと領域Cとの間に鉄筋4に対応する画像領域がないと判定する。
鉄筋検出部15は、平面マスク画像51において、鉄筋4の画像領域であると判定した部分の位置情報を撮影画像の正対画像に付与し、この正対画像を、計測処理部16に出力する。
【0044】
また、鉄筋検出部15は、撮影画像の正対画像における輝度エッジに基づいて、平面マスク画像の正対画像における鉄筋部分に対応する線分のエッジ位置を補正してもよい。
この場合、鉄筋検出部15は、正対画像に変換された平面マスク画像と、正対画像に変換された撮影画像とを入力することで、鉄筋部分に対応する線分の輪郭領域が補正された平面マスク画像を生成する。
【0045】
図8は、平面マスク画像51における鉄筋部分に対応する線分の特性の概要を示す概要図である。鉄筋検出部15は、正対画像に変換された撮影画像を、鉄筋部分に対応する線分の中央点を中心に回転可能な画像60に変換する。
図8の左側の図は、この画像60を示している。例えば、
図8の左側の図に示す画像60は、鉄筋部分に対応する線分の中央点がx座標=Cx’’の点であり、この点を中心に回転可能である。破線で囲った矩形領域には、この鉄筋部分に対応する線分が含まれる。
【0046】
鉄筋検出部15は、画像60における鉄筋部分に対応する線分の画像上での角度および位置を、この画像60の輝度勾配に基づいて補正する。この補正は、画像60における鉄筋ごとに行われる。
図8の中央の図は、
図8の左側の図に示した矩形領域のY方向に並ぶ画素列の各画素の輝度値を積算したヒストグラム61をX座標ごとに求めたものである。上記矩形領域において、鉄筋部分から外れた箇所は、背景に相当する輝度値が低い部分であり、鉄筋部分に対応する線分において高い輝度値となっている。
図8の右側の図は、
図8の中央の図に示すヒストグラム61を二次微分した結果であり、鉄筋部分に対応する線分と背景部分との境界部分で強いピーク62と63が現れる。
【0047】
図9A、
図9Bおよび
図9Cは、画像60における鉄筋部分に対応する線分の補正処理の概要を示す概要図である。
図9Aは、画像60を徐々に回転させた様子を示している。鉄筋検出部15は、画像60を、鉄筋部分に対応する線分の中央点を中心に回転させながら、この線分に直交した方向の輝度勾配を算出し、輝度勾配が最大値となる回転角度を、正対画像に変換した平面マスク画像51に反映させる最終的な角度とする。
図9Bおよび
図9Cは、互いに異なる回転角度での矩形領域60Aおよび60Bと、その輝度勾配を示す波形(
図8に示したヒストグラム61を二次微分した波形)とを示している。
【0048】
矩形領域60Aの回転角度では、鉄筋部分を含む矩形領域60AがY軸に対して傾きを有するため、X方向の輝度勾配にはピークがなく、鉄筋部分に対応する線分とその背景のマスク部分との境界部分がぼやけることがある。一方、矩形領域60Bの回転角度では、鉄筋部分を含む矩形領域60BがY軸に沿っているため、X方向の輝度勾配にエッジ部分に対応するピークが現れており、鉄筋部分に対応する線分とその背景との境界部分が明確になっている。鉄筋検出部15は、平面マスク画像51を矩形領域60Bとなる回転角度で回転させることで、鉄筋部分に対応する線分のエッジ位置の補正を平面マスク画像51に反映させる。
【0049】
なお、Y方向に沿った鉄筋部分についての補正を説明したが、X方向に沿った鉄筋部分についても同様な処理により、鉄筋部分に対応する線分のエッジ位置を補正できる。これにより、配筋検査装置1は、平面に含まれる鉄筋4を精度よく抽出できる平面マスク画像51を生成することができる。
【0050】
計測処理部16は、鉄筋検出部15により検出された鉄筋4の特徴量を用いて、配筋3における鉄筋4を計測する。例えば、計測処理部16は、検査対象の平面において隣り合った鉄筋同士の間隔を計測する。
図10は、正対画像に変換された撮影画像21Eにおける、鉄筋同士の間隔を計測する処理の概要を示す概要図である。計測処理部16は、
図10の左側の図に示すように、撮影画像21Eにおける、配筋3の前面の平面に対応する画像領域111に外接する矩形112を設定する。そして、計測処理部16は、矩形112の中心113を通り、鉄筋検出部15により画像領域111から検出された各鉄筋4の平均の傾きを有する線分L1と直交する線分L2と、エッジ位置を補正した鉄筋部分に対応する線分4Aとの交点Pを算出する。
【0051】
続いて、計測処理部16は、撮影画像21Eに回転逆行列を乗ずることにより、
図10の左側に示す2次元画像(撮影画像21E)における代表点p1および代表点p2を算出する。代表点p1は、2次元画像における鉄筋に含まれる点であり、代表点p2は、2次元画像において代表点p1を含む鉄筋と隣り合った鉄筋に含まれる点である。計測処理部16は、
図10の右側の図に示すように、二次元画像の代表点p1および代表点p2を、画像領域111に対応する三次元座標空間の領域111Aにおける点P1および点P2に変換する。領域111Aは、配筋3の前面の平面に対応する領域である。計測処理部16は、点P1と点P2との間隔を計測することにより鉄筋4の間隔を求めることができる。
【0052】
計測処理部16は、単眼カメラ2から鉄筋4までの距離が一定になるように、鉄筋検出部15により検出された鉄筋4の撮影画像と予め登録した鉄筋4の撮影画像との間の画像スケールを合わせるスケーリングを行ってもよい。これにより、配筋検査装置1は、撮影位置および撮影姿勢が互いに異なる撮像画像から検出された鉄筋4の特徴量を正確に比較することができる。
【0053】
図11は、鉄筋部分の撮影画像21Eのスケーリング処理の概要を示す概要図である。配筋検査装置1は、配筋3の鉄筋4を検査した検査結果情報を、
図17Bに示すメモリ104に記憶された検査結果データベースに逐次登録する。検査結果情報には、鉄筋径、鉄筋間隔および鉄筋本数等の検査結果に加え、これらの計測に利用された画像も含まれる。
計測処理部16は、配筋3が新たに撮影された場合、既に登録された検査結果情報との相関演算を行い、既に登録された検査結果情報との相関が高いと評価された撮影画像から得られた検査結果情報を新たに検査結果データベースに登録する。
【0054】
例えば、
図11に示すように、評価位置は1.5mであるものとする。評価位置とは、既に登録した結果と新たに検査した結果との相関を評価する位置であり、検査対象の鉄筋までの距離が所定値(例えば1.5m)である。撮影画像21Eは、撮影距離fの位置で撮影された検査対象の鉄筋の画像を正対画像に変換したものである。撮影距離fは、評価位置における上記距離よりも短いものとする。計測処理部16は、撮影画像21Eに写る鉄筋を検査すると、撮影画像21Eを評価位置で撮影したときの画像サイズに縮小した撮影画像21Fを生成し、撮影画像21Fを検査結果情報に含めて検査結果データベースに登録する。
【0055】
撮影画像21Gは、撮影距離Fの位置で撮影された検査対象の鉄筋の画像を正対画像に変換したものである。撮影距離Fは、評価位置における上記距離よりも長いものとする。計測処理部16は、撮影画像21Gに写る鉄筋を検査すると、撮影画像21Gを評価位置で撮影したときの画像サイズに拡大した撮影画像21Hを生成する。そして、計測処理部16は、登録されている撮影画像21Fとの相関演算を行い、相関が高いと評価された撮影画像21Hから得られた検査結果情報を、新たに検査結果データベースに登録する。
【0056】
また、計測処理部16は、検査対象の平面における鉄筋4の位置パラメータに基づいて鉄筋4同士が上下に交差している交点を算出し、撮影画像の正対画像から、交点間の鉄筋4の特徴量を抽出してもよい。これにより、交点間の鉄筋4のみが検査対象となるので、配筋検査装置1は、検査対象の鉄筋4とともに組まれた他の鉄筋4の影響を除外し、当該検査対象の鉄筋4を正確に検査することができる。
【0057】
図12Aおよび
図12Bは鉄筋部分の画像を検出する処理の概要を示す概要図である。
図12Aは、縦方向の検査対象の鉄筋4と、これと交差するように組まれた横方向の鉄筋4(0)、4(1)および4(2)とを示している。また、
図12Bは、正対画像に変換された鉄筋の撮影画像21Hを示している。計測処理部16は、鉄筋検出部15によって検出された鉄筋の位置情報に基づいて、鉄筋ごとの検出線を設定する。例えば、計測処理部16は、
図12Bに示すように、鉄筋の位置情報に基づいて当該鉄筋の長手方向に検出線LBを設定し、さらに検出線LBを基準に±1画素および±2画素分の範囲にある検出線LC1およびLC2を設定する。
【0058】
計測処理部16は、検出線LBと検出線LC1およびLC2を含む範囲で鉄筋4および鉄筋4(0)、4(1)および4(2)の位置を特定し、鉄筋4と鉄筋4(0)、4(1)および4(2)のそれぞれとの交点を算出する。そして、計測処理部16は、交点を含む鉄筋4の長さのうち、交点から10%の長さ範囲にある部分の画素に0値を設定して検査対象から除き、残りの80%の長さ範囲にある部分を、検査対象の鉄筋4のセグメントとする。なお、検査対象の鉄筋4のセグメントにおける画素数が、規定の画素数(例えば、512画素)に満たない場合、計測処理部16は、鉄筋4が明確に撮影されていないものとして、当該セグメント部分の画素に0値を設定して検査対象から除く。
【0059】
また、計測処理部16は、正対画像における鉄筋4の長手方向に沿った複数の画素の輝度値からなる走査線を、鉄筋4の長手方向に直交する方向の画素ごとに取得する。
そして、計測処理部16は、画素ごとの走査線の輝度値を周波数変換した複数の周波数スペクトルを算出し、これらの周波数スペクトルから抽出した周波数ごとの輝度値の変化量の中央値を、鉄筋4の特徴量とする。これにより、配筋検査装置1は、撮影画像から鉄筋4の特徴を正確に抽出することが可能である。
【0060】
図13は、撮影画像から鉄筋部分の特徴量を抽出する処理の概要を示す概要図である。
図13の左側の図は、正対画像に変換された鉄筋の撮影画像21Hを示しており、鉄筋4の画像領域が破線で囲んだ領域141である。計測処理部16は、鉄筋検出部15により検出された鉄筋の位置情報に基づいて、鉄筋4の長手方向に沿った走査線i=0、1、2および3を、領域141内に設定する。走査線i=0、1、2および3は、鉄筋4の長手方向に直交する方向(鉄筋の幅方向)に設定される。
【0061】
配筋3の周辺の実環境では、日差しの向き等により、配筋3における鉄筋4は、一様な明るさでない場合がある。この場合、鉄筋部分の画像領域における輝度値変化量も一様でない。例えば、走査線i=3側から日差しが当たっている場合、
図13の中央の図に示すように、走査線i=0、1、2および3は、走査線i=3に沿った画素列の全体的な輝度値は高いが、走査線に沿った輝度値の変化量は小さい。一方、走査線i=0に沿った画素列は、日差しの陰側にあるため、全体的な輝度値は低いが、走査線に沿った輝度値の変化量は大きい。
【0062】
そこで、計測処理部16は、走査線i=0、1、2および3のそれぞれに沿った画素列の輝度値に周波数変換(例えば、FFT;Fast Fourier Transform)を行い、各走査線の周波数スペクトルを算出する。
図13の右側の図は、走査線i=0、1、2および3の周波数スペクトルSP0、SP1、SP2およびSP3である。走査線i=0に沿った輝度値の変化量は大きいので、周波数スペクトルSP0は、振幅の大きなスペクトルとなっている。これに対し、走査線i=3に沿った輝度値の変化量は小さいので、周波数スペクトルSP3は、振幅の小さなスペクトルとなる。
【0063】
計測処理部16は、走査線i=0、1、2および3の周波数スペクトルに対して、一定の周波数範囲ごとのセグメントseg0、seg1、seg2、seg3およびseg4を設定する。そして、計測処理部16は、鉄筋の長手方向に沿った輝度値の変化量の中央値を、走査線ごとおよび周波数帯ごと(セグメントごと)に算出する。
【0064】
計測処理部16は、周波数スペクトルに一定の周波数範囲ごとのセグメントを設定し、セグメントごとに輝度値の変化量の総和と判定基準値とを比較し、判定基準値よりも低いセグメントの総和を、複数の周波数スペクトルのうち同一のセグメントで総和が中央値となるものに置き換える。
図14は、鉄筋部分の画像における輝度値の周波数スペクトルの補正処理の概要を示す概要図である。
図14の左側の図には、走査線i=1に対応する周波数スペクトルSP1と、走査線i=3に対応する周波数スペクトルSP3とが例示されている。周波数スペクトルSP1と周波数スペクトルSP3とは、同じ周波数帯がそれぞれセグメントseg0、seg1、seg2、seg3およびseg4に区分けされている。周波数スペクトルSP3における領域A1の部分波形は、セグメントseg2の周波数帯における輝度値の変化量を示すスペクトルである。また、周波数スペクトルSP1における領域A2の部分波形は、セグメントseg2の周波数帯における輝度値の変化量を示すスペクトルである。
【0065】
次に、計測処理部16は、周波数スペクトルSP0、SP1、SP2およびSP3においてセグメントseg0、seg1、seg2、seg3およびseg4のそれぞれで輝度値の変化量の総和を算出する。そして、計測処理部16は、セグメントごとの総和のうち、周波数スペクトルSP0、SP1、SP2およびSP3での総和の中央値を算出する。
図14の中央の図は、領域A1と領域A2における部分的なスペクトルを拡大表示したものである。
図14の中央の図に示すように、周波数スペクトルSP3は、セグメントseg2の周波数帯における輝度値の変化量が小さく、スペクトルSP3Aの起伏が少ない。一方、周波数スペクトルSP1は、セグメントseg2の周波数帯における輝度値の変化量が大きく、スペクトルSP1Aの起伏は激しくなっている。
【0066】
また、計測処理部16は、セグメントseg2の輝度値の変化量の総和のうち、周波数スペクトルSP0、SP1、SP2およびSP3での総和の中央値を算出している。
周波数スペクトルSP0、SP1、SP2およびSP3のセグメントseg2の輝度値の変化量の総和の中央値は、周波数スペクトルSP1のセグメントseg2における輝度値の変化量であるものとする。
【0067】
このような輝度値の変化量は、日差しの向き等の配筋3が置かれた実環境による影響が強く、本来ならば、同じ鉄筋4であれば、走査線i=0、1、2および3において同様の輝度値の変化量であることが望ましい。すなわち、周波数スペクトルのセグメントにおける輝度値の変化量が閾値未満である場合、配筋撮影時の実環境の影響を受けて輝度値の変化量が小さくなっていると考えられる。このため、鉄筋の特徴を正確に表す輝度値の変化量を算出するためには、輝度値の変化量の低下分を補う必要がある。
【0068】
例えば、計測処理部16は、周波数スペクトルSP3のセグメントseg2におけるスペクトルSP3Aでの輝度値の変化量が閾値未満である場合、周波数スペクトルSP0、SP1、SP2およびSP3のセグメントseg2における輝度値の変化量のうちから、これらの総和の中央値を探索する。ここでは、周波数スペクトルSP1のセグメントseg2におけるスペクトルSP1Aでの輝度値の変化量が中央値である。
そこで、計測処理部16は、
図14の右側の図に示すように、周波数スペクトルSP3のセグメントseg2におけるスペクトルSP3AをスペクトルSP1Aに置き換える処理を行う。これにより、実環境の影響が低減されるので、配筋検査装置1は、鉄筋4の特徴を正確に抽出することが可能である。
【0069】
さらに、計測処理部16は、
図12Aに示した鉄筋4の交点間のセグメントごとに、走査線i=0、1、2および3の輝度値を周波数変換して周波数スペクトルSP0、SP1、SP2およびSP3を算出する。
そして、計測処理部16は、これらの周波数スペクトルの周波数ごとの輝度値の変化量の中央値を、鉄筋4の特徴量として算出する。すなわち、周波数スペクトルSP0、SP1、SP2およびSP3を、周波数ごとの輝度値の変化量の中央値からなる周波数スペクトルに合成する。
さらに、計測処理部16は、各セグメントにおける上記合成後の周波数スペクトルを、周波数ごとの輝度値の変化量の中央値からなる周波数スペクトルに合成してもよい。
【0070】
計測処理部16は、正対画像に変換された撮影画像21Hから求めた周波数スペクトル(上記合成後の周波数スペクトル)におけるピークの周波数での輝度値の変化量の中央値と、予め登録した鉄筋4の画像から求めた周波数スペクトルにおけるピークの周波数での輝度値の変化量の中央値との相関係数を算出する。そして、計測処理部16は、相関係数の値に応じて重み付けたピークの周波数での輝度値の変化量の中央値を加算したものを、相関評価値として算出して、相関評価値が閾値を超えた鉄筋4の周波数スペクトルを新たに登録する。
【0071】
図15は、撮影画像21Hから求めた周波数スペクトルと、予め登録された周波数スペクトルとの相関処理の概要を示す概要図である。
図15において、今回の検査で得られた撮影画像21Hから求めた周波数スペクトルは、破線で示すスペクトルである。予め登録された周波数スペクトルは、実線で示すスペクトルである。
計測処理部16は、周波数スペクトル同士の相関を全周波数域で評価する相関演算(1)と、周波数スペクトルに最初に現れる第1のピーク同士(PeakAとPeakB)の相関を評価する相関演算(2)と、周波数スペクトルに次に現れる第2のピーク同士の相関を評価する相関演算(3)を行う。
【0072】
相関演算(1)において、計測処理部16は、(min(PeakA,PeakB)-4)~256で表される相関評価範囲で、両スペクトルの相関を示す相関スコア(1)を算出する。ここで、PeakAは、予め登録された周波数スペクトルに最初に現れた第1のピークの強度であり、PeakBは、今回の検査で得られた周波数スペクトルに最初に現れた第1のピークの強度である。
相関演算(2)において、計測処理部16は、(PeakA)±10で表される相関評価範囲で、両スペクトルの相関を示す相関スコア(2)を算出する。
相関演算(3)において、計測処理部16は、(PeakA×2)±10で表す相関評価範囲で、両スペクトルの相関を示す相関スコア(3)を算出する。
【0073】
計測処理部16は、相関スコア(1)、相関スコア(2)および相関スコア(3)のそれぞれの値に応じた重み係数を決定する。そして、計測処理部16は、例えば、下記式に従って総合相関スコアを算出する。計測処理部16は、総合相関スコアが閾値以上である場合に、今回の検査で得られた周波数スペクトルを用いた検査結果情報が、予め登録された検査結果情報に類似すると判定して、当該検査結果情報を検査結果データベースに登録する。これにより、配筋検査装置1は、既に登録済みの検査結果との相関が高く、信頼性の高い検査結果を新たに登録することができる。
総合相関スコア=(相関スコア(1)×0.5)+(相関スコア(2)×0.2)+(相関スコア(3)×0.3)
【0074】
図16は、実施の形態1に係る配筋検査方法を示すフローチャートである。
画像取得部11は、配筋3を、マーカ5が付された鉄筋4を含む平面側から、単眼カメラ2が異なる角度からそれぞれ撮影した複数の撮影画像を取得する(ステップST1)。
三次元復元部12は、撮影画像間のマーカ5の大きさ、位置および形状の変化に基づいて単眼カメラ2の撮影姿勢および移動距離を算出し、単眼カメラ2の撮影姿勢および移動距離に基づいて、配筋3を表す三次元点群データを算出する(ステップST2)。
平面検出部13は、三次元点群データを用いて、平面における鉄筋4以外の部分をマスクした平面マスク画像を生成する(ステップST3)。
画像変換部14は、撮影画像および平面マスク画像を、複数の鉄筋4が直交している正対画像に変換する(ステップST4)。
鉄筋検出部15は、撮影画像の正対画像と平面マスク画像の正対画像とを用いて、平面における鉄筋4を検出するステップST5と、計測処理部16が、検出された鉄筋4の特徴量を用いて、配筋3における鉄筋4を計測する(ステップST6)。
配筋検査装置1が、この配筋検査方法を実行することにより、単眼カメラ2によって撮影された画像を用いて配筋3の各層の鉄筋4を検出できる。
【0075】
次に、配筋検査装置1の機能を実現するハードウェア構成について説明する。
配筋検査装置1が備える、画像取得部11、三次元復元部12、平面検出部13、画像変換部14、鉄筋検出部15および計測処理部16の機能は、処理回路によって実現される。すなわち、配筋検査装置1は、
図16に示したステップST1からステップST6までの各処理を実行するための処理回路を備える。処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するCPU(Central Processing Unit)であってもよい。
【0076】
図17Aは、配筋検査装置1の機能を実現するハードウェア構成を示すブロック図である。また、
図17Bは、配筋検査装置1の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。
図17Aおよび
図17Bにおいて、入力インタフェース100は、単眼カメラ2から配筋検査装置1へ出力される画像情報を中継するインタフェースである。出力インタフェース101は、配筋検査装置1から後段の装置へ出力される配筋検査結果を中継するインタフェースである。
【0077】
処理回路が、
図17Aに示す専用のハードウェアの処理回路102である場合、処理回路102は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)または、これらを組み合わせたものが該当する。
配筋検査装置1が備える、画像取得部11、三次元復元部12、平面検出部13、画像変換部14、鉄筋検出部15および計測処理部16の機能を、別々の処理回路が実現してもよく、これらの機能をまとめて一つの処理回路が実現してもよい。
【0078】
処理回路が、
図17Bに示すプロセッサ103である場合、配筋検査装置1が備える、画像取得部11、三次元復元部12、平面検出部13、画像変換部14、鉄筋検出部15および計測処理部16の機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせにより実現される。なお、ソフトウェアまたはファームウェアは、プログラムとして記述されてメモリ104に記憶される。
【0079】
プロセッサ103は、メモリ104に記憶されたプログラムを読み出して実行することにより、配筋検査装置1が備える、画像取得部11、三次元復元部12、平面検出部13、画像変換部14、鉄筋検出部15および計測処理部16の機能を実現する。例えば、配筋検査装置1は、プロセッサ103により実行されるときに、
図16に示したステップST1からステップST6の処理が結果的に実行されるプログラムを記憶するためのメモリ104を備える。これらのプログラムは、画像取得部11、三次元復元部12、平面検出部13、画像変換部14、鉄筋検出部15および計測処理部16が行う処理の手順または方法を、コンピュータに実行させる。メモリ104は、コンピュータを、画像取得部11、三次元復元部12、平面検出部13、画像変換部14、鉄筋検出部15および計測処理部16として機能させるためのプログラムが記憶されたコンピュータ可読記憶媒体であってもよい。
【0080】
メモリ104は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically-EPROM)などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどが該当する。
【0081】
配筋検査装置1が備える、画像取得部11、三次元復元部12、平面検出部13、画像変換部14、鉄筋検出部15および計測処理部16の機能の一部が専用のハードウェアで実現され、残りの一部がソフトウェアまたはファームウェアで実現されてもよい。
例えば、画像取得部11は、専用のハードウェアである処理回路102によってその機能が実現され、三次元復元部12、平面検出部13、画像変換部14、鉄筋検出部15および計測処理部16は、プロセッサ103がメモリ104に記憶されたプログラムを読み出して実行することによりその機能が実現される。
このように、処理回路はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせによって上記機能を実現することができる。
【0082】
以上のように、実施の形態1に係る配筋検査装置1は、配筋3を、マーカ5が付された鉄筋4を含む平面側から、単眼カメラ2によって異なる角度からそれぞれ撮影した複数の撮影画像を取得する画像取得部11と、撮影画像間のマーカ5の大きさ、位置および撮影角度の変化に基づいて、単眼カメラ2の撮影姿勢および移動距離を算出し、算出した単眼カメラ2の撮影姿勢および移動距離に基づいて、配筋3を表す三次元点群データを算出する三次元復元部12と、三次元点群データを用いて、平面における鉄筋4以外の部分をマスクした平面マスク画像を生成する平面検出部13と、撮影画像および平面マスク画像を正対画像に変換する画像変換部14と、撮影画像の正対画像と平面マスク画像の正対画像とを用いて、平面における鉄筋4を検出する鉄筋検出部15と、検出された鉄筋4の特徴量を用いて、配筋3における鉄筋4を計測する計測処理部16とを備える。これにより、配筋検査装置1は、単眼カメラ2によって撮影された画像を用いて配筋3の各層の鉄筋4を検出できる。
【0083】
実施の形態1に係る配筋検査装置1において、マーカ5は、配筋3の平面に複数設けられ、多角形の外形状を有している。多角形の外形状のマーカ5は、異なる撮影角度で撮影されると、撮影角度に応じてその外形状が歪んで写るので、この歪みを解析することで、撮影角度に応じた単眼カメラ2の撮影姿勢を推定可能である。
【0084】
実施の形態1に係る配筋検査装置1において、三次元復元部12は、複数の撮影画像における、複数のマーカ5の大きさ、位置および撮影角度の変化に基づいて、マーカ5の位置および撮影姿勢をそれぞれ算出し、マーカ5の位置および撮影姿勢を用いて、撮影画像間の単眼カメラ2の撮影位置および移動距離を算出し、互いに異なる撮影画像のペアから算出した単眼カメラ2の撮影位置および移動距離を用いて三次元点群データを算出する。これにより、配筋検査装置1は、精度よく配筋3を表す三次元点群データを算出することができる。
【0085】
実施の形態1に係る配筋検査装置1において、平面検出部13は、三次元点群データを用いて、互いに異なる撮影画像のペアから平面マスク画像を生成する。これにより、配筋検査装置1は、平面に含まれる鉄筋を精度よく抽出できる平面マスク画像を生成することができる。
【0086】
実施の形態1に係る配筋検査装置1において、平面検出部13は、三次元点群データを用いて決定した複数の平面候補から、単眼カメラ2から平面までの距離が設定距離内にある三次元点数に応じて選択した平面候補を表す平面パラメータを推定し、平面パラメータを用いて平面マスク画像を生成する。これにより、配筋検査装置1は、平面に含まれる鉄筋を精度よく抽出できる平面マスク画像を生成することができる。
【0087】
実施の形態1に係る配筋検査装置1において、平面検出部13は、平面候補の平面パラメータの算出と、平面候補の法線に基づいた平面の誤差量を示すヒストグラムの更新とを繰り返すことにより、検査対象の平面を示す平面パラメータを算出する。これにより、配筋検査装置1は、平面に含まれる鉄筋を精度よく抽出できる平面マスク画像を生成することができる。
【0088】
実施の形態1に係る配筋検査装置1において、平面検出部13は、互いに異なる撮影画像のペアからそれぞれ算出された三次元点群データを用いて平面マスク画像を生成し、これらの平面マスク画像を合成したものを、最終的な平面マスク画像とする。これにより、配筋検査装置1は、平面に含まれる鉄筋を精度よく抽出できる平面マスク画像を生成することができる。
【0089】
実施の形態1に係る配筋検査装置1において、鉄筋検出部15は、撮影画像の正対画像における輝度エッジに基づいて、平面マスク画像の正対画像における鉄筋部分に対応する線分のエッジ位置を補正する。これにより、配筋検査装置1は、平面に含まれる鉄筋を精度よく抽出できる平面マスク画像を生成することができる。
【0090】
実施の形態1に係る配筋検査装置1において、計測処理部16は、単眼カメラ2から鉄筋4までの距離が一定になるように、検出された鉄筋4の撮影画像と、予め登録した鉄筋4の撮影画像との画像スケールを合わせるスケーリングを行う。これにより、配筋検査装置1は、撮影位置および撮影姿勢が互いに異なる撮像画像から検出された鉄筋4の特徴量を正確に比較することができる。
【0091】
実施の形態1に係る配筋検査装置1において、計測処理部16は、検査対象の平面における鉄筋4の位置パラメータに基づいて鉄筋4同士が上下に交差している交点を算出し、撮影画像の正対画像から、交点間の鉄筋4の特徴量を抽出する。これにより、配筋検査装置1は、検査対象の鉄筋4とともに組まれた他の鉄筋4の影響を除外し、当該検査対象の鉄筋4を正確に検査することができる。
【0092】
実施の形態1に係る配筋検査装置1において、計測処理部16は、正対画像における鉄筋4の長手方向に沿った複数の画素の輝度値からなる走査線を、鉄筋4の長手方向に直交する方向の画素ごとに取得し、画素ごとの走査線の輝度値を周波数変換した複数の周波数スペクトルを算出して、これらの周波数スペクトルから算出した輝度値の変化量の中央値を、鉄筋4の特徴量とする。これにより、配筋検査装置1は、撮影画像から鉄筋4の特徴を正確に抽出することが可能である。
【0093】
実施の形態1に係る配筋検査装置1において、計測処理部16は、周波数スペクトルに一定の周波数範囲ごとのセグメントを設定し、セグメントごとに輝度値の変化量の総和と判定基準値とを比較し、判定基準値よりも低いセグメントの総和を、複数の周波数スペクトルのうち同一のセグメントで総和が中央値となるものに置き換える。これにより、配筋検査装置1は、撮影画像から鉄筋4の特徴を正確に抽出することが可能である。
【0094】
実施の形態1に係る配筋検査装置1において、計測処理部16は、撮影画像から求めた周波数スペクトルにおけるピークの周波数での輝度値の変化量の中央値と、予め登録した鉄筋4の画像から求められた周波数スペクトルにおけるピークの周波数での輝度値の変化量の中央値との相関係数を算出し、相関係数の値に応じて重み付けたピークの周波数での輝度値の変化量の中央値を加算したものを、相関評価値として算出して、相関評価値が閾値を超えた鉄筋4の周波数スペクトルを新たに登録する。これにより、配筋検査装置1は、既に登録済みの検査結果との相関が高く、信頼性の高い検査結果を新たに登録することができる。
【0095】
実施の形態1に係る配筋検査方法は、画像取得部11が、配筋3を、マーカ5が付された鉄筋4を含む平面側から、単眼カメラ2によって異なる角度からそれぞれ撮影した複数の撮影画像を取得するステップST1と、三次元復元部12が、撮影画像間のマーカ5の大きさ、位置および形状の変化に基づいて、単眼カメラ2の撮影姿勢および移動距離を算出し、算出した単眼カメラ2の撮影姿勢および移動距離に基づいて、配筋3を表す三次元点群データを算出するステップST2と、平面検出部13が、三次元点群データを用いて、平面における鉄筋4以外の部分をマスクした平面マスク画像を生成するステップST3と、画像変換部14が、撮影画像および平面マスク画像を、複数の鉄筋4が直交している正対画像に変換するステップST4と、鉄筋検出部15が、撮影画像の正対画像と平面マスク画像の正対画像とを用いて、平面における鉄筋4を検出するステップST5と、計測処理部16が、検出された鉄筋4の特徴量を用いて、配筋3における鉄筋4を計測するステップST6と、を備える。当該配筋検査方法を配筋検査装置1が実行することで、単眼カメラ2によって撮影された画像を用いて配筋3の各層の鉄筋4を検出できる。
【0096】
実施の形態1に係るプログラムをコンピュータが実行することにより、単眼カメラ2によって撮影された画像を用いて配筋3の各層の鉄筋4を検出できる配筋検査装置1を提供することができる。
【0097】
実施の形態2.
図18は、実施の形態2に係る配筋検査装置1Aの構成例を示すブロック図である。
図18において、配筋検査装置1Aは、格子状に組まれた鉄筋からなる複数層の平面を有した配筋における、鉄筋の本数、隣り合う鉄筋の間隔、鉄筋の径または鉄筋の節の間隔の少なくとも一つを検査する装置である。また、配筋検査装置1Aは、タブレット端末、スマートフォンまたはノートタイプPCである。
図18に示すように、配筋検査装置1Aには、有線または無線で単眼カメラ2が接続されている。単眼カメラ2が外付けされた装置に限らず、配筋検査装置1Aは、単眼カメラ2を内蔵していてもよい。
【0098】
配筋検査において、検査者は、配筋検査装置1Aを携帯して検査対象の配筋の周辺を移動しながら、配筋検査装置1Aと接続された単眼カメラ2によって配筋を撮影する。検査者とともに移動する単眼カメラ2は、複数の撮影角度で配筋を撮影することができる。
なお、配筋の周辺を移動する移動体は、検査者に限らず、車両、無人飛行体等であってもよい。
【0099】
配筋検査装置1Aは、単眼カメラ2を搭載する端末装置と通信可能なサーバが備える構成要素であってもよい。例えば、端末装置は、SaaS(Software as a Service)の形態で提供される配筋検査を行うことができる。SaaSの形態で配筋検査を行う場合、端末装置には、配筋検査用の情報処理アプリケーションがインストールされていなくてよい。配筋検査用の情報処理アプリケーションは上記サーバで実行されており、上記端末装置は、汎用のWebブラウザ上で計測結果情報が提供される。配筋検査用アプリケーションは、サーバが備える記憶部に記憶されている。
また、上記端末装置には、配筋検査用の情報処理アプリケーションがインストールされていてもよい。配筋検査用の情報処理アプリケーションがインストールされた端末装置では、当該アプリケーションが実行されることで、配筋検査が可能となる。
【0100】
配筋検査装置1Aは、少なくとも演算部および記憶部を備える。演算部は、配筋検査装置1Aの全体動作を制御する。演算部は、画像取得部11、三次元復元部12、平面検出部13、画像変換部14、鉄筋検出部15および計測処理部16Aを備える。演算部が、配筋検査用の情報処理アプリケーションを実行することにより、画像取得部11、三次元復元部12、平面検出部13、画像変換部14、鉄筋検出部15および計測処理部16Aの各種の機能が実現される。計測処理部16Aは、学習装置71に接続されている。学習装置71は、学習部711および記憶部712を備える。
【0101】
記憶部は、配筋検査用の情報処理アプリケーションと、演算部の演算処理に用いられる情報を記憶する。記憶部は、配筋検査装置1Aとして機能するコンピュータが備える記憶装置であり、HDD(Hard Disk Drive)もしくはSSD(Solid State Drive)等のストレージ、または、
図17Bのメモリ104を含むものである。なお、記憶部は、配筋検査装置1Aがアクセス可能なものであればよく、配筋検査装置1の外部に設けられていてもよい。
【0102】
計測処理部16Aは、正対画像から抽出した鉄筋4の画像を複数の部分画像に分割し、複数の部分画像が入力されると鉄筋4の径を出力する学習モデルを用いて、鉄筋4の径を推論する。例えば、計測処理部16Aは、一本の鉄筋4の画像を複数に分割した部分画像を入力とし、鉄筋の検査情報として鉄筋径を推論する学習モデルを用いて、鉄筋径を推論する。
【0103】
学習装置71は、鉄筋の撮影画像が分割された複数の部分画像が入力されると、鉄筋径を出力する学習モデルを生成する。学習部711は、学習用データから鉄筋径を推論する学習を行うことにより学習モデルを生成する。学習用データは、学習モデルの入力データである、鉄筋の撮影画像を分割した複数の部分画像データと正解ラベルとを含むデータセットである。正解ラベルは、複数の部分画像データにそれぞれ対応する鉄筋径を示す情報である。学習モデルは、記憶部712に記憶される。学習アルゴリズムとして、例えば、深層学習(Deep Learning)、ニューラルネットワーク、遺伝的プログラミング、機能論理プログラミングまたはサポートベクターマシンが用いられる。
【0104】
図19は、鉄筋4の部分画像2H(1)、2H(2)、2H(3)を抽出する処理の概要を示す概要図である。計測処理部16Aは、
図19に示すように、正対画像に変換された撮影画像2Hから、長手方向に沿った鉄筋4の画像を抽出する。さらに、計測処理部16Aは、鉄筋4の画像から順次同一の大きさの部分画像2H(1)、2H(2)、2H(3)を抽出する。部分画像2H(1)、2H(2)、2H(3)は、例えば、縦横が同じ画素数の正方形の画像であり、鉄筋径はDである。
図19において、計測処理部16Aは、配筋3が有する各層の平面における全ての鉄筋について、これらの処理を行う。
【0105】
図20は、学習モデルによる鉄筋径の推論処理の概要を示す概要図である。
図20において、学習モデルは、鉄筋の画像から抽出された複数の部分画像と、各部分画像に付与された鉄筋の径Dを示す正解ラベルとのセットである学習用データを用いて生成される。
計測処理部16Aは、複数の部分画像データを当該学習モデルに入力して推論を行い、部分画像ごとに径Dの鉄筋4が写っている確率と、鉄筋4以外が写っている確率とを算出する。
【0106】
例えば、推論結果データ151は、
図19に示した部分画像2H(1)において、各種類の鉄筋が写っている確率と鉄筋以外のもの(NON)が写っている確率を算出した結果である。鉄筋には、例えば、JIS規格に基づく16種類の鉄筋がある。16種類の鉄筋には、D4、D5、D6、D8、D10、D13、D16、D19、D22、D25、D29、D32、D35、D38、D41およびD51という「呼び名」が付与されている。呼び名は、鉄筋の公称直径を丸めた径の大きさを示している。
【0107】
呼び名がD10である鉄筋の公称直径は、9.53(mm)であり、呼び名がD13である鉄筋の公称直径は、12.7(mm)であり、呼び名がD16である鉄筋の公称直径は、15.9(mm)である。なお、建築物の骨格として一般的に使用される鉄筋は、D10以降の鉄筋である。
【0108】
推論結果データ152は、
図19に示した部分画像2H(2)において、各種類の鉄筋が写っている確率と鉄筋以外のもの(NON)が写っている確率とを算出した結果である。このような推論結果データが同じ鉄筋の画像から抽出された全ての部分画像データについて算出される。
【0109】
続いて、学習モデルは、同じ鉄筋の画像から抽出された全ての部分画像データについての推論結果データを平均することにより、鉄筋の画像における推論結果データ153を算出する。例えば、推論結果データ153には、各種類の鉄筋が写っている確率を平均した値と鉄筋以外のもの(NON)が写っている確率を平均した値とが含まれる。
【0110】
計測処理部16Aは、推論結果データ153に基づいて鉄筋の径Dを判定する。
図20の例では、
図19に示した撮影画像2Hにおける鉄筋4の種類がD16、すなわち、径Dが15.9(mm)の鉄筋4であると判定されている。計測処理部16Aは、学習モデルを用いることにより、鉄筋径Dを正確に検出でき、鉄筋径Dに基づいて鉄筋の種類を判定することができる。
【0111】
また、学習モデルは、鉄筋4の複数の部分画像が入力されると、隣り合う鉄筋4同士の間隔を出力するものであってもよいし、一本の鉄筋4における節同士の間隔を推論するものであってもよい。
【0112】
以上のように、実施の形態2に係る配筋検査装置1Aにおいて、計測処理部16Aは、正対画像から抽出した鉄筋4の画像を複数の部分画像に分割し、複数の部分画像が入力されると鉄筋4の径を出力する学習モデルを用いて、鉄筋4の径を推論する。計測処理部16Aが上記学習モデルを用いることで、配筋検査装置1Aは、鉄筋4の検査情報を正確に推論することが可能である。
【0113】
以下、本開示の諸態様を付記としてまとめて記載する。
【0114】
(付記1)
格子状に組まれた鉄筋からなる複数層の平面を有した配筋を、マーカが付された鉄筋を含む平面側から、単眼カメラによって異なる角度からそれぞれ撮影された複数の撮影画像を取得する画像取得部と、
前記撮影画像間の前記マーカの大きさ、位置および撮影角度の変化に基づいて、前記単眼カメラの撮影姿勢および移動距離を算出し、算出した前記単眼カメラの撮影姿勢および移動距離に基づいて、前記配筋を表す三次元点群データを算出する三次元復元部と、
前記三次元点群データを用いて、平面における鉄筋以外の部分をマスクした平面マスク画像を生成する平面検出部と、
前記撮影画像および前記平面マスク画像を、鉄筋が互いに直交する正対画像に変換する画像変換部と、
前記撮影画像の前記正対画像と前記平面マスク画像の前記正対画像とを用いて、平面における鉄筋を検出する鉄筋検出部と、
検出された鉄筋の特徴量を用いて、前記配筋における鉄筋を計測する計測処理部と、を備えた
ことを特徴とする配筋検査装置。
(付記2)
前記マーカは、前記配筋の平面に複数設けられ、多角形の外形状を有している
ことを特徴とする付記1に記載の配筋検査装置。
(付記3)
前記三次元復元部は、複数の前記撮影画像における、複数の前記マーカの大きさ、位置および撮影角度の変化に基づいて、前記単眼カメラの撮影位置および撮影姿勢を算出し、互いに異なる前記撮影画像のペアから算出した前記単眼カメラの撮影位置および移動距離を用いて、前記三次元点群データを算出する
ことを特徴とする付記1または付記2に記載の配筋検査装置。
(付記4)
前記平面検出部は、前記三次元点群データを用いて、互いに異なる前記撮影画像のペアから前記平面マスク画像を生成する
ことを特徴とする付記1から付記3のいずれか一つに記載の配筋検査装置。
(付記5)
前記平面検出部は、前記三次元点群データを用いて決定した複数の平面候補から、前記単眼カメラから平面までの距離が設定距離内にある三次元点数に応じて選択した前記平面候補を表す平面パラメータを推定し、前記平面パラメータを用いて前記平面マスク画像を生成する
ことを特徴とする付記4に記載の配筋検査装置。
(付記6)
前記平面検出部は、前記平面候補の前記平面パラメータの算出と、当該平面候補の法線に基づいた平面の誤差量を示すヒストグラムの更新とを繰り返すことにより、検査対象の平面を表す前記平面パラメータを算出する
ことを特徴とする付記5に記載の配筋検査装置。
(付記7)
前記平面検出部は、互いに異なる前記撮影画像のペアからそれぞれ算出された前記三次元点群データを用いて前記平面マスク画像を生成し、これらの前記平面マスク画像を合成したものを、最終的な前記平面マスク画像とする
ことを特徴とする付記4に記載の配筋検査装置。
(付記8)
前記鉄筋検出部は、前記撮影画像の前記正対画像における輝度エッジに基づいて、前記平面マスク画像の前記正対画像における鉄筋部分に対応する線分のエッジ位置を補正する
ことを特徴とする付記1から付記7のいずれか一つに記載の配筋検査装置。
(付記9)
前記計測処理部は、前記単眼カメラから鉄筋までの距離が一定になるように、検出された鉄筋の前記撮影画像と、予め登録した鉄筋の前記撮影画像との画像スケールを合わせるスケーリングを行う
ことを特徴とする付記1から付記8のいずれか一つに記載の配筋検査装置。
(付記10)
前記計測処理部は、検査対象の平面における鉄筋の位置パラメータに基づいて鉄筋同士が上下に交差している交点を算出し、前記撮影画像の前記正対画像から、交点間の鉄筋の特徴量を抽出する
ことを特徴とする付記1から付記9のいずれか一つに記載の配筋検査装置。
(付記11)
前記計測処理部は、前記正対画像における鉄筋の長手方向に沿った複数の画素の輝度値からなる走査線を、鉄筋の長手方向に直交する方向の画素ごとに取得し、画素ごとの前記走査線の輝度値を周波数変換した複数の周波数スペクトルを算出して、これらの前記周波数スペクトルから抽出した輝度値の変化量の中央値を、鉄筋の特徴量とする
ことを特徴とする付記10に記載の配筋検査装置。
(付記12)
前記計測処理部は、前記周波数スペクトルに一定の周波数範囲ごとのセグメントを設定し、前記セグメントごとに輝度値の変化量の総和と判定基準値とを比較し、前記判定基準値よりも低い前記セグメントの前記総和を、複数の前記周波数スペクトルのうち同一の前記セグメントで前記総和が中央値となるものに置き換える
ことを特徴とする付記11に記載の配筋検査装置。
(付記13)
前記計測処理部は、前記撮影画像から求めた前記周波数スペクトルにおけるピークの周波数での輝度値の中央値と、予め登録した鉄筋の画像から求められた前記周波数スペクトルにおけるピークの周波数での輝度値の変化量の中央値との相関係数を算出し、前記相関係数の値に応じて重み付けたピークの周波数での輝度値の変化量の中央値を加算したものを、相関評価値として算出して、前記相関評価値が閾値を超えた鉄筋の前記周波数スペクトルを新たに登録する
ことを特徴とする付記11に記載の配筋検査装置。
(付記14)
前記計測処理部は、前記正対画像から抽出した鉄筋の画像を複数の部分画像に分割し、複数の前記部分画像が入力されると鉄筋の径を出力する学習モデルを用いて、鉄筋の径を推論する
ことを特徴とする付記1から付記13のいずれか一つに記載の配筋検査装置。
(付記15)
配筋検査装置の配筋検査方法であって、
画像取得部が、格子状に組まれた鉄筋からなる複数層の平面を有した配筋を、マーカが付された鉄筋を含む平面側から、単眼カメラによって異なる角度からそれぞれ撮影した複数の撮影画像を取得するステップと、
三次元復元部が、前記撮影画像間の前記マーカの大きさ、位置および形状の変化に基づいて、前記単眼カメラの撮影姿勢および移動距離を算出し、算出した前記単眼カメラの撮影姿勢および移動距離に基づいて、前記配筋を表す三次元点群データを算出するステップと、
平面検出部が、前記三次元点群データを用いて、平面における鉄筋以外の部分をマスクした平面マスク画像を生成するステップと、
画像変換部が、前記撮影画像および前記平面マスク画像を、鉄筋が互いに直交する正対画像に変換するステップと、
鉄筋検出部が、前記撮影画像の前記正対画像と前記平面マスク画像の前記正対画像とを用いて、平面における鉄筋を検出するステップと、
計測処理部が、検出された鉄筋の特徴量と予め登録した鉄筋の特徴量との相関処理の結果に基づいて、平面における鉄筋を計測するステップと、を備えた
ことを特徴とする配筋検査方法。
(付記16)
コンピュータを、
格子状に組まれた鉄筋からなる複数層の平面を有した配筋を、マーカが付された鉄筋を含む平面側から、単眼カメラによって異なる角度からそれぞれ撮影した複数の撮影画像を取得する画像取得部、
前記撮影画像間の前記マーカの大きさ、位置および形状の変化に基づいて、前記単眼カメラの撮影姿勢および移動距離を算出し、算出した前記単眼カメラの撮影姿勢および移動距離に基づいて、前記配筋を表す三次元点群データを算出する三次元復元部、
前記三次元点群データを用いて、平面における鉄筋以外の部分をマスクした平面マスク画像を生成する平面検出部、
前記撮影画像および前記平面マスク画像を、鉄筋が互いに直交する正対画像に変換する画像変換部、
前記撮影画像の前記正対画像と前記平面マスク画像の前記正対画像とを用いて、平面における鉄筋を検出する鉄筋検出部、
検出された鉄筋の特徴量と予め登録した鉄筋の特徴量との相関処理の結果に基づいて、平面における鉄筋を計測する計測処理部、
として機能させるためのプログラム。
【0115】
なお、各実施の形態の組み合わせまたは実施の形態のそれぞれの任意の構成要素の変形もしくは実施の形態のそれぞれにおいて任意の構成要素の省略が可能である。
【符号の説明】
【0116】
1,1A 配筋検査装置、2 単眼カメラ、2H(1),2H(2),2H(3) 部分画像、2H,21A,21B,21C,21D,21E,21F,21G,21H 撮影画像、3 配筋、4 鉄筋、4A,52 線分、5 マーカ、6A 下地、6B 識別形状、11 画像取得部、12 三次元復元部、13 平面検出部、14 画像変換部、15 鉄筋検出部、16,16A 計測処理部、31 アウトライヤ、32 インライヤ、40 三次元点、41,42 平面、51 平面マスク画像、60 画像、60A,60B 矩形領域、61 ヒストグラム、62 ピーク、71 学習装置、100 入力インタフェース、101 出力インタフェース、102 処理回路、103 プロセッサ、104 メモリ、111 画像領域、111A,141 領域、112 矩形、113 中心、151,152,153 推論結果データ、711 学習部、712 記憶部。