JP7533402B2 - Attitude estimation device, industrial vehicle, attitude estimation program, and storage medium - Google Patents

Attitude estimation device, industrial vehicle, attitude estimation program, and storage medium Download PDF

Info

Publication number
JP7533402B2
JP7533402B2 JP2021146104A JP2021146104A JP7533402B2 JP 7533402 B2 JP7533402 B2 JP 7533402B2 JP 2021146104 A JP2021146104 A JP 2021146104A JP 2021146104 A JP2021146104 A JP 2021146104A JP 7533402 B2 JP7533402 B2 JP 7533402B2
Authority
JP
Japan
Prior art keywords
posture estimation
estimation result
coordinates
marker
posture
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.)
Active
Application number
JP2021146104A
Other languages
Japanese (ja)
Other versions
JP2023039109A (en
Inventor
識至 森中
甲 橋本
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.)
Toyota Industries Corp
Original Assignee
Toyota Industries Corp
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 Toyota Industries Corp filed Critical Toyota Industries Corp
Priority to JP2021146104A priority Critical patent/JP7533402B2/en
Publication of JP2023039109A publication Critical patent/JP2023039109A/en
Application granted granted Critical
Publication of JP7533402B2 publication Critical patent/JP7533402B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)

Description

本開示は、姿勢推定装置、産業車両、姿勢推定プログラム、及び記憶媒体に関する。 The present disclosure relates to a posture estimation device, an industrial vehicle, a posture estimation program, and a storage medium.

マーカをカメラによって撮影し、マーカの見かけ上の歪みを基にマーカとカメラとの間の姿勢を推定する姿勢推定方法が知られている。従来の姿勢推定方法では、例えばマーカとカメラとが正対する位置付近でマーカが撮影されると、マーカの見かけ上の歪みが小さくなり、姿勢推定の結果の精度が低下し得る。高精度な姿勢推定の結果を得るための従来の方法として、特許文献1に記載の姿勢推定方法がある。特許文献1に記載のマーカの周囲には、標準可変モアレパターン及び標準可変モアレパターンよりも視線角度の分解能が高い高感度可変モアレパターンが配置されている。この姿勢推定方法では、標準可変モアレパターンを用いて仮決定された視線角度と、高感度可変モアレパターンを用いて求められた視線角度の候補値とに基づいて、視線角度を推定する。 A posture estimation method is known in which a marker is photographed by a camera and the posture between the marker and the camera is estimated based on the apparent distortion of the marker. In conventional posture estimation methods, for example, when a marker is photographed near a position where the marker and the camera are directly facing each other, the apparent distortion of the marker becomes small, and the accuracy of the posture estimation result may decrease. A posture estimation method described in Patent Document 1 is a conventional method for obtaining a highly accurate posture estimation result. A standard variable moiré pattern and a high-sensitivity variable moiré pattern that has a higher gaze angle resolution than the standard variable moiré pattern are arranged around the marker described in Patent Document 1. In this posture estimation method, the gaze angle is estimated based on a gaze angle tentatively determined using the standard variable moiré pattern and a candidate value for the gaze angle determined using the high-sensitivity variable moiré pattern.

国際公開2018/135063号International Publication No. 2018/135063

特許文献1に記載のマーカでは、2種類の可変モアレパターンとしてレンチキュラーレンズ又はレンズアレイが用いられているため、製造コストが高くなると共にマーカのサイズの拡大が困難である。一方、一般的なマーカを用いた姿勢推定では、姿勢推定の結果の精度が低下し得る課題がなお存在している。 The marker described in Patent Document 1 uses a lenticular lens or lens array as two types of variable moiré patterns, which increases manufacturing costs and makes it difficult to increase the size of the marker. On the other hand, there is still an issue with posture estimation using general markers, which may reduce the accuracy of the posture estimation results.

本開示は、上記課題の解決のためになされたものであり、製造コストの増大を抑制しつつ、姿勢推定の結果が一定の精度を有することを担保できる姿勢推定装置、姿勢推定装置を搭載した産業車両、姿勢推定プログラム及び姿勢推定プログラムを記憶した記憶媒体を提供することを目的とする。 The present disclosure has been made to solve the above problems, and aims to provide a posture estimation device, an industrial vehicle equipped with a posture estimation device, a posture estimation program, and a storage medium storing a posture estimation program, that can ensure that posture estimation results have a certain level of accuracy while suppressing increases in manufacturing costs.

本開示の一側面に係る姿勢推定装置は、マーカの撮影画像からマーカを認識し、撮影画像におけるマーカの元座標を取得する認識部と、マーカの少なくとも一点の座標を元座標からずらすことによってずらし座標を生成する生成部と、元座標を用いた第1姿勢推定結果と、ずらし座標を用いた第2姿勢推定結果とを生成する推定部と、第2姿勢推定結果と予め設定された閾値との比較に基づいて、第1姿勢推定結果の信頼性の有無を判定する判定部と、を備える。 A posture estimation device according to one aspect of the present disclosure includes a recognition unit that recognizes a marker from a captured image of the marker and acquires original coordinates of the marker in the captured image, a generation unit that generates shifted coordinates by shifting the coordinates of at least one point of the marker from the original coordinates, an estimation unit that generates a first posture estimation result using the original coordinates and a second posture estimation result using the shifted coordinates, and a determination unit that determines whether the first posture estimation result is reliable based on a comparison between the second posture estimation result and a preset threshold.

この姿勢推定装置では、元座標の少なくとも一部が移動してずらし座標が生成される。ずらし座標によって示されるマーカは、元座標によって示されるマーカよりも見かけ上の歪みが大きくなる。この姿勢推定装置では、このずらし座標を用いた第2姿勢推定結果を閾値と比較することで、第1姿勢推定結果の信頼性の有無を精度良く判定することができる。また、この姿勢推定装置は、ずらし座標の算出と閾値との比較に要する計算コストのみを考慮すればよく、マーカ自体の加工が不要となるため、製造コストの増大を抑制することができる。 In this posture estimation device, at least a portion of the original coordinates is shifted to generate shifted coordinates. The markers indicated by the shifted coordinates appear to be more distorted than the markers indicated by the original coordinates. In this posture estimation device, the reliability of the first posture estimation result can be accurately determined by comparing the second posture estimation result using the shifted coordinates with a threshold value. Furthermore, this posture estimation device only needs to consider the computational costs required to calculate the shifted coordinates and compare them with the threshold value, and does not require processing of the markers themselves, thereby suppressing increases in manufacturing costs.

生成部は、マーカの四隅の座標を元座標からずらして複数のずらし座標を生成してもよい。この場合、マーカの形状(四角形)を特定しやすくなるため、第2姿勢推定結果に要する処理時間の短縮化が図られる。 The generation unit may generate multiple shifted coordinates by shifting the coordinates of the four corners of the marker from the original coordinates. In this case, it becomes easier to identify the shape of the marker (rectangle), and the processing time required for the second orientation estimation result is reduced.

生成部は、マーカの四隅の座標のそれぞれを元座標からX軸の正負方向及びY軸の正負方向にそれぞれ移動させることによって複数のずらし座標を生成してもよい。この場合、マーカの四隅の座標のそれぞれが4方向に移動することによって、多数のずらし座標が生成される。多数の第2姿勢推定結果に基づいて閾値との比較を行うことで、第1姿勢推定結果の信頼性の有無を一層精度良く判定することができる。 The generation unit may generate multiple shifted coordinates by moving each of the coordinates of the four corners of the marker from the original coordinates in the positive and negative directions of the X-axis and the positive and negative directions of the Y-axis. In this case, multiple shifted coordinates are generated by moving each of the coordinates of the four corners of the marker in four directions. By comparing multiple second posture estimation results with a threshold, it is possible to more accurately determine whether the first posture estimation result is reliable.

生成部は、マーカの四隅の座標のそれぞれを1ピクセル分移動させてもよい。この場合、1ピクセル分の歪みの変化が第2姿勢推定結果に反映される。これにより、座標の移動を最小限にしつつ、第1姿勢推定結果の信頼性の有無の判定精度をさらに向上させることができる。 The generation unit may move each of the coordinates of the four corners of the marker by one pixel. In this case, the change in distortion of one pixel is reflected in the second posture estimation result. This makes it possible to further improve the accuracy of determining whether the first posture estimation result is reliable while minimizing the movement of the coordinates.

判定部は、第2姿勢推定結果における最大値と最小値との差分を算出し、差分と閾値とを比較してもよい。この場合、簡単な演算で第1姿勢推定結果の信頼性の有無の判定精度を担保できる。 The determination unit may calculate the difference between the maximum and minimum values in the second posture estimation result and compare the difference with a threshold. In this case, the accuracy of determining whether the first posture estimation result is reliable can be ensured with a simple calculation.

