JP2023081836A - 情報処理方法、プログラム及び情報処理装置 - Google Patents

情報処理方法、プログラム及び情報処理装置 Download PDF

Info

Publication number
JP2023081836A
JP2023081836A JP2022169990A JP2022169990A JP2023081836A JP 2023081836 A JP2023081836 A JP 2023081836A JP 2022169990 A JP2022169990 A JP 2022169990A JP 2022169990 A JP2022169990 A JP 2022169990A JP 2023081836 A JP2023081836 A JP 2023081836A
Authority
JP
Japan
Prior art keywords
image
markers
code
plate
dot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022169990A
Other languages
English (en)
Inventor
浩之 高橋
Hiroyuki Takahashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
First Co Ltd
Original Assignee
First Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by First Co Ltd filed Critical First Co Ltd
Publication of JP2023081836A publication Critical patent/JP2023081836A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Abstract

【課題】より簡単に対象物を測定することが可能な情報処理方法等を提供すること。【解決手段】一つの側面に係る情報処理方法は、コードと、前記コードを囲む複数のマーカとが記されたプレートを撮像した画像を取得し、取得した前記画像内の複数のマーカ間の画素数を特定し、取得した前記画像内の前記コードからマーカ間の距離を特定し、特定した複数のマーカ間の画素数及びマーカ間の距離に基づき、前記画像の分解能を算出する処理を実行させることを特徴とする。【選択図】図3

Description

