WO2022019090A1 - 情報処理装置、情報処理方法、及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法、及び情報処理プログラム Download PDF

Info

Publication number
WO2022019090A1
WO2022019090A1 PCT/JP2021/025121 JP2021025121W WO2022019090A1 WO 2022019090 A1 WO2022019090 A1 WO 2022019090A1 JP 2021025121 W JP2021025121 W JP 2021025121W WO 2022019090 A1 WO2022019090 A1 WO 2022019090A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
hand
superimposed
information processing
control unit
Prior art date
Application number
PCT/JP2021/025121
Other languages
English (en)
French (fr)
Inventor
真一 河野
毅 石川
淳 木村
郁男 山野
京二郎 永野
Original Assignee
ソニーグループ株式会社
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 ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to CN202180049860.2A priority Critical patent/CN115917479A/zh
Priority to US18/009,164 priority patent/US20230222742A1/en
Publication of WO2022019090A1 publication Critical patent/WO2022019090A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Definitions

  • This disclosure relates to an information processing device, an information processing method, and an information processing program.
  • AR technology is a technology that expands the real space as seen by the user by displaying a virtual object (hereinafter referred to as "virtual object") superimposed on an object existing in the real space.
  • virtual object a virtual object
  • Patent Document 1 proposes a technique for superimposing and displaying a virtual object according to the shape of an object existing in a real space.
  • the information processing apparatus of one form according to the present disclosure includes a display unit and a control unit.
  • the display unit displays a virtual operation object so as to be superimposed on the real space visually recognized by the user.
  • the control unit determines the superposed object on which the operation object is superimposed from a plurality of objects that actually exist around the user in the real space, detects the movement of the user's hand while the operation object is displayed, and detects the movement of the user's hand.
  • the object to be operated is moved so as to approach the object to be superimposed and presented to the user.
  • AR glass which is one of the wearable devices worn on the user's head, is used.
  • the AR glass of the present disclosure has a display unit and a control unit as a part of feasible functions.
  • the display unit displays a virtual operation object (hereinafter referred to as "operation virtual object") so as to be superimposed on the real space visually recognized by the user.
  • operation virtual object a virtual operation object
  • the control unit determines the object to be superimposed from multiple objects that actually exist around the user in the real space, detects the movement of the user's hand while the operation virtual object is displayed, and detects the movement of the user's hand. In conjunction with the detected movement of the user's hand, the operation virtual object is moved and presented to the user so as to approach the object to be superimposed.
  • the AR glass of the present disclosure is presented to the user while moving the operation virtual object so as to approach the object to be superimposed in conjunction with the movement of the user's hand. As a result, usability when operating the operation virtual object can be improved.
  • FIG. 1 is a diagram showing a configuration example of an AR glass system according to an embodiment of the present disclosure.
  • the AR glass system 1A has a hand sensor 20 and an AR glass 30.
  • the hand sensor 20 is attached to the user's hand.
  • the hand sensor 20 can detect the posture, position and movement of the user's hand.
  • the AR glass 30 is a glasses-type wearable device worn on the user's head.
  • the AR glass 30 can display an operation virtual object superimposed on a real space (hereinafter, appropriately referred to as "real space").
  • the hand sensor 20 is communicably connected to the AR glass 30 through a communication means for performing wireless communication or wired communication.
  • the hand sensor 20 transmits the detection result (information) of the posture, position, and movement of the user wearing the hand sensor 20 to the AR glass 30.
  • the AR glass 30 can transmit a control command or the like to the hand sensor 20 through the communication means with the hand sensor 20. Further, the AR glass 30 executes various processes based on the detection result (information) of the posture, position and movement of the hand received from the hand sensor 20.
  • FIG. 2 is a schematic view schematically showing the appearance of the AR glass according to the embodiment of the present disclosure.
  • the AR glass 30 is a glasses-type or goggle-type device worn on the head of the user Px.
  • the AR glass 30 can realize the superimposition display of digital information on the visual field of both eyes or one eye of the user Px, as well as the enhancement, attenuation, or deletion of the image of a specific real object.
  • the display unit 331 included in the AR glass 30 includes a first display unit 331R for the right eye and a second display unit 331L for the left eye.
  • the first display unit 331R is provided so as to be located in front of the right eye of the user Px when the user Px wears the AR glass 30.
  • the second display unit 331L for the left eye is provided so as to be located in front of the left eye of the user Px when the user Px wears the AR glass 30.
  • the display unit 331 is transparent or translucent. The user Px can visually recognize the scenery in the real space through the display unit 331.
  • the first display unit 331R and the second display unit 331L of the display unit 331 are independently displayed and driven, and the operation target can be displayed three-dimensionally.
  • a microphone 315 for acquiring the voice of the user Px or the like is provided on the first display unit 331R side of the frame surrounding the display unit 331 of the AR glass 30.
  • the AR glass 30 can operate according to the voice input of the user Px.
  • a camera 311 that captures the surroundings of the user Px is provided on the second display unit 331L side of the frame surrounding the display unit 331 of the AR glass 30, a camera 311 that captures the surroundings of the user Px is provided.
  • the AR glass 30 can analyze the image acquired by the camera 311 to identify an actual object around the user Px and estimate the position.
  • FIG. 3 is a block diagram showing a functional configuration example of the hand sensor according to the embodiment of the present disclosure.
  • the hand sensor 20 includes an acceleration sensor 210, a gyro sensor 220, an azimuth sensor 230, and a distance measuring sensor 240.
  • the acceleration sensor 210 detects the acceleration acting on the hand sensor 20.
  • the gyro sensor 220 detects, for example, the rotational angular velocity (attitude) of the hand sensor 20 on the vertical axis (yaw axis), the left-right axis (pitch axis), and the front-rear axis (roll axis).
  • the gyro sensor 220 may be composed of either a 3-axis or a 9-axis.
  • the direction sensor 230 detects the direction in which the hand sensor 20 faces.
  • the azimuth sensor 230 can be realized by, for example, a geomagnetic sensor.
  • the acceleration sensor 210, the gyro sensor 220, and the azimuth sensor 230 may be configured by an IMU (Inertial Measurement Unit).
  • IMU Inertial Measurement Unit
  • the distance measuring sensor 240 detects the distance between the hand sensor 20 and an object existing in the real space.
  • the distance measuring sensor 240 can be realized by, for example, a ToF (Time of Flight) sensor.
  • the hand sensor 20 transmits to the AR glass 30 information on the detection result (information) of the posture, position and movement of the user Px's hand detected by each sensor, and information on the distance between the hand sensor 20 and the object.
  • FIG. 4 is a block diagram showing a functional configuration example of the AR glass according to the embodiment of the present disclosure.
  • the AR glass 30 has a sensor unit 310, a communication unit 320, an output unit 330, a storage unit 340, and a control unit 350.
  • the sensor unit 310 includes a camera 311, an acceleration sensor 312, a gyro sensor 313, an orientation sensor 314, and a microphone 315.
  • the camera 311 captures the line-of-sight direction of the user Px who wears the AR glass 30.
  • the camera 311 is provided at a position where the line-of-sight direction of the user Px can be imaged.
  • the camera 311 can acquire an image of an actual object around the AR glass 30.
  • the image acquired by the camera 311 may include the hand of the user Px.
  • the camera 311 can be realized by, for example, an RGB camera capable of outputting captured images in each color of R (red), G (green), and B (blue).
  • the camera 311 may be provided with a ToF camera capable of acquiring the distance to the target based on the time difference between the timing of light emission and the timing of light reception.
  • the acceleration sensor 312 detects the acceleration acting on the AR glass 30.
  • the gyro sensor 313 detects, for example, the rotational angular velocity (attitude) of the AR glass 30 on the vertical axis (yaw axis), the left-right axis (pitch axis), and the front-rear axis (roll axis).
  • the directional sensor 314 detects the directional direction of the AR glass 30. That is, the direction detected by the azimuth sensor 314 corresponds to the direction (line-of-sight direction) of the user Px who wears the AR glass 30.
  • the microphone 315 collects the voice emitted by the user wearing the AR glass 30 and the environmental sound brought from the sound source around the user.
  • the microphone 315 may be composed of, for example, a single sound collecting element or a plurality of sound collecting elements.
  • the communication unit 320 communicates with the hand sensor 20 by wireless communication or wired communication.
  • the communication unit 320 communicates with the hand sensor 20 by using, for example, wireless communication by Bluetooth (registered trademark).
  • the communication method in which the communication unit 320 communicates with the hand sensor 20 is not limited to Bluetooth (registered trademark).
  • the communication unit 320 can communicate with an external device via a network such as the Internet.
  • the output unit 330 has a display unit 331 and an acoustic output unit 332.
  • the display unit 331 has a first display unit 331R for the right eye and a second display unit 331L for the left eye.
  • the display unit 331 includes a transmissive display located in front of the user Px wearing the AR glass 30.
  • the display unit 331 superimposes the operation virtual object on the real space and displays it, so that the real space seen by the user wearing the AR glass 30 is expanded.
  • the display unit 331 performs display control according to the display control signal from the control unit 350.
  • the sound output unit 332 outputs the sound related to the operation target displayed on the display unit 331.
  • the sound output unit 332 is composed of a speaker or an earphone provided at a position where the user Px wearing the AR glass 30 can hear the output sound.
  • the sound output unit 332 converts the sound signal supplied from the control unit 350 into sound as air vibration and outputs it. Further, the sound output by the sound output unit 332 is not limited to the sound related to the operation target object, and can output the sound by the sound signal corresponding to various contents and applications.
  • the storage unit 340 stores programs, data, and the like for realizing various processing functions executed by the control unit 350.
  • the storage unit 340 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk.
  • the program stored in the storage unit 340 includes a program for realizing a processing function corresponding to each unit of the control unit 350.
  • the program stored in the storage unit 340 includes an application program such as an OS (Operating System) and an AR application program.
  • the AR application program (hereinafter referred to as "AR program") is an application program that provides various functions for displaying an operation virtual object so as to be superimposed on a real space visually recognized by a user.
  • the storage unit 340 has a grip determination information storage unit 341 and a superposition determination information storage unit 342.
  • the grip determination information storage unit 341 stores grip determination information regarding the determination result of whether or not the recognized object can be gripped by the grippability determination unit 353, which will be described later.
  • FIG. 5 is a diagram showing an outline of grip determination information according to the embodiment of the present disclosure.
  • the grip determination information includes items such as "detected object ID”, “recognition name”, “position”, “grasping determination result”, and "registered marker”. These items are associated with each other.
  • the item of "detected object ID” stores the identification information uniquely given to the object detected from the camera image. This identification information is acquired by the camera image recognition process by the object recognition unit 351 described later.
  • the item of "recognition name” stores the recognition result of the object given to the object detected from the camera image. This recognition result is acquired by the recognition process of the camera image by the object recognition unit 351 described later.
  • the "position” item stores information on the three-dimensional position of the object detected from the camera image. This three-dimensional position information is acquired by the position estimation process by the position estimation unit 352, which will be described later.
  • the item of "grip determination result” stores the determination result of whether or not the recognized object can be grasped by the grippability determination unit 353, which will be described later.
  • the item of "registered marker” stores an AR marker (an example of marker information) given to a perceptible object determined to be grippable by the grippability determination unit 353.
  • the superimposition determination information storage unit 342 stores superimposition determination information related to the superimposition target object determination process by the superimposition target object determination unit 355, which will be described later.
  • FIG. 6 is a diagram showing an outline of superimposition determination information according to the embodiment of the present disclosure.
  • the superimposition judgment information includes items such as “detection object ID”, “grasping judgment result”, “distance (cm)", “distance score”, “inner product”, “inner product score”, and “total score”. To prepare for. These items are associated with each other.
  • the item of "detected object ID” stores the identification information uniquely given to the object detected from the camera image, similarly to the item of "detected object ID” shown in FIG. 5 described above.
  • the item of "grip determination result” stores the determination result of whether or not the recognized object can be grasped by the grippability determination unit 353, which will be described later, in the same manner as the item of "grip determination result” shown in FIG.
  • the item of "distance (cm)" acquires the distance information to the detected object from the camera image. This identification information is acquired by the camera image recognition process by the object recognition unit 351 described later. Any unit can be used as the unit for storing the distance information.
  • the item of "distance score” stores the score determined according to the distance stored in the item of "distance information" described above. For example, the smaller the distance to the object, the higher the score is stored.
  • the “inner product” item stores the inner product value calculated based on the positional relationship between the user Px's hand and the object detected from the camera image.
  • the item of “inner product score” stores the score determined according to the inner product value stored in the item of "inner product” described above. For example, the larger the calculated inner product value, the higher the score is stored.
  • the item of “total score” stores the sum of the above-mentioned “distance score” and "inner product score”.
  • the total score of the flat box to which "ID_4" is given is the highest among all the objects detected from the camera image.
  • the control unit 350 is, for example, a controller. As for various functions provided by the control unit 350, for example, a program stored inside the AR glass 30 (for example, an information processing program according to the present disclosure) is executed by a processor or the like with the main storage device or the like as a work area. Is realized by.
  • the processor can be realized by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a SoC (System-on-a-Chip), or the like. Further, various functions provided by the control unit 350 may be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the control unit 350 includes an object recognition unit 351, a position estimation unit 352, a grippability determination unit 353, an operation start action determination unit 354, a superposition target object determination unit 355, and an operation virtual object. It has a layout determination unit 356, a movement start position determination unit 357, an application execution unit 358, and an output control unit 359.
  • the control unit 350 realizes or executes the operation and function of the AR glass 30 described later by each of these units.
  • Each block constituting the control unit 350 may be a software block or a hardware block.
  • each of the above blocks may be one software module realized by software (including a microprogram) or one circuit block on a semiconductor chip (die).
  • each block may be one processor or one integrated circuit.
  • the method of configuring the functional block is arbitrary.
  • the control unit 350 may be configured by a functional unit different from the functional unit shown by each block in FIG.
  • the grippability determination executed in the AR glass 30 is realized by the object recognition unit 351, the position estimation unit 352, and the grippability determination unit 353.
  • the object recognition unit 351 executes the object recognition process of the camera image acquired from the camera 311.
  • the object recognition unit 351 can execute the object recognition process by any method.
  • the object recognition unit 351 imparts identification information unique to the perceptible object to the perceptible object detected from the camera image.
  • the object recognition unit 351 gives an object recognition result to the recognized object detected from the camera image.
  • the object recognition unit 351 registers the identification information in the item of "detection object ID" of the grip determination information storage unit 341, and registers the recognition result in the item of "recognition name" of the grip determination information storage unit 341.
  • the position estimation unit 352 estimates the three-dimensional position of the object detected from the camera image.
  • the position estimation unit 352 estimates the position of the perceptible object based on the RGB image and the distance image acquired from the camera 311.
  • the position estimation unit 352 records the position information in association with the corresponding detected object ID.
  • the grippability determination unit 353 determines whether or not the recognized object can be gripped by executing tracking of the position of the recognized object (position tracking).
  • the grippability determination unit 353 executes object recognition and position estimation of the camera image each time the AR glass 30 is activated, for example. Then, the grippability determination unit 353 determines whether or not gripping is possible based on whether or not the corresponding recognition object has moved significantly before and after the activation of the AR glass 30.
  • FIG. 7 is a diagram showing an outline of a grippability determination of a perceptible object according to the embodiment of the present disclosure.
  • the grippability determination unit 353 determines whether or not each movement distance of the recognition objects B 1 to B 4 exceeds a predetermined threshold value before and after the activation of the AR glass 30. As a result of the determination, when the moving distance of the recognition object B 4 among the recognition objects B 1 to B 4 exceeds a predetermined threshold value, the grippability determination unit 353 determines that the recognition object B 4 can be gripped. For example, the grippability determination unit 353 calculates the moving distance of the perceived object from the change in the three-dimensional position of the perceptible object before and after the activation of the AR glass 30, assuming that the absolute coordinate system of the shooting location is known. .. The grippability determination unit 353 records a determination result (“possible”) indicating that the recognition object B 4 can be gripped in the gripping determination information storage unit 341 in association with the corresponding detection object ID “ID_4”.
  • a determination result (“possible”) indicating that the recognition object B 4 can be gripped in the gripping determination information storage unit 341 in association
  • the method for determining whether or not the recognized object can be gripped by the grippability determination unit 353 described above is only an example, and is not particularly limited to this example.
  • the AR glass 30 may determine the movement of the perceptible object based on the change in the relative positional relationship of the perceptible object before and after the activation. Further, when the recognition object is equipped with a signal transmitter in advance, the AR glass 30 may acquire a signal transmitted from the signal transmitter and determine the movement of the recognition object based on the acquired signal.
  • the AR glass 30 is not particularly limited to an example in which it is determined that the recognized object can be gripped on the condition that the movement distance exceeds the threshold value, and the AR glass 30 does not have to be a condition that enables the movement to be gripped. For example, it may be determined whether or not the user Px can be grasped based on the size of the hand of the user Px of the AR glass 30 and the size of the recognized object. Further, when the weight of the perceptible object can be estimated, it may be taken into consideration when determining whether or not the estimated weight can be grasped.
  • the grippability determination unit 353 may add an AR marker indicating that the recognition object can be gripped to the recognition object determined to be grippable.
  • FIG. 8 is a diagram showing an example of registration of marker information according to the embodiment of the present disclosure. As shown in FIG. 8, the graspable determination unit 353, if the detected object ID is determined to be grasped recognition object B 4 is "ID_4", generates an AR marker that imparts the recognition object B 4. The graspable determination unit 353, the graspable information, updates the items associated with the detected object ID "ID_4" corresponding to the recognized object B 4 "registered marker" to "Yes" from the "None".
  • the AR glass 30 generates an AR marker when the user Px tries to grip the recognition object B 4 determined to be grippable, or when the user Px actually grips the recognition object B 4, and sets the AR marker on the recognition object B 4 . You may register. This makes it possible to improve the recognition accuracy of the grippable object in the AR glass 30.
  • FIG. 9 is a diagram showing an outline of an operation start action determination according to the embodiment of the present disclosure.
  • the operation start action determination unit 354 acquires the three-dimensional position of the hand of the user (for example, user Px) wearing the AR glass 30 based on the distance information acquired by the camera 311.
  • the operation start action determination unit 354 uses the operation virtual object OB x to move the user's hand of the AR glass 30 based on the three-dimensional position of the user's hand of the AR glass 30 and the three-dimensional position of the AR glass 30. Judge whether it is the operation start action that was performed. That is, the operation start action determination unit 354 determines whether the user of the AR glass 30 intends to perform an operation using the operation virtual object OB x.
  • the operation start action determination unit 354 positions the user's hand H_Px from any point not on the plane defining the display area of the display unit 331, which is the display area of the AR glass, from the AR glass.
  • the display area of the display unit 331, which is the display area of the above, is projected onto a plane that defines the display area.
  • the operation start action determination unit 354 acquires the projection position PJH of the user's hand H_Px.
  • the operation start action determination unit 354 calculates the distance between the projection position PJH and the operation virtual object OB x until the distance d between the projection position PJH of the user's hand H_Px and the operation virtual object OB x is equal to or less than a predetermined threshold value D. (Step Pr 1 to Step Pr 2 ).
  • the operation start action determination unit 354 measures the residence time of the user's hand H_Px at that position (step Pr. 3 ). At this time, the operation start action determination unit 354 indicates, for example, that the user's hand H_Px is in a position where the operation virtual object OB x can be operated when measuring the residence time of the user's hand H_Px. The display mode of x is changed.
  • the operation start action determination unit 354 when the residence time of the user's hand H_Px exceeds a certain time (threshold value T), the movement of the user's hand H_Px of the AR glass 30 is an operation start action using the operation virtual object OB x. Decide that there is. At this time, the operation start action determination unit 354 further changes the display mode of the operation virtual object OB x in order to notify the user that the operation start action using the operation virtual object OB x has been recognized.
  • the object determination unit 355 determines the superimposition target object on which the operation virtual object is superimposed from the plurality of recognition objects determined to be graspable. ..
  • FIG. 10 is a diagram showing an outline of determination of a superposed object according to the embodiment of the present disclosure. In the following description, the superimposition target object determination unit 355 performs processing on each perceptible object, but processing may be performed only on the object determined to be grippable.
  • the superimposition target object determination unit 355 acquires the position of the recognized object and the position of the user's hand H_Px.
  • Superimposition target object determining unit 355 determines the distance score is score corresponding to the calculated distance d_B 4.
  • the distance score is determined based on a predetermined standard. For example, the distance score increases as the distance d_B 4 becomes smaller in advance. That is, the superimposition target object determination unit 355 highly evaluates the recognition object closer to the user's hand H_Px as the superimposition target.
  • the superimposition-target object determining unit 355, a vector VT c connecting the center H c of the center B 4c and the user's hand H_Px recognition object, and the normal vector VT n defining a plane containing the user's hand H_Px Calculate the inner product of.
  • the superimposition target object determination unit 355 determines the inner product score, which is a score corresponding to the calculated inner product value. Dot product scores are determined based on predetermined criteria. For example, the inner product score increases as the angle ⁇ formed by the vector VT c and the normal vector VT n becomes smaller. That is, the superimposition target object determination unit 355 highly evaluates the recognition object facing the palm of the user's hand H_Px as the superimposition target.
  • the superimposition target object determination unit 355 calculates the total score which is the sum of the distance score and the inner product score. Then, the superimposition target object determination unit 355 determines the recognition object having the highest overall score as the superimposition target object. According to the example shown in FIG. 10, it is shown that the total score of the perceptible object of the detected object ID “ID_4” is the highest.
  • FIG. 11 is a diagram showing an outline of an operation start action determination according to the embodiment of the present disclosure.
  • the operation virtual object layout determination unit 356 displays the operation virtual object OB x in the display area of the display unit 331 in a preset initial shape (step Pr 11 ).
  • the operation virtual object layout determination unit 356 changes the layout (shape) of the operation virtual object OB x based on the geometric information of the object to be superimposed (step Pr 12 ). Specifically, the operation virtual object layout determining section 356 acquires the geometric information of the recognition object B 4 determined for superimposition target object. The operation virtual object layout determination unit 356 acquires, for example, geometric information that the recognition object B 4 is a plate-shaped object having a flat surface from the recognition result of the object recognition unit 351. The operation virtual object layout determination unit 356 displays the operation virtual object OB Y in which the shape of the operation virtual object OB x is changed into a plate shape on the display unit 331 based on the acquired geometric information. That is, the operation virtual object layout determination unit 356 changes the shape of the operation virtual object OB x so as to be suitable for superimposition on the recognition object B 4.
  • Operation virtual object layout determining section 356 acquires the resolution capability information of the hand sensor 20 that is mounted to the hand of the user Px, based on the obtained decomposition capability information to determine operating virtual object OB Y layout (arrangement) (Step Pr 13 ). Specifically, the operation virtual object layout determining section 356, the resolving power of the hand sensor 20, when it is determined that it is possible to detect the key operation, the configuration of the surface of the operating virtual object OB Y, cross key, round Change to the configuration where the buttons are arranged.
  • the movement start position determination unit 357 determines the movement start position of the operation target.
  • the movement start position determination unit 357 determines the movement start position of the operation virtual object based on the position of the projection position of the hand of the user (for example, the user Px) and the recognition object which is the object to be superimposed.
  • the application execution unit 358 executes the application program under the execution environment provided by the OS.
  • the application execution unit 358 may execute a plurality of application programs in parallel at the same time.
  • various functions for superimposing and displaying the operation virtual object on the real space visually recognized by the user of the AR glass 30 and presenting it to the user are realized.
  • the application execution unit 358 can acquire surrounding three-dimensional information based on the camera image acquired by the camera 311.
  • the application execution unit 358 can acquire surrounding three-dimensional information based on the distance information obtained by using the function of the ToF camera.
  • the application execution unit 358 can analyze the sound signal acquired by the microphone 315 and acquire an instruction by the user's voice input of the AR glass 30.
  • the application execution unit 358 detects the movement of the user's hand while the operation virtual object is displayed, and moves the operation virtual object so as to approach the object to be superimposed in conjunction with the detected movement of the user's hand.
  • the process of presenting to the user is executed while the user is allowed to do so.
  • the application execution unit 358 defines the display area of the display unit 331 from an arbitrary point that is not on the plane that defines the display area of the display unit 331 when the operation virtual object is moved.
  • the process of moving the operation virtual object is executed based on the projection position of the user's hand projected onto the plane and the display position of the operation virtual object in the display area.
  • the application execution unit 358 executes a process of moving the operation virtual object so that the projection position of the user's hand and the display position of the operation virtual object do not overlap.
  • the application execution unit 358 has a projection position of the user's hand and a projection position of the superimposition target object that projects the position of the superimposition target object onto a plane defining the display area of the display unit 331.
  • a process of moving the operation virtual object so that the display position of the operation virtual object precedes the projection position of the user's hand is executed along the line connecting the above.
  • the application execution unit 358 executes a process of moving the operation virtual object until it reaches the projection position of the object to be superimposed.
  • the application execution unit 358 moves the operation virtual object until it reaches the projection position of the superimposed object, and then executes a process of superimposing the operation object on the superimposed object and presenting it to the user.
  • the output control unit 359 controls the output to the display unit 331 and the acoustic output unit 332 based on the execution result of the AR program by the application execution unit 358.
  • the output control unit 359 specifies the movement (visual field range) of the user's head based on the detection results of the acceleration sensor 312, the gyro sensor 313, the azimuth sensor 314, and the like included in the sensor unit 310. Then, the output control unit 359 controls the display of the operation virtual object on the display unit 331 by following the movement of the user's head (movement of the visual field range).
  • the output control unit 359 superimposes and displays the operation virtual object on the real space visually recognized by the user through the first display unit 331R and the second display unit 331L.
  • FIG. 12 is a diagram showing an outline of the movement of the operation virtual object according to the embodiment of the present disclosure.
  • FIG. 13 is a diagram showing an example of superimposed display of an operation virtual object according to the embodiment of the present disclosure.
  • the movement start position determination unit 357 has the projection position PJH (for example, the projection position of the middle finger) of the hand of the user (for example, user Px) of the AR glass 30, and the object to be superimposed (recognition object B 4). positioned on the line connecting the projection position PJB the superimposition target object is projected onto a plane that defines the display area of the display unit 331 (recognition object B 4) of), determining the movement start position of the operation virtual object OB Y the (SP) do.
  • the movement start position determination unit 357 moves the intermediate point of the line connecting the projection position PJH of the user's hand (for example, the projection position of the middle finger) and the projection position PJB of the superposed object (recognition object B 4). It can be the start position (SP).
  • the application execution unit 358 instructs the output control unit 359 to display the operation virtual object OB Y at the movement start position (SP).
  • the output control unit 359 displays the operation virtual object OB Y at a position corresponding to the movement start position (SP) on the display unit 331 according to the instruction of the application execution unit 358 (step Pr 21 ).
  • the application execution unit 358 After displaying the operation virtual object OB Y at the movement start position (SP), the application execution unit 358 detects the movement of the user's hand while the operation virtual object OB Y is displayed, and detects the movement of the user's hand. In conjunction with this, the planned movement route for moving the operation virtual object OB Y so as to approach the superimposed object (recognition object B 4) is determined. For example, the application execution unit 358, when moving the operation virtual object OB Y, and the projection position PJH of the hand of the user, the operation such that the display position of the virtual object OB Y do not overlap, move the operation virtual object OB Y Determine the planned travel route for.
  • the display position of the operation virtual object OB Y is set along the line connecting the projection position PJH of the user's hand and the projection position PJB of the superimposed object (recognition object B 4). It determines the movement scheduled route for moving the operation virtual object OB Y to precede the projection position PJH of the user's hand.
  • the output control unit 359 in accordance with the movement scheduled route determined by the application execution unit 358, and controls the display of the operation virtual object OB Y in the display unit 331 (step Pr22).
  • the operation virtual object OB Y is, prior to the projected position PJH of a user's hand, how the moving is shown to the middle point of the movement scheduled route (HW).
  • the application execution unit 358 moves the operation virtual object OB Y until it reaches the projection position PJB of the superimposition target object (recognition object B 4 ), the application execution unit 358 moves the operation virtual object OB Y with respect to the superimposition target object (recognition object B 4 ). It is decided to superimpose OB Y.
  • the output control unit 359 displays the display unit 331 so that the operation virtual object OB Y is superimposed and displayed on the superimposed object (recognition object B 4) according to the determination of the application execution unit 358. Is controlled and presented to the user.
  • FIG. 14 is a flowchart showing an example of the processing procedure of the grippability determination process according to the embodiment of the present disclosure.
  • the processing procedure shown in FIG. 14 is executed by the control unit 350 of the AR glass 30.
  • the processing procedure shown in FIG. 14 is executed, for example, with the activation of the AR glass 30.
  • the object recognition unit 351 executes object recognition of the camera image (step S101).
  • the position estimation unit 352 executes the position estimation of the recognized object and records the position information (step S102).
  • the grippable determination unit 353 tracks the position of the recognized object (step 103). Then, the grippability determination unit 353 determines whether or not the moving distance of the perceptible object exceeds the predetermined threshold value DT1 (step S104).
  • the graspable determination unit 353 determines as a result of the determination that the moving distance of the recognized object exceeds the threshold value DT1 (step S104; Yes), the graspable object is recorded as grippable (step S105).
  • the grippable determination unit 353 determines whether or not the tracking of the positions of all the recognized objects has been completed (step S106). When the grippability determination unit 353 determines that the tracking of the positions of all the recognized objects has been completed (step S106; Yes), the process procedure shown in FIG. 14 ends. On the other hand, when the grippable determination unit 353 determines that the tracking of the positions of all the recognized objects has not been completed (step S106; No), the process returns to the processing procedure of the above-mentioned step S103, and the recognition that the tracking is not completed. Perform processing on the object.
  • FIG. 15 is a flowchart showing an example of a processing procedure of the operation start action determination process according to the embodiment of the present disclosure. The processing procedure shown in FIG. 15 is executed by the control unit 350 of the AR glass 30.
  • the operation start action determination unit 354 acquires the hand position information (three-dimensional position) of the user (for example, user Px) wearing the AR glass 30 (step S201). Further, the operation start action determination unit 354 acquires the position information (three-dimensional position) of the AR glass 30 (step S202).
  • the operation start action determination unit 354 calculates the distance d between the user's hand and the operation virtual object presented to the user based on the position information of the user's hand and the position information of the AR glass (step). S203). Specifically, the operation start action determination unit 354 displays the position of the user's hand as a display area of the AR glass 30 based on the three-dimensional position of the user's hand and the three-dimensional position of the AR glass 30. From an arbitrary point that is not on the plane that defines the display area of the unit 331, the display area of the display unit 331, which is the display area of the AR glass, is projected onto the plane that defines the display area.
  • the operation start action determination unit 354 acquires the projection position of the user's hand. As a result, the operation start action determination unit 354 calculates the distance d between the projection position of the user's hand and the operation virtual object presented in the display area of the display unit 331.
  • the operation start action determination unit 354 determines whether or not the distance d between the user's hand and the operation virtual object presented to the user is equal to or less than a predetermined threshold value DT2 (step S204).
  • step S204 When the operation start action determination unit 354 determines that the distance d between the user's hand and the operation virtual object presented to the user is equal to or less than the threshold value DT2 (step S204; Yes), the user's hand stays for a certain period of time. Whether or not it is determined (step S205).
  • step S205 When the operation start action determination unit 354 determines that the user's hand is retained for a certain period of time (step S205; Yes), the operation start action determination unit 354 determines the user's action as the operation start action (step S206), and the processing procedure shown in FIG. To finish.
  • step S204 when the operation start action determination unit 354 determines that the distance d between the user's hand and the operation virtual object presented to the user is not equal to or less than the threshold value DT2 (step S204; No), the above description is performed. The process returns to the processing procedure of step S203, and the calculation of the distance d is continued.
  • step S205 when the operation start action determination unit 354 determines that the user's hand has not stayed for a certain period of time (step S205; No), the operation return action determination unit 354 returns to the processing procedure of the above-mentioned step S203 and calculates the distance d. continue.
  • FIG. 16 is a flowchart showing an example of a processing procedure of the superimposed object determination process according to the embodiment of the present disclosure. The processing procedure shown in FIG. 16 is executed by the control unit 350 of the AR glass 30.
  • the superimposition target object determination unit 355 calculates the distance between the user's hand and each object for each object (step S301).
  • each object corresponds to an object determined to be graspable among the recognized objects detected from the camera image.
  • the superimposition target object determination unit 355 assigns a distance score to each object according to the distance to the user's hand (step S302).
  • the superimposition target object determination unit 355 calculates a vector VT c connecting the user's hand (center of the palm) and each object (center) (step S303).
  • the superimposition target object determination unit 355 calculates a normal vector VT n that defines a plane including the user's hand (step S304).
  • the superimposition target object determination unit 355 calculates the inner product of the vector VT c corresponding to each object and the normal vector VT n (step S305).
  • the superimposition target object determination unit 355 assigns an inner product score according to the inner product value of each object (step S306).
  • the superimposition target object determination unit 355 totals the distance score and the inner product score of each object to calculate the total score of each object (step S307).
  • the superimposing target object determination unit 355 determines the object having the highest overall score as the superimposing target object (step S308), and ends the processing procedure shown in FIG.
  • FIG. 17 is a flowchart showing an example of a processing procedure of the operation virtual object layout determination process according to the embodiment of the present disclosure. The processing procedure shown in FIG. 17 is executed by the control unit 350 of the AR glass 30.
  • the operation virtual object layout determination unit 356 acquires the geometric information of the object to be superimposed (step S401).
  • the operation virtual object layout determination unit 356 determines the layout (shape) of the operation virtual object based on the acquired geometric information (step S402).
  • the operation virtual object layout determination unit 356 acquires the disassembly capability information of the hand sensor 20 (step S403).
  • the operation virtual object layout determination unit 356 determines the layout (surface reconstruction) of the operation virtual object based on the acquired disassembly capability information of the hand sensor 20 (step S404), and ends the processing procedure shown in FIG.
  • FIG. 18 is a flowchart showing an example of a processing procedure of the operation virtual object layout determination process according to the embodiment of the present disclosure. The processing procedure shown in FIG. 18 is executed by the control unit 350 of the AR glass 30.
  • the movement start position determination unit 357 calculates an intermediate point M between the position of the user's hand and the position of the superimposed object (step S501).
  • the position of the user's hand and the position of the superimposed object correspond to the projection position in which each position is projected onto the display area of the display unit 331.
  • the movement start position determination unit 357 determines the intermediate point M as the movement start position of the operation virtual object (step S502).
  • the output control unit 359 displays the operation virtual object at the movement start position according to the instruction of the application execution unit 358 (step S503).
  • the application execution unit 358 determines the position (projection position) of the superimposed object as the movement end position of the operation virtual object (step S504).
  • the application execution unit 358 determines the planned movement route of the operation virtual object based on the movement start position and the movement end position (step S505).
  • the application execution unit 358 starts tracking the position of the user's hand (position tracking) (step S506).
  • the application execution unit 358 cooperates with the output control unit 359 to move the operation virtual object along the planned movement route so that the position of the user's hand and the position of the operation virtual object do not overlap (step S507).
  • the application execution unit 358 determines whether the operation virtual object has reached the movement end position (step S508).
  • step S508 determines that the operation virtual object has not reached the movement end position (step S508; No)
  • the application execution unit 358 returns to the above-mentioned step S507 and moves the operation virtual object while cooperating with the output control unit 359. To continue.
  • step S508 when the application execution unit 358 determines that the operation virtual object has reached the movement end position (step S508; Yes), the application execution unit 358 stops the movement of the operation virtual object and operates while cooperating with the output control unit 359.
  • the virtual object is superimposed and displayed on the object to be superimposed (step S509), and the processing procedure shown in FIG. 18 is terminated.
  • the superimposition target object determination unit 355 of the control unit 350 excludes the recognition objects that are not suitable for the user's grip from the candidates for the superimposition target object based on the result of the object recognition. May be good.
  • examples of an object that is not suitable for gripping include an object in which the contents may be spilled by gripping and operating, and an object in which the contents may be heated and burned.
  • the superimposing target object determination unit 355 may give priority to its own property registered in advance from the recognized objects based on the result of the object recognition.
  • the superimposition target object determination unit 355 determines the superimposition target object
  • the object having a short distance may be prioritized among the recognition objects.
  • the superimposition target object determination unit 355 may determine the superimposition target object based on the characteristics of the user. Examples of user characteristics include body measurements, handicap information, and dominant arm information.
  • the superimposition target object may be determined based on the height of the user. For example, when the height of the user is 180 cm, an object in the vicinity of 170 cm can be determined as the object to be superimposed from the recognized objects.
  • the recognition object may be selected from among the objects other than the object whose surface is blue.
  • the object to be superimposed may be determined.
  • the superimposing target object is an object on the left side facing the front of the user from among the perceptible objects. May be decided.
  • the superimposition target object determination unit 355 may determine the superimposition target object based on the user's behavior information. For example, when the movement on foot is detected as the behavioral state of the user, the superimposition target object determination unit 355 may determine the superimposition target object from among the recognition objects in front of the user.
  • the superimposition target object determination unit 355 may determine a plurality of superimposition target objects. For example, when two objects to be superimposed are determined by the object determination unit 355 to be superimposed, the AR glass 30 divides the operation virtual object into two, and superimposes the operation virtual objects one by one on the object to be superimposed individually. You may let me.
  • the superimposition target object determination unit 355 does not determine the superimposition target object from the real objects around the user, but uses an object worn by the user such as a hand sensor 20 as the superimposition target object. May be good.
  • the AR glass 30 may redetermine the object to be superimposed according to the movement situation of the user.
  • the AR glass 30 may be displayed electronically directly on the display of an electronic device such as a smartphone or a wearable terminal without superimposing the operation virtual object on the superimposing object which is a real object.
  • the operation virtual object layout determination unit 356 may change the layout of the operation virtual object based on the position of the user's hand when grasping the superimposed object.
  • FIG. 19 is a diagram showing an example of changing the layout of the operation virtual object according to the modified example.
  • the position of the user's hand H_Px when grasping the superposed object does not interfere with the display position of the operation virtual object OB Y in the display unit 331. If, do not change the layout of the operation virtual object OB Y.
  • the position of the user's hand when grasping the superimposed target object interferes with the display position of the operation virtual object OB Y in the display unit 331. If so, change the layout of the operation virtual object OB Y.
  • FIG. 20 is a diagram showing an example of providing a tactile stimulus associated with the movement of an operation virtual object according to a modified example.
  • the application execution unit 358 first sets the movement start position as the movement end position , superimposes and displays the operation virtual object OB Y on the superimposed object (recognition object B 4 ), and presents it to the user.
  • the application execution unit 358 When the projection position PJH of the user's hand H_px is approaching the movement end position (operation virtual object OB Y ) (CS1), the application execution unit 358 outputs vibration of a preset periodic vibration pattern. An instruction is transmitted to the hand sensor 20. The hand sensor 20 vibrates according to the instruction from the AR glass.
  • the application execution unit 358 the projection position PJH of the user's hand H_px approaches the movement end position (operating virtual object OB Y), at the stage where it became possible operating the operation virtual object OB Y (time t1), periodic An instruction is transmitted to the hand sensor 20 to vibrate from the vibration pattern in a steady vibration pattern.
  • the hand sensor 20 vibrates according to the instruction from the AR glass 30.
  • the application execution unit 358 at the stage where the operation of the operation virtual object OB Y has been disclosed (time t2), sending an instruction to the hand sensor 20 to vibrate.
  • the hand sensor 20 stops the vibration according to the instruction from the AR glass.
  • the application execution unit 358 When the projection position PJH of the user's hand H_px is far from the movement end position (operation virtual object OB Y ) (CS2), the application execution unit 358 outputs vibration of a vibration pattern having a larger amplitude than that of CS1. Sends an instruction to the hand sensor 20. The hand sensor 20 vibrates according to the instruction from the AR glass 30.
  • FIG. 21 is a diagram showing a configuration example of an AR glass system according to a modified example.
  • FIG. 22 is a block diagram showing a functional configuration example of the server device according to the modified example.
  • the AR glass system 1B has a server device 10, a hand sensor 20, and an AR glass 30.
  • the AR glass system 1B differs from the above-mentioned AR glass system 1A in that it has a server device 10.
  • the number of components of the AR glass system 1B shown in FIG. 21 is an example, and may have more server devices 10, a hand sensor 20, and an AR glass 30 than in the example shown in FIG. 21.
  • the server device 10 and the AR glass 30 are connected to the network 2.
  • the server device 10 and the AR glass 30 can communicate with each other through the network 2.
  • the AR glass 30 uploads data such as a camera image to the server device 10. Further, the AR glass 30 downloads and uses information such as a perceptible object stored in the server device 10.
  • the server device 10 has a communication unit 110, a storage unit 120, and a control unit 130.
  • the communication unit 110 communicates with the AR glass 30 via the network 2.
  • the communication unit 110 transmits / receives data related to the processing of the AR glass system 1B.
  • the storage unit 120 stores programs, data, and the like for realizing various processing functions executed by the control unit 130.
  • the storage unit 120 stores camera image data received from the AR glass 30 by the control unit 130 through the network 2, information on a perceptible object obtained by the control unit 130 analyzing the camera image, and the like.
  • the control unit 130 is, for example, a controller.
  • the processing function provided by the control unit 130 is realized by executing a program stored in the server device 10 by a processor or the like with the main storage device or the like as a work area.
  • control unit 130 has a recognition unit 131 and an estimation unit 132.
  • the recognition unit 131 provides the same processing function as the object recognition unit 351 of the AR glass 30 in the AR glass system 1A.
  • the recognition unit 131 analyzes the camera image uploaded from the AR glass 30, and records the information of the perceptible object detected from the camera image in the storage unit 120.
  • the estimation unit 132 provides the same processing function as the position estimation unit 352 of the AR glass 30 in the AR glass system 1A.
  • the estimation unit 132 estimates the position of the perceptible object based on the RGB image and the distance image acquired from the AR glass 30.
  • the estimation unit 132 records the position information of the perceptible object in the storage unit 120 in association with the information of the perceptible object detected by the recognition unit 131.
  • the AR glass 30 included in the AR glass system 1B does not have to have the functions (object recognition unit 351 and position estimation unit 352) distributed in the server device 10.
  • the processing load of the AR glass 30 can be reduced. Further, by sharing the information uploaded from the plurality of AR glasses 30 in the server device 10, the effect of improving the processing efficiency of the AR glasses 30 can be expected.
  • the AR glass system 1 (1A, 1B) according to the embodiment and the modification of the present disclosure may be realized by a dedicated computer system or a general-purpose computer system.
  • various programs for realizing the information processing method of the AR glass 30 according to the embodiment and the modification of the present disclosure are stored in a computer-readable recording medium such as an optical disk, a semiconductor memory, a magnetic tape, or a flexible disk. May be distributed.
  • the AR glass 30 realizes the information processing method according to the embodiment and the modification of the present disclosure by installing and executing various programs on a computer.
  • various programs for realizing the information processing method of the AR glass 30 according to the embodiment and the modification of the present disclosure are stored in a disk device provided in a server device on a network such as the Internet, and downloaded to a computer or the like. You may be able to do it.
  • the functions provided by various programs for realizing the information processing method according to the embodiment and the modification of the present disclosure may be realized by the cooperation between the OS and the application program.
  • the part other than the OS may be stored in a medium and distributed, or the part other than the OS may be stored in the server device so that it can be downloaded to a computer or the like.
  • each component (see FIG. 4) of the AR glass 30 according to the embodiment of the present disclosure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of them may be functionally or physically distributed / physically in arbitrary units according to various loads and usage conditions. Can be integrated and configured.
  • FIG. 23 is a block diagram showing a hardware configuration example of the hand sensor.
  • the device 2000 corresponding to the hand sensor 20 includes a CPU 2001, a ROM (Read Only Memory) 2002, a RAM 2003, an I / F (interface) 2004, and an I / F (interface) 2005. It includes a communication device 2006 and a sensor 2007.
  • the CPU 2001, ROM 2002, RAM 2003, I / F (interface) 2004, and I / F (interface) 2005 are connected to each other via a bus 2008.
  • ROM 2002 stores programs and data for operating the device 2000.
  • the RAM 2003 functions as a work memory for temporarily storing data when the CPU 2001 executes a program.
  • the I / F (interface) 2004 is a communication interface with the communication device 2006, and controls communication with the AR glass 30 according to the instruction of the CPU 2001.
  • the I / F (interface) 2005 is a sensor interface with the sensor 2007, and supplies a sensor signal transmitted from the sensor 2007 to the CPU 2001.
  • the communication device 2006 executes communication with the AR glass.
  • the communication device 2006 transmits the sensor signal detected by the sensor 2007 to the AR glass 30.
  • the sensor 2007 detects the position, posture, and the like of the device 2000.
  • the sensor 2007 supplies the detected sensor signal to the CPU 2001.
  • the sensor 2007 corresponds to an acceleration sensor 210, a gyro sensor 220, an azimuth sensor 230, and a distance measuring sensor 240.
  • the CPU 2001 sends a sensor signal acquired from the sensor 2007 via the I / F (interface) 2005 to the communication device 2006 via the I / F (interface) 2004.
  • FIG. 24 is a block diagram showing an example of hardware configuration of AR glass.
  • the information processing apparatus 3000 corresponding to the AR glass 30 includes a CPU 3010, a ROM 3020, a RAM 3030, an I / F (interface) 3041 to 3046, a storage 3050, an input device 3060, and an output device. It has a 3070, a drive 3080, a port 3090, a communication device 3100, and a sensor 3110. It includes a display control unit 1506, an audio I / F 1507, and a communication I / F 1508. Each part of the information processing apparatus 3000 is connected to each other by a bus 3120.
  • the CPU 3010 functions as, for example, an arithmetic processing device or a control device, and controls all or a part of the operation of each component based on various programs recorded in the ROM 3020.
  • Various programs stored in the ROM 3020 may be recorded in the storage 3050 or the recording medium 4001 connected via the drive 3080.
  • the CPU 3010 controls all or a part of the operation of each component based on the program stored in the recording medium 4001.
  • the various programs include programs that provide various functions for realizing information processing of the information processing apparatus 3000.
  • the ROM 3020 functions as an auxiliary storage device for storing programs read into the CPU 3010, data used for calculations, and the like.
  • the RAM 3030 functions as a main storage device for temporarily or permanently storing, for example, a program read into the CPU 3010 and various parameters that change appropriately when the program read into the CPU 3010 is executed.
  • the CPU 3010, ROM 3020, and RAM 3030 are various parts (object recognition unit 351 to output control unit 359) included in the control unit 350 of the AR glass 30 described above in collaboration with software (various programs stored in ROM 3020 or the like).
  • the function can be realized.
  • the CPU 3010 executes various programs, performs arithmetic processing and the like using the data acquired via the I / F (interface) 3041 to 3046, and executes the processing of the AR glass 30.
  • the IF (interface) 3041 is, for example, an input interface with the input device 3060.
  • the IF (interface) 3042 is, for example, an output interface to and from the output device 3070.
  • IF (interface) 3043 includes, for example, a drive interface to and from drive 3080.
  • the IF (interface) 3044 is, for example, a port interface to and from port 3090.
  • the IF (interface) 3045 is, for example, a communication interface with the communication device 3100.
  • the IF (interface) 3046 is, for example, a sensor interface with the sensor 3110.
  • the storage 3050 is a device for storing various types of data, and for example, a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, an optical magnetic storage device, or the like is used.
  • a magnetic storage device such as a hard disk drive (HDD)
  • a semiconductor storage device such as a hard disk drive (HDD)
  • an optical storage device such as a compact disc drive (CD)
  • optical magnetic storage device such as a magnetic tape, or the like.
  • the function of the storage unit 340 of the AR glass described above can be realized by the storage 3050.
  • the input device 3060 is realized by a device such as a touch panel, a button, a switch, and a lever, in which information is input by a user.
  • the input device 3060 may be a remote controller capable of transmitting a control signal using infrared rays or other radio waves. Further, the input device 3060 may include a voice input device such as a microphone.
  • the IF (interface) 3041 includes an interface corresponding to processing of various signals input by the input device 3060.
  • the output device 3070 is a device that can visually or audibly notify the user of the acquired information, such as a display device, a speaker, an audio output device such as headphones, and the like.
  • the display unit 331 and the acoustic output unit 332 of the AR glass 30 described above can be realized by the output device 3070.
  • the IF (interface) 3041 includes an interface corresponding to the processing of various signals that can be handled by the output device 3070.
  • the drive 3080 is, for example, a device that reads out information recorded on the recording medium 4001 and writes information on the recording medium 4001.
  • the recording medium 4001 includes a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, and the like.
  • the port 3090 is a connection port for connecting an external device 4002, and includes a USB (Universal Serial Bus) port, an IEEE1394 port, a SCSI (Small Computer System Interface), an RS-232C port, an optical audio terminal, and the like.
  • the external device 4002 includes a printer, a portable music player, a digital camera, a digital video camera, an IC recorder, and the like.
  • the communication device 3100 is a communication device that communicates with the server device 10 and the hand sensor 20.
  • the communication device 3100 is, for example, a communication card for a wired or wireless LAN (Local Area Network), LTE (Long Term Evolution), Bluetooth (registered trademark), WUSB (Wireless USB), or the like. Further, the communication device 3100 may be a router for optical communication, various communication modems, or the like.
  • the function of the communication unit 320 of the AR glass 30 described above can be realized by the communication device 3100.
  • the sensor 3110 is various sensors, and corresponds to the camera 311, the acceleration sensor 312, the gyro sensor 313, the azimuth sensor 314, the microphone 315, etc. of the AR glass described above.
  • the IF (interface) 3046 includes an interface corresponding to processing of sensor signals supplied from various sensors.
  • the AR glass 30 (an example of an information processing apparatus) according to the embodiment of the present disclosure includes a display unit 331 and a control unit 350.
  • the display unit 331 displays an operation virtual object which is a virtual operation object so as to be superimposed on the real space visually recognized by the user.
  • the control unit 350 determines a superposition target object on which the operation virtual object is superimposed from a plurality of objects existing around the user in the real space, and detects the movement of the user's hand while the operation virtual object is displayed. , In conjunction with the detected movement of the user's hand, the operation virtual object is moved and presented to the user so as to approach the object to be superimposed.
  • the AR glass 30 can guide the user by moving the operation virtual object in conjunction with the movement of the user's hand. Thereby, the AR glass 30 can improve the usability when operating the virtual object in the AR technology.
  • the AR glass 30 is based on the projection position of the user's hand that projects the position of the user's hand onto the plane defining the display area of the display unit 331 and the display position of the virtual operation target in the display area. , Move this operation target. As a result, the AR glass 30 can determine the positional relationship between the user's hand and the operation virtual object by a simple process.
  • the AR glass 30 moves the operation object so that the projection position of the user's hand and the display position of the virtual operation object do not overlap. As a result, the AR glass 30 can surely make the user recognize the operation target.
  • the AR glass 30 is virtual along a line connecting the projected position of the user's hand and the projected position of the superimposed object that projects the position of the superimposed object on the plane defining the display area of the display unit 331.
  • the operation object is moved so that the display position of the operation object precedes the projection position of the user's hand.
  • the AR glass 30 can be guided so that the user's hand follows the operation target.
  • the AR glass 30 moves a virtual operation object until it reaches the projection position of the object to be superimposed. As a result, the AR glass 30 can easily allow the user to grasp the object to be superimposed.
  • the AR glass 30 moves the virtual operation object until it reaches the projection position of the object to be superimposed, and then superimposes this operation object on the object to be superimposed and presents it to the user.
  • the AR glass 30 can prompt the operation of the operation target object following a series of flows that guide the user to the superimposed object. Further, as a result of giving an appropriate reaction force to the user from the superimposed object when the operation object is operated, a realistic operation feeling can be realized.
  • the AR glass 30 acquires the geometric information of the object to be superimposed, and determines the layout of the virtual operation object based on the acquired geometric information. As a result, the AR glass 30 can prevent the positional deviation between the superimposed object and the virtual operation object.
  • the AR glass 30 acquires the disassembly ability information of the sensor mounted on the user's hand, and determines the layout of the virtual operation object based on the acquired disassembly ability information. As a result, the AR glass 30 can provide the user with an operation target having a layout suitable for the ability of the hand sensor 20.
  • the AR glass 30 determines the object to be superimposed from a plurality of recognition objects detected from the camera image captured around the user. As a result, the AR glass 30 can produce an immersive feeling in the augmented space.
  • the AR glass 30 calculates the distance between each of the recognized objects and the user's hand based on the three-dimensional positions of the plurality of recognized objects and the three-dimensional positions of the user's hand. Further, the AR glass 30 recognizes a plurality of internal product values of a vector connecting the three-dimensional positions of the plurality of recognition objects and the three-dimensional positions of the user's hand and a normal vector defining a plane including the palm of the user. Calculate for each object. Further, the AR glass 30 determines an object to be superimposed from a plurality of recognized objects based on the distance and the inner product value. As a result, the AR glass 30 can superimpose a virtual operation object on an object that is likely to be grasped by the user.
  • the AR glass 30 excludes objects that are not suitable for the user's grip from the candidates for the object to be superimposed, based on the recognition results of a plurality of objects. As a result, the AR glass 30 can avoid superimposing a virtual operation object on an object unsuitable for operation, such as a glass containing a liquid.
  • the AR glass 30 determines the object to be superimposed based on the characteristics of the user. As a result, the AR glass 30 can superimpose a virtual operation object on an object that matches the characteristics of the user.
  • the AR glass 30 determines the object to be superimposed based on the information regarding the physical handicap of the user. As a result, the AR glass 30 can superimpose a virtual operation object on an object that is not inconvenient for the user.
  • the AR glass 30 determines the object to be superimposed based on the information of the user's dominant hand. As a result, the AR glass 30 can superimpose a virtual operation object on an object at a position where the user can easily grasp it.
  • the AR glass 30 determines the object to be superimposed based on the behavioral state of the user.
  • the AR glass 30 is virtual with respect to an object at a position that matches the user's behavioral state, for example, when the user is walking, the object in front is determined as the object to be superimposed. Operation objects can be superimposed.
  • the AR glass 30 is based on the distance between the projection position of the user's hand that projects the position of the user's hand onto the plane defining the display area of the display unit 331 and the display position of the operation target object in the display area. Therefore, the movement of the user's hand is determined as the user's operation start action using the operation target. As a result, the AR glass 30 can be flexibly operated according to the user's request.
  • the AR glass 30 determines as an operation start action when a certain time elapses in a state where the distance between the projection position of the user's hand and the display position of the virtual operation object is equal to or less than a predetermined threshold value. do. As a result, the AR glass 30 can improve the determination accuracy of the intention of the user who intends to use the operation target object.
  • the AR glass 30 determines whether or not the plurality of recognized objects are grippable objects by tracking the positions of the plurality of recognized objects detected from the camera images captured around the user. As a result, the AR glass 30 can select an object that is a candidate for the object to be superimposed without performing complicated processing.
  • the AR glass 30 imparts mark information to an object determined to be a grippable object. As a result, the AR glass 30 can improve the recognition accuracy of the object once determined to be grippable.
  • a display unit that displays a virtual operation object so that it is superimposed on the real space that is visually recognized by the user. From a plurality of objects that actually exist around the user in the real space, a superposed object on which the operation object is superimposed is determined, and the movement of the user's hand is detected and detected while the operation object is displayed.
  • An information processing device including a control unit that presents the operation object to the user while moving the operation object so as to approach the superimposed object in conjunction with the movement of the user's hand.
  • the control unit The operation object is moved based on the projection position of the user's hand projecting the position of the user's hand onto a plane defining the display area of the display unit and the display position of the operation object in the display area.
  • the information processing apparatus according to (1) above.
  • (3) The control unit The information processing device according to (2), wherein the operation object is moved so that the projection position of the user's hand and the display position of the operation object do not overlap.
  • the control unit The display position of the operation target is the projection of the user's hand along the line connecting the projection position of the user's hand and the projection position of the superimposition target object projected on the plane.
  • the control unit The information processing apparatus according to (4), wherein the operation target is moved until the projection position of the superposed object is reached.
  • the control unit The information processing apparatus according to (5), wherein the operation object is moved until it reaches the projection position of the superimposed object, and then the operation object is superimposed on the superimposed object and presented to the user.
  • the control unit The information processing apparatus according to any one of (1) to (6) above, wherein the geometric information of the superimposed object is acquired and the layout of the operation target is determined based on the acquired geometric information.
  • the control unit Obtaining the disassembly ability information of the sensor mounted on the user's hand, The information processing apparatus according to (7) above, which determines the layout of the operation target based on the acquired disassembly ability information. (9) The control unit The information processing apparatus according to any one of (1) to (8), wherein the object to be superimposed is determined from a plurality of recognition objects detected from a camera image of the user's surroundings. (10) The control unit Based on the three-dimensional positions of the plurality of recognized objects and the three-dimensional positions of the user's hand, the distances between each of the recognized objects and the user's hand are calculated and the distances are calculated.
  • the internal product value of the vector connecting the three-dimensional positions of the plurality of recognition objects and the three-dimensional positions of the user's hand and the normal vector defining the plane including the palm of the user is set for each of the plurality of recognition objects.
  • the control unit The information processing apparatus according to any one of (1) to (10), wherein an object unsuitable for grasping by the user is excluded from the candidates for the superimposed object based on the recognition result of the plurality of objects.
  • the control unit The information processing apparatus according to any one of (1) to (11), wherein the object to be superimposed is determined based on the characteristics of the user.
  • the control unit The information processing apparatus according to (12), wherein the object to be superimposed is determined based on the information regarding the physical handicap of the user.
  • the control unit The information processing apparatus according to (12), wherein the object to be superimposed is determined based on the information of the dominant hand of the user.
  • the control unit Based on the distance between the projected position of the user's hand, which projects the position of the user's hand onto a plane defining the display area of the display unit, and the display position of the operation object in the display area, the said.
  • the information processing device according to (1) above, wherein the movement of the user's hand is determined as the operation start action of the user using the operation object.
  • the control unit The above (15), wherein when a certain time elapses in a state where the distance between the projection position of the user's hand and the display position of the operation object is equal to or less than a predetermined threshold value, it is determined as the operation start action.
  • Information processing equipment 17.
  • the control unit The above-mentioned (1).
  • Information processing device 18.
  • the control unit The information processing apparatus according to (17) above, which imparts mark information to an object determined to be a grippable object.
  • the processor A virtual operation object is displayed so that it is superimposed on the real space that is visually recognized by the user. From a plurality of objects that actually exist around the user in the real space, a superposition target object on which the operation target object is superimposed is determined.
  • An information processing method that presents an information processing object to a user while moving the operation object so as to approach the superimposed object in conjunction with the detected movement of the user's hand.
  • To the processor Display a virtual operation object so that it is superimposed on the real space that is visible to the user. From among a plurality of objects that actually exist around the user in the real space, the object to be superposed is determined by superimposing the object to be operated. The movement of the user's hand is detected while the operation target is displayed, and the movement of the user's hand is detected.
  • An information processing program that causes the user to present the operation object while moving the operation object so as to approach the superimposed object in conjunction with the detected movement of the user's hand.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Architecture (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