判定部は、第2姿勢推定結果における分散を算出し、分散と閾値とを比較してもよい。この場合、簡単な演算で第1姿勢推定結果の信頼性の判定精度を担保できる。 The determination unit may calculate the variance of the second posture estimation result and compare the variance with a threshold. In this case, the accuracy of determining the reliability of the first posture estimation result can be ensured with a simple calculation.

判定部は、第1姿勢推定結果の信頼性が無いと判定した場合に、第2姿勢推定結果のうち閾値外の値を除外し、除外後の値の平均値を算出することによってみなし推定結果を生成してもよい。この場合、マーカの元座標の再取得を省略しつつ、一定の信頼性が確保されたみなし推定結果によって姿勢推定の結果を得ることができる。 When the determination unit determines that the first posture estimation result is unreliable, the determination unit may generate an assumed estimation result by excluding values outside a threshold from the second posture estimation result and calculating the average value of the excluded values. In this case, it is possible to obtain a posture estimation result from an assumed estimation result that has a certain degree of reliability while omitting the need to reacquire the original coordinates of the markers.

判定部は、第1姿勢推定結果の信頼性が無いと判定した場合に、第1姿勢推定結果を破棄してもよい。この場合、信頼性の無い第1姿勢推定結果が姿勢推定の結果として得られることを抑制できる。 When the determination unit determines that the first posture estimation result is unreliable, the determination unit may discard the first posture estimation result. In this case, it is possible to prevent an unreliable first posture estimation result from being obtained as a posture estimation result.

判定部は、第1姿勢推定結果及び第2姿勢推定結果と、閾値との比較に基づいて、第1姿勢推定結果の信頼性の有無を判定してもよい。第1姿勢推定結果自身を信頼性の有無の判定にさらに用いることにより、第1姿勢推定結果の信頼性の有無の判定精度をさらに向上させることができる。 The determination unit may determine whether the first posture estimation result is reliable based on a comparison of the first posture estimation result and the second posture estimation result with a threshold. By further using the first posture estimation result itself in determining whether the result is reliable, it is possible to further improve the accuracy of determining whether the first posture estimation result is reliable.

推定部は、ロール角、ピッチ角、ヨー角、及び位置情報の少なくとも一つを第1姿勢推定結果及び第2姿勢推定結果として生成してもよい。この場合、姿勢推定に必要な情報を適切に得ることができる。 The estimation unit may generate at least one of the roll angle, pitch angle, yaw angle, and position information as the first attitude estimation result and the second attitude estimation result. In this case, the information necessary for attitude estimation can be appropriately obtained.

本開示の一側面に係る産業車両は、マーカを撮影するカメラ及び上記姿勢推定装置を搭載してなる。この産業車両では、元座標の少なくとも一部が移動してずらし座標が生成される。ずらし座標によって示されるマーカは、元座標によって示されるマーカよりも見かけ上の歪みが大きくなる。この産業車両では、このずらし座標を用いた第2姿勢推定結果を閾値と比較することで、第1姿勢推定結果の信頼性の有無を精度良く判定することができる。また、この産業車両は、ずらし座標の算出と閾値との比較に要する計算コストのみを考慮すればよく、マーカ自体の加工が不要となるため、製造コストの増大を抑制することができる。 An industrial vehicle according to one aspect of the present disclosure is equipped with a camera that photographs a marker and the above-mentioned posture estimation device. In this industrial vehicle, at least a portion of the original coordinates is moved to generate shifted coordinates. The marker represented by the shifted coordinates appears more distorted than the marker represented by the original coordinates. In this industrial vehicle, the reliability of the first posture estimation result can be accurately determined by comparing the second posture estimation result using the shifted coordinates with a threshold value. Furthermore, with this industrial vehicle, it is only necessary to consider the calculation cost required to calculate the shifted coordinates and compare them with the threshold value, and since processing of the marker itself is not required, an increase in manufacturing costs can be suppressed.

本開示の一側面に係る姿勢推定プログラムは、マーカの撮影画像からマーカを認識し、撮影画像におけるマーカの元座標を取得するステップと、マーカの少なくとも一点の座標を元座標からずらすことによってずらし座標を生成するステップと、元座標を用いた第1姿勢推定結果と、ずらし座標を用いた第2姿勢推定結果とを生成するステップと、第2姿勢推定結果と予め設定された閾値との比較に基づいて、第1姿勢推定結果の信頼性の有無を判定するステップと、をコンピュータに実行させる。また、本開示の一側面に係る記憶媒体は、姿勢推定プログラムを記憶した、コンピュータ読み取り可能な記憶媒体である。 A posture estimation program according to one aspect of the present disclosure causes a computer to execute the steps of recognizing a marker from a captured image of the marker and acquiring original coordinates of the marker in the captured image, generating shifted coordinates by shifting the coordinates of at least one point of the marker from the original coordinates, generating a first posture estimation result using the original coordinates and a second posture estimation result using the shifted coordinates, and determining whether the first posture estimation result is reliable based on a comparison between the second posture estimation result and a preset threshold. Also, a storage medium according to one aspect of the present disclosure is a computer-readable storage medium storing the posture estimation program.

この姿勢推定プログラム及び記憶媒体では、元座標の少なくとも一部が移動してずらし座標が生成される。ずらし座標によって示されるマーカは、元座標によって示されるマーカよりも見かけ上の歪みが大きくなる。この姿勢推定プログラム及び記憶媒体では、このずらし座標を用いた第2姿勢推定結果を閾値と比較することで、第1姿勢推定結果の信頼性の有無を精度良く判定することができる。また、この姿勢推定プログラム及び記憶媒体は、ずらし座標の算出と閾値との比較に要する計算コストのみを考慮すればよく、マーカ自体の加工が不要となるため、製造コストの増大を抑制することができる。 In this posture estimation program and storage medium, at least a portion of the original coordinates is shifted to generate shifted coordinates. The marker indicated by the shifted coordinates appears more distorted than the marker indicated by the original coordinates. In this posture estimation program and storage medium, the reliability of the first posture estimation result can be accurately determined by comparing the second posture estimation result using the shifted coordinates with a threshold value. Furthermore, with this posture estimation program and storage medium, it is only necessary to consider the calculation cost required to calculate the shifted coordinates and compare them with the threshold value, and processing of the markers themselves is not required, so increases in manufacturing costs can be suppressed.

本開示によれば、製造コストの増大を抑制しつつ、姿勢推定の結果が一定の精度を有することを担保できる。 This disclosure makes it possible to ensure that posture estimation results have a certain level of accuracy while suppressing increases in manufacturing costs.

姿勢推定装置の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a posture estimation device. マーカの撮影画像の一例を示す図である。FIG. 13 is a diagram showing an example of a captured image of a marker. ずらし座標の生成手法の一例を示す図である。FIG. 13 is a diagram illustrating an example of a method for generating shift coordinates. 第1姿勢推定結果及び第2姿勢推定結果の一例を示す図である。11A and 11B are diagrams illustrating an example of a first posture estimation result and a second posture estimation result. 第1姿勢推定結果及び第2姿勢推定結果の別の例を示す図である。13A and 13B are diagrams illustrating another example of the first and second posture estimation results. 姿勢推定装置の動作の一例を示すフローチャートである。10 is a flowchart illustrating an example of an operation of the posture estimation device. 姿勢推定装置の動作の別例を示すフローチャートである。10 is a flowchart showing another example of the operation of the posture estimation device. 姿勢推定プログラムの構成及び記憶媒体を示す図である。FIG. 4 is a diagram illustrating a configuration of a posture estimation program and a storage medium.

以下、図面を参照しながら、本開示の一側面に係る姿勢推定装置、産業車両、姿勢推定プログラム、及び記憶媒体の好適な実施形態について詳細に説明する。 Below, preferred embodiments of the posture estimation device, industrial vehicle, posture estimation program, and storage medium relating to one aspect of the present disclosure will be described in detail with reference to the drawings.

図1は、本開示の一実施形態に係る姿勢推定装置の構成を示すブロック図である。姿勢推定装置10は、マーカMの撮影画像に基づいて、当該姿勢推定装置10が搭載される産業車両1の姿勢を推定する装置である。マーカMは、例えばARマーカ等の四角形状の平面マーカである(図2参照)。マーカMは、例えば産業車両1の周囲に存在する物体に対し、予め印刷或いは貼り付けによって付与される。姿勢推定装置10が適用される産業車両1としては、例えばフォークリフトが挙げられる。産業車両1は、マーカMを撮影するためのカメラ20を備えている。カメラ20は、マーカMの撮影画像を取得し、該撮影画像のデータを姿勢推定装置10に出力する。 FIG. 1 is a block diagram showing the configuration of a posture estimation device according to an embodiment of the present disclosure. The posture estimation device 10 is a device that estimates the posture of an industrial vehicle 1 on which the posture estimation device 10 is mounted, based on a captured image of a marker M. The marker M is, for example, a rectangular planar marker such as an AR marker (see FIG. 2). The marker M is, for example, attached in advance to an object present around the industrial vehicle 1 by printing or pasting. An example of an industrial vehicle 1 to which the posture estimation device 10 is applied is a forklift. The industrial vehicle 1 is equipped with a camera 20 for capturing an image of the marker M. The camera 20 captures an image of the marker M and outputs data of the captured image to the posture estimation device 10.