本発明は、情報処理方法、プログラム及び情報処理装置に関する。
近年、画像解析により対象物の測定を行う技術がある。特許文献1には、計測対象面に3以上のレーザ光が照射された画像データを撮像装置から取得し、前記画像データ上の各レーザ光に対応する第1座標を特定し、特定した前記第1座標及び前記計測対象面上の各レーザ光の第2座標に基づき、前記計測対象面を特定する式を算出し、取得した画像データ上の複数の第1座標に基づき、前記式に基づき前記計測対象面上の複数の第2座標間の距離を算出し、画像データ上の複数の第1座標のピクセル数を算出し、前記第2座標間の距離を前記ピクセル数で除すことで前記画像データの分解能を算出する情報処理装置が開示されている。
特開2019-121076号公報
しかしながら、特許文献1に係る発明は、対象物の測定を行うために、3以上のレーザ光を照射するレーザモジュールを用意しなければならない。
一つの側面では、より簡単に対象物を測定することが可能な情報処理方法等を提供することを目的とする。
一つの側面に係る情報処理方法は、コードと、前記コードを囲む複数のマーカとが記されたプレートを撮像した画像を取得し、取得した前記画像内の複数のマーカ間の画素数を特定し、取得した前記画像内の前記コードからマーカ間の距離を特定し、特定した複数のマーカ間の画素数及びマーカ間の距離に基づき、前記画像の分解能を算出する処理を実行させることを特徴とする。
一つの側面では、より簡単に対象物を測定することが可能となる。
コンピュータの構成例を示すブロック図である。 分解能DBのレコードレイアウトの一例を示す説明図である。 分解能算出用のプレートの一例を示す説明図である。 画像の分解能を説明する説明図である。 コードの構成の一例を示す説明図である。 画像の分解能を算出する際の処理手順を示すフローチャートである。 マーカ間の画素数を特定する処理のサブルーチンの処理手順を示すフローチャートである。 マーカ間の距離情報及びプレートの識別情報を特定する処理のサブルーチンの処理手順を示すフローチャートである。 分解能の算出画面の一例を示す説明図である。 コードの向きの例を示す説明図である。 コードの上方向の判定処理を説明する説明図である。 実施形態2におけるマーカ間の距離情報及びプレートの識別情報を特定する処理のサブルーチンの処理手順を示すフローチャートである。 実施形態3におけるコンピュータの構成例を示すブロック図である。 誤差補正値DBのレコードレイアウトの一例を示す説明図である。 実施形態3における画像の分解能を算出する際の処理手順を示すフローチャートである。 実施形態4におけるコンピュータの構成例を示すブロック図である。 計測条件DBのレコードレイアウトの一例を示す説明図である。 計測範囲の一例を示す説明図である。 プレートの傾斜角度の算出処理を説明する説明図である。 計測範囲の座標[dot]の取得処理を説明する説明図である。 プレートの傾きに準じた座標への変換原理を説明する説明図である。 対象物に対する計測条件を記憶する際の処理手順を示すフローチャートである。 プレートの画像上の座標への変換原理を説明する説明図である。 設定値及び計測範囲を出力して対象物を測定する際の処理手順を示すフローチャートである。
以下、本発明をその実施形態を示す図面に基づいて詳述する。
(実施形態1)
実施形態1は、コードと、当該コードを囲む複数のマーカとが記されたプレートを撮像した画像に基づき、当該画像の分解能を算出する形態に関する。
本実施形態のシステムは、情報処理装置1を含む。情報処理装置1は、種々の情報に対する処理、記憶及び送受信を行う情報処理装置である。情報処理装置1は、例えばスマートフォン、携帯電話、アップルウォッチ(Apple Watch:登録商標)等のウェアラブルデバイス、ウェアラブルカメラ、タブレット、パーソナルコンピュータ等の情報処理機器である。以下では簡潔のため、情報処理装置1をコンピュータ1と読み替える。
本実施形態に係るコンピュータ1は、コードと、当該コードを囲む複数のマーカとが記されたプレートを撮像した画像を取得する。コンピュータ1は、取得した画像内の複数のマーカ間の画素数を特定する。コンピュータ1は、取得した画像内のコードからマーカ間の距離を特定する。コンピュータ1は、特定した複数のマーカ間の画素数及びマーカ間の距離に基づき、当該画像の分解能を算出する。なお、画像の分解能に関しては後述する。コンピュータ1は、算出した画像の分解能を画面に表示する。
図1は、コンピュータ1の構成例を示すブロック図である。コンピュータ1は、制御部11、記憶部12、通信部13、入力部14、表示部15、読取部16、大容量記憶部17及び撮影部18を含む。各構成はバスBで接続されている。
制御部11はCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を含み、記憶部12に記憶された制御プログラム1P(プログラム製品)を読み出して実行することにより、コンピュータ1に係る種々の情報処理、制御処理等を行う。なお、制御プログラム1Pは、単一のコンピュータ上で、または1つのサイトにおいて配置されるか、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。なお、図1では制御部11を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。
記憶部12はRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ素子を含み、制御部11が処理を実行するために必要な制御プログラム1P又はデータ等を記憶している。また、記憶部12は、制御部11が演算処理を実行するために必要なデータ等を一時的に記憶する。通信部13は通信に関する処理を行うための通信モジュールである。
入力部14は、キーボード、マウスまたは表示部15と一体化したタッチパネルでも良い。表示部15は、液晶ディスプレイ又は有機EL(electroluminescence)ディスプレイ等であり、制御部11の指示に従い各種情報を表示する。
読取部16は、CD(Compact Disc)-ROM又はDVD(Digital Versatile Disc)-ROMを含む可搬型記憶媒体1aを読み取る。制御部11が読取部16を介して、制御プログラム1Pを可搬型記憶媒体1aより読み取り、大容量記憶部17に記憶しても良い。また、ネットワークN等を介して他のコンピュータから制御部11が制御プログラム1Pをダウンロードし、大容量記憶部17に記憶しても良い。さらにまた、半導体メモリ1bから、制御部11が制御プログラム1Pを読み込んでも良い。
大容量記憶部17は、例えばHDD(Hard disk drive:ハードディスク)、SSD(Solid State Drive:ソリッドステートドライブ)等の記録媒体を備える。大容量記憶部17は、分解能DB(database)171を含む。分解能DB171は、プレートを含む画像に対応付けて当該画像の分解能を記憶している。
なお、本実施形態において記憶部12及び大容量記憶部17は一体の記憶装置として構成されていても良い。また、大容量記憶部17は複数の記憶装置により構成されていても良い。更にまた、大容量記憶部17はコンピュータ1に接続された外部記憶装置であっても良い。
撮影部18は、例えばCCD(Charge Coupled Device)カメラ、CMOS(Complementary Metal Oxide Semiconductor)カメラ等の撮影装置である。なお、撮影部18はコンピュータ1の中に内蔵せず、外部で直接にコンピュータ1と接続し、撮影可能な構成としても良い。
コンピュータ1は、種々の情報処理及び制御処理等をコンピュータ単体で実行しても良いし、複数のコンピュータで分散して実行しても良い。また、コンピュータ1は、1台のコンピュータ内に設けられた複数の仮想マシンによって実現されても良い。
図2は、分解能DB171のレコードレイアウトの一例を示す説明図である。分解能DB171は、画像ID(Identifier)列、画像列、識別情報列及び分解能列を含む。画像ID列は、各画像を識別するために、一意に特定される画像のIDを記憶している。画像列は、画像のデータを記憶している。識別情報列は、プレートを識別する識別情報を記憶している。分解能列は、画像の分解能を記憶している。
なお、上述した各DBの記憶形態は一例であり、データ間の関係が維持されていれば、他の記憶形態であっても良い。
図3は、分解能算出用のプレートの一例を示す説明図である。プレートPは、道路、建物、トンネル、橋梁またはダム等の構造物(対象物)の表面に発生したひび割れ、凹み(ポットホール等)、欠損等の認識対象を特定するため、当該構造物の各認識対象の近く(例えば、左側、右側、上側または下側)に貼り付けられるリファレンスプレートである。認識対象と、当該認識対象の近くに貼り付けられるプレートPとを撮像した画像に基づき、当該認識対象の幅または長さ等を容易に測定することができる。
図示のように、撮像対象となる構造物において、当該構造物の表面に発生したひび割れの左側にプレートPが貼り付けられる。プレートPには、コードeと、当該コードeを囲む複数のマーカm(例えば、マーカma、マーカmb、マーカmc及びマーカmd)とが記される。コードeは、2次元コードである。コードeは、マーカma、マーカmb、マーカmc及びマーカmdの中心位置に、向きを示す情報、プレートバージョン番号、マーカ間の距離を示す情報及びプレートPの識別番号がハミング符号(Hamming Code)化により付加されて黒白矩形で生成される。なお、コードeの詳細は後述する。
マーカma、マーカmb、マーカmc及びマーカmdは、コードeの周りに正方形状に配置された4つの円形状のマーカである。なお、本実施形態では、4つの円形状のマーカmの例を説明したが、マーカmの形状または数量は特に限定されない。例えば、コードeを囲む位置に同間隔で4つの正方形状のマーカmを設けても良い。または、コードeを囲む位置に正三角形になるように同間隔で3つの円形状のマーカmを設けても良い。
図4は、画像の分解能を説明する説明図である。画像の分解能は、後述するコードeの距離(長さ)[mm]と、当該画像内の複数のマーカm間の画素数(ドット数)との割合である。
図示のように、マーカmaとマーカmbとの間の画素数がLab[dot]で示され、マーカmbとマーカmcとの間の画素数がLbc[dot]で示され、マーカmcとマーカmdとの間の画素数がLcd[dot]で示され、マーカmdとマーカmaとの間の画素数がLda[dot]で示されている。
画像の分解能は、後述するコードeの距離(長さ)[mm]と、4つのマーカm間の画素数の平均値との割合であり、以下の式(1)または式(2)で表される。
画像の分解能=距離[mm]/AVERAGE(Lab[dot],Lbc[dot],Lcd[dot],Lda[dot]) …(1)
画像の分解能=距離[mm]/{(Lab[dot]+Lbc[dot]+Lcd[dot]+Lda[dot])/4} …(2)
図5は、コードeの構成の一例を示す説明図である。コードeは、例えば2次元コードである。図示のように、コードeの領域が8行及び8列に分割された場合、当該コードeにおける64箇所(領域)がある。
コードeの第1行には、向きを示す情報が付加されている。向きを示す情報は、コードeが向く方向を示す情報であり、予め定められた方向識別用の固定値である。例えば、向きを示す情報が「01111111」であっても良い。方向識別用の固定値を用いて、第1行の第1列~第8列に対応する8箇所が黒白矩形で描画される。例えば、0に対応する箇所を白で描画し、1に対応する箇所を黒で描画しても良い。黒白矩形で描画されたコードeの第1行の各箇所の座標値に基づき、コードeが向く方向を判定することができる。など、コードeが向く方向の判定処理に関しては、実施形態2で詳述する。
コードeの第2行以降には、プレートバージョン番号、マーカ間の距離を示す情報及びプレートPの識別番号がハミング符号化により付加されている。ハミング符号は、データの誤りを検出または訂正できる線型誤り訂正符号のひとつである。図示のように、16進数表記された4bit(ビット)の内容を8bitの符号にするH(8,4)で符号化し、2つのbit誤りを検出する。
マーカm間の距離が相互に相違する複数種類のプレートが用意される。撮影する対象物の表面に発生したひび割れ等の認識対象に応じて、当該認識対象の近くに用意された複数種類のプレートから該当するプレートが選択されて貼り付けられる。プレートバージョン番号は、プレートPのバージョンを特定するための番号である。プレートPの識別番号は、プレートPを識別するための識別情報である。
具体的には、16進数表記された4bitのプレートバージョン番号に対してハミング符号化され、ハミング符号化された8bitのプレートバージョン番号が第2行に書き込まれる。16進数表記された下位4bitの距離情報(マーカ間の距離を示す情報)に対してハミング符号化され、ハミング符号化された8bitの距離情報が第4行に書き込まれる。16進数表記された上位4bitの距離情報に対してハミング符号化され、ハミング符号化された8bitの距離情報が第5行に書き込まれる。
16進数表記された下位4bitの識別番号に対してハミング符号化され、ハミング符号化された8bitの識別番号が第7行に書き込まれる。16進数表記された上位4bitの識別番号に対してハミング符号化され、ハミング符号化された8bitの識別番号が第8行に書き込まれる。なお、3行目及び6行目の内容が空白であると示されているが、これに限られず、実務のニーズに応じて内容が付加されても良い。
ハミング符号化された値を用いて、コードの第2行以降の各箇所が黒白矩形で描画される。例えば、0に対応する箇所を白で描画し、1に対応する箇所を黒で描画しても良い。
なお、本実施形態では、ハミング符号化の例を説明したが、これに限られず、例えばリードソロモン符号(Reed-Solomon Coding;RS符号と略記)を利用しても良い。
図6は、画像の分解能を算出する際の処理手順を示すフローチャートである。コンピュータ1の制御部11は、撮影部18を介して、コードと、当該コードを囲む複数のマーカとが記されたプレートを撮像する(ステップS101)。制御部11は、撮影部18が撮像した画像を取得する(ステップS102)。
制御部11は、取得した画像内の複数のマーカ間の画素数を特定する処理のサブルーチンを実行する(ステップS103)。なお、画素数の特定処理のサブルーチンに関しては後述する。制御部11は、画素数の特定処理のサブルーチンからリターンされた結果に基づき、撮像に傾きがあるか否かを判定する(ステップS104)。
制御部11は、撮像に傾きがあると判定した場合(ステップS104でYES)、撮像に傾きがあることを示す情報を表示部15により表示し(ステップS105)、処理を終了する。制御部11は、撮像に傾きがないと判定した場合(ステップS104でNO)、受信した画像内のコードからマーカ間の距離情報及びプレートの識別情報を特定する処理のサブルーチンを実行する(ステップS106)。なお、距離情報及び識別情報の特定処理のサブルーチンに関しては後述する。
制御部11は、特定した複数のマーカ間の画素数及びマーカ間の距離に基づき、上述した式(1)または式(2)を用いて、当該画像の分解能を算出する(ステップS107)。制御部11は、画像をプレートの識別情報(例えば、識別番号)及び画像の分解能と対応付けて分解能DB171に記憶する(ステップS108)。具体的には、制御部11は、画像に対し画像IDを割り振り、割り振った画像IDに対応付けて、画像データ、プレートの識別情報及び画像の分解能を一つのレコードとして大容量記憶部17の分解能DB171に記憶する。なお、制御部11は、画像、プレートの識別情報及び当該画像の分解能を管理サーバ等に送信しても良い。この場合、管理サーバはこれらの情報を統一管理する。制御部11は、プレートの識別情報及び画像の分解能を表示部15により表示し(ステップS109)、処理を終了する。
図7は、マーカ間の画素数を特定する処理のサブルーチンの処理手順を示すフローチャートである。コンピュータ1の制御部11は、ステップS101の処理で受信した画像を取得する(ステップS01)。例えば当該画像は、2次元コードと当該2次元コードを囲む4つの円マーカとが記されたプレートを撮像した画像である。
制御部11は、取得した画像から、例えば、記憶部12に予め登録されたマーカの色情報を用いて、複数のマーカ領域を抽出する(ステップS02)。色情報は、例えばマーカの画素毎のRGB(Red-Green-Blue color model)の色値等を含む。具体的には、制御部11は、画像内の各画素の色情報を取得する。制御部11は、取得した各画素の色情報と、記憶部12に記憶されたマーカの色情報とを照合する。制御部11は、一致度が所定の閾値(例えば、70%)以上である領域をマーカ領域として抽出する。
なお、マーカの抽出処理に関しては、上述した処理に限るものではない。例えば、制御部11は画像の特徴量に基づいて、プレートを含む画像を入力した場合に、プレート内のマーカを識別した識別結果を出力するよう学習された学習モデルを利用しても良い。
制御部11は、抽出した各マーカ領域に対し、例えば各マーカ領域画素が縦、横方向に連続している場合、それらに同じ番号(ラベル)を割り振って同一マーカ領域とするラベリング処理を行い、各マーカ領域の画素数を算出する(ステップS03)。制御部11は、算出した画素数の多い順に、所定数(例えば、7)のマーカ領域を取得する(ステップS04)。制御部11は、取得した各マーカ領域の重心を求める(ステップS05)。例えば制御部11は、各マーカ領域における画素値を用いた重心演算によって各マーカ領域の重心を求める。
制御部11は、取得した所定数のマーカ領域から、求めた各マーカ領域の重心に基づき、位置関係が最も正方形状に近づくとなる4つのマーカ領域を特定する(ステップS06)。制御部11は、特定した4つのマーカ間の画素数を算出する(ステップS07)。
制御部11は、算出した4つのマーカ間の画素数に基づき、撮像に傾きがあるか否かを判定する(ステップS08)。コンピュータ1に保持される撮像装置(撮影部18)を用いた撮像時には、当該コンピュータ1が傾いていると撮像に傾きを生ずる。この場合、制御部11は、各マーカ間の画素数の比を算出する。制御部11は、算出した各マーカ間の画素数の比が所定閾値以上である場合、撮像に傾きがあると判定する。なお、制御部11は、各マーカ間の画素数の差分に基づき、撮像に傾きがあるか否かを判定しても良い。例えば、制御部11は各マーカ間の画素数の差分を算出し、算出した差分が所定閾値以上である場合、撮像に傾きがあると判定する。
制御部11は、撮像に傾きがあると判定した場合(ステップS08でYES)、撮像に傾きがあることを示す情報を生成し(ステップS10)、画素数の特定処理のサブルーチンを終了してリターンする。制御部11は、撮像に傾きがないと判定した場合(ステップS08でNO)、各マーカ間の画素数の平均値を算出する(ステップS09)。制御部11は、画素数の特定処理のサブルーチンを終了してリターンする。
図8は、マーカ間の距離情報及びプレートの識別情報を特定する処理のサブルーチンの処理手順を示すフローチャートである。コンピュータ1の制御部11は、ステップS101の処理で受信した画像を取得する(ステップS21)。制御部11は、ステップS06の処理で特定した4つのマーカ領域の座標値を算出する(ステップS22)。制御部11は、算出した4つのマーカ領域の座標値に基づき、当該4つのマーカが囲むコードの座標値を算出する(ステップS23)。例えば、コードの領域が予め8行及び8列に分割された場合、制御部11は、当該コードにおける64箇所(領域)の座標値をそれぞれ算出する。
制御部11は、例えばKittlerらのしきい値選定法を用いて、算出した複数の箇所の座標値から閾値を特定(選定)する(ステップS24)。制御部11は、例えば二値化法等のアルゴリズムを用いて、算出した閾値に基づき、各箇所の座標値に対して二値化処理を行う(ステップS25)。例えば、制御部11は、箇所の座標値が閾値以下である場合、当該箇所の座標値が1に設定する。制御部11は、箇所の座標値が閾値を超えた場合、当該箇所の座標値が0に設定する。
制御部11は、コードの第1行(向きを示す情報)以外の各行に対し、ハミング符号(図5参照)を復号して4ビットの値(16進数標記)を取得する(ステップS26)。制御部11は、取得した行ごとの4ビット値から、距離情報(長さ)を取得する(ステップS27)。図5に示すように、距離情報の16進数標記の下位4ビットに対してハミング符号化され、ハミング符号化された8ビットの距離情報がコードの第4行に記憶される。距離情報の16進数標記の上位4ビットに対してハミング符号化され、ハミング符号化された8ビットの距離情報がコードの第5行に記憶される。制御部11は、コードの第4行及び第5行からハミング符号を復号して距離情報を取得する。
制御部11は、取得した行ごとの4ビット値から、識別情報(例えば、識別番号)を取得する(ステップS28)。図5に示すように、識別番号の16進数標記の下位4ビットに対してハミング符号化され、ハミング符号化された8ビットの識別番号がコードの第7行に記憶される。識別番号の16進数標記の上位4ビットに対してハミング符号化され、ハミング符号化された8ビットの識別番号がコードの第8行に記憶される。制御部11は、コードの第7行及び第8行からハミング符号を復号して識別番号を取得する。制御部11は、距離情報及び識別情報の特定処理のサブルーチンを終了してリターンする。
図9は、分解能の算出画面の一例を示す説明図である。当該画面は、画像表示欄11a、撮影ボタン11b、画像選択ボタン11c、分解能算出ボタン11d及び結果表示欄11eを含む。
画像表示欄11aは、対象物及びプレートを撮像した画像を表示する表示欄である。なお、プレートのみを撮像した画像であっても良い。マーカ間の距離が相互に相違する複数種類のプレートが用意された場合、撮影する対象物(道路、建物、トンネル、橋梁またはダム等の構造物)に、複数種類のプレートから選択された一のプレートが貼り付けられる。
撮影ボタン11bは、対象物及びプレートを撮像するボタンである。画像選択ボタン11cは、対象物及びプレートを含む画像を選択するボタンである。分解能算出ボタン11dは、対象物及びプレートを含む画像に基づき、当該画像の分解能を算出するボタンである。結果表示欄11eは、プレートの識別番号及び画像の分解能を含む結果を表示する表示欄である。
コンピュータ1は、撮影ボタン11bのタッチ操作を受け付けた場合、撮影部18を介して対象物及びプレートを撮像し、撮像した画像を取得する。コンピュータ1は、画像選択ボタン11cのタッチ操作を受け付けた場合、記憶部12または大容量記憶部17に記憶された対象物及びプレートを含む画像を取得する。
コンピュータ1は、分解能算出ボタン11dのタッチ操作を受け付けた場合、撮影ボタン11bまたは画像選択ボタン11cにより取得された画像に基づいて当該画像の分解能を算出する。具体的には、コンピュータ1は、受信した画像内の複数のマーカ間の画素数を特定する。コンピュータ1は、受信した画像内のコードからマーカ間の距離及びプレートの識別番号を特定する。コンピュータ1は、特定した複数のマーカ間の画素数及びマーカ間の距離に基づき、上述した式(1)または式(2)を用いて、当該画像の分解能を算出する。コンピュータ1は、特定したプレートの識別番号、及び算出した画像の分解能を結果表示欄11eに表示する。
本実施形態によると、プレートを撮像した画像に基づき、当該画像の分解能を算出することが可能となる。
本実施形態によると、マーカ間の画素数の比または差分に基づき、撮像に傾きがあるか否かを判定することが可能となる。
(実施形態2)
実施形態2は、向きを示す情報に応じて、コードの値を読み取る形態に関する。なお、実施形態1と重複する内容については説明を省略する。
図10は、コードの向きの例を示す説明図である。図示のように、コードeの領域が8行及び8列に分割される。コードeの第1行には、向きを示す情報が付加されている。向きを示す情報は、コードeが向く方向を示す情報であり、予め定められた方向識別用の固定値(例えば、01111111)である。方向識別用の固定値を用いて、第1行の第1列~第8列に対応する8箇所(領域)が黒白矩形(例えば、0:白 1:黒)で描画される。なお、本実施形態では、向きを示す情報が付加されたコードeの第1行に応じて、コードeの上方向が設定される。コードeの上方向は、コードeに対応する配列Aの上方向(配列Aの第1行がある方向)である。なお、配列Aに関しては後述する。
図10Aは、上方向が上を向く例を示す説明図である。図10Bは、上方向が右を向く例を示す説明図である。図10Cは、上方向が下を向く例を示す説明図である。図10D及び図10Eは、上方向が斜め左上を向く例を示す説明図である。
向きを示す情報とコードの各箇所の座標値に対応する明度情報とに基づいて、コードeの上方向を判定することができる。
図11は、コードeの上方向の判定処理を説明する説明図である。コンピュータ1は、コードeの各行の各箇所の座標値を算出する。例えば、コードeの領域が予め8行及び8列(64箇所)に分割された場合、コンピュータ1は、当該コードeにおける64箇所(領域)の座標値をそれぞれ算出する。コンピュータ1は、64箇所の座標値に対応する明度情報(例えば、明度値)を取得する。コンピュータ1は、取得した各箇所の座標値に対応する明度情報を例えば8×8の配列Aで記憶部12または大容量記憶部17に記憶する。
コンピュータ1は、例えばKittlerらのしきい値選定法を用いて、配列Aに記憶されているすべての要素の値から閾値(例えば、100)を特定(選定)する。コンピュータ1は、例えば二値化法等のアルゴリズムを用いて、特定した閾値に基づき、配列Aのすべての要素の値に対して二値化処理を行う。例えばコンピュータ1は、配列Aの要素の値が閾値以下である場合、当該要素の値が1に設定する。コンピュータ1は、配列Aの要素の値が閾値を超えた場合、当該要素の値が0に設定する。
コンピュータ1は、二値化処理により得られたコードeの外周の値(点線枠で囲まれた値)を用いて、方向識別用固定値と一致するパターンを識別する。コンピュータ1は、外周の値と方向識別用固定値とが一致するパターンを識別した場合、当該パターンに対応する箇所が上方向と判定する。
コンピュータ1は、上方向が上を向く(図10A)と判定した場合、コードeに対応する配列Aの各要素の値を並べ替える必要がない。コンピュータ1は、上方向が右を向く(図10B)と判定した場合、コードeに対応する配列Aに対し、右上の要素の値が左上の要素の値、右下の要素の値が右上の要素の値となるように配列全体を並べ替える。コンピュータ1は、上方向が下を向く(図10C)と判定した場合、コードeに対応する配列Aに対し、右下の要素の値が左上の要素の値、左下の要素の値が右上の要素の値となるように配列全体を並べ替える。
コンピュータ1は、上方向が斜め左上を向き、且つ、方向識別用固定値と一致する箇所が左上から右上に配置されている(図10D)と判定した場合、コードeに対応する配列Aの各要素の値を並べ替える必要がない。コンピュータ1は、上方向が斜め左上を向き、且つ、方向識別用固定値と一致する箇所が右上から右下に配置されている(図10E)と判定した場合、コードeに対応する配列Aに対し、右上要素の値が左上要素の値、右下要素の値が右上要素の値となるように配列全体を並べ替える。
図12は、実施形態2におけるマーカ間の距離情報及びプレートの識別情報を特定する処理のサブルーチンの処理手順を示すフローチャートである。なお、図8と重複する内容については同一の符号を付して説明を省略する。コンピュータ1の制御部11は、ステップS25の処理を実行した後に、コードの第1行から向きを示す情報を取得する(ステップS31)。制御部11は、取得した向きを示す情報とコードの各箇所の座標値に対応する明度情報とに基づいて、コードの上方向を判定する(ステップS32)。
制御部11は、上方向が上を向くと判定した場合(ステップS32でYES)、ステップS26の処理を実行する。制御部11は、上方向が上を向いていないと判定した場合(ステップS32でNO)、上方向が向く方向に基づき、コードの値を並べ替える(ステップS33)。その後に、制御部11はステップS26の処理に遷移する。
本実施形態によると、向きを示す情報に応じてコードの値を読み取ることにより、コードの値を読み取る正確性を確保することが可能となる。
(実施形態3)
実施形態3は、複数のマーカ間の画素数及びマーカ間の距離と、コードを通じて取得された誤差補正値とに基づき、画像の分解能を算出する形態に関する。なお、実施形態1~2と重複する内容については説明を省略する。
図13は、実施形態3におけるコンピュータ1の構成例を示すブロック図である。なお、図1と重複する内容については同一の符号を付して説明を省略する。大容量記憶部17には、誤差補正値DB172が記憶されている。誤差補正値DB172は、プレートに含まれるマーカ間の距離を示す情報(長さ)における誤差補正値を記憶している。
図14は、誤差補正値DB172のレコードレイアウトの一例を示す説明図である。誤差補正値DB172は、プレートバージョン番号列及び誤差補正値列を含む。プレートバージョン番号列は、プレートのバージョンを特定するためのプレートバージョン番号を記憶している。誤差補正値列は、マーカ間の距離を示す情報における誤差補正値を記憶している。
なお、上述した各DBの記憶形態は一例であり、データ間の関係が維持されていれば、他の記憶形態であっても良い。
コードと、当該コードを囲む複数のマーカとが記されたプレートを印刷する際に、印刷機器の印刷環境(倍率微調整値等)、または、周囲環境(温度または湿度等)等により、誤差が生じる場合がある。また、印刷されたプレートに書き込まれたマーカ間の距離を示す情報を変更することができないため、誤差が生じたプレートを撮像した画像に基づき、当該画像の分解能を適切に算出することができない恐れがある。
本実施形態では、誤差補正値を用いて、マーカ間の距離を補正することにより、上述した課題を解決することができる。誤差補正値は、例えば、印刷されたプレートに書き込まれたマーカ間の距離(長さ)と、印刷後に測定された当該プレートのマーカ間の距離(実長さ)とに基づいて求められても良い。誤差補正値は、以下の式(3)で表される。
誤差補正値=実長さ/長さ …(3)
例えば、印刷されたプレートに書き込まれた長さが50mmであり、且つ、印刷後に測定された実長さが45mmである場合、上述した式(3)を用いて、「0.9」である誤差補正値を算出することができる。
印刷ロットごとにプレートバージョン番号を替えて、プレートが印刷された場合、コンピュータ1は、上述した式(3)を用いて誤差補正値を算出する。コンピュータ1は、算出した誤差補正値をプレートバージョン番号に対応付けて誤差補正値DB172に記憶する。
なお、本実施形態では、プレートバージョン番号に対応付けられた誤差補正値の例を説明したが、これに限るものではない。例えば、誤差補正値をプレートの識別番号等に対応付けて誤差補正値DB172に記憶しても良い。
誤差補正値を用いる画像の分解能は、以下の式(4)または式(5)で表される。
画像の分解能=距離[mm]×誤差補正値/AVERAGE(Lab[dot],Lbc[dot],Lcd[dot],Lda[dot]) …(4)
画像の分解能=距離[mm]×誤差補正値/{(Lab[dot]+Lbc[dot]+Lcd[dot]+Lda[dot])/4} …(5)
図15は、実施形態3における画像の分解能を算出する際の処理手順を示すフローチャートである。なお、図6と重複する内容については同一の符号を付して説明を省略する。コンピュータ1の制御部11は、ステップS106の処理を実行した後に、プレートバージョン番号を取得する(ステップS111)。具体的には、制御部11は、コードの第1行(向きを示す情報)以外の各行に対し、ハミング符号(図5参照)を復号して4ビットの値(16進数標記)を取得する。制御部11は、取得したコードの第2行の4ビット値からプレートバージョン番号を取得する。
制御部11は、取得したプレートバージョン番号に基づき、当該プレートバージョン番号に対応する誤差補正値を大容量記憶部17の誤差補正値DB172から取得する(ステップS112)。制御部11は、ステップS103の処理により特定された複数のマーカ間の画素数、及び、ステップS106の処理により特定されたマーカ間の距離と、取得した誤差補正値とに基づき、上述した式(4)または式(5)を用いて、当該画像の分解能を算出する(ステップS113)。
本実施形態によると、複数のマーカ間の画素数及びマーカ間の距離と、コードを通じて取得された誤差補正値とに基づき、画像の分解能を算出することが可能となる。
本実施形態によると、誤差補正値を利用することにより、画像の分解能を適切に算出することが可能となる。
(実施形態4)
実施形態4は、コードに対応付けて、撮影した対象物に対する計測条件を記憶する形態に関する。なお、実施形態1~3と重複する内容については説明を省略する。
図16は、実施形態4におけるコンピュータ1の構成例を示すブロック図である。なお、図1と重複する内容については同一の符号を付して説明を省略する。大容量記憶部17には、計測条件DB173が記憶されている。計測条件DB173は、撮影した対象物に対する計測条件を記憶している。
計測条件は、撮影する対象物の表面に発生したひび割れ等の認識対象に対する計測範囲であり、該計測範囲を規定する座標、プレートの傾斜角度、及び画像の分解能により導出される。計測範囲は、認識対象の長さまたは面積等により算出される。例えば、計測範囲は、ひび割れの長さ、浮き面積、剥落面積、錆汁面積、遊離石灰面積、漏水面積、鉄筋露出面積、金属の錆面積、塗装剥がれ面積、または、紫外線による退色面積等に基づいて算出されても良い。
浮き面積は、コンクリートの内部で連続して生じたひび割れ、または施工時の欠陥があった場合、その後の振動または変形力等により欠陥部同士が連続し、表面部分のコンクリートと内部のコンクリートとの一体性を失う部分の面積である。剥落面積は、浮きの状態である表面のコンクリートが、震動等により元のコンクリートからはがれ落ちた面積である。錆汁面積は、コンクリート中の鋼材が腐食し、コンクリート表面に滲み出された茶色または褐色等の腐食生成物の面積である。
遊離石灰面積は、コンクリートまたはセメント内の他の物質とうまく結合できない場合、単体で残った酸化カルシウム等の成分の面積である。漏水面積は、漏水されたコンクリート表面の面積である。鉄筋露出面積は、錆びた鉄筋の体積が膨張した場合、外側のコンクリートを押し出して、鉄筋が外部に露出した部分の面積である。
更に、計測範囲は、ケーブル、梁、桁若しくは橋梁等のたわみ、またはレンガを敷き詰めた壁面におけるレンガの隙間に生える雑草量等を計測するために必要とされる範囲全体としてもよい。なお、本実施形態では、ひび割れの長さによる計測範囲の例を説明したが、面積による計測範囲にも同様に適用することができる。
また、計測条件は、認識対象の計測時に用いられる設定値を含む。なお、設定値に関しては後述する。
図17は、計測条件DB173のレコードレイアウトの一例を示す説明図である。計測条件DB173は、識別情報列及び計測条件列を含む。識別情報列は、プレートを識別する識別情報を記憶している。
計測条件列は、計測範囲列及び設定値列を含む。計測範囲列は、対象物の表面に発生したひび割れ等の認識対象に対し、当該認識対象の計測範囲の中心の始点座標(CSX,CSY)、計測範囲の中心の終点座標(CEX,CEY)、及び、計測範囲の幅(W)等を記憶している。後述する図18に示すように、計測範囲は、認識対象(例えば、ひび割れ)を囲む領域である。計測範囲の中心線c1と、当該計測範囲を示す枠線とが交わる点は、計測範囲の中心の始点座標(CSX,CSY)及び終点座標(CEX,CEY)である。
設定値列は、認識対象の計測時に用いられる設定値を記憶している。設定値は、例えば、ひび割れを認識可能な最小幅、除去対象となる孤立点の設定値、ガンマ補正用の設定値、エッジ検出用の設定値、角度許容幅用の設定値、スクリーニングレベルの設定値またはスクリーニング回数の設定値等を含む。
除去対象となる孤立点の設定値は、画像における極端に明るい等の孤立点がノイズである可能性が高いため、当該孤立点を除去する方法に関する設定値である。通常、カメラからの信号と画像メモリ上の明るさ値との関係は直線関係である。ガンマ補正用の設定値は、ひび割れ等を検出しやすくするために、これを曲線関係にすることで像の明るい部分を抑えながら暗い部分を増幅するための設定値、または、暗い部分を抑えながら明るい部分を増幅するための設定値である。
エッジ検出用の設定値は、画像の明るさの差がこの設定値よりも大きな部分をひび割れ等の認識対象のエッジの候補とするための設定値である。具体的には、ひび割れ等の測定範囲の中心線と垂直する両方向に明るさを走査し、画像の明るさの差が規定値よりも大きな部分をひび割れ等のエッジの候補とし、両方向の候補の座標差をひび割れ等の幅の候補とする。
ひび割れ等は必ずしも直線ではなく蛇行していて、ひび割れ等の角度が若干変わっている場合がある。角度許容幅の設定値は、ひび割れ等の角度が若干変わっている場合に対応する設定値である。具体的には、角度許容幅の範囲で複数の方向についてひび割れ等の幅の候補を求め、求めた複数の候補中の最小値をひび割れ等の幅とする。
スクリーニングレベルの設定値は、基準値以上であるか否かを判定するための設定値である。例えば、コンピュータ1は、認識対象の測定範囲内の複数の計測値の平均値と標準偏差とを求める。コンピュータ1は、「平均値±(標準偏差×スクリーニングレベル)」である式を用いて、求めた複数の計測値から外れた計測値を排除する。コンピュータ1は、平均値と標準偏差とを再度求め、求めた平均値を認識対象の幅として取得する。スクリーニング回数の設定値は、スクリーニングを繰り返す回数である。
例えば、各対象物の表面に発生されたひび割れ等の認識対象の周囲に、識別番号を有するプレートが配置されている。対象物に対する計測条件が計測条件DB173に記憶された場合、記憶された計測条件を利用し、当該対象物を再度計測することができる。このように、前回と同条件で対象物を測定することで、当該対象物に対し正確な経年変化を容易に把握することが可能となる。
なお、対象物の種類または計測地等に応じて、複数の計測条件DB173が用意されても良い。この場合、コンピュータ1は、利用者等による計測条件DB173の選択を受け付け、受け付けた計測条件DB173から計測条件を取得しても良い。
なお、本実施形態では、識別番号に対応付けられた計測条件の例を説明したが、これに限るものではない。例えば、プレートバージョン番号、または、識別番号とプレートバージョン番号との両方に対応付けて、対象物に対する計測条件を記憶しても良い。
なお、上述した各DBの記憶形態は一例であり、データ間の関係が維持されていれば、他の記憶形態であっても良い。
図18は、計測範囲の一例を示す説明図である。計測条件に含まれる計測範囲は、ひび割れ等の認識対象の基準点に対し、当該認識対象の計測範囲の中心の始点座標、計測範囲の中心の終点座標、及び、計測範囲の幅等を含む。
図示のように、計測範囲は、認識対象(例えば、ひび割れ)を囲む領域である。計測範囲の中心線c1と、当該計測範囲を示す枠線とが交わる点は、計測範囲の中心の始点座標は(CSX,CSY)及び終点座標は(CEX,CEY)である。計測範囲の幅はWである。また、CSX、CSY、CEX、CEY及びWの単位は、例えば、ミリメートル(mm)である。プレートPに含まれるマーカmaの領域の中心点を原点(基準点)とする平面上の直交座標系において、X軸はプレートPの横方向(左右方向)を示し、紙面の左方向を正方向とする。Y軸は、プレートPの縦方向(上下方向)を示し、紙面の上方向を正方向とする。
なお、図18では、マーカmaが原点とした例を説明したが、これに限るものではない。例えば、マーカmb、マーカmc、マーカmd、またはコードeの中心点等を原点としても良い。
本実施形態では、原点に基づいて、計測範囲の中心の始点座標及び終点座標を取得する。後述する図19に示すように、たとえプレートPの向きを傾けている場合でも、当該プレートPと同一の向き方向で中心の始点座標及び終点座標を取得することができる。
続いて、図18に示されている計測範囲を取得する処理を説明する。まず、コンピュータ1は、プレートPの傾斜角度を算出する。
図19は、プレートの傾斜角度の算出処理を説明する説明図である。図示のように、プレートPが左側に傾けているため、マーカma及びマーカmbの座標に基づいて当該プレートPの傾斜角度を算出することができる。
傾斜角度は以下の式(6)で表される。
傾斜角度(θ1)=arctan((mbY-maY)/(mbX-maX)) …(6)
プレートPを撮影した画像において、maXはマーカmaのX座標[dot]であり、maYはマーカmaのY座標[dot]であり、mbXはマーカmbのX座標[dot]であり、mbYはマーカmbのY座標[dot]である。
コンピュータ1は、プレートPを撮影した画像を取得する。コンピュータ1は、取得したプレートPの画像から、例えば、記憶部12に予め登録されたマーカの色情報(画素毎のRGBの色値等)を用いて、マーカma及びマーカmbの領域をそれぞれ抽出する。コンピュータ1は、抽出したマーカmaの領域の中心座標(maX,maY)、及び、マーカmbの領域の中心座標(mbX,mbY)を取得する。コンピュータ1は、取得したマーカmaの領域の中心座標(maX,maY)及びマーカmbの領域の中心座標(mbX,mbY)に基づき、上述した式(6)を用いて、傾斜角度(θ1)を算出する。
なお、図19では、マーカma及びマーカmbの座標に基づいてプレートPの傾斜角度を算出した例を説明したが、これに限るものではない。例えば、コンピュータ1は、マーカma及びマーカmbの座標に基づいてプレートPの第1傾斜角度を算出する。コンピュータ1は、マーカmc及びマーカmdの座標に基づいてプレートPの第2傾斜角度を算出する。コンピュータ1は、算出した第1傾斜角度と第2傾斜角度との平均値を算出し、算出した平均値をプレートPの傾斜角度として取得しても良い。
次に、コンピュータ1は、計測範囲の座標[dot]を取得する。
図20は、計測範囲の座標[dot]の取得処理を説明する説明図である。
コンピュータ1は、撮影した対象物の表面に発生したひび割れ等の認識対象、及び、当該認識対象の近く(例えば、左側、右側、上側または下側)に貼り付けられたプレートPを撮影した画像を取得する。コンピュータ1は、例えば、記憶部12に予め登録されたマーカの色情報を用いて、取得した画像からマーカmaの領域を抽出する。コンピュータ1は、取得した画像に基づき、例えば公知の画像認識技術を用いて認識対象を認識する。なお、画像認識技術は公知の技術であるので詳細な説明は省略する。
コンピュータ1は、マーカmaの領域の中心点を原点(基準点)とする平面上の直交座標系において、認識対象における計測範囲の中心の始点座標(dot_C_Sx,dot_C_Sy)、計測範囲の中心の終点座標(dot_C_Ex,dot_C_Ey)、計測範囲の幅の始点座標(dot_W_Sx,dot_W_Sy)、及び、計測範囲の幅の終点座標(dot_W_Ex,dot_W_Ey)を取得する。
なお、図20では、マーカmaを原点とした例を説明したが、これに限るものではない。例えば、マーカmb、マーカmc、マーカmd、またはコードeの中心点等を原点としても良い。
そして、コンピュータ1は、取得した画像上の計測範囲の座標[dot]を、図18に示されている計測条件用の座標[mm]に変換する。
まず、プレートの画像上の座標[dot]から、プレートの傾きに準じた座標[dot]への変換原理を説明する。
図21は、プレートの傾きに準じた座標への変換原理を説明する説明図である。
例えば、コンピュータ1は、対象点(Q)に対し、プレートの画像上の座標[Q(x,y)]から、当該プレートの傾きに準じた座標[Q(X,Y)]への変換処理を行う。
X座標値及びY座標値は、以下の式(7)及び式(8)で表される。
X=xcosθ1 - ysinθ1 …(7)
Y=ycosθ1 + xsinθ1 …(8)
θ1は、プレートの傾斜角度を示す。コンピュータ1は、プレートの画像上の対象点の座標[Q(x,y)]を取得する。コンピュータ1は、プレートの傾斜角度(θ1)を算出する。なお、傾斜角度の算出処理に関しては、図19での算出処理と同様であるため、説明を省略する。コンピュータ1は、取得した対象点の座標[Q(x,y)]と、算出した傾斜角度(θ1)とに基づき、上述した式(7)及び式(8)を用いて、当該プレートの傾きに準じた座標[Q(X,Y)]を求める。
次に、上述した変換原理に従って、プレートの画像上の座標[dot]、傾斜角度及びプレートの画像の分解能に基づき、図18に示されている計測範囲を算出することができる。
計測範囲の中心の始点座標(CSX,CSY)、計測範囲の中心の終点座標(CEX,CEY)、及び計測範囲の幅[W]は、以下の式(9)~式(13)で表される。
CSX[mm] = (dot_C_Sx × cosθ1- dot_C_Sy × sinθ1) × 画像の分解能 (9)
CSY[mm] = (dot_C_Sy × cosθ1+ dot_C_Sx × sinθ1) × 画像の分解能 (10)
CEX[mm]= (dot_C_Ex × cosθ1- dot_C_Ey × sinθ1) × 画像の分解能 (11)
CEY[mm]= (dot_C_Ey × cosθ1+ dot_C_Ex × sinθ1) × 画像の分解能 (12)
W[mm]= √((dot_W_Ex - dot_W_Sx)2+ (dot_W_Ey - dot_W_Sy)2) × 画像の分解能 (13)
画像上の計測範囲において、中心の始点座標が(dot_C_Sx,dot_C_Sy)であり、中心の終点座標(dot_C_Ex,dot_C_Ey)であり、幅の始点座標が(dot_W_Sx,dot_W_Sy)であり、かつ、幅の終点座標が(dot_W_Ex,dot_W_Ey)である。
コンピュータ1は、プレートの画像内のコードから、複数のマーカ間の画素数、マーカ間の距離情報及びプレートの識別情報を特定する。コンピュータ1は、特定した複数のマーカ間の画素数及びマーカ間の距離に基づき、実施形態1での式(1)または式(2)を用いて、当該画像の分解能を算出する。
コンピュータ1は、プレートの画像上の計測範囲の座標(dot_C_Sx,dot_C_Sy,dot_C_Ex,dot_C_Ey,dot_W_Sx,dot_W_Sy,dot_W_Ex,dot_W_Ey)、傾斜角度(θ1)、及び算出したプレートの画像の分解能に基づき、上述した式(9)~式(13)を用いて、計測範囲の中心の始点座標(CSX,CSY)、計測範囲の中心の終点座標(CEX,CEY)、及び、計測範囲の幅[W]を算出する。
コンピュータ1は、認識対象の計測時に用いられる設定値(ひび割れを認識可能な最小幅、除去対象となる孤立点の設定値、ガンマ補正用の設定値またはエッジ検出用の設定値等)を取得する。コンピュータ1は、プレートの識別番号に対応付けて、算出した計測範囲(中心の始点座標、中心の終点座標及び幅)、及び取得した設定値を計測条件DB173に記憶する。
図22は、対象物に対する計測条件を記憶する際の処理手順を示すフローチャートである。コンピュータ1の制御部11は、撮影部18を介して、撮影した対象物の表面に発生したひび割れ等の認識対象、及び、当該認識対象の近くに貼り付けられたプレートを撮影した画像を取得する(ステップS121)。制御部11は、取得した画像から、例えば、記憶部12に予め登録されたマーカの色情報を用いて、基準点(例えば、図18のマーカma、マーカmb、マーカmcまたはマーカmd)の領域を抽出する(ステップS122)。
制御部11は、抽出した基準点の領域に基づき、プレートの傾斜角度を算出する(ステップS123)。図19に示すように、例えば制御部11は、抽出したマーカmaの領域の中心座標(maX,maY)、及び、マーカmbの領域の中心座標(mbX,mbY)を取得する。制御部11は、取得したマーカmaの領域の中心座標(maX,maY)及びマーカmbの領域の中心座標(mbX,mbY)に基づき、上述した式(6)を用いて、プレートの傾斜角度(θ1)を算出する。
制御部11は、取得した画像に基づき、例えば公知の画像認識技術を用いて認識対象(例えば、ひび割れ)を認識する(ステップS124)。制御部11は、認識した認識対象において、画像上の計測範囲の中心の始点座標及び終点座標を含む座標[dot]、並びに、計測範囲の幅の始点座標及び終点座標を含む座標[dot]を取得する(ステップS125)。
具体的には、まず、制御部11は、認識した認識対象の計測範囲を特定する。制御部11は、認識対象がひび割れである場合、ひび割れを囲む領域を計測範囲として特定する。例えば、制御部11は、ユーザによる計測範囲の設定を入力部14により受け付けても良い。または、認識対象を含む画像を入力した場合に、当該認識対象の計測範囲を示す枠線(バンディングボックス)を出力するよう学習された学習モデルを利用しても良い。更にまた、制御部11は、エッジ検出により認識対象を特定し、特定した認識対象を囲む領域を計測範囲としても良い。
次に、制御部11は、特定した計測範囲に基づき、当該計測範囲の中心線(例えば、図18の計測範囲の中心線c1)を取得する。制御部11は、取得した計測範囲の中心線と、当該計測範囲を示す枠線とが交わる点を、画像上の計測範囲の中心の始点座標及び終点座標として取得する。制御部11は、特定した計測範囲に基づき、画像上の計測範囲の幅の始点座標及び終点座標を取得する。
なお、計測範囲の中心の始点座標及び終点座標と、計測範囲の幅の始点座標及び終点座標とに限るものではない。例えば、計測範囲の形状またはサイズ等に応じて、他の測定値を取得しても良い。例えば、計測範囲が矩形領域である場合、計測範囲の左上及び右下の座標、または、中心点に基づくX方向及びY方向の矩形範囲等を取得しても良い。または、計測範囲が円形領域である場合、計測範囲の中心点の座標、及び計測範囲の半径等を取得しても良い。更にまた、複数の座標点で囲まれた計測範囲において、これらの複数点の座標を取得しても良い。
制御部11は、画像内のコードから得られた複数のマーカ間の画素数及びマーカ間の距離に基づき、実施形態1での式(1)または式(2)を用いて、画像の分解能を算出する(ステップS126)。なお、実施形態3での処理と同様に、コンピュータ1は、複数のマーカ間の画素数及びマーカ間の距離と、コードを通じて取得された誤差補正値とに基づき、画像の分解能を算出しても良い。
制御部11は、取得した画像上の計測範囲の中心の座標[dot]及び幅の座標[dot]、並びに、算出した傾斜角度(θ1)及び画像の分解能に基づき、上述した式(9)~式(13)を用いて、計測範囲の中心の始点座標及び終点座標を含む座標[mm]及び計測範囲の幅[mm]を算出する(ステップS127)。
制御部11は、例えば通信部13または入力部14を介して、認識対象の計測時に用いられる設定値(ひび割れを認識可能な最小幅等)を取得する(ステップS128)。制御部11は、プレートの識別番号に対応付けて、算出した計測範囲の中心の座標(始点座標及び終点座標)及び計測範囲の幅を含む計測範囲と、取得した設定値とを大容量記憶部17の計測条件DB173に記憶する(ステップS129)。制御部11は、処理を終了する。
本実施形態によると、コードに対応付けて、撮影した対象物に対する計測条件を記憶することが可能となる。
(実施形態5)
実施形態5は、対象物に対する第1時点における計測条件で、第1時点よりも後の第2時点において、当該対象物を計測する形態に関する。なお、実施形態1~4と重複する内容については説明を省略する。なお、第1時点における計測条件は、予め測定条件DB173に記憶されている。
計測条件DB173に記憶された計測条件(対象物に対する第1時点における計測条件)に基づき、当該第1時点よりも後の第2時点において、対象物を計測することができる。これにより、同一の計測条件で対象物を計測するため、対象物に対し正確な経年変化を測定することが可能となる。
コンピュータ1は、プレートを撮影した画像を取得する。コンピュータ1は、取得したプレートの画像から識別番号を取得する。具体的には、コンピュータ1は、プレートに含まれるコードの第1行(向きを示す情報)以外の各行に対し、ハミング符号(図5参照)を復号して4ビットの値(16進数標記)を取得する。コンピュータ1は、取得したコードの第7行及び第8行の4ビット値から識別番号を取得する。
コンピュータ1は、複数のマーカ間の画素数及びマーカ間の距離に基づき、実施形態1での式(1)または式(2)を用いて、画像の分解能を算出する。なお、実施形態3での処理と同様に、コンピュータ1は、複数のマーカ間の画素数及びマーカ間の距離と、コードを通じて取得された誤差補正値とに基づき、画像の分解能を算出しても良い。
コンピュータ1は、基準点となるマーカ(例えば、図19のマーカma及びマーカmb)の領域の中心座標に基づき、上述した式(6)を用いて、プレートの傾斜角度(θ)を算出する。コンピュータ1は、取得した識別番号に基づき、計測範囲及び設定値を含む計測条件を計測条件DB173から取得する。
コンピュータ1は、取得した計測条件に含まれる計測範囲の座標[mm]を、プレートの画像上の座標[dot]に変換する。
まず、プレートの傾きに準じた座標[dot]から、プレートの画像上の座標[dot]への変換原理を説明する。
図23は、プレートの画像上の座標への変換原理を説明する説明図である。
例えば、コンピュータ1は、対象点(Q)に対し、プレートの傾きに準じた座標[Q(X,Y)]から、当該プレートの画像上の座標[Q(x,y)]への変換処理を行う。x座標値は、以下の式(14)で表される。また、y座標値は、以下の式(15)で表される。
x=Xcosθ2- Ysinθ2 …(14)
y=Ycosθ2 + Xsinθ2 …(15)
θ2は、プレートの傾斜角度を示す。コンピュータ1は、プレートの傾きに準じた座標[Q(X,Y)]と、算出した傾斜角度(θ2)とに基づき、上述した式(14)及び式(15)を用いて、当該プレートの画像上の座標[Q(x,y)]を求める。
次に、上述した変換原理に従って、計測条件に含まれる計測範囲の座標[mm]、傾斜角度及びプレートの画像の分解能に基づき、計測範囲の中心の座標[dot]、計測範囲の幅のX方向値[dot]及びY方向値[dot]、並びに、計測範囲の幅の座標[dot]を算出する。
計測範囲の中心の始点座標(dot_C_Sx,dot_C_Sy)及び終点座標(dot_C_Ex,dot_C_Ey)は、以下の式(16)~式(19)で表される。
dot_C_Sx[dot] = (CSX × cosθ2+ CSY × sinθ2) / 画像の分解能 (16)
dot_C_Sy[dot] = (CSY × cosθ2- CSX × sinθ2) / 画像の分解能 (17)
dot_C_Ex[dot] = (CEX × cosθ2+ CEY × sinθ2) / 画像の分解能 (18)
dot_C_Ey[dot] = (CEY × cosθ2- CEX × sinθ2) / 画像の分解能 (19)
CSXは、計測条件に含まれる計測範囲の中心の始点X座標である。CSYは、計測条件に含まれる計測範囲の中心の始点Y座標である。CEXは、計測条件に含まれる計測範囲の中心の終点X座標である。CEYは、計測条件に含まれる計測範囲の中心の終点Y座標である。
計測範囲の中心の始点座標(dot_C_Sx,dot_C_Sy)と終点座標(dot_C_Ex,dot_C_Ey)間のX方向の距離(dX)及びY方向の距離(dY)及び距離(dXY)は、以下の式(20)~式(22)で表される。
dX = dot_C_Ex - dot_C_Sx (20)
dY = dot_C_Ey - dot_C_Sy (21)
dXY = √(dX2 + dY2) (22)
計測範囲の中心の方向と幅の方向は垂直であるので、計測範囲の幅のX方向値(dot_W_dx)及びY方向値(dot_W_dy)は、以下の式(23)及び式(24)で表される。
dot_W_dx[dot] = W × dY / dXY / 画像の分解能 (23)
dot_W_dy[dot] = W × dX / dXY / 画像の分解能 (24)
計測範囲の幅の始点座標(dot_W_Sx,dot_W_Sy)及び終点座標(dot_W_Ex,dot_W_Ey)は、以下の式(25)~式(28)で表される。
dot_W_Sx[dot] = dot_C_Ex - dot_W_dx / 2 (25)
dot_W_Sy[dot] = dot_C_Ey - dot_W_dy / 2 (26)
dot_W_Ex[dot] = dot_C_Ex + dot_W_dx / 2 (27)
dot_W_Ey[dot] = dot_C_Ey + dot_W_dy / 2 (28)
コンピュータ1は、計測条件DB173から取得された計測条件に含まれる設定値と、算出した計測範囲の中心の座標[dot]、計測範囲の幅のX方向値[dot]及びY方向値[dot]、並びに、計測範囲の幅の座標[dot]とを出力する。そして、計測条件に含まれる設定値を用いて、計測範囲の中心の座標、計測範囲の幅のX方向値及びY方向値、並びに、計測範囲の幅の座標に基づく測定範囲において、対象物を測定することができる。
図24は、設定値及び計測範囲を出力して対象物を測定する際の処理手順を示すフローチャートである。コンピュータ1の制御部11は、プレートを撮影した画像を撮影部18により取得する(ステップS141)。制御部11は、取得した画像に含まれるコードから識別番号を取得する(ステップS142)。制御部11は、複数のマーカ間の画素数及びマーカ間の距離に基づき、実施形態1での式(1)または式(2)を用いて、画像の分解能を算出する(ステップS143)。
制御部11は、基準点となるマーカ(例えば、図19のマーカma及びマーカmb)の領域の中心座標に基づき、上述した式(6)を用いて、プレートの傾斜角度を算出する(ステップS144)。制御部11は、取得した識別番号に基づき、計測範囲及び設定値を含む計測条件を大容量記憶部17の計測条件DB173から取得する(ステップS145)。
制御部11は、取得した計測条件に含まれる計測範囲の座標[mm]、傾斜角度及びプレートの画像の分解能に基づき、上述した式(16)~式(26)を用いて、計測範囲の中心の座標[dot]、計測範囲の幅のX方向値[dot]及びY方向値[dot]、並びに、計測範囲の幅の座標[dot]を算出する(ステップS146)。
制御部11は、計測条件DB173から取得された計測条件に含まれる設定値と、算出した計測範囲の中心の座標[dot]、計測範囲の幅のX方向値[dot]及びY方向値[dot]、並びに、計測範囲の幅の座標[dot]とを表示部15により出力する(ステップS147)。制御部11は、プレートの画像と、出力した設定値及び計測範囲とに基づき、対象物を測定する(ステップS148)。制御部11は、処理を終了する。
本実施形態によると、対象物に対する第1時点における計測条件で、第1時点よりも後の第2時点において、当該対象物を計測することが可能となる。
本実施形態によると、対象物を前回と同条件で測定することにより、当該対象物に対し正確な経年変化を容易に把握することが可能となる。
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載しても良い。
1 情報処理装置(コンピュータ)
11 制御部
12 記憶部
13 通信部
14 入力部
15 表示部
16 読取部
17 大容量記憶部
171 分解能DB
172 誤差補正値DB
173 計測条件DB
18 撮影部
1a 可搬型記憶媒体
1b 半導体メモリ
1P 制御プログラム