情報処理装置は、表示部(331)と、制御部(350)とを備える。表示部(331)は、ユーザにより視認される現実空間に重畳されるように仮想的な操作対象物を表示する。制御部(350)は、現実空間においてユーザの周囲に実在する複数の物体の中から操作対象物を重畳させる重畳対象物体を決定し、操作対象物が表示された状態でユーザの手の動きを検知し、検知したユーザの手の動きに連動して、重畳対象物体に近づくように操作対象物を移動させながらユーザに提示する。

Description

情報処理装置、情報処理方法、及び情報処理プログラム
 本開示は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
 従来、AR(Augmented Reality)技術(「拡張現実」とも称される。)を適用した装置及びシステム等の開発が進められている。AR技術は、現実空間に存在する物体に対して仮想的な物体(以下、「仮想物」と記載する。)を重畳的に表示させることにより、ユーザから見た現実空間を拡張する技術である。例えば、特許文献1には、現実空間に存在する物体の形状に合わせて、仮想物を重畳表示させる技術が提案されている。
国際公開第2016/203792号
 しかしながら、AR技術においては、拡張空間への没入感が損なわれないように、仮想物を操作する際のユーザビリティの向上が常に求められている。
 そこで、本開示では、ユーザビリティを向上できる情報処理装置、情報処理方法、及び情報処理プログラムを提案する。
 上記の課題を解決するために、本開示に係る一形態の情報処理装置は、表示部と、制御部とを備える。表示部は、ユーザにより視認される現実空間に重畳されるように仮想的な操作対象物を表示する。制御部は、現実空間においてユーザの周囲に実在する複数の物体の中から操作対象物を重畳させる重畳対象物体を決定し、操作対象物が表示された状態でユーザの手の動きを検知し、検知したユーザの手の動きに連動して、重畳対象物体に近づくように操作対象物を移動させながらユーザに提示する。
