JP7647032B2 - DETECTION APPARATUS, PROCESSING APPARATUS, AND PROCESSING PROGRAM - Google Patents

DETECTION APPARATUS, PROCESSING APPARATUS, AND PROCESSING PROGRAM Download PDF

Info

Publication number
JP7647032B2
JP7647032B2 JP2020141682A JP2020141682A JP7647032B2 JP 7647032 B2 JP7647032 B2 JP 7647032B2 JP 2020141682 A JP2020141682 A JP 2020141682A JP 2020141682 A JP2020141682 A JP 2020141682A JP 7647032 B2 JP7647032 B2 JP 7647032B2
Authority
JP
Japan
Prior art keywords
point
calculation unit
point cloud
information
processing device
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
JP2020141682A
Other languages
Japanese (ja)
Other versions
JP2022037506A (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.)
Nikon Corp
Original Assignee
Nikon 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 Nikon Corp filed Critical Nikon Corp
Priority to JP2020141682A priority Critical patent/JP7647032B2/en
Publication of JP2022037506A publication Critical patent/JP2022037506A/en
Application granted granted Critical
Publication of JP7647032B2 publication Critical patent/JP7647032B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、検出装置、処理装置、検出方法、及び処理プログラムに関する。 The present invention relates to a detection device, a processing device, a detection method, and a processing program.

例えば、特許文献1に記載のように、複数の撮像装置により対象物を撮像し、得られた複数の画像をコンピュータに入力して対象物の3次元形状を取得する技術が提案されているが、対象物(物体)の全部又は一部の形状あるいは姿勢を高精度に検出することが望まれている。 For example, as described in Patent Document 1, a technology has been proposed in which an object is imaged using multiple imaging devices, and the resulting images are input to a computer to obtain the three-dimensional shape of the object; however, it is desirable to detect the shape or orientation of all or part of the object (object) with high accuracy.

特開2010-134546号公報JP 2010-134546 A

本発明の態様に従えば、対象物の表面における各点の位置情報を受け取り、位置情報による、点における法線から対象物に関する特徴点を求める演算部と、複数の特徴点から対象物の姿勢を求める姿勢演算部と、を備え、姿勢演算部は、骨格情報を複数の特徴点を連結した連結線に対してフィッティングして対象物の姿勢を求める、処理装置が提供される。
本発明の態様に従えば、対象物の表面における各点の位置情報を示す点群データを受け取り、点群データ上の点における法線から対象物に関する特徴点を求める演算部と、複数の特徴点から対象物の姿勢を求める姿勢演算部と、点群データに基づいて対象物の形状情報を含むモデル情報を生成するモデル生成部と、を備え、姿勢演算部は、骨格情報を複数の特徴点に対してフィッティングして対象物の姿勢を求め、モデル生成部は、姿勢演算部で求められた対象物の姿勢に基づいて、点群データのうちの第1部分点群と第2部分点群とを区別する、処理装置が提供される。
According to an aspect of the present invention, there is provided a processing device comprising: a calculation unit that receives positional information of each point on the surface of an object, and determines feature points of the object from normals at the points using the positional information; and a posture calculation unit that determines the posture of the object from the multiple feature points, wherein the posture calculation unit determines the posture of the object by fitting skeletal information to connecting lines connecting the multiple feature points.
According to an aspect of the present invention, there is provided a processing device comprising: a calculation unit that receives point cloud data indicating positional information of each point on a surface of an object, and determines feature points of the object from normals at points on the point cloud data; a posture calculation unit that determines the posture of the object from the plurality of feature points; and a model generation unit that generates model information including shape information of the object based on the point cloud data, wherein the posture calculation unit determines the posture of the object by fitting skeletal information to the plurality of feature points, and the model generation unit distinguishes between a first partial point cloud and a second partial point cloud of the point cloud data based on the posture of the object determined by the posture calculation unit.

本発明の態様に従えば、対象物の表面の位置を示す位置情報を受け取り、位置情報上の点における法線から対象物に関する特徴点を求める演算部と、複数の特徴点と骨格情報とに基づいて対象物の姿勢を求める姿勢演算部と、を備える、処理装置が提供される。According to an aspect of the present invention, there is provided a processing device comprising: a calculation unit that receives position information indicating a surface position of an object and calculates feature points of the object from normals at points on the position information; and a posture calculation unit that calculates the posture of the object based on a plurality of feature points and skeletal information.
本発明の態様に従えば、対象物の表面の位置を示す位置情報を受け取り、位置情報上の点における法線から対象物に関する特徴点を求める演算部と、対象物の姿勢を算出する姿勢演算部と、を備え、演算部は、対象物の内部に複数の特徴点を求め、姿勢演算部は、対象物の内部に設定される複数の特徴点を用いて、対象物の姿勢を算出する、処理装置が提供される。According to an aspect of the present invention, there is provided a processing device comprising: a calculation unit that receives position information indicating a position of a surface of an object, and determines feature points related to the object from normals at points on the position information, and an attitude calculation unit that calculates the attitude of the object, wherein the calculation unit determines a plurality of feature points inside the object, and the attitude calculation unit calculates the attitude of the object using the plurality of feature points set inside the object.
本発明の態様に従えば、対象物の表面における各点の位置情報を検出する検出部と、上記の処理装置と、を備える検出装置が提供される。According to an aspect of the present invention, there is provided a detection device including a detection section that detects position information of each point on a surface of an object, and the above-mentioned processing device.

本発明の態様に従えば、コンピュータに、対象物の表面における各点の位置情報を受け取り、位置情報による、点における法線から対象物に関する特徴点を求めることと、複数の特徴点から対象物の姿勢を求めることと、を実行させ、対象物の姿勢を求める処理では、骨格情報を複数の特徴点を連結した連結線に対してフィッティングして対象物の姿勢が求められる、処理プログラムが提供される。
本発明の態様に従えば、コンピュータに、対象物の表面における各点の位置情報を示す点群データを受け取り、点群データ上の点における法線から対象物に関する特徴点を求めることと、複数の特徴点から対象物の姿勢を求めることと、点群データに基づいて対象物の形状情報を含むモデル情報を生成することと、を実行させ、対象物の姿勢を求める処理では、骨格情報を複数の特徴点に対してフィッティングして対象物の姿勢が求められ、対象物の形状情報を含むモデル情報を生成する処理では、求められた対象物の姿勢に基づいて、点群データのうちの第1部分点群と第2部分点群とが区別される、処理プログラムが提供される。
According to an aspect of the present invention, there is provided a processing program that causes a computer to receive positional information of each point on the surface of an object, determine feature points of the object from normals at the points based on the positional information, and determine the orientation of the object from the multiple feature points, where the process of determining the orientation of the object involves fitting skeletal information to connecting lines connecting the multiple feature points to determine the orientation of the object.
According to an aspect of the present invention, a processing program is provided that causes a computer to receive point cloud data indicating positional information of each point on the surface of an object, determine feature points related to the object from normals at points on the point cloud data, determine the orientation of the object from the plurality of feature points, and generate model information including shape information of the object based on the point cloud data, wherein in the process of determining the orientation of the object, the orientation of the object is determined by fitting skeletal information to the plurality of feature points, and in the process of generating the model information including the shape information of the object, a first partial point cloud and a second partial point cloud of the point cloud data are distinguished based on the determined orientation of the object.

本発明の態様に従えば、コンピュータに、対象物の表面の位置を示す位置情報を受け取り、位置情報上の点における法線から対象物に関する特徴点を求めることと、複数の特徴点と骨格情報とに基づいて対象物の姿勢を求めることと、を実行させる処理プログラムが提供される。According to an aspect of the present invention, there is provided a processing program that causes a computer to receive position information indicating a position of a surface of an object, determine feature points of the object from normals at points on the position information, and determine the posture of the object based on a plurality of feature points and skeletal information.
本発明の態様に従えば、コンピュータに、対象物の表面の位置を示す位置情報を受け取り、位置情報上の点における法線から対象物に関する特徴点を求めることと、対象物の姿勢を算出することと、を実行させ、特徴点を求める処理では、対象物の内部に複数の特徴点が求められ、対象物の姿勢を算出する処理では、対象物の内部に設定される複数の特徴点を用いて、対象物の姿勢が算出される、処理プログラムが提供される。According to an aspect of the present invention, there is provided a processing program that causes a computer to receive position information indicating a position of a surface of an object, determine feature points of the object from normals at points on the position information, and calculate the orientation of the object, wherein in the process of determining the feature points, a plurality of feature points are determined within the object, and in the process of calculating the orientation of the object, the orientation of the object is calculated using the plurality of feature points set within the object.

第1実施形態に係る検出装置を示す図。FIG. 1 is a diagram showing a detection device according to a first embodiment. 第1実施形態に係る情報取得部を示す図。FIG. 2 is a diagram showing an information acquisition unit according to the first embodiment. 第1実施形態に係る点群データ生成部の処理を示す図。5A to 5C are diagrams showing processing of a point cloud data generating unit according to the first embodiment. 第1実施形態に係る点群データ生成部の処理を示す図。5A to 5C are diagrams showing processing of a point cloud data generating unit according to the first embodiment. 第1実施形態に係る点群データ生成部の処理を示す図。5A to 5C are diagrams showing processing of a point cloud data generating unit according to the first embodiment. 第1実施形態に係る演算部の処理を示す図。FIG. 4 is a diagram showing processing of a calculation unit according to the first embodiment. 第1実施形態に係る演算部の処理を示す図。FIG. 4 is a diagram showing processing of a calculation unit according to the first embodiment. 第1実施形態に係る姿勢演算部の処理を示す図。5 is a diagram showing the processing of an attitude calculation unit according to the first embodiment. FIG. 第1実施形態に係る所定の骨格情報を示す図。FIG. 4 is a diagram showing predetermined skeletal information according to the first embodiment. 第1実施形態に係る姿勢演算部の処理を示す図。5 is a diagram showing the processing of an attitude calculation unit according to the first embodiment. FIG. 第1実施形態に係る検出方法を示すフローチャート。4 is a flowchart showing a detection method according to the first embodiment. 第2実施形態に係る検出装置を示す図。FIG. 13 is a diagram showing a detection device according to a second embodiment. 第2実施形態に係る演算部の処理を示す図。FIG. 11 is a diagram showing the processing of a calculation unit according to the second embodiment. 第2実施形態に係る演算部の処理を示す図。FIG. 11 is a diagram showing the processing of a calculation unit according to the second embodiment. 第2実施形態に係る検出方法を示すフローチャート。10 is a flowchart showing a detection method according to a second embodiment. 第3実施形態に係る検出装置を示す図。FIG. 13 is a diagram showing a detection device according to a third embodiment. 第4実施形態に係る検出装置を示す図。FIG. 13 is a diagram showing a detection device according to a fourth embodiment. 第5実施形態に係る検出装置を示す図。FIG. 13 is a diagram showing a detection device according to a fifth embodiment.

以下、実施形態について図面を参照しながら説明する。図面においては実施形態を説明するため、一部分を大きく又は強調して表すなど適宜縮尺を変更して表現しており、実際の製品とは大きさ、形状が異なる場合がある。また、以下の説明においては、図中において示したXYZ直交座標系を用いて方向を説明する場合がある。 The following describes the embodiments with reference to the drawings. In order to explain the embodiments, the drawings are appropriately scaled, with some parts enlarged or emphasized, and may differ in size and shape from the actual product. In the following description, directions may be explained using the XYZ Cartesian coordinate system shown in the drawings.

[第1実施形態]
第1実施形態について説明する。図1は、第1実施形態に係る検出装置の例を示す図である。検出装置1(検出システム)は、例えばモーションキャプチャ装置、動作検出システム、運動支援システム等である。また、検出装置1は姿勢解析又は3次元モデリング等に使用される。これらの場合、検出装置1は、所定の時間範囲において一方向又は複数の方向に移動する対象物Mを検出する。検出装置1は、直線的に移動する対象物Mを検出してもよいし、蛇行して移動する対象物Mを検出してもよい。すなわち、検出装置1が対象物Mを検出する際の対象物Mの移動経路(例えば、軌跡)は、直線が含まれていてもよいし、曲線が含まれていてもよく、直線及び曲線が含まれていてもよい。
[First embodiment]
The first embodiment will be described. FIG. 1 is a diagram showing an example of a detection device according to the first embodiment. The detection device 1 (detection system) is, for example, a motion capture device, a motion detection system, an exercise support system, etc. The detection device 1 is also used for posture analysis or three-dimensional modeling, etc. In these cases, the detection device 1 detects an object M moving in one direction or in multiple directions in a predetermined time range. The detection device 1 may detect an object M moving linearly, or may detect an object M moving in a meandering manner. That is, the movement path (e.g., a trajectory) of the object M when the detection device 1 detects the object M may include a straight line, may include a curved line, or may include a straight line and a curved line.

