JP2024103514A - Object attitude control program and information processing device - Google Patents

Object attitude control program and information processing device Download PDF

Info

Publication number
JP2024103514A
JP2024103514A JP2024078840A JP2024078840A JP2024103514A JP 2024103514 A JP2024103514 A JP 2024103514A JP 2024078840 A JP2024078840 A JP 2024078840A JP 2024078840 A JP2024078840 A JP 2024078840A JP 2024103514 A JP2024103514 A JP 2024103514A
Authority
JP
Japan
Prior art keywords
unit
operating body
information
posture
control program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2024078840A
Other languages
Japanese (ja)
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.)
Mixi Inc
Original Assignee
Mixi Inc
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 Mixi Inc filed Critical Mixi Inc
Priority to JP2024078840A priority Critical patent/JP2024103514A/en
Publication of JP2024103514A publication Critical patent/JP2024103514A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】オブジェクトの姿勢を容易に制御する。【解決手段】オブジェクト姿勢制御プログラムは、情報処理装置に、複数の部位を有するオブジェクトを表す第1画像を撮像部で撮像された第2画像に重畳させて表示部に表示し、前記オブジェクトと前記第2画像内の操作体との位置関係に基づいて、前記オブジェクトの複数の部位のうち少なくとも一部の被操作部位の位置情報を変化させて前記オブジェクトの姿勢を制御することを実行させる。【選択図】図2[Problem] To easily control the attitude of an object. [Solution] An object attitude control program causes an information processing device to execute the following: displaying a first image representing an object having multiple parts on a display unit, superimposed on a second image captured by an imaging unit, and controlling the attitude of the object by changing position information of at least some of the operated parts of the object based on the positional relationship between the object and an operating body in the second image. [Selected Figure] Figure 2

Description

本発明はオブジェクト姿勢制御プログラムおよび情報処理装置に関する。 The present invention relates to an object posture control program and an information processing device.

近年、電子機器の発展により、高精細の静止画および動画をスマートフォンやパーソナルコンピュータなどの端末に表示することが可能となった。さらに、情報処理技術の研究開発も進展しており、拡張現実(AR:Augmented Reality)を用いて仮想空間と現実空間を融合させた表示技術も実用可能になりつつある。例えば、特許文献1には情報端末の表示領域に仮想空間に配置されたオブジェクトを表示する技術が開示されている。 In recent years, advances in electronic devices have made it possible to display high-definition still images and videos on devices such as smartphones and personal computers. Furthermore, research and development of information processing technology has progressed, and display technology that combines virtual space and real space using augmented reality (AR) is becoming practical. For example, Patent Document 1 discloses a technology for displaying objects placed in a virtual space on the display area of an information terminal.

特開2015-41126号公報JP 2015-41126 A

一方で、表示領域に表示されたオブジェクトの姿勢の制御は、オブジェクトの対象となる部位を指定するうえで、入力処理が複雑となる場合がある。 On the other hand, controlling the posture of an object displayed in the display area can require complex input processing to specify the target part of the object.

このような課題に鑑み、本発明の目的の一つは、仮想空間に配置されたオブジェクトの姿勢を容易に制御することにある。 In view of these problems, one of the objectives of the present invention is to easily control the orientation of objects placed in a virtual space.

本発明の一実施形態によれば、情報処理装置に複数の部位を有するオブジェクトを表す第1画像を撮像部で撮像された第2画像に重畳させて表示部に表示し、前記オブジェクトと前記第2画像内の操作体との位置関係に基づいて、前記オブジェクトの複数の部位のうち少なくとも一部の被操作部位の位置情報を変化させて前記オブジェクトの姿勢を制御することを実行させるためのオブジェクト姿勢制御プログラムが提供される。 According to one embodiment of the present invention, an object posture control program is provided for causing an information processing device to execute the following: superimposing a first image representing an object having multiple parts on a second image captured by an imaging unit and displaying the first image on a display unit; and controlling the posture of the object by changing position information of at least some of the operated parts of the object based on the positional relationship between the object and an operating body in the second image.

上記オブジェクト姿勢制御プログラムにおいて、前記操作体の位置と前記被操作部位の位置とが少なくとも一部重なる場合に、ユーザに通知するための処理を実行してもよい。 In the above object posture control program, a process may be executed to notify the user when the position of the operating body and the position of the operated part overlap at least partially.

上記オブジェクト姿勢制御プログラムにおいて、前記操作体の位置と前記被操作部位の位置とが少なくとも一部重なっている間の前記操作体の位置情報の変化に基づいて、前記被操作部位の位置を変化させてもよい。 In the above object posture control program, the position of the operated part may be changed based on a change in position information of the operating body while the position of the operating body and the position of the operated part overlap at least partially.

上記オブジェクト姿勢制御プログラムにおいて、前記被操作部位の位置と前記被操作部位の位置とはそれぞれ前記オブジェクトが配置される空間の座標系における位置として規定されてもよい。 In the above object posture control program, the position of the operated part and the position of the operated part may each be defined as a position in a coordinate system of a space in which the object is placed.

本発明の一実施形態によれば、オブジェクトの姿勢を制御する情報処理装置であって、複数の部位を有するオブジェクトを表す第1画像を撮像部で撮像された第2画像に重畳させて表示部に表示し、前記オブジェクトと前記第2画像内の操作体との位置関係に基づいて、前記オブジェクトの複数の部位のうち少なくとも一部の被操作部位の位置情報を変化させて前記オブジェクトの姿勢を制御する、情報処理装置が提供される。 According to one embodiment of the present invention, there is provided an information processing device that controls the attitude of an object, in which a first image representing an object having multiple parts is displayed on a display unit by superimposing it on a second image captured by an imaging unit, and the attitude of the object is controlled by changing position information of at least some of the operated parts of the multiple parts of the object based on the positional relationship between the object and an operating body in the second image.

本発明の一実施形態を用いることにより、オブジェクトの姿勢を容易に制御することができる。 By using one embodiment of the present invention, the pose of an object can be easily controlled.

本発明の第1実施形態に係るオブジェクト姿勢制御システムにおけるハードウェアの構成を示す図である。1 is a diagram showing a hardware configuration of an object posture control system according to a first embodiment of the present invention. 本発明の第1実施形態に係るオブジェクト姿勢制御部の機能ブロック図である。FIG. 2 is a functional block diagram of an object attitude control unit according to the first embodiment of the present invention. 本発明の第1実施形態に係るオブジェクト姿勢制御処理のフロー図である。FIG. 4 is a flowchart of an object attitude control process according to the first embodiment of the present invention. 本発明の第1実施形態に係る重畳表示処理のフロー図である。FIG. 4 is a flowchart of a superimposed display process according to the first embodiment of the present invention. 本発明の第1実施形態に係る重畳表示処理における仮想空間の座標と情報処理装置に表示される座標との位置合わせの一例である。11 is an example of alignment between coordinates in a virtual space and coordinates displayed on the information processing device in the superimposed display processing according to the first embodiment of the present invention. 本発明の第1実施形態に係るオブジェクトの各部位の座標の一例である。4 is an example of coordinates of each part of an object according to the first embodiment of the present invention. 本発明の第1実施形態に係る重畳表示処理における情報処理装置の表示部に表示されたユーザインターフェースの一例である。5 is a diagram illustrating an example of a user interface displayed on a display unit of an information processing device in the superimposed display process according to the first embodiment of the present invention. 本発明の第1実施形態に係る第1オブジェクト姿勢検出処理のフロー図である。FIG. 4 is a flowchart of a first object pose detection process according to the first embodiment of the present invention. 本発明の第1実施形態に係る第1オブジェクト姿勢検出処理における情報処理装置の表示部に表示されたユーザインターフェースの一例である。11 is a diagram illustrating an example of a user interface displayed on a display unit of the information processing device in the first object pose detection process according to the first embodiment of the present invention. 本発明の第1実施形態に係る第2オブジェクト姿勢検出処理のフロー図である。FIG. 11 is a flowchart of a second object pose detection process according to the first embodiment of the present invention. 本発明の第1実施形態に係る第2オブジェクト姿勢検出処理における、操作体の移動前、移動後の位置座標およびオブジェクトの位置座標である。13A and 13B show position coordinates before and after movement of an operating body and position coordinates of an object in a second object orientation detection process according to the first embodiment of the present invention. 本発明の第1実施形態に係る第2オブジェクト姿勢検出処理における情報処理装置の表示部に表示されたユーザインターフェースの一例である。11 is a diagram illustrating an example of a user interface displayed on a display unit of the information processing device in the second object posture detection process according to the first embodiment of the present invention. 本発明の第2実施形態に係るオブジェクト姿勢制御部の機能ブロック図である。FIG. 11 is a functional block diagram of an object attitude control unit according to a second embodiment of the present invention. 本発明の第2実施形態に係る第1オブジェクト姿勢検出処理のフロー図である。FIG. 11 is a flowchart of a first object pose detection process according to the second embodiment of the present invention. 本発明の第2実施形態に係る第1オブジェクト姿勢検出処理における情報処理装置の表示部に表示されたユーザインターフェースの一例である。13 is a diagram illustrating an example of a user interface displayed on a display unit of an information processing device in a first object pose detection process according to a second embodiment of the present invention. 本発明の第2実施形態に係る第2オブジェクト姿勢検出処理のフロー図である。FIG. 11 is a flowchart of a second object pose detection process according to the second embodiment of the present invention. 本発明の第2実施形態に係る情報処理装置の表示部に表示されたユーザインターフェースの一例である。13 is a diagram illustrating an example of a user interface displayed on a display unit of an information processing device according to a second embodiment of the present invention. 本発明の第1実施形態に係る情報処理装置の表示部に表示されたユーザインターフェースの変形例である。10 is a modified example of a user interface displayed on a display unit of the information processing device according to the first embodiment of the present invention.