本開示の実施形態に係るARグラスシステムの構成例を示す図である。 本開示の実施形態に係るARグラスの外観を概略的に示す模式図である。 本開示の実施形態に係るハンドセンサの機能構成例を示すブロック図である。 本開示の実施形態に係るARグラスの機能構成例を示すブロック図である。 本開示の実施形態に係る把持判定情報の概要を示す図である。 本開示の実施形態に係る重畳判定情報の概要を示す図である。 本開示の実施形態に係る認識物体の把持可能判定の概要を示す図である。 本開示の実施形態に係る目印情報の登録例を示す図である。 本開示の実施形態に係る操作開始行動判定の概要を示す図である。 本開示の実施形態に係る重畳対象物体決定の概要を示す図である。 本開示の実施形態に係る操作開始行動判定の概要を示す図である。 本開示の実施形態に係る操作仮想物の移動の概要を示す図である。 本開示の実施形態に係る操作仮想物の重畳表示例を示す図である。 本開示の実施形態に係る把持可能判定処理の処理手順の一例を示すフローチャートである。 本開示の実施形態に係る操作開始行動判定処理の処理手順の一例を示すフローチャートである。 本開示の実施形態に係る重畳対象物体決定処理の処理手順の一例を示すフローチャートである。 本開示の実施形態に係る操作仮想物レイアウト決定処理の処理手順の一例を示すフローチャートである。 本開示の実施形態に係る操作仮想物レイアウト決定処理の処理手順の一例を示すフローチャートである。 変形例に係る操作仮想物のレイアウト変更例を示す図である。 変形例に係る操作仮想物の移動に伴う触覚的な刺激の提供例を示す図である。 変形例に係るARグラスシステムの構成例を示す図である。 変形例に係るサーバ装置の機能構成例を示すブロック図である。 ハンドセンサのハードウェア構成例を示すブロック図である。 ARグラスのハードウェア構成例を示すブロック図である。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の数字又は符号を付することにより重複する説明を省略する場合がある。また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の数字又は符号の後に異なる数字又は符号を付して区別する場合もある。
 また、以下に示す項目順序に従って本開示を説明する。
 1.本開示の概要
 2.システム構成例
 3.装置構成例
  3-1.ハンドセンサの構成
  3-2.ARグラスの構成
 4.処理手順例
  4-1.把持可能判定処理
  4-2.操作開始行動判定処理
  4-3.重畳対象物体決定処理
  4-4.操作仮想物レイアウト決定処理
  4-5.操作仮想物移動処理
 5.変形例
  5-1.重畳対象物体について
  5-2.操作仮想物のレイアウトについて
  5-3.操作仮想物の移動時の触覚的な刺激の提供
  5-4.システム構成の変更
  5-5.その他の変形例
 6.ハードウェア構成例
  6-1.ハンドセンサについて
  6-2.ARグラスについて
 7.むすび