対象物Mは、検出装置1による検出の対象となる対象領域ARにおいて移動可能である。対象領域ARは、例えば検出装置1が検出可能な対象の領域や範囲、あるいは視野等に相当する。対象物Mは、例えば人体又は人以外の動物、人型又は人以外の動物型のロボット、若しくは動物型以外のロボット等である。対象物Mは、例えば移動に伴って姿勢と形状との一方又は双方が変化する。例えば、対象物Mが人体である場合は移動(例えば、歩行、走行、運動、動作)する際に第1部分(例えば、左足)と第2部分(例えば、右足)とが交互に移動方向MDに移動する。このとき、対象物Mは少なくとも一部の形状(例えば、姿勢)が変化する。 The object M is movable within a target area AR that is the subject of detection by the detection device 1. The target area AR corresponds to, for example, an area or range of an object that can be detected by the detection device 1, or a field of view. The object M is, for example, a human body or a non-human animal, a humanoid or non-human animal-type robot, or a non-animal robot. The object M changes, for example, one or both of its posture and shape as it moves. For example, if the object M is a human body, a first part (for example, the left foot) and a second part (for example, the right foot) move alternately in the movement direction MD when it moves (for example, walking, running, exercising, moving). At this time, at least a part of the shape (for example, posture) of the object M changes.

移動する人体は、例えばフェンシング、野球、サッカー、ゴルフ、剣道、アメリカンフットボール、アイスホッケー、又は体操等のスポーツにおいて動作する人体である。また、移動する人体は、例えばランニング、エクササイズ、ヨガ、ボディビル、ファッションショー等のウォーキング、又はポージングにおいて動作する人体である。また移動する人体は、例えばゲーム、人物認証、又は仕事において動作する人体である。なお、対象物Mには移動する人体と、移動する人体に付帯する物体(例えば、衣類、装着物、運動器具、防具)とが含まれてもよい。 The moving human body is, for example, a human body moving in sports such as fencing, baseball, soccer, golf, kendo, American football, ice hockey, or gymnastics. The moving human body is, for example, a human body moving while walking or posing in running, exercise, yoga, bodybuilding, fashion shows, etc. The moving human body is, for example, a human body moving in games, person authentication, or work. Note that the target M may include the moving human body and objects attached to the moving human body (for example, clothing, wearables, exercise equipment, protective gear).

以下では、図1等に示すXYZ直交座標系を参照する。このXYZ直交座標系において、X方向は対象物Mの移動方向MDであり、Y方向は対象物Mの移動方向MDの鉛直方向であり、Z方向は対象物Mの移動方向MDと鉛直方向とに交差(直交)する交差方向(直交方向)である。対象物Mが人体である場合に、Z方向は人体の肩幅の方向を含む。また、以下では、X、Y、Zの各方向において、適宜、矢印が指す側を+側(例えば、+Z側)と称し、矢印が指す側に対して反対側を-側(例えば、-Z側)と称する。例えば上記の第1部分(例えば、左足)は第2部分(例えば、右足)に対して-Z側に存在し、第2部分は第1部分に対して+Z側に存在する。 In the following, the XYZ Cartesian coordinate system shown in FIG. 1 and the like will be referred to. In this XYZ Cartesian coordinate system, the X direction is the moving direction MD of the object M, the Y direction is the vertical direction of the moving direction MD of the object M, and the Z direction is the intersecting direction (orthogonal direction) that intersects (is perpendicular to) the moving direction MD of the object M and the vertical direction. When the object M is a human body, the Z direction includes the direction of the shoulder width of the human body. In addition, in the following, in each of the X, Y, and Z directions, the side indicated by the arrow is appropriately referred to as the + side (e.g., the +Z side), and the opposite side to the side indicated by the arrow is appropriately referred to as the - side (e.g., the -Z side). For example, the first part (e.g., the left foot) is on the -Z side of the second part (e.g., the right foot), and the second part is on the +Z side of the first part.

検出装置1は、検出部10と処理装置100とを備える。検出部10は、対象物Mの表面における各点の位置情報を検出する。検出部10は、後述のように対象物Mの位置情報として対象物Mの表面における各点の3次元座標を含む点群データを検出する。本実施形態において、対象物Mの移動方向MDは対象領域ARに対して予め定められている。対象領域ARにおける鉛直方向及び対象物Mの移動方向MDは、既知の情報として検出装置1に与えられている。検出部10による検出結果(点群データ)において、X、Y、Zの各方向は上記の既知の情報に基づいて設定される。検出部10は、情報取得部11と点群データ生成部110とを含む。 The detection device 1 includes a detection unit 10 and a processing device 100. The detection unit 10 detects position information of each point on the surface of the object M. The detection unit 10 detects point cloud data including three-dimensional coordinates of each point on the surface of the object M as the position information of the object M, as described below. In this embodiment, the movement direction MD of the object M is predetermined with respect to the object area AR. The vertical direction in the object area AR and the movement direction MD of the object M are given to the detection device 1 as known information. In the detection result (point cloud data) by the detection unit 10, the X, Y, and Z directions are set based on the above known information. The detection unit 10 includes an information acquisition unit 11 and a point cloud data generation unit 110.

情報取得部11は、例えば携帯型の装置(携帯機器)の少なくとも一部である。情報取得部11は据え置き型の装置の少なくとも一部であってもよい。情報取得部11は処理装置100の内部に設けられていてもよい。また、点群データ生成部110は処理装置100の外部の装置に設けられて処理装置100と接続されていてもよい。例えば、検出部10は処理装置100の外部の装置であって、情報取得部11と点群データ生成部110とを内蔵していてもよい。検出装置1の一部又は全部は、携帯可能な装置(例えば情報端末、スマートフォン、タブレット、カメラ付き携帯電話、ウェアラブル端末)であってもよい。また、検出装置1の一部又は全体は、据え置き型の装置(例えば、定点カメラ)であってもよい。 The information acquisition unit 11 is, for example, at least a part of a portable device (mobile equipment). The information acquisition unit 11 may be at least a part of a stationary device. The information acquisition unit 11 may be provided inside the processing device 100. Furthermore, the point cloud data generation unit 110 may be provided in a device external to the processing device 100 and connected to the processing device 100. For example, the detection unit 10 may be a device external to the processing device 100 and may incorporate the information acquisition unit 11 and the point cloud data generation unit 110. A part or all of the detection device 1 may be a portable device (for example, an information terminal, a smartphone, a tablet, a mobile phone with a camera, a wearable terminal). A part or all of the detection device 1 may be a stationary device (for example, a fixed camera).

図2は、第1実施形態に係る情報取得部の例を示す図である。情報取得部11は、対象物Mのデプスを検出する。情報取得部11は、例えばデプスセンサ(デプスカメラ)を含む。情報取得部11は、所定の点から、対象領域ARに配置された物体の表面における各点までのデプス(距離、奥行き、深度)を検出する。所定の点は、例えば情報取得部11による検出の基準になる位置の点(例えば視点、検出元の点、情報取得部11の位置を表す点、後述する撮像素子14の画素の位置)である。 Figure 2 is a diagram showing an example of an information acquisition unit according to the first embodiment. The information acquisition unit 11 detects the depth of the target object M. The information acquisition unit 11 includes, for example, a depth sensor (depth camera). The information acquisition unit 11 detects the depth (distance, depth, depth) from a predetermined point to each point on the surface of an object placed in the target area AR. The predetermined point is, for example, a point at a position that serves as a reference for detection by the information acquisition unit 11 (for example, a viewpoint, a point of detection origin, a point representing the position of the information acquisition unit 11, or a pixel position of the image sensor 14 described later).

情報取得部11は、照射部12と光学系13と撮像素子14とを備える。照射部12は、対象領域ARに光La(例えばパターン光、照射光)を照射(投影)する。光学系13は、例えば結像光学系(撮像光学系)を含む。撮像素子14は、例えばCMOSイメージセンサ又はCCDイメージセンサを含む。撮像素子14は2次元的に配列された複数の画素を有する。撮像素子14は、光学系13を介して対象領域ARを撮像する。撮像素子14は、光Laの照射によって対象領域ARに配置された物体から放射される光Lb(赤外光、戻り光)を検出する。 The information acquisition unit 11 includes an irradiation unit 12, an optical system 13, and an image sensor 14. The irradiation unit 12 irradiates (projects) light La (e.g., pattern light, irradiation light) onto the target area AR. The optical system 13 includes, for example, an imaging optical system (image sensor). The image sensor 14 includes, for example, a CMOS image sensor or a CCD image sensor. The image sensor 14 has a plurality of pixels arranged two-dimensionally. The image sensor 14 images the target area AR via the optical system 13. The image sensor 14 detects light Lb (infrared light, return light) emitted from an object placed in the target area AR by irradiation with light La.

情報取得部11は、例えば照射部12から照射される光Laのパターン(例えば強度分布)と、撮像素子14によって検出された光Lbのパターン(例えば強度分布、撮像画像)とに基づいて、撮像素子14の各画素に対応する対象領域AR上の点から撮像素子14の各画素までのデプスを検出する。情報取得部11は、その検出結果として対象領域ARにおけるデプスの分布を表すデプスマップ(デプス画像、奥行き情報、距離画像)を処理装置100に出力する。すなわち、情報取得部11は対象物Mのデプスマップを処理装置100に出力する。 The information acquisition unit 11 detects the depth from a point on the target area AR corresponding to each pixel of the image sensor 14 to each pixel of the image sensor 14 based on, for example, the pattern (e.g., intensity distribution) of light La irradiated from the irradiation unit 12 and the pattern (e.g., intensity distribution, captured image) of light Lb detected by the image sensor 14. The information acquisition unit 11 outputs a depth map (depth image, depth information, distance image) representing the distribution of depth in the target area AR as the detection result to the processing device 100. That is, the information acquisition unit 11 outputs the depth map of the object M to the processing device 100.

なお、情報取得部11はTOF(Time Of Flight)法によってデプスを検出するデバイスであってもよい。また、情報取得部11はTOF法以外の手法でデプスを検出するデバイスであってもよい。例えば、情報取得部11はレーザスキャナ(レーザ測距器)を含み、レーザスキャンによってデプスを検出してもよい。例えば、情報取得部11は位相差センサを含み、位相差法によってデプスを検出してもよい。例えば、情報取得部11はDFD(Depth From Defocus)法によってデプスを検出してもよい。 The information acquisition unit 11 may be a device that detects depth using a time-of-flight (TOF) method. The information acquisition unit 11 may also be a device that detects depth using a method other than the TOF method. For example, the information acquisition unit 11 may include a laser scanner (laser range finder) and detect depth using laser scanning. For example, the information acquisition unit 11 may include a phase difference sensor and detect depth using a phase difference method. For example, the information acquisition unit 11 may detect depth using a depth-from-defocus (DFD) method.

なお、情報取得部11は赤外光以外の光(例えば可視光)を対象物Mに照射し、対象物Mから出射される光(例えば可視光)を検出してもよい。例えば、情報取得部11はステレオカメラ等を含み、複数の視点から対象物Mを検出(撮像)してもよい。例えば、情報取得部11は複数の視点から対象物Mを撮像した撮像画像を用いて三角測量によってデプスを検出してもよい。例えば、情報取得部11は光学的な手法以外の手法(例えば超音波によるスキャン)でデプスを検出してもよい。 The information acquisition unit 11 may irradiate the object M with light other than infrared light (e.g., visible light) and detect the light (e.g., visible light) emitted from the object M. For example, the information acquisition unit 11 may include a stereo camera or the like, and detect (image) the object M from multiple viewpoints. For example, the information acquisition unit 11 may detect the depth by triangulation using captured images of the object M captured from multiple viewpoints. For example, the information acquisition unit 11 may detect the depth by a method other than an optical method (e.g., ultrasonic scanning).