以下、本発明の実施の形態を、図面等を参照しながら説明する。但し、本発明は多くの異なる態様で実施することが可能であり、以下に例示する実施の形態の記載内容に限定して解釈されるものではない。図面は説明をより明確にするため、模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。また、各要素に対する「第1」、「第2」と付記された文字は、各要素を区別するために用いられる便宜的な標識であり、特段の説明がない限りそれ以上の意味を有さない。なお、本実施形態で参照する図面において、同一部分または同様な機能を有する部分には同一の符号または類似の符号(数字xxxにA,Bを付しただけの符号)を付し、その繰り返しの説明は省略する場合がある。また、構成の一部が図面から省略されたりする場合がある。その他、本発明の属する分野における通常に知識を有する者であれば認識できるものである場合、特段の説明を行わないものとする。 The following describes the embodiments of the present invention with reference to the drawings. However, the present invention can be implemented in many different ways, and should not be interpreted as being limited to the description of the embodiments exemplified below. The drawings may be shown in a schematic manner to make the explanation clearer, but they are merely examples and do not limit the interpretation of the present invention. Furthermore, the letters "first" and "second" attached to each element are convenient labels used to distinguish each element, and have no further meaning unless otherwise explained. In the drawings referred to in this embodiment, the same parts or parts having similar functions are given the same or similar symbols (symbols consisting of the number xxx with A or B added), and repeated explanations may be omitted. In addition, some of the configuration may be omitted from the drawings. In addition, if a person with ordinary knowledge in the field to which the present invention belongs can recognize something, no special explanation will be given.

本発明の一実施形態において記載される「部位」とは、オブジェクトが有する移動可能な部位をいい、複数の部位を組み合わせることにより連動する部位が構成される。 In one embodiment of the present invention, a "part" refers to a movable part that an object has, and a linked part is formed by combining multiple parts.

<第1実施形態>
本発明の第1実施形態に係るオブジェクト姿勢制御システムについて、図面を参照しながら詳細に説明する。
First Embodiment
An object attitude control system according to a first embodiment of the present invention will be described in detail with reference to the drawings.

(1-1.オブジェクト姿勢制御システムのハードウェア構成)
図1に、オブジェクト姿勢制御システム1のハードウェア構成および機能ブロック図を示す。図1に示すように、オブジェクト姿勢制御システム1は、端末10およびサーバ20を含む。端末10およびサーバ20を合わせて情報処理装置という場合がある。
(1-1. Hardware configuration of object attitude control system)
Fig. 1 shows a hardware configuration and a functional block diagram of an object posture control system 1. As shown in Fig. 1, the object posture control system 1 includes a terminal 10 and a server 20. The terminal 10 and the server 20 may be collectively referred to as an information processing device.

端末10は、コンピュータの一つであり、表示部11、制御部12、記憶部13、操作部14、通信部15、センサ部16、撮像部17、およびスピーカー部18を有する。この例では、端末10としてスマートフォンが用いられる。なお、スマートフォンに限定されず、携帯電話(フィーチャーフォン)、タブレット型端末、ノートPC(Personal Computer)、IoTデバイス(電源機構、通信機能および情報記憶機構を備えた機器)などでもよく、ネットワークを通じてサーバ20と通信可能なものであれば適用可能である。 The terminal 10 is a type of computer, and has a display unit 11, a control unit 12, a memory unit 13, an operation unit 14, a communication unit 15, a sensor unit 16, an imaging unit 17, and a speaker unit 18. In this example, a smartphone is used as the terminal 10. Note that the terminal 10 is not limited to a smartphone, and may be a mobile phone (feature phone), a tablet terminal, a notebook PC (Personal Computer), an IoT device (a device equipped with a power supply mechanism, a communication function, and an information storage mechanism), or the like, and is applicable as long as it is capable of communicating with the server 20 via a network.

表示部11は、液晶ディスプレイまたは有機ELディスプレイなどの表示デバイスであって、制御部12から入力される信号により表示内容が制御される。 The display unit 11 is a display device such as a liquid crystal display or an organic EL display, and the display content is controlled by a signal input from the control unit 12.

制御部12は、CPU(Central Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Flexibe Programable Gate Array)、またはその他の演算処理回路を備える。制御部12は、表示部11および操作部14の操作に基づいて、記憶部13に記憶されたオブジェクト姿勢制御プログラムを含むアプリケーションを実行させる。 The control unit 12 includes a central processing unit (CPU), an application specific integrated circuit (ASIC), a flexible programmable gate array (FPGA), or other arithmetic processing circuit. The control unit 12 executes an application including an object attitude control program stored in the memory unit 13 based on the operation of the display unit 11 and the operation unit 14.

記憶部13は、オブジェクト姿勢制御用プログラム、およびオブジェクト姿勢制御用プログラムで用いられる空間情報を記憶するデータベースとしての機能を有する。記憶部13には、メモリ、SSD、またはその他の記憶可能な素子が用いられる。 The storage unit 13 functions as a database that stores the object attitude control program and the spatial information used in the object attitude control program. The storage unit 13 may be a memory, an SSD, or any other storage device.

操作部14は、コントローラー、ボタン、またはスイッチを含む。操作部14は、上下左右への移動、押圧、または回転などの動作がなされることにより、その動作に基づく情報が制御部12に送信される。本実施形態では、端末10がタッチセンサを有する表示装置(タッチパネル)であることにより、表示部11と操作部14とが、同じ場所に配置されてもよい。 The operation unit 14 includes a controller, a button, or a switch. When the operation unit 14 is moved up, down, left, right, pressed, rotated, or the like, information based on the operation is transmitted to the control unit 12. In this embodiment, the terminal 10 is a display device (touch panel) having a touch sensor, so that the display unit 11 and the operation unit 14 may be located in the same place.

通信部15は、サーバ20と送受信する機能を有する。通信部15には、LAN送受信機(例えばWi-Fi送受信機)が用いられる。なお、送受信機は、LAN送受信機に限定されない。端末が携帯型の端末の場合には、携帯端末用通信(例えばLTE通信)用の送受信機が設けられてもよいし、近距離無線通信用の送受信機が設けられてもよい。端末10は、ネットワーク50を介してサーバ20と接続される。 The communication unit 15 has a function of transmitting and receiving data to and from the server 20. A LAN transceiver (e.g., a Wi-Fi transceiver) is used for the communication unit 15. Note that the transceiver is not limited to a LAN transceiver. If the terminal is a portable terminal, a transceiver for portable terminal communication (e.g., LTE communication) may be provided, or a transceiver for short-range wireless communication may be provided. The terminal 10 is connected to the server 20 via a network 50.

センサ部16は、マーカー、操作体、オブジェクトなどの位置情報を検出する機能を有する。センサ部16には、位置センサ、距離センサ、変位センサを含む。 The sensor unit 16 has a function of detecting position information of a marker, an operating body, an object, etc. The sensor unit 16 includes a position sensor, a distance sensor, and a displacement sensor.

撮像部17は、環境画像を撮像する機能を有し、オブジェクトを表示する上でのマーカー部が設けられた対象物を撮像する。撮像部17には、例えばCMOSイメージセンサが用いられる。 The imaging unit 17 has a function of capturing an environmental image, and captures an image of an object on which a marker is provided for displaying the object. For example, a CMOS image sensor is used for the imaging unit 17.

スピーカー部18は、検出された情報をもとに外部に音情報を出力する音情報を出力する機能を有する。 The speaker unit 18 has the function of outputting sound information to the outside based on the detected information.

サーバ20は、通信部21、記憶部22、制御部23および表示部24を有する。サーバ20は、データベースおよびアプリケーションサーバとして機能する。なお、あらかじめ端末10にオブジェクト姿勢制御用プログラムに関連するすべての情報が搭載されている場合にはサーバ20を必ずしも用いなくてもよい。 The server 20 has a communication unit 21, a memory unit 22, a control unit 23, and a display unit 24. The server 20 functions as a database and an application server. Note that if all information related to the object attitude control program is pre-installed in the terminal 10, it is not necessary to use the server 20.