Claims (12)

  1. コードと、前記コードを囲む複数のマーカとが記されたプレートを撮像した画像を取得し、
    取得した前記画像内の複数のマーカ間の画素数を特定し、
    取得した前記画像内の前記コードからマーカ間の距離を特定し、
    特定した複数のマーカ間の画素数及びマーカ間の距離に基づき、前記画像の分解能を算出する
    情報処理方法。
  2. 前記マーカはコードを囲む位置に等間隔で4つ設けられており、
    各マーカ間の画素数の差分または比が所定閾値以上である場合、撮像に傾きがあることを示す情報を出力する
    請求項1に記載の情報処理方法。
  3. 前記コードには向きを示す情報が含まれており、
    前記向きを示す情報に応じて、前記コードの値を読み取る
    請求項1又は2に記載の情報処理方法。
  4. 前記コードは2次元コードであり、
    前記コードの第1の行に向きを示す情報が付加されており、
    前記コードの第2の行以降にマーカ間の距離を示す情報がハミング符号化により付加されている
    請求項1又は2に記載の情報処理方法。
  5. 前記マーカ間の距離が相互に相違する複数種類のプレートが用意されており、
    撮影する対象物に前記複数種類のプレートから選択されて貼り付けられた一のプレートを撮像した画像を取得する
    請求項1又は2に記載の情報処理方法。
  6. 前記コードには、前記プレートを識別する識別情報が含まれ、
    前記画像内の前記コードから前記識別情報を特定し、
    撮影した対象物及び前記プレートを含む画像を、特定した識別情報、及び、算出した前記画像の分解能と対応付けて記憶する
    請求項1又は2に記載の情報処理方法。
  7. 前記コードを通じて、誤差補正値を取得し、
    特定した複数のマーカ間の画素数、及び、マーカ間の距離と、取得した誤差補正値とに基づき、前記画像の分解能を算出する
    請求項1又は2に記載の情報処理方法。
  8. 前記コードに対応付けて、撮影した対象物に対する計測条件を記憶する
    請求項1又は2に記載の情報処理方法。
  9. 前記コードを通じて、前記対象物に対する第1時点における計測条件を取得し、
    第1時点よりも後の第2時点において、取得した計測条件で前記対象物を計測する
    請求項8に記載の情報処理方法。
  10. 前記計測条件は、前記対象物に対する計測範囲であり、
    該計測範囲を規定する座標、前記プレートの傾斜角度、及び前記画像の分解能により導出される
    請求項8に記載の情報処理方法。
  11. コードと、前記コードを囲む複数のマーカとが記されたプレートを撮像した画像を取得し、
    取得した前記画像内の複数のマーカ間の画素数を特定し、
    取得した前記画像内の前記コードからマーカ間の距離を特定し、
    特定した複数のマーカ間の画素数及びマーカ間の距離に基づき、前記画像の分解能を算出する
    処理をコンピュータに実行させるプログラム。
  12. コードと、前記コードを囲む複数のマーカとが記されたプレートを撮像した画像を取得する取得部と、
    取得した前記画像内の複数のマーカ間の画素数を特定する第1特定部と、
    取得した前記画像内の前記コードからマーカ間の距離を特定する第2特定部と、
    特定した複数のマーカ間の画素数及びマーカ間の距離に基づき、前記画像の分解能を算出する算出部と
    を備える情報処理装置。