図1の説明に戻り、点群データ生成部110は情報取得部11が検出したデプスに基づいて、対象物Mの位置情報として、対象物Mの表面の位置や対象物Mの形状を表す情報に相当する点群データを生成する。図1において、情報取得部11は処理装置100の外部に設けられる。また、図1において、点群データ生成部110は処理装置100の内部に設けられる。処理装置100は情報取得部11と通信可能に接続される。情報取得部11は検出結果を処理装置100に出力する。処理装置100は情報取得部11から出力された検出結果をもとに処理を実行する。 Returning to the explanation of FIG. 1, the point cloud data generation unit 110 generates point cloud data equivalent to information representing the surface position of the object M and the shape of the object M as position information of the object M based on the depth detected by the information acquisition unit 11. In FIG. 1, the information acquisition unit 11 is provided outside the processing device 100. Also in FIG. 1, the point cloud data generation unit 110 is provided inside the processing device 100. The processing device 100 is communicatively connected to the information acquisition unit 11. The information acquisition unit 11 outputs the detection result to the processing device 100. The processing device 100 executes processing based on the detection result output from the information acquisition unit 11.

処理装置100は、点群データ生成部110と演算部120と姿勢演算部130と記憶部140とを備える。記憶部140は、例えば不揮発性のメモリ、ハードディスクドライブ(HDD:Hard Disk Drive)、ソリッドステートドライブ(SSD:Solid State Drive)等である。記憶部140は、処理装置100で処理される元データや、処理装置100で処理(生成)されたデータを記憶する。記憶部140は、点群データの元データとして情報取得部11から出力されるデプスマップを記憶する。 The processing device 100 includes a point cloud data generation unit 110, a calculation unit 120, an attitude calculation unit 130, and a storage unit 140. The storage unit 140 is, for example, a non-volatile memory, a hard disk drive (HDD), a solid state drive (SSD), etc. The storage unit 140 stores original data to be processed by the processing device 100 and data processed (generated) by the processing device 100. The storage unit 140 stores a depth map output from the information acquisition unit 11 as original data of the point cloud data.

点群データ生成部110は、対象物Mの位置情報として点群データを生成する点群処理を実行する。点群データには、対象領域ARにおける対象物M上の複数の点の3次元座標が含まれる。このほか、点群データには対象物Mの周囲の物体(例えば、壁、床)上の複数の点の3次元座標が含まれていてもよい。点群データ生成部110は、記憶部140に記憶されたデプスマップを読み出して対象物Mの点群データを算出する。点群データ生成部110は、対象物Mのモデル情報(形状情報)として、点群データを生成してもよい。 The point cloud data generating unit 110 executes point cloud processing to generate point cloud data as position information of the object M. The point cloud data includes three-dimensional coordinates of multiple points on the object M in the target area AR. In addition, the point cloud data may include three-dimensional coordinates of multiple points on objects (e.g., walls, floors) surrounding the object M. The point cloud data generating unit 110 reads out the depth map stored in the storage unit 140 to calculate the point cloud data of the object M. The point cloud data generating unit 110 may generate point cloud data as model information (shape information) of the object M.

図3~図5は、第1実施形態に係る点群データ生成部の処理の例を示す図である。図3に示すD1は、情報取得部11の検出結果に相当するデプスマップである。デプスマップD1は、情報取得部11によるデプスの測定値の空間分布を表す情報(画像)である。デプスマップD1は、対象領域ARの各点におけるデプスを階調値で表したグレースケールの画像である。デプスマップD1において階調値が相対的に高い部分(例えば白い部分、明るい部分)は、デプスが相対的に小さい部分(例えば検出部10から相対的に近い部分)である。デプスマップD1において階調値が相対的に低い部分(例えば黒い部分、暗い部分)は、デプスが相対的に大きい部分(例えば検出部10から相対的に遠い部分)である。 Figures 3 to 5 are diagrams showing an example of processing by the point cloud data generation unit according to the first embodiment. D1 shown in Figure 3 is a depth map corresponding to the detection result of the information acquisition unit 11. The depth map D1 is information (image) that represents the spatial distribution of the depth measurement values by the information acquisition unit 11. The depth map D1 is a grayscale image that represents the depth at each point in the target area AR as a gradation value. Parts in the depth map D1 with relatively high gradation values (e.g., white parts, bright parts) are parts with relatively small depths (e.g., parts relatively close to the detection unit 10). Parts in the depth map D1 with relatively low gradation values (e.g., black parts, dark parts) are parts with relatively large depths (e.g., parts relatively far from the detection unit 10).

点群データ生成部110は、記憶部140からデプスマップD1のデータを読み出し、デプスマップD1の各画素の階調値(デプスの測定値)に基づいて各画素に相当する実空間上の点の3次元座標を算出し、点群データD2(図4参照)を生成する。以下では、1つの点の3次元座標を点データと呼ぶ場合がある。点群データD2は複数の点データを一組にしたデータである。 The point cloud data generator 110 reads out the data of the depth map D1 from the storage unit 140, calculates the three-dimensional coordinates of points in real space corresponding to each pixel based on the gradation value (depth measurement value) of each pixel of the depth map D1, and generates point cloud data D2 (see FIG. 4). Hereinafter, the three-dimensional coordinates of one point may be referred to as point data. The point cloud data D2 is a set of multiple point data.

点群データ生成部110は、例えば対象領域ARの全体の点群データに対してセグメント化やパターン認識等を施して、対象物Mの点群データD2を抽出する。つまり、点群データ生成部110は、対象領域ARに配置される物体の位置情報から物体の一部(対象物M)の位置情報を抽出する抽出処理(セグメント化)を実行する。ここで、対象領域ARに配置される物体は、対象物Mと、対象物Mの周囲の物体(例えば、床、壁、背景の物体)とを含む。 The point cloud data generation unit 110 extracts point cloud data D2 of the target object M, for example by performing segmentation, pattern recognition, etc. on the point cloud data of the entire target area AR. In other words, the point cloud data generation unit 110 executes an extraction process (segmentation) to extract position information of a part of an object (target object M) from the position information of the objects placed in the target area AR. Here, the objects placed in the target area AR include the target object M and objects around the target object M (for example, floors, walls, and background objects).

上記の抽出処理に先立ち、検出部10は、対象領域ARに対象物Mが配置されていない第1状態と、対象領域ARに対象物Mが配置されている第2状態とのそれぞれの状態において、対象領域ARにおける物体の位置情報を検出する。抽出処理において、点群データ生成部110は、第1状態における検出部10の検出結果と、第2状態における検出部10の検出結果との差分を算出することによって、対象物Mの位置情報を抽出する。 Prior to the above extraction process, the detection unit 10 detects position information of an object in the target area AR in each of a first state in which the target object M is not located in the target area AR and a second state in which the target object M is located in the target area AR. In the extraction process, the point cloud data generation unit 110 extracts the position information of the target object M by calculating the difference between the detection result of the detection unit 10 in the first state and the detection result of the detection unit 10 in the second state.

上記の第1状態は、第2状態とは異なる状態で対象領域ARに対象物Mが配置される状態であってもよい。例えば、上記の第1状態は対象領域ARにおける第1位置に対象物Mが配置される状態であり、上記の第2状態は対象領域ARにおける第1位置とは異なる第2位置に対象物Mが配置される状態であってもよい。なお、上記の抽出処理は、点群データ生成部110以外の処理部によって実行されてもよい。かかる処理部は、処理装置100に設けられてもよいし、処理装置100の外部の装置に設けられてもよい。また、上記の抽出処理は実行されなくてもよい。 The first state may be a state in which the object M is placed in the target area AR in a state different from the second state. For example, the first state may be a state in which the object M is placed in a first position in the target area AR, and the second state may be a state in which the object M is placed in a second position different from the first position in the target area AR. The extraction process may be performed by a processing unit other than the point cloud data generation unit 110. Such a processing unit may be provided in the processing device 100, or may be provided in a device external to the processing device 100. The extraction process may not be performed.

また、処理装置100は、検出部10の検出結果からノイズを除去してもよい。ノイズを除去するノイズ除去処理は、例えば検出部10(情報取得部11)が生成したデプスマップD1から空間的なノイズを除去する処理を含む。例えば、処理装置100は、デプスマップD1において隣り合う第1領域(第1画素)と第2領域(第2画素)とでデプスの差が閾値を超える場合に、第1領域におけるデプス又は第2領域におけるデプスがノイズであると判定する。処理装置100は、第1領域におけるデプスがノイズであると判定した場合に、第1領域の周囲の領域(第3画素、第4画素)のデプスを用いた補間等によって第1領域のデプスを推定する。そして、処理装置100は、推定したデプスで第1領域のデプスを更新(置換、補正)することによって空間的なノイズを除去する。点群データ生成部110は、空間的なノイズが除去されたデプスマップD1に基づいて点群データを生成してもよい。 The processing device 100 may also remove noise from the detection result of the detection unit 10. The noise removal process for removing noise includes, for example, a process for removing spatial noise from the depth map D1 generated by the detection unit 10 (information acquisition unit 11). For example, when the difference in depth between a first region (first pixel) and a second region (second pixel) adjacent to each other in the depth map D1 exceeds a threshold, the processing device 100 determines that the depth in the first region or the depth in the second region is noise. When the processing device 100 determines that the depth in the first region is noise, it estimates the depth of the first region by interpolation or the like using the depths of the regions (third pixel, fourth pixel) surrounding the first region. Then, the processing device 100 removes spatial noise by updating (replacing, correcting) the depth of the first region with the estimated depth. The point cloud data generation unit 110 may generate point cloud data based on the depth map D1 from which spatial noise has been removed.

また、ノイズ除去処理は、例えば、検出部10(情報取得部11)が生成したデプスマップD1から時間的なノイズ(時間的に変化するノイズ)を除去する処理を含む。例えば、検出部10は所定のサンプリング周波数で検出を繰り返す。そして、処理装置100は、検出のタイミングが異なる検出部10の検出結果(情報取得部11で生成されるデプスマップD1)を比較する。例えば、処理装置100は、第1フレームにおけるデプスマップD1と、第1フレームの次の第2フレームにおけるデプスマップD1とで、各画素におけるデプスの変化量(例えば時間変化量)を算出する。 The noise removal process also includes, for example, a process of removing temporal noise (noise that changes over time) from the depth map D1 generated by the detection unit 10 (information acquisition unit 11). For example, the detection unit 10 repeats detection at a predetermined sampling frequency. Then, the processing device 100 compares the detection results (depth maps D1 generated by the information acquisition unit 11) of the detection unit 10 that have different detection timings. For example, the processing device 100 calculates the amount of change in depth (e.g., the amount of change over time) for each pixel between the depth map D1 in the first frame and the depth map D1 in the second frame that follows the first frame.

処理装置100は、各画素におけるデプスの変化量が所定の条件を満たす場合に、この画素の第1フレームにおけるデプス、又は第2フレームにおけるデプスがノイズであると判定する。処理装置100は、第2フレームにおけるデプスがノイズであると判定した場合に、第1フレームにおけるデプスと、第2フレームの次の第3フレームにおけるデプスとを用いた補間等によって、第2フレームのデプスを推定する。処理装置100は、ノイズに対応する画素のデプスを推定したデプスで更新(置換、補正)することによって時間的なノイズを除去する。点群データ生成部110は、時間的なノイズが除去されたデプスマップD1に基づいて点群データを生成してもよい。 When the amount of change in depth for each pixel satisfies a predetermined condition, the processing device 100 determines that the depth of this pixel in the first frame or the depth in the second frame is noise. When the processing device 100 determines that the depth in the second frame is noise, it estimates the depth of the second frame by, for example, interpolation using the depth in the first frame and the depth in the third frame that follows the second frame. The processing device 100 removes temporal noise by updating (replacing, correcting) the depth of the pixel corresponding to the noise with the estimated depth. The point cloud data generation unit 110 may generate point cloud data based on the depth map D1 from which temporal noise has been removed.