通信部21は、送受信機を有し、ネットワーク50を介して端末10とオブジェクトの制御情報の情報通信を行う。通信部21には、インターネット用の送受信機が用いられる。なお、送受信機は、インターネット用のLAN送受信機に限定されず、端末10と同様に通信可能な装置が用いられる。 The communication unit 21 has a transceiver, and communicates control information of objects with the terminal 10 via the network 50. A transceiver for the Internet is used for the communication unit 21. Note that the transceiver is not limited to a LAN transceiver for the Internet, and any device capable of communicating in the same way as the terminal 10 is used.

記憶部22は、ハードディスク、およびSSDを用いることで、オブジェクト姿勢制御用プログラムで用いられる情報のデータベースとしての機能を有する。 The storage unit 22 functions as a database of information used in the object attitude control program by using a hard disk and an SSD.

制御部23は、CPU、ASIC、FPGAまたはその他の演算処理回路を用いて、オブジェクト姿勢制御プログラムの処理を制御する。また、制御部23からの命令によって、オブジェクト姿勢制御プログラムを実行するためのユーザインターフェースが表示部24に提供される場合がある。 The control unit 23 controls the processing of the object attitude control program using a CPU, ASIC, FPGA, or other arithmetic processing circuit. In addition, a user interface for executing the object attitude control program may be provided to the display unit 24 by instructions from the control unit 23.

(1-2.オブジェクト姿勢制御部100の構成)
図2は、オブジェクト姿勢制御システム1における端末10の各構成要素およびサーバ20の各構成要素によって構成され、オブジェクト姿勢制御機能を実現させるプログラム
(オブジェクト姿勢制御プログラム)を制御するオブジェクト姿勢制御部100の機能ブロック図を示す。この例では、オブジェクト姿勢制御プログラムが端末10に設けられている例を説明する。
(1-2. Configuration of Object Pose Control Unit 100)
2 shows a functional block diagram of an object posture control unit 100 that is configured by the components of the terminal 10 and the server 20 in the object posture control system 1 and controls a program (object posture control program) that realizes an object posture control function. In this example, an example in which the object posture control program is provided in the terminal 10 will be described.

オブジェクト姿勢制御部100は、撮像画像取得部110、マーカー検出部120、空間定義部130、オブジェクト表示部140、操作体検出部150、重畳部分検出部160、通知部170、移動情報取得部180、およびオブジェクト座標変更部190を含む。 The object posture control unit 100 includes a captured image acquisition unit 110, a marker detection unit 120, a space definition unit 130, an object display unit 140, an operating body detection unit 150, an overlapping part detection unit 160, a notification unit 170, a movement information acquisition unit 180, and an object coordinate change unit 190.

撮像画像取得部110は、撮像部17において撮像された実空間の環境画像を取得する機能を有する。 The captured image acquisition unit 110 has the function of acquiring an environmental image of the real space captured by the imaging unit 17.

マーカー検出部120は、撮像画像取得部110によって取得された画像からマーカーを検出する機能を有する。この例では、マーカーの情報は、あらかじめ記憶部13に記憶されている。なお、マーカーの情報は、必ずしも記憶部13に記憶されていなくてもよく、撮像された画像からマーカーとなりうる特徴点を抽出してもよい。 The marker detection unit 120 has a function of detecting markers from the image acquired by the captured image acquisition unit 110. In this example, the marker information is stored in advance in the storage unit 13. Note that the marker information does not necessarily have to be stored in the storage unit 13, and feature points that can be markers may be extracted from the captured image.

空間定義部130は、仮想空間と表示部11の座標との位置合わせを行う機能を有する。本実施形態では、空間定義部130は、マーカーベース位置合わせ法を用い、検出されたマーカーを基準に仮想空間と表示部11の座標とを位置合わせする。 The space definition unit 130 has a function of aligning the virtual space with the coordinates of the display unit 11. In this embodiment, the space definition unit 130 uses a marker-based alignment method to align the virtual space with the coordinates of the display unit 11 based on the detected marker.

オブジェクト表示部140は、仮想空間上に配置された姿勢を制御する対象となるオブジェクトを表示部11に表示する機能を有する。 The object display unit 140 has the function of displaying on the display unit 11 an object whose posture is to be controlled and which is placed in a virtual space.

操作体検出部150は、撮像された画像に含まれる対象物から操作体を検出し、操作体として設定する機能を有する。重畳部分検出部160は、操作体と、オブジェクトが有する複数の部位のうち一部の部位とが重畳することを検出し、当該部位を被操作部位として設定する機能を有する。 The operating body detection unit 150 has a function of detecting an operating body from objects included in a captured image and setting it as the operating body. The overlapping part detection unit 160 has a function of detecting that the operating body overlaps with a part of multiple parts of an object and setting that part as the part to be operated.

通知部170は、操作体と被操作部位とが重畳していることをユーザに通知する機能を有する。なお、操作体と被操作部位とが重畳しているとは、例えば、操作体と被操作部位が配置される空間(仮想的空間を含む)または表示部11の表示領域において、操作体との被操作部位との少なくとも一部に位置座標の重なりがあることをいう。この例では、端末10のスピーカー部18から発せられる音情報を介して通知する。 The notification unit 170 has a function of notifying the user that the operating object and the operated part overlap. Note that the operating object and the operated part overlap, for example, when the operating object and the operated part overlap in position coordinates at least partially in the space (including virtual space) in which the operating object and the operated part are placed or in the display area of the display unit 11. In this example, the notification is made via sound information emitted from the speaker unit 18 of the terminal 10.

移動情報取得部180は、設定された操作体の移動前後の座標にもとづいた移動情報を取得する機能を有する。 The movement information acquisition unit 180 has a function of acquiring movement information based on the coordinates before and after the movement of the set operating object.

オブジェクト座標変更部190は、表示部11に移動後のオブジェクトを表示するために、操作体と重畳する非操作部位の座標を変更し記録するとともに、その位置情報をオブジェクト表示部140に送信する機能を有する。移動情報取得部180、オブジェクト座標変更部190およびオブジェクト表示部140は、1秒あたり60回にわたってオブジェクトにおける被操作部位の移動情報を取得し、操作体の空間座標および表示画面上の座標を変更することにより、オブジェクトの動き(姿勢の変化)を静止画または動画として表示することができる。 The object coordinate modification unit 190 has a function of modifying and recording the coordinates of the non-operated part that overlaps with the operating body in order to display the moved object on the display unit 11, and transmitting the position information to the object display unit 140. The movement information acquisition unit 180, object coordinate modification unit 190, and object display unit 140 acquire movement information of the operated part of the object 60 times per second, and can display the movement (posture change) of the object as a still image or video by modifying the spatial coordinates of the operating body and the coordinates on the display screen.

(1-3.オブジェクト姿勢制御処理)
次に、オブジェクト姿勢制御部100におけるオブジェクト姿勢制御プログラムによる命令に基づいたオブジェクト姿勢制御処理について説明する。オブジェクト姿勢制御処理は、重畳表示処理S100およびオブジェクト姿勢検出処理を含む。図3(A)は、重畳表示処理のフロー図である。図3(B)は、オブジェクト姿勢検出処理のフロー図である。図3(B)に示すように、オブジェクト姿勢検出処理は、第1オブジェクト姿勢検出処理S200および第2オブジェクト姿勢検出処理S300を含む。重畳表示処理と、オブジェクト姿勢検出処理とは、並行して行うことができる。
(1-3. Object Attitude Control Processing)
Next, an object posture control process based on commands from an object posture control program in the object posture control unit 100 will be described. The object posture control process includes a superimposed display process S100 and an object posture detection process. Fig. 3(A) is a flow diagram of the superimposed display process. Fig. 3(B) is a flow diagram of the object posture detection process. As shown in Fig. 3(B), the object posture detection process includes a first object posture detection process S200 and a second object posture detection process S300. The superimposed display process and the object posture detection process can be performed in parallel.

重畳表示処理S100は、撮像画像の取得・表示処理、マーカー情報検出処理、空間定義処理、オブジェクト座標取得処理および撮像画像・オブジェクト重畳表示処理を含む。第1オブジェクト姿勢検出処理S200は、操作体検出処理、操作体設定処理、重畳部分検出処理、被操作部位設定処理、および重畳通知処理を含む。第2オブジェクト姿勢検出処理S300は、操作体移動量取得処理、オブジェクトの座標変更処理、および端末の移動が終了したかどうかの判定処理を含む。それぞれのオブジェクト姿勢制御処理を分けて説明する。 The superimposed display process S100 includes captured image acquisition and display process, marker information detection process, space definition process, object coordinate acquisition process, and captured image/object superimposed display process. The first object posture detection process S200 includes operating body detection process, operating body setting process, superimposed portion detection process, operated part setting process, and superimposition notification process. The second object posture detection process S300 includes operating body movement amount acquisition process, object coordinate change process, and process of determining whether the movement of the terminal has ended. Each object posture control process will be explained separately.