姿勢推定装置10は、CPU(Central Processing Unit)、ROM(Read OnlyMemory)、RAM(Random Access Memory)等を有する電子制御ユニットである。姿勢推定装置10では、例えば、ROMに記憶されているプログラムをRAMにロードし、RAMにロードされたプログラムをCPUで実行することにより各種の機能を実現する。姿勢推定装置10は、機能要素として認識部11、生成部12、推定部13、判定部14、及び出力部15を有している。 The posture estimation device 10 is an electronic control unit having a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), etc. In the posture estimation device 10, for example, a program stored in the ROM is loaded into the RAM, and the program loaded into the RAM is executed by the CPU, thereby realizing various functions. The posture estimation device 10 has, as functional elements, a recognition unit 11, a generation unit 12, an estimation unit 13, a determination unit 14, and an output unit 15.

認識部11は、マーカMの撮影画像からマーカMを認識する。例えば、認識部11は、撮影画像に対するパターンマッチング又はエッジ検出等によって、マーカMの有無を検出する。マーカMの認識手法は上記に限定されず、例えば入力画像に対し輪郭抽出及び二値化を行い、その二値化画像から連結成分(ピクセルの集合)を抽出することによってマーカMを認識する手法でもよい。 The recognition unit 11 recognizes the marker M from the captured image of the marker M. For example, the recognition unit 11 detects the presence or absence of the marker M by pattern matching or edge detection on the captured image. The method of recognizing the marker M is not limited to the above, and may be, for example, a method of recognizing the marker M by extracting contours and binarizing the input image and extracting connected components (a set of pixels) from the binarized image.

認識部11は、撮影画像におけるマーカMの元座標を取得する。撮影画像における画像の座標系は、例えば撮影画像の左上を原点とするXY座標で表される。画像の座標系はピクセル値で表すこともできる。例えば、認識部11は、撮影画像におけるマーカMの四隅の座標を元座標として取得する。四隅の座標とは、四つの角それぞれの頂点に対応する座標をいう。元座標は、マーカMの形状を特定可能な座標であれば四隅の座標に限定されない。例えば、マーカMは多角形(L字形状等)であってもよい。元座標は、多角形のマーカMを示すピクセルのうち、8方向(上、右上、右、右下、下、左下、左、左上)の頂点に対応する座標であってもよい。 The recognition unit 11 acquires the original coordinates of the marker M in the captured image. The image coordinate system in the captured image is represented, for example, by XY coordinates with the upper left corner of the captured image as the origin. The image coordinate system can also be represented by pixel values. For example, the recognition unit 11 acquires the coordinates of the four corners of the marker M in the captured image as the original coordinates. The coordinates of the four corners refer to the coordinates corresponding to the vertices of each of the four corners. The original coordinates are not limited to the coordinates of the four corners as long as they are coordinates that can identify the shape of the marker M. For example, the marker M may be a polygon (such as an L-shape). The original coordinates may be coordinates corresponding to the vertices in eight directions (upper, upper right, right, lower right, lower, lower left, left, upper left) of the pixels representing the polygonal marker M.

生成部12は、マーカMの少なくとも一点の座標を元座標からずらすことによってずらし座標を生成する。「ずらし座標」とは、画像の座標系上で元座標の値を変動させることによって生成した新しい座標である。例えば、生成部12は、マーカMの四隅の座標のそれぞれを元座標からX軸の正負方向及びY軸の正負方向にそれぞれ移動させることによって複数のずらし座標を生成する。このとき、生成部12は、マーカMの四隅の座標のそれぞれを1ピクセル分移動させてもよい。ずらし座標の各々を結ぶことでずらしマーカが形成される。ずらしマーカは、撮影画像におけるマーカMに見かけ上の歪みを追加したものとなる。 The generation unit 12 generates shifted coordinates by shifting the coordinates of at least one point of the marker M from the original coordinates. "Shifted coordinates" are new coordinates generated by varying the values of the original coordinates in the coordinate system of the image. For example, the generation unit 12 generates multiple shifted coordinates by moving each of the coordinates of the four corners of the marker M from the original coordinates in the positive and negative directions of the X axis and the positive and negative directions of the Y axis. At this time, the generation unit 12 may move each of the coordinates of the four corners of the marker M by one pixel. A shifted marker is formed by connecting each of the shifted coordinates. The shifted marker is the marker M in the captured image to which an apparent distortion has been added.

推定部13は、元座標を用いた第1姿勢推定結果と、ずらし座標を用いた第2姿勢推定結果とを生成する。例えば、推定部13は、ロール角、ピッチ角、ヨー角、及び位置情報の少なくとも一つを第1姿勢推定結果及び第2姿勢推定結果として生成する。 The estimation unit 13 generates a first attitude estimation result using the original coordinates and a second attitude estimation result using the shifted coordinates. For example, the estimation unit 13 generates at least one of the roll angle, pitch angle, yaw angle, and position information as the first attitude estimation result and the second attitude estimation result.

判定部14は、第2姿勢推定結果と予め設定された閾値との比較に基づいて、第1姿勢推定結果の信頼性の有無を判定する。判定部14は、例えば1ピクセル分の移動等によるずらし座標の生成手法に応じて予め閾値を算出し、その閾値を保持しておく。判定部14は、第2姿勢推定結果における最大値と最小値との差分を算出し、差分と閾値とを比較してもよい。判定部14は、第2姿勢推定結果における分散を算出し、分散と閾値とを比較してもよい。判定部14は、第1姿勢推定結果及び第2姿勢推定結果と、閾値との比較に基づいて、第1姿勢推定結果の信頼性の有無を判定してもよい。 The determination unit 14 determines whether the first posture estimation result is reliable based on a comparison between the second posture estimation result and a preset threshold. The determination unit 14 calculates a threshold in advance according to a method for generating shifted coordinates by, for example, moving by one pixel, and stores the threshold. The determination unit 14 may calculate a difference between a maximum value and a minimum value in the second posture estimation result, and compare the difference with the threshold. The determination unit 14 may calculate a variance in the second posture estimation result, and compare the variance with the threshold. The determination unit 14 may determine whether the first posture estimation result is reliable based on a comparison between the first posture estimation result and the second posture estimation result, and the threshold.

第1姿勢推定結果の信頼性が有る場合には、第1姿勢推定結果が一定の精度を有していることを示す。一方、第1姿勢推定結果の信頼性が無い場合には、第1姿勢推定結果が一定の精度を有していないことを示す。判定部14は、第1姿勢推定結果の信頼性が無いと判定した場合に、第2姿勢推定結果のうち閾値外の値を除外し、除外後の値の平均値を算出することによってみなし推定結果を生成してもよい。判定部14は、第1姿勢推定結果の信頼性が無いと判定した場合に、第1姿勢推定結果を破棄してもよい。 If the first posture estimation result is reliable, it indicates that the first posture estimation result has a certain level of accuracy. On the other hand, if the first posture estimation result is unreliable, it indicates that the first posture estimation result does not have a certain level of accuracy. If the determination unit 14 determines that the first posture estimation result is unreliable, it may exclude values outside a threshold from the second posture estimation result and calculate the average value of the excluded values to generate a deemed estimation result. If the determination unit 14 determines that the first posture estimation result is unreliable, it may discard the first posture estimation result.

出力部15は、第1姿勢推定結果又はみなし推定結果をECU(Electronic Control Unit)、或いは自動走行制御装置等の他の装置に出力する。出力部15は、通信ネットワークを介して他のシステム等に送信してもよい。 The output unit 15 outputs the first attitude estimation result or the deemed estimation result to an ECU (Electronic Control Unit) or other devices such as an automatic driving control device. The output unit 15 may also transmit the result to other systems, etc. via a communication network.

図2に示される撮影画像Pは、マーカMの撮影画像の一例である。図2に示されるように、マーカMは四角形状であり、白色の領域及び黒色の領域によって構成された平面パターンを有している。撮影画像PにおけるマーカMは、カメラ20とマーカMとの位置関係によって見かけ上の歪みが変化する。図2の撮影画像Pは、カメラ20がマーカMに対しほぼ正面から撮影した例である。 The captured image P shown in FIG. 2 is an example of a captured image of the marker M. As shown in FIG. 2, the marker M is rectangular and has a planar pattern made up of white and black areas. The apparent distortion of the marker M in the captured image P changes depending on the positional relationship between the camera 20 and the marker M. The captured image P in FIG. 2 is an example in which the camera 20 captures the marker M from almost the front.