なお、ノイズ除去処理は、空間的なノイズを除去する処理、又は、時間的なノイズを除去する処理を含まなくてもよい。また、ノイズ除去処理は、処理装置100以外の部分(例えば、検出部10)で実行されてもよい。また、検出装置1はノイズ除去処理を実行しなくてもよい。 The noise removal process does not have to include a process for removing spatial noise or a process for removing temporal noise. The noise removal process may be performed by a part other than the processing device 100 (e.g., the detection unit 10). The detection device 1 does not have to perform the noise removal process.

点群データ生成部110は、点群データD2に基づいて点における法線Hを求める(図5参照)。ここで、「点」は対象物Mの表面S1における各点のうちの任意の点である。なお、点における法線Hは点群データ生成部110によって求められなくてもよく、点群データ生成部110以外の処理部によって求められてもよい。処理部は、処理装置100に設けられてもよいし、処理装置100の外部の装置に設けられてもよい。 The point cloud data generating unit 110 determines the normal line H at the point based on the point cloud data D2 (see FIG. 5). Here, a "point" is any point among the points on the surface S1 of the object M. Note that the normal line H at the point does not have to be determined by the point cloud data generating unit 110, and may be determined by a processing unit other than the point cloud data generating unit 110. The processing unit may be provided in the processing device 100, or in a device external to the processing device 100.

点群データ生成部110は、例えば点群データD2における対象物Mの表面S1における各点のうちの任意の点D2aから所定距離の範囲DR1内に存在する他の各点(D2a、D2a、D2a、D2a)を選択する。範囲DR1は、例えば点D2aを中心とする球(又は楕円体)に含まれる範囲を指し、予めユーザにより設定されてもよいし、点群データD2の数や密度に応じて設定される可変の範囲でもよい。点群データ生成部110は、点D2aから各点(D2a、D2a、D2a、D2a)のそれぞれに対するベクトルVをとり正規化する。これらにより、点群データ生成部110は点D2aにおける法線Hを求める。なお、点群データ生成部110は複数の任意の点D2aそれぞれから、複数の法線Hそれぞれを求める。法線Hは、対象物Mを人体とする場合、人体の表面S1が丸みを帯びていることにより、人体の内部の方向に向かうベクトルになる。 The point cloud data generating unit 110 selects, for example, each of the other points (D2a 2 , D2a 3 , D2a 4 , D2a 5 ) existing within a range DR1 of a predetermined distance from an arbitrary point D2a 1 among the points on the surface S1 of the object M in the point cloud data D2. The range DR1 indicates, for example, a range included in a sphere (or an ellipsoid) centered on the point D2a 1 , and may be set in advance by a user, or may be a variable range set according to the number and density of the point cloud data D2. The point cloud data generating unit 110 obtains and normalizes a vector V from the point D2a 1 to each of the points (D2a 2 , D2a 3 , D2a 4 , D2a 5 ). With these, the point cloud data generating unit 110 obtains a normal line H at the point D2a 1. The point cloud data generating unit 110 obtains each of the normal lines H from each of the arbitrary points D2a 1 . When the object M is a human body, the normal H becomes a vector pointing inwardly toward the inside of the human body because the surface S1 of the human body is rounded.

図1の説明に戻り、演算部120は、検出部10が検出した位置情報による、点(対象物Mの表面S1における点)における法線Hから対象物Mに関する特徴点を求める。本実施形態において、特徴点は対象物Mの姿勢を求めるために利用される。 Returning to the explanation of FIG. 1, the calculation unit 120 determines feature points related to the object M from the normal H at a point (a point on the surface S1 of the object M) based on the position information detected by the detection unit 10. In this embodiment, the feature points are used to determine the posture of the object M.

図6は、第1実施形態に係る演算部の処理の例を示す図である。演算部120は、例えば対象物Mの表面における各点から近傍の点を選択し、選択した点によって構成される面を求める。面は対象物Mの全体にわたって求められる。図6では、近傍の点により構成される面の1つをS2としている。近傍の点により構成される面は、点群データ生成部110によって求められてもよいし、演算部120以外の処理部によって求められてもよい。処理部は、処理装置100に設けられてもよいし、処理装置100の外部の装置に設けられてもよい。演算部120は、点群データ生成部110が求めた法線Hを対象物Mの内部に向けて延長したときに法線H’が面S2(対象物Mの表面S1に対向する面)に衝突する場合に、点D2aと面S2との距離を求めて、求めた距離の中点を特徴点Qとして求める。特徴点Qは、対象物Mの内部に向かう法線Hに基づいて求められるため、対象物Mの内部に存在する点となる。 FIG. 6 is a diagram showing an example of processing of the calculation unit according to the first embodiment. The calculation unit 120, for example, selects nearby points from each point on the surface of the object M, and obtains a surface constituted by the selected points. The surface is obtained over the entire object M. In FIG. 6, one of the surfaces constituted by nearby points is S2. The surface constituted by nearby points may be obtained by the point cloud data generation unit 110, or may be obtained by a processing unit other than the calculation unit 120. The processing unit may be provided in the processing device 100, or may be provided in an external device to the processing device 100. When the normal line H obtained by the point cloud data generation unit 110 is extended toward the inside of the object M, and the normal line H' collides with the surface S2 (the surface facing the surface S1 of the object M), the calculation unit 120 obtains the distance between the point D2a1 and the surface S2, and obtains the midpoint of the obtained distance as the feature point Q. The feature point Q is obtained based on the normal line H toward the inside of the object M, and is therefore a point that exists inside the object M.

図7は、第1実施形態に係る演算部の処理の例を示す図である。図7に示す複数の円(楕円)は特徴点Qである。図7では、対象物Mの内部側(詳細には、求められた特徴点Qが存在する箇所)の拡大図を表している。 Figure 7 is a diagram showing an example of processing by the calculation unit according to the first embodiment. The multiple circles (ellipses) shown in Figure 7 are feature points Q. Figure 7 shows an enlarged view of the inside of the object M (more specifically, the location where the determined feature point Q exists).

図7に示すように、特徴点Qは局所(範囲DR2)に集中する場合がある。演算部120は、範囲DR2に含まれる特徴点Qが複数存在する場合に、複数の特徴点Qを1つの特徴点Qtとしてまとめる。範囲DR2は、点群データD2の数や、後述する姿勢検出の精度の程度によって変化させてもよいし、ユーザが設定できるようにしてもよい。 As shown in FIG. 7, feature points Q may be concentrated in a local area (range DR2). When there are multiple feature points Q included in range DR2, the calculation unit 120 groups the multiple feature points Q into one feature point Qt. The range DR2 may be changed depending on the number of point cloud data D2 or the degree of accuracy of posture detection described below, or may be set by the user.

演算部120は、例えば複数の特徴点Qの座標の平均値から特徴点Qtを求めてもよい。このほか、演算部120は、例えば複数の特徴点Qの座標の中央値から特徴点Qtを求めてもよい。なお、特徴点Qtを求める手法は上記に限られず、ある範囲(例えば、範囲DR2)にばらついた点(特徴点Q)を1つの点(特徴点Qt)にまとめる各種手法が用いられてもよい。 The calculation unit 120 may obtain the feature point Qt from, for example, the average value of the coordinates of the multiple feature points Q. Alternatively, the calculation unit 120 may obtain the feature point Qt from, for example, the median value of the coordinates of the multiple feature points Q. Note that the method for obtaining the feature point Qt is not limited to the above, and various methods may be used to combine points (feature points Q) scattered within a certain range (for example, range DR2) into one point (feature point Qt).

処理装置100は、演算部120が特徴点Qtを求めた場合、このときの範囲DR2に含まれる特徴点Qを以降の処理において使用しなくてもよい。なお、演算部120は範囲DR2に含まれる特徴点Qが所定数未満である場合、このときの範囲DR2において特徴点Qtを求めなくてもよい。また、演算部120は範囲DR2に含まれる特徴点Qのうち任意の1点(又はいくつかの点)を採用し、他の特徴点Qを使用しなくてもよい。また、演算部120は特徴点Qtを求めなくてもよい(特徴点Qが使用されればよい)。また、演算部120によって求められた特徴点Qt、Qの情報は、任意の装置(処理装置100とは異なる外部の装置)に出力されてもよい。処理装置100は、上記した特徴点Qt(特徴点Q)の算出を、対象物Mの内部において位置を変えながら取得する。処理装置100は、例えば対象物Mの内部において位置を所定距離だけずらしながら、それぞれの位置から特徴点Qt(特徴点Q)を算出する。つまり、処理装置100は複数の特徴点Qt(特徴点Q)を取得する。 When the calculation unit 120 obtains the feature point Qt, the processing device 100 may not use the feature point Q included in the range DR2 at this time in the subsequent processing. Note that, when the number of feature points Q included in the range DR2 is less than a predetermined number, the calculation unit 120 may not obtain the feature point Qt in the range DR2 at this time. Also, the calculation unit 120 may adopt any one point (or several points) of the feature points Q included in the range DR2 and not use the other feature points Q. Also, the calculation unit 120 may not obtain the feature point Qt (as long as the feature point Q is used). Also, the information on the feature points Qt and Q obtained by the calculation unit 120 may be output to any device (an external device different from the processing device 100). The processing device 100 obtains the calculation of the feature point Qt (feature point Q) described above while changing the position inside the object M. For example, the processing device 100 calculates the feature point Qt (feature point Q) from each position while shifting the position by a predetermined distance inside the object M. In other words, the processing device 100 acquires multiple feature points Qt (feature points Q).

図1の説明に戻り、姿勢演算部130は演算部120が求めた複数の特徴点Qt(特徴点Q)から対象物Mの姿勢を求める。上述したように、演算部120の処理結果は特徴点Qのみである場合もあるし、特徴点Qtのみである場合もあるし、特徴点Qt及び特徴点Qが混在する場合もある。姿勢演算部130は、これらの特徴点Qt、Qを用いて、対象物Mの姿勢を求める。例えば、姿勢演算部130は所定のモデル情報を複数の特徴点Qt、Qにフィッティングして対象物Mの姿勢を求める。なお、所定のモデル情報は記憶部140に予め記憶されていてもよいし、処理装置100の外部から取得されてもよい。また、所定のモデル情報は対象物Mが人体ではない場合、それに応じて準備されてもよい。 Returning to the explanation of FIG. 1, the posture calculation unit 130 calculates the posture of the object M from the multiple feature points Qt (feature points Q) calculated by the calculation unit 120. As described above, the processing result of the calculation unit 120 may be only the feature points Q, may be only the feature points Qt, or may be a mixture of the feature points Qt and Q. The posture calculation unit 130 calculates the posture of the object M using these feature points Qt and Q. For example, the posture calculation unit 130 fits predetermined model information to the multiple feature points Qt and Q to calculate the posture of the object M. Note that the predetermined model information may be stored in advance in the storage unit 140, or may be obtained from outside the processing device 100. Furthermore, if the object M is not a human body, the predetermined model information may be prepared accordingly.

ここで、対象物Mの姿勢を求める手法の一例を説明する。図8は、第1実施形態に係る姿勢演算部の処理の例を示す図である。図8では、演算部120が求めた特徴点Qt、Qを円形で示している。なお、図8では説明のために対象物Mを2点鎖線で示しているが、対象物M(2点鎖線)は実際に(図示のとおりに)表現されない。姿勢演算部130は、演算部120が求めた複数の特徴点Qt、Qを連結する。図8では、特徴点Qt、Qを連結した連結線CLを表している。そして、姿勢演算部130はモデル情報として所定の骨格情報(例えばスケルトン情報)を、複数の特徴点Qt、Qを連結した連結線CLに対してフィッティングして対象物Mの姿勢を求めてもよい。 Here, an example of a method for determining the posture of the object M will be described. FIG. 8 is a diagram showing an example of processing by the posture calculation unit according to the first embodiment. In FIG. 8, the feature points Qt and Q determined by the calculation unit 120 are shown as circles. Note that in FIG. 8, the object M is shown by a two-dot chain line for the purpose of explanation, but the object M (two-dot chain line) is not actually represented (as shown). The posture calculation unit 130 connects the multiple feature points Qt and Q determined by the calculation unit 120. FIG. 8 shows a connecting line CL connecting the feature points Qt and Q. The posture calculation unit 130 may then fit predetermined skeletal information (e.g., skeleton information) as model information to the connecting line CL connecting the multiple feature points Qt and Q to determine the posture of the object M.