(1-3-1.重畳表示処理S100)
図4に、重畳表示処理S100を示す。重畳表示処理S100は、オブジェクト姿勢制御プログラムを含むアプリケーションを起動させることをきっかけとして開始される。
(1-3-1. Overlay display processing S100)
The superimposed display process S100 is shown in Fig. 4. The superimposed display process S100 is started when an application including an object posture control program is started.

重畳表示処理S100において、撮像画像取得部110は実空間の環境画像の撮像を行い、その撮像された画像を取得し(S110)、端末10の表示部11に撮像された画像
(第2画像ともいう)を表示する。
In the superimposed display process S100, the captured image acquisition unit 110 captures an environmental image of the real space, acquires the captured image (S110), and displays the captured image (also called the second image) on the display unit 11 of the terminal 10.

図5は、端末10で実空間を撮像するときの一例である。図5において、実際の空間には、端末10とともに、テーブル60、シート70とともに、操作体となるユーザの手90が配置されている。シート70には、4つのマーカー75が含まれている。この例では、端末10により4つのマーカー75を含むように、テーブル60の一部、シート70、ユーザの手90が撮像される。 Figure 5 is an example of capturing an image of a real space with the terminal 10. In Figure 5, the real space includes the terminal 10, a table 60, a sheet 70, and a user's hand 90, which serves as an operating object. The sheet 70 includes four markers 75. In this example, the terminal 10 captures an image of a portion of the table 60, the sheet 70, and the user's hand 90, so as to include the four markers 75.

図4に戻って説明する。次に、マーカー検出部120は、マーカー検出処理を行う(S120)。この例では、オブジェクト姿勢制御プログラムには、あらかじめ4つのマーカーの情報が登録されている。マーカーの情報は、マーカーの形態および配置に関するものである。4つのマーカーが検出されないとき(S120;No)、撮像画像の取得・表示処理(S110)に戻る。 Returning to FIG. 4, the marker detection unit 120 then performs marker detection processing (S120). In this example, information on four markers is preregistered in the object posture control program. The marker information relates to the shape and arrangement of the markers. When the four markers are not detected (S120; No), the process returns to the capture and display processing of the captured image (S110).

次に、4つのマーカーを検出した場合には(S120;Yes)、空間定義部130は、マーカーベース位置合わせ法を用いて、実空間と仮想空間との座標の位置合わせ(空間定義)を行う(S130)。このとき、空間定義部130は、表示部11に表示された実空間上のマーカー75と、オブジェクト姿勢制御プログラムに記憶された仮想空間上のマーカーとを照合し、仮想空間の座標を実空間の座標として表示部11に表示可能となるように調整を行う。例えば、マーカー75-1の位置座標は、実空間の位置座標が(Xr75-1,Yr75-1,Zr75-1)、表示部11における位置座標が(Xd75-1,Yd75-1)、仮想空間の位置座標が(Xv75-1,Yv75-1,Zv75-1)として定義される。 Next, if four markers are detected (S120; Yes), the space definition unit 130 uses the marker-based alignment method to align the coordinates of the real space and the virtual space (space definition) (S130). At this time, the space definition unit 130 compares the markers 75 in the real space displayed on the display unit 11 with the markers in the virtual space stored in the object attitude control program, and adjusts them so that the virtual space coordinates can be displayed on the display unit 11 as real space coordinates. For example, the position coordinates of marker 75-1 are defined as (Xr75-1, Yr75-1, Zr75-1) in the real space, (Xd75-1, Yd75-1) on the display unit 11, and (Xv75-1, Yv75-1, Zv75-1) in the virtual space.

次に、空間定義部130は、仮想空間におけるオブジェクト座標の取得処理を行う(S140)。図6は、オブジェクトの各部位の仮想空間上の座標である。図6に示すように、オブジェクトの各部位の座標情報は、4つのマーカーの座標に基づいて設定された原点に対して設定される。上記処理により、マーカー75の表示部11における情報が取得されることにより、オブジェクトの各部位の座標が取得される。 Next, the space definition unit 130 performs a process of acquiring object coordinates in the virtual space (S140). FIG. 6 shows the coordinates of each part of the object in the virtual space. As shown in FIG. 6, the coordinate information of each part of the object is set with respect to an origin that is set based on the coordinates of the four markers. Through the above process, the information on the display unit 11 of the marker 75 is acquired, and the coordinates of each part of the object are acquired.

次に、オブジェクト表示部140は、撮像された画像(第2画像)とオブジェクトの画像(第1画像ともいう)を重畳して表示する(S150)。図7は、端末10の表示部11に表示されたオブジェクトのユーザインターフェースである。図7において、ユーザの手90とともに、シート70上に配置された仮想空間上のオブジェクト80が表示される。この例では、オブジェクト80は、人型の体形を有し、複数の部位81および複数のボーン82を有する。部位81は、移動可能な部位であり、人間の関節に相当する。部位81(部位81a)は、隣接する部位81(部位81b)と、ボーン82(ボーン82a)を介して接続されている。つまり、部位81aおよび部位81bは連動する部位であるということができる。なお、オブジェクト80を表示する際に、シート70は表示されなくてもよい。 Next, the object display unit 140 displays the captured image (second image) and the image of the object (also called the first image) in a superimposed manner (S150). FIG. 7 shows a user interface of an object displayed on the display unit 11 of the terminal 10. In FIG. 7, an object 80 in a virtual space arranged on a sheet 70 is displayed together with a user's hand 90. In this example, the object 80 has a humanoid body shape and has multiple parts 81 and multiple bones 82. The part 81 is a movable part and corresponds to a human joint. The part 81 (part 81a) is connected to the adjacent part 81 (part 81b) via a bone 82 (bone 82a). In other words, it can be said that the parts 81a and 81b are linked parts. It should be noted that the sheet 70 does not need to be displayed when the object 80 is displayed.

次に、重畳表示処理を終了するかどうかの判定処理がなされる(S160)。当該判定処理は、ユーザからの入力される情報をもとになされてもよいし、所定の条件を満たすか否かによりなされてもよい。例えば、撮像された画像において、移動する対象物がある場合には、重畳表示処理を終了しないと判定し(S160;No)、再度撮像画像の取得処理(S110)に戻り、重畳表示処理S100が繰り返される。一方、重畳表示処理を終了すると判定した場合(S160;Yes)、重畳表示処理S100は終了となる。 Next, a determination process is performed as to whether or not to end the superimposed display process (S160). This determination process may be performed based on information input by the user, or may be performed based on whether or not a predetermined condition is satisfied. For example, if there is a moving object in the captured image, it is determined that the superimposed display process should not be ended (S160; No), and the process returns to the captured image acquisition process (S110) again, and the superimposed display process S100 is repeated. On the other hand, if it is determined that the superimposed display process should be ended (S160; Yes), the superimposed display process S100 is ended.

(1-3-2.第1オブジェクト姿勢検出処理S200)
図8に、第1オブジェクト姿勢検出処理S200のフロー図を示す。第1オブジェクト姿勢検出処理S200は、検出開始信号が入力されることをきっかけとして行われる。検出開始信号は、ユーザが入力してもよいし、プログラムから所定の信号が入力されてもよい。
(1-3-2. First object posture detection process S200)
8 shows a flow diagram of the first object posture detection process S200. The first object posture detection process S200 is triggered by inputting a detection start signal. The detection start signal may be input by a user, or a predetermined signal may be input from a program.

まず、操作体検出部150は、操作体の検出処理を行う(S210)。当該検出処理は、撮像された撮像において生じる視差に基づいて判定される。 First, the operating object detection unit 150 performs an operating object detection process (S210). This detection process is determined based on the parallax that occurs in the captured image.

まず、撮像部17で撮像された複数の画像における対象物の位置の変化(視差)に基づいて端末10(撮像部17)から対象物までの距離を算出する。次に、端末10から対象物までの距離が撮像部17からテーブルまでの距離よりも小さい対象物を操作体として検出する。この例では、端末10からテーブル60までの距離に対して、端末10からユーザの手90までの距離の方が小さいため、ユーザの手90が操作体として検出され(S210;Yes)、設定される(S220)。このとき、ユーザの手90のうちシート70に最も近い部分(より具体的には人差し指の先端部90a)を操作体として定義してもよい。操作体が検出されないときは(S210;No)、上記処理がループして行われる。 First, the distance from the terminal 10 (imaging unit 17) to the object is calculated based on the change in the position of the object in multiple images captured by the imaging unit 17 (parallax). Next, an object whose distance from the terminal 10 to the object is shorter than the distance from the imaging unit 17 to the table is detected as the operating object. In this example, since the distance from the terminal 10 to the user's hand 90 is shorter than the distance from the terminal 10 to the table 60, the user's hand 90 is detected as the operating object (S210; Yes) and set (S220). At this time, the part of the user's hand 90 closest to the sheet 70 (more specifically, the tip 90a of the index finger) may be defined as the operating object. When the operating object is not detected (S210; No), the above process is repeated in a loop.