<<1.本開示の概要>>
 本開示に係る技術の概要について説明する。本開示は、AR技術に関するものである。本開示では、情報処理装置の一例として、ユーザの頭部に装着されるウェアラブル装置の1つであるARグラスが用いられる。
 本開示のARグラスは、実現可能な機能の一部として、表示部と制御部とを有する。表示部は、ユーザにより視認される現実空間に重畳されるように仮想的な操作対象物(以下、「操作仮想物」と称する。)を表示する。制御部は、現実空間においてユーザの周囲に実在する複数の物体の中から操作仮想物を重畳させる重畳対象物体を決定し、操作仮想物が表示された状態でユーザの手の動きを検知し、検知したユーザの手の動きに連動して、重畳対象物体に近づくように操作仮想物を移動させながらユーザに提示する。
 本開示のARグラスは、ユーザの手の動きに連動して、重畳対象物体に近づくように操作仮想物を移動させながらユーザに提示する。これにより、操作仮想物を操作する際のユーザビリティを向上できる。
<<2.システム構成例>>
 以下、本開示の実施形態に係るARグラスシステム1Aについて説明する。図1は、本開示の実施形態に係るARグラスシステムの構成例を示す図である。
 図1に示すように、ARグラスシステム1Aは、ハンドセンサ20と、ARグラス30とを有する。ハンドセンサ20は、ユーザの手に装着される。ハンドセンサ20は、ユーザの手の姿勢、位置および動きを検出できる。ARグラス30は、ユーザの頭部に装着される眼鏡型のウェアラブル装置である。ARグラス30は、現実空間(以下、適宜「実空間」と称する。)に操作仮想物を重畳して表示できる。ハンドセンサ20は、無線通信または有線通信を行うための通信手段を通じて、ARグラス30と通信可能に接続される。ハンドセンサ20は、ハンドセンサ20を装着したユーザの手の姿勢、位置および動きの検出結果(情報)をARグラス30に送信する。また、ARグラス30は、ハンドセンサ20との通信手段を通じて、ハンドセンサ20に対する制御指令などを送信できる。また、ARグラス30は、ハンドセンサ20から受信する手の姿勢、位置および動きの検出結果(情報)に基づいて、各種処理を実行する。
 図2を用いて、ARグラス30の外観について説明する。図2は、本開示の実施形態に係るARグラスの外観を概略的に示す模式図である。図2に示すように、ARグラス30は、ユーザPxの頭部に装着される眼鏡型またはゴーグル型の装置である。ARグラス30は、ユーザPxの両目または片目の視野に対するデジタル情報の重畳表示の他、特定の実物体の像の強調、減衰、又は削除などを実現できる。
 図2に示す例において、ARグラス30が有する表示部331は、右眼用の第1表示部331Rと、左目用の第2表示部331Lとを備えている。第1表示部331Rは、ユーザPxがARグラス30を装着したときにユーザPxの右眼の前に位置するように設けられている。また、左眼用の第2表示部331Lは、ユーザPxがARグラス30を装着したときにユーザPxの左眼の前に位置するように設けられている。表示部331は、透明または半透明である。ユーザPxは、表示部331を通して、実空間の風景を視認できる。表示部331の第1表示部331R及び第2表示部331Lは、独立して表示駆動され、操作対象物を立体的に表示することもできる。
 また、図2に示す例において、ARグラス30の表示部331を取り囲むフレームの第1表示部331R側には、ユーザPxの音声等を取得するマイク315が設けられている。ARグラス30は、ユーザPxの音声入力に従って動作できる。また、ARグラス30の表示部331を取り囲むフレームの第2表示部331L側には、ユーザPxの周囲を撮像するカメラ311が設けられている。ARグラス30は、カメラ311により取得された画像を解析し、ユーザPxの周囲に実在する物体の識別及び位置の推定を行うことができる。
<<3.装置構成例>>
<3-1.ハンドセンサの構成>
 以下、ARグラスシステム1Aを構成するハンドセンサ20の機能的な構成について説明する。図3は、本開示の実施形態に係るハンドセンサの機能構成例を示すブロック図である。
 図3に示すように、ハンドセンサ20は、加速度センサ210と、ジャイロセンサ220と、方位センサ230と、測距センサ240とを有する。
 加速度センサ210は、ハンドセンサ20に作用する加速度を検出する。ジャイロセンサ220は、例えば、上下軸(ヨー軸)、左右軸(ピッチ軸)、前後軸(ロール軸)におけるハンドセンサ20の回転角速度(姿勢)を検出する。ジャイロセンサ220は、3軸または9軸のいずれで構成されてもよい。方位センサ230は、ハンドセンサ20が向く方位を検出する。方位センサ230は、例えば地磁気センサにより実現できる。なお、加速度センサ210、ジャイロセンサ220、及び方位センサ230は、IMU(Inertial Measurement Unit)により構成されてもよい。
 測距センサ240は、ハンドセンサ20と実空間に存在する物体との距離を検出する。測距センサ240は、例えば、ToF(Time of Flight)センサにより実現できる。
 ハンドセンサ20は、各センサにより検出したユーザPxの手の姿勢、位置および動きの検出結果(情報)や、ハンドセンサ20と物体との距離の情報をARグラス30に送信する。