撮影画像Pにおける画像の座標系は、左上端が原点であり、右方向がX軸の正方向であり、下方向がY軸の正方向である。認識部11は、撮影画像PにおけるマーカMの四隅の座標を元座標として取得する。例えば、認識部11は点C1(x,y),点C2(x,y),点C3(x,y),及び点C4(x,y)を元座標として取得する。 The coordinate system of the image in the captured image P has the upper left corner as the origin, the right direction is the positive direction of the X axis, and the downward direction is the positive direction of the Y axis. The recognition unit 11 acquires the coordinates of the four corners of the marker M in the captured image P as the original coordinates. For example, the recognition unit 11 acquires points C1 ( x1 , y1 ), C2 ( x2 , y2 ), C3 ( x3 , y3 ), and C4 ( x4 , y4 ) as the original coordinates.

続いて図3を参照しながら、ずらし座標の生成手法の一例について説明する。図3は、四隅の座標のうち、一点の座標をそれぞれ四方向に移動させる例を示す。四方向とは、画像の座標系におけるX軸の正負方向及びY軸の正負方向をいう。破線枠G1,G2,G3,及びG4は、それぞれ元座標のうち点C1のみ、点C2のみ、点C3のみ、又は点C4のみを四方向にずらすパターンを示す。 Next, an example of a method for generating shifted coordinates will be described with reference to FIG. 3. FIG. 3 shows an example in which the coordinates of one of the four corners are moved in four directions. The four directions refer to the positive and negative directions of the X-axis and the positive and negative directions of the Y-axis in the image coordinate system. The dashed frames G1, G2, G3, and G4 show patterns in which only point C1, only point C2, only point C3, or only point C4 of the original coordinates are shifted in the four directions, respectively.

破線枠G1内において、斜線付きの丸印は点C1を示し、矢印は点C1をずらす方向を示し、四角形は点C1をずらすことによって形成されるずらしマーカを示す。点C1を四方向にそれぞれずらすことによって、四つのずらし座標が生成される。破線枠G1内では、四つのずらしマーカが形成されている。 In the dashed frame G1, the shaded circle indicates point C1, the arrow indicates the direction in which point C1 is shifted, and the rectangle indicates a shift marker formed by shifting point C1. Four shift coordinates are generated by shifting point C1 in each of the four directions. Four shift markers are formed within the dashed frame G1.

破線枠G1で説明したずらし座標の生成手法は、破線枠G2,G3,及びG4にも適用される。例えば破線枠G2内において、点C2のみを四方向にそれぞれずらすことによって四つのずらし座標が生成される。破線枠G3及び破線枠G4も同様の処理によって、合計16個のずらし座標が生成される。 The method of generating shifted coordinates described for dashed frame G1 is also applied to dashed frame G2, G3, and G4. For example, in dashed frame G2, four shifted coordinates are generated by shifting only point C2 in each of the four directions. A total of 16 shifted coordinates are generated for dashed frame G3 and dashed frame G4 by the same process.

図4は、第1姿勢推定結果R1及び第2姿勢推定結果R2の一例を示す図である。推定部13は、元座標を用いた第1姿勢推定結果R1aと、複数のずらし座標を用いた第2姿勢推定結果R2aとを生成する。第1姿勢推定結果R1a及び第2姿勢推定結果R2aは、例えばヨー角の値である。図4の例では、第1姿勢推定結果R1aの値は[2]である。第2姿勢推定結果R2aは16個の値[1,1,5,2,3,2,1,1,3,0,4,2,1,2,3,1]を含んでいる。第2姿勢推定結果R2aのうち、最大値は[5]であり、最小値は[0]である。 Figure 4 is a diagram showing an example of the first posture estimation result R1 and the second posture estimation result R2. The estimation unit 13 generates a first posture estimation result R1a using the original coordinates and a second posture estimation result R2a using multiple shifted coordinates. The first posture estimation result R1a and the second posture estimation result R2a are, for example, yaw angle values. In the example of Figure 4, the value of the first posture estimation result R1a is [2]. The second posture estimation result R2a includes 16 values [1, 1, 5, 2, 3, 2, 1, 1, 3, 0, 4, 2, 1, 2, 3, 1]. The maximum value of the second posture estimation result R2a is [5] and the minimum value is [0].

図5は第1姿勢推定結果R1及び第2姿勢推定結果R2の別の例を示す。推定部13は、元座標を用いた第1姿勢推定結果R1bと、複数のずらし座標を用いた第2姿勢推定結果R2bとを生成する。第1姿勢推定結果R1b及び第2姿勢推定結果R2bは、例えばヨー角の値である。図5の例では、第1姿勢推定結果R1bの値は[2]である。第2姿勢推定結果R2bは16個の値[2,4,8,3,4,8,2,3,3,2,2,5,2,1,3,14]を含んでいる。第2姿勢推定結果R2bのうち、最大値は[14]であり、最小値は[1]である。 Figure 5 shows another example of the first posture estimation result R1 and the second posture estimation result R2. The estimation unit 13 generates a first posture estimation result R1b using the original coordinates and a second posture estimation result R2b using multiple shifted coordinates. The first posture estimation result R1b and the second posture estimation result R2b are, for example, yaw angle values. In the example of Figure 5, the value of the first posture estimation result R1b is [2]. The second posture estimation result R2b includes 16 values [2, 4, 8, 3, 4, 8, 2, 3, 3, 2, 2, 5, 2, 1, 3, 14]. The maximum value of the second posture estimation result R2b is [14] and the minimum value is [1].

図6を参照して、姿勢推定装置10の動作の一例を説明する。図6は、姿勢推定装置10の動作を処理フローS1として示すフローチャートである。まず、産業車両1のカメラ20によって、図2に示したマーカMの撮影画像Pが取得される(ステップS11)。 An example of the operation of the posture estimation device 10 will be described with reference to FIG. 6. FIG. 6 is a flowchart showing the operation of the posture estimation device 10 as a processing flow S1. First, the camera 20 of the industrial vehicle 1 acquires a captured image P of the marker M shown in FIG. 2 (step S11).

認識部11は、マーカMの撮影画像PからマーカMを認識する(ステップS12)。撮影画像P内にマーカMが有る場合(ステップS13においてYES)、処理はステップS14に進む。一方、撮影画像P内にマーカMが無い場合(ステップS13においてNO)、以降の処理は終了する。処理フローS1は、例えば所定の時間経過後に再度実行される。一例では、ステップS11の処理が所定の時間間隔で実行されることにより、処理フローS1が定期的に実行される。 The recognition unit 11 recognizes the marker M from the captured image P of the marker M (step S12). If the marker M is present in the captured image P (YES in step S13), the process proceeds to step S14. On the other hand, if the marker M is not present in the captured image P (NO in step S13), the subsequent processes end. The process flow S1 is executed again, for example, after a predetermined time has elapsed. In one example, the process flow S1 is executed periodically by executing the process of step S11 at a predetermined time interval.

認識部11は、撮影画像PにおけるマーカMの元座標を取得する(ステップS14)。例えば、認識部11は点C1(x,y),点C2(x,y),点C3(x,y),及び点C4(x,y)を元座標として取得する。 The recognition unit 11 acquires the original coordinates of the marker M in the captured image P (step S14). For example, the recognition unit 11 acquires points C1 ( x1 , y1 ), C2 ( x2 , y2 ), C3 ( x3 , y3 ), and C4 ( x4 , y4 ) as the original coordinates.

生成部12は、マーカMの少なくとも一点の座標を元座標からずらすことによってずらし座標を生成する(ステップS15)。例えば、生成部12は、マーカMの四隅の座標のそれぞれを元座標からX軸の正負方向及びY軸の正負方向にそれぞれ移動させることによって複数のずらし座標を生成する。生成部12は、マーカMの四隅の座標のそれぞれを1ピクセル分移動させてもよい。一例では、生成部12は、点C1(x,y)をX軸の負方向に1ピクセル分ずらした位置の座標(x-1,y)に移動させる。生成部12は、元座標のうち点C1のみ、点C2のみ、点C3のみ、又は点C4のみをそれぞれ四方向にずらすことにより、16個のずらし座標を生成する。 The generating unit 12 generates shifted coordinates by shifting the coordinates of at least one point of the marker M from the original coordinates (step S15). For example, the generating unit 12 generates a plurality of shifted coordinates by moving each of the coordinates of the four corners of the marker M from the original coordinates in the positive and negative directions of the X-axis and the positive and negative directions of the Y-axis. The generating unit 12 may move each of the coordinates of the four corners of the marker M by one pixel. In one example, the generating unit 12 moves the point C1 (x 1 , y 1 ) to the coordinate (x 1 -1, y 1 ) at a position shifted by one pixel in the negative direction of the X-axis. The generating unit 12 generates 16 shifted coordinates by shifting only the point C1, only the point C2, only the point C3, or only the point C4 of the original coordinates in the four directions.