次に、重畳部分検出部160は、オブジェクト80と、操作体とが重畳することを検出する(S230)。重畳しているか否かの検出は、オブジェクト80の対象部位の仮想空間上の座標と、操作体の実空間の座標とが、一致するか否かに基づいて判定される。 Next, the overlap detection unit 160 detects that the object 80 and the operating body overlap (S230). The detection of whether or not there is overlap is determined based on whether or not the coordinates in the virtual space of the target part of the object 80 match the coordinates in the real space of the operating body.

図9は、操作体と被操作部位とが重畳したときを示すユーザインターフェースの一例である。図9に示すように、この例では、ユーザの手90のうち人差し指の先端部90aおよび親指の先端部90bがオブジェクト80の部位81a(左手首の関節に相当)の一部と重畳している。以下に、人差し指の先端部90aと、オブジェクト80の部位81aとが重畳したことの検出方法を示す。 Figure 9 is an example of a user interface showing when the operating object and the operated part overlap. As shown in Figure 9, in this example, the tip 90a of the index finger and the tip 90b of the thumb of the user's hand 90 overlap part of the part 81a (corresponding to the left wrist joint) of the object 80. The following describes a method for detecting the overlap of the tip 90a of the index finger and the part 81a of the object 80.

まず、人差し指の先端部90aの実空間の位置(座標)を取得する。人差し指の先端部90aの座標には、シート70上に配置された4つのマーカー75で囲まれた領域の中央部を原点とし、当該原点を基準とした相対座標が用いられる。このとき、人差し指の先端部90aの実空間の座標は(Xr_90a,Yr_90a,Zr_90a)である。そして、上記実空間の座標に基づいて、人差し指の先端部90aが仮想空間に配置された場合の座標(Xv_90a,Yv_90a,Zv_90a)が演算される。 First, the real-space position (coordinates) of the tip 90a of the index finger is obtained. The coordinates of the tip 90a of the index finger are calculated using relative coordinates based on the origin, which is the center of the area surrounded by the four markers 75 arranged on the sheet 70. At this time, the real-space coordinates of the tip 90a of the index finger are (Xr_90a, Yr_90a, Zr_90a). Then, based on the real-space coordinates, the coordinates (Xv_90a, Yv_90a, Zv_90a) of the tip 90a of the index finger when it is arranged in the virtual space are calculated.

次に、人差し指の先端部90aの仮想空間の座標と、オブジェクト80の複数の部位81のいずれかの部位(この例ではオブジェクトの部位81aの仮想空間の座標(Xv_81a,Yv_81a,Zv_81a))とが一致したときに、重畳部分を検出したと判定する(S230;Yes)。このとき、オブジェクトの部位81aは被操作部位として設定される(S240)。なお、重畳部分が検出されないときは(S230;No)、上記重畳部分検出処理がループして行われる。 Next, when the virtual space coordinates of the tip 90a of the index finger match any one of the multiple parts 81 of the object 80 (in this example, the virtual space coordinates (Xv_81a, Yv_81a, Zv_81a) of the object part 81a), it is determined that an overlapping portion has been detected (S230; Yes). At this time, the object part 81a is set as the part to be operated (S240). Note that when an overlapping portion is not detected (S230; No), the overlapping portion detection process is repeated in a loop.

重畳部分を検出したとき、通知部170は、操作体と被操作部位とが重畳していることを通知する(S250)。この例では、端末10のスピーカー部18から発せられる音情報を用いて通知する。以上により、第1オブジェクト姿勢検出処理S200は終了となる。 When an overlapping portion is detected, the notification unit 170 notifies that the operating object and the operated part overlap (S250). In this example, the notification is made using sound information emitted from the speaker unit 18 of the terminal 10. With this, the first object posture detection process S200 ends.

(1-3-3.第2オブジェクト姿勢検出処理S300)
図10は、第2オブジェクト姿勢検出処理S300のフロー図である。第2オブジェクト姿勢検出処理S300は、第1オブジェクト姿勢検出処理S200の終了をきっかけに開始される。
(1-3-3. Second object posture detection process S300)
10 is a flow diagram of the second object posture detection process S300. The second object posture detection process S300 is started upon completion of the first object posture detection process S200.

第2オブジェクト姿勢検出処理S300において、はじめに、移動情報取得部180は、操作体の移動量を取得する(S310)。この例では、操作体(ユーザの手90の人差し指の先端部90a)の位置情報の変化に伴うオブジェクトの姿勢の追跡は、V-SLAM(Visual Simultaneous Localization and Mapping)法により行われる。人差し指の先端部90aの位置(座標)は、センサ部16および撮像部17を用いて計測・演算処理され、移動情報取得部180において取得される。センサ部16および撮像部17には、イメージセンサ、位置センサ、距離センサ、変位センサ、またはその他位置検出可能な素子が用いられる。 In the second object posture detection process S300, first, the movement information acquisition unit 180 acquires the amount of movement of the operating body (S310). In this example, tracking of the object posture accompanying changes in position information of the operating body (tip 90a of the index finger of the user's hand 90) is performed by the V-SLAM (Visual Simultaneous Localization and Mapping) method. The position (coordinates) of the tip 90a of the index finger is measured and calculated using the sensor unit 16 and the imaging unit 17, and acquired by the movement information acquisition unit 180. The sensor unit 16 and the imaging unit 17 may be an image sensor, a position sensor, a distance sensor, a displacement sensor, or other elements capable of detecting position.

図11(A)は、初期値(移動前)、時間t1後(移動後)の操作体(人差し指の先端部90a)の位置(座標)、および移動前後の座標より求められる人差し指の先端部90aの移動量を示すデータ構造である。移動前は、操作体と被操作部位とが重畳したことを検出した時を示す。 Figure 11 (A) shows a data structure indicating the initial value (before movement), the position (coordinates) of the operating body (tip 90a of the index finger) after time t1 (after movement), and the amount of movement of the tip 90a of the index finger calculated from the coordinates before and after the movement. Before movement indicates the time when it is detected that the operating body and the operated part overlap.

次に、取得された操作体の移動量をもとに、オブジェクト座標変更部190は、オブジェクト80のうち移動対象部位である被操作部位(部位81a)の座標を変更し、記録する(S320)。図11(B)は、初期値(移動前)、時間t1後のオブジェクトの被操作部位(部位81a)の仮想空間上の座標および表示部11における座標のデータ構造である。図11(B)に示すように、操作体(人差し指の先端部90a)の移動量に基づいて仮想空間におけるオブジェクト80の被操作部位(部位81a)の座標情報、および表示部11におけるオブジェクト80の被操作部位(部位81a)の座標情報が変更され、変更後の座標情報が記憶される(座標情報の書き換えがなされる)。 Next, based on the acquired amount of movement of the operating body, the object coordinate change unit 190 changes and records the coordinates of the operated part (part 81a) of the object 80 that is the part to be moved (S320). FIG. 11(B) shows the data structure of the initial value (before movement) and the coordinates in virtual space of the operated part (part 81a) of the object after time t1, and the coordinates on the display unit 11. As shown in FIG. 11(B), the coordinate information of the operated part (part 81a) of the object 80 in the virtual space and the coordinate information of the operated part (part 81a) of the object 80 on the display unit 11 are changed based on the amount of movement of the operating body (tip 90a of the index finger), and the changed coordinate information is stored (the coordinate information is rewritten).

図10に戻って説明する。このとき、オブジェクト表示部140は、重畳表示処理S100において移動後(時間t1後)の被操作部位の情報を用いて表示部11にオブジェクト80を表示する。図12は、表示部11に被操作部位の位置が変化したオブジェクト80を表示したユーザインターフェースである。図12に示すように、被操作部位(部位81a)は、図7で表示された位置から異なる部位(部位81b、肘関節に相当)を基準として移動する。つまり、操作体の動きに関する情報に基づいて、オブジェクトの複数の部位のうち一部の部位を移動することができる。上記処理は、操作体が移動する限り(S330;Yes)、繰り返し行われる。この例では、操作体の移動量の取得は、1秒あたり60回行われるため、オブジェクトの姿勢の変化が滑らかに表示される。端末10の移動が終了したとき(S330;No)、第2オブジェクト姿勢検出処理S300は、終了となる。 Returning to FIG. 10, the explanation will be given. At this time, the object display unit 140 displays the object 80 on the display unit 11 using the information of the operated part after the movement (after time t1) in the superimposed display process S100. FIG. 12 is a user interface in which the object 80 in which the position of the operated part has changed is displayed on the display unit 11. As shown in FIG. 12, the operated part (part 81a) moves from the position displayed in FIG. 7 based on a different part (part 81b, corresponding to the elbow joint). In other words, based on information on the movement of the operating body, some of the parts of the object can be moved. The above process is repeated as long as the operating body moves (S330; Yes). In this example, the amount of movement of the operating body is obtained 60 times per second, so that the change in the posture of the object is displayed smoothly. When the movement of the terminal 10 is completed (S330; No), the second object posture detection process S300 is completed.

上記に示した通り、本実施形態のオブジェクト姿勢制御プログラムを用いることにより、複数の部位を有するオブジェクトを、複雑な制御を行うことなく容易にオブジェクトの姿勢制御を行うことができる。 As described above, by using the object posture control program of this embodiment, it is possible to easily control the posture of an object having multiple parts without performing complex control.

<第2実施形態>
本実施形態では、第1実施形態と異なるオブジェクトの姿勢制御処理について説明する。具体的には、複数の部位が一つの端末の移動に基づいて移動する例について説明する。なお、第1と同様の構成および方法については、適宜省略する場合がある。
Second Embodiment
In this embodiment, an object attitude control process different from that in the first embodiment will be described. Specifically, an example in which multiple parts move based on the movement of one terminal will be described. Note that configurations and methods similar to those in the first embodiment may be omitted as appropriate.

(2-1.サーバおよびオブジェクト姿勢制御部100Aの構成)
図13は、オブジェクト姿勢制御システム1Aにおける、オブジェクト姿勢制御部100Aの機能ブロック図を示す。図22に示すように、オブジェクト姿勢制御部100Aは、撮像画像取得部110、マーカー検出部120、空間定義部130、オブジェクト表示部140、操作体検出部150、重畳部分検出部160、通知部170、移動情報取得部180、およびオブジェクト座標変更部190に加えて、第2操作体検出部195、第2重畳部分検出部200を含む。
(2-1. Configuration of Server and Object Attitude Control Unit 100A)
Fig. 13 shows a functional block diagram of an object posture control unit 100A in the object posture control system 1A. As shown in Fig. 22, the object posture control unit 100A includes a captured image acquisition unit 110, a marker detection unit 120, a space definition unit 130, an object display unit 140, an operation body detection unit 150, an overlapping portion detection unit 160, a notification unit 170, a movement information acquisition unit 180, and an object coordinate change unit 190, as well as a second operation body detection unit 195 and a second overlapping portion detection unit 200.

第2操作体検出部195は、撮像された画像に含まれる複数の対象物から操作体として検出された対象物とは異なる対象物を検出し、第2操作体として設定する機能を有する。第2重畳部分検出部200は、第2操作体と、オブジェクトが有する複数の部位のうち一部の部位とが重畳することを検出し、当該部位を第2被操作部位として設定する機能を有する。 The second operating body detection unit 195 has a function of detecting an object different from the object detected as the operating body from among multiple objects contained in the captured image, and setting it as the second operating body. The second overlapping portion detection unit 200 has a function of detecting that the second operating body overlaps with a part of multiple parts of the object, and setting that part as the second operated part.

(2-2.オブジェクト姿勢制御処理)
図14に、オブジェクト姿勢制御部100Aにおけるオブジェクト姿勢制御プログラムによる命令に基づいた第1オブジェクト姿勢検出処理S200Aのフロー図を示す。図14に示すように、重畳部分の通知がなされた後(S250)、追加で操作体を設定するか判定する(S255)。上記判定は、所定の期間において操作体として設定された対象物以外に動いている対象物があるか否かに基づいてなされてもよいし、ユーザからの入力情報によりなされてもよい。また、表示部11に「新たな操作体を追加しますか?」と表示されるとともに、「はい」および「いいえ」のボタンが表示されてもよい。追加で設定しない場合(S255;No)、第1オブジェクト姿勢検出処理S200Aが終了となる。
(2-2. Object Attitude Control Processing)
FIG. 14 shows a flow diagram of the first object posture detection process S200A based on a command by the object posture control program in the object posture control unit 100A. As shown in FIG. 14, after the notification of the overlapping part is given (S250), it is determined whether to set an additional operating body (S255). The above determination may be made based on whether there is a moving object other than the object set as the operating body during a predetermined period, or may be made based on input information from the user. In addition, the display unit 11 may display "Do you want to add a new operating body?" along with buttons "Yes" and "No". If no additional setting is given (S255; No), the first object posture detection process S200A is terminated.

追加で設定すると判定された場合(S255;Yes)、第2操作体検出部195は、第2操作体となる対象物を検出する(S260)。この例では、ユーザの左手91が第2操作体として検出される。検出方法は、本発明の第1実施形態に記載した方法と同様の方法を用いることができる。このとき、ユーザの左手91のうちシート70に最も近い部分
(より具体的には左手の人差し指の先端部91a)を操作体として設定してもよい(S265)。
When it is determined that an additional operation body is to be set (S255; Yes), the second operation body detection unit 195 detects an object to be the second operation body (S260). In this example, the user's left hand 91 is detected as the second operation body. The detection method may be the same as that described in the first embodiment of the present invention. At this time, the part of the user's left hand 91 closest to the sheet 70 (more specifically, the tip 91a of the index finger of the left hand) may be set as the operation body (S265).

次に、第2重畳部分検出部200は、第2操作体とオブジェクト80の一部の部位との重畳部分(第2重畳部分)を検出する(S270)。第2重畳部分の検出方法には、本発明の第1実施形態の重畳部分の検出方法と同様の方法が用いられる。第2操作体がオブジェクト80の一部の部位81cと重畳したと判定される場合(S270;Yes)。このとき、オブジェクトの部位81cは第2被操作部位として設定される(S280)。なお、第2重畳部分が検出されないときは(S270;No)、上記第2重畳部分検出処理がループして行われる。 Next, the second overlapping portion detection unit 200 detects an overlapping portion (second overlapping portion) between the second operating body and a portion of the object 80 (S270). The second overlapping portion is detected using a method similar to the overlapping portion detection method of the first embodiment of the present invention. If it is determined that the second operating body overlaps with a portion 81c of the object 80 (S270; Yes), the object portion 81c is set as the second operated portion (S280). Note that if the second overlapping portion is not detected (S270; No), the second overlapping portion detection process is repeated in a loop.

第2重畳部分が検出されたのち、通知部170は、第2重畳を検出したことを通知してもよい(S290)。通知方法は、第1実施形態と同様の方法を用いることができる。以上により、第1オブジェクト姿勢検出処理S200Aが終了となる。 After the second overlapping portion is detected, the notification unit 170 may notify that the second overlapping portion has been detected (S290). The notification method may be the same as that in the first embodiment. This completes the first object pose detection process S200A.

図16は、第3オブジェクト制御処理S300Aのフロー図である。本実施形態において、操作体(ユーザの手90の人差し指の先端部90a)の移動に伴うオブジェクトの被操作部位(部位81a)の移動は第1実施形態と同様の方法で実現される。本実施形態の場合、図17に示すように、被操作部位(部位81a)が移動するのと同時に、操作体とは異なる第2操作体(ユーザの左手91の人差し指の先端部91a)の移動量に基づいて、部位81eを基準にして第2被操作部位(部位81c,足首の関節に相当)が移動するように被操作部位および第2被操作部位の座標変更が変更される(S320)。つまり、複数の操作体の動きに合わせて複数の被操作部位を動かし、オブジェクトの姿勢を制御することができる。 Figure 16 is a flow diagram of the third object control process S300A. In this embodiment, the movement of the operated part (part 81a) of the object accompanying the movement of the operating body (tip 90a of the index finger of the user's hand 90) is realized in the same manner as in the first embodiment. In this embodiment, as shown in Figure 17, at the same time that the operated part (part 81a) moves, the coordinate change of the operated part and the second operated part is changed so that the second operated part (part 81c, corresponding to the ankle joint) moves with respect to part 81e based on the amount of movement of a second operating body (tip 91a of the index finger of the user's left hand 91) different from the operating body (S320). In other words, the posture of the object can be controlled by moving multiple operated parts in accordance with the movement of multiple operating bodies.

なお、本実施形態では、2つの操作体を用いて、オブジェクトの姿勢を制御する例を示したが、これに限定されない。3つ以上の操作体を有する場合にも同様に適用することができる。 In this embodiment, an example in which two operating bodies are used to control the attitude of an object is shown, but the present invention is not limited to this. It can also be applied to a case in which there are three or more operating bodies.

なお、本発明の思想の範疇において、当業者であれば、各種の変更例および修正例に想到し得るものであり、それら変更例および修正例についても本発明の範囲に属するものと了解される。例えば、前述の各実施形態に対して、当業者が適宜、構成要素の追加、削除若しくは設計変更を行ったもの、又は、工程の追加、省略若しくは条件変更を行ったものも、本発明の要旨を備えている限り、本発明の範囲に含まれる。 It should be noted that within the scope of the concept of the present invention, a person skilled in the art may come up with various modifications and alterations, and it is understood that these modifications and alterations also fall within the scope of the present invention. For example, those embodiments described above in which a person skilled in the art has appropriately added or deleted components or modified the design, or added or omitted steps or changed conditions, are also included in the scope of the present invention as long as they contain the gist of the present invention.

(変形例)
本発明の第1実施形態では、操作体の移動情報において、X座標、Y座標、Z座標を用いる例を示したが、これに限定されない。例えば、X座標、Y座標、Z座標だけではなく角度θを用いてもよい。この場合、X座標、Y座標、Z座標のいずれかが用いられなくてもよい。操作体の動きに合わせて仮想空間におけるオブジェクト80の被操作部位(部位81a)の情報、および表示部11におけるオブジェクト80の被操作部位(部位81a)の位置座標が変更され、変更後の位置座標の情報が記憶される(座標情報の書き換えがなされる)。これにより、オブジェクトの姿勢において、特にひねりの姿勢を制御することができる。
(Modification)
In the first embodiment of the present invention, an example in which the X coordinate, Y coordinate, and Z coordinate are used in the movement information of the operating body is shown, but is not limited thereto. For example, not only the X coordinate, Y coordinate, and Z coordinate but also the angle θ may be used. In this case, any of the X coordinate, Y coordinate, and Z coordinate may not be used. In accordance with the movement of the operating body, the information of the operated part (part 81a) of the object 80 in the virtual space and the position coordinates of the operated part (part 81a) of the object 80 in the display unit 11 are changed, and the information of the changed position coordinates is stored (the coordinate information is rewritten). This allows the posture of the object, especially the twist posture, to be controlled.

また、本発明の第1実施形態では、操作体を検出、設定した後に重畳部分を検出し、被操作部位を設定する例を示したが、これに限定されない。例えば、対象物とオブジェクトとが重畳した段階で重畳する対象物を操作体として検出、設定し、オブジェクトの重畳部分を被操作部位として設定してもよい。 In the first embodiment of the present invention, an example is shown in which an operating body is detected and set, and then an overlapping portion is detected and an operated part is set, but this is not limiting. For example, when a target object and an object overlap, the overlapping target object may be detected and set as the operating body, and the overlapping portion of the object may be set as the operated part.

また、本発明の第1実施形態では、主に人差し指の先端部90aがオブジェクトの一部の部位(部位81a)と重畳する例を示したが、これに限定されない。重畳部分検出部160は、複数の重畳部分を有する場合に、重畳したと検出してもよい。例えば、2点以上で重畳した場合、ユーザの指はオブジェクトをつまむ形状を有することができ、より自然にオブジェクトの姿勢を制御することができる。 In the first embodiment of the present invention, an example in which the tip 90a of the index finger overlaps a portion of the object (portion 81a) has been mainly described, but this is not limiting. The overlap detection unit 160 may detect overlap when there are multiple overlapping portions. For example, when there is overlap at two or more points, the user's fingers may have a shape that pinches the object, and the posture of the object can be controlled more naturally.

また、複数部分が重畳したと判定されたときに、通常のオブジェクトの姿勢制御とは異なる付加的な制御を設けてもよい。図18は、複数部分が重畳したと判定され、操作体が移動したときのユーザインターフェースの一例である。図18に示すように、この例では、人差し指の先端部90aおよび親指の先端部90bがオブジェクトの部位81(a)と重畳している。このとき、人差し指の先端部90aおよび親指の先端部90bの移動に合わせて、あらかじめ設定された条件に基づき、オブジェクト80の部位81aも移動し、さらにボーン82(82a)が伸長する。このように、通常のオブジェクトの姿勢制御とは異なる付加的な制御を行うことによりオブジェクトの姿勢を多様な形態で制御することができる。 In addition, when it is determined that multiple parts overlap, additional control different from the normal object posture control may be provided. FIG. 18 is an example of a user interface when it is determined that multiple parts overlap and the operating body is moved. As shown in FIG. 18, in this example, the tip 90a of the index finger and the tip 90b of the thumb overlap with the part 81(a) of the object. At this time, in accordance with the movement of the tip 90a of the index finger and the tip 90b of the thumb, the part 81a of the object 80 also moves based on a preset condition, and further the bone 82 (82a) is extended. In this way, the posture of the object can be controlled in various forms by performing additional control different from the normal object posture control.

なお、部位81aに相当する部分を囲むように操作体を動作させて検出してもよいし、部位81aに相当する部分を複数の指で囲むようにして、検出してもよい。 The detection may be performed by moving the operating object so as to surround the part corresponding to part 81a, or by surrounding the part corresponding to part 81a with multiple fingers.

本発明の第1実施形態では、通知部170は、音情報を用いて通知する例を示したが、これに限定されない。例えば、通知部170は、重畳部分を検出したときに、端末10を振動させて通知してもよい。または、重畳部分を検出したときに、端末10が光を発して通知してもよい。または、重畳部分を検出したときに、文字情報を用いて通知してもよい。または、重畳部分を検出したときに、重畳部分の色を変更することにより強調表示して通知してもよい。また、通知部170は、必ずしも用いなくてもよい。 In the first embodiment of the present invention, the notification unit 170 provides notification using sound information, but this is not limited to this example. For example, the notification unit 170 may provide notification by vibrating the terminal 10 when an overlapping portion is detected. Alternatively, the notification unit 170 may provide notification by causing the terminal 10 to emit light when an overlapping portion is detected. Alternatively, the notification unit 170 may provide notification using text information when an overlapping portion is detected. Alternatively, the notification unit 170 may provide notification by highlighting the overlapping portion by changing its color when an overlapping portion is detected. Also, the notification unit 170 does not necessarily have to be used.

なお、操作体の検出は、視差を用いる方法に限定されない。例えば、対象物の色または形状にもとづいて所定の条件を満たすものを操作体として検出してもよい。 The detection of the operating object is not limited to the method using parallax. For example, an object that satisfies a predetermined condition based on the color or shape of the object may be detected as the operating object.

また、所定の速度を超えて移動する対象物を操作体として検出してもよい。また、対象物が仮想空間に配置された場合の仮想空間の座標とオブジェクトとの仮想空間の座標によって導出される距離が所定の距離よりも小さくなった時に、その対象物を操作体として検出してもよい。 An object moving at a speed faster than a predetermined speed may be detected as the operating body. An object may also be detected as the operating body when the distance derived from the virtual space coordinates of the object when placed in the virtual space and the virtual space coordinates of the object becomes smaller than a predetermined distance.

本発明の第1実施形態では、撮像された画像と、仮想空間のオブジェクトとをマーカーベース位置合わせ法により位置合わせされ、重畳表示された例を示したが、これに限定されない。オブジェクトを含む仮想空間と、撮像画像との位置合わせの方法として、マーカーベース位置合わせ手法のほかに、特定のマーカーを用いない自然特徴ベース位置合わせ手法、モデルベース位置合わせ手法などのビジョンベース位置合わせ手法、センサを用いたセンサベース位置合わせ手法などを適宜用いてもよい。 In the first embodiment of the present invention, an example has been shown in which a captured image and an object in a virtual space are aligned using a marker-based alignment method and displayed in a superimposed manner, but this is not limiting. As a method for aligning a virtual space including an object with a captured image, in addition to the marker-based alignment method, a natural feature-based alignment method that does not use a specific marker, a vision-based alignment method such as a model-based alignment method, or a sensor-based alignment method that uses a sensor may also be used as appropriate.

また、本発明の第1実施形態では、拡張現実を用いてオブジェクトを表示する例を示したが、これに限定さない。本発明の一実施形態は、オブジェクトの座標が特定できれば、拡張現実以外にも混合現実(MR:Mixed Reality)などに適用することも可能である。 In the first embodiment of the present invention, an example of displaying an object using augmented reality is shown, but the present invention is not limited to this. One embodiment of the present invention can also be applied to mixed reality (MR) and other technologies in addition to augmented reality, as long as the coordinates of the object can be specified.

また、本発明の第1実施形態では、スマートフォンのような形態を有する平面状の端末の表示部に表示する例を示したが、これに限定されない。例えば、表示するための端末としてゴーグル型の端末を用いてもよい。また、このとき、撮像部17には、2眼方式のカメラ(ステレオカメラ)が用いられてもよい。これにより、表示される画像をより立体的に表示することができる。 In the first embodiment of the present invention, an example is shown in which the image is displayed on the display unit of a flat terminal having a form similar to that of a smartphone, but the present invention is not limited to this. For example, a goggle-type terminal may be used as the terminal for display. In this case, a two-lens camera (stereo camera) may be used for the imaging unit 17. This allows the displayed image to be displayed in a more three-dimensional manner.

1・・・オブジェクト姿勢制御システム,10・・・端末,11・・・表示部,12・・・制御部,13・・・記憶部,14・・・操作部,15・・・通信部,16・・・センサ部,17・・・撮像部,18・・・スピーカー部,20・・・サーバ,21・・・通信部,22・・・記憶部,23・・・制御部,24・・・表示部,50・・・ネットワーク,60・・・テーブル,70・・・シート,75・・・マーカー,80・・・オブジェクト,81・・・部位,82・・・ボーン,90・・・手,90a・・・先端部,90b・・・先端部,91・・・手,91a・・・先端部,100・・・オブジェクト姿勢制御部,110・・・撮像画像取得部,120・・・マーカー検出部,130・・・空間定義部,140・・・オブジェクト表示部,150・・・操作体検出部,160・・・重畳部分検出部,170・・・通知部,180・・・移動情報取得部,190・・・オブジェクト座標変更部,195・・・第2操作体検出部,200・・・第2重畳部分検出部 1...Object posture control system, 10...Terminal, 11...Display unit, 12...Control unit, 13...Memory unit, 14...Operation unit, 15...Communication unit, 16...Sensor unit, 17...Imaging unit, 18...Speaker unit, 20...Server, 21...Communication unit, 22...Memory unit, 23...Control unit, 24...Display unit, 50...Network, 60...Table, 70...Sheet, 75...Marker, 80...Object, 81...Part, 82...Bone , 90...hand, 90a...tip, 90b...tip, 91...hand, 91a...tip, 100...object posture control unit, 110...captured image acquisition unit, 120...marker detection unit, 130...space definition unit, 140...object display unit, 150...operation body detection unit, 160...overlapped portion detection unit, 170...notification unit, 180...movement information acquisition unit, 190...object coordinate change unit, 195...second operation body detection unit, 200...second overlapped portion detection unit

Claims (5)

情報処理装置に
複数の部位を有するオブジェクトを表す第1画像を撮像部で撮像された第2画像に重畳させて表示部に表示し、
前記オブジェクトと前記第2画像内の操作体との位置関係に基づいて、前記オブジェクトの複数の部位のうち少なくとも一部の被操作部位の位置情報を変化させて前記オブジェクトの姿勢を制御することを実行させるためのオブジェクト姿勢制御プログラム。
a display unit that displays a first image representing an object having a plurality of parts on a second image captured by an imaging unit;
An object posture control program for controlling the posture of the object by changing position information of at least a part of a plurality of parts of the object to be operated based on the positional relationship between the object and an operating body in the second image.
前記操作体の位置と前記被操作部位の位置とが少なくとも一部重なる場合に、ユーザに通知するための処理を実行する、
請求項1に記載のオブジェクト姿勢制御プログラム。
executes a process for notifying a user when a position of the operating object and a position of the operated portion at least partially overlap with each other;
2. The object attitude control program according to claim 1.
前記操作体の位置と前記被操作部位の位置とが少なくとも一部重なっている間の前記操作体の位置情報の変化に基づいて、前記被操作部位の位置を変化させる、
請求項1または2に記載のオブジェクト姿勢制御プログラム。
changing the position of the operated portion based on a change in position information of the operating body while the position of the operating body and the position of the operated portion at least partially overlap with each other;
3. The object attitude control program according to claim 1.
前記被操作部位の位置と前記被操作部位の位置とはそれぞれ前記オブジェクトが配置される空間の座標系における位置として規定される、
請求項2または3に記載のオブジェクト姿勢制御プログラム。
The position of the operated part and the position of the operated part are each defined as a position in a coordinate system of a space in which the object is placed.
4. The object attitude control program according to claim 2 or 3.
オブジェクトの姿勢を制御する情報処理装置であって、
複数の部位を有するオブジェクトを表す第1画像を撮像部で撮像された第2画像に重畳させて表示部に表示し、
前記オブジェクトと前記第2画像内の操作体との位置関係に基づいて、前記オブジェクトの複数の部位のうち少なくとも一部の被操作部位の位置情報を変化させて前記オブジェクトの姿勢を制御する、情報処理装置。
An information processing device for controlling an attitude of an object,
A first image representing an object having a plurality of parts is superimposed on a second image captured by the imaging unit and displayed on the display unit;
An information processing device that controls a posture of the object by changing position information of at least a part of an operated portion among a plurality of portions of the object based on a positional relationship between the object and an operating body in the second image.
JP2024078840A 2019-03-27 2024-05-14 Object attitude control program and information processing device Pending JP2024103514A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024078840A JP2024103514A (en) 2019-03-27 2024-05-14 Object attitude control program and information processing device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019061945A JP7299478B2 (en) 2019-03-27 2019-03-27 Object attitude control program and information processing device
JP2023093373A JP7495651B2 (en) 2019-03-27 2023-06-06 Object attitude control program and information processing device
JP2024078840A JP2024103514A (en) 2019-03-27 2024-05-14 Object attitude control program and information processing device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2023093373A Division JP7495651B2 (en) 2019-03-27 2023-06-06 Object attitude control program and information processing device

Publications (1)

Publication Number Publication Date
JP2024103514A true JP2024103514A (en) 2024-08-01

Family

ID=72639577

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2019061945A Active JP7299478B2 (en) 2019-03-27 2019-03-27 Object attitude control program and information processing device
JP2023093373A Active JP7495651B2 (en) 2019-03-27 2023-06-06 Object attitude control program and information processing device
JP2024078840A Pending JP2024103514A (en) 2019-03-27 2024-05-14 Object attitude control program and information processing device

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2019061945A Active JP7299478B2 (en) 2019-03-27 2019-03-27 Object attitude control program and information processing device
JP2023093373A Active JP7495651B2 (en) 2019-03-27 2023-06-06 Object attitude control program and information processing device

Country Status (1)

Country Link
JP (3) JP7299478B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7299478B2 (en) 2019-03-27 2023-06-28 株式会社Mixi Object attitude control program and information processing device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011203823A (en) 2010-03-24 2011-10-13 Sony Corp Image processing device, image processing method and program
JP2014071499A (en) 2012-09-27 2014-04-21 Kyocera Corp Display device and control method
WO2015004670A1 (en) 2013-07-10 2015-01-15 Real View Imaging Ltd. Three dimensional user interface
JP6220937B1 (en) 2016-08-26 2017-10-25 株式会社コロプラ Information processing method, program for causing computer to execute information processing method, and computer
WO2018038136A1 (en) 2016-08-24 2018-03-01 ナーブ株式会社 Image display device, image display method, and image display program
JP2019020836A (en) 2017-07-12 2019-02-07 株式会社コロプラ Information processing method, device, and program for causing computer to execute the method
JP7299478B2 (en) 2019-03-27 2023-06-28 株式会社Mixi Object attitude control program and information processing device

Also Published As

Publication number Publication date
JP2020161006A (en) 2020-10-01
JP2023111956A (en) 2023-08-10
JP7299478B2 (en) 2023-06-28
JP7495651B2 (en) 2024-06-05

Similar Documents

Publication Publication Date Title
US11262835B2 (en) Human-body-gesture-based region and volume selection for HMD
KR101844390B1 (en) Systems and techniques for user interface control
US20220100265A1 (en) Dynamic configuration of user interface layouts and inputs for extended reality systems
US20180164589A1 (en) Wearable device
US20140240225A1 (en) Method for touchless control of a device
US10372229B2 (en) Information processing system, information processing apparatus, control method, and program
US20140123077A1 (en) System and method for user interaction and control of electronic devices
WO2014188797A1 (en) Display control device, display control method, and recording medium
KR20140130675A (en) Image processing device, and computer program product
JP2024103514A (en) Object attitude control program and information processing device
US20180005424A1 (en) Display control method and device
JP6344530B2 (en) Input device, input method, and program
US20190384419A1 (en) Handheld controller, tracking method and system using the same
EP4195664A1 (en) Image processing method, mobile terminal, and storage medium
WO2020080107A1 (en) Information processing device, information processing method, and program
JP7553853B2 (en) Object attitude control program and object attitude control system
JP7511532B2 (en) Program, image processing method and image processing system
CN111913564B (en) Virtual content control method, device, system, terminal equipment and storage medium
CN111913639B (en) Virtual content interaction method, device, system, terminal equipment and storage medium
JP2022525326A (en) Methods to assist object control using 2D cameras, systems and non-transient computer-readable recording media
JP6999822B2 (en) Terminal device and control method of terminal device
CN111913562B (en) Virtual content display method and device, terminal equipment and storage medium
JP5456817B2 (en) Display control apparatus, display control method, information display system, and program
CN111913565A (en) Virtual content control method, device, system, terminal device and storage medium
JP6169462B2 (en) Information processing apparatus and information processing method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240604

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240604