<3-2.ARグラスの構成>
 以下、実施形態に係るARグラス30の機能的な構成について説明する。図4は、本開示の実施形態に係るARグラスの機能構成例を示すブロック図である。
 図4に示すように、ARグラス30は、センサ部310と、通信部320と、出力部330と、記憶部340と、制御部350とを有する。
 センサ部310は、カメラ311と、加速度センサ312と、ジャイロセンサ313と、方位センサ314と、マイク315とを有する。
 カメラ311は、ARグラス30を装着するユーザPxの視線方向を撮像する。カメラ311は、ユーザPxの視線方向を撮像可能な位置に設けられる。カメラ311は、ARグラス30の周囲に実在する物体の画像を取得できる。カメラ311に取得された画像には、ユーザPxの手が含まれ得る。カメラ311は、例えばR(赤色)、G(緑色)およびB(青色)の各色による撮像画像を出力可能なRGBカメラにより実現できる。
 また、カメラ311は、発光のタイミングと、受光のタイミングとの時間差に基づいて、対象との距離を取得可能なToFカメラを備えてもよい。
 加速度センサ312は、ARグラス30に作用する加速度を検出する。ジャイロセンサ313は、例えば、上下軸(ヨー軸)、左右軸(ピッチ軸)、前後軸(ロール軸)におけるARグラス30の回転角速度(姿勢)を検出する。方位センサ314は、ARグラス30が向く方位を検出する。つまり、方位センサ314により検出される方向は、ARグラス30を装着するユーザPxの向く方向(視線方向)に該当する。
 マイク315は、ARグラス30を装着したユーザが発した音声や、ユーザの周囲の音源からもたらされる環境音を収音する。マイク315は、例えば、単一の収音素子で構成されてもよいし、複数の収音素子で構成されてもよい。
 通信部320は、無線通信または有線通信によりハンドセンサ20との通信を行う。通信部320は、例えばBluetooth(登録商標)による無線通信を用いてハンドセンサ20と通信を行う。通信部320がハンドセンサ20と通信を行う通信方式は、Bluetooth(登録商標)に限定されない。また、通信部320は、インターネットなどネットワークを介して、外部の装置と通信できる。
 出力部330は、表示部331と、音響出力部332とを有する。表示部331は、右眼用の第1表示部331Rと、左目用の第2表示部331Lとを有する。表示部331は、ARグラス30を装着したユーザPxの眼前に位置する透過型ディスプレイを備える。表示部331が、実空間に対して操作仮想物を重畳させて表示することにより、ARグラス30を装着したユーザから見た実空間が拡張される。表示部331は、制御部350からの表示制御信号に従って表示制御を行う。
 音響出力部332は、表示部331に表示される操作対象物に関する音を出力する。音響出力部332は、ARグラス30を装着したユーザPxが出力音を聞き取れる位置に設けられるスピーカ又はイヤホンにより構成される。音響出力部332は、制御部350から供給される音信号を空気振動としての音に変換して出力する。また、音響出力部332が出力する音は、操作対象物に関する音に限らず、各種コンテンツやアプリケーションに対応する音信号による音を出力できる。
 記憶部340は、制御部350により実行される各種処理機能を実現するためのプログラム及びデータ等を記憶する。記憶部340は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部340が記憶するプログラムには、制御部350の各部に対応する処理機能を実現するためのプログラムが含まれる。記憶部340が記憶するプログラムには、OS(Operating System)やARアプリケーションプログラムなどのアプリケーションプログラムが含まれる。ARアプリケーションプログラム(以下、「ARプログラム」と称する。)は、ユーザにより視認される現実空間に重畳されるように操作仮想物を表示するための各種機能を提供するアプリケーションプログラムである。
 図4に示す例において、記憶部340は、把持判定情報格納部341と、重畳判定情報格納部342とを有する。
 把持判定情報格納部341は、後述する把持可能判定部353による認識物体の把持可否の判定結果に関する把持判定情報を記憶する。図5は、本開示の実施形態に係る把持判定情報の概要を示す図である。把持判定情報は、「検出物体ID」と、「認識名称」と、「位置」と、「把持判定結果」と、「登録済みマーカ」といった項目を備える。これらの項目は互いに対応付けられている。
 「検出物体ID」の項目は、カメラ画像から検出された物体に対して固有に付与される識別情報を記憶する。この識別情報は、後述する物体認識部351によるカメラ画像の認識処理により取得される。「認識名称」の項目は、カメラ画像から検出された物体に付与される物体の認識結果を記憶する。この認識結果は、後述する物体認識部351によるカメラ画像の認識処理により取得される。「位置」の項目は、カメラ画像から検出された物体の3次元位置の情報を記憶する。この3次元位置の情報は、後述する位置推定部352による位置推定処理により取得される。「把持判定結果」の項目は、後述する把持可能判定部353による認識物体の把持可否の判定結果を記憶する。「登録済みマーカ」の項目は、把持可能判定部353により把持可能と判定された認識物体に付与されるARマーカ(目印情報の一例)を記憶する。
 図5に示す把持判定情報によれば、カメラ画像から検出された全ての物体把持できないこと(「不可」)が示されている。
 重畳判定情報格納部342は、後述する重畳対象物体決定部355による重畳対象物体の決定処理に関する重畳判定情報を記憶する。図6は、本開示の実施形態に係る重畳判定情報の概要を示す図である。重畳判定情報は、「検出物体ID」と、「把持判定結果」と、「距離(cm)」と、「距離スコア」と、「内積」と、「内積スコア」と、「総合スコア」といった項目を備える。これらの項目は互いに対応付けられている。
 「検出物体ID」の項目は、前述の図5に示す「検出物体ID」の項目と同様に、カメラ画像から検出された物体に対して固有に付与される識別情報を記憶する。「把持判定結果」の項目は、前述の図5に示す「把持判定結果」の項目と同様に、後述する把持可能判定部353による認識物体の把持可否の判定結果を記憶する。
 「距離(cm)」の項目は、カメラ画像から検出された物体までの距離情報を取得する。この識別情報は、後述する物体認識部351によるカメラ画像の認識処理により取得される。なお、距離情報を記憶する際の単位としては、任意の単位を採用できる。「距離スコア」の項目は、前述した「距離情報」の項目に記憶される距離に応じて決定される点数を記憶する。例えば、物体までの距離が小さいほど高い点数が記憶される。
 「内積」の項目は、ユーザPxの手と、カメラ画像から検出された物体との位置関係に基づいて計算された内積値を記憶する。「内積スコア」の項目は、前述した「内積」の項目に記憶される内積値に応じて決定される点数を記憶する。例えば、算出される内積値が大きい方が高い点数が記憶される。「総合スコア」の項目は、前述した「距離スコア」と、「内積スコア」との和を記憶する。
 図6に示す重畳判定情報によれば、カメラ画像から検出された全ての物体の中で、「ID_4」が付与された平たい箱の総合スコアが最も高いことが示されている。
 制御部350は、例えばコントローラである。制御部350により提供される各種機能は、例えば、プロセッサ等により、ARグラス30内部に記憶されたプログラム(例えば、本開示に係る情報処理プログラム)が主記憶装置等を作業領域として実行されることにより実現される。プロセッサは、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、SoC(System-on-a-Chip)等により実現できる。また、制御部350により提供される各種機能は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
 図4に示すように、制御部350は、物体認識部351と、位置推定部352と、把持可能判定部353と、操作開始行動判定部354と、重畳対象物体決定部355と、操作仮想物レイアウト決定部356と、移動開始位置決定部357と、アプリケーション実行部358と、出力制御部359とを有する。制御部350は、これらの各部により、後述するARグラス30の作用及び機能を実現又は実行する。
 制御部350を構成する各ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の各ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各ブロックがそれぞれ1つのプロセッサ又は1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部350は、図4において各ブロックで示される機能単位とは異なる機能単位で構成されていてもよい。
<3-2-1.把持可能判定>
 以下、ARグラス30の把持可能判定時の動作について説明する。ARグラス30において実行される把持可能判定は、物体認識部351、位置推定部352、及び把持可能判定部353により実現される。
 物体認識部351は、カメラ311から取得するカメラ画像の物体認識処理を実行する。物体認識部351は、任意の手法により、物体認識処理を実行できる。物体認識部351は、カメラ画像から検出した認識物体に対して、認識物体に固有の識別情報を付与する。物体認識部351は、カメラ画像から検出した認識物体に対して、物体の認識結果を付与する。物体認識部351は、把持判定情報格納部341の「検出物体ID」の項目に識別情報を登録し、把持判定情報格納部341の「認識名称」の項目に認識結果を登録する。
 位置推定部352は、カメラ画像から検出された物体の3次元位置を推定する。位置推定部352は、カメラ311から取得するRGB画像と距離画像とに基づいて、認識物体の位置を推定する。位置推定部352は、対応する検出物体IDに関連付けて位置の情報を記録する。
 把持可能判定部353は、認識物体の位置の追跡(位置トラッキング)を実行することにより認識物体の把持可否を判定する。把持可能判定部353は、例えば、ARグラス30の起動するたびに、カメラ画像の物体認識及び位置推定を実行する。そして、把持可能判定部353は、ARグラス30の起動の前後で、対応する認識物体が大きく移動しているか否かに基づいて、把持の可否を判定する。図7は、本開示の実施形態に係る認識物体の把持可能判定の概要を示す図である。
 図7に示すように、把持可能判定部353は、ARグラス30の起動の前後で、認識物体B~Bの各移動距離が予め定められる閾値を超えているか否かを判定する。判定の結果、認識物体B~Bのうち、認識物体Bの移動距離が予め定められる閾値を超えている場合、把持可能判定部353は、認識物体Bを把持可能と判定する。例えば、把持可能判定部353は、撮影場所の絶対座標系が既知であることを前提として、ARグラス30の起動の前後における認識物体の3次元位置の変化から、認識物体の移動距離を算出する。把持可能判定部353は、対応する検出物体ID「ID_4」に関連付けて、認識物体Bが把持可能であることを示す判定結果(「可能」)を把持判定情報格納部341に記録する。
 また、前述した把持可能判定部353による認識物体の把持可否を判定方法は一例に過ぎず、この例には特に限定される必要はない。例えば、ARグラス30は、起動の前後における認識物体の相対的な位置関係の変化に基づいて、認識物体の移動を判定してもよい。また、ARグラス30は、認識物体に予め信号発信機が搭載されている場合、信号発信機から発信される信号を取得し、取得した信号に基づいて認識物体の移動を判定してもよい。
 また、ARグラス30は、移動距離が閾値を超えたことを条件として、認識物体を把持可能と判定する例には特に限定されず、移動を把持可能とする条件としなくてもよい。例えば、ARグラス30のユーザPxの手のサイズと、認識物体のサイズ等に基づいて、ユーザPxが把持可能な否かを判定してもよい。また、認識物体の重量を推定できる場合、推定した重量を把持可能な否かを判定する際に加味してもよい。
 また、把持可能判定部353は、把持可能と判定した認識物体に対して、把持可能であることを示すARマーカを付与してもよい。図8は、本開示の実施形態に係る目印情報の登録例を示す図である。図8に示すように、把持可能判定部353は、検出物体IDが「ID_4」である認識物体Bを把持可能と判定した場合、認識物体Bに付与するARマーカを生成する。そして、把持可能判定部353は、把持可能情報において、認識物体Bに対応する検出物体ID「ID_4」に関連付けられた「登録済みマーカ」の項目を「なし」から「あり」に更新する。なお、ARグラス30は、ユーザPxが把持可能と判定した認識物体Bを把持しようとした場合、又は実際に把持した場合に、ARマーカを生成し、認識物体Bに対してARマーカを登録してもよい。これにより、ARグラス30において、把持可能な物体の認識精度を向上できる。
<3-2-2.操作開始行動の判定>
 以下、ARグラス30による操作開始行動判定時の動作について説明する。ARグラス30において実行される操作開始行動判定は、操作開始行動判定部354により実現される。図9は、本開示の実施形態に係る操作開始行動判定の概要を示す図である。
 操作開始行動判定部354は、カメラ311により取得される距離情報に基づき、ARグラス30を装着しているユーザ(例えば、ユーザPx)の手の3次元位置を取得する。操作開始行動判定部354は、ARグラス30のユーザの手の3次元位置と、ARグラス30の3次元位置とに基づいて、ARグラス30のユーザの手の移動が操作仮想物OBを用いた操作開始行動であるかを判定する。つまり、操作開始行動判定部354は、ARグラス30のユーザが操作仮想物OBを用いた操作を行おうとしているかを判定する。
 図9に示すように、操作開始行動判定部354は、ユーザの手H_Pxの位置を、ARグラスの表示領域である表示部331の表示領域を規定する平面上にない任意の点から、ARグラスの表示領域である表示部331の表示領域を規定する平面に射影する。これにより、操作開始行動判定部354は、ユーザの手H_Pxの射影位置PJHを取得する。操作開始行動判定部354は、ユーザの手H_Pxの射影位置PJHと操作仮想物OBとの距離dが予め定められる閾値D以下となるまで、射影位置PJHと操作仮想物OBとの距離算出を継続する(ステップPr~ステップPr)。
 そして、操作開始行動判定部354は、射影位置PJH3と操作仮想物OBと距離d3が予め定められる閾値D以下となった場合、その位置におけるユーザの手H_Pxの滞留時間を計測する(ステップPr)。このとき、操作開始行動判定部354は、例えば、ユーザの手H_Pxの滞留時間の計測時、ユーザの手H_Pxが操作仮想物OBを操作可能な位置にあることを示すように操作仮想物OBの表示態様を変更する。
 操作開始行動判定部354は、ユーザの手H_Pxの滞留時間が一定時間(閾値T)を超えた場合、ARグラス30のユーザの手H_Pxの移動が操作仮想物OBを用いた操作開始行動であると決定する。このとき、操作開始行動判定部354は、操作仮想物OBを用いた操作開始行動が認識されたことをユーザに通知するため、操作仮想物OBの表示態様をさらに変更する。
<3-2-3.重畳対象物体の決定>
 以下、ARグラス30による重畳対象物体決定時の動作について説明する。ARグラス30において実行される重畳対象物体の決定は、重畳対象物体決定部355により実現される。重畳対象物体決定部355は、操作開始行動判定部354により操作開始行動が認識されると、把持可能と判定された複数の認識物体の中から、操作仮想物を重畳する重畳対象物体を決定する。図10は、本開示の実施形態に係る重畳対象物体決定の概要を示す図である。なお、以下の説明では、重畳対象物体決定部355は、各認識物体について処理を行っているが、把持可能と判定された物体のみについて処理を行ってもよい。
 図10に示すように、重畳対象物体決定部355は、認識物体の位置と、ユーザの手H_Pxの位置とを取得する。重畳対象物体決定部355は、認識物体までの位置と、ユーザの手H_Pxの位置とに基づいて、認識物体とユーザの手H_Pxとの距離d_Bを算出する。また、重畳対象物体決定部355は、ハンドセンサ20から取得する検出結果から、ユーザの手H_Pxと物体までの距離を取得してもよい。
 重畳対象物体決定部355は、算出した距離d_Bに応じた点数である距離スコアを決定する。距離スコアは、予め定められた基準に基づいて決定される。例えば、距離スコアは、予め距離d_Bが小さいほど大きくなる。つまり、重畳対象物体決定部355は、ユーザの手H_Pxにより近い認識物体を重畳対象として高く評価する。
 また、重畳対象物体決定部355は、認識物体の中心B4cとユーザの手H_Pxの中心Hとを結ぶベクトルVTと、ユーザの手H_Pxを包含する平面を規定する法線ベクトルVTとの内積を算出する。重畳対象物体決定部355は、算出した内積値に応じた点数である内積スコアを決定する。内積スコアは、予め定められた基準に基づいて決定される。例えば、内積スコアは、ベクトルVTと、法線ベクトルVTとのなす角θが小さいほど大きくなる。つまり、重畳対象物体決定部355は、ユーザの手H_Pxの手のひらに対して正対している認識物体を重畳対象として高く評価する。
 重畳対象物体決定部355は、距離スコアと内積スコアとを合算した総合スコアを算出する。そして、重畳対象物体決定部355は、総合スコアが最も高い認識物体を重畳対象物体に決定する。図10に示す例によれば、検出物体ID「ID_4」の認識物体の総合スコアが最も高いことが示されている。
<3-2-4.操作仮想物のレイアウト決定>
 以下、ARグラス30による操作仮想物のレイアウト決定時の動作について説明する。ARグラス30において実行される操作レイアウト決定は、操作仮想物レイアウト決定部356により実現される。操作仮想物レイアウト決定部356は、重畳対象物体の幾何情報を取得し、取得した幾何情報に基づいて、操作仮想物のレイアウトを決定する。図11は、本開示の実施形態に係る操作開始行動判定の概要を示す図である。
 図11に示すように、操作仮想物レイアウト決定部356は、表示部331の表示領域に、操作仮想物OBを予め設定された初期形状で表示する(ステップPr11)。
 操作仮想物レイアウト決定部356は、重畳対象物体の幾何情報に基づいて、操作仮想物OBのレイアウト(形状)を変更する(ステップPr12)。具体的には、操作仮想物レイアウト決定部356は、重畳対象物体に決定された認識物体Bの幾何情報を取得する。操作仮想物レイアウト決定部356は、例えば、物体認識部351の認識結果から、認識物体Bが表面の平らな板状の物体であるという幾何情報を取得する。操作仮想物レイアウト決定部356は、取得した幾何情報に基づいて、操作仮想物OBの形状を板状に変更した操作仮想物OBを表示部331に表示する。つまり、操作仮想物レイアウト決定部356は、認識物体Bへの重畳に適するように、操作仮想物OBの形状を変更する。
 操作仮想物レイアウト決定部356は、ユーザPxの手に装着されるハンドセンサ20の分解能力情報を取得し、取得した分解能力情報に基づいて、操作仮想物OBのレイアウト(構成)を決定する(ステップPr13)。具体的には、操作仮想物レイアウト決定部356は、ハンドセンサ20の分解能力により、キー操作の検出が可能であると判断した場合、操作仮想物OBの表面の構成を、十字キーや丸ボタンを配置した構成に変更する。