図9は、第1実施形態に係る所定の骨格情報の例を示す図である。すなわち、姿勢演算部130はモデル情報の一例であるスケルトン情報Siを用いて、対象物Mの姿勢を求める。スケルトン情報Siは、例えば頭部のほか、対象物Mの関節等の箇所についての情報を保持する。上述したように、スケルトン情報Siは対象物Mが人体ではない場合、それに応じて準備されてもよい。 Figure 9 is a diagram showing an example of predetermined skeletal information according to the first embodiment. That is, the posture calculation unit 130 uses skeleton information Si, which is an example of model information, to determine the posture of the object M. The skeleton information Si holds information on parts of the object M, such as the head, as well as the joints of the object M. As described above, if the object M is not a human body, the skeleton information Si may be prepared accordingly.

図10は、第1実施形態に係る姿勢演算部の処理の例を示す図である。なお、図10では説明のために連結線CL上に塗り潰された円形を示しているが、この円形は実際に(図示のとおりに)表現されない。姿勢演算部130は、図10の矢印で示すように、スケルトン情報Siを連結線CLに対してフィッティングする。フィッティングによって得られたスケルトン情報Siの形状は、対象物Mの姿勢となり得る。また、フィッティングによって得られたスケルトン情報Siや、該スケルトン情報Siに所定の処理(例えば、外形を付加する処理)を施した処理結果等は、任意の装置(処理装置100とは異なる外部の装置)に出力(表示)してもよい。スケルトン情報Siに所定の処理を施した処理結果は、例えば対象物Mの姿勢を表す線や点等が含まれたデータである。なお、検出装置1は、姿勢演算部130を備えてなくてもよい。 10 is a diagram showing an example of processing by the posture calculation unit according to the first embodiment. Note that, for the sake of explanation, FIG. 10 shows a circle filled in on the connecting line CL, but this circle is not actually expressed (as shown in the figure). The posture calculation unit 130 fits the skeleton information Si to the connecting line CL as shown by the arrow in FIG. 10. The shape of the skeleton information Si obtained by fitting can be the posture of the target M. In addition, the skeleton information Si obtained by fitting and the processing result obtained by performing a predetermined process (for example, a process of adding an external shape) on the skeleton information Si may be output (displayed) to an arbitrary device (an external device different from the processing device 100). The processing result obtained by performing a predetermined process on the skeleton information Si is, for example, data including lines, points, etc. that represent the posture of the target M. Note that the detection device 1 does not need to be equipped with the posture calculation unit 130.

次に、上記の検出装置1の構成に基づいて、実施形態に係る検出方法について説明する。図11は、第1実施形態に係る検出方法の例を示すフローチャートである。検出装置1の構成、各部による処理については、適宜、図1から図10を参照する。 Next, a detection method according to an embodiment will be described based on the configuration of the detection device 1 described above. FIG. 11 is a flowchart showing an example of the detection method according to the first embodiment. For the configuration of the detection device 1 and the processing by each unit, refer to FIG. 1 to FIG. 10 as appropriate.

ステップS101において、検出部10は、対象物Mの表面における各点の位置情報を検出する。検出部10は、対象物Mのデプスを検出し(図3参照)、検出結果として点群データD2を生成する(図4参照)。例えば、情報取得部11は所定の点(視点)から対象領域ARの各点までのデプスを検出する。情報取得部11は、検出結果を表すデプスマップ(デプスの空間分布)を記憶部140に格納する。点群データ生成部110は、デプスの検出結果に基づいて点群データD2を生成する。点群データ生成部110は、生成した点群データD2を記憶部140に格納する。点群データ生成部110は、点群データD2をもとに、対象物Mの表面S1上の点D2aにおける法線Hを求める(図5参照)。 In step S101, the detection unit 10 detects position information of each point on the surface of the object M. The detection unit 10 detects the depth of the object M (see FIG. 3) and generates point cloud data D2 as a detection result (see FIG. 4). For example, the information acquisition unit 11 detects the depth from a predetermined point (viewpoint) to each point in the object area AR. The information acquisition unit 11 stores a depth map (spatial distribution of depth) representing the detection result in the storage unit 140. The point cloud data generation unit 110 generates the point cloud data D2 based on the depth detection result. The point cloud data generation unit 110 stores the generated point cloud data D2 in the storage unit 140. The point cloud data generation unit 110 obtains a normal H at a point D2a1 on the surface S1 of the object M based on the point cloud data D2 (see FIG. 5).

ステップS102において、演算部120は、点D2aにおける法線Hから対象物Mに関する特徴点Qを求める(図6参照)。例えば、演算部120は点D2aから、法線Hを延長した法線H’が通る他の面S2までの距離の中点となる特徴点Qを求める。また、演算部120は範囲DR2に含まれる特徴点Qの座標の平均値や中央値から、特徴点Qtを求めてもよい(図7参照)。 In step S102, the calculation unit 120 obtains a feature point Q of the object M from the normal line H at the point D2a1 (see FIG. 6). For example, the calculation unit 120 obtains the feature point Q that is the midpoint of the distance from the point D2a1 to another surface S2 through which a normal line H' obtained by extending the normal line H passes. The calculation unit 120 may also obtain the feature point Qt from the average value or median value of the coordinates of the feature points Q included in the range DR2 (see FIG. 7).

ステップS103において、姿勢演算部130は、複数の特徴点Qt、Qから、対象物Mの姿勢を求める(図8、図9、図10参照)。例えば、姿勢演算部130は複数の特徴点Qt、Qを連結し、連結線CLを生成する(図8参照)。姿勢演算部130は、所定のスケルトン情報Si(図9参照)を連結線CLに対してフィッティングする(図10参照)。これらにより、姿勢演算部130は対象物Mの姿勢を求める。 In step S103, the posture calculation unit 130 determines the posture of the object M from the multiple feature points Qt, Q (see Figures 8, 9, and 10). For example, the posture calculation unit 130 connects the multiple feature points Qt, Q to generate a connecting line CL (see Figure 8). The posture calculation unit 130 fits predetermined skeleton information Si (see Figure 9) to the connecting line CL (see Figure 10). From these, the posture calculation unit 130 determines the posture of the object M.

上述したように、検出装置1は、対象物Mの表面における各点の位置情報を検出し、位置情報による、点における法線から対象物Mに関する特徴点Qを求め、複数の特徴点Qから対象物Mの姿勢を求める。この結果、検出装置1は、対象物Mの内部に想定される特徴点Qをもとに対象物Mの姿勢を求めるので、対象物Mの姿勢を高精度に求めることができる。換言すると、検出装置1は、対象物の表面部分(例えば、他の部位よりも特徴がある部分になり得る手や足)に特徴点を設定する場合に、可動範囲が大きいことからノイズが大きくなってしまう技術と比較して、対象物Mの姿勢を高精度に求めることができる。 As described above, the detection device 1 detects position information of each point on the surface of the object M, determines feature points Q of the object M from normals at the points based on the position information, and determines the posture of the object M from the multiple feature points Q. As a result, the detection device 1 determines the posture of the object M based on feature points Q assumed to be inside the object M, and can determine the posture of the object M with high accuracy. In other words, when setting feature points on the surface of the object (for example, the hands and feet, which can be more distinctive than other parts), the detection device 1 can determine the posture of the object M with high accuracy compared to techniques that have a large range of motion and therefore produce large noise.

[第2実施形態]
次に、第2実施形態について説明する。本実施形態において、上述した実施形態と同様の構成については同一の符号を付し、その説明を省略又は簡略化する場合がある。上述した実施形態では、特徴点Qt、Qについて、点から、該点における法線が通る他の面までの距離によって求める場合を説明した。第2実施形態では、特徴点Qt、Qを求める異なる手法を説明する。
[Second embodiment]
Next, a second embodiment will be described. In this embodiment, the same components as those in the above-mentioned embodiment are denoted by the same reference numerals, and the description thereof may be omitted or simplified. In the above-mentioned embodiment, the feature points Qt, Q are calculated based on the distance from a point to another surface through which the normal line at the point passes. In the second embodiment, a different method for calculating the feature points Qt, Q will be described.

図12は、第2実施形態に係る検出装置の例を示す図である。検出装置1aに含まれる処理装置200は、検出部10の検出結果に基づいて複数の法線(点における法線)から特徴点Q(Qt)を求める演算部220を備える。 Figure 12 is a diagram showing an example of a detection device according to the second embodiment. The processing device 200 included in the detection device 1a has a calculation unit 220 that calculates a feature point Q (Qt) from multiple normals (normals at a point) based on the detection results of the detection unit 10.

図13は、第2実施形態に係る演算部の処理の例を示す図である。図13に示す方形は、点群データD2の一部を表している。図13では、対象物Mの表面における任意の点それぞれを、点D2a、点D2b、点D2cとしている。点のそれぞれは、面S1a、面S1b、面S1cにおける点である。第1実施形態と同様に、演算部120は点D2a、点D2b、点D2cのそれぞれにおける法線を求める。各法線はHa、Hb、Hcとし、各法線を延長した法線は法線Ha’、法線Hb’、法線Hc’とする。 Figure 13 is a diagram showing an example of processing by the calculation unit according to the second embodiment. The rectangle shown in Figure 13 represents a portion of the point cloud data D2. In Figure 13, arbitrary points on the surface of the object M are designated as points D2a, D2b, and D2c. The points are points on surfaces S1a, S1b, and S1c, respectively. As in the first embodiment, the calculation unit 120 determines normals at points D2a, D2b, and D2c, respectively. The normals are designated as Ha, Hb, and Hc, and the normals obtained by extending the normals are designated as normal Ha', normal Hb', and normal Hc'.

演算部220は、複数の法線Ha’~Hc’の交点により特徴点Qを求める。特徴点Qは、複数の法線Ha’~Hc’の交点により求められるため、対象物Mの内部に存在する(想定される)点となる。なお、点における法線の算出は、対象物Mの表面の全域において実行されなくてもよい。 The calculation unit 220 finds the feature point Q from the intersection of multiple normal lines Ha'-Hc'. Since the feature point Q is found from the intersection of multiple normal lines Ha'-Hc', it is a point that is (assumed to be) inside the object M. Note that the calculation of the normal at the point does not have to be performed over the entire surface of the object M.

すなわち、本実施形態では複数の法線Ha’~Hc’の交点に基づいて特徴点Qを求めており、法線が通る他の面を処理に使用していないため、対象物Mの表面の全域にわたる点を用いなくてもよい。換言すると、本実施形態では少なくとも複数の法線の交点が定まればよいため、対象物Mの表面の全方向からの法線を要すことなく、対象物Mの表面の全ての領域にわたる点を用いなくてもよい。どの領域における点を使用するかについては、対象物Mの種類(又は、大きさ、形状等)に応じて変化させてもよいし、ユーザが設定できるようにしてもよい。 In other words, in this embodiment, the feature point Q is found based on the intersection of multiple normal lines Ha'-Hc', and other surfaces through which the normal lines pass are not used in the processing, so it is not necessary to use points over the entire surface of the object M. In other words, in this embodiment, it is sufficient to determine at least the intersection of multiple normal lines, so normal lines from all directions on the surface of the object M are not required, and it is not necessary to use points over the entire surface of the object M. The area in which points are used may be changed depending on the type (or size, shape, etc.) of the object M, or may be set by the user.

図14は、第2実施形態に係る演算部の処理の例を示す図である。図14では、複数の法線(延長した複数の法線)をH’で表している。また、図14では複数の法線H’の交点付近(対象物Mの内部側であり、求められた特徴点Qが存在する箇所)の拡大図を表している。 Fig. 14 is a diagram showing an example of processing by the calculation unit according to the second embodiment. In Fig. 14, multiple normals (multiple extended normals) are represented by H'. Fig. 14 also shows an enlarged view of the vicinity of the intersection of the multiple normals H' (the interior side of the object M, where the determined feature point Q exists).