推定部13は、元座標を用いた第1姿勢推定結果R1と、ずらし座標を用いた第2姿勢推定結果R2とを生成する(ステップS16)。推定部13は、ロール角、ピッチ角、ヨー角、及び位置情報の少なくとも一つを第1姿勢推定結果R1及び第2姿勢推定結果R2として生成する。 The estimation unit 13 generates a first attitude estimation result R1 using the original coordinates and a second attitude estimation result R2 using the shifted coordinates (step S16). The estimation unit 13 generates at least one of the roll angle, pitch angle, yaw angle, and position information as the first attitude estimation result R1 and the second attitude estimation result R2.

判定部14は、第2姿勢推定結果R2と予め設定された閾値との比較に基づいて、第1姿勢推定結果R1の信頼性の有無を判定する(ステップS17)。判定部14は、予め設定された閾値を保持している。ここでは、閾値は[5]である。判定部14は、第2姿勢推定結果R2と閾値とを比較し、第2姿勢推定結果R2に含まれる値の全てが閾値以下であれば第1姿勢推定結果R1の信頼性が有ると判定し、第2姿勢推定結果R2に含まれる値のいずれか一つでも閾値を超えていれば第1姿勢推定結果R1の信頼性が無いと判定する。 The determination unit 14 determines whether the first posture estimation result R1 is reliable based on a comparison between the second posture estimation result R2 and a preset threshold (step S17). The determination unit 14 holds a preset threshold. Here, the threshold is [5]. The determination unit 14 compares the second posture estimation result R2 with the threshold, and determines that the first posture estimation result R1 is reliable if all values included in the second posture estimation result R2 are equal to or less than the threshold, and determines that the first posture estimation result R1 is unreliable if any one of the values included in the second posture estimation result R2 exceeds the threshold.

ステップS17では、判定部14は、第2姿勢推定結果R2における最大値と最小値との差分を算出し、差分と閾値とを比較してもよい。図4の例では、第2姿勢推定結果R2aにおける最大値[5]と最小値[0]との差分は、[5]と算出される。この例では、差分[5]が閾値[5]以下であるため、判定部14は第1姿勢推定結果R1aの信頼性が有ると判定する。図5の例では、差分[13]が閾値[5]を超えているため、判定部14は第1姿勢推定結果R1bの信頼性が無いと判定する。 In step S17, the determination unit 14 may calculate the difference between the maximum and minimum values in the second posture estimation result R2, and compare the difference with a threshold value. In the example of FIG. 4, the difference between the maximum value [5] and the minimum value [0] in the second posture estimation result R2a is calculated to be [5]. In this example, since the difference [5] is equal to or smaller than the threshold value [5], the determination unit 14 determines that the first posture estimation result R1a is reliable. In the example of FIG. 5, since the difference [13] exceeds the threshold value [5], the determination unit 14 determines that the first posture estimation result R1b is unreliable.

ステップS17では、判定部14は、第2姿勢推定結果R2における分散を算出し、分散と閾値とを比較してもよい。図4の例では、第2姿勢推定結果R2aの値[1,1,5,2,3,2,1,1,3,0,4,2,1,2,3,1]における分散は、[1.73]と算出される。この例では、分散[1.73]が閾値[5]以下であるため、判定部14は、第1姿勢推定結果R1aの信頼性が有ると判定する。図5の例では、第2姿勢推定結果R2bの値[2,4,8,3,4,8,2,3,3,2,2,5,2,1,3,14]における分散は、[11.05]と算出される。この例では、分散[11.05]が閾値[5]を超えているため、判定部14は、第1姿勢推定結果R1bの信頼性が無いと判定する。 In step S17, the determination unit 14 may calculate the variance of the second posture estimation result R2 and compare the variance with a threshold value. In the example of FIG. 4, the variance of the values [1, 1, 5, 2, 3, 2, 1, 1, 3, 0, 4, 2, 1, 2, 3, 1] of the second posture estimation result R2a is calculated to be [1.73]. In this example, since the variance [1.73] is equal to or smaller than the threshold value [5], the determination unit 14 determines that the first posture estimation result R1a is reliable. In the example of FIG. 5, the variance of the values [2, 4, 8, 3, 4, 8, 2, 3, 3, 2, 2, 5, 2, 1, 3, 14] of the second posture estimation result R2b is calculated to be [11.05]. In this example, since the variance [11.05] exceeds the threshold value [5], the determination unit 14 determines that the first posture estimation result R1b is unreliable.

ステップS17では、判定部14は、第1姿勢推定結果R1及び第2姿勢推定結果R2と、閾値との比較に基づいて、第1姿勢推定結果R1の信頼性の有無を判定してもよい。換言すると、判定部14は、閾値との比較の際に、第1姿勢推定結果R1をさらに用いてもよい。 In step S17, the determination unit 14 may determine whether the first posture estimation result R1 is reliable based on a comparison of the first posture estimation result R1 and the second posture estimation result R2 with a threshold value. In other words, the determination unit 14 may further use the first posture estimation result R1 when comparing with the threshold value.

第1姿勢推定結果R1の信頼性が有る場合(ステップS17においてYES)、処理はステップS18に進む。一方、第1姿勢推定結果R1の信頼性が無い場合(ステップS17においてNO)、処理はステップS19に進む。 If the first posture estimation result R1 is reliable (YES in step S17), the process proceeds to step S18. On the other hand, if the first posture estimation result R1 is not reliable (NO in step S17), the process proceeds to step S19.

出力部15は、第1姿勢推定結果R1を他の装置に出力する(ステップS18)。例えば、出力部15は、第1姿勢推定結果R1aを他の装置に出力する。 The output unit 15 outputs the first posture estimation result R1 to another device (step S18). For example, the output unit 15 outputs the first posture estimation result R1a to the other device.

判定部14は、第1姿勢推定結果R1を破棄する(ステップS19)。例えば、判定部14は、第1姿勢推定結果R1bを破棄する。 The determination unit 14 discards the first posture estimation result R1 (step S19). For example, the determination unit 14 discards the first posture estimation result R1b.

処理フローS1は、例えば所定の時間経過後に再度実行される。一例では、ステップS11の処理が所定の時間間隔で実行されることにより、処理フローS1が定期的に実行される。 Processing flow S1 is executed again, for example, after a predetermined time has elapsed. In one example, processing flow S1 is executed periodically by executing the processing of step S11 at a predetermined time interval.

図7を参照して、姿勢推定装置10の動作の別例を説明する。図7は、姿勢推定装置10の動作を処理フローS2として示すフローチャートである。処理フローS2は、処理フローS1と比較すると、ステップS19に代えてステップS20の処理を備えている点で異なる。以下、処理フローS1と同一のステップについては、説明を省略する。 With reference to FIG. 7, another example of the operation of the posture estimation device 10 will be described. FIG. 7 is a flowchart showing the operation of the posture estimation device 10 as processing flow S2. Processing flow S2 differs from processing flow S1 in that it includes processing of step S20 instead of step S19. Below, explanations of steps that are the same as those in processing flow S1 will be omitted.

判定部14は、第2姿勢推定結果R2と予め設定された閾値との比較に基づいて、第1姿勢推定結果R1の信頼性の有無を判定する(ステップS17)。判定部14は、予め設定された閾値を保持している。ここでは、閾値は[5]である。判定部14は、第2姿勢推定結果R2と閾値とを比較し、第2姿勢推定結果R2に含まれる値の全てが閾値以下であれば第1姿勢推定結果R1の信頼性が有ると判定し、第2姿勢推定結果R2に含まれる値のいずれか一つでも閾値を超えていれば第1姿勢推定結果R1の信頼性が無いと判定する。図4の例では、最大値[5]が閾値[5]以下であるため、判定部14は第1姿勢推定結果R1aの信頼性が有ると判定する。図5の例では、最大値[14]が閾値[5]を超えているため、判定部14は第1姿勢推定結果R1bの信頼性が無いと判定する。 The determination unit 14 determines whether the first posture estimation result R1 is reliable based on a comparison between the second posture estimation result R2 and a preset threshold (step S17). The determination unit 14 holds a preset threshold. Here, the threshold is [5]. The determination unit 14 compares the second posture estimation result R2 with the threshold, and determines that the first posture estimation result R1 is reliable if all values included in the second posture estimation result R2 are equal to or less than the threshold, and determines that the first posture estimation result R1 is unreliable if any one of the values included in the second posture estimation result R2 exceeds the threshold. In the example of FIG. 4, the maximum value [5] is equal to or less than the threshold [5], so the determination unit 14 determines that the first posture estimation result R1a is reliable. In the example of FIG. 5, the maximum value [14] exceeds the threshold [5], so the determination unit 14 determines that the first posture estimation result R1b is unreliable.