<3-2-5.操作仮想物の移動>
 以下、ARグラス30による操作仮想物の移動時の動作について説明する。ARグラス30において実行される操作仮想物の移動は、移動開始位置決定部357、アプリケーション実行部358、及び出力制御部359により実現される。
 移動開始位置決定部357は、操作対象物の移動開始位置を決定する。移動開始位置決定部357は、ユーザ(例えば、ユーザPx)の手の射影位置と、重畳対象物体である認識物体との位置に基づいて、操作仮想物の移動開始位置を決定する。
 アプリケーション実行部358は、OSが提供する実行環境下で、アプリケーションプログラムを実行する。アプリケーション実行部358は、複数のアプリケーションプログラムを同時に並行して実行してもよい。アプリケーション実行部358がARプログラムを実行することにより、ARグラス30のユーザにより視認される現実空間に操作仮想物を重畳表示し、ユーザに提示するための各種機能が実現される。
 例えば、アプリケーション実行部358は、カメラ311により取得されたカメラ画像に基づき、周囲の3次元情報を取得できる。アプリケーション実行部358は、カメラ311がToFカメラを備えている場合、ToFカメラの機能を用いて得られた距離情報に基づき周囲の3次元情報を取得できる。アプリケーション実行部358は、マイク315により取得される音信号を解析し、ARグラス30のユーザの音声入力による指示を取得できる。
 また、アプリケーション実行部358は、操作仮想物が表示された状態でユーザの手の動きを検知し、検知したユーザの手の動きに連動して、重畳対象物体に近づくように操作仮想物を移動させながらユーザに提示する処理を実行する。
 また、アプリケーション実行部358は、操作仮想物を移動させる際、ユーザの手の位置を、表示部331の表示領域を規定する平面上にない任意の点から、表示部331の表示領域を規定する平面へ射影したユーザの手の射影位置と、表示領域における操作仮想物の表示位置とに基づいて、操作仮想物を移動させる処理を実行する。
 また、アプリケーション実行部358は、操作仮想物を移動させる際、ユーザの手の射影位置と、操作仮想物の表示位置とが重複しないように、操作仮想物を移動させる処理を実行する。
 また、アプリケーション実行部358は、操作仮想物を移動させる際、ユーザの手の射影位置と、重畳対象物体の位置を表示部331の表示領域を規定する平面へ射影した重畳対象物体の射影位置との結ぶ線上に沿って、操作仮想物の表示位置がユーザの手の射影位置に先行するように操作仮想物を移動させる処理を実行する。
 また、アプリケーション実行部358は、重畳対象物体の射影位置に到達するまで操作仮想物を移動させる処理を実行する。
 また、アプリケーション実行部358は、重畳対象物体の射影位置に到達するまで操作仮想物を移動させた後、重畳対象物体に操作対象物を重畳表示してユーザに提示する処理を実行する。
 出力制御部359は、アプリケーション実行部358によるARプログラムの実行結果に基づいて、表示部331および音響出力部332への出力を制御する。例えば、出力制御部359は、センサ部310が有する加速度センサ312、ジャイロセンサ313、及び方位センサ314などの検出結果に基づいて、ユーザの頭部の動き(視野範囲)を特定する。そして、出力制御部359は、ユーザの頭部の動き(視野範囲の移動)に追従して、表示部331における操作仮想物の表示を制御する。
 また、出力制御部359は、第1表示部331Rおよび第2表示部331Lを透過してユーザに視認される現実空間に対して操作仮想物を重畳表示させる。
 図12は、本開示の実施形態に係る操作仮想物の移動の概要を示す図である。図13は、本開示の実施形態に係る操作仮想物の重畳表示例を示す図である。図12に示すように、移動開始位置決定部357は、ARグラス30のユーザ(例えば、ユーザPx)の手の射影位置PJH(例えば、中指の射影位置)と、重畳対象物体(認識物体B)の位置を表示部331の表示領域を規定する平面へ射影した重畳対象物体(認識物体B)の射影位置PJBとの結ぶ線上に、操作仮想物OBの移動開始位置(SP)を決定する。例えば、移動開始位置決定部357は、ユーザの手の射影位置PJH(例えば、中指の射影位置)と、重畳対象物体(認識物体B)の射影位置PJBとの結ぶ線分の中間地点を移動開始位置(SP)とできる。
 アプリケーション実行部358は、移動開始位置(SP)に操作仮想物OBを表示するように出力制御部359に指示する。出力制御部359は、アプリケーション実行部358の指示に従って、表示部331における移動開始位置(SP)に対応する位置に操作仮想物OBを表示する(ステップPr21)。
 移動開始位置(SP)に操作仮想物OBを表示後、アプリケーション実行部358は、操作仮想物OBが表示された状態でユーザの手の動きを検知し、検知したユーザの手の動きに連動して、重畳対象物体(認識物体B)に近づくように操作仮想物OBを移動させる移動予定経路を決定する。例えば、アプリケーション実行部358は、操作仮想物OBを移動させる際、ユーザの手の射影位置PJHと、操作仮想物OBの表示位置とが重複しないように、操作仮想物OBを移動させるための移動予定経路を決定する。具体的には、アプリケーション実行部358は、ユーザの手の射影位置PJHと、重畳対象物体(認識物体B)の射影位置PJBとの結ぶ線上に沿って、操作仮想物OBの表示位置がユーザの手の射影位置PJHに先行するように操作仮想物OBを移動させるための移動予定経路を決定する。出力制御部359は、アプリケーション実行部358により決定された移動予定経路に従って、表示部331における操作仮想物OBの表示を制御する(ステップPr22)。図12に示す例によれば、操作仮想物OBが、ユーザの手の射影位置PJHに先行して、移動予定経路上の中間地点(HW)まで移動している様子が示されている。
 そして、アプリケーション実行部358は、重畳対象物体(認識物体B)の射影位置PJBに到達するまで操作仮想物OBを移動させると、重畳対象物体(認識物体B)に対して操作仮想物OBを重畳表示させることを決定する。
 出力制御部359は、図13に示すように、アプリケーション実行部358の決定に従い、重畳対象物体(認識物体B)に対して操作仮想物OBが重畳表示されるように表示部331の表示を制御し、ユーザに提示する。
<<4.処理手順例>>
 以下、図14~図18を用いて、実施形態に係るARグラス30の処理手順例について説明する。
<4-1.把持可能判定処理>
 図14は、本開示の実施形態に係る把持可能判定処理の処理手順の一例を示すフローチャートである。図14に示す処理手順は、ARグラス30の制御部350により実行される。図14に示す処理手順は、例えば、ARグラス30の起動に伴って実行される。
 図14に示すように、物体認識部351は、カメラ画像の物体認識を実行する(ステップS101)。位置推定部352は、認識物体の位置推定を実行し、位置情報を記録する(ステップS102)。
 把持可能判定部353は、認識物体の位置を追跡する(ステップ103)。そして、把持可能判定部353は、認識物体の移動距離が予め定められる閾値DT1を超えているか否かを判定する(ステップS104)。
 把持可能判定部353は、判定の結果、認識物体の移動距離が閾値DT1を超えていると判定した場合(ステップS104;Yes)、該当の認識物体を把持可能として記録する(ステップS105)。
 把持可能判定部353は、全ての認識物体について位置の追跡を終了したか否かを判定する(ステップS106)。把持可能判定部353は、全ての認識物体について位置の追跡を終了していると判定した場合(ステップS106;Yes)、図14に示す処理手順を終了する。一方、把持可能判定部353は、全ての認識物体について位置の追跡を終了していないと判定した場合(ステップS106;No)、上述したステップS103の処理手順に戻り、追跡が完了していない認識物体について処理を実行する。
<4-2.操作開始行動判定処理>
 図15は、本開示の実施形態に係る操作開始行動判定処理の処理手順の一例を示すフローチャートである。図15に示す処理手順は、ARグラス30の制御部350により実行される。
 図15に示すように、操作開始行動判定部354は、ARグラス30を装着しているユーザ(例えば、ユーザPx)の手の位置情報(3次元位置)を取得する(ステップS201)。また、操作開始行動判定部354は、ARグラス30の位置情報(3次元位置)を取得する(ステップS202)。
 続いて、操作開始行動判定部354は、ユーザの手の位置情報と、ARグラスの位置情報とに基づいて、ユーザの手と、ユーザに提示する操作仮想物との距離dを算出する(ステップS203)。具体的には、操作開始行動判定部354は、ユーザの手の3次元位置と、ARグラス30の3次元位置とに基づいて、ユーザの手の位置を、ARグラス30の表示領域である表示部331の表示領域を規定する平面上にない任意の点から、ARグラスの表示領域である表示部331の表示領域を規定する平面に射影する。これにより、操作開始行動判定部354は、ユーザの手の射影位置を取得する。これにより、操作開始行動判定部354は、ユーザの手の射影位置と、表示部331の表示領域に提示される操作仮想物との距離dを算出する。
 操作開始行動判定部354は、ユーザの手と、ユーザに提示する操作仮想物との距離dが予め定められる閾値DT2以下であるか否かを判定する(ステップS204)。
 操作開始行動判定部354は、ユーザの手と、ユーザに提示する操作仮想物との距離dが閾値DT2以下であると判定した場合(ステップS204;Yes)、ユーザの手が一定時間滞留しているか否かを判定する(ステップS205)。
 操作開始行動判定部354は、ユーザの手が一定時間滞留していると判定した場合(ステップS205;Yes)、ユーザの動作を操作開始行動と決定し(ステップS206)、図15に示す処理手順を終了する。
 前述のステップS204において、操作開始行動判定部354は、ユーザの手と、ユーザに提示する操作仮想物との距離dが閾値DT2以下ではなないと判定した場合(ステップS204;No)、前述したステップS203の処理手順に戻り、距離dの算出を継続する。
 前述のステップS205において、操作開始行動判定部354は、ユーザの手が一定時間滞留していないと判定した場合(ステップS205;No)、前述したステップS203の処理手順に戻り、距離dの算出を継続する。
<4-3.重畳対象物体決定処理>
 図16は、本開示の実施形態に係る重畳対象物体決定処理の処理手順の一例を示すフローチャートである。図16に示す処理手順は、ARグラス30の制御部350により実行される。
 図16に示すように、重畳対象物体決定部355は、ユーザの手と各物体との間の距離を物体ごとに算出する(ステップS301)。なお、ステップS301において、各物体は、カメラ画像から検出された認識物体のうち把持可能と判定された物体に該当する。
 重畳対象物体決定部355は、ユーザの手との距離に応じて、各物体に対して距離スコアを付与する(ステップS302)。
 続いて、重畳対象物体決定部355は、ユーザの手(手のひらの中心)と、各物体(の中心)とを結ぶベクトルVTを算出する(ステップS303)。
 続いて、重畳対象物体決定部355は、ユーザの手を包含する平面を規定する法線ベクトルVTを算出する(ステップS304)。
 続いて、重畳対象物体決定部355は、各物体に対応するベクトルVTと、法線ベクトルVTとの内積をそれぞれ算出する(ステップS305)。
 続いて、重畳対象物体決定部355は、各物体の内積値に応じた内積スコアを付与する(ステップS306)。
 続いて、重畳対象物体決定部355は、各物体の距離スコアと内積スコアとを合算して、各物体の総合スコアを算出する(ステップS307)。
 重畳対象物体決定部355は、総合スコアが最も高い物体を重畳対象物体に決定し(ステップS308)、図16に示す処理手順を終了する。
<4-4.操作仮想物レイアウト決定処理>
 図17は、本開示の実施形態に係る操作仮想物レイアウト決定処理の処理手順の一例を示すフローチャートである。図17に示す処理手順は、ARグラス30の制御部350により実行される。
 図17に示すように、操作仮想物レイアウト決定部356は、重畳対象物体の幾何情報を取得する(ステップS401)。
 操作仮想物レイアウト決定部356は、取得した幾何情報に基づいて、操作仮想物のレイアウト(形状)を決定する(ステップS402)。
 続いて、操作仮想物レイアウト決定部356は、ハンドセンサ20の分解能力情報を取得する(ステップS403)。
 操作仮想物レイアウト決定部356は、取得したハンドセンサ20の分解能力情報に基づいて、操作仮想物のレイアウト(表面構成)を決定し(ステップS404)、図17に示す処理手順を終了する。
<4-5.操作仮想物移動処理>
 図18は、本開示の実施形態に係る操作仮想物レイアウト決定処理の処理手順の一例を示すフローチャートである。図18に示す処理手順は、ARグラス30の制御部350により実行される。
 図18に示すように、移動開始位置決定部357は、ユーザの手の位置と、重畳対象物の位置との中間地点Mを算出する(ステップS501)。ステップS501において、ユーザの手の位置および重畳対象物の位置は、それぞれの位置を表示部331の表示領域へ射影した射影位置に該当する。そして、移動開始位置決定部357は、中間地点Mを操作仮想物の移動開始位置に決定する(ステップS502)。
 出力制御部359は、アプリケーション実行部358の指示に従って、移動開始位置に操作仮想物を表示する(ステップS503)。
 アプリケーション実行部358は、重畳対象物の位置(射影位置)を操作仮想物の移動終了位置に決定する(ステップS504)。
 アプリケーション実行部358は、移動開始位置と移動終了位置とに基づいて、操作仮想物の移動予定経路を決定する(ステップS505)。
 アプリケーション実行部358は、ユーザの手の位置の追跡(位置トラッキング)を開始する(ステップS506)。
 アプリケーション実行部358は、出力制御部359と連携し、ユーザの手の位置と操作仮想物の位置とが重ならないように、移動予定経路に沿って操作仮想物を移動させる(ステップS507)。
 アプリケーション実行部358は、操作仮想物が移動終了位置に到達したかを判定する(ステップS508)。
 アプリケーション実行部358は、操作仮想物が移動終了位置に到達していないと判定した場合(ステップS508;No)、前述したステップS507に戻り、出力制御部359と連携しつつ、操作仮想物の移動を継続する。
 一方、アプリケーション実行部358は、操作仮想物が移動終了位置に到達していると判定した場合(ステップS508;Yes)、出力制御部359と連携しつつ、操作仮想物の移動を停止し、操作仮想物を重畳対象物体に重畳表示して(ステップS509)、図18に示す処理手順を終了する。
<<5.変形例>>
<5-1.重畳対象物体について>
 制御部350の重畳対象物体決定部355は、重畳対象物体を決定する際、物体認識の結果に基づいて、認識物体のうち、ユーザの把持に適さない物体を重畳対象物体の候補から除外してもよい。例えば、把持に適さない物体として、把持して操作することにより、内容物がこぼれる可能性のある物体や、加熱され火傷をする可能性の物体などが例示される。
 また、重畳対象物体決定部355は、重畳対象物体を決定する際、物体認識の結果に基づいて、認識物体の中から、事前に登録した自分の所有物を優先してもよい。
 また、重畳対象物体決定部355は、重畳対象物体を決定する際、認識物体のうち、距離が近い物体を優先してもよい。
 また、重畳対象物体決定部355は、ユーザの特性に基づいて、重畳対象物体を決定してもよい。ユーザの特性として、身体測定値、ハンデキャップの情報、及び利き腕の情報などが例示される。
 例えば、重畳対象物体決定部355は、ユーザの身長を事前に取得している場合、ユーザの身長に基づいて、重畳対象物を決定してもよい。例えば、ユーザの身長が180cmであるとき、認識物体の中から、170cm近辺にある物体を重畳対象物体に決定できる。
 また、例えば、重畳対象物体決定部355は、ユーザが青色に対する色覚異常を持っているという情報を事前に取得している場合、認識物体のうち、表面が青色の物体以外の物体の中から、重畳対象物体を決定してもよい。
 また、例えば、重畳対象物体決定部355は、ユーザの利き腕が左腕であるという情報を事前に取得している場合、認識物体の中から、ユーザの正面に向かって左側にある物体を重畳対象物体に決定してもよい。
 また、重畳対象物体決定部355は、ユーザの行動情報に基づいて、重畳対象物体を決定してもよい。例えば、重畳対象物体決定部355は、ユーザの行動状態として徒歩での移動が検出された場合、認識物体のうち、ユーザの前方にある物体の中から、重畳対象物体を決定してもよい。
 また、重畳対象物体決定部355は、重畳対象物体を複数決定してもよい。例えば、重畳対象物体決定部355により重畳対象物体が2つ決定された場合、ARグラス30は、操作仮想物を2つに分けて、操作仮想物を1つずつ、重畳対象物体に個別に重畳させてもよい。
 また、重畳対象物体決定部355は、ユーザの周囲にある実物体の中から重畳対象物を決定するのではなく、ハンドセンサ20などのようにユーザが身に着けているものを重畳対象物体としてもよい。
 また、ARグラス30は、ユーザの移動状況に応じて、重畳対象物体を改めて決定してもよい。
 また、ARグラス30は、操作仮想物を実物体である重畳対象物に重畳させずに、スマートフォンやウェアラブル端末などの電子機器が有するディスプレイに電子的に直接表示させてもよい。
<5-2.操作仮想物のレイアウトについて>
 前述の実施形態において、操作仮想物レイアウト決定部356は、重畳対象物体を把持したときのユーザの手の位置に基づいて、操作仮想物のレイアウトを変更してもよい。図19は、変形例に係る操作仮想物のレイアウト変更例を示す図である。
 図19の左図に示すように、操作仮想物レイアウト決定部356は、重畳対象物体を把持した時のユーザの手H_Pxの位置が、表示部331における操作仮想物OBの表示位置に干渉しない場合、操作仮想物OBのレイアウトを変更しない。一方、図19の右図に示すように、操作仮想物レイアウト決定部356は、重畳対象物体を把持した時のユーザの手の位置が、表示部331における操作仮想物OBの表示位置に干渉する場合、操作仮想物OBのレイアウトを変更する。