図14に示すように、特徴点Qは局所(範囲DR3)に集中する場合がある。演算部220は、範囲DR3に含まれる特徴点Qが複数存在する場合に、複数の特徴点Qを1つの特徴点Qtとしてまとめる。範囲DR3は、点群データD2の数や、姿勢検出の精度の程度によって変化させてもよいし、ユーザが設定できるようにしてもよい。 As shown in FIG. 14, feature points Q may be concentrated in a local area (range DR3). When there are multiple feature points Q included in range DR3, the calculation unit 220 groups the multiple feature points Q into one feature point Qt. Range DR3 may be changed depending on the number of point cloud data D2 or the degree of accuracy of posture detection, or may be set by the user.

演算部220は、例えば複数の特徴点Qの座標の平均値から特徴点Qtを求めてもよい。このほか、演算部220は、例えば複数の特徴点Qの座標の中央値から特徴点Qtを求めてもよい。なお、特徴点Qtを求める手法は第1実施形態と同様にこれらに限られない。処理装置200は、演算部220が特徴点Qtを求めた場合、このときの範囲DR3に含まれる特徴点Qを以降の処理において使用しなくてもよい。 The calculation unit 220 may obtain the feature point Qt from, for example, the average value of the coordinates of the multiple feature points Q. Alternatively, the calculation unit 220 may obtain the feature point Qt from, for example, the median value of the coordinates of the multiple feature points Q. Note that, as in the first embodiment, the method for obtaining the feature point Qt is not limited to these. When the calculation unit 220 obtains the feature point Qt, the processing device 200 may not use the feature point Q included in the range DR3 at this time in subsequent processing.

なお、演算部220は範囲DR3に含まれる特徴点Qが所定数未満である場合、このときの範囲DR3において特徴点Qtを求めなくてもよい。また、演算部220は特徴点Qtを求めなくてもよい(特徴点Qが使用されればよい)。また、演算部220によって求められた特徴点Qt、Qの情報は、任意の装置(処理装置200とは異なる外部の装置)に出力されてもよい。 When the number of feature points Q included in range DR3 is less than a predetermined number, calculation unit 220 does not need to find feature points Qt in range DR3 at this time. Also, calculation unit 220 does not need to find feature points Qt (feature points Q may be used). Also, information on feature points Qt and Q found by calculation unit 220 may be output to any device (external device different from processing device 200).

次に、上記の検出装置1aの構成に基づいて、実施形態に係る検出方法について説明する。図15は、第2実施形態に係る検出方法の例を示すフローチャートである。検出装置1aの構成、各部による処理については、適宜、図1から図14を参照する。 Next, a detection method according to an embodiment will be described based on the configuration of the detection device 1a described above. FIG. 15 is a flowchart showing an example of a detection method according to the second embodiment. For the configuration of the detection device 1a and the processing by each unit, refer to FIG. 1 to FIG. 14 as appropriate.

ステップS201において、検出部10は、対象物Mの表面における各点の位置情報を検出する。検出部10は、対象物Mのデプスを検出し(図3参照)、検出結果として点群データD2を生成する(図4参照)。例えば、情報取得部11は所定の点(視点)から対象領域ARの各点までのデプスを検出する。情報取得部11は、検出結果を表すデプスマップ(デプスの空間分布)を記憶部140に格納する。点群データ生成部110は、デプスの検出結果に基づいて点群データD2を生成する。点群データ生成部110は、生成した点群データD2を記憶部140に格納する。点群データ生成部110は、点群データD2をもとに、対象物Mの面S1a、S1b、S1c上の点D2a、D2b、D2cにおける法線Ha、Hb、Hcを求める。 In step S201, the detection unit 10 detects position information of each point on the surface of the object M. The detection unit 10 detects the depth of the object M (see FIG. 3) and generates point cloud data D2 as the detection result (see FIG. 4). For example, the information acquisition unit 11 detects the depth from a predetermined point (viewpoint) to each point in the object area AR. The information acquisition unit 11 stores a depth map (spatial distribution of depth) representing the detection result in the storage unit 140. The point cloud data generation unit 110 generates point cloud data D2 based on the depth detection result. The point cloud data generation unit 110 stores the generated point cloud data D2 in the storage unit 140. The point cloud data generation unit 110 calculates normals Ha, Hb, Hc at points D2a, D2b, D2c on the surface S1a, S1b, S1c of the object M based on the point cloud data D2.

ステップS202において、演算部220は、複数の法線の交点に基づいて特徴点Qを求める(図13参照)。例えば、演算部220は点D2aにおける法線Haを延長した法線Ha’と、点D2bにおける法線Hbを延長した法線Hb’と、点D2cにおける法線Hcを延長したHc’との交点に基づいて特徴点Qを求める(図13参照)。また、演算部220は範囲DR3に含まれる特徴点Qの座標の平均値や中央値から、特徴点Qtを求めてもよい(図14参照)。 In step S202, the calculation unit 220 finds the feature point Q based on the intersection of multiple normal lines (see FIG. 13). For example, the calculation unit 220 finds the feature point Q based on the intersection of a normal line Ha' obtained by extending the normal line Ha at point D2a, a normal line Hb' obtained by extending the normal line Hb at point D2b, and a normal line Hc' obtained by extending the normal line Hc at point D2c (see FIG. 13). The calculation unit 220 may also find the feature point Qt from the average or median of the coordinates of the feature points Q included in the range DR3 (see FIG. 14).

ステップS203において、姿勢演算部130は、複数の特徴点Qt、Qから、対象物Mの姿勢を求める(図8、図9、図10参照)。例えば、姿勢演算部130は複数の特徴点Qt、Qを連結し、連結線CLを生成する(図8参照)。姿勢演算部130は、スケルトン情報Si(図9参照)を連結線CLに対してフィッティングする(図10参照)。これらにより、姿勢演算部130は対象物Mの姿勢を求める。 In step S203, the posture calculation unit 130 determines the posture of the object M from the multiple feature points Qt, Q (see Figures 8, 9, and 10). For example, the posture calculation unit 130 connects the multiple feature points Qt, Q to generate a connecting line CL (see Figure 8). The posture calculation unit 130 fits the skeleton information Si (see Figure 9) to the connecting line CL (see Figure 10). From these, the posture calculation unit 130 determines the posture of the object M.

上述したように、検出装置1aは、対象物Mの表面における各点の位置情報を検出し、位置情報による、点における複数の法線の交点により特徴点Qを求め、複数の特徴点Qから対象物Mの姿勢を求める。この結果、検出装置1aは、対象物Mの内部に想定される特徴点Qを、対象物Mの表面における全領域ではない任意の領域の点を用いて求めるので、処理負荷の削減や処理速度の高速化を実現しつつ、対象物Mの姿勢を高精度に求めることができる。 As described above, the detection device 1a detects position information of each point on the surface of the object M, finds feature points Q from the intersections of multiple normals at the points based on the position information, and finds the posture of the object M from the multiple feature points Q. As a result, the detection device 1a finds feature points Q assumed to be inside the object M using points in any area, not the entire area, on the surface of the object M, and can therefore find the posture of the object M with high accuracy while reducing the processing load and increasing the processing speed.

[第3実施形態]
次に、第3実施形態について説明する。本実施形態において、上述した実施形態と同様の構成については同一の符号を付し、その説明を省略又は簡略化する場合がある。上述した実施形態では、対象物Mの移動方向MDについて、対象領域ARに対して予め定められている場合を説明した。第3実施形態では、対象物Mの移動方向MDを検出する場合を説明する。
[Third embodiment]
Next, a third embodiment will be described. In this embodiment, the same reference numerals are used for the same configurations as those in the above-mentioned embodiment, and the description thereof may be omitted or simplified. In the above-mentioned embodiment, the moving direction MD of the object M is predetermined with respect to the target area AR. In the third embodiment, the case where the moving direction MD of the object M is detected will be described.

図16は、第3実施形態に係る検出装置の例を示す図である。検出装置1bに含まれる処理装置300は、検出部10の検出結果に基づいて、対象物Mの移動方向を算出する方向検出部350を備える。本実施形態において、情報取得部11は対象物Mを繰り返し検出する。また、点群データ生成部110は位置情報として検出タイミングごとの対象物Mの点群データを生成する。方向検出部350は、検出部10が検出した対象物Mの位置情報の時間変化に基づいて、対象物Mの移動方向MDを算出する。例えば、方向検出部350は対象物Mの軌跡(例えば、対象物Mの所定位置の時間履歴)を算出し、軌跡に沿う方向を対象物Mの移動方向MDとする。かかる所定位置は、デフォルトの設定又はユーザの設定によって定められる対象物M上の位置である。 FIG. 16 is a diagram showing an example of a detection device according to the third embodiment. The processing device 300 included in the detection device 1b includes a direction detection unit 350 that calculates the moving direction of the object M based on the detection result of the detection unit 10. In this embodiment, the information acquisition unit 11 repeatedly detects the object M. In addition, the point cloud data generation unit 110 generates point cloud data of the object M for each detection timing as position information. The direction detection unit 350 calculates the moving direction MD of the object M based on the time change of the position information of the object M detected by the detection unit 10. For example, the direction detection unit 350 calculates the trajectory of the object M (for example, the time history of a predetermined position of the object M) and sets the direction along the trajectory as the moving direction MD of the object M. Such a predetermined position is a position on the object M determined by default settings or user settings.

方向検出部350は、対象物Mの所定位置として、点群データに含まれる複数の点の重心を算出する。方向検出部350は、算出した重心の時間変化に基づいて移動方向MDを算出する。例えば、方向検出部350は第1時刻における情報取得部11の検出結果から得られる対象物Mの第1の所定位置を始点とする。そして、方向検出部350は第1時刻よりも後の第2時刻における情報取得部11の検出結果から得られる対象物Mの第2の所定位置を終点とするベクトルを算出する。続いて、方向検出部350は算出したベクトルに平行な方向ベクトル(例えば単位ベクトル)を、第1時刻における対象物Mの移動方向MDとして決定する。 The direction detection unit 350 calculates the center of gravity of multiple points included in the point cloud data as a predetermined position of the object M. The direction detection unit 350 calculates the movement direction MD based on the change over time of the calculated center of gravity. For example, the direction detection unit 350 sets the start point to a first predetermined position of the object M obtained from the detection result of the information acquisition unit 11 at a first time. Then, the direction detection unit 350 calculates a vector whose end point is a second predetermined position of the object M obtained from the detection result of the information acquisition unit 11 at a second time that is later than the first time. Next, the direction detection unit 350 determines a direction vector (e.g., a unit vector) parallel to the calculated vector as the movement direction MD of the object M at the first time.

なお、方向検出部350は、全地球測位システム(GPS:Global Positioning System)から取得される対象物Mの位置情報に基づいて、対象物Mの移動方向MDを算出してもよい。また、対象物Mに加速度センサが設けられる場合、方向検出部350は加速度センサの検出結果に基づいて対象物Mの移動方向MDを算出してもよい。例えば、対象物MはGPSから情報を受信する受信部と、加速度センサとの一方又は双方を備える携帯端末(例えば、スマートフォン)を付帯して移動する場合がある。かかる場合、方向検出部350は携帯端末から対象物Mの位置情報(例えばGPS情報、加速度情報)を取得して、対象物Mの移動方向MDを算出してもよい。 The direction detection unit 350 may calculate the moving direction MD of the object M based on the position information of the object M acquired from a global positioning system (GPS). In addition, if an acceleration sensor is provided on the object M, the direction detection unit 350 may calculate the moving direction MD of the object M based on the detection result of the acceleration sensor. For example, the object M may move accompanied by a mobile terminal (e.g., a smartphone) equipped with either or both of a receiving unit that receives information from a GPS and an acceleration sensor. In such a case, the direction detection unit 350 may acquire the position information of the object M (e.g., GPS information, acceleration information) from the mobile terminal and calculate the moving direction MD of the object M.

[第4実施形態]
次に、第4実施形態について説明する。本実施形態において、上述した実施形態と同様の構成については同一の符号を付し、その説明を省略又は簡略化する場合がある。
[Fourth embodiment]
Next, a fourth embodiment will be described. In this embodiment, the same components as those in the above-described embodiments are denoted by the same reference numerals, and the description thereof may be omitted or simplified.

