(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-29
(45)【発行日】2024-11-07
(54)【発明の名称】画像処理装置
(51)【国際特許分類】
G06T 3/18 20240101AFI20241030BHJP
E02F 9/26 20060101ALI20241030BHJP
G06T 7/70 20170101ALI20241030BHJP
【FI】
G06T3/18
E02F9/26 A
G06T7/70 B
(21)【出願番号】P 2020154650
(22)【出願日】2020-09-15
【審査請求日】2023-03-15
(73)【特許権者】
【識別番号】000005522
【氏名又は名称】日立建機株式会社
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】奥村 崇
(72)【発明者】
【氏名】金野 浩之
(72)【発明者】
【氏名】猪瀬 聡志
【審査官】橘 高志
(56)【参考文献】
【文献】国際公開第2014/061372(WO,A1)
【文献】特開2019-192156(JP,A)
【文献】特開2014-194729(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/18
E02F 9/26
G06T 7/70
(57)【特許請求の範囲】
【請求項1】
対象物の対象面の画像を撮像装置から取得するとともに前記撮像装置と前記対象面との距離を距離センサから取得して前記対象面の画像を正対画像に変換する画像処理装置であって、
各点群が互いに離隔し、かつ前記各点群から選択した各一の点が同一直線上に存在しないように、前記対象面
に第1点群と第2点群と第3点群とを設定し、
前記第1点群と前記第2点群と前記第3点群とにそれぞれn個(nは2以上の自然数)の点を設定し、
前記撮像装置から、前記第1点群の各点までの距離、前記第2点群の各点までの距離、および前記第3点群の各点までの距離を、前記距離センサから取得し、
前記第1点群から選択した一の点と前記第2点群から選択した一の点と前記第3点群から選択した一の点とに基づいて平面を算出する平面算出処理をすべての点の組み合わせに対して実行して第1平面群を算出し、
前記平面算出処理によってn
3
個の平面を含む前記第1平面群を算出し、
前記第1平面群の全平面の単位法線ベクトルを平均した平均ベクトルを法線ベクトルとし、かつ前記第1点群と前記第2点群と前記第3点群とに含まれる全点との距離の総和が最小となる第1平均平面を算出し、
前記第1平均平面に基づいて前記対象面の画像を前記正対画像に変換することを特徴とする画像処理装置。
【請求項2】
前記撮像装置から取得した前記対象面の画像を前記第1点群、前記第2点群、および前記第3点群とともに表示装置に表示させることを特徴とする請求項
1に記載の画像処理装置。
【請求項3】
前記第1平均平面までの距離がしきい値以上である点とそれ以外の点とを前記表示装置に異なる色で表示させることを特徴とする請求項
2に記載の画像処理装置。
【請求項4】
前記第1平均平面までの距離がしきい値以上である点を前記第1点群と前記第2点群と前記第3点群
とから除外し、残存する点のすべての組み合わせに対して前記平面算出処理を実行して第2平面群を算出し、
前記第2平面群の全平面の単位法線ベクトルを平均した平均ベクトルを法線ベクトルとし、かつ前記残存する点との距離の総和が最小となる第2平均平面を算出し、
前記第2平均平面の前記法線ベクトルが前記正対画像の画像面の法線ベクトルと平行になるように前記第2平均平面の回転角度を算出し、
前記回転角度に基づいて前記対象面の画像を前記正対画像に変換することを特徴とする請求項1から請求項
3のいずれか一項に記載の画像処理装置。
【請求項5】
前記第1平均平面の前記法線ベクトルが前記正対画像の画像面の法線ベクトルと平行になるように前記第1平均平面の回転角度を算出し、
前記回転角度に基づいて前記対象面の画像を前記正対画像に変換することを特徴とする請求項1に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置に関する。
【背景技術】
【0002】
従来からデジタルスチルカメラなどに用いられ、被写体面を撮影した画像の斜め撮影による歪みの補正を行う画像処理装置が知られている(下記特許文献1を参照)。この従来の画像処理装置は、被写体面を撮像する撮像手段と、この撮像手段を基準とした前記被写体面の向きを計測する平面計測手段と、この計測した被写体面の向きに基づいて前記撮像手段が撮像した画像の斜め撮影による歪みを補正する画像歪み補正手段と、を備えている(同文献、請求項1)。この従来の画像処理装置によれば、任意の被写体面を任意の視点、姿勢で撮影した場合でも、平面を計測することにより、簡便に画像の歪みを補正することができる(同文献、第0016段落および第0077段落)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
たとえば、機械部品の摩耗状態などを画像に基づいて評価するためには、部品の正面を撮像面に正対させた正対画像が必要になる。しかし、部品の正面は、必ずしも平坦ではなく、異物が付着するなどして凹凸が形成されている場合がある。このような部品を被写体とした場合、前記従来の画像処理装置は、撮像手段を基準とした機械部品の向きを計測することが困難になり、撮像手段が撮像した画像の斜め撮影による歪みを補正することができないおそれがある。
【0005】
本開示は、被写体の凹凸を有する対象面を斜めから撮影した画像を、撮像面に対象面を正対させた正対画像に変換することが可能な画像処理装置を提供する。
【課題を解決するための手段】
【0006】
本開示の一態様は、対象物の対象面の画像を撮像装置から取得するとともに前記撮像装置と前記対象面との距離を距離センサから取得して前記対象面の画像を正対画像に変換する画像処理装置であって、前記対象面に互いに離隔した第1点群と第2点群と第3点群とを設定し、前記撮像装置から、前記第1点群の各点までの距離、前記第2点群の各点までの距離、および前記第3点群の各点までの距離を、前記距離センサから取得し、前記第1点群から選択した一の点と前記第2点群から選択した一の点と前記第3点群から選択した一の点とに基づいて平面を算出する平面算出処理をすべての点の組み合わせに対して実行して第1平面群を算出し、前記第1平面群の全平面の単位法線ベクトルを平均した平均ベクトルを法線ベクトルとし、かつ前記第1点群と前記第2点群と前記第3点群とに含まれる全点との距離の総和が最小となる第1平均平面を算出し、前記第1平均平面に基づいて前記対象面の画像を前記正対画像に変換することを特徴とする画像処理装置である。
【発明の効果】
【0007】
本開示の上記一態様によれば、被写体の凹凸を有する対象面を斜めから撮影した画像を、撮像面に対象面を正対させた正対画像に変換することが可能な画像処理装置を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】本開示に係る画像処理装置の一実施形態を示すブロック図。
【
図2】
図1の画像処理装置の処理対象の一例を示す作業機械の側面図。
【
図3A】
図1の画像処理装置による処理の流れの一例を示すフロー図。
【
図3B】
図1の画像処理装置による処理の流れの一例を示すフロー図。
【
図4】
図1の状態評価装置の表示装置に表示された対象面と複数の点群の画像図。
【
図5】
図1の表示装置に表示された機械部品とガイド線の一例を示す画像図。
【
図6】
図1の画像処理装置が算出する第1平面群と単位法線ベクトルの概念図。
【
図7】
図1の画像処理装置が実行する平面算出処理の説明図。
【
図8】
図1の画像処理装置が算出する第1平均平面と平均ベクトルの概念図。
【
図9】
図1の画像処理装置が算出する第2平面群と平均ベクトルの概念図。
【
図10】
図1の画像処理装置による第1/第2平均平面の回転処理の概念図。
【
図11】
図1の画像処理装置による第1/第2平均平面の回転処理の概念図。
【
図12】
図1の画像処理装置による第1/第2平均平面の回転処理の概念図。
【
図13】
図1の画像処理装置による第1/第2平均平面の回転処理の概念図。
【
図14】
図1の画像処理装置による正対画像の算出処理の概念図。
【
図15】
図1の画像処理装置による正対画像の算出処理の概念図。
【
図16】スプロケットの一部の平面図と、二種類のスプロケットの側面図。
【
図17】
図1の画像処理装置による正対画像の二次回転の説明図。
【発明を実施するための形態】
【0009】
以下、図面を参照して本開示に係る画像処理装置の一実施形態を説明する。
【0010】
図1は、本開示に係る画像処理装置150の一実施形態を示すブロック図である。本実施形態の画像処理装置150は、たとえば、機械部品の状態評価装置100の一部を構成している。状態評価装置100は、たとえば、機械を構成する部品の画像に基づいて、その部品の摩耗などの状態を評価する。状態評価装置100は、たとえば、撮像装置110と、距離センサ120と、入力装置130と、表示装置140と、本実施形態の画像処理装置150と、を備えている。
【0011】
撮像装置110は、たとえば、デジタルカメラであり、レンズを含む光学系と、受光素子を含む電子系と、これらを保持する筐体とを備えている。撮像装置110は、たとえば、スマートフォンなどの撮像機能を備えた携帯情報端末であってもよい。距離センサ120は、たとえばTOF(Time-of-Flight)方式で対象物までの距離を測定するイメージセンサである。距離センサ120は、たとえば、パルス変調した光源を備え、光源からの発光のタイミングと、対象物の反射光をイメージセンサで受光したタイミングとの位相差情報に基づいて、対象物の対象面上の複数の点の距離を測定する。
【0012】
また、撮像装置110または距離センサ120は、距離を測定する対象面上の複数の点を可視化する。具体的には、撮像装置110または距離センサ120は、たとえば、距離を測定する対象面上の複数の点に可視光レーザを照射する可視化用の光源を備える。この可視化用の光源は、たとえば測距用の光源を兼ねてもよい。また、撮像装置110または距離センサ120は、他の方法によって、距離を測定する対象面上の複数の点を可視化してもよい。なお、撮像装置110は、距離センサ120を含んでもよい。
【0013】
入力装置130は、たとえば、撮像装置110に設けられた操作ボタン、操作ダイヤル、もしくは、タッチセンサ、表示装置140に設けられたタッチパネル、または撮像装置110および表示装置140とは別に画像処理装置150に接続されたキーボードもしくはマイクなどを含む。状態評価装置100および画像処理装置150のオペレータは、たとえば、入力装置130を介して画像処理装置150に必要な情報を入力する。
【0014】
表示装置140は、たとえば、撮像装置110に設けられたファインダー、液晶表示装置、もしくは有機EL表示装置、または、撮像装置110とは別に画像処理装置150に接続された液晶表示装置、有機EL表示装置、もしくはスマートフォンなどの携帯情報端末を含む。
【0015】
画像処理装置150は、たとえば、入出力部151と、中央処理装置(CPU)などの処理装置152と、RAMやROMなどの記憶装置153と、その記憶装置153に記憶された各種の制御プログラムと、図示を省略するタイマなどを備えたマイクロコントローラである。画像処理装置150は、記憶装置153に記憶された各種の制御プログラムを処理装置152によって実行することで、後述する様々な処理および機能を実現する。
【0016】
入出力部151は、たとえば、撮像装置110、距離センサ120、入力装置130、および表示装置140に対して情報通信可能に接続されている。処理装置152は、たとえば、入出力部151に対して情報通信可能に接続され、入出力部151を介して撮像装置110、距離センサ120、入力装置130、表示装置140および記憶装置153との間で、制御信号や情報の授受を行う。記憶装置153は、たとえば、各種の制御プログラムやデータを記憶するとともに、処理装置152の処理結果や、撮像装置110、距離センサ120、および入力装置130から入力された情報を記憶する。
【0017】
図2は、作業機械200の一例を示す側面図である。
図1に示す本実施形態の状態評価装置100の評価対象は、たとえば、作業機械200の部品である。また、
図1に示す本実施形態の画像処理装置150の画像処理対象は、たとえば、作業機械200の部品である。作業機械200は、たとえば、油圧ショベルである。なお、作業機械200は、油圧ショベルに限定されず、他の作業機械であってもよい。
【0018】
作業機械200は、たとえば、走行装置210と、旋回体220と、フロント作業機230と、を備えている。旋回体220は、たとえば、走行装置210の上に油圧モータまたは電動モータを備えた旋回機構を介して旋回可能に設けられている。フロント作業機230は、たとえば、ブーム231とアーム232とバケット233とが、それぞれ関節を介して連結されたリンク機構を有する。フロント作業機230は、油圧装置によって油圧シリンダ231S,232S,233Sを伸縮させることで、掘削作業やならし作業などの所望の作業を行うことができる。
【0019】
走行装置210は、たとえば、スプロケット211と、アイドラ212と、リンクアッセンブリ213と、上部ローラ214と、下部ローラ215と、シュープレート216とを備えたクローラ式の走行装置である。スプロケット211は、たとえば、油圧装置によって駆動される油圧モータに動力伝達機構を介して接続されている。リンクアッセンブリ213は、スプロケット211、アイドラ212、上部ローラ214および下部ローラ215に架け渡されている。
【0020】
複数のシュープレート216は、環状のリンクアッセンブリ213の外側に取り付けられ、下方側に位置する複数のシュープレート216が接地する。このような構成により、油圧モータが回転すると、スプロケット211が回転して、外側に複数のシュープレート216が取り付けられた環状のリンクアッセンブリ213が、アイドラ212、上部ローラ214および下部ローラ215の周りを回転して作業機械200を走行させる。
【0021】
たとえば、走行装置210のスプロケット211、アイドラ212、リンクアッセンブリ213、上部ローラ214、下部ローラ215などの機械部品は、部品間に入り込んだ土砂と部品との間の摩擦によって損耗が進行する。本実施形態の画像処理装置150は、このような機械部品を対象物とし、その対象物の対象面を、撮像装置110によって撮影し、その対象面の画像を処理して正対画像に変換する。
【0022】
次に、
図3Aおよび
図3Bを参照して、本実施形態の画像処理装置150の動作を説明する。
図3Aおよび
図3Bは、
図1の画像処理装置150による処理の流れの一例を示すフロー図である。
【0023】
状態評価装置100のオペレータは、たとえば、作業機械200のスプロケット211の対象面を撮像装置110によって撮影し、その対象面の画像を画像処理装置150によって正対画像に変換することで、スプロケット211の摩耗などの状態を評価する。オペレータが状態評価装置100を起動すると、画像処理装置150は、まず、設定の表示および取得を行う処理P1を実行する。
【0024】
この処理P1において、画像処理装置150は、たとえば、後述する処理P13で用いるしきい値を表示装置140に表示させる。オペレータは、表示装置140に表示されたしきい値を確認する。このしきい値は、たとえば、後述する第1平均平面H1に対する凹凸の高さのしきい値である。また、オペレータは、表示装置140に表示されたしきい値を変更する場合は、入力装置130を操作して、新たにしきい値を入力する。この場合、画像処理装置150は、オペレータによって入力された新たなしきい値を入力装置130から取得して記憶装置153に記憶させる。
【0025】
また、この処理P1において、画像処理装置150は、たとえば、後述する処理で得られたスプロケット211の対象面211fの正対画像を回転させる二次回転の要否を、表示装置140に表示させる。オペレータは、表示装置140に表示された二次回転の要否を変更する場合は、入力装置130を操作して、新たに二次回転の要否を入力する。この場合、画像処理装置150は、オペレータによって入力された二次回転の要否を入力装置130から取得して記憶装置153に記憶させる。
【0026】
また、この処理P1において、画像処理装置150は、たとえば、撮像装置110による自動撮影の有無を、表示装置140に表示させる。オペレータは、表示装置140に表示された自動撮影の有無を変更する場合は、入力装置130を操作して、新たに自動撮影の有無を入力する。この場合、画像処理装置150は、オペレータによって入力された自動撮影の有無を入力装置130から取得して記憶装置153に記憶させる。
【0027】
次に、画像処理装置150は、たとえば、スプロケット211の対象面の正対画像を回転させる二次回転を行うか否かを判定する処理P2を実行する。記憶装置153に記憶された二次回転の有無が「有」(YES)の場合、画像処理装置150は、ガイド線を表示する処理P3を実行する。
【0028】
画像処理装置150は、処理P3において、たとえば、撮像装置110のファインダーなどの表示装置140に、評価対象の部品であるスプロケット211の輪郭形状に応じたガイド線を表示させる。オペレータは、たとえば、表示装置140に表示されたガイド線とスプロケット211の輪郭形状を一致させるように、撮像装置110の姿勢を調整する。
【0029】
次に、画像処理装置150は、たとえば、撮像装置110による自動撮影の有無を判定する処理P4を実行する。記憶装置153に記憶された自動撮影の有無が「有」(YES)の場合、画像処理装置150は、自動撮影の条件を満足するか否かを判定する処理P5を実行する。
【0030】
図4は、撮像装置110のファインダー等の表示装置140に表示されたスプロケット211の対象面211fと、その対象面上の複数の点群の画像図である。
図5は、表示装置140に表示されたスプロケット211とガイド線GLの一例を示す画像図である。画像処理装置150は、たとえば、
図4に示すように、状態評価装置100の評価対象であるスプロケット211の対象面211fに、互いに離隔した第1点群G1と第2点群G2と第3点群G3とを設定する。
【0031】
第1点群G1、第2点群G2、および第3点群G3は、それぞれ、複数の点pを含んでいる。第1点群G1、第2点群G2、および第3点群G3は、たとえば、nを2以上の自然数として、それぞれn個の点pを含んでもよい。画像処理装置150は、たとえば、点pの数であるnの値、各点群の位置、および各点群に含まれる点pの位置などを、用途に応じて容易に変更することができる。
【0032】
第1点群G1、第2点群G2、および第3点群G3の各点群に含まれる点pの数は、特に限定はされないが、たとえば、2点以上、3点以上、5点以上、または10点以上である。任意の一つの点群に含まれる任意の二つの点pの間の距離は、たとえば、任意の二つの点群のうちの一方の点群に含まれる任意の一つの点pと他方の点群に含まれる任意の一つの点pとの間の距離よりも近い。また、画像処理装置150は、各点群から1点ずつ選択した3つの点pが一直線上に存在しないように、各点群に含まれる複数の点pの位置を設定する。
【0033】
距離センサ120は、第1点群G1、第2点群G2、および第3点群G3の各々に含まれる各点pまでの距離を測定して、画像処理装置150へ出力する。また、撮像装置110または距離センサ120は、たとえば前述のように、光源から可視光レーザを照射して、距離を測定する対象面211f上の複数の点pを可視化する。
【0034】
画像処理装置150は、自動撮影の条件を満足するか否かを判定する処理P5において、たとえば、
図5の上図に示すように、表示装置140にガイド線GLを表示する。オペレータは、たとえば、
図5の下図に示すように、スプロケット211の歯の先端などの基準点がガイド線GL上に位置するように、撮像装置110の向きを調整する。より具体的には、画像処理装置150は、たとえば、距離センサ120から得られた距離の情報に基づいて、ガイド線GL上におけるスプロケット211の輪郭を基準点として検出する。
【0035】
この場合、処理P5において、画像処理装置150は、たとえば
図5に示すように、ガイド線GL上の基準点の数が3点以上から2点になったと判定すると、条件を満足した(YES)と判定する。すると、画像処理装置150は、たとえば、距離センサ120からスプロケット211の基準点の座標を取得するとともに、撮像装置110によって被写体であるスプロケット211の対象面211fの画像を撮影する処理P8を実行する。
【0036】
一方、前述の二次回転を行うか否かを判定する処理P2において、二次回転の有無が「無」(NO)の場合、画像処理装置150は、たとえば、第1点群G1、第2点群G2および第3点群G3を含む複数の点群を表示する処理P6を実行する。この処理P6において、画像処理装置150は、たとえば撮像装置110または距離センサ120などの光源から可視光レーザを照射して、対象面211f上に第1点群G1、第2点群G2および第3点群G3の各々の複数の点pを表示装置140に表示する。さらに、画像処理装置150は、オペレータが撮影操作を行ったか否かを判定する処理P7を実行する。
【0037】
オペレータは、たとえば、表示装置140に表示された第1点群G1、第2点群G2および第3点群G3が対象面211f上に適切に位置するように撮像装置110の向きを調整して、撮像装置110のシャッターボタンを押下するなど、手動による撮影操作を行う。画像処理装置150は、オペレータが撮像操作を行った(YES)と判定すると、撮像装置110によりスプロケット211の対象面211fの画像を撮影する処理P8を実行する。画像処理装置150は、処理P7において、オペレータが撮像操作を行っていない(NO)と判定すると、判定処理P7を繰り返す。
【0038】
また、前述の自動撮影の有無を判定する処理P4において、画像処理装置150は、自動撮影の有無が「無」(NO)の場合、オペレータが撮影操作を行ったか否かを判定する処理P7を実行する。オペレータは、たとえば、前述の処理P3で撮像装置110のファインダーなどの表示装置140に表示されたガイド線GLが、スプロケット211の歯先の基準点上に位置するように、撮像装置110の向きを調整して、手動による撮像操作を行う。
【0039】
画像処理装置150は、オペレータが撮像操作を行った(YES)と判定すると、撮像装置110によりスプロケット211の対象面211fの画像を撮影する処理P8を実行し、オペレータが撮像操作を行っていない(NO)と判定すると、判定処理P7を繰り返す。
【0040】
次に、画像処理装置150は、たとえば、
図4に示すように、処理P8で撮影したスプロケット211の対象面211fの画像と、第1点群G1、第2点群G2および第3点群G3とを、表示装置140の画面上に重ねて表示する処理P9を実行する。さらに、画像処理装置150は、たとえば、撮像の成否を取得する処理P10を実行する。
【0041】
この処理P10において、画像処理装置150は、たとえば、表示装置140に撮像の成否を確認するための文字、アイコン、画像などの確認表示を表示させる。オペレータは、たとえば、表示装置140上で可視化された第1点群G1、第2点群G2および第3点群G3の各点pと、確認表示を視認する。オペレータは、たとえば、表示装置140上の確認表示に従って、タッチパネルを押下するなどして、入力装置130に撮像の成否を入力する。
【0042】
より具体的には、オペレータは、たとえば、各点pがスプロケット211の対象面211f上に位置する場合に、入力装置130に撮像の成功を表す「はい」を入力し、それ以外の場合は入力装置130に撮像の失敗を表す「いいえ」を入力する。画像処理装置150は、オペレータが入力装置130を介して入力した撮像の成否を、入力装置130から取得する。
【0043】
次に、画像処理装置150は、入力装置130から取得した撮像の成否が、成功であるか否かを判定する処理P11を実行する。この処理P11において、画像処理装置150は、処理P10で取得した撮像の成否が、成功ではない(NO)と判定すると、前述の処理P2へ戻る。一方、この処理P11において、画像処理装置150は、処理P10で取得した撮像の成否が、成功である(YES)と判定すると、第1平均平面を算出する処理P12を実行する。
【0044】
図6は、処理P12で算出される第1平面群PG1と、その第1平面群PG1に含まれる各平面の単位法線ベクトルNV1,NV2,・・・,NVnの概念図である。処理P12において、画像処理装置150は、たとえば、距離センサ120から、
図4に示す第1点群G1の各点pまでの距離と、第2点群G2の各点pまでの距離と、第3点群G3の各点pまでの距離とを取得する。
【0045】
画像処理装置150は、たとえば、距離センサ120を原点として、X軸、Y軸、およびZ軸からなる直交座標系を設定し、各点pの座標を算出する。さらに、画像処理装置150は、第1点群G1から選択した一の点pと、第2点群G2から選択した一の点pと、第3点群G3から選択した一の点pとに基づいて、平面を算出する平面算出処理を、すべての点pの組み合わせに対して実行する。これにより、画像処理装置150は、
図6に示すような第1平面群PG1を算出することができる。
【0046】
図7は、処理P12において画像処理装置150が実行する平面算出処理の説明図である。たとえば、第1点群G1に含まれる任意の点p1の座標を(x1,y1,z1)とし、第2点群G2に含まれる任意の点p2の座標を(x2,y2,z2)とし、第3点群G3に含まれる任意の点p3の座標を(x3,y3,z3)とする。これらの点p1、点p2および点p3を通る平面の式をax+by+cz+d=0とすると、この平面の単位法線ベクトルNVは、ベクトルV=(a,b,c)に平行である。
【0047】
ここで、ベクトルα=(x,y,z)=(x2-x1,y2-y1,z2-z1)とし、ベクトルα'=(x',y',z')=(x3-x1,y3-y1,z3-z1)とすると、これらの外積は、α×α'=(yz'-y'z,zx'-z'x,xy'-x'y)となる。このベクトルαとベクトルα'の外積α×α'は、上記平面の単位法線ベクトルNVと平行である。
【0048】
したがって、(a,b,c)=α×α'とすれば、d=-(ax1+by1+cz1)となる(∵ax1+by1+cz1+d=0)。以上により、上記平面の式が求められ、単位法線ベクトルNVは、(α×α')/|α×α'|となる。なお、この単位法線ベクトルNVの-1倍も、上記平面に対して反対側の単位法線ベクトルとなるが、第1点群G1、第2点群G2、第3点群G3を固定すれば、n3個の単位法線ベクトルNVのすべてが、上記平面に対して同じ側に揃う。
【0049】
次に、画像処理装置150は、たとえば、スプロケット211の対象面211fの凹凸を、各点pの色で表示する処理P13を実行する。
図8は、この処理P13で画像処理装置150によって算出される第1平均平面H1と平均ベクトルV1の概念図である。
【0050】
この処理P13において、画像処理装置150は、まず、第1平均平面H1を算出する。第1平均平面H1は、第1平面群PG1の全平面の単位法線ベクトルNVを平均した平均ベクトルV1を法線ベクトルとし、かつ第1点群G1と第2点群G2と第3点群G3とに含まれる全点pとの距離の総和が最小となる平面である。第1点群G1と第2点群G2と第3点群G3とに含まれる全点pの数は、たとえば3n個である。第1平均平面H1の式をax+by+cz+d=0とすると、上記の平均ベクトルからa,b,cが求められ、dは最小絶対値法などによって容易に算出することができる。
【0051】
さらに処理P13において、画像処理装置150は、あらかじめ設定され、または処理P1で新たに設定されて記憶装置153に記憶されたしきい値を取得する。このしきい値は、前述のように、第1平均平面H1に対する凹凸の高さhのしきい値である。画像処理装置150は、第1点群G1、第2点群G2および第3点群G3の各点pの座標に基づいて、距離センサ120からの距離が第1平均平面H1よりも近く、第1平均平面H1から突出する高さhがしきい値Th[mm]以上である点pを、隆起点として認識する。
【0052】
また、画像処理装置150は、第1点群G1、第2点群G2および第3点群G3の各点pの座標に基づいて、距離センサ120からの距離が第1平均平面H1よりも遠く、第1平均平面H1から陥没する高さhがしきい値Td[mm]以上である点を、陥没点として認識する。画像処理装置150は、たとえば、隆起点と陥没点とそれ以外の点とを、異なる色で表示装置140に表示させる。また、画像処理装置150は、たとえば、隆起点が第1平均平面H1から突出する高さと、陥没点が第1平均平面H1から陥没する高さとを、表示装置140に表示させる。
【0053】
次に、画像処理装置150は、操作内容を取得する処理P14を実行する。この処理P14において、画像処理装置150は、たとえば、表示装置140に操作内容の選択肢を示す画像、文字、またはアイコンなどを表示させる。操作内容の選択肢は、たとえば、「再撮影」、「しきい値の変更」、「次の処理へ進む」などである。画像処理装置150は、たとえば、タッチパネルなどの入力装置130を介して、オペレータが入力した操作内容を取得する。
【0054】
オペレータは、たとえば、処理P13で表示装置140に表示された隆起点が、スプロケット211の対象面211fに付着した泥などの除去可能な異物によるものと認識した場合、その異物を除去した後に「再撮影」の選択肢を選択することができる。また、撮像装置110の被写体の対象面が、たとえば、疑似的に平面とみなせるような径の大きい球の表面の一部である場合、凹凸がなくても対象面上の点pが隆起点や陥没点として認識されることが考えられる。このような場合、オペレータが「次の処理へ進む」の選択肢を選択することで、隆起点や陥没点として認識された点pを除外することなく、対象面上のすべての点pを使用することができる。
【0055】
次に、画像処理装置150は、再撮影を行うか否かを判定する処理P15を実行する。この処理P15において、画像処理装置150は、前述の処理P14で取得した操作内容が「再撮影」である(YES)と判定すると、前述の処理P2に戻る。また、この処理P15において、画像処理装置150は、前述の処理P14で取得した操作内容が「再撮影」ではない(NO)と判定すると、次の処理P16を実行する。
【0056】
処理P16において、画像処理装置150は、前述の処理P14で取得した操作内容が「しきい値の変更」であるか否かを判定する。画像処理装置150は、操作内容が「しきい値の変更」である(YES)と判定すると、前述の処理P1と同様に、しきい値を取得する処理P17を実行して、前述の処理P13に戻る。また、画像処理装置150は、操作内容が「しきい値の変更」ではない(NO)と判定すると、除外の有無を取得する処理P18を実行する。
【0057】
処理P18において、画像処理装置150は、たとえば、表示装置140に選択肢として「正常点」と「全点」を表示させる。オペレータは、たとえば、タッチパネルを押下するなど、入力装置130を介して選択肢を選択する。画像処理装置150は、オペレータが入力した選択肢を入力装置130から取得する。
【0058】
次に、画像処理装置150は、除外の有無を判定する処理P19を実行する。前述の処理P18で「全点」の選択肢が取得された場合、画像処理装置150は、処理P19において、除外なし(NO)と判定し、前述の処理P12で算出した第1平均平面H1とその法線ベクトルである平均ベクトルV1を取得する処理P20を実行する。この場合、画像処理装置150は、次の回転角度を算出する処理P22において、第1平均平面H1を使用する。
【0059】
一方、前述の処理P18で「正常点」の選択肢が取得された場合、画像処理装置150は、処理P19において、除外あり(YES)と判定して、第2平均平面H2を算出する処理P21を実行する。
【0060】
図9は、第2平面群PG2を算出する処理P21の概念図である。前述の処理P13において隆起点または陥没点として認識した点pを除外して、それ以外の点pを使用する以外は、前述の処理P12で算出した第1平面群PG1と同様に、第2平面群PG2を算出する。このように、隆起点や陥没点を除外することで、たとえば、
図6に示す第1平面群PG1において他の複数の平面の単位法線ベクトルNV1,NV2,NV3に対して大きく角度が異なる単位法線ベクトルNVnを有する平面を、
図9に示す第2平面群PG2から除外することができる。
【0061】
さらに、処理P21において、画像処理装置150は、前述の処理P13で算出した第1平均平面H1と同様に、第2平均平面H2を算出する。この場合、画像処理装置150は、次の回転角度を算出する処理P22において、第2平均平面H2を使用する。第2平均平面H2は、第2平面群PG2の全平面の単位法線ベクトルNVを平均した平均ベクトルV2を法線ベクトルとし、かつ第1点群G1と第2点群G2と第3点群G3の全点pから隆起点および陥没点を除いた残りの点pとの距離の総和が最小となる平面である。
【0062】
次に、画像処理装置150は、正対画像ではない第1平均平面H1または第2平均平面H2を、正対画像に変換するための回転角度を算出する処理P22を実行する。以下、この処理P22を、
図10から
図14を参照して説明する。ここで、正対画像とは、たとえば、撮像装置110の撮像面に正対する画像である。また、撮像面とは、たとえば、撮像素子の受光面であり、撮像装置110のレンズの光軸に垂直な面である。
【0063】
画像処理装置150は、たとえば、
図10に示すように撮像装置110によって撮影された画像Gの全座標(x,y)に対応する第1平均平面H1または第2平均平面H2上の点(x',y',z')を求める。この点(x',y',z')は、撮像装置110のレンズの歪みがないものとみなせる場合、(x,y)からレンズへ向かうベクトルに基づいて求めてもよい。また、点(x',y',z')は、撮像装置110のレンズの歪みを考慮して求めてもよい。
【0064】
正対画像ではない第1平均平面H1または第2平均平面H2が、式:a
x+b
y+c
z+d=0で表され、(a,b,c)≠(0,0,c)であるとする。この場合、たとえば、
図11に示すように、z←z-d/cとして座標系を取り直し、a,b,cを正規化して、式:ax+by+cz+d=0かつa
2+b
2+c
2=1で表される原点を通る平面としても一般性を失わない。この平面上の任意の点pは、
(c,0,-a)⊥(a,b,c)、
(0,c,-b)⊥(a,b,c)、
媒介変数s,tにより、以下の式(1)で表される。
【0065】
p(x,y)=s(c,0,-a)+t(0,c,-b) ・・・(1)
【0066】
これは、
図11に示す二重三角形の平面を構成する。
この点pを、θ=arctan(a/c)として、y軸まわりに回転角度θで回転すると、以下の式(2)で表される点p'が得られる。
【0067】
p'(x',y')=s(c・secθ,0,0)
+t(b・sinθ,c,-b・cosθ) ・・・(2)
【0068】
この点p'は、x軸を含み(t=0のときx軸となる)、
図12に示す二重三角形の平面を構成する。この点p'を、φ=arctan(b・cosθ/c)として、x軸まわりに回転角度φで回転すると、以下の式(3)で表される点p"が得られる。
【0069】
p"(x",y")=s(c・secθ,0,0)
+t(b・sinθ,b・cosθ・sinφ+c・cosφ,-b・cosθ)
=(s・D+t・a・b/D,t・c/D,0) ・・・(3)
【0070】
ただし、式(3)において、D=(a
2+c
2)
1/2である。この点p"は、xy平面に一致するため(z座標は常に0)、正対画像であり、
図13に示す二重三角形の平面を構成する。以上のように、処理P22において、画像処理装置150は、たとえば、第1平均平面H1または第2平均平面H2を撮像装置110の撮像面に平行になるように回転させて正対画像に変換するための回転角度θ,φを算出する。
【0071】
次に、画像処理装置150は、
図3Bに示すように、正対画像を算出する処理P23を実行する。この処理P23において、画像処理装置150は、
図14に示すように、撮像装置110の撮像面に平行になるように回転させた第1平均平面H1または第2平均平面H2上において、撮像装置110によって撮影された画像Gの全座標(x,y)に対応する点(x",y",z")を求める。
【0072】
正対画像ではないスプロケット211の対象面211fの画像を正対画像に変換するには、座標(x,y)の画素の色を、座標(x",y")の画素に移す。画素の色は、一般に、三原色(R,G,B)のそれぞれの数値で表される。x,yが正数値であっても、x",y"が正数値になるとは限らない。
【0073】
図15に示す例では、たとえば、変換前の画像における座標(x,y)の画素の領域に、変換後の画像における座標(x",y")の領域が対応している。この変換後の画像における座標(x",y")の領域は、たとえば、変換後の画像における4つの画素にまたがっている。この場合、変換前の画像の画素の三原色(R,G,B)の数値に、その変換前の画像の画素が変換後の画像の各画素と重複する面積の割合を乗じた値を、変換後の画像の各画素の三原色(R,G,B)の数値に加算する。
【0074】
より具体的には、
図15に示す例において、変換後の画像における座標(x",y")の領域が、変換後の画像における4つの画素のそれぞれの面積の1/4ずつ重複しているとする。また、変換前の画像における座標(x,y)の画素の三原色の数値が、たとえば、(R,G,B)=(128,64,192)であるとする。この場合、変換前の画像における座標(x,y)の画素の三原色の数値の1/4である(R,G,B)=(32,16,48)を、変換後の画像における4つの画素のそれぞれの三原色(R,G,B)の数値に加算する。これにより、変換後の画像における4つの画素の三原色の数値を求めることができる。
【0075】
以上のように、画像処理装置150は、正対画像を算出する処理P23において、変換前の画像における座標(x,y)の画素の三原色の数値を、変換後の画像における画素の三原色の数値に対応させる。これにより、撮像装置110によって撮影されたスプロケット211の対象面211fの画像から、第1平均平面H1または第2平均平面H2を撮像装置110の撮像面に正対させた正対画像を生成することができる。
【0076】
次に、画像処理装置150は、たとえば、
図3Bに示すように、二次回転の有無を判定する処理P24を実行する。この処理P24において、画像処理装置150は、記憶装置にあらかじめ記憶され、または、前述の処理P1で入力された二次回転の有無が「無」である場合、二次回転を行わない(NO)と判定して、
図3Aおよび
図3Bに示す処理を終了する。
【0077】
また、処理P24において、画像処理装置150は、記憶装置にあらかじめ記憶され、または、前述の処理P1で入力された二次回転の有無が「有」である場合、二次回転を行う(YES)と判定して、正対画像を算出する処理P25を実行する。
【0078】
図16は、二次回転の要否を説明するためのスプロケット211の一部の平面図と、二種類のスプロケット211A,211Bの側面図である。
【0079】
図2に示す作業機械200のスプロケット211としては、たとえば、
図16に示すような二種類のスプロケット211A,211Bのいずれかを用いることができる。一方のスプロケット211Aは、たとえば、歯先211tにおける歯幅と歯底211bにおける歯幅とがおおむね等しく、他方のスプロケット211Bは、たとえば、歯先211tにおける歯幅が歯底211bにおける歯幅よりも狭くなっている。
【0080】
歯先211tの歯幅と歯底211bの歯幅とがおおむね等しいスプロケット211Aでは、回転軸に垂直な平面を対象面211fとして画像を撮影し、その画像を正対画像に変換する。これにより、最も摩耗しやすいスプロケット211の歯の部分の状態を適切に評価することができる。
【0081】
一方、歯先211tの歯幅が歯底211bの歯幅よりも狭いスプロケット211Bでは、回転軸に垂直な平面を対象面211fとして画像を撮影し、その画像を正対画像に変換しても、歯の側面が対象面211fに対して所定の角度Ψで傾斜している。そのため、このままでは、最も摩耗しやすいスプロケット211Bの歯の部分の状態を適切に評価することができない。
【0082】
そこで、歯先211tの歯幅が歯底211bの歯幅よりも狭いスプロケット211Bでは、回転軸に垂直な対象面211fの画像を正対画像に変換し、さらに、その正対画像を所定の角度Ψで回転させる二次回転を行う必要がある。これにより、スプロケット211Bの歯の側面を新たな対象面211f’として、その対象面211f’の正対画像を得ることができる。
【0083】
より具体的には、前述の処理P8で撮影された
図5の下図に示すスプロケット211Bの対象面211fの画像は、前述の処理P12から処理P23を経て、
図17の上図に示すような正対画像に変換される。ここで、
図17に示すように、正対画像の右方向を正方向とするx軸と、正対画像の上方向を正方向とするy軸と、正対画像に垂直なz軸とを有する直交座標系を設定する。
【0084】
処理P25において、画像処理装置150は、たとえば、
図17の上図に示すスプロケット211Bの歯先の基準点を通るガイド線GLがx軸と平行になるように、正対画像をz軸周りに所定の角度λで回転させて、
図17の中央に示すような対象面211fの正対画像を得る。画像処理装置150は、さらに、この
図17の中央に示すような対象面211fの正対画像をx軸周りに所定の角度Ψで回転させる。
【0085】
これにより、
図17の下図に示すように、スプロケット211Bの歯の側面を対象面211f’として、対象面211f’を撮像装置110の撮像面に正対させた二次回転後の正対画像を得ることができる。以上により、処理P25が終了し、画像処理装置150は、
図3Aおよび
図3Bに示す処理を終了する。なお、正対画像は、記憶装置153に記憶してもよい。
【0086】
以下、本実施形態の画像処理装置150の作用を説明する。
【0087】
たとえば、作業機械200のスプロケット211の摩耗量を測定するなど、機械部品の状態を画像に基づいて評価するためには、評価精度を向上させる観点から、機械部品の正対画像が必要になる。しかし、機械部品は、たとえばスプロケット211のように、対象面211fに凹凸を有する場合や、対象面211fに泥や油などの異物が付着する場合がある。このような機械部品を被写体とした場合、前記従来の画像処理装置は、撮像手段を基準とした機械部品の向きを計測することが困難になり、撮像手段が撮像した画像の斜め撮影による歪みを補正することができないおそれがある。
【0088】
これに対し、本実施形態の画像処理装置150は、対象面211fの画像を撮像装置110から取得するとともに対象面211fとの距離を距離センサ120から取得して対象面211fの画像を正対画像に変換する装置であって、以下のような機能を有している。画像処理装置150は、対象面211fに互いに離隔した第1点群G1と第2点群G2と第3点群G3とを設定し、距離センサ120から第1点群G1の各点pまでの距離と第2点群G2の各点pまでの距離と第3点群G3の各点pまでの距離とを取得する。また、画像処理装置150は、第1点群G1から選択した一の点pと第2点群G2から選択した一の点pと第3点群G3から選択した一の点pとに基づいて平面を算出する平面算出処理をすべての点の組み合わせに対して実行して第1平面群PG1を算出する。また、画像処理装置150は、第1平面群PG1の全平面の単位法線ベクトルNVを平均した平均ベクトルV1を法線ベクトルとし、かつ第1点群G1と第2点群G2と第3点群G3とに含まれる全点pとの距離の総和が最小となる第1平均平面H1を算出する。そして、画像処理装置150は、第1平均平面H1に基づいて対象面211fの画像を正対画像に変換する。
【0089】
このような構成により、本実施形態の画像処理装置150は、被写体であるスプロケット211などの機械部品の凹凸を有する対象面211fを斜めから撮影した画像を、撮像装置110の撮像面に対象面211fを正対させた正対画像に変換することができる。より具体的には、本実施形態の画像処理装置150は、前述のように、対象面211fに互いに離隔した第1点群G1と第2点群G2と第3点群G3とを設定して第1平面群PG1を算出し、さらに第1平面群PG1から第1平均平面H1を算出する。これにより、対象面211fの局所的な凹凸や異物の影響が希釈され、僅少化され、または除去され、対象面211fに実質的に平行な第1平均平面H1を得ることができる。この第1平均平面H1に基づいて、対象面211fの画像を正対画像に変換することで、凹凸を有する対象面211fを斜めから撮影した画像を正対画像に変換することができる。
【0090】
また、本実施形態の画像処理装置150は、第1点群G1と第2点群G2と第3点群G3とにそれぞれn個の点を設定し、平面算出処理によってn3個の平面を含む第1平面群PG1を算出する。このような構成により、本実施形態の画像処理装置150は、第1点群G1と第2点群G2と第3点群G3とが、それぞれ等しい数の点pを有することになり、より平均的な第1平面群PG1を算出することができる。
【0091】
また、本実施形態の画像処理装置150は、撮像装置110から取得した対象面211fの画像を第1点群G1、第2点群G2、および第3点群G3とともに表示装置140に表示させる。このような構成により、本実施形態の画像処理装置150は、オペレータが第1点群G1、第2点群G2、および第3点群G3の位置を調整したり、撮像装置110による撮像の成否を判定したりすることが可能になる。
【0092】
また、本実施形態の画像処理装置150は、第1平均平面H1までの距離がしきい値以上である点pとそれ以外の点pとを表示装置140に異なる色で表示させる。このような構成により、本実施形態の画像処理装置150は、オペレータが第1点群G1、第2点群G2、および第3点群G3の位置を調整したり、撮像装置110による撮像の成否を判定したりすることが可能になる。
【0093】
また、本実施形態の画像処理装置150は、第1平均平面H1までの距離がしきい値以上である点pを第1点群G1と第2点群G2と第3点群G3から除外し、残存する点pのすべての組み合わせに対して平面算出処理を実行して第2平面群PG2を算出する。また、画像処理装置150は、第2平面群PG2の全平面の単位法線ベクトルNVを平均した平均ベクトルV2を法線ベクトルとし、かつ残存する点pとの距離の総和が最小となる第2平均平面H2を算出する。そして、画像処理装置150は、第2平均平面H2の法線ベクトルが正対画像の画像面の法線ベクトルと平行になるように第2平均平面H2の回転角度θ,φを算出し、回転角度θ,φに基づいて対象面211fの画像を正対画像に変換する。このような構成により、本実施形態の画像処理装置150は、対象面211fの局所的な凹凸や異物の影響を除去して、対象面211fの画像を正対画像に変換することができる。
【0094】
また、本実施形態の画像処理装置150は、第1平均平面H1までの距離のしきい値を入力装置130から取得する。このような構成により、本実施形態の画像処理装置150は、オペレータが状況に応じてしきい値を変更することが可能になる。
【0095】
また、本実施形態の画像処理装置150は、第1平均平面H1の法線ベクトルが正対画像の画像面の法線ベクトルと平行になるように第1平均平面H1の回転角度θ,φを算出し、回転角度θ,φに基づいて対象面211fの画像を正対画像に変換する。このような構成により、本実施形態の画像処理装置150は、第1点群G1、第2点群G2、および第3点群G3に含まれるすべての点pを使用して、第1平均平面H1を算出し、さらに第1平均平面H1に基づいて、対象面211fの画像を正対画像に変換することができる。
【0096】
また、本実施形態の画像処理装置150は、対象面211fに対して傾斜した傾斜面である対象面211f’の画像を撮像装置110から取得するとともに、その傾斜面である対象面211f’との距離を距離センサ120から取得して対象面211f’の画像を正対画像に変換する。このような構成により、本実施形態の画像処理装置150は、たとえば、
図16の下図に示すようなスプロケット211Bの歯の側面など、対象面211fに対して傾斜した傾斜面の正対画像を得ることができ、摩耗などの状態をより正確に評価することができる。
【0097】
また、本実施形態の機械部品の状態評価装置100は、撮像装置110と、距離センサ120と、前述の画像処理装置150と、を備える。このような構成により、本実施形態の状態評価装置100は、前述の画像処理装置150と同様の効果を奏することができ、被写体の凹凸を有する対象面211fを斜めから撮影した画像を、撮像面に対象面を正対させた正対画像に変換することができる。また、機械部品の状態評価装置100が記憶装置153を備える場合には、前述のように、正対画像を記憶装置153に記憶させ、その後に正対画像を撮影した際に、過去の正対画像との差分を比較して摩耗の程度を算出することが可能になる。
【0098】
以上説明したように、本実施形態によれば、被写体の凹凸を有する対象面211fを斜めから撮影した画像を、撮像装置110の撮像面に対象面を正対させた正対画像に変換することが可能な画像処理装置150を提供することができる。
【0099】
以上、図面を用いて本開示に係る画像処理装置の実施形態を詳述してきたが、具体的な構成はこの実施形態に限定されるものではなく、本開示の要旨を逸脱しない範囲における設計変更等があっても、それらは本開示に含まれるものである。
【符号の説明】
【0100】
110 撮像装置
120 距離センサ
130 入力装置
140 表示装置
150 画像処理装置
211f 対象面
211f’ 対象面(傾斜面)
G1 第1点群
G2 第2点群
G3 第3点群
H1 第1平均平面
H2 第2平均平面
NV 単位法線ベクトル
NV1 単位法線ベクトル
NV2 単位法線ベクトル
NV3 単位法線ベクトル
NVn 単位法線ベクトル
p 点
PG1 第1平面群
PG2 第2平面群
V1 平均ベクトル
V2 平均ベクトル
θ 回転角度
φ 回転角度