<5-3.操作仮想物の移動時の触覚的な刺激の提供>
 前述の実施形態において、アプリケーション実行部358は、移動開始位置を移動終了位置として操作仮想物を予めユーザに提示する場合、ユーザの手の位置と、操作仮想物との位置関係の変化に応じて、所定の波形パターンによる振動を出力するように、ハンドセンサ20に指示してもよい。図20は、変形例に係る操作仮想物の移動に伴う触覚的な刺激の提供例を示す図である。
 図20に示すように、アプリケーション実行部358は、まず、移動開始位置を移動終了位置として、操作仮想物OBを重畳対象物(認識物体B)に重畳表示してユーザに提示する。
 アプリケーション実行部358は、ユーザの手H_pxの射影位置PJHが移動終了位置(操作仮想物OB)に近づいている場合(CS1)、予め設定される周期的な振動パターンの振動を出力するようにハンドセンサ20に指示を送信する。ハンドセンサ20は、ARグラスからの指示に従って振動する。
 アプリケーション実行部358は、ユーザの手H_pxの射影位置PJHが移動終了位置(操作仮想物OB)に接近し、操作仮想物OBを操作可能となった段階(時刻t1)で、周期的な振動パターンから定常的な振動パターンで振動させるようにハンドセンサ20に指示を送信する。ハンドセンサ20は、ARグラス30からの指示に従って振動する。また、アプリケーション実行部358は、操作仮想物OBの操作が開示された段階(時刻t2)で、振動させるようにハンドセンサ20に指示を送信する。ハンドセンサ20は、ARグラスからの指示に従って振動を停止する。
 アプリケーション実行部358は、ユーザの手H_pxの射影位置PJHが移動終了位置(操作仮想物OB)から遠ざかっている場合(CS2)、CS1の場合よりも振幅が大きい振動パターンの振動を出力するようにハンドセンサ20に指示を送信する。ハンドセンサ20は、ARグラス30からの指示に従って振動する。
<5-4.システム構成の変更>
 前述の実施形態では、ARグラスシステム1Aが有するARグラス30が、物体認識及び位置推定の機能を備える例を説明したが、この例には特に限定される必要はない。例えば、ARグラス30が備える物体認識及び位置推定の機能を外部のサーバ装置に分散してもよい。以下、変形例に係るARグラスシステム1Bの構成例を説明する。図21は、変形例に係るARグラスシステムの構成例を示す図である。図22は、変形例に係るサーバ装置の機能構成例を示すブロック図である。
 図21に示すように、変形例に係るARグラスシステム1Bは、サーバ装置10と、ハンドセンサ20と、ARグラス30とを有する。ARグラスシステム1Bは、サーバ装置10を有する点で、前述のARグラスシステム1Aとは相違する。なお、図21に示すARグラスシステム1Bの構成要素数は、例示であり、図21に示す例よりも多くのサーバ装置10、ハンドセンサ20、及びARグラス30を有してよい。
 サーバ装置10及びARグラス30は、ネットワーク2に接続される。サーバ装置10及びARグラス30は、ネットワーク2を通じて、相互に通信できる。ARグラス30は、サーバ装置10に対して、カメラ画像などのデータをアップロートする。また、ARグラス30は、サーバ装置10に蓄積された認識物体の情報などをダウンロードして利用する。
 図22に示すように、サーバ装置10は、通信部110と、記憶部120と、制御部130とを有する。
 通信部110は、ネットワーク2を介して、ARグラス30と通信する。通信部110は、ARグラスシステム1Bの処理に関するデータを送受信する。
 記憶部120は、制御部130により実行される各種処理機能を実現するためのプログラム及びデータ等を記憶する。記憶部120は、制御部130がネットワーク2を通じてARグラス30から受信したカメラ画像のデータや、制御部130がカメラ画像を解析することにより得られる認識物体の情報などを記憶する。
 制御部130は、例えばコントローラである。制御部130により提供される処理機能は、プロセッサ等により、サーバ装置10内部に記憶されたプログラムが主記憶装置等を作業領域として実行されることにより実現される。
 図22に示すように、制御部130は、認識部131と推定部132とを有する。
 認識部131は、ARグラスシステム1AにおいてARグラス30が有する物体認識部351と同様の処理機能を提供する。認識部131は、ARグラス30からアップロードされたカメラ画像を解析し、カメラ画像から検出した認識物体の情報を記憶部120に記録する。
 推定部132は、ARグラスシステム1AにおいてARグラス30が有する位置推定部352と同様の処理機能を提供する。推定部132は、ARグラス30から取得するRGB画像と距離画像とに基づいて、認識物体の位置を推定する。推定部132は、認識部131により検出された認識物体の情報に関連付けて、認識物体の位置情報を記憶部120に記録する。
 ARグラスシステム1Bが有するARグラス30は、サーバ装置10に分散した機能(物体認識部351及び位置推定部352)を備えなくてよい。
 このように、ARグラス30の処理機能の一部をサーバ装置10に分散することにより、ARグラス30の処理負荷を軽減できる。また、サーバ装置10において、複数のARグラス30からアップロードされた情報が共有されることにより、ARグラス30の処理効率を向上させる効果も期待できる。
<5-5.その他の変形例>
 本開示の実施形態及び変形例に係るARグラスシステム1(1A,1B)は、専用のコンピュータシステムで実現してもよいし、汎用のコンピュータシステムで実現してもよい。
 また、本開示の実施形態及び変形例に係るARグラス30の情報処理方法を実現するための各種プログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体等に格納して配布してもよい。このとき、例えば、ARグラス30は、各種プログラムをコンピュータにインストールして実行することにより、本開示の実施形態及び変形例に係る情報処理方法を実現する。
 また、本開示の実施形態及び変形例に係るARグラス30の情報処理方法を実現するための各種プログラムを、インターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、本開示の実施形態及び変形例に係る情報処理方法を実現するための各種プログラムにより提供される機能を、OSとアプリケーションプログラムとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
 また、本開示の実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、本開示の実施形態に係るARグラス30の各構成要素(図4参照)は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
 また、本開示の実施形態は、処理内容を矛盾させない領域で適宜組み合わせることが可能である。また、本開示の実施形態に係るフローチャートに示された各ステップは、適宜順序を変更することが可能である。
<<6.ハードウェア構成例>>
<6-1.ハンドセンサについて>
 図23を用いて、本開示の実施形態及び変形例に適用可能なハンドセンサのハードウェア構成例について説明する。図23は、ハンドセンサのハードウェア構成例を示すブロック図である。
 図23に示すように、ハンドセンサ20に対応する装置2000は、CPU2001と、ROM(Read Only Memory)2002と、RAM2003と、I/F(インターフェイス)2004と、I/F(インターフェイス)2005と、通信装置2006と、センサ2007とを備える。CPU2001と、ROM2002と、RAM2003と、I/F(インターフェイス)2004と、I/F(インターフェイス)2005とは、バス2008を介して相互に接続されている。
 ROM2002は、装置2000を動作させるためのプログラム及びデータが記憶する。RAM2003は、CPU2001がプログラムを実行する際のデータを一時記憶するワークメモリとして機能する。
 I/F(インターフェイス)2004は、通信装置2006との間の通信インターフェイスであり、CPU2001の命令に従って、ARグラス30との間の通信を制御する。I/F(インターフェイス)2005は、センサ2007との間のセンサインターフェイスであり、センサ2007から送出されるセンサ信号をCPU2001に供給する。
 通信装置2006は、ARグラスとの間の通信を実行する。通信装置2006は、センサ2007により検出されたセンサ信号をARグラス30に送信する。センサ2007は、装置2000の位置や姿勢等を検出する。センサ2007は、検出したセンサ信号をCPU2001に供給する。センサ2007は、加速度センサ210や、ジャイロセンサ220や、方位センサ230や、測距センサ240に対応する。
 CPU2001は、I/F(インターフェイス)2005を介して、センサ2007から取得するセンサ信号を、I/F(インターフェイス)2004を介して、通信装置2006に送出する。
<6-2.ARグラスについて>
 図24を用いて、本開示の実施形態及び変形例に適用可能なARグラスのハードウェア構成例について説明する。図24は、ARグラスのハードウェア構成例を示すブロック図である。
 図24に示すように、ARグラス30に対応する情報処理装置3000は、CPU3010と、ROM3020と、RAM3030と、I/F(インターフェイス)3041~3046と、ストレージ3050と、入力装置3060と、出力装置3070と、ドライブ3080と、ポート3090と、通信装置3100と、センサ3110とを有する。表示制御部1506と、オーディオI/F1507と、通信I/F1508と、を含む。情報処理装置3000が有する各部は、バス3120により相互に接続されている。
 CPU3010は、例えば、演算処理装置又は制御装置として機能し、ROM3020に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM3020に記憶される各種プログラムは、ストレージ3050、又はドライブ3080を介して接続される記録媒体4001に記録されてもよい。この場合、CPU3010は、記録媒体4001に記憶されているプログラムに基づいて各構成要素の動作全般又はその一部を制御する。各種プログラムは、情報処理装置3000の情報処理を実現するための各種機能を提供するプログラムを含む。
 ROM3020は、CPU3010に読み込まれるプログラムや演算に用いるデータ等を格納する補助記憶装置として機能する。RAM3030には、例えば、CPU3010に読み込まれるプログラムや、CPU3010に読み込まれるプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される主記憶装置として機能する。
 CPU3010、ROM3020、及びRAM3030は、ソフトウェア(ROM3020等に記憶される各種プログラム)との協働により、前述したARグラス30の制御部350が備える各部(物体認識部351~出力制御部359)の各種機能を実現し得る。CPU3010は、各種プログラムを実行し、I/F(インターフェイス)3041~3046を介して取得するデータを用いて演算処理等を行い、ARグラス30の処理を実行する。
 IF(インターフェイス)3041は、例えば、入力装置3060との間の入力インターフェイスである。IF(インターフェイス)3042は、例えば、出力装置3070との間の出力インターフェイスである。IF(インターフェイス)3043は、例えば、ドライブ3080との間のドライブインターフェイスを含む。IF(インターフェイス)3044は、例えば、ポート3090との間のポートインターフェイスである。IF(インターフェイス)3045は、例えば、通信装置3100との間の通信インターフェイスである。IF(インターフェイス)3046は、例えば、センサ3110との間のセンサインターフェイスである。
 ストレージ3050は、各種のデータを格納するための装置であり、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。前述したARグラスの記憶部340の機能は、ストレージ3050により実現し得る。
 入力装置3060は、例えば、タッチパネル、ボタン、スイッチ、及びレバー等、ユーザによって情報が入力される装置により実現される。入力装置3060は、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラであってもよい。また、入力装置3060として、マイクロフォンなどの音声入力装置が含まれてもよい。IF(インターフェイス)3041は、入力装置3060により入力される各種信号の処理に対応したインターフェイスを含む。
 出力装置3070は、ディスプレイ装置やスピーカ、ヘッドホン等のオーディオ出力装置など、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置である。前述したARグラス30の表示部331及び音響出力部332は、出力装置3070により実現し得る。IF(インターフェイス)3041は、出力装置3070が取扱い可能な各種信号の処理に対応したインターフェイスを含む。
 ドライブ3080は、例えば、記録媒体4001に記録された情報の読み出し、及び記録媒体4001への情報の書き込みを行う装置である。記録媒体4001には、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等が含まれる。
 ポート3090は、外部機器4002を接続するための接続口であり、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS-232Cポート、又は光オーディオ端子等が含まれる。なお、外部機器4002には、プリンタ、携帯音楽プレイヤー、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等が含まれる。
 通信装置3100は、サーバ装置10やハンドセンサ20との通信を行う通信装置である。通信装置3100は、例えば、有線又は無線LAN(Local Area Network)、LTE(Long Term Evolution)、Bluetooth(登録商標)、又はWUSB(Wireless USB)用の通信カード等である。また、通信装置3100は、光通信用のルータ、又は各種通信用モデム等であってもよい。前述したARグラス30の通信部320の機能は、通信装置3100により実現し得る。
 センサ3110は、各種センサであり、前述したARグラスが有するカメラ311、加速度センサ312、ジャイロセンサ313、方位センサ314、マイク315等に該当する。IF(インターフェイス)3046は、各種センサから供給されるセンサ信号の処理に対応したインターフェイスを含む。
<<7.むすび>>
 本開示の実施形態に係るARグラス30(情報処理装置の一例)は、表示部331と、制御部350とを備える。表示部331は、ユーザにより視認される現実空間に重畳されるように仮想的な操作対象物である操作仮想物を表示する。制御部350は、現実空間においてユーザの周囲に実在する複数の物体の中から操作仮想物を重畳させる重畳対象物体を決定し、操作仮想物が表示された状態でユーザの手の動きを検知し、検知したユーザの手の動きに連動して、重畳対象物体に近づくように操作仮想物を移動させながらユーザに提示する。
 このようなことから、ARグラス30は、ユーザの手の動きに連動して、操作仮想物を移動させることにより、ユーザを誘導できる。これにより、ARグラス30は、AR技術において、仮想物を操作する際のユーザビリティを向上できる。
 また、ARグラス30は、ユーザの手の位置を表示部331の表示領域を規定する平面へ射影したユーザの手の射影位置と、表示領域における仮想的な操作対象物の表示位置とに基づいて、この操作対象物を移動させる。これにより、ARグラス30は、簡易な処理でユーザの手と操作仮想物の位置関係を決定できる。
 また、ARグラス30は、ユーザの手の射影位置と、仮想的な操作対象物の表示位置とが重複しないように、この操作対象物を移動させる。これにより、ARグラス30は、操作対象物をユーザに確実に認識させることができる。
 また、ARグラス30は、ユーザの手の射影位置と、重畳対象物体の位置を表示部331の表示領域を規定する平面に射影した重畳対象物体の射影位置との結ぶ線上に沿って、仮想的な操作対象物の表示位置がユーザの手の射影位置に先行するように、この操作対象物を移動させる。これにより、ARグラス30は、ユーザの手を操作対象物に追従させるようにして誘導できる。
 また、ARグラス30は、重畳対象物体の射影位置に到達するまで、仮想的な操作対象物を移動させる。これにより、ARグラス30は、ユーザが重畳対象物体を把持させやすくできる。
 また、ARグラス30は、重畳対象物体の射影位置に到達するまで仮想的な操作対象物を移動させた後、重畳対象物体にこの操作対象物を重畳させてユーザに提示する。これにより、ARグラス30は、ユーザを重畳対象物体まで誘導する一連の流れに続いて、操作対象物の操作を促すことができる。また、操作対象物を操作したときに重畳対象物体から適度な反力がユーザに与えられる結果、リアルな操作感を実現できる。
 また、ARグラス30は、重畳対象物体の幾何情報を取得し、取得した幾何情報に基づいて、仮想的な操作対象物のレイアウトを決定する。これにより、ARグラス30は、重畳対象物体と仮想的な操作対象物の位置ずれを防止できる。
 また、ARグラス30は、ユーザの手に装着されるセンサの分解能力情報を取得し、取得した分解能力情報に基づいて、仮想的な操作対象物のレイアウトを決定する。これにより、ARグラス30は、ハンドセンサ20の能力に合わせたレイアウトの操作対象物をユーザに提供できる。
 また、ARグラス30は、ユーザの周囲を撮像したカメラ画像から検出される複数の認識物体の中から、重畳対象物体を決定する。これにより、ARグラス30は、拡張空間の没入感を演出できる。
 また、ARグラス30は、複数の認識物体の3次元位置と、ユーザの手の3次元位置とに基づいて、認識物体の各々と、ユーザの手との間の距離をそれぞれ算出する。また、ARグラス30は、複数の認識物体の3次元位置と、ユーザの手の3次元位置とを結ぶベクトルと、ユーザの手のひらを含む平面を規定する法線ベクトルとの内積値を複数の認識物体ごとにそれぞれ算出する。また、ARグラス30は、距離及び内積値に基づいて、複数の認識物体の中から重畳対象物体を決定する。これにより、ARグラス30は、ユーザが把持しようとしている可能性が高い物体に対して、仮想的な操作対象物を重畳できる。
 また、ARグラス30は、複数の物体の認識結果に基づいて、ユーザの把持に適さない物体を重畳対象物体の候補から除外する。これにより、ARグラス30は、例えば、液体の入ったグラスなどのように、操作に適さない物体に対する仮想的な操作対象物の重畳を回避できる。
 また、ARグラス30は、ユーザの特性に基づいて、重畳対象物体を決定する。これにより、ARグラス30は、ユーザの特性に合致した物体に、仮想的な操作対象物を重畳できる。
 また、ARグラス30は、ユーザの身体的なハンデキャップに関する情報に基づいて、重畳対象物体を決定する。これにより、ARグラス30は、ユーザにとって不都合がない物体に対して、仮想的な操作対象物を重畳できる。
 また、ARグラス30は、ユーザの利き手の情報に基づいて、重畳対象物体を決定する。これにより、ARグラス30は、ユーザが把持しやすい位置にある物体に対して、仮想的な操作対象物を重畳できる。
 また、ARグラス30は、ユーザの行動状態に基づいて、重畳対象物体を決定する。これにより、ARグラス30は、例えば、ユーザが歩行中である場合には前方にある物体を重畳対象物体に決定するなど、ユーザの行動状態に合致した位置にある物体に対して、仮想的な操作対象物を重畳できる。
 また、ARグラス30は、ユーザの手の位置を表示部331の表示領域を規定する平面へ射影したユーザの手の射影位置と、表示領域における操作対象物の表示位置との間の距離に基づいて、ユーザの手の動きを操作対象物を用いたユーザの操作開始行動として判定する。これにより、ARグラス30は、ユーザの要求に応じて柔軟に動作できる。
 また、ARグラス30は、ユーザの手の射影位置と、仮想的な操作対象物の表示位置との間の距離が予め定められる閾値以下の状態で一定時間を経過した場合、操作開始行動として判定する。これにより、ARグラス30は、操作対象物を利用しようとするユーザの意図の判定精度を高めることができる。
 また、ARグラス30は、ユーザの周囲を撮像したカメラ画像から検出される複数の認識物体の位置を追跡することにより、複数の認識物体が把持可能な物体であるか否かを判定する。これにより、ARグラス30は、複雑な処理を行うことなく、重畳対象物体の候補となる物体を選別できる。
 また、ARグラス30は、把持可能な物体であると判定した物体に対して、目印情報を付与する。これにより、ARグラス30は、一度把持可能と判定した物体の認識精度を高めることができる。
 以上、本開示の実施形態及び変形例について説明したが、本開示の技術的範囲は、上述の実施形態及び変形例に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、異なる実施形態及び変形例にわたる構成要素を適宜組み合わせてもよい。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示の技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者にとって明らかな他の効果を奏しうる。
 なお、本開示の技術は、本開示の技術的範囲に属するものとして、以下のような構成もとることができる。