図17は、第4実施形態に係る検出装置の例を示す図である。検出装置1cに含まれる処理装置400は、対象物Mのモデル情報を生成するモデル生成部460を備える。モデル情報は、例えば3次元のCG(Computer Graphics)モデルデータであり、対象物Mの形状情報を含む。なお、第1実施形態で説明したように、点群データ生成部110は情報取得部11が検出した対象物Mのデプスに基づいて、形状情報として点群データを生成する。モデル生成部460は、形状情報としてサーフェス情報を算出するサーフェス処理を実行する。 Figure 17 is a diagram showing an example of a detection device according to the fourth embodiment. The processing device 400 included in the detection device 1c has a model generation unit 460 that generates model information of the object M. The model information is, for example, three-dimensional CG (Computer Graphics) model data, and includes shape information of the object M. As described in the first embodiment, the point cloud data generation unit 110 generates point cloud data as shape information based on the depth of the object M detected by the information acquisition unit 11. The model generation unit 460 executes surface processing to calculate surface information as shape information.

サーフェス情報は、例えばポリゴンデータ、ベクタデータ、及び、ドローデータの少なくとも1つを含む。サーフェス情報は、物体の表面上の複数の点の座標と、複数の点間の連結情報(属性情報)とを含む。連結情報は、例えば物体表面の稜線(例えばエッジ)に相当する線の両端の点を互いに関連付ける情報を含む。また、連結情報は、例えば物体表面(サーフェス)の輪郭に相当する複数の線を互いに関連付ける情報を含む。 Surface information includes, for example, at least one of polygon data, vector data, and draw data. Surface information includes the coordinates of multiple points on the surface of an object, and connectivity information (attribute information) between the multiple points. The connectivity information includes, for example, information that associates with each other the points at both ends of a line that corresponds to a ridge (e.g., an edge) on the object surface. The connectivity information also includes, for example, information that associates with each other multiple lines that correspond to the contour of the object surface.

モデル生成部460は、サーフェス処理において、点群データに含まれる複数の点から選択される点と、選択された点の近傍の点との間の面を推定する。モデル生成部460は、点と、該点の近傍の点との間の面を推定する際に点群データをセグメント化する。例えば、モデル生成部460は推定の際に、姿勢演算部130の処理結果を用いて点群データをセグメント化してもよい。例えば、モデル生成部460は対象物Mの左右の足のサーフェス情報を生成する際に、姿勢演算部130の処理結果に基づいて左足の点群データと右足の点群データとを区別する。これにより、モデル生成部460は、例えば左膝と右膝とが接近(接触)している場合等において左膝と右膝とに跨った面を推定することを回避し、高精度なサーフェス情報を生成することができる。 In surface processing, the model generation unit 460 estimates a surface between a point selected from a plurality of points included in the point cloud data and a point in the vicinity of the selected point. The model generation unit 460 segments the point cloud data when estimating a surface between a point and a point in the vicinity of the point. For example, the model generation unit 460 may segment the point cloud data using the processing result of the posture calculation unit 130 during estimation. For example, when generating surface information of the left and right feet of the object M, the model generation unit 460 distinguishes between the point cloud data of the left foot and the point cloud data of the right foot based on the processing result of the posture calculation unit 130. In this way, the model generation unit 460 can avoid estimating a surface that spans the left knee and the right knee, for example, when the left knee and the right knee are close to each other (in contact), and generate highly accurate surface information.

また、モデル生成部460はサーフェス処理において点群データを点間の平面情報を持つポリゴンデータに変換する。モデル生成部460は、例えば最小二乗法を用いたアルゴリズムにより点群データをポリゴンデータへ変換する。このアルゴリズムは、例えば点群処理ライブラリに公開されているアルゴリズムを適用したものでもよい。モデル生成部460は、算出したサーフェス情報を記憶部140に格納する。 In addition, in surface processing, the model generation unit 460 converts the point cloud data into polygon data having plane information between points. The model generation unit 460 converts the point cloud data into polygon data using an algorithm that uses, for example, the least squares method. This algorithm may be, for example, an algorithm that is published in a point cloud processing library. The model generation unit 460 stores the calculated surface information in the storage unit 140.

なお、モデル情報は対象物Mのテクスチャ情報を含んでもよい。モデル生成部460は、3次元の点座標及びその関連情報で規定された面のテクスチャ情報を生成してもよい。テクスチャ情報は、例えば物体表面の文字や図形、模様、質感、パターン、凹凸を規定する情報、特定の画像、及び、色彩(例えば、有彩色、無彩色)のうち少なくとも1つの情報を含む。モデル生成部460は、生成したテクスチャ情報を記憶部140に格納してもよい。 The model information may include texture information of the object M. The model generation unit 460 may generate texture information of a surface defined by three-dimensional point coordinates and related information. The texture information includes at least one of information defining characters, figures, designs, textures, patterns, and unevenness on the object surface, a specific image, and color (e.g., chromatic color, achromatic color). The model generation unit 460 may store the generated texture information in the storage unit 140.

また、モデル情報は画像の空間情報(例えば、照明条件、光源情報)を含んでもよい。光源情報は、対象物Mに対して光を照射する光源の位置、この光源から対象物Mへ光が照射される方向、この光源から照射される光の波長、及び、この光源の種類のうち少なくとも1項目の情報を含む。モデル生成部460は、例えばランバート反射を仮定したモデル、アルベド(Albedo)推定を含むモデル等を利用して光源情報を算出してもよい。モデル生成部460は、テクスチャ情報と空間情報との一方又は双方を生成しなくてもよい。 The model information may also include spatial information of the image (e.g., lighting conditions, light source information). The light source information includes information on at least one of the following: the position of the light source that irradiates the object M with light, the direction in which light is irradiated from this light source to the object M, the wavelength of the light irradiated from this light source, and the type of this light source. The model generation unit 460 may calculate the light source information using, for example, a model that assumes Lambertian reflection, a model that includes albedo estimation, or the like. The model generation unit 460 does not need to generate either or both of the texture information and the spatial information.

[第5実施形態]
次に、第5実施形態について説明する。本実施形態において、上述した実施形態と同様の構成については同一の符号を付し、その説明を省略又は簡略化する場合がある。
[Fifth embodiment]
Next, a fifth embodiment will be described. In this embodiment, the same components as those in the above-described embodiments are denoted by the same reference numerals, and the description thereof may be omitted or simplified.

図18は、第5実施形態に係る検出装置の例を示す図である。検出装置1dに含まれる処理装置500は、モデル生成部460とレンダリング処理部570とを備える。また、処理装置500には、入力装置21と表示装置22とが接続される。レンダリング処理部570は、例えばGPU(Graphics Processing Unit)を含む。なお、レンダリング処理部570は、CPU(Central Processing Unit)及びメモリが画像処理プログラムに従って各処理を実行する態様でもよい。レンダリング処理部570は、例えば描画処理、テクスチャマッピング処理、シェーディング処理のうち少なくとも1つの処理を実行する。 FIG. 18 is a diagram showing an example of a detection device according to the fifth embodiment. A processing device 500 included in the detection device 1d includes a model generation unit 460 and a rendering processing unit 570. The processing device 500 is also connected to an input device 21 and a display device 22. The rendering processing unit 570 includes, for example, a GPU (Graphics Processing Unit). Note that the rendering processing unit 570 may be configured such that a CPU (Central Processing Unit) and a memory execute each process according to an image processing program. The rendering processing unit 570 executes, for example, at least one process among a drawing process, a texture mapping process, and a shading process.

レンダリング処理部570は、描画処理において、例えばモデル情報の形状情報に定められた形状を任意の視点から見た推定画像(再構築画像)を算出できる。以下では、形状情報によって示される形状をモデル形状と呼ぶ場合がある。レンダリング処理部570は、例えば描画処理によって、モデル情報(形状情報)からモデル形状(推定画像)を再構成できる。レンダリング処理部570は、例えば算出した推定画像のデータを記憶部140に格納する。 In the drawing process, the rendering processing unit 570 can calculate an estimated image (reconstructed image) of a shape defined in the shape information of the model information, for example, viewed from an arbitrary viewpoint. Hereinafter, the shape indicated by the shape information may be referred to as the model shape. The rendering processing unit 570 can reconstruct a model shape (estimated image) from the model information (shape information), for example, by the drawing process. The rendering processing unit 570 stores data of the calculated estimated image in the storage unit 140, for example.

また、レンダリング処理部570は、テクスチャマッピング処理において、例えば推定画像上の物体の表面にモデル情報のテクスチャ情報が示す画像を貼り付けた推定画像を算出できる。レンダリング処理部570は、推定画像上の物体の表面に対象とは別のテクスチャを貼り付けた推定画像を算出できる。 In addition, in the texture mapping process, the rendering processing unit 570 can calculate an estimated image in which, for example, an image indicated by the texture information of the model information is pasted onto the surface of an object in the estimated image. The rendering processing unit 570 can calculate an estimated image in which a texture different from that of the target is pasted onto the surface of an object in the estimated image.

レンダリング処理部570は、シェーディング処理において、例えばモデル情報の光源情報が示す光源により形成される陰影を推定画像上の物体に付加した推定画像を算出できる。また、レンダリング処理部570は、シェーディング処理において、例えば任意の光源により形成される陰影を推定画像上の物体に付加した推定画像を算出できる。 In the shading process, the rendering processing unit 570 can calculate an estimated image in which a shadow formed by a light source indicated by the light source information in the model information is added to an object in the estimated image. In the shading process, the rendering processing unit 570 can calculate an estimated image in which a shadow formed by an arbitrary light source is added to an object in the estimated image.

入力装置21は、処理装置500に対する各種情報(例えば、データ、命令)の入力に利用される。ユーザは、入力装置21を操作することによって処理装置500に対して各種情報を入力可能である。入力装置21は、例えばキーボード、マウス、トラックボール、タッチパネル、及び、音声入力デバイス(例えば、マイク)のうち少なくとも1つを含む。 The input device 21 is used to input various information (e.g., data, commands) to the processing device 500. A user can input various information to the processing device 500 by operating the input device 21. The input device 21 includes at least one of a keyboard, a mouse, a trackball, a touch panel, and an audio input device (e.g., a microphone), for example.

表示装置22は、処理装置500から出力される画像のデータに基づいてこの画像を表示する。例えば、処理装置500はレンダリング処理部570が生成した推定画像のデータを表示装置22に出力する。表示装置22は、処理装置500から出力された推定画像のデータに基づいて推定画像を表示する。表示装置22は、例えば液晶ディスプレイを含む。入力装置21及び表示装置22は、タッチパネル等で構成されてもよい。 The display device 22 displays the image based on the image data output from the processing device 500. For example, the processing device 500 outputs the estimated image data generated by the rendering processing unit 570 to the display device 22. The display device 22 displays the estimated image based on the estimated image data output from the processing device 500. The display device 22 includes, for example, a liquid crystal display. The input device 21 and the display device 22 may be configured with a touch panel or the like.

また、入力装置21や表示装置22は上述してきた実施形態に係る検出装置に接続されていてもよい。例えば、表示装置22は特徴点算出部122等によって求められた特徴点Qt、Qの情報を表示してもよい。例えば、表示装置22は姿勢演算部130等によって求められたスケルトン情報Siや、スケルトン情報Siに所定の処理を施した処理結果(例えば、対象物Mの姿勢を表す線や点等が含まれたデータ)を表示してもよい。 The input device 21 and the display device 22 may be connected to a detection device according to the embodiment described above. For example, the display device 22 may display information on the feature points Qt and Q calculated by the feature point calculation unit 122 or the like. For example, the display device 22 may display skeleton information Si calculated by the posture calculation unit 130 or the like, or a processing result obtained by performing a predetermined process on the skeleton information Si (for example, data including lines, points, etc. that represent the posture of the target object M).