JP2022169990A 2021-12-01 2022-10-24 情報処理方法、プログラム及び情報処理装置 Pending JP2023081836A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021195510 2021-12-01
JP2021195510 2021-12-01

Publications (1)

Publication Number Publication Date
JP2023081836A true JP2023081836A (ja) 2023-06-13

Family

ID=86727993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022169990A Pending JP2023081836A (ja) 2021-12-01 2022-10-24 情報処理方法、プログラム及び情報処理装置

Country Status (1)

Country Link
JP (1) JP2023081836A (ja)

Similar Documents

Publication Publication Date Title
CN108362712B (zh) 一种基板母板及其检测方法
TWI413937B (zh) 影像辨識方法與裝置
KR101679720B1 (ko) 이차원 코드, 이차원 코드 생성 시스템 및 분석 프로그램
CA2606135C (en) Information input/output method using dot pattern
CN101155238B (zh) 图像区域检测方法及其装置
EP2091004A2 (en) Correcting for geometrical perspective distortion
CN111260615B (zh) 基于激光和机器视觉融合的无人机桥梁表观病害检测方法
CN108562250B (zh) 基于结构光成像的键盘键帽平整度快速测量方法与装置
JP2008256428A (ja) マイクロアレイ画像のブロック位置検出方法
JP2018156317A (ja) ひび割れ検出処理装置、およびひび割れ検出処理プログラム
WO2014077187A1 (ja) 二次元コード
JPH1089931A (ja) パターン検査方法及びその装置並びに半導体ウエハの製造方法
CN113506276B (zh) 一种测量结构位移的标志物及方法
US11144590B2 (en) Similar damage search device and a similar damage search method
CN115690090B (zh) 缺陷样本图像生成方法、装置、设备及存储介质
US11733174B2 (en) Information processing apparatus, information processing method, and storage medium
JP2005140547A (ja) 3次元計測方法、3次元計測装置、及びコンピュータプログラム
JP2010071768A (ja) 車両検査装置
JP2023081836A (ja) 情報処理方法、プログラム及び情報処理装置
JP2676040B2 (ja) コンクリート部材の面内変位計測方法
KR102227341B1 (ko) 위치 어긋남량 취득 장치, 검사 장치, 위치 어긋남량 취득 방법 및 검사 방법
CN101666641B (zh) 影像辨识方法
CN117940950A (zh) 信息处理装置、方法及程序、以及图像数据结构
JP2623844B2 (ja) 文字行抽出装置
CN112964192A (zh) 一种基于图像视频的工程测量在线标定方法及系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221028