(1)
 ユーザにより視認される現実空間に重畳されるように仮想的な操作対象物を表示する表示部と、
 前記現実空間においてユーザの周囲に実在する複数の物体の中から前記操作対象物を重畳させる重畳対象物体を決定し、前記操作対象物が表示された状態でユーザの手の動きを検知し、検知したユーザの手の動きに連動して、前記重畳対象物体に近づくように前記操作対象物を移動させながらユーザに提示する制御部と
 を備える情報処理装置。
(2)
 前記制御部は、
 前記ユーザの手の位置を前記表示部の表示領域を規定する平面へ射影した前記ユーザの手の射影位置と、前記表示領域における操作対象物の表示位置とに基づいて、前記操作対象物を移動させる
 前記(1)に記載の情報処理装置。
(3)
 前記制御部は、
 前記ユーザの手の射影位置と、前記操作対象物の表示位置とが重複しないように、前記操作対象物を移動させる
 前記(2)に記載の情報処理装置。
(4)
 前記制御部は、
 前記ユーザの手の射影位置と、前記重畳対象物体の位置を前記平面に射影した前記重畳対象物体の射影位置とを結ぶ線上に沿って、前記操作対象物の表示位置が前記ユーザの手の射影位置に先行するように前記操作対象物を移動させる
 前記(2)または前記(3)に記載の情報処理装置。
(5)
 前記制御部は、
 前記重畳対象物体の射影位置に到達するまで前記操作対象物を移動させる
 前記(4)に記載の情報処理装置。
(6)
 前記制御部は、
 前記重畳対象物体の射影位置に到達するまで操作対象物を移動させた後、前記重畳対象物体に前記操作対象物を重畳させて前記ユーザに提示する
 前記(5)に記載の情報処理装置。
(7)
 前記制御部は、
 前記重畳対象物体の幾何情報を取得し、取得した幾何情報に基づいて、前記操作対象物のレイアウトを決定する
 前記(1)~前記(6)のいずれか1つに記載の情報処理装置。
(8)
 前記制御部は、
 前記ユーザの手に装着されるセンサの分解能力情報を取得し、
 取得した分解能力情報に基づいて、前記操作対象物のレイアウトを決定する
 前記(7)に記載の情報処理装置。
(9)
 前記制御部は、
 前記ユーザの周囲を撮像したカメラ画像から検出される複数の認識物体の中から、前記重畳対象物体を決定する
 前記(1)~前記(8)のいずれか1つに記載の情報処理装置。
(10)
 前記制御部は、
 前記複数の認識物体の3次元位置と、前記ユーザの手の3次元位置とに基づいて、前記認識物体の各々と、前記ユーザの手との間の距離をそれぞれ算出するとともに、
 前記複数の認識物体の3次元位置と、前記ユーザの手の3次元位置とを結ぶベクトルと、前記ユーザの手のひらを含む平面を規定する法線ベクトルとの内積値を前記複数の認識物体ごとにそれぞれ算出し、
 前記距離及び前記内積値に基づいて、前記複数の認識物体の中から前記重畳対象物体を決定する
 前記(9)に記載の情報処理装置。
(11)
 前記制御部は、
 前記複数の物体の認識結果に基づいて、ユーザの把持に適さない物体を前記重畳対象物体の候補から除外する
 前記(1)~前記(10)のいずれか1つに記載の情報処理装置。
(12)
 前記制御部は、
 前記ユーザの特性に基づいて、前記重畳対象物体を決定する
 前記(1)~前記(11)のいずれか1つに記載の情報処理装置。
(13)
 前記制御部は、
 前記ユーザの身体的なハンデキャップに関する情報に基づいて、前記重畳対象物体を決定する
 前記(12)に記載の情報処理装置。
(14)
 前記制御部は、
 前記ユーザの利き手の情報に基づいて、前記重畳対象物体を決定する
 前記(12)に記載の情報処理装置。
(15)
 前記制御部は、
 前記ユーザの手の位置を前記表示部の表示領域を規定する平面へ射影した前記ユーザの手の射影位置と、前記表示領域における前記操作対象物の表示位置との間の距離に基づいて、前記ユーザの手の移動を前記操作対象物を用いた前記ユーザの操作開始行動として判定する
 前記(1)に記載の情報処理装置。
(16)
 前記制御部は、
 前記ユーザの手の射影位置と、前記操作対象物の表示位置との間の距離が予め定められる閾値以下の状態で一定時間を経過した場合、前記操作開始行動として判定する
 前記(15)に記載の情報処理装置。
(17)
 前記制御部は、
 前記ユーザの周囲を撮像したカメラ画像から検出される複数の認識物体の位置を追跡することにより、前記複数の認識物体が把持可能な物体であるか否かを判定する
 前記(1)に記載の情報処理装置。
(18)
 前記制御部は、
 把持可能な物体であると判定した物体に対して、目印情報を付与する
 前記(17)に記載の情報処理装置。
(19)
 プロセッサが、
 ユーザにより視認される現実空間に重畳されるように仮想的な操作対象物を表示し、
 前記現実空間においてユーザの周囲に実在する複数の物体の中から前記操作対象物を重畳させる重畳対象物体を決定し、
 前記操作対象物が表示された状態でユーザの手の動きを検知し、
 検知したユーザの手の動きに連動して、前記重畳対象物体に近づくように前記操作対象物を移動させながらユーザに提示する
 情報処理方法。
(20)
 プロセッサに、
 ユーザにより視認される現実空間に重畳されるように仮想的な操作対象物を表示させ、
 前記現実空間においてユーザの周囲に実在する複数の物体の中から前記操作対象物を重畳させる重畳対象物体を決定させ、
 前記操作対象物が表示された状態でユーザの手の動きを検知させ、
 検知したユーザの手の動きに連動して、前記重畳対象物体に近づくように前記操作対象物を移動させながらユーザに提示させる
 情報処理プログラム。
1(1A,1B) ARグラスシステム
2 ネットワーク
10 サーバ装置
20 ハンドセンサ
30 ARグラス
110 通信部
120 記憶部
130 制御部
131 認識部
132 推定部
210 加速度センサ
220 ジャイロセンサ
230 方位センサ
240 測距センサ
310 センサ部
311 カメラ
312 加速度センサ
313 ジャイロセンサ
314 方位センサ
315 マイク
320 通信部
330 出力部
331 表示部
332 音響出力部
340 記憶部
341 把持判定情報格納部
342 重畳判定情報格納部
350 制御部
351 物体認識部
352 位置推定部
353 把持可能判定部
354 操作開始行動判定部
355 重畳対象物体決定部
356 操作仮想物レイアウト決定部
357 移動開始位置決定部
358 アプリケーション実行部
359 出力制御部

Claims (20)

  1.  ユーザにより視認される現実空間に重畳されるように仮想的な操作対象物を表示する表示部と、
     前記現実空間においてユーザの周囲に実在する複数の物体の中から前記操作対象物を重畳させる重畳対象物体を決定し、前記操作対象物が表示された状態でユーザの手の動きを検知し、検知したユーザの手の動きに連動して、前記重畳対象物体に近づくように前記操作対象物を移動させながらユーザに提示する制御部と
     を備える情報処理装置。
  2.  前記制御部は、
     前記ユーザの手の位置を前記表示部の表示領域を規定する平面へ射影した前記ユーザの手の射影位置と、前記表示領域における操作対象物の表示位置とに基づいて、前記操作対象物を移動させる
     請求項1に記載の情報処理装置。
  3.  前記制御部は、
     前記ユーザの手の射影位置と、前記操作対象物の表示位置とが重複しないように、前記操作対象物を移動させる
     請求項2に記載の情報処理装置。
  4.  前記制御部は、
     前記ユーザの手の射影位置と、前記重畳対象物体の位置を前記平面に射影した前記重畳対象物体の射影位置とを結ぶ線上に沿って、前記操作対象物の表示位置が前記ユーザの手の射影位置に先行するように前記操作対象物を移動させる
     請求項3に記載の情報処理装置。
  5.  前記制御部は、
     前記重畳対象物体の射影位置に到達するまで前記操作対象物を移動させる
     請求項4に記載の情報処理装置。
  6.  前記制御部は、
     前記重畳対象物体の射影位置に到達するまで操作対象物を移動させた後、前記重畳対象物体に前記操作対象物を重畳させて前記ユーザに提示する
     請求項5に記載の情報処理装置。
  7.  前記制御部は、
     前記重畳対象物体の幾何情報を取得し、取得した幾何情報に基づいて、前記操作対象物のレイアウトを決定する
     請求項1に記載の情報処理装置。
  8.  前記制御部は、
     前記ユーザの手に装着されるセンサの分解能力情報を取得し、
     取得した分解能力情報に基づいて、前記操作対象物のレイアウトを決定する
     請求項7に記載の情報処理装置。
  9.  前記制御部は、
     前記ユーザの周囲を撮像したカメラ画像から検出される複数の認識物体の中から、前記重畳対象物体を決定する
     請求項1に記載の情報処理装置。
  10.  前記制御部は、
     前記複数の認識物体の3次元位置と、前記ユーザの手の3次元位置とに基づいて、前記認識物体の各々と、前記ユーザの手との間の距離をそれぞれ算出するとともに、
     前記複数の認識物体の3次元位置と、前記ユーザの手の3次元位置とを結ぶベクトルと、前記ユーザの手のひらを含む平面を規定する法線ベクトルとの内積値を前記複数の認識物体ごとにそれぞれ算出し、
     前記距離及び前記内積値に基づいて、前記複数の認識物体の中から前記重畳対象物体を決定する
     請求項9に記載の情報処理装置。
  11.  前記制御部は、
     前記複数の物体の認識結果に基づいて、ユーザの把持に適さない物体を前記重畳対象物体の候補から除外する
     請求項1に記載の情報処理装置。
  12.  前記制御部は、
     前記ユーザの特性に基づいて、前記重畳対象物体を決定する
     請求項1に記載の情報処理装置。
  13.  前記制御部は、
     前記ユーザの身体的なハンデキャップに関する情報に基づいて、前記重畳対象物体を決定する
     請求項12に記載の情報処理装置。
  14.  前記制御部は、
     前記ユーザの利き手の情報に基づいて、前記重畳対象物体を決定する
     請求項12に記載の情報処理装置。
  15.  前記制御部は、
     前記ユーザの手の位置を前記表示部の表示領域を規定する平面へ射影した前記ユーザの手の射影位置と、前記表示領域における前記操作対象物の表示位置との間の距離に基づいて、前記ユーザの手の移動を前記操作対象物を用いた前記ユーザの操作開始行動として判定する
     請求項1に記載の情報処理装置。
  16.  前記制御部は、
     前記ユーザの手の射影位置と、前記操作対象物の表示位置との間の距離が予め定められる閾値以下の状態で一定時間を経過した場合、前記操作開始行動として判定する
     請求項15に記載の情報処理装置。
  17.  前記制御部は、
     前記ユーザの周囲を撮像したカメラ画像から検出される複数の認識物体の位置を追跡することにより、前記複数の認識物体が把持可能な物体であるか否かを判定する
     請求項1に記載の情報処理装置。
  18.  前記制御部は、
     把持可能な物体であると判定した物体に対して、目印情報を付与する
     請求項17に記載の情報処理装置。
  19.  プロセッサが、
     ユーザにより視認される現実空間に重畳されるように仮想的な操作対象物を表示し、
     前記現実空間においてユーザの周囲に実在する複数の物体の中から前記操作対象物を重畳させる重畳対象物体を決定し、
     前記操作対象物が表示された状態でユーザの手の動きを検知し、
     検知したユーザの手の動きに連動して、前記重畳対象物体に近づくように前記操作対象物を移動させながらユーザに提示する
     情報処理方法。
  20.  プロセッサに、
     ユーザにより視認される現実空間に重畳されるように仮想的な操作対象物を表示させ、
     前記現実空間においてユーザの周囲に実在する複数の物体の中から前記操作対象物を重畳させる重畳対象物体を決定させ、
     前記操作対象物が表示された状態でユーザの手の動きを検知させ、
     検知したユーザの手の動きに連動して、前記重畳対象物体に近づくように前記操作対象物を移動させながらユーザに提示させる
     情報処理プログラム。
PCT/JP2021/025121 2020-07-21 2021-07-02 情報処理装置、情報処理方法、及び情報処理プログラム WO2022019090A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180049860.2A CN115917479A (zh) 2020-07-21 2021-07-02 信息处理装置、信息处理方法和信息处理程序
US18/009,164 US20230222742A1 (en) 2020-07-21 2021-07-02 Information processing apparatus, information processing method, and information processing program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020124150 2020-07-21
JP2020-124150 2020-07-21

Publications (1)

Publication Number Publication Date
WO2022019090A1 true WO2022019090A1 (ja) 2022-01-27

Family

ID=79729721

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/025121 WO2022019090A1 (ja) 2020-07-21 2021-07-02 情報処理装置、情報処理方法、及び情報処理プログラム

Country Status (3)

Country Link
US (1) US20230222742A1 (ja)
CN (1) CN115917479A (ja)
WO (1) WO2022019090A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH075978A (ja) * 1993-06-18 1995-01-10 Sony Corp 入力装置
JP2006127158A (ja) * 2004-10-28 2006-05-18 Canon Inc 画像処理方法、画像処理装置
JP2015152938A (ja) * 2014-02-10 2015-08-24 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2018092313A (ja) * 2016-12-01 2018-06-14 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP2018092497A (ja) * 2016-12-07 2018-06-14 三菱自動車工業株式会社 操作表示装置
JP2018112894A (ja) * 2017-01-11 2018-07-19 キヤノン株式会社 システムおよび制御方法
WO2019069575A1 (ja) * 2017-10-05 2019-04-11 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9852546B2 (en) * 2015-01-28 2017-12-26 CCP hf. Method and system for receiving gesture input via virtual control objects
US9805514B1 (en) * 2016-04-21 2017-10-31 Microsoft Technology Licensing, Llc Dynamic haptic retargeting
US20190340821A1 (en) * 2018-05-04 2019-11-07 Microsoft Technology Licensing, Llc Multi-surface object re-mapping in three-dimensional use modes

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH075978A (ja) * 1993-06-18 1995-01-10 Sony Corp 入力装置
JP2006127158A (ja) * 2004-10-28 2006-05-18 Canon Inc 画像処理方法、画像処理装置
JP2015152938A (ja) * 2014-02-10 2015-08-24 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2018092313A (ja) * 2016-12-01 2018-06-14 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP2018092497A (ja) * 2016-12-07 2018-06-14 三菱自動車工業株式会社 操作表示装置
JP2018112894A (ja) * 2017-01-11 2018-07-19 キヤノン株式会社 システムおよび制御方法
WO2019069575A1 (ja) * 2017-10-05 2019-04-11 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
US20230222742A1 (en) 2023-07-13
CN115917479A (zh) 2023-04-04

Similar Documents

Publication Publication Date Title
US11083950B2 (en) Information processing apparatus and information processing method
KR101826911B1 (ko) 햅틱 인터랙션 기반 가상현실시뮬레이터 및 그 동작 방법
US10841632B2 (en) Sequential multiplayer storytelling in connected vehicles
US20200269421A1 (en) Information processing device, information processing method, and program
JPWO2020110659A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6134895B2 (ja) ロボット制御システム、ロボット制御プログラムおよび説明ロボット
JP2009011362A (ja) 情報処理システム、ロボット装置及びその制御方法
JP7120254B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US11231771B2 (en) Interactive exercise and training system and method
US11366527B1 (en) Systems and methods for sensing gestures via vibration-sensitive wearables donned by users of artificial reality systems
JP2013011979A (ja) 動作指示装置、動作指示システム、動作指示方法、及びプログラム
JP6134894B2 (ja) ロボット制御システムおよびロボット
JP2023507241A (ja) 随意のデュアルレンジ運動学を用いたプロキシコントローラスーツ
WO2021261595A1 (ja) 航空機のvr訓練システム、航空機のvr訓練方法及び航空機のvr訓練プログラム
WO2022019090A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP5536510B2 (ja) プログラム及び画像生成システム
JP6142306B2 (ja) ロボット制御システム、ロボット、出力制御プログラムおよび出力制御方法
JP6874207B2 (ja) 推定装置、推定方法及びプログラム
JP2022164028A (ja) 遠隔操作制御システム、遠隔操作制御方法、およびプログラム
WO2018074054A1 (ja) 表示制御装置、表示制御方法及びプログラム
JPWO2020090042A1 (ja) トラッカーのキャリブレーション装置、トラッカーのキャリブレーション方法及びプログラム
US11369866B2 (en) Position tracking apparatus and method
JP7513564B2 (ja) システム、情報処理方法および情報処理プログラム
JP6933850B1 (ja) 仮想空間体感システム
WO2022044900A1 (ja) 情報処理装置、情報処理方法、および記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21845467

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21845467

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP