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

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

Info

Publication number
WO2023238759A1
WO2023238759A1 PCT/JP2023/020406 JP2023020406W WO2023238759A1 WO 2023238759 A1 WO2023238759 A1 WO 2023238759A1 JP 2023020406 W JP2023020406 W JP 2023020406W WO 2023238759 A1 WO2023238759 A1 WO 2023238759A1
Authority
WO
WIPO (PCT)
Prior art keywords
marker
information
real
virtual
worker
Prior art date
Application number
PCT/JP2023/020406
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 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Publication of WO2023238759A1 publication Critical patent/WO2023238759A1/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

Definitions

  • the present disclosure relates to a technology that supports the work of a worker.
  • Patent Document 1 discloses a 3D model generation device that generates a 3D model of a subject by a visual volume intersection method based on camera images of a close camera and a pull camera, and a 3D model is generated by assuming that the subject exists outside the field of view of the close camera. Disclose what generates.
  • Patent Document 1 only generates a virtual camera image that is closed in a virtual space, and does not have a function to generate a virtual camera image that is linked to a real space. This requires further improvement because remote managers cannot check where workers are looking under conditions where images cannot be output at the work site.
  • the present disclosure is intended to solve such problems, and aims to provide a technology that allows a remote manager to check where a worker is viewing under conditions where images at a work site cannot be output. shall be.
  • An information processing method in an aspect of the present disclosure is an information processing method in an information processing system that supports the work of a worker, in which a three-dimensional model of an object to be worked on by the worker in real space is created in virtual space. acquire position information and posture information of the worker in the real space, and calculate the position and posture of the virtual camera in the virtual space based on the position information and the posture information.
  • a virtual camera image showing the three-dimensional model captured by the synchronized virtual camera is generated in synchronization with the posture, and output information for displaying an output image including the virtual camera image is output.
  • FIG. 1 is a block diagram illustrating an example of the overall configuration of an information processing system in Embodiment 1 of the present disclosure.
  • FIG. FIG. 2 is a diagram showing an overview of processing of the information processing system.
  • FIG. 2 is a diagram showing an example of a real space showing a site.
  • FIG. 3 is a diagram showing how spatial calibration is performed.
  • 5 is a diagram illustrating a state of spatial calibration continued from FIG. 4.
  • FIG. FIG. 3 is a diagram showing an example of a virtual camera video included in an output image.
  • 3 is a flowchart showing the overall process of the information processing system.
  • 3 is a flowchart showing details of spatial calibration processing. It is a flow chart showing details of steady processing. It is a flow chart showing details of synchronization processing.
  • FIG. 3 is a diagram showing an example of an overhead image.
  • FIG. 3 is a diagram showing an overhead image displayed on each of the administrator terminal and the worker terminal.
  • 7 is a flowchart illustrating spatial calibration processing in Modification 1 of Embodiment 1.
  • FIG. 7 is a flowchart illustrating an example of synchronization processing in Modification 1 of Embodiment 1.
  • FIG. 7 is a flowchart illustrating spatial calibration processing in Modification 2 of Embodiment 1.
  • FIG. FIG. 7 is an explanatory diagram of processing in Modification 2 of Embodiment 1;
  • FIG. 7 is an explanatory diagram of processing in Modification 2 of Embodiment 1;
  • FIG. 7 is an explanatory diagram of processing in Modification 2 of Embodiment 1;
  • FIG. 7 is an explanatory diagram of processing in Modification 2 of Embodiment 1;
  • FIG. 7 is an explanatory diagram of processing in Modification 2 of Embodiment 1;
  • FIG. 7 is an explanatory diagram of
  • FIG. 2 is a block diagram showing an example of the configuration of an information processing system in Embodiment 2.
  • FIG. 7 is a flowchart showing details of spatial calibration processing in Embodiment 2.
  • FIG. 12 is a flowchart showing details of steady processing in Embodiment 3.
  • FIG. 3 is a block diagram showing an example of the configuration of an information processing system in Embodiment 3.
  • FIG. 12 is a flowchart showing details of spatial calibration processing in Embodiment 3.
  • 12 is a flowchart showing details of steady processing in Embodiment 3.
  • a worker When a worker works on an object at a work site, the worker may proceed with the work while checking instructions from a manager located outside the work site. In this case, if the manager can confirm which part of the object the worker is looking at, the manager can smoothly give instructions to the worker.
  • a photographic device such as an action camera or smart glasses is attached to the head of a worker, and images of the work site captured by the photographic device are sent in real time to an administrator's terminal. For example, the administrator can check which part of the object the worker is looking at.
  • the present disclosure is intended to solve such problems.
  • An information processing method is an information processing method in an information processing system that supports the work of a worker, in which a three-dimensional model of an object that the worker is working on in real space. is constructed in a virtual space, acquires position information and posture information of the worker in the real space, and adjusts the position and posture of a virtual camera in the virtual space to the worker based on the position information and posture information.
  • a virtual camera image showing the three-dimensional model captured by the synchronized virtual camera is generated, and output information for displaying an output image including the virtual camera image is output.
  • the position and orientation of the virtual camera are synchronized with the position and orientation of the worker in real space, and a virtual camera image in which a three-dimensional model of the object is photographed by the synchronized virtual camera is generated.
  • This allows the administrator to check the virtual camera image, which is the image of the three-dimensional model seen from the worker's line of sight.
  • it is possible to have a remote manager confirm where the worker is viewing, even under conditions where images at the work site cannot be output to the outside.
  • the position information and the posture information are real marker information indicating the position and posture of a real marker worn by the worker, and Obtaining initial marker information indicating the position and orientation of the real marker, and performing spatial calibration to associate the real space and the virtual space based on the initial marker information and the relative positions of the object and the real marker.
  • real marker information indicating the position and orientation of the real marker worn by the worker is acquired, and the position and orientation of the virtual camera are determined based on the real marker information. It may be synchronized with the position and orientation of the actual marker shown.
  • initial marker information indicating the position and orientation of the real marker is acquired, and spatial calibration is performed to associate the real space and the virtual space based on the initial marker information and the relative positions of the target object and the real marker. is executed. Therefore, it is possible to accurately correlate real space and virtual space, and thereby create a virtual camera image that accurately reproduces the location where the worker is viewing, without using real images of the work site. can.
  • the spatial calibration includes setting a virtual marker corresponding to the real marker at an arbitrary position in the virtual space based on the initial marker information. Based on the relative position, the three-dimensional model is installed in the virtual space with the virtual marker as a reference so that the relative positional relationship between the real marker and the object is maintained; Calibration including a real reference vector indicating the relative position of the real marker with respect to the object when calibration is executed, and a virtual reference vector indicating the relative position of the virtual marker with respect to the three-dimensional model. Information may be generated.
  • the three-dimensional model is created based on the virtual marker so that the position of the real marker is set at an arbitrary position in the virtual space, and the relative positional relationship between the real marker and the object is maintained. installed in the space. Therefore, the coordinate system of the virtual space can be set so that the position of the virtual marker becomes substantially the origin, and the position of the object can be determined using this coordinate system. Therefore, in an environment using a sensor that expresses the position of the real marker by its relative position from itself, it is possible to accurately associate the real marker with the virtual marker. Further, since the real reference vector and the virtual reference vector are generated as calibration information, the virtual camera and the real marker can be accurately synchronized using the real reference vector and the virtual reference vector during work.
  • the synchronization includes calculating a real space vector indicating a relative position of the real marker with respect to the object based on the real marker information, and A difference vector between the vector and the real reference vector is calculated, and the position of the virtual marker with respect to the three-dimensional model is determined based on the virtual reference vector and the difference vector.
  • the attitude of the virtual marker may be determined based on the attitude of the marker, the position of the virtual marker may be determined as the position of the virtual camera, and the attitude of the virtual marker may be set as the attitude of the virtual camera.
  • the initial marker information and the actual marker information are information acquired using a method of sensing the surrounding environment and detecting the relative position of the marker itself. Good too.
  • the spatial calibration includes installing a virtual marker corresponding to the real marker in the virtual space based on the initial marker information, and based on the relative position,
  • the three-dimensional model is installed in the virtual space, and the coordinates of the installed three-dimensional model are generated as calibration information so that the relative positional relationship between the real marker and the target object is maintained. Good too.
  • the 3D model is installed in the virtual space, and the coordinates of the installed 3D model are generated as calibration information so that the relative positional relationship between the real marker and the target object is maintained. ing. Therefore, in an environment where the position of a real marker is detected using a sensor that expresses the position of an object using a coordinate system in real space, the position and attitude of the virtual marker can be set using the position and attitude indicated by the real marker information as they are.
  • the synchronization may include determining the position of the real marker as the position of the virtual camera, and determining the attitude of the real marker as the attitude of the virtual camera. .
  • the position and attitude of the virtual marker are detected using the position and attitude indicated by the real marker information as they are. can be set.
  • the initial marker information and the actual marker information are information acquired using a sensor that represents the position of an object using the coordinate system of the real space. Good too.
  • the initial marker information indicates the position and orientation of a first real marker installed at a position different from the target object.
  • the spatial calibration includes first initial marker information and second initial marker information indicating the position and orientation of a second real marker installed at the position of the object, and the spatial calibration is based on the first initial marker information.
  • a first virtual marker corresponding to the first real marker is installed in the virtual space, and a relative positional relationship between the first real marker and the second real marker is maintained based on the second initial marker information.
  • a second virtual marker corresponding to the second real marker may be placed in the virtual space.
  • the first real marker and the first virtual marker can be accurately associated using the first real marker and the second real marker.
  • the synchronization includes determining the position of the first real marker as the position of the virtual camera, and determining the attitude of the first real marker as the attitude of the virtual camera. You may.
  • the position and attitude of the virtual marker are detected using the position and attitude indicated by the real marker information as they are. can be set.
  • the virtual camera image may further change in synchronization with changes in the position and orientation of the virtual camera.
  • the output image further includes an overhead image of the three-dimensional model and a camera icon displayed in association with the overhead image;
  • the display mode of the camera icon may be changed in synchronization with the position and orientation of the virtual camera.
  • the output image is displayed on the worker terminal of the worker and the administrator terminal of the administrator, and is further displayed on the bird's-eye view image or the virtual camera image.
  • Display object information for displaying a display object pointing to a position specified by the administrator in the three-dimensional model is obtained from the administrator terminal, and further, based on the display object information, the display object is displayed in the bird's-eye view image or It may be displayed superimposed on the virtual camera image.
  • the display object pointing to the position specified by the administrator is displayed superimposed on the bird's-eye view image or virtual camera video, so the administrator can share the position specified by the administrator with the worker.
  • the three-dimensional model includes a main body and a movable part attached to the main body, and further includes a movable part attached to the main body.
  • Operation information indicating an operation performed by an administrator on the part may be obtained from an administrator terminal, and an image indicating the movable part included in the virtual camera image may be changed based on the operation information.
  • the administrator can remotely operate the movable parts of the three-dimensional model.
  • the initial marker information and the actual marker information are obtained from a sensor capable of detecting the position and orientation of the actual marker. It may be information.
  • the initial marker information and the actual marker information can be obtained by measuring the position and orientation of the actual marker using the sensor.
  • An information processing device is an information processing device that supports the work of a worker, and which creates a three-dimensional model of an object to be worked on by the worker in real space.
  • a construction unit that constructs a structure in a space; a first acquisition unit that acquires position information and posture information of the worker in the real space; and a first acquisition unit that acquires position information and posture information of the worker in the real space, and a position of a virtual camera in the virtual space based on the position information and posture information.
  • a synchronization unit that synchronizes the posture with the position and posture of the worker, a generation unit that generates a virtual camera image showing the three-dimensional model captured by the synchronized virtual camera, and an output including the virtual camera image. and an output unit that outputs output information for displaying the image.
  • An information processing program is an information processing program that causes a computer to function as an information processing system that supports the work of a worker, and includes three objects that the worker works on in real space.
  • Build a dimensional model in a virtual space acquire position information and posture information of the worker in the real space, and determine the position and posture of the virtual camera in the virtual space based on the position information and posture information.
  • synchronized with the position and posture of the worker generating a virtual camera image showing the three-dimensional model captured by the synchronized virtual camera, and output information for displaying an output image including the virtual camera image.
  • the computer causes the computer to perform a process of outputting.
  • the present disclosure can also be realized as an information update system operated by such an information processing program. Further, it goes without saying that such a computer program can be distributed via a computer-readable non-transitory recording medium such as a CD-ROM or a communication network such as the Internet.
  • FIG. 1 is a block diagram illustrating an example of the overall configuration of an information processing system 100 according to Embodiment 1 of the present disclosure.
  • the information processing system 100 is a system in which a remote administrator supports a worker working on an object. Specifically, by recreating the image visible to workers on site in a virtual space and allowing managers to view the image in the virtual space, information can be shared between workers and managers. , a system that supports workers' work from a remote location.
  • FIG. 2 is a diagram showing an overview of the processing of the information processing system 100.
  • the left diagram shows the site, and the right diagram shows a remote location.
  • a target object 501 is installed at the site.
  • a worker 504 performs some kind of work on the object 501 at the site.
  • the information processing system 100 reproduces the image within the field of view 502 in virtual space.
  • the information processing system 100 constructs a three-dimensional model 221 that simulates the object 501 in a virtual space, and photographs the three-dimensional model 221 with a virtual camera placed in the virtual space. Generate camera images.
  • the generated virtual camera image is displayed on the display of the administrator terminal 3 located at a remote location.
  • the virtual camera changes its posture in the virtual space in synchronization with the change in the line of sight of the worker 504, and shoots a virtual camera image.
  • the administrator 514 who visually recognizes the virtual camera image can confirm what location on the object 501 the worker 504 is gazing at.
  • the administrator 514 can provide appropriate support to the worker.
  • the information processing system 100 may display the gaze point of the worker 504 in a superimposed manner on the virtual camera image.
  • the site is, for example, a real space where objects are installed.
  • An example of a site is a factory, a laboratory, a testing site, a chemical plant, etc.
  • the factory may be a factory that manufactures electrical products such as televisions and washing machines, or a factory that manufactures automobiles, iron, etc.
  • These sites are just examples, and any location may be used as long as a worker performs work on an object.
  • the site may be a location where equipment or equipment maintenance is performed.
  • the information processing system 100 includes a detection device 1, a worker terminal 2, and an administrator terminal 3.
  • the detection device 1 and the worker terminal 2 are located at the site where the target object 501 is installed.
  • the administrator terminal 3 is located at a remote location.
  • the detection device 1 and the worker terminal 2 are communicably connected via a communication path C1.
  • the communication path C1 may be a wireless communication path such as a wireless LAN or Bluetooth (registered trademark), or may be a wired communication path.
  • the worker terminal 2 and the administrator terminal 3 are connected via a network.
  • the network is a wide area communication network including, for example, the Internet.
  • the detection device 1 is a sensor that is installed at a site and can detect the position and orientation of a real marker installed at the site.
  • FIG. 3 is a diagram showing an example of a real space 600 showing a site.
  • a real marker M1 and a target object 501 are installed.
  • the actual marker M1 includes a base portion 611 and three convex portions 612 that protrude upward from the base portion 611.
  • a pedestal 601 is attached to the base portion 611 to maintain the height of the actual marker M1 from the ground at a constant height.
  • the shape of the actual marker M1 shown here is an example, and other shapes may be adopted, and there is no particular limitation.
  • the detection device 1 may be any sensor device that detects the position and orientation of the actual marker M1.
  • the detection device 1 is a sensor that detects its own position by sensing the surrounding environment.
  • An example of a method for estimating such a self-position is a method using SLAM (Simultaneous Localization and Mapping) technology using a camera image or LiDAR.
  • the detection device 1 may be a sensor used in an inertial motion capture system (inertial sensor) or a sensor used in a magnetic motion capture system (magnetic sensor).
  • the detection device 1 outputs marker information indicating the position and orientation of the detected actual marker M1 to the worker terminal 2.
  • the position of the actual marker M1 is expressed, for example, by three-dimensional vector data with respect to the object 501 or three-dimensional vector data with the initial position as a reference.
  • the detection device 1 outputs marker information to the worker terminal 2 via the communication path C1.
  • the worker terminal 2 includes a processor 21, a memory 22, a display 23, and a communication section 24.
  • the worker terminal 2 is, for example, a portable information terminal carried by a worker. Examples of portable information terminals include smartphones, tablet computers, and smart glasses.
  • the processor 21 is composed of, for example, a central processing unit.
  • the processor 21 includes a construction section 211 , a first acquisition section 212 , an execution section 213 , a second acquisition section 214 , a synchronization section 215 , a generation section 216 , and an output section 217 .
  • the construction unit 211 to the output unit 217 may be realized by the central processing unit executing an information processing program that causes the computer to function as the worker terminal 2, or may be realized by a dedicated hardware circuit.
  • the construction unit 211 constructs, in a three-dimensional virtual space, a three-dimensional model 221 of the object 501 that the worker is working on in real space.
  • the construction unit 211 is a three-dimensional model that simulates the shape of the object 501.
  • the construction unit 211 acquires three-dimensional CAD (Computer-Aided Design) data of the target object 501 or BIM (Building Information Modeling) data of the target object 501, and converts the acquired three-dimensional CAD data or BIM data into a three-dimensional model 221. Just generate it.
  • CAD Computer-Aided Design
  • BIM Building Information Modeling
  • the construction unit 211 may generate the object 501 including a main body and a movable part attached to the main body.
  • the movable part is a three-dimensional model configured to be movable based on operation information indicating an operation input by the administrator 514 into the administrator terminal 3.
  • the three-dimensional model 221 is generated using, for example, a game engine.
  • the construction unit 211 may generate the three-dimensional model 221 using a visual volume intersection method.
  • the three-dimensional model 221 may be point cloud data or voxel data.
  • the construction unit 211 stores the generated three-dimensional model 221 in the memory 22.
  • the first acquisition unit 212 acquires initial marker information indicating the position and orientation of the real marker M1 in the real space 600. See FIG. 3.
  • the real marker M1 is placed at a reference distance D1 from the object 501 and at a reference height h from the ground.
  • the actual marker M1 is installed so that its posture D2 is parallel to the ground.
  • Attitude D2 is represented by a three-dimensional vector indicating the attitude of real marker M1.
  • the real marker M1 is installed at a position where the posture D2 is parallel to the front direction (not shown) of the target object 501.
  • the actual marker M1 is installed such that a straight line extending from the position P1 in the direction of the posture D2 intersects the center position O1 of the object 501.
  • the position P1 is, for example, the front position of the actual marker M1.
  • the front position is the central position of the real marker M1 facing the object 501 in front.
  • the front direction of the object 501 is parallel to the ground and perpendicular to the main surface.
  • the center position O1 is a position where the height from the ground is the reference height h, and is the position of the center of the object 501 in the lateral direction.
  • the object 501 is a television whose internal circuit board is exposed.
  • the reference distance D1 is, for example, an arbitrary distance such as 50 cm or 1 m.
  • a worker 504 performs work such as assembling parts to this object 501.
  • the relative position of the real marker M1 with respect to the object 501 is determined in advance.
  • Relative position information indicating this relative position is stored in the memory 22 in advance.
  • the relative position information includes, for example, the reference distance D1.
  • the initial marker information is marker information detected by the detection device 1 when performing spatial calibration. Spatial calibration is performed before the worker 504 performs the work. In the spatial calibration, the detection device 1 detects the position and orientation of the real marker M1 installed at a predetermined relative position with respect to the target object 501 as shown in FIG. 3, and generates marker information indicating the detected position and orientation. is output to the worker terminal 2. The first acquisition unit 212 acquires the marker information output from the detection device 1 as initial marker information when performing spatial calibration.
  • the execution unit 213 executes spatial calibration to associate the real space 600 and the virtual space based on the initial marker information and the relative position information stored in the memory 22. Details of the spatial calibration are as follows.
  • FIG. 4 is a diagram showing the state of spatial calibration.
  • the execution unit 213 installs a virtual marker M2 corresponding to the real marker M1 in the virtual space 700 based on the initial marker information.
  • the virtual marker M2 is a three-dimensional model that simulates the real marker M1.
  • the virtual space 700 is a three-dimensional space represented by three axes, X, Y, and Z, which are orthogonal to each other.
  • the Z axis is perpendicular to a reference plane 701 corresponding to the ground, and the X and Y axes are parallel to the reference plane 701.
  • the execution unit 213 determines a position P1' in the virtual space 700 that corresponds to the position P1 of the real marker M1 included in the real marker information, and installs the virtual marker M2 at the determined position P1'.
  • Position P1' is, for example, the front position of virtual marker M2.
  • the execution unit 213 determines the posture D2' of the virtual marker M2 so as to be the same posture as the posture D2 of the real marker M1 included in the real marker information.
  • the virtual marker M2 is installed so that its posture D2' is parallel to the reference plane 701 in the virtual space 700.
  • the coordinates of the position P1' are determined to be an arbitrary position in the coordinate system of the virtual space 700.
  • An example of an arbitrary position is the origin of the coordinate system of virtual space 700.
  • the execution unit 213 performs a three-dimensional process based on the virtual marker M2, so that the relative positional relationship between the real marker M1 and the target object 501 is maintained.
  • the model 221 is installed in the virtual space 700.
  • FIG. 5 is a diagram showing the state of spatial calibration, which is a continuation of FIG. 4.
  • the execution unit 213 installs the three-dimensional model 221 in the virtual space 700 so that the three-dimensional model 221 is located at a reference distance D1' away from the virtual marker M2 in the direction of the posture D2'. Specifically, the execution unit 213 constructs the 3D model so that the direction of the orientation D2' is parallel to the front direction of the 3D model 221, and on a straight line extending from the position P1' of the virtual marker M2 in the direction of the orientation D2'.
  • the three-dimensional model 221 is installed such that the center position O1' of the virtual marker M2 is located and the distance from the position P1' of the virtual marker M2 to the center position O1' is a reference distance D1'.
  • position P1' is a position in virtual space 700 corresponding to position P1
  • reference distance D1' is a distance in virtual space 700 corresponding to reference distance D1
  • posture D2' is a distance in virtual space 700 corresponding to posture D2.
  • the center position O1' is the position in the virtual space 700 corresponding to the center position O1.
  • the execution unit 213 generates calibration information 222 and stores it in the memory 22.
  • the calibration information 222 includes a real reference vector V0 shown in FIG. 3 and a virtual reference vector V0' shown in FIG. 5.
  • the actual reference vector V0 is a vector indicating the relative position of the actual marker M1 with respect to the object 501 when spatial calibration is performed.
  • the actual reference vector V0 is a vector whose starting point is the position P1 and whose ending point is the center position O1.
  • the virtual reference vector V0' is a vector that starts at the position P1' and ends at the center position O1' in the virtual space 700, and is a vector that indicates the relative position of the virtual marker M2 with respect to the three-dimensional model 221.
  • the second acquisition unit 214 acquires real marker information indicating the position and orientation of the real marker M1 worn by the worker 504 in the real space 600.
  • the actual marker information is marker information that indicates the position and orientation of the actual marker M1 that the detection device 1 attaches to the worker 504 while the worker 504 is working.
  • the detection device 1 detects the position and orientation of the actual marker M1 at a predetermined sampling rate during work, and outputs marker information indicating the detected position and orientation to the worker terminal 2 at a predetermined sampling rate.
  • the second acquisition unit 214 acquires the marker information output from the detection device 1 as actual marker information while the worker 504 is working.
  • the worker 504 wears the actual marker M1 on his head, for example. However, this is just an example, and the actual marker M1 may be attached to a position other than the head of the worker 504.
  • the synchronization unit 215 Based on the real marker information, the synchronization unit 215 synchronizes the position and attitude of the virtual camera in the virtual space 700 with the position and attitude of the real marker M1 indicated by the real marker information.
  • the synchronization unit 215 calculates the vector from the position P2 of the real marker M1 included in the real marker information to the center position O1 as the real space vector V1.
  • the real space vector V1 is a vector indicating the relative position of the real marker M1 with respect to the object 501 during the work.
  • the synchronization unit 215 calculates a difference vector ⁇ V between the real space vector V1 and the real reference vector V0.
  • the synchronization unit 215 adds the difference vector ⁇ V to the virtual reference vector V0' in the virtual space 700 to calculate a virtual space vector V1'.
  • the virtual space vector V1' is a vector indicating the relative position of the virtual marker M2 with respect to the three-dimensional model 221 during work. As a result, the relative position of the worker during the work with respect to the object 501 in the real space 600 is reproduced in the virtual space 700.
  • the synchronization unit 215 determines the starting point (position P2') in the virtual space vector V1' as the position of the virtual camera.
  • the synchronization unit 215 determines the attitude of the real marker M1 included in the real marker information as the attitude of the virtual camera.
  • the generation unit 216 generates a virtual camera image showing the three-dimensional model 221 photographed by the virtual camera synchronized with the real marker M1, and generates output information for displaying an output image including the generated virtual camera image.
  • the generation unit 216 may generate a virtual camera image by setting a virtual screen in the virtual space 700 and rendering the three-dimensional model 221 on the virtual screen.
  • the virtual screen is, for example, a plane that is spaced a predetermined distance from the virtual camera and whose center passes through the line of sight of the virtual camera.
  • the size of the virtual screen has a size corresponding to the visual field of the worker 504, for example.
  • a virtual camera image is generated in which the image within the field of view of the worker 504 is reproduced.
  • the generation unit 216 generates a virtual camera image at a predetermined sampling rate. Thereby, the virtual camera image can reproduce the image of the visual field of the worker 504 in real time.
  • the output unit 217 transmits the output information generated by the generation unit 216 to the administrator terminal 3 using the communication unit 24.
  • the memory 22 is, for example, a nonvolatile rewritable storage device such as a flash memory or a solid state drive.
  • the memory 22 stores a three-dimensional model 221 and calibration information 222.
  • the display 23 is, for example, a liquid crystal display device.
  • the communication unit 24 is a communication circuit for connecting the worker terminal 2 to a network.
  • the communication unit 24 transmits the output information to the administrator terminal 3 via the network.
  • the administrator terminal 3 is, for example, a terminal installed at a remote location.
  • the administrator terminal 3 is composed of a computer including, for example, a communication section, a processor, a display, an operation section, and the like.
  • the administrator terminal 3 may be configured with a desktop computer, or may be configured with a portable computer such as a smartphone or a tablet computer.
  • the processor of the administrator terminal 3 causes the display to display an output image drawn based on the output information transmitted from the worker terminal 2.
  • FIG. 6 is a diagram showing an example of a virtual camera image 900 included in the output image.
  • Virtual camera image 900 is displayed on the display of administrator terminal 3.
  • Virtual camera image 900 includes an image of three-dimensional model 221.
  • This image of the three-dimensional model 221 is an image of the object 501 within the field of view of the worker 504, which is drawn using the three-dimensional model 221 when the object 501 is viewed from the line of sight of the worker 504. be.
  • the administrator 514 can confirm the image of the object 501 that the worker 504 visually recognizes, and can smoothly give instructions to the worker 504.
  • the part of the circuit board in FIG. 6 may be the movable part 901 of the three-dimensional model 221.
  • the administrator terminal 3 transmits the operation information to the worker terminal 2.
  • the processor 21 of the worker terminal 2 that has received the operation information moves the movable part 901 based on the operation information.
  • the generation unit 216 of the processor 21 moves the movable unit 901 according to the amount of operation indicated by the operation information. Since the generation unit 216 renders the three-dimensional model 221 at a predetermined sampling rate, a virtual camera image 900 showing the movement of the movable part 901 in real time is displayed on the administrator terminal 3. Examples of the movement of the movable part 901 include a movement of removing the movable part 901 from the main body of the three-dimensional model 221.
  • FIG. 7 is a flowchart showing the overall process of the information processing system 100.
  • the construction unit 211 of the worker terminal 2 constructs a three-dimensional model 221 (step S1). Next, the construction unit 211 constructs a virtual space 700 having a three-axis coordinate system of X, Y, and Z in the computer (step S2).
  • step S3 the detection device 1 and the worker terminal 2 perform spatial calibration to associate the real space 600 and the virtual space 700.
  • the information processing system 100 generates a virtual camera image 900 from the start of the work by the worker 504 to the end of the work at the site, and sends the generated virtual camera image 900 to the administrator terminal 3 in real time.
  • a steady process for display is executed (step S4).
  • FIG. 8 is a flowchart showing details of the spatial calibration process.
  • a real marker M1 is installed by the worker 504 in the real space 600.
  • the actual marker M1 is placed at a reference distance D1 from the object 501 and at a reference height h from the ground.
  • the operator 504 installs the optical tracker at a position corresponding to the center position O1. Then, for example, the worker 504, while checking the measurement value of the optical tracker, moves the actual marker M1 so that the actual marker M1 is placed at a reference distance D1 from the center position O1 and at a reference height h. Just position it.
  • the worker 504 while checking the measured value of the depth sensor installed in the real space 600, sets the real marker M1 so that it is located at a reference distance D1 from the center position O1 and at a reference height h. , the actual marker M1 may be positioned.
  • step S12 the detection device 1 detects initial marker information by detecting the position P1 and orientation D2 of the actual marker M1.
  • the detection device 1 outputs the initial marker information to the worker terminal 2 via the communication path C1.
  • step S21 the first acquisition unit 212 of the worker terminal 2 uses the communication unit 24 to acquire initial marker information.
  • step S22 the execution unit 213 determines a position P1' in the virtual space 700 that corresponds to the position P1 of the real marker M1 included in the initial marker information.
  • the position P1' is an arbitrary position (for example, the origin, etc.) on the virtual space 700, and is not particularly limited.
  • step S23 the execution unit 213 determines a posture D2' in the virtual space 700 that corresponds to the posture D2 of the real marker M1 included in the initial marker information.
  • step S24 the execution unit 213 installs the virtual marker M2 in the virtual space 700 so that the virtual marker M2 takes the attitude D2' determined in step S23 at the position P1' determined in step S22.
  • the virtual marker M2 is installed in the virtual space 700 as shown in FIG.
  • step S25 the execution unit 213 determines a position that is a reference distance D1 away from the virtual marker M2 in the direction of the posture D2', and adjusts the three-dimensional model 221 so that the center position O1' is located at the determined position. Install.
  • step S26 the execution unit 213 calculates the real reference vector V0 shown in FIG. 3, and also calculates the virtual reference vector V0' shown in FIG. 5, and the calculated real reference vector V0 and virtual reference vector V0'.
  • Calibration information 222 including the following is generated.
  • the generated calibration information 222 is stored in the memory 22.
  • FIG. 9 is a flowchart showing details of the steady processing.
  • the steady processing is started, for example, when the worker 504 inputs a command to the worker terminal 2 to announce the start of work, and the worker terminal 2 acquires the input command.
  • the regular processing may be started by, for example, the administrator 514 inputting a command to the administrator terminal 3 to notify the start of work, and the worker terminal 2 acquiring the input command via the administrator terminal 3. Ru.
  • step S41 the detection device 1 detects real marker information by detecting the position P1 and posture D2 of the real marker M1 worn by the worker 504.
  • step S42 the detection device 1 outputs the actual marker information to the worker terminal 2.
  • step S51 the second acquisition unit 414 of the worker terminal 2 acquires actual marker information.
  • step S52 the synchronization unit 215 executes synchronization processing. Details of the synchronization process will be described later.
  • step S53 the generation unit 216 generates a virtual camera image 900 showing the three-dimensional model 221 photographed by the virtual camera synchronized with the real marker M1.
  • step S54 the output unit 217 generates output information for displaying the virtual camera image 900, and transmits the generated output information to the administrator terminal 3 using the communication unit 24.
  • step S61 the administrator terminal 3 receives the output information.
  • step S62 the administrator terminal 3 displays an output image indicating output information.
  • the above process is repeatedly executed at a predetermined sampling rate until the worker completes the work, and the virtual camera image 900 is displayed on the administrator terminal 3 in real time.
  • the steady processing is ended when the worker 504 inputs a command to the worker terminal 2 to indicate the end of the work, and the worker terminal 2 acquires the command.
  • the regular processing is ended when the manager 514 inputs a command to the manager terminal 3 to indicate the end of the work, and the worker terminal 2 obtains the command via the manager terminal 3.
  • FIG. 10 is a flowchart showing details of the synchronization process.
  • step S521 the synchronization unit 215 calculates a vector from the position P2 of the real marker M1 included in the real marker information to the center position O1 in the real space 600 as the real space vector V1.
  • step S522 the synchronization unit 215 calculates the difference vector ⁇ V between the real space vector V1 and the real reference vector V0.
  • step S523 the synchronization unit 215 adds the difference vector ⁇ V to the virtual reference vector V0' in the virtual space 700 to calculate a virtual space vector V1'.
  • step S524 the synchronization unit 215 determines the starting point (position P2') in the virtual space vector V1' as the position of the virtual camera, and changes the attitude of the real marker M1 included in the real marker information to the attitude of the virtual camera. Determine as. Thereby, the position and orientation of the virtual camera are synchronized with the position and orientation of the real marker M1 indicated by the real marker information.
  • the output image may further include an overhead image that looks down on the three-dimensional model 221.
  • FIG. 11 is a diagram showing an example of an overhead image 1000.
  • the bird's-eye view image 1000 is an image obtained by rendering the virtual space 700 with a bird's-eye virtual camera that is a different virtual camera from the virtual camera that renders the virtual camera image 900.
  • the bird's-eye view image 1000 includes a virtual camera image 900, a camera icon 1002, and a three-dimensional model 221.
  • the camera icon 1002 is an icon that indicates the position and orientation of the virtual camera that renders the virtual camera image 900.
  • the position and orientation of the camera icon 1002 change in synchronization with the position and orientation of the virtual camera.
  • the position and orientation of the overhead virtual camera may be changed according to instructions from the administrator.
  • the display mode of the three-dimensional model 221 in the bird's-eye view image 1000 changes depending on the position and orientation of the bird's-eye view virtual camera. This makes it possible to provide the administrator with information showing from a bird's-eye view which part of the object 501 the worker 504 is looking at.
  • FIG. 12 is a diagram showing an overhead image 1000 displayed on each of the administrator terminal 3 and the worker terminal 2.
  • the bird's-eye view image 1000 further includes a display object 1004.
  • the display object 1004 is a display object that points to a position specified by the administrator in the bird's-eye view image 1000.
  • the administrator 514 displays a display object 1004 pointing to a specified position on the bird's-eye view image 1000 by operating an operating device (not shown).
  • display object information for displaying this display object 1004 on the worker terminal 2 is transmitted from the administrator terminal 3 to the worker terminal 2.
  • the worker terminal 2 displays the display object 1004 on the overhead image 1000.
  • a display object 1004 is displayed at a display position of an overhead image 1000 displayed on the worker terminal 2 that corresponds to an overhead image 1000 displayed on the administrator terminal 3. This allows the administrator to share the specified location with the worker.
  • the administrator 514 can confirm the virtual camera image 900, which is the image of the three-dimensional model 221 seen through the line of sight of the worker 504.
  • the remote manager 514 confirm the location where the worker 504 is viewing under conditions where the video at the site cannot be output to the outside.
  • initial marker information indicating the position and orientation of an actual marker installed at a predetermined relative position with respect to the target object 501 is acquired, and based on the initial marker information and the relative position, the actual marker is Space calibration is performed to associate space 600 and virtual space 700. Therefore, it is possible to accurately correlate the real space 600 and the virtual space 700, thereby generating a virtual camera image 900 that accurately reproduces the location where the worker 504 is viewing, without using real images of the site. can do.
  • the position of the real marker is set at an arbitrary position in the virtual space 700, and the virtual marker is used as a reference so that the relative positional relationship between the real marker and the object is maintained.
  • a three-dimensional model is installed in virtual space. Therefore, the coordinate system of the virtual space can be set so that the position of the virtual marker becomes substantially the origin, and the position of the object can be determined using this coordinate system. Therefore, in an environment using a sensor that expresses the position of the real marker by its relative position from itself, it is possible to accurately associate the real marker with the virtual marker.
  • Modification 1 of Embodiment 1 differs from Embodiment 1 in spatial calibration and synchronization processing.
  • the detection device 1 is configured with a sensor that represents the position of an object in real space using a three-dimensional coordinate system.
  • An example of this sensor is an optical sensor such as an optical tracker.
  • This three-dimensional coordinate system is represented by three mutually orthogonal axes, x, y, and z, as shown in FIG. In the example of FIG. 3, the z-axis is perpendicular to the ground, and the y- and x-axes are parallel to the ground. Therefore, the position of the real marker M1 is represented by x, y, and z coordinate data.
  • the attitude of the real marker M1 is represented by a three-dimensional vector.
  • FIG. 13 is a flowchart showing the spatial calibration process in Modification 1 of Embodiment 1. 13, the difference from FIG. 8 is in step S26A.
  • step S26A following step S25 the execution unit 213 of the worker terminal 2 generates the coordinates of the three-dimensional model 221 in the virtual space 700 as calibration information 222, and stores the generated calibration information 222 in the memory 22.
  • the distance between the virtual marker M2 and the three-dimensional model 221 in the virtual space 700 is made equal to the distance between the real marker M1 and the target object 501 in the real space 600.
  • the coordinates of the three-dimensional model 221 in the virtual space 700 have been adjusted.
  • the coordinate system of the real space 600 and the coordinate system of the virtual space 700 match.
  • the coordinates of the virtual marker M2 are required. Therefore, in the first modification, the coordinates of the three-dimensional model 221 installed in the virtual space 700 are stored in the memory 22 as calibration information.
  • the coordinates of the virtual marker M2 are the position P1', and the coordinates of the three-dimensional model 221 are the center position O1'.
  • the execution unit 213 performs three-dimensional The position of the center position O1' of the model 221 is adjusted. Thereby, the positional relationship between the real marker M1 and the target object 501 can be reproduced in the virtual space 700 during the work.
  • FIG. 14 is a flowchart illustrating an example of synchronization processing in Modification 1 of Embodiment 1.
  • the synchronization unit 215 determines the position and orientation of the virtual camera based on the real marker information acquired in step S51 (FIG. 9). As shown in FIG. 3, when the position of the real marker M1 included in the real marker information is the position P2, the coordinates of the position P2 are plotted in the virtual space 700, and the plotted coordinates are used as the position P2' of the virtual marker M2. It is determined. Furthermore, the attitude of the real marker M1 included in the real marker information is determined as the attitude of the virtual marker M2.
  • step S531 the process proceeds to step S53 (FIG. 9).
  • spatial calibration is performed so that the coordinate system in the real space 600 and the coordinate system in the virtual space 700 match, so that the real marker information
  • the position and orientation of the virtual marker M2 can be set using the indicated position and orientation as they are.
  • spatial calibration is performed so that the coordinate system in the real space and the coordinate system in the virtual space match, so that the position of the object is determined by the coordinate system in the real space.
  • the position and attitude of the virtual marker can be set using the position and attitude indicated by the real marker information as they are.
  • Modification 2 of Embodiment 1 performs spatial calibration using a first real marker and a second real marker.
  • FIG. 15 is a flowchart showing spatial calibration processing in the second modification of the first embodiment.
  • FIG. 17, and FIG. 18 are explanatory diagrams of processing in the second modification of the first embodiment.
  • step S11B the first real marker M11 and the second real marker M12 are installed by the operator 504 in the real space 600.
  • the first real marker M11 is installed at a different position from the target object 501.
  • the second real marker M12 is installed at the position of the target object 501. Specifically, the second real marker M12 is installed near the target object 501. The position of this second real marker M12 is regarded as the position of the target object 501.
  • step S12B the detection device 1 detects the first initial marker information by detecting the position P11 and attitude D2 of the first real marker M11, and also detects the position P12 and attitude D2 of the second real marker M12 (Fig. ), the second initial marker information is detected.
  • step S13B the detection device 1 outputs the first initial marker information and the second initial marker information to the worker terminal 2 via the communication path C1.
  • step S21B the first acquisition unit 212 of the worker terminal 2 uses the communication unit 24 to acquire the first initial marker information and the second initial marker information.
  • step S22B the execution unit 213 determines a position P11' in the virtual space 700 that corresponds to the position P11 of the first real marker M11 included in the first initial marker information, and A position P12' in the virtual space 700 corresponding to the position P12 of the included second real marker M12 is determined.
  • the execution unit 213 calculates the relative position of the second real marker M12 with respect to the first real marker M11 in the real space 600, and calculates the relative position of the first real marker M11 and the second real marker M12 based on the relative position.
  • the position of the second virtual marker M22 relative to the first virtual marker M21 may be determined so that the positional relationship is maintained.
  • the execution unit 213 may calculate a vector having the position P11 as the starting point and the position P12 as the ending point as the relative position of the second real marker M12 with respect to the first real marker M11.
  • step S23B the execution unit 213 determines a posture D2' in the virtual space 700 that corresponds to the posture D2 of the first real marker M11 included in the first initial marker information, and A posture (not shown) in the virtual space 700 that corresponds to a posture (not shown) of the included second real marker M12 is determined.
  • step S24B the execution unit 213 moves the first virtual marker M21 in the virtual space 700 so that the first virtual marker M21 takes the posture D2' determined in step S23 at the position P11' determined in step S22B. to be installed. Further, the execution unit 213 installs the second virtual marker M22 in the virtual space 700 so that the second virtual marker M22 assumes the attitude (not shown) determined in step S23B at the position P12' determined in step S22B. . As a result, the virtual marker M2 is installed in the virtual space 700 as shown in FIG. 17.
  • step S25B the execution unit 213 installs the three-dimensional model 221 at the position P12' of the second virtual marker M22, as shown in FIG. Specifically, the execution unit 213 sets the predetermined position of the three-dimensional model 221 at position P12', and the main surface of the three-dimensional model 221 is perpendicular to the orientation D2' of the first virtual marker M21. , a three-dimensional model 221 is installed. Thereby, the three-dimensional model is installed in the virtual space 700 so that the relative positional relationship between the first real marker M11 and the target object 501 is maintained.
  • step S25B at the stage of step S25B, the coordinate system of the real space 600 and the coordinate system of the virtual space 700 match, and furthermore, the position of the object 501 is updated from time to time by the second real marker M12. There is no need to store calibration information.
  • the synchronization process in the second modification of the first embodiment is the same as the synchronization process in the first modification of the first embodiment shown in FIG. 14, so a detailed explanation will be omitted. That is, the coordinates of the position P2 of the first real marker M11 worn by the worker 504 as shown in FIG. 16 are determined as the position P2' of the first virtual marker M21 in the virtual space 700 as shown in FIG. Furthermore, the attitude of the first real marker M11 is determined as the attitude of the first virtual marker M21. Then, the determined position P2' of the first virtual marker M21 is determined as the position of the virtual camera, the determined attitude of the first virtual marker M21 is determined as the attitude of the virtual camera, and a virtual camera image is photographed.
  • FIG. 19 is a block diagram showing an example of the configuration of an information processing system 100A in the second embodiment.
  • the worker terminal 2 is the main processing entity, but in the second embodiment, the administrator terminal 3A is the main processing entity.
  • the information processing system 100A includes a detection device 1, a worker terminal 2A, and an administrator terminal 3A.
  • the processor 21 of the worker terminal 2 includes a construction section 211, a first acquisition section 212, an execution section 213, a second acquisition section 214, a synchronization section 215, a generation section 216, and an output section 217.
  • these configurations are provided in the processor 301 of the administrator terminal 3A.
  • the memory 22 stored the three-dimensional model 221 and the calibration information 222, but in the second embodiment, the memory 302 has these configurations.
  • the administrator terminal 3A includes a processor 301, a memory 302, a display 303, and a communication section 304.
  • the processor 301 is composed of, for example, a central processing unit.
  • the construction unit 211, the first acquisition unit 212, the execution unit 213, the second acquisition unit 214, the synchronization unit 215, the generation unit 216, and the output unit 217 are realized by the processor 301 executing the information processing program.
  • this is just an example, and these configurations may be configured with dedicated hardware circuits.
  • the display 303 is, for example, a liquid crystal display device or the like, and displays the virtual camera image 900.
  • the communication unit 304 is a communication circuit for connecting the administrator terminal 3A to the network.
  • the communication unit 304 receives the initial marker information and actual marker information transmitted from the worker terminal 2A.
  • step S1 the process of constructing a three-dimensional model
  • step S2 the process of constructing a virtual space
  • step S3 the process of space calibration
  • FIG. 20 is a flowchart showing details of the spatial calibration process in the second embodiment.
  • steps S101, S102, S103, and S202 are the same as steps S11, S12, S13, and S21 shown in FIG. 8, so detailed explanations will be omitted.
  • step S202 following step S201, the worker terminal 2A transmits the initial marker information to the administrator terminal 3A.
  • step S301 the administrator terminal 3A receives initial marker information.
  • steps S302 to S306 are executed.
  • the details of the processing in steps S302, S303, S304, S305, and S306 are the same as steps S22, S23, S24, S25, and S26 shown in FIG. 8, so a detailed explanation will be omitted.
  • the difference from FIG. 8 is that in steps S302 to S306, the processing subject is not the worker terminal 2 but the administrator terminal 3A.
  • FIG. 21 is a flowchart showing details of steady processing in the second embodiment.
  • the processes in steps S401, S402, and S501 are the same as steps S41, S42, and S51 shown in FIG. 9, so detailed explanations will be omitted.
  • step S502 following step S501, the worker terminal 2A transmits the actual marker information to the administrator terminal 3A.
  • the communication unit 304 of the administrator terminal 3A receives real marker information.
  • steps S602 to S604 are executed.
  • the details of steps S602, S603, and S604 are the same as steps S52, S53, and S62 shown in FIG. 9.
  • the processing subject is not the worker terminal 2 but the administrator terminal 3A, which is different from FIG.
  • the virtual camera image 900 is generated by the administrator terminal 3A, the process of transmitting and receiving output information shown in steps S54 and S61 in FIG. 9 is omitted.
  • FIG. 22 is a block diagram showing an example of the configuration of information processing system 100B in the third embodiment.
  • the information processing system 100B includes a detection device 1, a worker terminal 2B, an administrator terminal 3B, and a server 4.
  • the server 4 is, for example, a cloud server that includes one or more computers.
  • the processor 21 of the worker terminal 2 includes a construction section 211, a first acquisition section 212, an execution section 213, a second acquisition section 214, a synchronization section 215, a generation section 216, and an output section 217.
  • these configurations are provided in the processor 401 of the server 4.
  • the memory 22 stored the three-dimensional model 221 and the calibration information 222, but in the third embodiment, the memory 402 has these configurations.
  • the server 4 includes a processor 401, a memory 402, and a communication unit 403.
  • the processor 401 includes, for example, a central processing unit.
  • the construction unit 211, the first acquisition unit 212, the execution unit 213, the second acquisition unit 214, the synchronization unit 215, the generation unit 216, and the output unit 217 are realized by the processor 401 executing the information processing program.
  • this is just an example, and these configurations may be configured with dedicated hardware circuits.
  • the communication unit 403 is a communication circuit for connecting the worker terminal 2 to the network.
  • the communication unit 403 receives the initial marker information and actual marker information transmitted from the worker terminal 2B.
  • step S1 the process of constructing a three-dimensional model
  • step S2 the process of constructing a virtual space
  • step S3 the process of spatial calibration
  • step S2 the steady state process
  • step S4 is performed by the detection device 1, the worker terminal 2B, and the server 4.
  • FIG. 23 is a flowchart showing details of the spatial calibration process in the third embodiment.
  • steps S111, S112, S113, and S211 are the same as steps S11, S12, S13, and S21 shown in FIG. 8, so detailed explanations will be omitted.
  • step S212 following step S211, the worker terminal 2B transmits the initial marker information to the server 4.
  • step S311 the server 4 receives initial marker information.
  • steps S312 to S316 are executed.
  • the details of the processing in steps S312, S313, S314, S315, and S316 are the same as steps S22, S23, S24, S25, and S26 shown in FIG. 8, so a detailed explanation will be omitted.
  • the processing subject is not the worker terminal 2 but the server 4, which is different from FIG.
  • FIG. 24 is a flowchart showing details of steady processing in the third embodiment.
  • the processes in steps S411, S412, and S511 are the same as steps S41, S42, and S51 shown in FIG. 9, so a detailed explanation will be omitted.
  • step S512 the worker terminal 2B transmits the actual marker information to the server 4.
  • step S701 the first acquisition unit 212 of the server 4 uses the communication unit 403 to acquire actual marker information.
  • steps S702 to S704 are executed.
  • steps S702 and S703 are the same as steps S52 and S53 shown in FIG. 9.
  • step S704 following step S703, the output unit 217 of the server 4 transmits output information including the virtual camera image to the administrator terminal 3B.
  • step S611 the administrator terminal 3B receives the output information.
  • step S612 the administrator terminal 3B displays output information.
  • the process of the modification of the first embodiment shown in FIG. 13 of the first embodiment may be adopted as the spatial calibration process.
  • a real marker and a virtual marker are used as an example of a mode of detecting the user's position and orientation, but the present disclosure is not limited thereto.
  • a mode may be adopted in which the user's position and orientation are directly detected using the detection device 1.

Abstract

情報処理装置は、実空間において作業者が作業対象とする対象物の3次元モデルをバーチャル空間内に構築し、実空間における、作業者の位置情報及び姿勢情報を取得し、位置情報及び姿勢情報に基づいて、バーチャル空間におけるバーチャルカメラの位置及び姿勢を作業者の位置及び姿勢に同期させ、同期されたバーチャルカメラにより撮影された3次元モデルを示すバーチャルカメラ映像を生成し、バーチャルカメラ映像を含む出力画像を表示するための出力情報を出力する。

Description

情報処理方法、情報処理装置、及び情報処理プログラム
 本開示は、作業者の作業を支援する技術に関するものである。
 特許文献1は、寄りカメラ及び引きカメラのカメラ映像に基づいて視体積交差法により被写体の3Dモデルを生成する3Dモデル生成装置において、寄りカメラの画角範囲外に被写体が存在するとみなして3Dモデルを生成するものを開示する。
 しかしながら、特許文献1は、バーチャル空間に閉じたバーチャルカメラ映像を生成しているに過ぎず、実空間と紐づいたバーチャルカメラ映像を生成する機能を持っていない。これでは、作業現場における映像を出力できない条件下において、作業者が見ている場所を遠隔の管理者が確認することができないため、さらなる改善が必要である。
特開2022-29730号公報
 本開示は、このような課題を解決するためのものであり、作業現場における映像を出力できない条件下において、作業者が見ている場所を遠隔の管理者に確認させる技術を提供することを目的とする。
 本開示の一態様における情報処理方法は、作業者の作業を支援する情報処理システムにおける情報処理方法であって、実空間において前記作業者が作業対象とする対象物の3次元モデルをバーチャル空間内に構築し、前記実空間における、前記作業者の位置情報及び姿勢情報を取得し、前記位置情報及び前記姿勢情報に基づいて、前記バーチャル空間におけるバーチャルカメラの位置及び姿勢を前記作業者の位置及び姿勢に同期させ、同期された前記バーチャルカメラにより撮影された前記3次元モデルを示すバーチャルカメラ映像を生成し、前記バーチャルカメラ映像を含む出力画像を表示するための出力情報を出力する。
 本開示によれば、作業現場における映像を出力できない条件下において、作業者が見ている場所を遠隔の管理者に確認させることができる。
本開示の実施の形態1における情報処理システムの全体構成の一例を示すブロック図である。 情報処理システムの処理の概要を示す図である。 現場を示す実空間の一例を示す図である。 空間キャリブレーションの様子を示す図である。 図4の続きの空間キャリブレーションの様子を示す図である。 出力画像に含まれるバーチャルカメラ映像の一例を示す図である。 情報処理システムの処理の全体像を示すフローチャートである。 空間キャリブレーションの処理の詳細を示すフローチャートである。 定常処理の詳細を示すフローチャートである。 同期処理の詳細を示すフローチャートである。 俯瞰画像の一例を示す図である。 管理者端末及び作業者端末のそれぞれに表示される俯瞰画像を示す図である。 実施の形態1の変形例1における空間キャリブレーションの処理を示すフローチャートである。 実施の形態1の変形例1における同期処理の一例を示すフローチャートである。 実施の形態1の変形例2における空間キャリブレーションの処理を示すフローチャートである。 実施の形態1の変形例2における処理の説明図である。 実施の形態1の変形例2における処理の説明図である。 実施の形態1の変形例2における処理の説明図である。 実施の形態2における情報処理システムの構成の一例を示すブロック図である。 実施の形態2における空間キャリブレーションの処理の詳細を示すフローチャートである。 実施の形態3における定常処理の詳細を示すフローチャートである。 実施の形態3における情報処理システムの構成の一例を示すブロック図である。 実施の形態3における空間キャリブレーションの処理の詳細を示すフローチャートである。 実施の形態3における定常処理の詳細を示すフローチャートである。
 (本開示の基礎となる知見)
 作業現場において作業者が対象物に対して作業を行う場合、作業者は作業現場の外部に居る管理者からの指示を確認しながら、作業を進めることがある。この場合、作業者が対象物のどの部位を見ているかを管理者が確認できれば、管理者は作業者に対して円滑な指示を行うことができる。これを実現するために、例えば、作業者の頭部にアクションカメラやスマートグラスなどの撮影デバイスを装着させ、撮影デバイスが撮影した作業現場の映像を管理者が有する管理者端末にリアルタイムで送信すれば、管理者は作業者が対象物のどの部位を見ているかを確認できる。
 しかしながら、セキュリティの観点から外部への映像の出力が禁止されている作業現場がある。この場合、管理者は作業者が見ている部位を確認できない、という課題がある。
 本開示はこのような課題を解決するためのものである。
 (1)本開示の一態様における情報処理方法は、作業者の作業を支援する情報処理システムにおける情報処理方法であって、実空間において前記作業者が作業対象とする対象物の3次元モデルをバーチャル空間内に構築し、前記実空間における、前記作業者の位置情報及び姿勢情報を取得し、前記位置情報及び前記姿勢情報に基づいて、前記バーチャル空間におけるバーチャルカメラの位置及び姿勢を前記作業者の位置及び姿勢に同期させ、同期された前記バーチャルカメラにより撮影された前記3次元モデルを示すバーチャルカメラ映像を生成し、前記バーチャルカメラ映像を含む出力画像を表示するための出力情報を出力する。
 この構成によれば、バーチャルカメラの位置及び姿勢が実空間における作業者の位置及び姿勢に同期され、同期されたバーチャルカメラにより対象物の3次元モデルが撮影されたバーチャルカメラ映像が生成される。これにより、作業者の視線で見た3次元モデルの映像であるバーチャルカメラ映像を管理者は確認できる。その結果、作業現場における映像を外部に出力できない条件下において、作業者が見ている場所を遠隔の管理者に確認させることができる。
 (2)上記(1)記載の情報処理方法において、前記位置情報及び前記姿勢情報は、前記作業者が装着した実マーカーの位置及び姿勢を示す実マーカー情報であり、前記実空間に設置された実マーカーの位置及び姿勢を示す初期マーカー情報を取得し、前記初期マーカー情報と前記対象物及び前記実マーカーの相対位置とに基づいて、前記実空間と前記バーチャル空間とを対応付ける空間キャリブレーションを実行し、前記実空間において、前記作業者が装着した前記実マーカーの位置及び姿勢を示す実マーカー情報を取得し、前記実マーカー情報に基づいて、前記バーチャルカメラの位置及び姿勢を前記実マーカー情報が示す前記実マーカーの位置及び姿勢に同期させてもよい。
 この構成によれば、実マーカーの位置及び姿勢を示す初期マーカー情報が取得され、初期マーカー情報と、対象物及び実マーカーの相対位置とに基づいて、実空間とバーチャル空間とを対応付ける空間キャリブレーションが実行される。そのため、実空間とバーチャル空間とを正確に対応付けることができ、それによって、作業現場の実映像を用いることなく、作業者が見ている場所が正確に再現されたバーチャルカメラ映像を生成することができる。
 (3)上記(1)又は(2)記載の情報処理方法において、前記空間キャリブレーションは、前記初期マーカー情報に基づいて、前記実マーカーに対応するバーチャルマーカーを前記バーチャル空間の任意の位置に設置し、前記相対位置に基づいて、前記実マーカーと前記対象物との相対的な位置関係が維持されるように、前記バーチャルマーカーを基準に前記3次元モデルを前記バーチャル空間に設置し、前記空間キャリブレーションを実行したときの前記対象物に対する前記実マーカーの相対的な位置を示す実基準ベクトルと、前記3次元モデルに対する前記バーチャルマーカーの相対的な位置を示すバーチャル基準ベクトルと、を含むキャリブレーション情報を生成してもよい。
 この構成によれば、実マーカーの位置がバーチャル空間の任意の位置に設置され、実マーカーと対象物との相対的な位置関係が維持されるように、バーチャルマーカーを基準に3次元モデルがバーチャル空間に設置される。そのため、バーチャルマーカーの位置が実質的に原点となるようにバーチャル空間の座標系を設定することができ、その座標系を用いて対象物の位置を決定することができる。したがって、実マーカーの位置を自身からの相対位置によって表すセンサーを用いた環境下において、実マーカーとバーチャルマーカーとの対応付けを正確に行うことができる。また、実基準ベクトル及びバーチャル基準ベクトルがキャリブレーション情報として生成されるので、作業時において、実基準ベクトル及びバーチャル基準ベクトルを用いてバーチャルカメラと実マーカーとを正確に同期させることができる。
 (4)上記(3)記載の情報処理方法において、前記同期は、前記実マーカー情報に基づいて、前記対象物に対する前記実マーカーの相対的な位置を示す実空間ベクトルを算出し、前記実空間ベクトルと前記実基準ベクトルとの差分ベクトルを算出し、前記バーチャル基準ベクトル及び前記差分ベクトルに基づいて、前記3次元モデルに対する前記バーチャルマーカーの位置を決定すると共に、前記実マーカー情報に含まれる前記実マーカーの姿勢に基づいて前記バーチャルマーカーの姿勢を決定し、前記バーチャルマーカーの位置を前記バーチャルカメラの位置として決定し、前記バーチャルマーカーの姿勢を前記バーチャルカメラの姿勢として設定してもよい。
 この構成によれば、作業時において、キャリブレーション時に設置されたバーチャルマーカーの位置が実質的に原点となるようにバーチャル空間の座標系を設定することができ、その座標系を用いてバーチャルマーカーの位置を決定することができる。そのため、実マーカーの位置を自身からの相対位置によって表すセンサーを用いた環境下において、作業時に、実マーカーとバーチャルマーカーとの対応付け正確に行うことができる。
 (5)上記(3)記載の情報処理方法において、前記初期マーカー情報及び前記実マーカー情報は、周囲の環境をセンシングして自身の相対位置を検出する方式を用いて取得された情報であってもよい。
 この構成によれば、周囲の環境をセンシングして自身の相対位置を検出する方法を用いて実マーカーの位置を検出する環境下において、実マーカーとバーチャルマーカーとの対応付けを正確に行うことができる。このようなセンサーの一例は、慣性センサー又はSLAM技術を用いるセンサーである。
 (6)上記(2)記載の情報処理方法において、前記空間キャリブレーションは、前記初期マーカー情報に基づいて前記実マーカーに対応するバーチャルマーカーを前記バーチャル空間に設置し、前記相対位置に基づいて、前記実マーカーと前記対象物との相対的な位置関係が維持されるように、前記3次元モデルを前記バーチャル空間に設置し、設置された前記3次元モデルの座標をキャリブレーション情報として生成してもよい。
 この構成によれば、実マーカーと対象物との相対的な位置関係が維持されるように、3次元モデルがバーチャル空間に設置され、設置された3次元モデルの座標がキャリブレーション情報として生成されている。そのため、物体の位置を実空間の座標系によって表すセンサーを用いて実マーカーの位置を検出する環境下において、実マーカー情報が示す位置及び姿勢をそのまま用いてバーチャルマーカーの位置及び姿勢を設定できる。
 (7)上記(6)記載の情報処理方法において、前記同期は、前記実マーカーの位置を前記バーチャルカメラの位置として決定し、前記実マーカーの姿勢を前記バーチャルカメラの姿勢として決定してもよい。
 この構成によれば、物体の位置を実空間の座標系によって表すセンサーを用いて実マーカーの位置を検出する環境下において、実マーカー情報が示す位置及び姿勢をそのまま用いてバーチャルマーカーの位置及び姿勢を設定できる。
 (8)上記(6)記載の情報処理方法において、前記初期マーカー情報及び前記実マーカー情報は、前記実空間の座標系を用いて物体の位置を表すセンサーを用いて取得された情報であってもよい。
 この構成によれば、実空間の座標系を用いて物体の位置を表すセンサーを用いて実マーカーの位置を検出する環境下において、実マーカーとバーチャルマーカーとの対応付けを正確に行うことができる。このようなセンサーの一例は、光学センサーである。
 (9)上記(2)~(8)のいずれか1つに記載の情報処理方法において、前記初期マーカー情報は、前記対象物と異なる位置に設置される第1実マーカーの位置及び姿勢を示す第1初期マーカー情報と、前記対象物の位置に設置される第2実マーカーの位置及び姿勢を示す第2初期マーカー情報とを含み、前記空間キャリブレーションは、前記第1初期マーカー情報に基づいて前記第1実マーカーに対応する第1バーチャルマーカーを前記バーチャル空間に設置し、前記第2初期マーカー情報に基づいて、前記第1実マーカー及び前記第2実マーカーの相対的な位置関係が維持されるように、前記第2実マーカーに対応する第2バーチャルマーカーを前記バーチャル空間に設置してもよい。
 この構成によれば、第1実マーカー及び第2実マーカーを用いて第1実マーカー及び第1バーチャルマーカーを正確に対応付けることができる。
 (10)上記(9)記載の情報処理方法において、前記同期は、前記第1実マーカーの位置を前記バーチャルカメラの位置として決定し、前記第1実マーカーの姿勢を前記バーチャルカメラの姿勢として決定してもよい。
 この構成によれば、物体の位置を実空間の座標系によって表すセンサーを用いて実マーカーの位置を検出する環境下において、実マーカー情報が示す位置及び姿勢をそのまま用いてバーチャルマーカーの位置及び姿勢を設定できる。
 (11)上記(1)~(10)のいずれか1つに記載の情報処理方法において、さらに、前記バーチャルカメラ映像は、前記バーチャルカメラの位置及び姿勢の変化に同期して変化してもよい。
 この構成によれば、バーチャルカメラの位置及び姿勢の変化に同期してバーチャルカメラ映像が変化されるので、作業者が見ている場所をリアルタイムで示すバーチャルカメラ映像が得られる。
 (12)上記(1)~(11)記載の情報処理方法において、前記出力画像は、さらに、前記3次元モデルの俯瞰画像と、前記俯瞰画像に対応付けて表示されるカメラアイコンとを含み、前記カメラアイコンは、前記バーチャルカメラの位置及び姿勢に同期して表示態様が変更されてもよい。
 この構成によれば、作業者が対象物のどの部位を見ているかを俯瞰的に示す情報を提供できる。
 (13)上記(12)記載の情報処理方法において、前記出力画像は、前記作業者の作業者端末及び管理者の管理者端末に表示され、さらに、前記俯瞰画像又は前記バーチャルカメラ映像に示される前記3次元モデルにおいて前記管理者により指定された位置を指し示す表示オブジェクトを表示するための表示オブジェクト情報を管理者端末から取得し、さらに、前記表示オブジェクト情報に基づいて前記表示オブジェクトを前記俯瞰画像又は前記バーチャルカメラ映像に重畳表示させてもよい。
 この構成によれば、管理者が指定した位置を指し示す表示オブジェクトが俯瞰間画像又はバーチャルカメラ映像に重畳表示されるので、管理者は自身が指定した位置を作業者と共有できる。
 (14)上記(1)~(13)のいずれか1つに記載の情報処理方法において、前記3次元モデルは、本体部と前記本体部に取り付けられた可動部とを含み、さらに、前記可動部に対する管理者からの操作を示す操作情報を管理者端末から取得し、前記バーチャルカメラ映像に含まれる前記可動部を示す画像は、前記操作情報に基づいて変化してもよい。
 この構成によれば、管理者は遠隔から3次元モデルの可動部を操作できる。
 (15)上記(2)~(8)のいずれか1つに記載の情報処理方法において、前記初期マーカー情報及び前記実マーカー情報は前記実マーカーの位置及び姿勢が検出可能なセンサーから取得される情報であってもよい。
 この構成によれば、センサーを用いて実マーカーの位置及び姿勢を測定することで初期マーカー情報及び実マーカー情報を得ることができる。
 (16)本開示の別の一態様における情報処理装置は、作業者の作業を支援する情報処理装置であって、実空間において前記作業者が作業対象とする対象物の3次元モデルを、バーチャル空間に構築する構築部と、前記実空間における、前記作業者の位置情報及び姿勢情報を取得する第1取得部と、前記位置情報及び前記姿勢情報に基づいて、前記バーチャル空間におけるバーチャルカメラの位置及び姿勢を前記作業者の位置及び姿勢に同期させる同期部と、同期された前記バーチャルカメラにより撮影された前記3次元モデルを示すバーチャルカメラ映像を生成する生成部と、前記バーチャルカメラ映像を含む出力画像を表示するための出力情報を出力する出力部と、を備える。
 この構成によれば、作業現場の実映像を用いることなく、作業者が見ている場所が正確に再現されたバーチャルカメラ映像を生成する情報処理装置を提供できる。
 本開示の別の一態様における情報処理プログラムは、作業者の作業を支援する情報処理システムとしてコンピュータを機能させる情報処理プログラムであって、実空間において前記作業者が作業対象とする対象物の3次元モデルを、バーチャル空間内に構築し、前記実空間における、前記作業者の位置情報及び姿勢情報を取得し、前記位置情報及び前記姿勢情報に基づいて、前記バーチャル空間におけるバーチャルカメラの位置及び姿勢を前記作業者の位置及び姿勢に同期させ、同期された前記バーチャルカメラにより撮影された前記3次元モデルを示すバーチャルカメラ映像を生成し、前記バーチャルカメラ映像を含む出力画像を表示するための出力情報を出力する、処理を前記コンピュータに実行させる。
 この構成によれば、作業現場の実映像を用いることなく、作業者が見ている場所が正確に再現されたバーチャルカメラ映像を生成する情報処理プログラムを提供できる。
 本開示は、このような情報処理プログラムによって動作する情報更新システムとして実現することもできる。また、このようなコンピュータプログラムを、CD-ROM等のコンピュータ読取可能な非一時的な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
 なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
 (実施の形態1)
 図1は、本開示の実施の形態1における情報処理システム100の全体構成の一例を示すブロック図である。情報処理システム100は対象物に対して作業をする作業者を遠隔地にいる管理者が支援するシステムである。具体的には、現場にいる作業者が視認する像をバーチャル空間内で再現し、そのバーチャル空間の映像を管理者に視認させることにより、作業者と管理者との間で情報を共有させながら、作業者の作業を遠隔地から支援するシステムである。
 図2は、情報処理システム100の処理の概要を示す図である。図2において左図は現場を示し、右図は遠隔地を示す。現場には、対象物501が設置されている。作業者504は現場において、対象物501に対して何らかの作業を行う。情報処理システム100は、このような視野502内の像をバーチャル空間内に再現する。具体的には、情報処理システム100は、バーチャル空間内に対象物501を模擬した3次元モデル221を構築し、バーチャル空間内に配置されたバーチャルカメラで3次元モデル221を撮影することで、バーチャルカメラ映像を生成する。生成したバーチャルカメラ映像は遠隔地にある管理者端末3のディスプレイに表示される。ここで、バーチャルカメラは、作業者504の視線の変化に同期してバーチャル空間における姿勢を変化させて、バーチャルカメラ映像を撮影する。その結果、バーチャルカメラ映像を視認する管理者514は、作業者504が対象物501においてどのような場所を注視しているかを確認できる。その結果、管理者514は、作業者に適切な支援を講じることができる。なお、情報処理システム100は、作業者504の注視点をバーチャルカメラ映像に重畳表示させてもよい。
 現場は、例えば、対象物が設置されている実空間である。現場の一例は、工場、実験場、試験場、化学プラント等である。工場は、テレビ、洗濯機等の電気製品を製造する工場であってもよいし、自動車、鉄等を製造する工場であってもよい。これらの現場は一例であり、作業者が対象物に対する作業を行う場所であればどのような場所であってもよい。例えば、現場は、機器又は設備の保守が行われる場所であってもよい。
 対象物の一例は、保守対象となる設備、及び製造ラインで製造される製造物等である。製造物の一例は、電気製品、自動車等である。設備の一例は、工場の製造ライン等である。以下、情報処理システム100の構成を具体的に説明する。図1を参照する。情報処理システム100は、検出装置1、作業者端末2、及び管理者端末3を含む。検出装置1及び作業者端末2は、対象物501が設置された現場にある。管理者端末3は遠隔地にある。検出装置1及び作業者端末2は、通信路C1を介して通信可能に接続されている。通信路C1は、例えば無線LAN又はBluetooth(登録商標)等の無線の通信路であってもよいし、有線の通信路であってもよい。作業者端末2及び管理者端末3は、ネットワークを介して接続されている。ネットワークは、例えばインターネットを含む広域通信網である。
 検出装置1は、現場に設置され、当該現場に設置される実マーカーの位置及び姿勢が検出可能なセンサーである。
 実マーカーは、実空間とバーチャル空間とを対応付ける空間キャリブレーションを実行するために使用される物体である。図3は、現場を示す実空間600の一例を示す図である。実空間600には、実マーカーM1及び対象物501が設置されている。実マーカーM1は、ベース部611と、ベース部611から上側に突出する3本の凸部612とを含む。ベース部611には実マーカーM1の地面からの高さを一定の高さに保持する台座601が取り付けられている。なお、ここで示した実マーカーM1の形状は一例であり、他の形状が採用されてもよく、特に限定はされない。
 検出装置1は、実マーカーM1の位置及び姿勢を検出するセンサー装置であればどのようなものであってもよい。実施の形態1において、検出装置1は、周囲の環境をセンシングして自身の位置を検出するセンサーである。このような自己位置を推定する手法の一例は、カメラ画像又はLiDARを用いるSLAM(Simultaneous Localization and Mapping)技術を用いた手法がある。その他、実施の形態1において、検出装置1は、慣性式モーションキャプチャーシステムに用いられるセンサー(慣性式センサー)、又は磁気式モーションキャプチャーシステムに用いられるセンサー(磁気式センサー)であってもよい。
 検出装置1は、検出した実マーカーM1の位置及び姿勢を示すマーカー情報を作業者端末2に出力する。実マーカーM1の位置は、例えば、対象物501に対する3次元ベクトルデータ又は初期位置を基準とした3次元ベクトルデータで表される。
 検出装置1は、通信路C1を介してマーカー情報を作業者端末2に出力する。
 以上が検出装置1の説明である。次に、作業者端末2について説明する。作業者端末2は、プロセッサ21、メモリ22、ディスプレイ23、及び通信部24を含む。作業者端末2は、例えば、作業者が携帯する携帯情報端末である。携帯情報端末は、例えば、スマートフォン、タブレット型コンピュータ、及びスマートグラス等である。
 プロセッサ21は、例えば中央演算装置で構成されている。プロセッサ21は、構築部211、第1取得部212、実行部213、第2取得部214、同期部215、生成部216、及び出力部217を含む。構築部211~出力部217は、中央演算処理装置がコンピュータを作業者端末2として機能させる情報処理プログラムを実行することで実現されてもよいし、専用のハードウェア回路で実現されてもよい。
 構築部211は、実空間において作業者が作業対象とする対象物501の3次元モデル221を、3次元のバーチャル空間に構築する。構築部211は、対象物501の形状を模擬した3次元のモデルである。構築部211は、対象物501の3次元CAD(Computer-Aided Design)データ又は対象物501のBIM(Building Information Modeling)データを取得し、取得した3次元CADデータ又はBIMデータを3次元モデル221として生成すればよい。
 或いは、構築部211は、本体部と本体部に取り付けられた可動部とを含む対象物501を生成してもよい。可動部は、管理者514が管理者端末3に入力した操作を示す操作情報に基づいて可動可能に構成された3次元モデルである。この場合、3次元モデル221は、例えばゲームエンジンを用いて生成される。構築部211は、視体積交差法を用いて3次元モデル221を生成してもよい。3次元モデル221は、点群データであってもよいし、ボクセルデータであってもよい。構築部211は、生成した3次元モデル221をメモリ22に記憶する。
 第1取得部212は、実空間600において、実マーカーM1の位置及び姿勢を示す初期マーカー情報を取得する。図3を参照する。実空間600において、実マーカーM1は、対象物501に対して基準距離D1離れ、且つ地面から基準高さhの位置に設置されている。また、実マーカーM1は、姿勢D2が地面と平行になるように設置されている。姿勢D2は実マーカーM1の姿勢を示す3次元のベクトルで表される。また、実マーカーM1は、姿勢D2が対象物501の正面方向(図略)と平行になる位置に設置される。また、実マーカーM1は、位置P1から姿勢D2の方向に伸ばした直線が対象物501の中心位置O1と交差するように設置されている。位置P1は例えば実マーカーM1の正面位置である。正面位置は、対象物501と正対した実マーカーM1の正面における中心位置である。
 対象物501の正面方向は地面と平行且つ主面と直交する方向である。中心位置O1は、地面からの高さが基準高さhの位置であり、対象物501の横方向の中心の位置である。図3の例では、対象物501は、内部の回路基板が露出されたテレビである。基準距離D1は例えば、50cm、1m、等の任意の距離である。作業者504はこの対象物501に対して部品を組み付けるといった作業を行う。
 実空間600において、対象物501に対する実マーカーM1の相対位置は予め定められている。この相対位置を示す相対位置情報はメモリ22に予め記憶されている。相対位置情報は、例えば基準距離D1を含む。
 初期マーカー情報は、空間キャリブレーションの実行時において、検出装置1が検出したマーカー情報である。空間キャリブレーションは、作業者504が作業を行う前に実行される。空間キャリブレーションにおいて、検出装置1は、図3に示すように対象物501に対して所定の相対位置に設置された実マーカーM1の位置及び姿勢を検出し、検出した位置及び姿勢を示すマーカー情報を作業者端末2に出力する。第1取得部212は、空間キャリブレーションの実行時において、検出装置1から出力されたマーカー情報を初期マーカー情報として取得する。
 実行部213は、初期マーカー情報とメモリ22に記憶された相対位置情報とに基づいて、実空間600とバーチャル空間とを対応付ける空間キャリブレーションを実行する。空間キャリブレーションの詳細は下記の通りである。
 図4は、空間キャリブレーションの様子を示す図である。まず、実行部213は、初期マーカー情報に基づいて実マーカーM1に対応するバーチャルマーカーM2をバーチャル空間700に設置する。バーチャルマーカーM2は、実マーカーM1を模擬した3次元モデルである。バーチャル空間700は、相互に直交するX、Y、Zの3つの軸で表される3次元空間である。Z軸は地面に相当する基準面701と直交し、X軸及びY軸は基準面701と平行である。例えば、実行部213は、実マーカー情報に含まれる実マーカーM1の位置P1に対応するバーチャル空間700上の位置P1´を決定し、決定した位置P1´にバーチャルマーカーM2を設置する。位置P1´は例えばバーチャルマーカーM2の正面位置である。このとき、実行部213は、実マーカー情報に含まれる実マーカーM1の姿勢D2と同じ姿勢になるようにバーチャルマーカーM2の姿勢D2´を決定する。これにより、バーチャルマーカーM2は、姿勢D2´がバーチャル空間700内の基準面701と平行になるように設置される。なお、位置P1´の座標は、バーチャル空間700の座標系の任意の位置に決定される。任意の位置の一例はバーチャル空間700の座標系の原点である。
 次に、実行部213は、相対位置情報に含まれる基準距離D1に基づいて、実マーカーM1と対象物501との相対的な位置関係が維持されるように、バーチャルマーカーM2を基準に3次元モデル221をバーチャル空間700に設置する。
 図5は、図4の続きの空間キャリブレーションの様子を示す図である。実行部213は、バーチャルマーカーM2から姿勢D2´の方向に基準距離D1´離れた位置に3次元モデル221が位置するように3次元モデル221をバーチャル空間700に設置する。具体的には、実行部213は、姿勢D2´の方向が3次元モデル221の正面方向と平行、且つ、バーチャルマーカーM2の位置P1´から姿勢D2´の方向に延長した直線上に3次元モデル221の中心位置O1´が位置し、且つ、バーチャルマーカーM2の位置P1´から中心位置O1´までの距離が基準距離D1´となるように3次元モデル221を設置する。
 これにより、実マーカーM1と対象物501との位置関係が維持されるように、バーチャルマーカーM2及び3次元モデル221がバーチャル空間700に設置される。なお、位置P1´は位置P1に対応するバーチャル空間700の位置であり、基準距離D1´は基準距離D1に対応するバーチャル空間700の距離であり、姿勢D2´は姿勢D2に対応するバーチャル空間700の姿勢であり、中心位置O1´は中心位置O1に対応するバーチャル空間700の位置である。
 次に、実行部213は、キャリブレーション情報222を生成し、メモリ22に記憶する。キャリブレーション情報222は、図3に示す実基準ベクトルV0と図5に示すバーチャル基準ベクトルV0´とを含む。実基準ベクトルV0は、空間キャリブレーションを実行したときの対象物501に対する実マーカーM1の相対位置を示すベクトルである。具体的には、実基準ベクトルV0は、位置P1を始点とし、中心位置O1を終点とするベクトルである。バーチャル基準ベクトルV0´は、バーチャル空間700において、位置P1´を始点とし、中心位置O1´を終点とするベクトルであり、3次元モデル221に対するバーチャルマーカーM2の相対位置を示すベクトルである。
 図1に参照を戻す。第2取得部214は、実空間600において、作業者504が装着した実マーカーM1の位置及び姿勢を示す実マーカー情報を取得する。実マーカー情報は、作業者504の作業中において検出装置1が作業者504に装着された実マーカーM1の位置及び姿勢を示すマーカー情報である。検出装置1は、作業中において所定のサンプリングレートで実マーカーM1の位置及び姿勢を検出し、検出した位置及び姿勢を示すマーカー情報を作業者端末2に所定のサンプリングレートで出力する。第2取得部214は、作業者504の作業中において、検出装置1から出力されたマーカー情報を実マーカー情報として取得する。作業中において、作業者504は、例えば頭部に実マーカーM1を装着する。但し、これは一例であり、実マーカーM1は作業者504の頭部以外の位置に装着されてもよい。
 同期部215は、実マーカー情報に基づいて、バーチャル空間700におけるバーチャルカメラの位置及び姿勢を実マーカー情報が示す実マーカーM1の位置及び姿勢に同期させる。
 図3を参照し、作業中において、実マーカーM1の位置が位置P2に位置していたとする。この場合、同期部215は、実マーカー情報に含まれる実マーカーM1の位置P2から中心位置O1までのベクトルを実空間ベクトルV1として算出する。実空間ベクトルV1は、作業中において、対象物501に対する実マーカーM1の相対位置を示すベクトルである。次に、同期部215は、実空間ベクトルV1と実基準ベクトルV0との差分ベクトルΔVを算出する。
 次に、図5を参照し、同期部215は、バーチャル空間700において、バーチャル基準ベクトルV0´に差分ベクトルΔVを加算して、バーチャル空間ベクトルV1´を算出する。バーチャル空間ベクトルV1´は、作業中において、3次元モデル221に対するバーチャルマーカーM2の相対位置を示すベクトルである。これにより、実空間600における対象物501に対する作業中の作業者の相対位置が、バーチャル空間700内に再現される。次に、同期部215は、バーチャル空間ベクトルV1´における始点(位置P2´)をバーチャルカメラの位置として決定する。次に、同期部215は、実マーカー情報に含まれる実マーカーM1の姿勢をバーチャルカメラの姿勢として決定する。
 図1に参照を戻す。生成部216は、実マーカーM1と同期されたバーチャルカメラにより撮影された3次元モデル221を示すバーチャルカメラ映像を生成し、生成したバーチャルカメラ映像を含む出力画像を表示するための出力情報を生成する。例えば、生成部216は、バーチャル空間700にバーチャルスクリーンを設定し、バーチャルスクリーンに3次元モデル221をレンダリングすることによってバーチャルカメラ画像を生成すればよい。バーチャルスクリーンは、例えばバーチャルカメラから所定距離離間し、中心がバーチャルカメラの視線を通る平面である。バーチャルスクリーンのサイズは、例えば作業者504の視野に相当するサイズを有する。これにより、作業者504の視野内の像が再現されたバーチャルカメラ映像が生成される。生成部216は、バーチャルカメラ映像を所定のサンプリングレートで生成する。これにより、バーチャルカメラ映像は、作業者504の視野の像をリアルタイムで再現することができる。
 出力部217は、生成部216が生成した出力情報を通信部24を用いて管理者端末3に送信する。
 メモリ22は、例えば、フラッシュメモリ又はソリッドステートドライブ等の不揮発性の書き換え可能な記憶装置である。メモリ22は、3次元モデル221及びキャリブレーション情報222を記憶する。
 ディスプレイ23は、例えば、液晶表示装置等である。通信部24は、作業者端末2をネットワークに接続するための通信回路である。通信部24は、出力情報をネットワークを介して管理者端末3に送信する。
 管理者端末3は、例えば、遠隔地に設置された端末である。管理者端末3は、例えば、通信部、プロセッサ、ディスプレイ、及び操作部等を含むコンピュータで構成されている。管理者端末3は、デスクトップコンピュータで構成されてもよいし、スマートフォン又はタブレット型コンピュータ等の携帯型コンピュータで構成されてもよい。管理者端末3のプロセッサは、作業者端末2から送信された出力情報に基づいて描画した出力画像をディスプレイに表示させる。
 図6は、出力画像に含まれるバーチャルカメラ映像900の一例を示す図である。バーチャルカメラ映像900は、管理者端末3のディスプレイに表示される。バーチャルカメラ映像900には、3次元モデル221の映像が含まれている。この3次元モデル221の映像は、作業者504の視野内にある対象物501を作業者504の視線方向から見た場合の対象物501の像を、3次元モデル221を用いて描画したものである。これにより、管理者514は、作業者504が視認する対象物501の像を確認でき、作業者504に対する指示を円滑に行うことができる。
 なお、図6において回路基板の部位は3次元モデル221の可動部901であってもよい。この場合、管理者514が可動部901に対する操作を示す操作情報を管理者端末3に入力すると、管理者端末3は操作情報を作業者端末2に送信する。操作情報を受信した作業者端末2のプロセッサ21は、操作情報に基づいて可動部901を可動させる。具体的には、プロセッサ21の生成部216は、操作情報が示す操作量にしたがって可動部901を可動させる。生成部216は所定のサンプリングレートで3次元モデル221をレンダリングしているので、可動部901の動きをリアルタイムで示すバーチャルカメラ映像900が管理者端末3に表示されることになる。可動部901の動きとしては、例えば、可動部901を3次元モデル221の本体部から取り外す動きが挙げられる。
 以上が情報処理システム100の構成である。次に、情報処理システム100の処理について説明する。図7は、情報処理システム100の処理の全体像を示すフローチャートである。
 作業者端末2の構築部211は、3次元モデル221を構築する(ステップS1)。次に、構築部211は、X、Y、Zの3軸の座標系を有するバーチャル空間700をコンピュータ内に構築する(ステップS2)。
 次に、検出装置1及び作業者端末2は、実空間600とバーチャル空間700とを対応付ける空間キャリブレーションを実行する(ステップS3)。次に、現場において作業者504による作業の開始が開始されてから終了されるまで、情報処理システム100は、バーチャルカメラ映像900を生成し、生成したバーチャルカメラ映像900を管理者端末3にリアルタイムで表示させる定常処理を実行する(ステップS4)。
 図8は、空間キャリブレーションの処理の詳細を示すフローチャートである。ステップS11において、実空間600において作業者504により実マーカーM1が設置される。この場合、実マーカーM1は、図3に示すように、対象物501に対して基準距離D1離れ、且つ地面から基準高さhの位置に設置される。
 この設置においては、例えば、対象物501が設置されていない状態において、例えば作業者504は、中心位置O1に相当する位置に光学式トラッカーを設置する。そして、例えば作業者504は、光学式トラッカーの測定値を確認しながら、実マーカーM1が中心位置O1から基準距離D1離れ、且つ基準高さhの位置に設置されるように、実マーカーM1を位置決めすればよい。或いは、作業者504は、実空間600に設置された深度センサーの測定値を確認しながら、実マーカーM1が中心位置O1から基準距離D1離れ、且つ基準高さhの位置に設置されるように、実マーカーM1を位置決めしてもよい。
 次に、ステップS12において、検出装置1は、実マーカーM1の位置P1及び姿勢D2を検出することによって、初期マーカー情報を検出する。次に、ステップS13において、検出装置1は、初期マーカー情報を通信路C1を介して作業者端末2に出力する。
 次に、ステップS21において、作業者端末2の第1取得部212は、通信部24を用いて初期マーカー情報を取得する。
 次に、ステップS22において、実行部213は、初期マーカー情報に含まれる実マーカーM1の位置P1に対応するバーチャル空間700上の位置P1´を決定する。実施の形態1では、位置P1´は、バーチャル空間700上の任意の位置(例えば原点等)であり、特に限定はされない。
 次に、ステップS23において、実行部213は、初期マーカー情報に含まれる実マーカーM1の姿勢D2に対応するバーチャル空間700上の姿勢D2´を決定する。
 次に、ステップS24において、実行部213は、ステップS22で決定した位置P1´において、バーチャルマーカーM2がステップS23で決定された姿勢D2´をとるようにバーチャルマーカーM2をバーチャル空間700に設置する。これにより、図4に示すようにバーチャルマーカーM2がバーチャル空間700に設置される。
 次に、ステップS25において、実行部213は、バーチャルマーカーM2から姿勢D2´の方向に基準距離D1離れた位置を決定し、決定した位置に中心位置O1´が位置するように3次元モデル221を設置する。
 次に、ステップS26において、実行部213は、図3に示す実基準ベクトルV0を算出すると共に、図5に示すバーチャル基準ベクトルV0´を算出し、算出した実基準ベクトルV0及びバーチャル基準ベクトルV0´とを含むキャリブレーション情報222を生成する。生成されたキャリブレーション情報222はメモリ22に記憶される。
 以上により空間キャリブレーションが終了される。次に定常処理について説明する。図9は、定常処理の詳細を示すフローチャートである。定常処理は、例えば、作業者504が作業の開始を告げるコマンドを作業者端末2に入力し、入力されたコマンドを作業者端末2が取得することによって開始される。或いは、定常処理は、例えば、管理者514が作業の開始を告げるコマンドを管理者端末3に入力し、入力されたコマンドを管理者端末3を介して作業者端末2が取得することによって開始される。
 ステップS41において、検出装置1は、作業者504が装着した実マーカーM1の位置P1及び姿勢D2を検出することによって、実マーカー情報を検出する。
 次に、ステップS42において、検出装置1は、実マーカー情報を作業者端末2に出力する。
 次に、ステップS51において、作業者端末2の第2取得部414は、実マーカー情報を取得する。
 次に、ステップS52において、同期部215は、同期処理を実行する。同期処理の詳細は後述する。
 次に、ステップS53において、生成部216は、実マーカーM1と同期されたバーチャルカメラにより撮影された3次元モデル221を示すバーチャルカメラ映像900を生成する。
 次に、ステップS54において、出力部217は、バーチャルカメラ映像900を表示するための出力情報を生成し、生成した出力情報を通信部24を用いて管理者端末3に送信する。
 次に、ステップS61において、管理者端末3は、出力情報を受信する。ステップS62において、管理者端末3は、出力情報を示す出力画像を表示する。
 以上の処理が作業員の作業が終了するまで所定のサンプリングレートで繰り返し実行され、管理者端末3にはバーチャルカメラ映像900がリアルタイムで表示される。なお、定常処理は、作業者504により作業の終了を告げるコマンドが作業者端末2に入力され、そのコマンドを作業者端末2が取得することによって終了される。或いは、定常処理は、管理者514により作業の終了を告げるコマンドが管理者端末3に入力され、そのコマンドを管理者端末3を介して作業者端末2が取得することによって終了される。
 次に、ステップS52に示す同期処理の詳細について説明する。図10は、同期処理の詳細を示すフローチャートである。
 ステップS521において、同期部215は、実空間600において、実マーカー情報に含まれる実マーカーM1の位置P2から中心位置O1までのベクトルを実空間ベクトルV1として算出する。
 次に、ステップS522において、同期部215は、実空間ベクトルV1と実基準ベクトルV0との差分ベクトルΔVを算出する。
 次に、ステップS523において、同期部215は、バーチャル空間700において、バーチャル基準ベクトルV0´に差分ベクトルΔVを加算して、バーチャル空間ベクトルV1´を算出する。
 次に、ステップS524において、同期部215は、バーチャル空間ベクトルV1´における始点(位置P2´)をバーチャルカメラの位置として決定すると共に、実マーカー情報に含まれる実マーカーM1の姿勢をバーチャルカメラの姿勢として決定する。これにより、バーチャルカメラの位置及び姿勢が、実マーカー情報が示す実マーカーM1の位置及び姿勢に同期される。
 次に、出力画像の変形例について説明する。出力画像は、さらに3次元モデル221を俯瞰する俯瞰画像を含んでいてもよい。図11は、俯瞰画像1000の一例を示す図である。
 俯瞰画像1000は、バーチャルカメラ映像900をレンダリングするバーチャルカメラとは別のバーチャルカメラである俯瞰バーチャルカメラでバーチャル空間700をレンダリングした画像である。俯瞰画像1000は、バーチャルカメラ映像900、カメラアイコン1002、及び3次元モデル221を含む。
 カメラアイコン1002は、バーチャルカメラ映像900をレンダリングするバーチャルカメラの位置及び姿勢を示すアイコンである。カメラアイコン1002は、バーチャルカメラの位置及び姿勢に同期して、位置及び姿勢が変化する。俯瞰バーチャルカメラは、管理者の指示により位置及び姿勢が変更されてもよい。この場合、俯瞰バーチャルカメラの位置及び姿勢に応じて俯瞰画像1000内の3次元モデル221の表示態様が変化する。これにより、作業者504が対象物501のどの部位を見ているかを俯瞰的に示す情報を管理者に提供できる。
 さらに、俯瞰画像1000は、作業者端末2に表示されてもよい。図12は、管理者端末3及び作業者端末2のそれぞれに表示される俯瞰画像1000を示す図である。図12の例では、俯瞰画像1000は、さらに表示オブジェクト1004を含む。
 表示オブジェクト1004は、俯瞰画像1000において、管理者により指定された位置を指し示す表示オブジェクトである。管理者514は、操作装置(図略)を操作することで、俯瞰画像1000上に指定する位置を指し示す表示オブジェクト1004を表示させる。すると、この表示オブジェクト1004を作業者端末2に表示するための表示オブジェクト情報が、管理者端末3から作業者端末2に送信される。これにより、作業者端末2は、俯瞰画像1000に表示オブジェクト1004を表示させる。図12の例では、管理者端末3に表示される俯瞰画像1000に対応する作業者端末2に表示される俯瞰画像1000の表示位置に表示オブジェクト1004が表示されている。これにより、管理者は指定した位置を作業者と共有できる。
 このように、実施の形態1によれば、作業者504の視線で見た3次元モデル221の映像であるバーチャルカメラ映像900を管理者514は確認できる。その結果、現場における映像を外部に出力できない条件下において、作業者504が見ている場所を遠隔の管理者514に確認させることができる。
 さらに、実施の形態1によれば、対象物501に対して所定の相対位置に設置される実マーカーの位置及び姿勢を示す初期マーカー情報が取得され、初期マーカー情報、相対位置に基づいて、実空間600とバーチャル空間700とを対応付ける空間キャリブレーションが実行される。そのため、実空間600とバーチャル空間700とを正確に対応付けることができ、それによって、現場の実映像を用いることなく、作業者504が見ている場所が正確に再現されたバーチャルカメラ映像900を生成することができる。
 さらに、実施の形態1によれば、実マーカーの位置がバーチャル空間700の任意の位置に設置され、実マーカーと対象物との相対的な位置関係が維持されるように、バーチャルマーカーを基準に3次元モデルがバーチャル空間に設置されている。そのため、バーチャルマーカーの位置が実質的に原点となるようにバーチャル空間の座標系を設定することができ、その座標系を用いて対象物の位置を決定することができる。したがって、実マーカーの位置を自身からの相対位置によって表すセンサーを用いた環境下において、実マーカーとバーチャルマーカーとの対応付けを正確に行うことができる。
 (実施の形態1の変形例1)
 実施の形態1の変形例1は、実施の形態1に対して空間キャリブレーション及び同期処理が相違する。なお、実施の形態1の変形例1において、検出装置1は、実空間における物体の位置を3次元の座標系によって表すセンサーで構成される。このセンサーの一例は光学式トラッカー等の光学式センサーである。この3次元の座標系は、図3に示すように相互に直交するx、y、zの3つの軸で表される。図3の例では、z軸は地面に直交し、y軸及びx軸は地面と平行である。したがって、実マーカーM1の位置は、x、y、zの座標データによって表される。実マーカーM1の姿勢は、3次元のベクトルで表される。
 図13は、実施の形態1の変形例1における空間キャリブレーションの処理を示すフローチャートである。図13において、図8との相違点はステップS26Aにある。
 ステップS25に続くステップS26Aにおいて、作業者端末2の実行部213は、バーチャル空間700における3次元モデル221の座標をキャリブレーション情報222として生成し、生成したキャリブレーション情報222をメモリ22に保存させる。
 図8で説明したように、ステップS25の処理では、バーチャル空間700におけるバーチャルマーカーM2と3次元モデル221との距離が、実空間600における実マーカーM1と対象物501との距離と等しくなるように、バーチャル空間700における3次元モデル221の座標が調整されている。これにより、実空間600の座標系とバーチャル空間700の座標系とが合致する。但し、作業中においてバーチャルカメラ映像を生成するには、バーチャルマーカーM2の座標が必要となる。そこで、変形例1では、バーチャル空間700に設置された3次元モデル221の座標をキャリブレーション情報としてメモリ22に記憶させている。
 図5を参照する。例えば、図5において、バーチャルマーカーM2の座標は位置P1´であり、3次元モデル221の座標は中心位置O1´である。この場合、図3を参照して、実行部213は、実マーカーM1から対象物501までの距離がバーチャルマーカーM2から3次元モデル221の中心位置O1´までの距離と等しくなるように、3次元モデル221の中心位置O1´の位置を調整する。これにより、作業中において、実マーカーM1と対象物501との位置関係がバーチャル空間700に再現できる。
 次に、実施の形態1の変形例1における同期処理について説明する。図14は、実施の形態1の変形例1における同期処理の一例を示すフローチャートである。ステップS531において、同期部215は、ステップS51(図9)で取得された実マーカー情報に基づいてバーチャルカメラの位置及び姿勢を決定する。図3に示すように、実マーカー情報に含まれる実マーカーM1の位置が位置P2である場合、位置P2の座標がバーチャル空間700にプロットされ、プロットされた座標がバーチャルマーカーM2の位置P2´として決定される。また、実マーカー情報に含まれる実マーカーM1の姿勢がバーチャルマーカーM2の姿勢として決定される。そして、同期部215は、バーチャルマーカーM2の位置P2´をバーチャルカメラの位置として決定し、バーチャルマーカーM2の姿勢をバーチャルカメラの姿勢として決定する。これにより、実マーカーM1の位置及び姿勢がバーチャルカメラの位置及び姿勢と同期する。ステップS531が終了すると、処理はステップS53(図9)に進む。
 このように、実施の形態1の変形例1によれば、実空間600における座標系とバーチャル空間700における座標系とが一致されるように空間キャリブレーションが行われているので、実マーカー情報が示す位置及び姿勢をそのまま用いてバーチャルマーカーM2の位置及び姿勢を設定できる。
 さらに、実施の形態1の変形例1によれば、実空間における座標系とバーチャル空間における座標系とが一致されるように空間キャリブレーションが行われるので、物体の位置を実空間の座標系によって表すセンサーを用いて実マーカーの位置を検出する環境下において、実マーカー情報が示す位置及び姿勢をそのまま用いてバーチャルマーカーの位置及び姿勢を設定できる。
 (実施の形態1の変形例2)
 実施の形態1の変形例2は、第1実マーカー及び第2実マーカーを用いて空間キャリブレーションを行うものである。図15は、実施の形態1の変形例2における空間キャリブレーションの処理を示すフローチャートである。図16、図17、図18は、実施の形態1の変形例2における処理の説明図である。
 ステップS11Bにおいて、図16に示すように、実空間600において作業者504により第1実マーカーM11と第2実マーカーM12とが設置される。第1実マーカーM11は、対象物501と異なる位置に設置される。第2実マーカーM12は、対象物501の位置に設置される。具体的には、第2実マーカーM12は対象物501の近傍に設置される。この第2実マーカーM12の位置が対象物501の位置としてみなされる。
 次に、ステップS12Bにおいて、検出装置1は、第1実マーカーM11の位置P11及び姿勢D2を検出することによって第1初期マーカー情報を検出すると共に、第2実マーカーM12の位置P12及び姿勢(図略)を検出することによって第2初期マーカー情報を検出する。
 次に、ステップS13Bにおいて、検出装置1は、第1初期マーカー情報及び第2初期マーカー情報を通信路C1を介して作業者端末2に出力する。
 次に、ステップS21Bにおいて、作業者端末2の第1取得部212は、通信部24を用いて第1初期マーカー情報及び第2初期マーカー情報を取得する。
 次に、ステップS22Bにおいて、実行部213は、第1初期マーカー情報に含まれる第1実マーカーM11の位置P11に対応するバーチャル空間700上の位置P11´を決定すると共に、第2初期マーカー情報に含まれる第2実マーカーM12の位置P12に対応するバーチャル空間700上の位置P12´を決定する。例えば、実行部213は、実空間600において第1実マーカーM11に対する第2実マーカーM12の相対位置を算出し、相対位置に基づいて第1実マーカーM11と第2実マーカーM12との相対的な位置関係が維持されるように、第1バーチャルマーカーM21に対する第2バーチャルマーカーM22の位置を決定すればよい。この場合、実行部213は、位置P11を始点とし、位置P12を終点とするベクトルを第1実マーカーM11に対する第2実マーカーM12の相対位置として算出すればよい。
 次に、ステップS23Bにおいて、実行部213は、第1初期マーカー情報に含まれる第1実マーカーM11の姿勢D2に対応するバーチャル空間700上の姿勢D2´を決定すると共に、第2初期マーカー情報に含まれる第2実マーカーM12の姿勢(図略)に対応するバーチャル空間700上の姿勢(図略)を決定する。
 次に、ステップS24Bにおいて、実行部213は、ステップS22Bで決定した位置P11´において、第1バーチャルマーカーM21がステップS23で決定された姿勢D2´をとるように第1バーチャルマーカーM21をバーチャル空間700に設置する。さらに、実行部213は、ステップS22Bで決定した位置P12´において、第2バーチャルマーカーM22がステップS23Bで決定された姿勢(図略)をとるように第2バーチャルマーカーM22をバーチャル空間700に設置する。これにより、図17に示すようにバーチャルマーカーM2がバーチャル空間700に設置される。
 次に、ステップS25Bにおいて、実行部213は、図18に示すように、第2バーチャルマーカーM22の位置P12´に3次元モデル221を設置する。具体的には、実行部213は、位置P12´に3次元モデル221の所定の位置が位置し、且つ、3次元モデル221の主面が第1バーチャルマーカーM21の姿勢D2´と直交するように、3次元モデル221を設置する。これにより、第1実マーカーM11と対象物501との相対的な位置関係が維持されるように、3次元モデルがバーチャル空間700に設置される。
 変形例2では、ステップS25Bの段階において、実空間600の座標系とバーチャル空間700との座標系とは一致しており、さらに、対象物501の位置も第2実マーカーM12により随時更新されているので、キャリブレーション情報を記憶する必要がない。
 実施の形態1の変形例2における同期処理は、図14に示す実施の形態1の変形例1における同期処理と同じであるため、詳細な説明は省略する。すなわち、図16に示すように作業者504が装着した第1実マーカーM11の位置P2の座標が、図18に示すようにバーチャル空間700における第1バーチャルマーカーM21の位置P2´と決定される。さらに、第1実マーカーM11の姿勢が第1バーチャルマーカーM21の姿勢として決定される。そして、決定された第1バーチャルマーカーM21の位置P2´がバーチャルカメラの位置として決定され、決定された第1バーチャルマーカーM21の姿勢がバーチャルカメラの姿勢として決定され、バーチャルカメラ映像が撮影される。
 このように実施の形態1の変形例2によれば、第1実マーカーM11及び第2実マーカーM12を用いて空間キャリブレーションが行われているので、キャリブレーション情報を生成する手間を省くことができる。
 (実施の形態2)
 図19は、実施の形態2における情報処理システム100Aの構成の一例を示すブロック図である。実施の形態1では、作業者端末2が処理主体であったが、実施の形態2では、管理者端末3Aが処理主体である。情報処理システム100Aは、検出装置1、作業者端末2A、及び管理者端末3Aを含む。
 実施の形態1では、作業者端末2のプロセッサ21が、構築部211、第1取得部212、実行部213、第2取得部214、同期部215、生成部216、及び出力部217を備えていたが、実施の形態2では、これらの構成は、管理者端末3Aのプロセッサ301が備えている。また、実施の形態1では、メモリ22が3次元モデル221及びキャリブレーション情報222を記憶していたが、実施の形態2では、メモリ302がこれらの構成を有している。
 管理者端末3Aは、プロセッサ301、メモリ302、ディスプレイ303、及び通信部304を含む。プロセッサ301は、例えば、中央演算処理装置で構成されている。構築部211、第1取得部212、実行部213、第2取得部214、同期部215、生成部216、及び出力部217は、プロセッサ301が情報処理プログラムを実行することで実現される。但し、これは一例であり、これらの構成は、専用のハードウェア回路で構成されてもよい。
 ディスプレイ303は、例えば、液晶表示装置等であり、バーチャルカメラ映像900を表示する。
 通信部304は、管理者端末3Aをネットワークに接続するための通信回路である。通信部304は、作業者端末2Aから送信された初期マーカー情報及び実マーカー情報を受信する。
 次に、実施の形態2における情報処理システム100Aの処理について説明する。実施の形態2において、情報処理システム100Aの処理の全体像は図7と同じであるため、図7を援用し、詳細な説明は省略する。但し、実施の形態2において、3次元モデルを構築する処理(ステップS1)及びバーチャル空間を構築する処理(ステップS2)は管理者端末3Aにより行われ、空間キャリブレーションの処理(ステップS3)は検出装置1、作業者端末2A、及び管理者端末3Aにより行われる。
 図20は、実施の形態2における空間キャリブレーションの処理の詳細を示すフローチャートである。
 ステップS101、S102、S103、S202の処理は、図8に示すステップS11、S12、S13、S21と同じであるので、詳細な説明は省略する。
 ステップS201に続くステップS202において、作業者端末2Aは、初期マーカー情報を管理者端末3Aに送信する。ステップS301において、管理者端末3Aは、初期マーカー情報を受信する。
 以下、ステップS302~S306の処理が実行される。ステップS302、S303、S304、S305、S306の処理の詳細は、図8に示すステップS22、S23、S24、S25、S26と同じであるので、詳細な説明は省略する。但し、ステップS302~S306においては、処理主体が作業者端末2ではなく管理者端末3Aである点が、図8と相違する。
 図21は、実施の形態2における定常処理の詳細を示すフローチャートである。ステップS401、S402、S501の処理は、図9に示すステップS41、S42、S51と同じであるので、詳細な説明は省略する。
 ステップS501に続くステップS502において、作業者端末2Aは実マーカー情報を管理者端末3Aに送信する。ステップS601において、管理者端末3Aの通信部304は、実マーカー情報を受信する。
 以下、ステップS602~S604の処理が実行される。ステップS602、S603、S604の処理の詳細は、図9に示すステップS52、S53、S62と同じである。但し、ステップS602、S603においては、処理主体が作業者端末2でなく管理者端末3Aである点が、図9と相違する。また、図21においては、バーチャルカメラ映像900が管理者端末3Aにより生成されているので、図9の、ステップS54、S61に示す出力情報を送受信する処理は省かれている。
 このように、実施の形態2によれば、処理主体を管理者端末3Aとした場合においても、実施の形態1と同様の効果が得られる。
 (実施の形態3)
 実施の形態1では、作業者端末2が処理主体であったが、実施の形態3では、サーバが処理主体である。図22は、実施の形態3における情報処理システム100Bの構成の一例を示すブロック図である。情報処理システム100Bは、検出装置1、作業者端末2B、管理者端末3B、及びサーバ4を含む。
 サーバ4は、例えば1又は複数のコンピュータを含むクラウドサーバである。実施の形態1では、作業者端末2のプロセッサ21が、構築部211、第1取得部212、実行部213、第2取得部214、同期部215、生成部216、及び出力部217を備えていたが、実施の形態3では、これらの構成は、サーバ4のプロセッサ401が備えている。また、実施の形態1では、メモリ22が3次元モデル221及びキャリブレーション情報222を記憶していたが、実施の形態3では、メモリ402がこれらの構成を有している。
 サーバ4は、プロセッサ401、メモリ402、及び通信部403を含む。プロセッサ401は、例えば、中央演算処理装置で構成されている。構築部211、第1取得部212、実行部213、第2取得部214、同期部215、生成部216、及び出力部217は、プロセッサ401が情報処理プログラムを実行することで実現される。但し、これは一例であり、これらの構成は、専用のハードウェア回路で構成されてもよい。
 通信部403は、作業者端末2をネットワークに接続するための通信回路である。通信部403は、作業者端末2Bから送信された初期マーカー情報及び実マーカー情報を受信する。
 次に、実施の形態3における情報処理システム100Bの処理について説明する。実施の形態3において、情報処理システム100Bの処理の全体像は図7と同じであるため、図7を援用し、詳細な説明は省略する。但し、実施の形態3において、3次元モデルを構築する処理(ステップS1)及びバーチャル空間を構築する処理(ステップS2)はサーバ4により行われ、空間キャリブレーションの処理(ステップS3)及び定常処理(ステップS4)は、検出装置1、作業者端末2B、及びサーバ4により行われる。
 図23は、実施の形態3における空間キャリブレーションの処理の詳細を示すフローチャートである。
 ステップS111、S112、S113、S211の処理は、図8に示すステップS11、S12、S13、S21と同じであるので、詳細な説明は省略する。
 ステップS211に続くステップS212において、作業者端末2Bは、初期マーカー情報をサーバ4に送信する。ステップS311において、サーバ4は、初期マーカー情報を受信する。
 以下、ステップS312~S316の処理が実行される。ステップS312、S313、S314、S315、S316の処理の詳細は、図8に示すステップS22、S23、S24、S25、S26と同じであるので、詳細な説明は省略する。但し、ステップS312~S316においては、処理主体が作業者端末2ではなくサーバ4である点が、図8と相違する。
 図24は、実施の形態3における定常処理の詳細を示すフローチャートである。ステップS411、S412、S511の処理は、図9に示すステップS41、S42、S51と同じであるので、詳細な説明は省略する。
 ステップS511に続くステップS512において、作業者端末2Bは実マーカー情報をサーバ4に送信する。ステップS701において、サーバ4の第1取得部212は、通信部403を用いて、実マーカー情報を取得する。
 以下、ステップS702~S704の処理が実行される。ステップS702、S703の処理の詳細は、図9に示すステップS52、S53と同じである。
 ステップS703に続くステップS704において、サーバ4の出力部217は、バーチャルカメラ映像を含む出力情報を管理者端末3Bに送信する。
 次に、ステップS611において、管理者端末3Bは、出力情報を受信する。次に、ステップS612において、管理者端末3Bは、出力情報を表示する。
 このように、実施の形態3によれば、処理主体をサーバ4とした場合においても、実施の形態1と同様の効果が得られる。
 本開示は下記の変形例が採用できる。
 (1)実施の形態2、3において空間キャリブレーションの処理は、実施の形態1の図13に示す実施の形態1の変形例の処理が採用されてもよい。
 (2)上記実施の形態1~3では、ユーザの位置及び姿勢を検出する態様の一例として実マーカー及びバーチャルマーカーが用いられているが、本開示はこれに限定されない。例えば、本開示では、ユーザの位置及び姿勢を検出装置1を用いて直接検知する態様が採用されてもよい。
 本開示によれば、作業者の作業を遠隔地から支援する遠隔支援システムにおいて有用である。

Claims (17)

  1.  作業者の作業を支援する情報処理システムにおける情報処理方法であって、
     実空間において前記作業者が作業対象とする対象物の3次元モデルをバーチャル空間内に構築し、
     前記実空間における、前記作業者の位置情報及び姿勢情報を取得し、
     前記位置情報及び前記姿勢情報に基づいて、前記バーチャル空間におけるバーチャルカメラの位置及び姿勢を前記作業者の位置及び姿勢に同期させ、
     同期された前記バーチャルカメラにより撮影された前記3次元モデルを示すバーチャルカメラ映像を生成し、
     前記バーチャルカメラ映像を含む出力画像を表示するための出力情報を出力する、
     情報処理方法。
  2.  前記位置情報及び前記姿勢情報は、前記作業者が装着した実マーカーの位置及び姿勢を示す実マーカー情報であり、
     前記実空間に設置された実マーカーの位置及び姿勢を示す初期マーカー情報を取得し、
     前記初期マーカー情報と前記対象物及び前記実マーカーの相対位置とに基づいて、前記実空間と前記バーチャル空間とを対応付ける空間キャリブレーションを実行し、
     前記実空間において、前記作業者が装着した前記実マーカーの位置及び姿勢を示す実マーカー情報を取得し、
     前記実マーカー情報に基づいて、前記バーチャルカメラの位置及び姿勢を前記実マーカー情報が示す前記実マーカーの位置及び姿勢に同期させる、
     請求項1に記載の情報処理方法。
  3.  前記空間キャリブレーションは、
      前記初期マーカー情報に基づいて、前記実マーカーに対応するバーチャルマーカーを前記バーチャル空間の任意の位置に設置し、
      前記相対位置に基づいて、前記実マーカーと前記対象物との相対的な位置関係が維持されるように、前記バーチャルマーカーを基準に前記3次元モデルを前記バーチャル空間に設置し、
      前記空間キャリブレーションを実行したときの前記対象物に対する前記実マーカーの相対的な位置を示す実基準ベクトルと、前記3次元モデルに対する前記バーチャルマーカーの相対的な位置を示すバーチャル基準ベクトルと、を含むキャリブレーション情報を生成する、
     請求項2記載の情報処理方法。
  4.  前記同期は、
      前記実マーカー情報に基づいて、前記対象物に対する前記実マーカーの相対的な位置を示す実空間ベクトルを算出し、
      前記実空間ベクトルと前記実基準ベクトルとの差分ベクトルを算出し、
      前記バーチャル基準ベクトル及び前記差分ベクトルに基づいて、前記3次元モデルに対する前記バーチャルマーカーの位置を決定すると共に、前記実マーカー情報に含まれる前記実マーカーの姿勢に基づいて前記バーチャルマーカーの姿勢を決定し、
      前記バーチャルマーカーの位置を前記バーチャルカメラの位置として決定し、
      前記バーチャルマーカーの姿勢を前記バーチャルカメラの姿勢として設定する、
     請求項3記載の情報処理方法。
  5.  前記初期マーカー情報及び前記実マーカー情報は、周囲の環境をセンシングして自身の相対位置を検出する方式を用いて取得された情報である、
     請求項3記載の情報処理方法。
  6.  前記空間キャリブレーションは、
      前記初期マーカー情報に基づいて前記実マーカーに対応するバーチャルマーカーを前記バーチャル空間に設置し、
      前記相対位置に基づいて、前記実マーカーと前記対象物との相対的な位置関係が維持されるように、前記3次元モデルを前記バーチャル空間に設置し、
      設置された前記3次元モデルの座標をキャリブレーション情報として生成する、
     請求項2記載の情報処理方法。
  7.  前記同期は、
      前記実マーカーの位置を前記バーチャルカメラの位置として決定し、
      前記実マーカーの姿勢を前記バーチャルカメラの姿勢として決定する、
     請求項6記載の情報処理方法。
  8.  前記初期マーカー情報及び前記実マーカー情報は、前記実空間の座標系を用いて物体の位置を表すセンサーを用いて取得された情報である、
     請求項6記載の情報処理方法。
  9.  前記初期マーカー情報は、前記対象物と異なる位置に設置される第1実マーカーの位置及び姿勢を示す第1初期マーカー情報と、前記対象物の位置に設置される第2実マーカーの位置及び姿勢を示す第2初期マーカー情報とを含み、
     前記空間キャリブレーションは、
      前記第1初期マーカー情報に基づいて前記第1実マーカーに対応する第1バーチャルマーカーを前記バーチャル空間に設置し、
      前記第2初期マーカー情報に基づいて、前記第1実マーカー及び前記第2実マーカーの相対的な位置関係が維持されるように、前記第2実マーカーに対応する第2バーチャルマーカーを前記バーチャル空間に設置し、
      前記第2実マーカーの位置に前記3次元モデルを設置する、
     請求項2記載の情報処理方法。
  10.  前記同期は、
      前記第1実マーカーの位置を前記バーチャルカメラの位置として決定し、
      前記第1実マーカーの姿勢を前記バーチャルカメラの姿勢として決定する、
     請求項9記載の情報処理方法。
  11.  さらに、前記バーチャルカメラ映像は、前記バーチャルカメラの位置及び姿勢の変化に同期して変化する、
     請求項1記載の情報処理方法。
  12.  前記出力画像は、さらに、前記3次元モデルの俯瞰画像と、前記俯瞰画像に対応付けて表示されるカメラアイコンとを含み、
     前記カメラアイコンは、前記バーチャルカメラの位置及び姿勢に同期して表示態様が変更される、
     請求項1記載の情報処理方法。
  13.  前記出力画像は、前記作業者の作業者端末及び管理者の管理者端末に表示され、
     さらに、前記俯瞰画像又は前記バーチャルカメラ映像に示される前記3次元モデルにおいて前記管理者により指定された位置を指し示す表示オブジェクトを表示するための表示オブジェクト情報を管理者端末から取得し、
     さらに、前記表示オブジェクト情報に基づいて前記表示オブジェクトを前記俯瞰画像又は前記バーチャルカメラ映像に重畳表示させる、
     請求項12記載の情報処理方法。
  14.  前記3次元モデルは、本体部と前記本体部に取り付けられた可動部とを含み、
     さらに、前記可動部に対する管理者からの操作を示す操作情報を管理者端末から取得し、
     前記バーチャルカメラ映像に含まれる前記可動部を示す画像は、前記操作情報に基づいて変化する、
     請求項1記載の情報処理方法。
  15.  前記初期マーカー情報及び前記実マーカー情報は前記実マーカーの位置及び姿勢が検出可能なセンサーから取得される情報である、
     請求項2記載の情報処理方法。
  16.  作業者の作業を支援する情報処理装置であって、
     実空間において前記作業者が作業対象とする対象物の3次元モデルを、バーチャル空間に構築する構築部と、
     前記実空間における、前記作業者の位置情報及び姿勢情報を取得する第1取得部と、
     前記位置情報及び前記姿勢情報に基づいて、前記バーチャル空間におけるバーチャルカメラの位置及び姿勢を前記作業者の位置及び姿勢に同期させる同期部と、
     同期された前記バーチャルカメラにより撮影された前記3次元モデルを示すバーチャルカメラ映像を生成する生成部と、
     前記バーチャルカメラ映像を含む出力画像を表示するための出力情報を出力する出力部と、を備える、
     情報処理装置。
  17.  作業者の作業を支援する情報処理システムとしてコンピュータを機能させる情報処理プログラムであって、
     実空間において前記作業者が作業対象とする対象物の3次元モデルを、バーチャル空間内に構築し、
     前記実空間における、前記作業者の位置情報及び姿勢情報を取得し、
     前記位置情報及び前記姿勢情報に基づいて、前記バーチャル空間におけるバーチャルカメラの位置及び姿勢を前記作業者の位置及び姿勢に同期させ、
     同期された前記バーチャルカメラにより撮影された前記3次元モデルを示すバーチャルカメラ映像を生成し、
     前記バーチャルカメラ映像を含む出力画像を表示するための出力情報を出力する、処理を前記コンピュータに実行させる、
     情報処理プログラム。
PCT/JP2023/020406 2022-06-10 2023-06-01 情報処理方法、情報処理装置、及び情報処理プログラム WO2023238759A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022094576 2022-06-10
JP2022-094576 2022-06-10

Publications (1)

Publication Number Publication Date
WO2023238759A1 true WO2023238759A1 (ja) 2023-12-14

Family

ID=89118336

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/020406 WO2023238759A1 (ja) 2022-06-10 2023-06-01 情報処理方法、情報処理装置、及び情報処理プログラム

Country Status (1)

Country Link
WO (1) WO2023238759A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293604A (ja) * 2005-04-08 2006-10-26 Canon Inc 情報処理方法、情報処理装置および遠隔複合現実感共有装置
JP2019164650A (ja) * 2018-03-20 2019-09-26 東芝インフォメーションシステムズ株式会社 表示制御装置、表示制御システム、表示制御方法及び表示制御プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293604A (ja) * 2005-04-08 2006-10-26 Canon Inc 情報処理方法、情報処理装置および遠隔複合現実感共有装置
JP2019164650A (ja) * 2018-03-20 2019-09-26 東芝インフォメーションシステムズ株式会社 表示制御装置、表示制御システム、表示制御方法及び表示制御プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ADACHI TOMOAKI, TAKEFUMI OGAWA, KIYOSHI KIYOKAWA, HARUO TAKEMURA: "A Remote Collaboration System using Live Video and 3D Scene Model ", THE VIRTUAL REALITY SOCIETY OF JAPAN, vol. 12, no. 4, 1 January 2007 (2007-01-01), pages 549 - 558, XP093115062 *
FUKUSHIMA, HIROYUKI ET AL.: "A remote work space sharing system based on spatial model data generated by dimensional space measurement", IPSG SIG TECHNICAL REPORT, IPSJ, JP, vol. 2018-GN-104, no. 18, 1 January 2018 (2018-01-01), JP , pages 1 - 5, XP009551116, ISSN: 2188-8574 *

Similar Documents

Publication Publication Date Title
US20190272676A1 (en) Local positioning system for augmented reality applications
US7663649B2 (en) Information processing device and method for aiding control operations relating to controlling the position and orientation of a virtual object and method for changing the positioning and orientation of a virtual object
AU2019279990B2 (en) Digital camera with audio, visual and motion analysis
JP2018005115A (ja) 投写画像調整システム及び投写画像調整方法
US20190228575A1 (en) Tap event location with a selection apparatus
JP7073481B2 (ja) 画像表示システム
US9239892B2 (en) X-ray vision for buildings
US20110109628A1 (en) Method for producing an effect on virtual objects
WO2018113759A1 (zh) 基于定位系统和ar/mr的探测系统及探测方法
US11609345B2 (en) System and method to determine positioning in a virtual coordinate system
Gomez-Jauregui et al. Quantitative evaluation of overlaying discrepancies in mobile augmented reality applications for AEC/FM
JP2019008623A (ja) 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体
US11341716B1 (en) Augmented-reality system and method
JP2021018710A (ja) 現場連携システムおよび管理装置
JP2018022242A (ja) 複合システム及びターゲットマーカ
WO2023238759A1 (ja) 情報処理方法、情報処理装置、及び情報処理プログラム
JP2006018444A (ja) 画像処理システム及び付加情報指示装置
JP6800599B2 (ja) 情報処理装置、方法及びプログラム
WO2024019002A1 (ja) 情報処理方法、情報処理装置、及び情報処理プログラム
WO2023224033A1 (ja) 情報処理方法、情報処理装置、及び情報処理プログラム
EP4102468A1 (en) Augmented-reality system and method
JPWO2015141214A1 (ja) 多視点画像に対するラベル情報の処理装置及びそのラベル情報の処理方法
JP2020042667A (ja) 投影システム、投影方法及びプログラム
JP6695529B1 (ja) 投影システム、投影装置、投影方法及びプログラム
WO2023224031A1 (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: 23819739

Country of ref document: EP

Kind code of ref document: A1