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

Object attitude control program and information processing device Download PDF

Info

Publication number
JP7299478B2
JP7299478B2 JP2019061945A JP2019061945A JP7299478B2 JP 7299478 B2 JP7299478 B2 JP 7299478B2 JP 2019061945 A JP2019061945 A JP 2019061945A JP 2019061945 A JP2019061945 A JP 2019061945A JP 7299478 B2 JP7299478 B2 JP 7299478B2
Authority
JP
Japan
Prior art keywords
unit
operating body
attitude control
information
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.)
Active
Application number
JP2019061945A
Other languages
Japanese (ja)
Other versions
JP2020161006A (en
Inventor
一希 小林
Original Assignee
株式会社Mixi
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 filed Critical 株式会社Mixi
Priority to JP2019061945A priority Critical patent/JP7299478B2/en
Publication of JP2020161006A publication Critical patent/JP2020161006A/en
Priority to JP2023093373A priority patent/JP2023111956A/en
Application granted granted Critical
Publication of JP7299478B2 publication Critical patent/JP7299478B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

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

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

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

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

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

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

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

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

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

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

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

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

以下、本発明の実施の形態を、図面等を参照しながら説明する。但し、本発明は多くの異なる態様で実施することが可能であり、以下に例示する実施の形態の記載内容に限定して解釈されるものではない。図面は説明をより明確にするため、模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。また、各要素に対する「第1」、「第2」と付記された文字は、各要素を区別するために用いられる便宜的な標識であり、特段の説明がない限りそれ以上の意味を有さない。なお、本実施形態で参照する図面において、同一部分または同様な機能を有する部分には同一の符号または類似の符号(数字xxxにA,Bを付しただけの符号)を付し、その繰り返しの説明は省略する場合がある。また、構成の一部が図面から省略されたりする場合がある。その他、本発明の属する分野における通常に知識を有する者であれば認識できるものである場合、特段の説明を行わないものとする。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention can be implemented in many different aspects and should not be construed as being limited to the description of the embodiments exemplified below. Although the drawings may be represented schematically in order to make the description clearer, they are only examples and do not limit the interpretation of the present invention. In addition, the letters "first" and "second" for each element are labels for convenience used to distinguish each element, and unless otherwise specified, have more meaning. do not have. In the drawings referred to in this embodiment, the same parts or parts having similar functions are denoted by the same reference numerals or similar reference numerals (numerals xxx with A and B only), and the repetition thereof Description may be omitted. Also, part of the configuration may be omitted from the drawing. In addition, no particular description will be given if it is something that can be recognized by a person who has ordinary knowledge in the field to which the present invention belongs.

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

<第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 functional block diagram of an object attitude control system 1. As shown in FIG. As shown in FIG. 1, object attitude control system 1 includes terminal 10 and 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 one of computers and has a display section 11 , a control section 12 , a storage section 13 , an operation section 14 , a communication section 15 , a sensor section 16 , an imaging section 17 and a speaker section 18 . In this example, a smart phone is used as the terminal 10 . In addition, it is not limited to smartphones, and may be mobile phones (feature phones), tablet terminals, notebook PCs (Personal Computers), IoT devices (devices equipped with power supply mechanisms, communication functions, and information storage mechanisms), etc., and servers through networks. Any device that can communicate with 20 is applicable.

表示部11は、液晶ディスプレイまたは有機ELディスプレイなどの表示デバイスであって、制御部12から入力される信号により表示内容が制御される。 The display unit 11 is a display device such as a liquid crystal display or an organic EL display, and display contents are controlled by signals 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 CPU (Central Processing Unit), ASIC (Application Specific Integrated Circuit), FPGA (Flexible Programmable Gate Array), or other arithmetic processing circuit. The control unit 12 causes the application including the object posture control program stored in the storage unit 13 to be executed based on the operations of the display unit 11 and the operation unit 14 .

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

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

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

センサ部16は、マーカー、操作体、オブジェクトなどの位置情報を検出する機能を有する。センサ部16には、位置センサ、距離センサ、変位センサを含む。 The sensor unit 16 has a function of detecting position information of markers, operating tools, objects, and the like. The sensor section 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 environment image, and captures an object provided with a marker portion for displaying the object. For example, a CMOS image sensor is used for the imaging unit 17 .

スピーカー部18は、検出された情報をもとに外部に音情報を出力する音情報を出力する機能を有する。 The speaker unit 18 has a 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 section 21 , a storage section 22 , a control section 23 and a display section 24 . Server 20 functions as a database and application server. Note that the server 20 does not necessarily have to be used when the terminal 10 is preloaded with all the information related to the object attitude control program.

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

記憶部22は、ハードディスク、およびSSDを用いることで、オブジェクト姿勢制御用プログラムで用いられる情報のデータベースとしての機能を有する。 The storage unit 22 has a function 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 processing of the object attitude control program using a CPU, ASIC, FPGA, or other arithmetic processing circuit. Also, in some cases, a user interface for executing the object attitude control program is provided to the display section 24 by a command from the control section 23 .

(1-2.オブジェクト姿勢制御部100の構成)
図2は、オブジェクト姿勢制御システム1における端末10の各構成要素およびサーバ20の各構成要素によって構成され、オブジェクト姿勢制御機能を実現させるプログラム(オブジェクト姿勢制御プログラム)を制御するオブジェクト姿勢制御部100の機能ブロック図を示す。この例では、オブジェクト姿勢制御プログラムが端末10に設けられている例を説明する。
(1-2. Configuration of Object Posture Control Unit 100)
FIG. 2 shows an object attitude control section 100 which is configured by each component of the terminal 10 and each component of the server 20 in the object attitude control system 1 and which controls a program (object attitude control program) for realizing the object attitude control function. 1 shows a functional block diagram. In this example, an example in which an object attitude 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 changer 190 .

撮像画像取得部110は、撮像部17において撮像された実空間の環境画像を取得する機能を有する。 The captured image acquisition unit 110 has a 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, marker information is stored in the storage unit 13 in advance. It should be noted that the information of the marker does not necessarily have to be stored in the storage unit 13, and a feature point that can be the marker may be extracted from the captured image.

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

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

操作体検出部150は、撮像された画像に含まれる対象物から操作体を検出し、操作体として設定する機能を有する。重畳部分検出部160は、操作体と、オブジェクトが有する複数の部位のうち一部の部位とが重畳することを検出し、当該部位を被操作部位として設定する機能を有する。 The operating body detection unit 150 has a function of detecting an operating body from an object 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 a plurality of parts of the object, and setting the part as an operated part.

通知部170は、操作体と被操作部位とが重畳していることをユーザに通知する機能を有する。なお、操作体と被操作部位とが重畳しているとは、例えば、操作体と被操作部位が配置される空間(仮想的空間を含む)または表示部11の表示領域において、操作体との被操作部位との少なくとも一部に位置座標の重なりがあることをいう。この例では、端末10のスピーカー部18から発せられる音情報を介して通知する。 The notification unit 170 has a function of notifying the user that the operating body and the operated part overlap. It should be noted that the fact that the operating body and the operated part overlap means, for example, that the operating body and the operated part overlap in a space (including a virtual space) where the operating body and the operated part are arranged or in the display area of the display unit 11. It means that position coordinates overlap at least partly with the operated part. In this example, notification is given 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 set coordinates of the operating body before and after movement.

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

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

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

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

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

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

図4に戻って説明する。次に、マーカー検出部120は、マーカー検出処理を行う(S120)。この例では、オブジェクト姿勢制御プログラムには、あらかじめ4つのマーカーの情報が登録されている。マーカーの情報は、マーカーの形態および配置に関するものである。4つのマーカーが検出されないとき(S120;No)、撮像画像の取得・表示処理(S110)に戻る。 Returning to FIG. 4, description will be made. Next, the marker detection unit 120 performs marker detection processing (S120). In this example, information on four markers is registered in advance in the object attitude control program. Marker information relates to marker morphology and placement. When the four markers are not detected (S120; No), the process returns to the captured image acquisition/display process (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, when four markers are detected (S120; Yes), the space definition unit 130 aligns the coordinates of the real space and the virtual space (space definition) using the marker-based alignment method. (S130). At this time, the space definition unit 130 collates the real space marker 75 displayed on the display unit 11 with the virtual space marker stored in the object attitude control program, and converts the virtual space coordinates to the real space. The coordinates are adjusted so that they can be displayed on the display unit 11 . For example, the position coordinates of the marker 75-1 are such that the position coordinates in the real space are (X r75-1 , Y r75-1 , Z r75-1 ), and the position coordinates in the display unit 11 are (X d75-1 , Y d75- 1 ), the position coordinates in the virtual space are defined as (X v75-1 , Y v75-1 , Z v75-1 ).

次に、空間定義部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 the origin set based on the coordinates of the four markers. By acquiring the information on the display section 11 of the marker 75 through the above processing, 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 superimposes and displays the captured image (second image) and the image of the object (also referred to as the first image) (S150). FIG. 7 shows a user interface of objects displayed on the display unit 11 of the terminal 10. As shown in FIG. In FIG. 7, an object 80 in virtual space placed on a sheet 70 is displayed together with a user's hand 90 . In this example, an 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 site 81 (site 81a) is connected to the adjacent site 81 (site 81b) via a bone 82 (bone 82a). That is, it can be said that the part 81a and the part 81b are interlocking parts. Note that the sheet 70 does not have to be displayed when the object 80 is displayed.

次に、重畳表示処理を終了するかどうかの判定処理がなされる(S160)。当該判定処理は、ユーザからの入力される情報をもとになされてもよいし、所定の条件を満たすか否かによりなされてもよい。例えば、撮像された画像において、移動する対象物がある場合には、重畳表示処理を終了しないと判定し(S160;No)、再度撮像画像の取得処理(S110)に戻り、重畳表示処理S100が繰り返される。一方、重畳表示処理を終了すると判定した場合(S160;Yes)、重畳表示処理S100は終了となる。 Next, it is determined whether or not to end the superimposed display process (S160). The determination processing 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 is not to end (S160; No), the process returns to the captured image acquisition process (S110) again, and the superimposed display process S100 ends. Repeated. On the other hand, if it is determined to end the superimposed display process (S160; Yes), the superimposed display process S100 ends.

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

まず、操作体検出部150は、操作体の検出処理を行う(S210)。当該検出処理は、撮像された撮像において生じる視差に基づいて判定される。 First, the operating object detection unit 150 performs an operating object detection process (S210). The 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 changes in the position of the object (parallax) in a plurality of images captured by the imaging unit 17 . Next, an object whose distance from the terminal 10 to the object is smaller 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 smaller than the distance from the terminal 10 to the table 60, the user's hand 90 is detected as the operating body (S210; Yes) and set. (S220). At this time, the portion of the user's hand 90 that is closest to the sheet 70 (more specifically, the tip portion 90a of the index finger) may be defined as the operating body. When the operating object is not detected (S210; No), the above processing is performed in a loop.

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

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

まず、人差し指の先端部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. For the coordinates of the tip 90a of the index finger, the center of the area surrounded by the four markers 75 arranged on the sheet 70 is set as the origin, and relative coordinates are used with the origin as a reference. At this time, the coordinates of the tip 90a of the index finger in the real space are ( Xr_90a , Yr_90a , Zr_90a ) . Based on the coordinates in the real space, the coordinates (Xv_90a, Yv_90a, Zv_90a ) when the tip 90a of the index finger is placed in the virtual space are calculated.

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

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

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

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

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

次に、取得された操作体の移動量をもとに、オブジェクト座標変更部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 changing unit 190 changes and records the coordinates of the operated part (part 81a), which is the movement target part of the object 80 (S320). . FIG. 11B shows the data structure of the initial values (before movement), the coordinates in the virtual space of the operated part (part 81a) of the object after time t1, and the coordinates in the display unit 11. FIG. As shown in FIG. 11B, the coordinate information of the operated part (part 81a) of the object 80 in the virtual space and the position of the object 80 on the display unit 11 are displayed based on the amount of movement of the operating body (tip part 90a of the index finger). The coordinate information of the operated part (part 81a) is changed, 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, description will be made. 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 movement (after time t1) in the superimposed display processing S100. FIG. 12 shows a user interface displaying an object 80 in which the position of the operated part is changed on the display unit 11 . As shown in FIG. 12, the operated part (part 81a) moves from the position displayed in FIG. 7 with reference to a different part (part 81b, corresponding to the elbow joint). In other words, it is possible to move some of the multiple parts of the object based on the information about the movement of the operating body. 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 acquired 60 times per second, so the change in the posture of the object is displayed smoothly. When the movement of the terminal 10 ends (S330; No), the second object orientation detection processing S300 ends.

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

<第2実施形態>
本実施形態では、第1実施形態と異なるオブジェクトの姿勢制御処理について説明する。具体的には、複数の部位が一つの端末の移動に基づいて移動する例について説明する。なお、第1と同様の構成および方法については、適宜省略する場合がある。
<Second embodiment>
In the present embodiment, posture control processing for an object that is different from that in the first embodiment will be described. Specifically, an example in which a plurality of parts move based on the movement of one terminal will be described. Note that the same configuration and method as in the first case 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 the object attitude control section 100A in the object attitude control system 1A. As shown in FIG. 22, the object posture control section 100A includes a captured image acquisition section 110, a marker detection section 120, a space definition section 130, an object display section 140, an operating body detection section 150, an overlapping portion detection section 160, and a notification section 170. , a movement information acquisition unit 180 and an object coordinate change unit 190, as well as a second operating body detection unit 195 and a second overlapping part detection unit 200.

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

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

追加で設定すると判定された場合(S255;Yes)、第2操作体検出部195は、第2操作体となる対象物を検出する(S260)。この例では、ユーザの左手91が第2操作体として検出される。検出方法は、本発明の第1実施形態に記載した方法と同様の方法を用いることができる。このとき、ユーザの左手91のうちシート70に最も近い部分(より具体的には左手の人差し指の先端部91a)を操作体として設定してもよい(S265)。 If it is determined to additionally set (S255; Yes), the second operating body detection unit 195 detects an object that will be the second operating body (S260). In this example, the user's left hand 91 is detected as the second operating body. As a detection method, a method similar to the method described in the first embodiment of the present invention can be used. At this time, the portion of the left hand 91 of the user that is closest to the sheet 70 (more specifically, the tip portion 91a of the index finger of the left hand) may be set as the operating object (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 section 200 detects an overlapping portion (second overlapping portion) between the second operating body and a part of the object 80 (S270). A method similar to the overlapping portion detection method of the first embodiment of the present invention is used for the detection method of the second overlapping portion. When it is determined that the second operating body overlaps the part 81c of the object 80 (S270; Yes). At this time, the part 81c of the object is set as the second operated part (S280). When the second overlapping portion is not detected (S270; No), the second overlapping portion detection process is looped.

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

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

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

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

(変形例)
本発明の第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 of using the X, Y, and Z coordinates in the movement information of the operating body has been described, but the present invention is not limited to this. For example, the angle θ may be used in addition to the X, Y, and Z coordinates. In this case, any of the X, Y, and Z coordinates may not be used. The information of the operated portion (part 81a) of the object 80 in the virtual space and the position coordinates of the operated portion (part 81a) of the object 80 in the display section 11 are changed in accordance with the movement of the operating body, and the position coordinates after the change are changed. is stored (the coordinate information is rewritten). This makes it possible to control the orientation of the object, particularly the orientation of the twist.

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

また、本発明の第1実施形態では、主に人差し指の先端部90aがオブジェクトの一部の部位(部位81a)と重畳する例を示したが、これに限定されない。重畳部分検出部160は、複数の重畳部分を有する場合に、重畳したと検出してもよい。例えば、2点以上で重畳した場合、ユーザの指はオブジェクトをつまむ形状を有することができ、より自然にオブジェクトの姿勢を制御することができる。 Also, in the first embodiment of the present invention, an example in which the tip portion 90a of the index finger mainly overlaps a part of the object (the portion 81a) has been described, but the present invention is not limited to this. The overlapping portion detection section 160 may detect that there is overlap when there are a plurality of overlapping portions. For example, when two or more points are overlapped, the user's fingers can have a shape of pinching 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)が伸長する。このように、通常のオブジェクトの姿勢制御とは異なる付加的な制御を行うことによりオブジェクトの姿勢を多様な形態で制御することができる。 Also, when it is determined that multiple parts overlap, additional control different from the normal attitude control of the object may be provided. FIG. 18 is an example of a user interface when it is determined that multiple parts overlap and the operating body moves. As shown in FIG. 18, in this example, the tip 90a of the index finger and the tip 90b of the thumb overlap the object portion 81(a). At this time, according to 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 preset conditions, and the bone 82 (82a) extends. In this way, the posture of the object can be controlled in various forms by performing additional control different from normal posture control of the object.

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

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

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

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

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

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

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

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重畳部分検出部 DESCRIPTION OF SYMBOLS 1... Object attitude control system, 10... Terminal, 11... Display part, 12... Control part, 13... Storage part, 14... Operation part, 15... Communication part, 16... sensor section, 17... imaging section, 18... speaker section, 20... server, 21... communication section, 22... storage section, 23... control section, 24... Display section 50 Network 60 Table 70 Sheet 75 Marker 80 Object 81 Site 82 Bone 90 Hand 90a... Tip part 90b... Tip part 91... Hand 91a... Tip part 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 Overlapping part detection unit 170 Notification unit 180 Movement information acquisition unit 190 Object coordinate change unit 195 Second operating body detection unit 200 Second superimposed part detection unit

Claims (6)

情報処理装置の制御部
複数の部位を有するオブジェクトを表す第1画像を撮像部で撮像された第2画像に重畳させて表示部に表示し、
前記第2画像に撮像された実空間に存在する第1対象物および第2対象物のうち前記撮像部との距離が小さい前記第2対象物を操作体として設定し、
前記オブジェクトと前記第2画像内の前記操作体との位置関係に基づいて、前記オブジェクトの複数の部位のうち少なくとも一部の被操作部位の位置情報を変化させて前記オブジェクトの姿勢を制御することを実行させるためのオブジェクト姿勢制御プログラム。
displaying on a display unit a first image representing an object having a plurality of parts superimposed on a second image captured by the imaging unit, in a control unit of the information processing device;
setting the second object, which has a short distance from the imaging unit, as an operating body, out of the first object and the second object existing in the real space imaged in the second image;
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 the operating body in the second image. Object attitude control program for executing
前記撮像部と、前記第1対象物または前記第2対象物との距離は、撮像において生じる視差に基づいて算出される、
請求項1に記載のオブジェクト姿勢制御プログラム
The distance between the imaging unit and the first object or the second object is calculated based on parallax that occurs during imaging.
Object attitude control program according to claim 1.
前記操作体の位置と前記被操作部位の位置とが少なくとも一部重なる場合に、ユーザに通知するための処理を実行する、
請求項1または2に記載のオブジェクト姿勢制御プログラム。
executing a process for notifying a user when the position of the operating body and the position of the operated part at least partially overlap;
3. The object attitude control program according to claim 1 or 2 .
前記操作体の位置と前記被操作部位の位置とが少なくとも一部重なっている間の前記操作体の位置情報の変化に基づいて、前記被操作部位の位置を変化させる、
請求項1乃至3のいずれか一項に記載のオブジェクト姿勢制御プログラム。
changing the position of the operated part 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;
4. The object attitude control program according to any one of claims 1 to 3.
前記操作体の位置と前記被操作部位の位置とはそれぞれ前記オブジェクトが配置される空間の座標系における位置として規定される、
請求項3または4に記載のオブジェクト姿勢制御プログラム。
The position of the operating body and the position of the operated part are each defined as a position in a coordinate system of the space in which the object is arranged,
5. The object attitude control program according to claim 3 or 4.
オブジェクトの姿勢を制御する情報処理装置であって、
複数の部位を有するオブジェクトを表す第1画像を撮像部で撮像された第2画像に重畳させて表示部に表示し、
前記第2画像に撮像された実空間に存在する第1対象物および第2対象物のうち前記撮像部との距離が小さい前記第2対象物を操作体として設定し、
前記オブジェクトと前記第2画像内の前記操作体との位置関係に基づいて、前記オブジェクトの複数の部位のうち少なくとも一部の被操作部位の位置情報を変化させて前記オブジェクトの姿勢を制御する制御部を備える、情報処理装置。
An information processing device for controlling the posture of an object,
displaying on a display unit a first image representing an object having a plurality of parts superimposed on a second image captured by the imaging unit;
setting the second object, which has a short distance from the imaging unit, as an operating body, out of the first object and the second object existing in the real space imaged in the second image;
Control 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 the operating body in the second image. An information processing device comprising :
JP2019061945A 2019-03-27 2019-03-27 Object attitude control program and information processing device Active JP7299478B2 (en)

Priority Applications (2)

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 JP2023111956A (en) 2019-03-27 2023-06-06 Object posture control program and information processing device

Applications Claiming Priority (1)

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

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2020161006A JP2020161006A (en) 2020-10-01
JP7299478B2 true JP7299478B2 (en) 2023-06-28

Family

ID=72639577

Family Applications (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 Pending JP2023111956A (en) 2019-03-27 2023-06-06 Object posture control program and information processing device

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023093373A Pending JP2023111956A (en) 2019-03-27 2023-06-06 Object posture control program and information processing device

Country Status (1)

Country Link
JP (2) JP7299478B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014071499A (en) 2012-09-27 2014-04-21 Kyocera Corp Display device and control method
JP2016524262A (en) 2013-07-10 2016-08-12 リアル ビュー イメージング リミテッド 3D user interface
JP2018029907A (en) 2016-08-26 2018-03-01 株式会社コロプラ Information processing method, program for allowing computer to execute the information processing method, and computer
JP2019020836A (en) 2017-07-12 2019-02-07 株式会社コロプラ Information processing method, device, and program for causing computer to execute the method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014071499A (en) 2012-09-27 2014-04-21 Kyocera Corp Display device and control method
JP2016524262A (en) 2013-07-10 2016-08-12 リアル ビュー イメージング リミテッド 3D user interface
JP2018029907A (en) 2016-08-26 2018-03-01 株式会社コロプラ Information processing method, program for allowing computer to execute the information processing method, and computer
JP2019020836A (en) 2017-07-12 2019-02-07 株式会社コロプラ Information processing method, device, and program for causing computer to execute the method

Also Published As

Publication number Publication date
JP2020161006A (en) 2020-10-01
JP2023111956A (en) 2023-08-10

Similar Documents

Publication Publication Date Title
CN110476168B (en) Method and system for hand tracking
US20220326781A1 (en) Bimanual interactions between mapped hand regions for controlling virtual and graphical elements
JP6288372B2 (en) Interface control system, interface control device, interface control method, and program
US10055064B2 (en) Controlling multiple devices with a wearable input device
KR102441328B1 (en) Method for displaying an image and an electronic device thereof
TWI446175B (en) Communication control device, communication control method, and related congater-readable medium
US20140071044A1 (en) Device and method for user interfacing, and terminal using the same
US10140002B2 (en) Information processing apparatus, information processing method, and program
KR102147430B1 (en) virtual multi-touch interaction apparatus and method
CN113892074A (en) Arm gaze driven user interface element gating for artificial reality systems
US9753539B2 (en) Method, device, system and non-transitory computer-readable recording medium for providing user interface
EP3131064B1 (en) Searching image content
JP7078234B2 (en) How to create a 3D object to be placed in augmented reality space
CN116194867A (en) Dynamic configuration of user interface layout and inputs for an augmented reality system
KR20190059726A (en) Method for processing interaction between object and user of virtual reality environment
US11029753B2 (en) Human computer interaction system and human computer interaction method
JPWO2020080107A1 (en) Information processing equipment, information processing methods, and programs
JP2023099603A (en) Object posture control program and object posture control system
JP2010205031A (en) Method, system and program for specifying input position
JP7299478B2 (en) Object attitude control program and information processing device
JP6473048B2 (en) Mobile device operation terminal, mobile device operation method, and mobile device operation program
JP2010086367A (en) Positional information inputting device, positional information inputting method, program, information processing system, and electronic equipment
CN111565898A (en) Operation guidance system
JP6999822B2 (en) Terminal device and control method of terminal device
CN111913565B (en) Virtual content control method, device, system, terminal device and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230126

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: 20230516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230529

R150 Certificate of patent or registration of utility model

Ref document number: 7299478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150