なお、検出装置1dは入力装置21を備えていなくてもよい。例えば、検出装置1dは各種の命令や情報が通信を介して入力される形態でもよい。また、検出装置1dは表示装置22を備えていなくてもよい。例えば、検出装置1dはレンダリング処理により生成された推定画像のデータを、通信を介して表示装置へ出力し、この表示装置に推定画像を表示させてもよい。レンダリング処理部570は、処理装置500の外部の装置に設けられてもよい。かかる外部の装置は、処理装置500と通信可能に接続されるクラウドコンピューティングにより提供されてもよい。 The detection device 1d may not include the input device 21. For example, the detection device 1d may be configured such that various commands and information are input via communication. The detection device 1d may not include the display device 22. For example, the detection device 1d may output data of an estimated image generated by the rendering process to a display device via communication, and cause the display device to display the estimated image. The rendering processing unit 570 may be provided in a device external to the processing device 500. Such an external device may be provided by cloud computing that is communicatively connected to the processing device 500.

上述してきた実施形態において、処理装置100等は、例えばコンピュータシステムを含む。処理装置100は、記憶部140に記憶された処理プログラムを読み出し、読み出した処理プログラムに従って各種の処理を実行する。かかる処理プログラムは、例えば、コンピュータに、対象物の表面における各点の位置情報による、点における法線から対象物に関する特徴点を求めること、を実行させる。この処理プログラムは、コンピュータ読み取り可能な記憶媒体(例えば、非一時的な記憶媒体、non‐transitory tangible media)に記録されて提供されてもよい。 In the above-described embodiment, the processing device 100 etc. includes, for example, a computer system. The processing device 100 reads a processing program stored in the storage unit 140 and executes various processes in accordance with the read processing program. Such a processing program causes a computer to execute, for example, determining feature points of an object from normals at points based on position information of each point on the surface of the object. This processing program may be provided by being recorded on a computer-readable storage medium (for example, a non-transitory tangible media).

なお、技術範囲は、上述した実施形態等で説明した態様に限定されない。上述した実施形態等で説明した要件の1つ以上は、省略されることがある。また、上述した実施形態等で説明した要件は、適宜、組み合わせることができる。また、法令で許容される限りにおいて、上述した実施形態等で引用した全ての文献の開示を援用して本文の記載の一部とする。 The technical scope is not limited to the aspects described in the above-mentioned embodiments. One or more of the requirements described in the above-mentioned embodiments may be omitted. The requirements described in the above-mentioned embodiments may be combined as appropriate. In addition, to the extent permitted by law, the disclosures of all documents cited in the above-mentioned embodiments are incorporated by reference and made part of the description in this text.

1・・・検出装置、10・・・検出部、11・・・情報取得部、100・・・処理装置、110・・・点群データ生成部、120・・・演算部、130・・・姿勢演算部、140・・・記憶部 1: Detection device, 10: Detection unit, 11: Information acquisition unit, 100: Processing unit, 110: Point cloud data generation unit, 120: Calculation unit, 130: Attitude calculation unit, 140: Storage unit

Claims (15)

対象物の表面における各点の位置情報を示す点群データを受け取り、前記点群データ上の点における法線から前記対象物に関する特徴点を求める演算部と、
複数の前記特徴点から前記対象物の姿勢を求める姿勢演算部と、
前記点群データに基づいて前記対象物の形状情報を含むモデル情報を生成するモデル生成部と、を備え、
前記姿勢演算部は、骨格情報を複数の前記特徴点に対してフィッティングして前記対象物の姿勢を求め
前記モデル生成部は、前記姿勢演算部で求められた前記対象物の姿勢に基づいて、前記点群データのうちの第1部分点群と第2部分点群とを区別する、処理装置。
a calculation unit that receives point cloud data indicating position information of each point on a surface of an object, and calculates feature points related to the object from normals at points on the point cloud data ;
a posture calculation unit that calculates a posture of the object from a plurality of the feature points;
a model generation unit that generates model information including shape information of the object based on the point cloud data ,
the posture calculation unit obtains a posture of the object by fitting skeleton information to the plurality of feature points ;
The model generation unit distinguishes between a first partial point cloud and a second partial point cloud of the point cloud data based on the posture of the object calculated by the posture calculation unit .
前記モデル生成部は、前記第1部分点群に基づいて前記対象物の第1部分の形状情報を生成する、請求項1に記載の処理装置。The processing device according to claim 1 , wherein the model generation unit generates shape information of the first portion of the object based on the first partial point cloud. 前記演算部は、前記対象物の内部に前記特徴点を求める、
請求項1または請求項2に記載の処理装置。
The calculation unit determines the feature points within the object.
The processing device according to claim 1 or 2 .
前記演算部は、前記点と、前記点から所定距離の範囲内に存在する他の各点との前記位置情報に基づいて求められる前記点における法線から前記特徴点を求める、
請求項1から請求項のいずれか一項に記載の処理装置。
the calculation unit determines the feature point from a normal at the point that is determined based on the position information between the point and each of other points that exist within a predetermined distance from the point;
The processing device according to any one of claims 1 to 3 .
前記演算部は、前記点から、前記点における法線が通る面までの距離によって前記特徴点を求める、
請求項1から請求項のいずれか一項に記載の処理装置。
The calculation unit determines the feature point based on a distance from the point to a plane through which a normal line at the point passes.
The processing device according to any one of claims 1 to 4 .
前記演算部は、前記点における法線が通る面までの距離の中点から前記特徴点を求める、
請求項に記載の処理装置。
The calculation unit determines the feature point from a midpoint of a distance to a surface through which a normal line at the point passes.
The processing device according to claim 5 .
前記演算部は、複数の前記中点の座標の平均値から前記特徴点を求める、
請求項に記載の処理装置。
The calculation unit calculates the feature point from an average value of coordinates of the plurality of midpoints.
The processing device of claim 6 .
前記演算部は、複数の前記中点の座標の中央値から前記特徴点を求める、
請求項に記載の処理装置。
The calculation unit determines the feature point from a median value of coordinates of the plurality of midpoints.
The processing device of claim 6 .
前記演算部は、複数の前記点における法線から前記特徴点を求める、
請求項1から請求項のいずれか一項に記載の処理装置。
The calculation unit determines the feature points from normals at the plurality of points.
The processing device according to any one of claims 1 to 4 .
前記演算部は、複数の前記点における法線の交点により、前記特徴点を求める、
請求項に記載の処理装置。
The calculation unit determines the feature point based on an intersection of normals at the plurality of points.
The processing device of claim 9 .
前記演算部は、複数の前記点における法線の交点の座標の平均値から前記特徴点を求める、
請求項10に記載の処理装置。
the calculation unit determines the feature point from an average value of coordinates of intersections of normal lines at a plurality of the points;
The processing device of claim 10 .
前記演算部は、複数の前記点における法線の交点の座標の中央値から前記特徴点を求める、
請求項10に記載の処理装置。
the calculation unit determines the feature point from a median value of coordinates of intersections of normal lines at a plurality of the points;
The processing device of claim 10 .
前記姿勢演算部は、複数の前記特徴点を連結した連結線を用いて前記対象物の姿勢を算出する、請求項1から請求項12のいずれか一項に記載の処理装置。 The processing device according to claim 1 , wherein the orientation calculation unit calculates the orientation of the target object using a connecting line that connects a plurality of the feature points. 対象物の表面における各点の位置情報を検出する検出部と、
請求項1から請求項13のいずれか一項に記載の処理装置と、
を備える検出装置。
A detection unit that detects position information of each point on a surface of an object;
A processing device according to any one of claims 1 to 13 ;
A detection device comprising:
コンピュータに、
対象物の表面における各点の位置情報を示す点群データを受け取り、前記点群データ上の点における法線から前記対象物に関する特徴点を求めることと、
複数の前記特徴点から前記対象物の姿勢を求めることと、
前記点群データに基づいて前記対象物の形状情報を含むモデル情報を生成することと、を実行させ、
前記対象物の姿勢を求める処理では、骨格情報を複数の前記特徴点に対してフィッティングして前記対象物の姿勢が求められ
前記対象物の形状情報を含むモデル情報を生成する処理では、求められた前記対象物の姿勢に基づいて、前記点群データのうちの第1部分点群と第2部分点群とが区別される、処理プログラム。
On the computer,
receiving point cloud data indicating positional information of each point on a surface of an object, and determining feature points related to the object from normals at points on the point cloud data ;
determining a posture of the object from a plurality of the feature points;
generating model information including shape information of the object based on the point cloud data;
In the process of determining the posture of the object, the posture of the object is determined by fitting skeleton information to the plurality of feature points ;
A processing program in which, in a process of generating model information including shape information of the object, a first partial point cloud and a second partial point cloud of the point cloud data are distinguished based on the determined posture of the object .
JP2020141682A 2020-08-25 2020-08-25 DETECTION APPARATUS, PROCESSING APPARATUS, AND PROCESSING PROGRAM Active JP7647032B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020141682A JP7647032B2 (en) 2020-08-25 2020-08-25 DETECTION APPARATUS, PROCESSING APPARATUS, AND PROCESSING PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020141682A JP7647032B2 (en) 2020-08-25 2020-08-25 DETECTION APPARATUS, PROCESSING APPARATUS, AND PROCESSING PROGRAM

Publications (2)

Publication Number Publication Date
JP2022037506A JP2022037506A (en) 2022-03-09
JP7647032B2 true JP7647032B2 (en) 2025-03-18

Family

ID=80494644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020141682A Active JP7647032B2 (en) 2020-08-25 2020-08-25 DETECTION APPARATUS, PROCESSING APPARATUS, AND PROCESSING PROGRAM

Country Status (1)

Country Link
JP (1) JP7647032B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014522058A (en) 2012-06-14 2014-08-28 ソフトキネティック ソフトウェア Modeling, fitting, and tracking of 3D objects
US20170154471A1 (en) 2014-06-26 2017-06-01 Korea Advanced Institute Of Science And Technology Apparatus and method for providing augmented reality interaction service
JP2017151652A (en) 2016-02-23 2017-08-31 村田機械株式会社 Object state identification method, object state identification device, and transport vehicle

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381004A (en) * 1993-08-31 1995-01-10 Applied Materials, Inc. Particle analysis of notched wafers
JPH07287750A (en) * 1994-04-19 1995-10-31 Nippon Steel Corp A method for recognizing road regions from line segment data representing a map

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014522058A (en) 2012-06-14 2014-08-28 ソフトキネティック ソフトウェア Modeling, fitting, and tracking of 3D objects
US20170154471A1 (en) 2014-06-26 2017-06-01 Korea Advanced Institute Of Science And Technology Apparatus and method for providing augmented reality interaction service
JP2017151652A (en) 2016-02-23 2017-08-31 村田機械株式会社 Object state identification method, object state identification device, and transport vehicle

Also Published As

Publication number Publication date
JP2022037506A (en) 2022-03-09

Similar Documents

Publication Publication Date Title
US9594950B2 (en) Depth mapping with enhanced resolution
US7974443B2 (en) Visual target tracking using model fitting and exemplar
US8588465B2 (en) Visual target tracking
US8565476B2 (en) Visual target tracking
US8577084B2 (en) Visual target tracking
US8682028B2 (en) Visual target tracking
CA2748557C (en) Visual target tracking
US8577085B2 (en) Visual target tracking
US20140328519A1 (en) Method and apparatus for estimating a pose
JP2019534510A5 (en)
US20100197393A1 (en) Visual target tracking
JP2019096113A (en) Processing device, method and program relating to keypoint data
CN113474816A (en) Elastic dynamic projection mapping system and method
KR101593316B1 (en) Method and apparatus for recontructing 3-dimension model using stereo camera
JP7200994B2 (en) Processing device, detection device, processing method, and processing program
JP7363962B2 (en) Processing equipment, detection equipment, systems and programs
JP7024876B2 (en) Detection device, processing device, detection method, and processing program
JP7647032B2 (en) DETECTION APPARATUS, PROCESSING APPARATUS, AND PROCESSING PROGRAM
JP7147848B2 (en) Processing device, posture analysis system, processing method, and processing program
JP7234595B2 (en) Detection device, processing device, detection method, and processing program
HK1173829A (en) Moving object segmentation using depth images
HK1173829B (en) Moving object segmentation using depth images

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240702

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241023

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250217

R150 Certificate of patent or registration of utility model

Ref document number: 7647032

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150