第1姿勢推定結果R1の信頼性が有る場合(ステップS17においてYES)、処理はステップS18に進む。出力部15は、第1姿勢推定結果R1を他の装置に出力する(ステップS18)。例えば、出力部15は、第1姿勢推定結果R1aを他の装置に出力する。 If the first posture estimation result R1 is reliable (YES in step S17), the process proceeds to step S18. The output unit 15 outputs the first posture estimation result R1 to another device (step S18). For example, the output unit 15 outputs the first posture estimation result R1a to the other device.

第1姿勢推定結果R1の信頼性が無い場合(ステップS17においてNO)、処理はステップS20に進む。判定部14は、第2姿勢推定結果R2に基づいてみなし推定結果を生成する(ステップS20)。例えば、判定部14は、第2姿勢推定結果R2のうち閾値外の値を除外し、除外後の値の平均値を算出することによってみなし推定結果を生成する。図5の例では、第2姿勢推定結果R2bの値[2,4,8,3,4,8,2,3,3,2,2,5,2,1,3,14]のうち、閾値[5]を超える値[8,8,14]が除外される。そして、除外後の値[2,4,3,4,2,3,3,2,2,5,2,1,3]の平均値は[2.77]と算出される。この例では、平均値[2.77]がみなし推定結果となる。そして、出力部15は、みなし推定結果を他の装置に出力する。 If the first posture estimation result R1 is not reliable (NO in step S17), the process proceeds to step S20. The determination unit 14 generates an assumed estimation result based on the second posture estimation result R2 (step S20). For example, the determination unit 14 generates an assumed estimation result by excluding values outside the threshold from the second posture estimation result R2 and calculating the average value of the excluded values. In the example of FIG. 5, the value [8, 8, 14] exceeding the threshold value [5] is excluded from the values [2, 4, 8, 3, 4, 8, 2, 3, 3, 2, 2, 5, 2, 1, 3, 14] of the second posture estimation result R2b. Then, the average value of the excluded values [2, 4, 3, 4, 2, 3, 3, 2, 2, 5, 2, 1, 3] is calculated to be [2.77]. In this example, the average value [2.77] becomes the assumed estimation result. Then, the output unit 15 outputs the assumed estimation result to another device.

引き続いて、上述した一連の姿勢推定装置10による処理を実行させるための姿勢推定プログラムを説明する。図8に示すように、姿勢推定プログラム100は、コンピュータに挿入されてアクセスされる、あるいはコンピュータが備える、コンピュータ読み取り可能な記憶媒体110に形成されたプログラム格納領域111内に格納される。記憶媒体110は、非一時的な記憶媒体であってもよい。 Next, a posture estimation program for executing the above-mentioned series of processes by the posture estimation device 10 will be described. As shown in FIG. 8, the posture estimation program 100 is stored in a program storage area 111 formed in a computer-readable storage medium 110 that is inserted into a computer and accessed, or that is provided in the computer. The storage medium 110 may be a non-transitory storage medium.

姿勢推定プログラム100は、認識モジュール101と、生成モジュール102と、推定モジュール103と、判定モジュール104と、出力モジュール105とを備えて構成される。認識モジュール101と、生成モジュール102と、推定モジュール103と、判定モジュール104と、出力モジュール105とを実行させることにより実現される機能は、上述した姿勢推定装置10の認識部11と、生成部12と、推定部13と、判定部14と、出力部15との機能とそれぞれ同様である。 The posture estimation program 100 is configured to include a recognition module 101, a generation module 102, an estimation module 103, a judgment module 104, and an output module 105. The functions realized by executing the recognition module 101, the generation module 102, the estimation module 103, the judgment module 104, and the output module 105 are similar to the functions of the recognition unit 11, the generation unit 12, the estimation unit 13, the judgment unit 14, and the output unit 15 of the posture estimation device 10 described above, respectively.

姿勢推定プログラム100は、その一部又は全部が、通信回線等の伝送媒体を介して伝送され、他の機器により受信されて記録(インストールを含む)される構成としてもよい。また、姿勢推定プログラム100の各モジュールは、1つのコンピュータでなく、複数のコンピュータのいずれかにインストールされてもよい。その場合、当該複数のコンピュータによるコンピュータシステムよって上述した一連の処理が行われる。 The posture estimation program 100 may be configured so that a part or all of it is transmitted via a transmission medium such as a communication line, and is received and recorded (including installed) by another device. Furthermore, each module of the posture estimation program 100 may be installed on one of multiple computers, rather than on one computer. In that case, the above-mentioned series of processes are performed by a computer system consisting of the multiple computers.

以上説明したように、姿勢推定装置10では、元座標の少なくとも一部が移動してずらし座標が生成される。ずらし座標によって示されるマーカMは、元座標によって示されるマーカMよりも見かけ上の歪みが大きくなる。この姿勢推定装置10では、このずらし座標を用いた第2姿勢推定結果R2を閾値と比較することで、第1姿勢推定結果R1の信頼性の有無を精度良く判定することができる。また、この姿勢推定装置10は、ずらし座標の算出と閾値との比較に要する計算コストのみを考慮すればよく、マーカ自体の加工が不要となるため、製造コストの増大を抑制することができる。 As described above, in the posture estimation device 10, at least a portion of the original coordinates is shifted to generate shifted coordinates. The marker M indicated by the shifted coordinates appears to be more distorted than the marker M indicated by the original coordinates. In this posture estimation device 10, the reliability of the first posture estimation result R1 can be accurately determined by comparing the second posture estimation result R2 using the shifted coordinates with a threshold value. Furthermore, in this posture estimation device 10, it is only necessary to consider the calculation costs required for calculating the shifted coordinates and comparing them with the threshold value, and since processing of the markers themselves is not required, an increase in manufacturing costs can be suppressed.

本実施形態では、生成部12は、マーカMの四隅の座標を元座標からずらして複数のずらし座標を生成している。この場合、マーカMの形状(四角形)を特定しやすくなるため、第2姿勢推定結果R2に要する処理時間の短縮化が図られる。 In this embodiment, the generation unit 12 generates multiple shifted coordinates by shifting the coordinates of the four corners of the marker M from the original coordinates. In this case, it becomes easier to identify the shape (rectangle) of the marker M, and the processing time required for the second posture estimation result R2 is shortened.

本実施形態では、生成部12は、マーカMの四隅の座標のそれぞれを元座標からX軸の正負方向及びY軸の正負方向にそれぞれ移動させることによって複数のずらし座標を生成している。この場合、マーカMの四隅の座標のそれぞれが4方向に移動することによって、多数のずらし座標が生成される。多数の第2姿勢推定結果R2に基づいて閾値との比較を行うことで、第1姿勢推定結果R1の信頼性の有無を一層精度良く判定することができる。 In this embodiment, the generation unit 12 generates multiple shifted coordinates by moving each of the coordinates of the four corners of the marker M from the original coordinates in the positive and negative directions of the X-axis and the positive and negative directions of the Y-axis. In this case, multiple shifted coordinates are generated by moving each of the coordinates of the four corners of the marker M in four directions. By comparing with a threshold based on multiple second posture estimation results R2, the reliability of the first posture estimation result R1 can be determined with greater accuracy.

本実施形態では、生成部12は、マーカMの四隅の座標のそれぞれを1ピクセル分移動させている。この場合、1ピクセル分の歪みの変化が第2姿勢推定結果R2に反映される。これにより、座標の移動を最小限にしつつ、第1姿勢推定結果R1の信頼性の有無の判定精度をさらに向上させることができる。 In this embodiment, the generation unit 12 moves each of the coordinates of the four corners of the marker M by one pixel. In this case, the change in distortion of one pixel is reflected in the second posture estimation result R2. This makes it possible to further improve the accuracy of determining whether the first posture estimation result R1 is reliable while minimizing the movement of the coordinates.

本実施形態では、判定部14は、第2姿勢推定結果R2における最大値と最小値との差分を算出し、差分と閾値とを比較している。この場合、簡単な演算で第1姿勢推定結果R1の信頼性の有無の判定精度を担保できる。 In this embodiment, the determination unit 14 calculates the difference between the maximum and minimum values in the second posture estimation result R2, and compares the difference with a threshold. In this case, the accuracy of determining whether the first posture estimation result R1 is reliable can be ensured with a simple calculation.

本実施形態では、判定部14は、第2姿勢推定結果R2における分散を算出し、分散と閾値とを比較している。この場合、簡単な演算で第1姿勢推定結果R1の信頼性の判定精度を担保できる。 In this embodiment, the determination unit 14 calculates the variance of the second posture estimation result R2 and compares the variance with a threshold value. In this case, the accuracy of determining the reliability of the first posture estimation result R1 can be ensured with a simple calculation.

本実施形態では、判定部14は、第1姿勢推定結果R1の信頼性が無いと判定した場合に、第2姿勢推定結果R2のうち閾値外の値を除外し、除外後の値の平均値を算出することによってみなし推定結果を生成している。この場合、マーカMの元座標の再取得を省略しつつ、一定の信頼性が確保されたみなし推定結果によって姿勢推定の結果を得ることができる。 In this embodiment, when the determination unit 14 determines that the first posture estimation result R1 is unreliable, it generates an assumed estimation result by excluding values outside the threshold from the second posture estimation result R2 and calculating the average value of the excluded values. In this case, it is possible to obtain a posture estimation result based on an assumed estimation result that ensures a certain level of reliability while omitting the reacquisition of the original coordinates of the marker M.

本実施形態では、判定部14は、第1姿勢推定結果R1の信頼性が無いと判定した場合に、第1姿勢推定結果R1を破棄している。この場合、信頼性の無い第1姿勢推定結果R1が姿勢推定の結果として得られることを抑制できる。 In this embodiment, when the determination unit 14 determines that the first posture estimation result R1 is unreliable, the determination unit 14 discards the first posture estimation result R1. In this case, it is possible to prevent an unreliable first posture estimation result R1 from being obtained as a posture estimation result.

本実施形態では、判定部14は、第1姿勢推定結果R1及び第2姿勢推定結果R2と、閾値との比較に基づいて、第1姿勢推定結果R1の信頼性の有無を判定している。第1姿勢推定結果R1自身を信頼性の有無の判定にさらに用いることにより、第1姿勢推定結果R1の信頼性の有無の判定精度をさらに向上させることができる。 In this embodiment, the determination unit 14 determines whether the first posture estimation result R1 is reliable based on a comparison between the first posture estimation result R1 and the second posture estimation result R2 and a threshold value. By further using the first posture estimation result R1 itself to determine whether it is reliable, it is possible to further improve the accuracy of determining whether the first posture estimation result R1 is reliable.

本実施形態では、推定部13は、ロール角、ピッチ角、ヨー角、及び位置情報の少なくとも一つを第1姿勢推定結果R1及び第2姿勢推定結果R2として生成している。この場合、姿勢推定に必要な情報を適切に得ることができる。 In this embodiment, the estimation unit 13 generates at least one of the roll angle, pitch angle, yaw angle, and position information as the first attitude estimation result R1 and the second attitude estimation result R2. In this case, the information necessary for attitude estimation can be appropriately obtained.

産業車両1は、マーカMを撮影するカメラ20及び上記姿勢推定装置10を搭載してなる。この産業車両1では、元座標の少なくとも一部が移動してずらし座標が生成される。ずらし座標によって示されるマーカMは、元座標によって示されるマーカMよりも見かけ上の歪みが大きくなる。この産業車両1では、このずらし座標を用いた第2姿勢推定結果R2を閾値と比較することで、第1姿勢推定結果R1の信頼性の有無を精度良く判定することができる。また、この産業車両1は、ずらし座標の算出と閾値との比較に要する計算コストのみを考慮すればよく、マーカ自体の加工が不要となるため、製造コストの増大を抑制することができる。 The industrial vehicle 1 is equipped with a camera 20 that captures an image of the marker M and the above-mentioned posture estimation device 10. In this industrial vehicle 1, at least a portion of the original coordinates is moved to generate shifted coordinates. The marker M indicated by the shifted coordinates appears to be more distorted than the marker M indicated by the original coordinates. In this industrial vehicle 1, the reliability of the first posture estimation result R1 can be accurately determined by comparing the second posture estimation result R2 using the shifted coordinates with a threshold value. Furthermore, with this industrial vehicle 1, it is only necessary to consider the calculation costs required for calculating the shifted coordinates and comparing them with the threshold value, and since there is no need to process the marker itself, an increase in manufacturing costs can be suppressed.

姿勢推定プログラム100は、マーカMの撮影画像からマーカMを認識し、撮影画像におけるマーカMの元座標を取得するステップと、マーカMの少なくとも一点の座標を元座標からずらすことによってずらし座標を生成するステップと、元座標を用いた第1姿勢推定結果R1と、ずらし座標を用いた第2姿勢推定結果R2とを生成するステップと、第2姿勢推定結果R2と予め設定された閾値との比較に基づいて、第1姿勢推定結果R1の信頼性の有無を判定するステップと、をコンピュータに実行させる。また、記憶媒体110は、姿勢推定プログラム100を記憶した、コンピュータ読み取り可能な記憶媒体110である。 The posture estimation program 100 causes a computer to execute the steps of recognizing marker M from a captured image of marker M and acquiring original coordinates of marker M in the captured image, generating shifted coordinates by shifting the coordinates of at least one point of marker M from the original coordinates, generating a first posture estimation result R1 using the original coordinates and a second posture estimation result R2 using the shifted coordinates, and determining whether or not the first posture estimation result R1 is reliable based on a comparison between the second posture estimation result R2 and a preset threshold. The storage medium 110 is a computer-readable storage medium 110 that stores the posture estimation program 100.

この姿勢推定プログラム100及び記憶媒体110では、元座標の少なくとも一部が移動してずらし座標が生成される。ずらし座標によって示されるマーカMは、元座標によって示されるマーカMよりも見かけ上の歪みが大きくなる。この姿勢推定プログラム100及び記憶媒体110では、このずらし座標を用いた第2姿勢推定結果R2を閾値と比較することで、第1姿勢推定結果R1の信頼性の有無を精度良く判定することができる。また、この姿勢推定プログラム100及び記憶媒体110は、ずらし座標の算出と閾値との比較に要する計算コストのみを考慮すればよく、マーカ自体の加工が不要となるため、製造コストの増大を抑制することができる。 In this posture estimation program 100 and storage medium 110, at least a portion of the original coordinates is moved to generate shifted coordinates. The marker M indicated by the shifted coordinates appears to be more distorted than the marker M indicated by the original coordinates. In this posture estimation program 100 and storage medium 110, the reliability of the first posture estimation result R1 can be accurately determined by comparing the second posture estimation result R2 using the shifted coordinates with a threshold value. Furthermore, in this posture estimation program 100 and storage medium 110, it is only necessary to consider the calculation cost required to calculate the shifted coordinates and compare them with the threshold value, and since processing of the marker itself is not required, an increase in manufacturing costs can be suppressed.

上記実施形態では、生成部12は、マーカMの四隅の座標のそれぞれを1ピクセル分移動させているが、1ピクセル以上(例えば2ピクセル又は3ピクセル等)移動させてもよい。また、上記実施形態では、生成部12は、複数のずらし座標として16個のずらし座標を生成しているが、ずらし座標の個数はこれに限られず、任意の数としてもよい。 In the above embodiment, the generation unit 12 shifts each of the coordinates of the four corners of the marker M by one pixel, but may shift by more than one pixel (e.g., two pixels or three pixels). Also, in the above embodiment, the generation unit 12 generates 16 shift coordinates as multiple shift coordinates, but the number of shift coordinates is not limited to this and may be any number.

1…産業車両、10…姿勢推定装置、11…認識部、12…生成部、13…推定部、14…判定部、15…出力部、20…カメラ、100…姿勢推定プログラム、110…記憶媒体、101…認識モジュール、102…生成モジュール、103…推定モジュール、104…判定モジュール、105…出力モジュール、M…マーカ、P…撮影画像。 1...industrial vehicle, 10...posture estimation device, 11...recognition unit, 12...generation unit, 13...estimation unit, 14...determination unit, 15...output unit, 20...camera, 100...posture estimation program, 110...storage medium, 101...recognition module, 102...generation module, 103...estimation module, 104...determination module, 105...output module, M...marker, P...captured image.

Claims (13)

マーカの撮影画像から前記マーカを認識し、前記撮影画像における前記マーカの元座標を取得する認識部と、
前記マーカの少なくとも一点の座標を前記元座標からずらすことによってずらし座標を生成する生成部と、
前記元座標を用いた第1姿勢推定結果と、前記ずらし座標を用いた第2姿勢推定結果とを生成する推定部と、
前記第2姿勢推定結果と予め設定された閾値との比較に基づいて、前記第1姿勢推定結果の信頼性の有無を判定する判定部と、
を備えた姿勢推定装置。
a recognition unit that recognizes a marker from a captured image of the marker and acquires original coordinates of the marker in the captured image;
a generation unit that generates shifted coordinates by shifting coordinates of at least one point of the marker from the original coordinates;
an estimation unit that generates a first posture estimation result using the original coordinates and a second posture estimation result using the shifted coordinates;
a determination unit that determines whether or not the first posture estimation result is reliable based on a comparison between the second posture estimation result and a preset threshold;
A posture estimation device comprising:
前記生成部は、前記マーカの四隅の座標を前記元座標からずらして複数のずらし座標を生成する、請求項1記載の姿勢推定装置。 The posture estimation device according to claim 1, wherein the generation unit generates a plurality of shifted coordinates by shifting the coordinates of the four corners of the marker from the original coordinates. 前記生成部は、前記マーカの四隅の座標のそれぞれを前記元座標からX軸の正負方向及びY軸の正負方向にそれぞれ移動させることによって前記複数のずらし座標を生成する、請求項2記載の姿勢推定装置。 The posture estimation device according to claim 2, wherein the generation unit generates the multiple shifted coordinates by moving each of the coordinates of the four corners of the marker from the original coordinates in the positive and negative directions of the X axis and the positive and negative directions of the Y axis. 前記生成部は、前記マーカの四隅の座標のそれぞれを1ピクセル分移動させる、請求項3記載の姿勢推定装置。 The posture estimation device according to claim 3, wherein the generation unit moves each of the coordinates of the four corners of the marker by one pixel. 前記判定部は、前記第2姿勢推定結果における最大値と最小値との差分を算出し、前記差分と前記閾値とを比較する、請求項2~4のいずれか一項記載の姿勢推定装置。 The posture estimation device according to any one of claims 2 to 4, wherein the determination unit calculates a difference between a maximum value and a minimum value in the second posture estimation result and compares the difference with the threshold value. 前記判定部は、前記第2姿勢推定結果における分散を算出し、前記分散と前記閾値とを比較する、請求項2~4のいずれか一項記載の姿勢推定装置。 The posture estimation device according to any one of claims 2 to 4, wherein the determination unit calculates a variance in the second posture estimation result and compares the variance with the threshold value. 前記判定部は、前記第1姿勢推定結果の信頼性が無いと判定した場合に、前記第2姿勢推定結果のうち前記閾値外の値を除外し、除外後の値の平均値を算出することによってみなし推定結果を生成する、請求項2~6のいずれか一項記載の姿勢推定装置。 The posture estimation device according to any one of claims 2 to 6, wherein the determination unit, when determining that the first posture estimation result is unreliable, generates a deemed estimation result by excluding values outside the threshold from the second posture estimation result and calculating an average value of the excluded values. 前記判定部は、前記第1姿勢推定結果の信頼性が無いと判定した場合に、前記第1姿勢推定結果を破棄する、請求項1~6のいずれか一項記載の姿勢推定装置。 The posture estimation device according to any one of claims 1 to 6, wherein the determination unit discards the first posture estimation result when it determines that the first posture estimation result is unreliable. 前記判定部は、前記第1姿勢推定結果及び前記第2姿勢推定結果と、前記閾値との比較に基づいて、前記第1姿勢推定結果の信頼性の有無を判定する、請求項1~8のいずれか一項記載の姿勢推定装置。 The posture estimation device according to any one of claims 1 to 8, wherein the determination unit determines the reliability of the first posture estimation result based on a comparison of the first posture estimation result and the second posture estimation result with the threshold value. 前記推定部は、ロール角、ピッチ角、ヨー角、及び位置情報の少なくとも一つを前記第1姿勢推定結果及び前記第2姿勢推定結果として生成する、請求項1~9のいずれか一項記載の姿勢推定装置。 The attitude estimation device according to any one of claims 1 to 9, wherein the estimation unit generates at least one of a roll angle, a pitch angle, a yaw angle, and position information as the first attitude estimation result and the second attitude estimation result. 前記マーカを撮影するカメラ及び請求項1~10のいずれか一項に記載の姿勢推定装置を搭載してなる産業車両。 An industrial vehicle equipped with a camera that captures the marker and a posture estimation device according to any one of claims 1 to 10. マーカの撮影画像から前記マーカを認識し、前記撮影画像における前記マーカの元座標を取得するステップと、
前記マーカの少なくとも一点の座標を前記元座標からずらすことによってずらし座標を生成するステップと、
前記元座標を用いた第1姿勢推定結果と、前記ずらし座標を用いた第2姿勢推定結果とを生成するステップと、
前記第2姿勢推定結果と予め設定された閾値との比較に基づいて、前記第1姿勢推定結果の信頼性の有無を判定するステップと、
をコンピュータに実行させる姿勢推定プログラム。
A step of recognizing the marker from a captured image of the marker and acquiring original coordinates of the marker in the captured image;
generating shifted coordinates by shifting coordinates of at least one point of the marker from the original coordinates;
generating a first pose estimation result using the original coordinates and a second pose estimation result using the shifted coordinates;
determining whether the first posture estimation result is reliable based on a comparison between the second posture estimation result and a preset threshold;
A posture estimation program that causes a computer to execute the above.
請求項12に記載の姿勢推定プログラムを記憶した、コンピュータ読み取り可能な記憶媒体。

A computer-readable storage medium storing the posture estimation program according to claim 12.

JP2021146104A 2021-09-08 2021-09-08 Attitude estimation device, industrial vehicle, attitude estimation program, and storage medium Active JP7533402B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021146104A JP7533402B2 (en) 2021-09-08 2021-09-08 Attitude estimation device, industrial vehicle, attitude estimation program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021146104A JP7533402B2 (en) 2021-09-08 2021-09-08 Attitude estimation device, industrial vehicle, attitude estimation program, and storage medium

Publications (2)

Publication Number Publication Date
JP2023039109A JP2023039109A (en) 2023-03-20
JP7533402B2 true JP7533402B2 (en) 2024-08-14

Family

ID=85600357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021146104A Active JP7533402B2 (en) 2021-09-08 2021-09-08 Attitude estimation device, industrial vehicle, attitude estimation program, and storage medium

Country Status (1)

Country Link
JP (1) JP7533402B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015037178A1 (en) 2013-09-12 2015-03-19 トヨタ自動車株式会社 Posture estimation method and robot
JP2015158461A (en) 2014-02-25 2015-09-03 富士通株式会社 Attitude estimation device, attitude estimation method and attitude estimation computer program
WO2018135063A1 (en) 2017-01-17 2018-07-26 国立研究開発法人産業技術総合研究所 Marker, and posture estimation method and position and posture estimation method using marker
JP2019125354A (en) 2018-01-12 2019-07-25 キヤノン株式会社 Information processor, system, method, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015037178A1 (en) 2013-09-12 2015-03-19 トヨタ自動車株式会社 Posture estimation method and robot
JP2015158461A (en) 2014-02-25 2015-09-03 富士通株式会社 Attitude estimation device, attitude estimation method and attitude estimation computer program
WO2018135063A1 (en) 2017-01-17 2018-07-26 国立研究開発法人産業技術総合研究所 Marker, and posture estimation method and position and posture estimation method using marker
JP2019125354A (en) 2018-01-12 2019-07-25 キヤノン株式会社 Information processor, system, method, and program

Also Published As

Publication number Publication date
JP2023039109A (en) 2023-03-20

Similar Documents

Publication Publication Date Title
US10659762B2 (en) Stereo camera
US6985075B2 (en) Obstacle detection apparatus and method
JP5870273B2 (en) Object detection apparatus, object detection method, and program
US7313265B2 (en) Stereo calibration apparatus and stereo image monitoring apparatus using the same
CN113822942B (en) Method for measuring object size by monocular camera based on two-dimensional code
CN112927249A (en) System and method for finding image central line by visual system
WO2012172817A1 (en) Image stabilization apparatus, image stabilization method, and document
US11924559B2 (en) Method and system for determining occlusion within a camera field of view
US9946947B2 (en) System and method for finding saddle point-like structures in an image and determining information from the same
US6697146B2 (en) Range finder for finding range by image realization
US20080018951A1 (en) Image processing apparatus and control method thereof
CN111028276A (en) Image alignment method and device, storage medium and electronic equipment
CN110009615B (en) Image corner detection method and detection device
JP4696991B2 (en) Motion detection method and motion detection apparatus
CN116092086A (en) Machine tool data panel character extraction and recognition method, system, device and terminal
US11170252B2 (en) Face recognition method and computer system thereof
JP7533402B2 (en) Attitude estimation device, industrial vehicle, attitude estimation program, and storage medium
CN113487675B (en) Rapid feature point detection method for incomplete checkerboard cooperation icon
CN107563314B (en) Lane line detection method based on parallel coordinate system
CN113743147A (en) Fuzzy imaging mechanism-based anti-fuzzy two-dimensional code image and blind restoration method thereof
WO2021117363A1 (en) Object detection method and object detection device
JP4874706B2 (en) QR code reader
CN113850100B (en) Method for correcting two-dimensional code and electronic equipment
JP6492603B2 (en) Image processing apparatus, system, image processing method, and program
TWI736063B (en) Object detection method for static scene and associated electronic device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231218

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240715

R150 Certificate of patent or registration of utility model

Ref document number: 7533402

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150