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

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

Info

Publication number
WO2023032316A1
WO2023032316A1 PCT/JP2022/013008 JP2022013008W WO2023032316A1 WO 2023032316 A1 WO2023032316 A1 WO 2023032316A1 JP 2022013008 W JP2022013008 W JP 2022013008W WO 2023032316 A1 WO2023032316 A1 WO 2023032316A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
information processing
unit
display
processing apparatus
Prior art date
Application number
PCT/JP2022/013008
Other languages
English (en)
French (fr)
Inventor
学 川島
太記 山中
高志 瀬能
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to CN202280057138.8A priority Critical patent/CN117836814A/zh
Priority to JP2023545059A priority patent/JPWO2023032316A1/ja
Publication of WO2023032316A1 publication Critical patent/WO2023032316A1/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 an information processing device, an information processing method, and a program.
  • a technique for detecting surrounding objects for example, a technique for extracting feature points from images captured by a stereo camera and recognizing the object based on the spatial positions of the extracted feature points is known.
  • the present disclosure provides a mechanism that allows users to enjoy content more safely.
  • an information processing device includes a control unit.
  • the control unit acquires first three-dimensional information about the probability of occupation of an object in real space and second three-dimensional information about the estimation result of the surface shape of the object.
  • the control unit classifies the object based on the first three-dimensional information and floor surface information regarding the floor surface of the real space.
  • the control unit highlights the surface of the object classified based on the second three-dimensional information.
  • FIG. 1 is a diagram for explaining an overview of an information processing system according to the present disclosure
  • FIG. FIG. 5 is a diagram for explaining an overview of obstacle display processing according to the embodiment of the present disclosure
  • FIG. FIG. 5 is a diagram showing an example of second three-dimensional information according to an embodiment of the present disclosure
  • FIG. FIG. 4 is a diagram for explaining an overview of display suppression processing according to an embodiment of the present disclosure
  • FIG. 1 is a block diagram showing a configuration example of a terminal device according to a first embodiment of the present disclosure
  • FIG. 1 is a block diagram showing a configuration example of an information processing device according to a first embodiment of the present disclosure
  • FIG. FIG. 4 is a diagram for explaining an example of voxels according to an embodiment of the present disclosure
  • FIG. 2 is a block diagram showing a configuration example of a display control unit according to an embodiment of the present disclosure
  • FIG. 3 is a block diagram showing a configuration example of an obstacle detection unit according to the embodiment of the present disclosure
  • FIG. FIG. 4 is a diagram for explaining an example of obstacles detected by a clustering processing unit according to an embodiment of the present disclosure
  • FIG. FIG. 4 is a diagram for explaining mesh information with display labels according to an embodiment of the present disclosure
  • FIG. It is a figure which shows the structural example of the false obstacle determination part which concerns on embodiment of this indication.
  • FIG. 4 is a diagram for explaining a relationship between a target voxel and a range-finding range of a range-finding device according to the embodiment of the present disclosure
  • FIG. 4 is a diagram for explaining a relationship between a target voxel and a range-finding range of a range-finding device according to the embodiment of the present disclosure;
  • FIG. 4 is a diagram for explaining an example of state transition of a target voxel according to an embodiment of the present disclosure;
  • FIG. 4 is a flowchart showing an example of the flow of image generation processing according to the embodiment of the present disclosure;
  • 6 is a flowchart showing an example of the flow of obstacle division processing according to the embodiment of the present disclosure;
  • 6 is a flowchart showing an example of the flow of fake obstacle determination processing according to the embodiment of the present disclosure;
  • 6 is a flowchart showing an example of the flow of display image generation processing according to the embodiment of the present disclosure;
  • FIG. 11 is a diagram for explaining an example of a real space according to a modification of the embodiment of the present disclosure;
  • FIG. 1 is a hardware configuration diagram showing an example of a computer that implements functions of an information processing apparatus
  • FIG. 1 is a diagram for explaining an outline of an information processing system 1 according to the present disclosure. As shown in FIG. 1 , the information processing system 1 includes an information processing device 100 and a terminal device 200 .
  • the information processing device 100 and the terminal device 200 can communicate with each other via various wired or wireless networks. Any communication method can be applied to the network, regardless of whether it is wired or wireless (for example, WiFi (registered trademark), Bluetooth (registered trademark), etc.).
  • the number of information processing devices 100 and terminal devices 200 included in the information processing system 1 is not limited to the number illustrated in FIG. 1, and may be included in a greater number.
  • FIG. 1 illustrates a case where the information processing system 1 has the information processing device 100 and the terminal device 200 individually, the present invention is not limited to this.
  • the information processing device 100 and the terminal device 200 may be implemented as one device.
  • a single device such as a stand-alone HMD can implement the functions of both the information processing device 100 and the terminal device 200 .
  • the terminal device 200 is a wearable device (eyewear device) such as a glasses-type HMD worn by the user U on the head.
  • eyewear device such as a glasses-type HMD worn by the user U on the head.
  • the eyewear device applicable as the terminal device 200 may be a so-called see-through type head-mounted display (AR (Augmented Reality) glasses) that allows an image of the real space to pass through, or a glass that does not allow the image of the real space to pass through. It may be a goggle type (VR (Virtual Reality) goggles).
  • AR Augmented Reality
  • VR Virtual Reality
  • the terminal device 200 is not limited to being an HMD, and may be a tablet, smartphone, or the like held by the user U, for example.
  • the information processing device 100 comprehensively controls the operation of the terminal device 200 .
  • the information processing device 100 is implemented by, for example, a processing circuit such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). A detailed configuration of the information processing apparatus 100 according to the present disclosure will be described later.
  • the information processing apparatus 100 controls the HMD so that the user U moves within a safe play area (allowable area) that does not come into contact with real objects.
  • a play area can be set by the user U, for example, before starting the game.
  • the play area may be specified by the information processing device 100 based on sensing results from a sensor or the like mounted on the terminal device 200, for example.
  • the area PA is identified as a play area where the user U can move and reach out without colliding with obstacles.
  • the play area may be represented as a three-dimensional area such as a combination of a dotted line PA1 indicated on the floor and a wall PA2 vertically extending from the dotted line PA1.
  • the play area may be represented as a two-dimensional area of dotted line PA1.
  • the play area can be set as a two-dimensional area or a three-dimensional area.
  • objects Ob1 and Ob2 (hereinafter also simply referred to as obstacles Ob1 and Ob2) that act as obstacles in an area PA specified as a play area (hereinafter simply referred to as play area PA) may be included.
  • a play area PA may be set.
  • the obstacles Ob1 and Ob2 may be placed within the play area PA while the user U is playing the game.
  • references [1] and [2] are known as methods for detecting an obstacle Ob in this way.
  • reference [1] discloses a method of segmenting each voxel of three-dimensional information using a trained CNN (Convolutional Neural Network).
  • Reference [2] discloses a method of segmenting a two-dimensional image and mapping it to three-dimensional information.
  • these methods require a huge recognizer and require a long processing time. Therefore, a method of dividing the obstacle Ob in a short time with low resources is desired.
  • FIG. 2 is a diagram for explaining an overview of obstacle display processing according to the embodiment of the present disclosure.
  • the obstacle display process shown in FIG. 2 is executed by the information processing device 100, for example.
  • the information processing device 100 acquires first three-dimensional information (step S11).
  • the first three-dimensional information is, for example, information regarding the probability of occupation of objects in the real space where the user U exists.
  • An example of the first three-dimensional information is an occupancy grid map.
  • the information processing device 100 acquires floor surface information (step S12).
  • the floor information is, for example, information about the floor in real space.
  • the information processing device 100 classifies obstacles based on the first three-dimensional information and the floor surface information (step S13).
  • the information processing apparatus 100 excludes information corresponding to the floor surface from the first three-dimensional information, and classifies obstacles from the remaining information.
  • the first three-dimensional information is an occupancy grid map (hereinafter also referred to as an occupancy map)
  • the information processing device 100 excludes voxels corresponding to the floor surface, and among the voxels whose state is occupied, voxels that are in contact with each other are clustered to classify the obstacles. The details of the classification of obstacles will be described later.
  • the information processing device 100 acquires the second three-dimensional information (step S14).
  • the second three-dimensional information is information on the surface shape of an object in the real space where the user U exists.
  • the second three-dimensional information includes, for example, mesh data defining a surface with multiple vertices and sides connecting the multiple vertices.
  • the information processing device 100 highlights the surfaces of the classified obstacles (step S15). For example, the information processing apparatus 100 highlights the surface of the obstacle by changing the display color of the mesh data corresponding to the obstacle in the second three-dimensional information.
  • the information processing device 100 classifies obstacles Ob1 and Ob2 in the play area PA, for example, by executing obstacle display processing in the play area PA shown in FIG.
  • the information processing apparatus 100 highlights the classified obstacles Ob1 and Ob2.
  • the information processing apparatus 100 can notify the user U of the existence of the obstacles Ob1 and Ob2. Therefore, the user U can remove the obstacles Ob1 and Ob2, move around the obstacles Ob1 and Ob2, and enjoy the content (for example, the game) more safely.
  • the number of obstacles Ob is two in FIG. 1, it is not limited to this.
  • the number of obstacles Ob may be one, or may be three or more.
  • the display image may be generated assuming that there is an obstacle in a space where the obstacle does not exist due to the influence of noise or the like.
  • Such erroneously detected obstacles are hereinafter also referred to as false obstacles.
  • the display image is generated based on the second three-dimensional information including the mesh data described above.
  • the information processing device 100 can generate a smoother image than when using the Occupancy Map.
  • the second three-dimensional information including mesh data has no unknown (unobserved state), and the previous data will continue to be retained until the next distance information is acquired.
  • FIG. 3 is a diagram showing an example of second three-dimensional information according to the embodiment of the present disclosure. As shown in the circled portion in FIG. 3, once noise occurs, the noise may be retained as second three-dimensional information for a long time and may continue to be presented to the user U as a false obstacle. In this case, it does not matter whether the fake obstacle is highlighted.
  • References [3] and [4] disclose a mesh denoising method using a trained DNN (Deep Neural Network).
  • Reference [4] also discloses a mesh denoising technique using a model-based such as bilateral filtering.
  • these methods suppress unevenness from the relationship with the surrounding mesh. Therefore, it is required to suppress the display of false obstacles that are observed in isolation from the surroundings due to erroneous observation of depth.
  • FIG. 4 is a diagram for explaining an overview of display suppression processing according to the embodiment of the present disclosure.
  • the display suppression process shown in FIG. 4 is executed by the information processing apparatus 100, for example.
  • the information processing device 100 acquires first three-dimensional information (step S21).
  • the first three-dimensional information is the same as the first three-dimensional information acquired in the obstacle display processing shown in FIG.
  • the information processing device 100 acquires floor surface information (step S22).
  • the floor information is the same as the floor information obtained in the obstacle display process shown in FIG.
  • the information processing device 100 detects obstacles based on the first three-dimensional information and the floor surface information (step S23).
  • the information processing device 100 may detect obstacles in the same manner as the method of classifying obstacles in the obstacle display process shown in FIG. state) may be detected as obstacles.
  • the information processing apparatus 100 can detect an obstacle by a method according to a predetermined condition used for determining a false obstacle, which will be described later.
  • the information processing device 100 determines a fake obstacle from the detected obstacles (step S24).
  • the information processing apparatus 100 determines a false obstacle by determining an outlier rate according to a predetermined condition for the detected obstacle. For example, the information processing apparatus 100 determines the outlier rate according to the size (number of voxels) of the detected obstacle. The information processing apparatus 100 determines the outlier rate according to the ratio of voxels that are unknown (unobserved state) among the voxels around the detected obstacle. The information processing apparatus 100 determines the outlier rate according to the time change of the state of the second three-dimensional information (voxels). The information processing apparatus 100 determines the obstacle outlier rate according to the height from the floor surface. The details of the method of determining the outlier rate by the information processing apparatus 100 will be described later.
  • the information processing device 100 acquires the second three-dimensional information (step S25).
  • the second three-dimensional information is the same as the second three-dimensional information acquired in the obstacle display process shown in FIG.
  • the information processing device 100 suppresses the display of fake obstacles (step S26).
  • the information processing apparatus 100 suppresses the display of false obstacles by displaying the obstacles with a transmittance according to the outlier rate.
  • the information processing apparatus 100 can notify the user U of the obstacle Ob with higher accuracy without displaying a fake obstacle. Therefore, the user U can enjoy the content (for example, game) more safely.
  • the information processing apparatus 100 may execute both the obstacle display process and the display suppression process, or may execute at least one of them. When performing both the obstacle display process and the display suppression process, the information processing apparatus 100 can omit one of the overlapping processes in both the obstacle display process and the display suppression process.
  • FIG. 5 is a block diagram showing a configuration example of the terminal device 200 according to the first embodiment of the present disclosure.
  • the terminal device 200 includes a communication section 210, a sensor section 220, a display section 230, an input section 240, and a control section 250.
  • the communication unit 210 transmits and receives information to and from another device.
  • the communication unit 210 transmits a video reproduction request and a sensing result of the sensor unit 220 to the information processing apparatus 100 under the control of the control unit 250 .
  • the communication unit 210 receives video to be reproduced from the information processing device 100 .
  • the sensor unit 220 may include, for example, a camera (image sensor), depth sensor, microphone, acceleration sensor, gyroscope, geomagnetic sensor, GPS (Global Positioning System) receiver, and the like. Moreover, the sensor unit 220 may include a speed sensor, an acceleration sensor, an angular velocity sensor (gyro sensor), and an inertial measurement unit (IMU: Inertial Measurement Unit) integrating them.
  • a camera image sensor
  • depth sensor depth sensor
  • microphone acceleration sensor
  • acceleration sensor gyroscope
  • geomagnetic sensor GPS (Global Positioning System) receiver
  • GPS Global Positioning System
  • IMU Inertial Measurement Unit
  • the sensor unit 220 senses the position of the terminal device 200 in real space (or the position of the user U who uses the terminal device 200), the orientation and posture of the terminal device 200, or the acceleration. Further, the sensor unit 220 senses depth information around the terminal device 200 . If the sensor unit 220 includes a distance measuring device that senses depth information, the distance measuring device may be a stereo camera, a ToF (Time of Flight) distance image sensor, or the like.
  • the distance measuring device may be a stereo camera, a ToF (Time of Flight) distance image sensor, or the like.
  • Display unit 230 displays an image under the control of control unit 250 .
  • the display 230 may have a right-eye display and a left-eye display (not shown).
  • the right-eye display unit projects an image using at least a partial area of the right-eye lens (not shown) included in the terminal device 200 as a projection plane.
  • the left-eye display unit projects an image using at least a partial area of a left-eye lens (not shown) included in the terminal device 200 as a projection plane.
  • the display unit 230 can project an image using at least a partial area of the goggle-type lens as a projection surface.
  • the left-eye lens and right-eye lens may be made of a transparent material such as resin or glass.
  • the display unit 230 can be configured as a non-transmissive display device.
  • the display unit 230 may be configured to include an LCD (Liquid Crystal Display) or an OLED (Organic Light Emitting Diode).
  • LCD Liquid Crystal Display
  • OLED Organic Light Emitting Diode
  • Input unit 240 may include a touch panel, buttons, levers, switches, and the like.
  • the input unit 240 receives various inputs from the user U. FIG. For example, when an AI character is placed in the virtual space, the input unit 240 can receive user U's input to change the placement position of the AI character.
  • Control unit 250 comprehensively controls the operation of the terminal device 200 using, for example, a CPU, a GPU (Graphics Processing Unit), and a RAM built in the terminal device 200 .
  • the control unit 250 causes the display unit 230 to display an image received from the information processing device 100 .
  • control unit 250 causes the display unit 230 to display a portion of the image corresponding to the position and orientation information of the terminal device 200 (or the user U or the like) sensed by the sensor unit 220 .
  • the control unit 250 when the display unit 230 has a right-eye display unit and a left-eye display unit (not shown), the control unit 250 generates the right-eye image and the left-eye image based on the video received from the information processing device 100. . Then, the control unit 250 causes the right-eye display unit to display the right-eye image and the left-eye display unit to display the left-eye image. Thereby, the control unit 250 can allow the user U to view the stereoscopic video.
  • control unit 250 can perform various recognition processes based on the sensing results of the sensor unit 220.
  • control unit 250 can recognize actions of the user U wearing the terminal device 200 (eg, gestures of the user U, movement of the user U, etc.) based on the sensing result.
  • FIG. 6 is a block diagram showing a configuration example of the information processing device 100 according to the first embodiment of the present disclosure.
  • the information processing apparatus 100 includes a communication section 110, a storage section 120, and a control section .
  • the communication unit 110 transmits and receives information to and from another device. For example, the communication unit 110 transmits video to be played back to the information processing device 100 under the control of the control unit 130 .
  • the communication unit 110 also receives a video reproduction request and a sensing result from the terminal device 200 .
  • the storage unit 120 is realized by, for example, a semiconductor memory device such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, or a storage device such as a hard disk or an optical disk.
  • a semiconductor memory device such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, or a storage device such as a hard disk or an optical disk.
  • Control unit 130 comprehensively controls the operation of the information processing apparatus 100 using, for example, a CPU, a GPU (Graphics Processing Unit), a RAM, and the like built in the information processing apparatus 100 .
  • the control unit 130 is implemented by the processor executing various programs stored in a storage device inside the information processing apparatus 100 using a RAM (Random Access Memory) or the like as a work area.
  • the control unit 130 may be implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the control unit 130 includes an estimation unit 131, an integration processing unit 132, and a display control unit 133, as shown in FIG.
  • Each block (estimating unit 131 to display control unit 133) constituting control unit 130 is a functional block indicating the function of control unit 130.
  • FIG. These functional blocks may be software blocks or hardware blocks.
  • each of the functional blocks described above may be one software module realized by software (including microprograms), or may be one circuit block on a semiconductor chip (die). Of course, each functional block may be one processor or one integrated circuit.
  • the configuration method of the functional blocks is arbitrary. Note that the control unit 130 may be configured by functional units different from the functional blocks described above.
  • the estimation unit 131 estimates the orientation (pose) of the terminal device 200 based on the sensing result obtained by the sensor unit 220 of the terminal device 200 . For example, the estimating unit 131 obtains measurement results (for example, acceleration and angular velocity; hereinafter also referred to as IMU information) of an IMU, which is an example of the sensor unit 220, and camera imaging results (hereinafter also referred to as a camera image). get.
  • the estimating unit 131 estimates the camera pose using self-position estimation (SLAM: Simultaneous Localization And Mapping), which is typified by Reference [5], for example.
  • SLAM Simultaneous Localization And Mapping
  • the estimating unit 131 estimates the self-position/orientation (hereinafter also referred to as camera pose) and the direction of gravity of the terminal device 200 (a camera that is an example of the sensor unit 220) based on the acquired IMU information and the camera image. .
  • the estimation unit 131 outputs the estimated camera pose and gravity direction to the integration processing unit 132 .
  • the integration processing unit 132 performs the first and the first and the Generate second three-dimensional information.
  • the first three-dimensional information is, for example, an Occupancy Map.
  • the second three-dimensional information is information including mesh data. Both the first and second three-dimensional information are information held in each voxel obtained by partitioning a three-dimensional space (real space) into voxel grids with a finite width.
  • the embodiment of the present disclosure uses a world coordinate system in which the direction of gravity is the negative z-axis direction. That is, the voxel arrangements of the first and second three-dimensional information are along the world coordinate system, and the voxel arrangements of the first and second three-dimensional information are the same.
  • the integration processing unit 132 holds distance information from the object surface, for example, in each voxel shown in FIG.
  • the distance information is called, for example, TSDF (Truncated Signed Distance Field).
  • TSDF is a well-known technique disclosed, for example, in Reference [6].
  • the integration processing unit 132 updates the TSDF in the time direction based on the distance information.
  • the integration processing unit 132 converts the distance information held for each voxel into a mesh by extracting an isosurface from the TSDF using, for example, the marching cube method disclosed in Reference [7]. Note that the conversion from TSDF to mesh may be performed by the integration processing unit 132, or may be performed by the display control unit 133, which will be described later.
  • the second three-dimensional information is mesh data after conversion from TSDF to mesh, but the second three-dimensional information may be TSDF.
  • the TSDF held for each voxel in the three-dimensional space is also called TSDF information, and the information obtained by converting each piece of TSDF information into mesh is also called mesh information.
  • the integration processing unit 132 outputs the generated mesh information to the display control unit 133.
  • Occupancy Map The integration processing unit 132 generates an occupancy map that holds, for example, the occupancy probability of an object in each voxel shown in FIG. 7, for example.
  • Occupancy Map is three-dimensional spatial information described, for example, in Reference [8].
  • Each voxel of the Occupancy Map is classified into the following three states by classifying the occupancy probability according to the threshold.
  • Occupied Indicates that the voxel is occupied by an object (occupied state).
  • Free Indicates that the voxel is not occupied by an object and is an empty space (unoccupied state).
  • Unknown Indicates that it is not possible to determine whether or not a voxel is occupied by an object due to insufficient observation (unobserved state).
  • the state of voxels whose occupancy probability is equal to or greater than the threshold pocc is defined as Occupied.
  • the state of a voxel whose occupancy probability is equal to or less than the threshold p free is defined as Free.
  • the state of voxels whose occupancy probability does not satisfy the above conditions is Unknown.
  • the integration processing unit 132 generates an occupancy map by updating the occupancy probability in the time direction based on the distance information.
  • the integration processing unit 132 outputs the generated Occupancy Map to the display control unit 133.
  • mesh information can express the detailed surface shape of an object by holding distance information from the object surface.
  • mesh information cannot hold an unobserved state. Therefore, as described above, if erroneous shape information is held in a voxel due to, for example, depth noise, the erroneous shape information will continue to be displayed unless a new depth is observed in that voxel.
  • the Occupancy Map maintains the unoccupied/occupied state of voxels, so the detailed surface shape cannot be expressed, but the unobserved state can be maintained. Therefore, even if wrong information is held in a voxel due to depth noise, if no new depth is observed in that voxel, the state of that voxel transitions to Unknown.
  • the information processing apparatus 100 can use the Occupancy Map to determine the reliability of a given voxel and the existence interval of an object from the state of voxels around the given voxel (hereinafter also referred to as surrounding voxels).
  • the integration processing unit 132 generates floor information from the three-dimensional information of the real space.
  • the integration processing unit 132 detects the floor plane by, for example, calculating the maximum plane with RANSAC for the three-dimensional information. It should be noted that the calculation of the maximum plane by RANSAC can be performed using, for example, the technique described in reference [9].
  • the three-dimensional information includes, for example, the above-mentioned Occupancy Map, mesh information, or a three-dimensional point group obtained from distance information.
  • the integration processing unit 132 outputs the generated floor surface information to the display control unit 133.
  • the display control unit 133 generates a video (display image) to be reproduced on the terminal device 200 .
  • the display control unit 133 generates an image around the user U using mesh information.
  • the display control unit 133 generates a display image by emphasizing obstacles in the play area PA, for example.
  • the display control unit 133 generates a display image by suppressing the display of fake obstacles.
  • FIG. 8 is a block diagram showing a configuration example of the display control unit 133 according to the embodiment of the present disclosure.
  • the display control section 133 includes an obstacle detection section 1331 , a fake obstacle determination section 1332 and a display change section 1333 .
  • the obstacle detection unit 1331 detects obstacles by dividing the obstacles present in the real space using the floor surface information and the Occupancy Map.
  • the obstacle detection unit 1331 generates mesh information with a display label by adding display information (display label) corresponding to the detected obstacle to the mesh information.
  • FIG. 9 is a block diagram showing a configuration example of the obstacle detection unit 1331 according to the embodiment of the present disclosure.
  • the obstacle detection unit 1331 shown in FIG. 9 includes a voxel extraction unit 1331A, a clustering processing unit 1331B, and a display information addition unit 1331C.
  • the voxel extraction unit 1331A extracts voxels that can be obstacles using the floor surface information and the Occupancy Map.
  • the voxel extraction unit 1331A selects occupied voxels whose state is occupied from among the voxels in the Occupancy Map.
  • the voxel extracting unit 1331A uses the floor surface information to extract, from among the selected occupied voxels, excluding the occupied voxels that are the floor surface, as voxels that can become obstacles (hereinafter also referred to as division target voxels). do.
  • the voxel extraction unit 1331A outputs the extracted voxels to be divided to the clustering processing unit 1331B.
  • the clustering processing unit 1331B clusters the division target voxels based on the connection information of the division target voxels.
  • the clustering processing unit 1331B classifies the division target voxels into connected voxel groups using, for example, the technique described in Reference [10].
  • the clustering processing unit 1331B looks at the series of voxels to be divided, assumes that a cluster boundary occurs where the series is broken, and assigns the same label to the voxels to be divided within the boundary.
  • the clustering processing unit 1331B classifies the connected voxels to be divided as one obstacle, and gives them the same label (hereinafter also referred to as an obstacle label).
  • the clustering processing unit 1331B divides the division target voxels based on the connection information of the division target voxels excluding the floor surface, so that the clustering processing unit 1331B can detect individual obstacles on the floor surface. .
  • FIG. 10 is a diagram for explaining an example of obstacles detected by the clustering processing unit 1331B according to the embodiment of the present disclosure.
  • the clustering processing unit 1331B clusters the division target voxels to detect, for example, three obstacles surrounded by a circle, and assigns obstacle labels CL1 to CL3 to each of them.
  • the voxels to which the obstacle labels CL1 to CL3 are assigned are connected via the floor surface. It can detect obstacles well.
  • the clustering processing unit 1331B outputs the labeled occupancy map to which the obstacle label CL is added to the display information adding unit 1331C.
  • the display information assigning unit 1331C assigns a display label to the mesh data corresponding to the voxel assigned the obstacle label CL among the mesh information.
  • the display information adding unit 1331C generates mesh information with a display label by adding a display label to the mesh data. Note that the mesh data corresponding to the voxel to which the obstacle label CL is assigned is mesh data calculated from the TSDF information held in the voxel. Also, the display label is display information used to change the display in subsequent processing.
  • the display information attached to mesh data is not limited to display labels.
  • the information added to the mesh data may be information that can be used in the highlighting process in the latter stage, and may be, for example, meta information.
  • the display information giving unit 1331C gives a display label to the mesh data calculated from the TSDF information, but it is not limited to this.
  • the display information assigning unit 1331C may assign a display label to the TSDF information.
  • the display information assigning unit 1331C creates mesh information with display label by assigning a display label to the TSDF information held in the voxel to which the obstacle label CL is assigned.
  • FIG. 11 is a diagram for explaining mesh information with display labels according to the embodiment of the present disclosure.
  • a display changing unit 1333 which will be described later, generates a display image by highlighting the mesh data to which the display label is assigned.
  • the display changing unit 1333 generates a display image by highlighting the mesh areas M1 to M3 corresponding to the obstacle labels CL1 to CL3 (see FIG. 10).
  • the information processing apparatus 100 can generate a display image in which obstacles are highlighted.
  • the display information adding unit 1331C outputs the labeled occupancy map and the mesh information with the display label to the fake obstacle determination unit 1332. Labeled Occupancy Map and labeled mesh information are collectively described as obstacle information.
  • the fake obstacle determination unit 1332 determines whether or not an object considered as an obstacle in real space is a fake obstacle such as noise.
  • the fake obstacle determination unit 1332 determines whether or not the obstacle is a fake obstacle by determining the outlier rate of each obstacle. For example, the false obstacle determination unit 1332 determines the outlier rate of voxels whose state is Occupied according to a predetermined condition.
  • FIG. 12 is a diagram showing a configuration example of the fake obstacle determination unit 1332 according to the embodiment of the present disclosure.
  • the fake obstacle determination unit 1332 includes an element number calculation unit 1332A, a spatial statistic calculation unit 1332B, a time statistic calculation unit 1332C, an outlier determination unit 1332D, and an outlier information addition unit. 1332K and .
  • the element number calculation unit 1332A calculates the number of consecutive Occupied voxels (the number of elements) using connection information of Occupied voxels among the voxels of the Occupancy Map. That is, the number-of-elements calculation unit 1332A calculates the size of an object detected as an obstacle (Occupied) in the real space.
  • the element number calculation unit 1332A may calculate the number of elements with a plurality of obstacles connected through the floor as one obstacle, and calculate the number of elements of the Occupied voxels excluding the floor. good too.
  • Occupied voxels excluding the floor surface are the voxels to be divided as described above. Therefore, when calculating the number of elements of Occupied voxels excluding the floor surface, the element number calculation unit 1332A counts the number of elements of voxels to which the same obstacle label CL is assigned in the labeled Occupancy Map. good too.
  • the size of the erroneously determined obstacle is the size of the actual obstacle. often small compared to
  • the element number calculation unit 1332A calculates the size of the obstacle (the number of elements of the Occupied voxels to be connected), so that the subsequent outlier determination unit 1332D can determine whether or not there is an obstacle. .
  • the criterion for determining whether an obstacle is a false obstacle or not depends on the distance from the floor surface.
  • the element number calculation unit 1332A calculates the height from the floor surface of the obstacle (connected Occupied voxel) whose number of elements is counted.
  • the element number calculation unit 1332A calculates the minimum distance among the distances between the counted elements (voxels) and the floor as the height of the floor.
  • the element number calculation unit 1332A may calculate the minimum distance as the height of the floor among the distances between the counted elements and the floor, or may calculate the average value as the height of the floor. .
  • the number-of-elements calculation unit 1332A may calculate the height of the floor surface of each voxel included in the obstacle.
  • the element number calculation unit 1332A outputs the calculated number of elements and height information regarding the height from the floor to the outlier determination unit 1332D.
  • the spatial statistic calculation unit 1332B calculates the ratio of voxels whose state is unknown (hereinafter also referred to as the spatial unknown ratio) among the voxels around the object (for example, Occupied voxels).
  • the space statistic calculation unit 1332B acquires the state of the 3 ⁇ 3 ⁇ 3 voxels surrounding the Occupied voxel (hereinafter also referred to as surrounding voxels) from the Occupancy Map, and calculates the ratio of the unknown voxels among the surrounding voxels as the space Unknown Calculate as a ratio.
  • a voxel is determined to be Occupied due to noise, it is highly likely that the surroundings of that voxel are not Occupied voxels, such as Unknown voxels.
  • the space statistic calculation unit 1332B calculates the space Unknown ratio, so that the outlier determination unit 1332D in the latter stage can determine whether or not the occupied voxel is an obstacle.
  • the spatial statistics calculation unit 1332B calculates the floor surface of the Occupied voxel for which the spatial Unknown ratio is calculated. shall be calculated from
  • the space statistic calculation unit 1332B outputs the calculated space unknown ratio and height information regarding the height from the floor to the outlier determination unit 1332D.
  • the number of surrounding voxels is 27 here, it is not limited to this.
  • the number of surrounding voxels can be less than 27, or more than 28.
  • the time statistic calculation unit 1332C calculates the ratio of time change of the state of the Occupancy Map as the time Unknown ratio.
  • the information processing apparatus 100 has a buffer (not shown) that stores the states of the target voxels for which the temporal Unknown ratio is to be calculated for the past 10 frames.
  • the buffer is assumed to be included in the storage unit 120, for example.
  • the time statistic calculation unit 1332C acquires the state of the target voxel for the past 10 frames from the buffer, it calculates the ratio of the 10 frames in which the state is Unknown as the time Unknown ratio.
  • the transition of the target voxel to Occupied or Free is highly likely due to depth noise.
  • the subsequent outlier determination unit 1332D can determine whether or not the target voxel is an obstacle.
  • the time statistic calculation unit 1332C switches whether to store the state depending on whether the target voxel is within the ranging range of the ranging device.
  • the status of the Occupancy Map is updated as time passes. At this time, if the target voxel is outside the distance measurement range of the rangefinder, the reliability of the state of the target voxel becomes low, and the state transitions to Unknown.
  • the time statistic calculation unit 1332C saves the state of the target voxel in the buffer even when the target voxel is outside the ranging range, even if the target voxel actually contains an object, the state of the target voxel is Many Unknown will be saved.
  • the time statistic calculation unit 1332C saves the state of the voxel in the buffer when the target voxel is within the ranging range. In other words, the time statistic calculation unit 1332C determines whether or not the state of the target voxel has changed based on the ranging range of the ranging device. The time statistic calculation unit 1332C calculates the time Unknown ratio according to the time change of the state when the target voxel is within the distance measurement range of the distance measurement device.
  • FIG. 13 and 14 are diagrams for explaining the relationship between the target voxel and the ranging range of the ranging device according to the embodiment of the present disclosure.
  • FIG. 13 shows the case where the target voxel B is included within the ranging range R of the ranging device 260 .
  • FIG. 14 shows a case where the target voxel B is not included in the ranging range R of the ranging device 260 .
  • the distance measuring device 260 corresponds to, for example, the sensor section 220 (see FIG. 5) of the terminal device 200 .
  • the distance measurement range R changes according to the movement of the distance measuring device 260, so that the target voxel B is positioned within the distance measurement range R or outside the distance measurement range R. position. It is also assumed that an object exists in the target voxels shown in FIGS.
  • FIG. 15 is a diagram for explaining an example of state transition of the target voxel B according to the embodiment of the present disclosure.
  • the target voxel is included in the ranging range R in periods T1 and T3 (see FIG. 13), and the target voxel is not included in the ranging range R in period T2 (see FIG. 14).
  • the state at each time, the time Unknown ratio, etc. are shown for each frame.
  • the observation start is assumed to be the first frame, and the state transition of the target voxel B up to the 16th frame is shown.
  • the buffer holds the state of the target voxel B for three frames.
  • the existence probability calculated by the information processing device 100 gradually increases. Therefore, the state of the target voxel B, which was Unknown (Un) in the first frame, transitions to Occupied (Occ) in the second frame.
  • the target voxel B is located within the ranging range R, so when determining whether or not it is within the observation range, the time statistic calculation unit 1332C determines Yes (within the observation range). . In this case, the time statistic calculator 1332C saves the state of the target voxel B in a buffer.
  • the state of three frames is not accumulated in the buffer. It shall be treated as A (not applicable).
  • the range finder 260 continues to observe the target voxel B until the sixth frame when the period T1 ends, the state of the target voxel B is Occupied (Occ) from the second frame to the sixth frame. Also, the result of determination as to whether or not it is within the observation range is "Yes" for the first to sixth frames.
  • the buffer holds the state of target voxel B for the past three frames. Specifically, the buffer holds "Unknown”, “Occupied”, and “Occupied” in the second frame. From the third frame to the sixth frame, the buffer holds all "Occupied" for the past three frames.
  • the time statistic calculation unit 1332C calculates the time unknown ratio "0.33" in the second frame, and calculates the time unknown ratio "0" in the third to sixth frames.
  • the temporal statistic calculation unit 1332C calculates the same temporal unknown ratio "0" in the 7th to 12th frames as in the 6th frame.
  • the target voxel B enters the ranging range R again. Therefore, when the period T3 starts, the existence probability gradually increases, and the state of the target voxel B, which was Unknown (Un) in the 13th frame, transitions to Occupied (Occ) in the 14th to 16th frames. do. Also, the determination result of the observation range is "Yes" from the 13th frame to the 16th frame.
  • the buffer holds the state of target voxel B for the past three frames. Specifically, the buffer holds “Occupied”, “Occupied”, and “Unknown” in the 13th frame. The buffer holds “Occupied”, “Unknown”, and “Occupied” in the 14th frame. The 15th frame holds “Unknown”, “Occupied”, and “Occupied”. In the 16th frame, the buffer holds all "Occupied” for the past three frames.
  • the temporal statistic calculation unit 1332C calculates the temporal Unknown ratio "0.33" in the 13th to 15th frames, and calculates the temporal Unknown ratio "0" in the 16th frame.
  • the time statistic calculation unit 1332C calculates the time Unknown ratio according to the state change when the target voxel B is included in the ranging range R (observation range). As a result, the time statistic calculation unit 1332C can calculate the time Unknown ratio more accurately, excluding the case where the target voxel B transitions to Unknown due to unobservation.
  • the time statistic calculation unit 1332C calculates the floor of the target voxel B for which the time Unknown ratio is calculated. The height from the surface shall be calculated.
  • the time statistic calculation unit 1332C outputs the calculated time unknown ratio and height information regarding the height from the floor to the outlier determination unit 1332D.
  • the buffer holds the state of 10 frames or 3 frames here, it is not limited to this.
  • An appropriate value can be selected for the number of frames held by the buffer according to, for example, the size of the buffer, the number of target voxels B, and the like.
  • Outlier determination unit 1332D calculates the outlier rate of each voxel based on the calculation results of the element number calculation unit 1332A, the spatial statistic calculation unit 1332B, and the time statistic calculation unit 1332C.
  • the outlier determination unit 1332D includes an outlier rate L1 calculator 1332E, an outlier rate L2 calculator 1332F, an outlier rate L3 calculator 1332G, and an outlier rate integration unit 1332H. include.
  • the outlier rate L1 calculator 1332E calculates the first outlier rate L1 using the number of elements calculated by the element number calculator 1332A.
  • the outlier rate L2 calculator 1332F calculates the second outlier rate L2 using the spatial unknown rate calculated by the spatial statistic calculator 1332B.
  • the outlier rate L3 calculator 1332G calculates the third outlier rate L3 using the time unknown rate calculated by the time statistic calculator 1332C.
  • the outlier rate integration unit 1332H calculates the outlier rate L of each voxel from the first to third outlier rates L1 to L3.
  • the outlier rate L1 calculator 1332E determines the first outlier rate L1 according to the number of elements of the obstacle that includes the voxels for which the first outlier rate L1 is to be calculated among the occupied voxels.
  • the outlier rate L1 calculator 1332E calculates the first outlier rate L1 based on the following equation (1).
  • n is the number of elements.
  • n 0 and n 1 are threshold values (parameters) whose values are determined according to, for example, the height of the obstacle from the floor surface.
  • the outlier rate L1 calculation unit 1332E changes the values of n 0 and n 1 according to the height of the obstacle from the floor surface, thereby increasing the first outlier ratio according to the height from the floor surface.
  • a lyre rate L1 can be determined.
  • the outlier rate L2 calculator 1332F determines the second outlier rate L2 according to the spatial unknown rate of the occupied voxels.
  • the outlier rate L2 calculator 1332F calculates the second outlier rate L2 based on the following equation (2).
  • k 0 and k 1 are thresholds (parameters) whose values are determined according to the height from the floor of the calculation target voxel, which is the calculation target of the second outlier rate L2, for example.
  • the outlier rate L2 calculation unit 1332F changes the values of k 0 and k 1 according to the height from the floor of the voxel to be calculated, so that the second An outlier rate L2 can be determined.
  • the outlier rate L3 calculator 1332G determines the third outlier rate L3 according to the time unknown rate of the Occupied voxels.
  • the outlier rate L3 calculator 1332G calculates the third outlier rate L3 based on the following equation (3).
  • h 0 and h 1 are threshold values (parameters) whose values are determined according to the height from the floor surface of the calculation target voxel, which is the calculation target of the third outlier rate L3, for example.
  • the outlier rate L3 calculation unit 1332G changes the values of h 0 and h 1 according to the height from the floor of the voxel to be calculated, so that the third An outlier rate L3 can be determined.
  • Outlier rate integration unit 1332H The outlier rate integration unit 1332H integrates the first to third outlier rates L1 to L3 to determine the outlier rate L of each voxel. The outlier rate integration unit 1332H calculates the weighted average of the first to third outlier rates L1 to L3 as the outlier rate L, as shown in Equation (4), for example.
  • the outlier rate integration unit 1332H may calculate the minimum value of the first to third outlier rates L1 to L3 as the outlier rate L as shown in Equation (5).
  • the outlier rate integration unit 1332H outputs the determined outlier rate L to the outlier information addition unit 1332K.
  • the outlier information adding unit 1332K adds an outlier rate L to the mesh data corresponding to the voxel to be calculated among the mesh information with display labels.
  • the outlier information adding unit 1332K generates mesh information with outliers by adding an outlier rate L to mesh data. Note that the mesh data corresponding to the calculation target voxel is mesh data calculated using the TSDF information held in the voxel for which the outlier rate L is to be calculated.
  • the outlier information adding unit 1332K adds the outlier rate L to the mesh data calculated from the TSDF information, but it is not limited to this.
  • the outlier information adding unit 1332K may add the outlier rate L to the TSDF information.
  • the outlier information adding unit 1332K generates mesh information with outliers by adding the outlier rate L to the TSDF information held in the voxels for which the outlier rate L is to be calculated.
  • the outlier rate integration unit 1332H outputs the generated mesh information with outliers to the display change unit 1333.
  • Display change unit 1333 Return to FIG.
  • the display changing unit 1333 generates a two-dimensional display image to be presented to the user U based on the mesh information with outliers.
  • the mesh information with outliers includes at least one of the display label and the outlier rate L.
  • the display changing unit 1333 highlights the mesh data to which the display label is assigned.
  • the display changing unit 1333 suppresses and displays the mesh data to which the outlier rate L is assigned according to the outlier rate L.
  • the display changing unit 1333 highlights the labeled mesh data by displaying the edge lines of the labeled mesh data in a shade different from that of the unlabeled mesh data. .
  • the display changing unit 1333 displays the face of the mesh data to which the display label is assigned in a color or hatching different from that of the mesh data to which the display label is not assigned. may be highlighted.
  • the display changing unit 1333 changes the transmittance of the mesh data to which the outlier rate L is assigned according to the value of the outlier rate L, thereby suppressing and displaying the mesh data to which the outlier rate L is assigned. do.
  • the display changing unit 1333 suppresses the display of mesh data by setting the outlier rate L of the mesh data as the transmittance of the mesh data.
  • the display changing unit 1333 only needs to generate a display image in which mesh data to which a display label is assigned is highlighted, and the method of highlighting is not limited to the example described above.
  • the display changing unit 1333 may highlight the mesh data to which the display label is assigned by, for example, blinking the mesh data.
  • the display changing unit 1333 only needs to make the mesh data less visible to the user U according to the outlier rate L, and the method of making the mesh data less visible, that is, suppressing the display is not limited to the above example.
  • the display changing unit 1333 may set the transmittance of mesh data whose outlier rate L is equal to or greater than a predetermined value to 100%, or set the color to be the same as the background color.
  • the display change unit 1333 transmits the generated display image to the terminal device 200 via the communication unit 110.
  • FIG. 16 is a flowchart illustrating an example of the flow of image generation processing according to the embodiment of the present disclosure.
  • the image generation process shown in FIG. 16 is executed, for example, by the information processing apparatus 100 at a predetermined cycle.
  • the predetermined cycle may be the same as the range-finding cycle (frame cycle) of the rangefinder.
  • the information processing apparatus 100 executes three-dimensional information generation processing (step S101).
  • the information processing apparatus 100 estimates the camera pose and the direction of gravity from the IMU information and the camera image acquired from the terminal device 200, for example.
  • the information processing device 100 uses the camera pose, gravity direction, and distance information acquired from the terminal device 200 to generate an occupancy map and mesh information.
  • the information processing device 100 executes obstacle division processing using the Occupancy Map and mesh information (step S102), and generates mesh information with display labels.
  • the obstacle division processing will be described later.
  • the information processing device 100 uses the Occupancy Map and mesh information to execute the false obstacle determination process (step S103), and generates mesh information with outliers.
  • the fake obstacle determination processing will be described later.
  • the information processing apparatus 100 executes display image generation processing using the mesh information with outliers (step S104) to generate a display image.
  • the display image generation processing will be described later.
  • FIG. 17 is a flow chart showing an example of the flow of obstacle division processing according to the embodiment of the present disclosure.
  • the obstacle division processing shown in FIG. 17 is executed in step S102 of the image generation processing of FIG.
  • the information processing device 100 extracts division target voxels using the Occupancy Map and floor information (step S201).
  • the information processing device 100 selects occupied voxels whose state is occupied from among the voxels of the occupancy map.
  • the information processing apparatus 100 uses the floor surface information to extract, from among the selected occupied voxels, occupied voxels that are the floor surface and exclude occupied voxels as division target voxels.
  • the information processing apparatus 100 clusters the extracted voxels to be divided (step S202).
  • the information processing apparatus 100 assigns display labels to the clustered voxels (step S203), and generates mesh information with display labels (step S204).
  • FIG. 18 is a flowchart showing an example of the flow of fake obstacle determination processing according to the embodiment of the present disclosure.
  • the fake obstacle determination process shown in FIG. 18 is executed in step S103 of the image generation process of FIG.
  • the information processing device 100 counts the number of elements of the occupied voxels using the connection information of the occupied voxels among the voxels of the Occupancy Map (step S301).
  • the information processing apparatus 100 calculates the first outlier rate L1 according to the counted number of elements (step S302).
  • the information processing device 100 uses voxels surrounding the Occupied voxels among the voxels of the Occupancy Map to calculate the spatial unknown ratio (step S303).
  • the information processing apparatus 100 calculates a second outlier rate L2 according to the spatial unknown ratio (step S304).
  • the information processing device 100 calculates the time Unknown ratio according to the time change of the state of the Occupancy Map (step S305).
  • the information processing apparatus 100 calculates the third outlier rate L3 according to the time unknown ratio (step S306).
  • the information processing apparatus 100 calculates an outlier rate L based on the first to third outlier rates L1 to L3 (step S307), and generates mesh information with outliers (step S308).
  • FIG. 19 is a flowchart illustrating an example of the flow of display image generation processing according to the embodiment of the present disclosure.
  • the display image generation processing shown in FIG. 19 is executed in step S104 of the image generation processing in FIG.
  • the information processing apparatus 100 highlights the obstacle Ob based on the display label of the mesh information with outliers (step S401).
  • the information processing apparatus 100 highlights the obstacle Ob by, for example, highlighting the mesh data to which the display label is assigned.
  • the information processing device 100 suppresses and displays the false obstacle based on the outlier rate L of the mesh information with outliers (step S402).
  • the information processing apparatus 100 uses, for example, the outlier rate L as the transmittance.
  • the information processing apparatus 100 changes the transparency of the false obstacle when displaying the mesh so that the mesh in the voxel is not displayed as the transmittance approaches 1.
  • the information processing apparatus 100 generates a display image by suppressing the highlighting of obstacles and the display of fake obstacles (step S403).
  • the information processing apparatus 100 can divide the mesh data of the mesh information into obstacles by clustering the voxels of the Occupancy Map. In this case, since the information processing apparatus 100 does not need to use a large-scale recognizer, it is possible to detect obstacles at high speed while suppressing an increase in resources.
  • the information processing device 100 can suppress the display of meshes with low reliability, in other words, with a high possibility of fake obstacles, by using voxels in the unobserved state (Unknown) of the Occupancy Map.
  • the information processing apparatus 100 suppresses the display of meshes using the size of clustered voxels, spatial statistics (spatial Unknown ratio), and temporal statistics (temporal Unknown ratio).
  • the information processing apparatus 100 can generate a display image with higher reliability, in other words, with fewer false obstacles.
  • noise there are objects in which errors (noise) are likely to occur depending on the distance measurement method of the distance measurement device 260 .
  • noise is likely to occur on textureless surfaces. In this way, even when noise occurs in a specific object, the information processing apparatus 100 can generate more accurate mesh information.
  • the information processing apparatus 100 can detect obstacles and determine fake obstacles with low resources and high speed. Therefore, even in an HMD system that presents a display image to the user U in real time, the information processing apparatus 100 can present a display image emphasizing an obstacle to the user U while suppressing display of a fake obstacle. .
  • the information processing apparatus 100 can present the user U with a display image highlighting the obstacle while suppressing the display of the fake obstacle at high speed and with low resources. You can enjoy the content safely.
  • the information processing apparatus 100 calculates the spatial unknown ratio using 3 ⁇ 3 ⁇ 3, in other words, cubic surrounding voxels of the Occupied voxel as a predetermined condition, but is not limited to this.
  • the information processing apparatus 100 may calculate the spatial Unknown ratio using 1 ⁇ 1 ⁇ m (m is an integer of 3 or more), in other words, rectangular parallelepiped surrounding voxels.
  • the information processing apparatus 100 calculates the spatial unknown ratio according to the state of the surrounding voxels, with the voxels in the direction of gravity among the surrounding voxels of the occupied voxels.
  • FIG. 20 is a diagram for explaining an example of real space according to a modification of the embodiment of the present disclosure. Assume that the real space is indoors, that is, a space surrounded by a floor and walls, as shown in FIG.
  • the voxels (space) in which the walls, floors and objects (obstacles) are arranged are the Occpide voxels.
  • the voxels (space) excluding the Occupied voxels in the ranging range of the ranging device 260 are Free voxels.
  • the area outside the ranging range of the ranging device 260 becomes unknown voxels.
  • a voxel (space) that is shadowed by an object and cannot be measured by the distance measuring device 260 becomes an unknown voxel.
  • the area behind the wall or under the floor is an area that is blocked by the wall or floor and cannot be measured by the distance measuring device 260. Therefore, voxels in this area are unknown voxels. . However, due to noise or the like, Occupied voxel B may be observed on the other side of the wall.
  • the information processing apparatus 100 calculates the spatial Unknown ratio using a 3 ⁇ 3 ⁇ 3 cube as the surrounding voxels, the surrounding voxels include walls, that is, Occupied voxels, so the spatial Unknown ratio decreases. As a result, the information processing apparatus 100 cannot suppress the display of the Occupied voxel B, and it may be displayed in the display image.
  • the information processing apparatus 100 calculates the spatial unknown ratio in the surrounding voxel R1 of the Occupied voxel B in the z-axis direction.
  • the information processing apparatus 100 determines the second outlier rate L2 according to the spatial unknown ratio, and suppresses the display of the occupied voxel B.
  • the information processing apparatus 100 calculates the spatial unknown ratio of the surrounding voxels R1 in the z-axis direction, thereby more accurately determining a false obstacle on the other side of the wall (back of the wall). It is possible to suppress the display of false obstacles with higher accuracy.
  • the number and shape of surrounding voxels are not limited to a cube or the direction of gravity, and can be arbitrarily set according to the position of Occupied voxel B in real space.
  • the terminal device 200 may implement a part of the functions of the information processing device 100 of this embodiment.
  • the terminal device 200 may generate mesh information with outliers.
  • the information processing device 100 highlights the obstacle Ob existing within the play area PA, but is not limited to this.
  • the information processing device 100 may divide (classify) the obstacles Ob existing outside the play area PA and highlight them.
  • the information processing device 100 or the user U sets the play area PA for the user U, but the present invention is not limited to this.
  • the information processing apparatus 100 may set a range in which moving objects such as vehicles and drones can safely move as the play area.
  • the information processing apparatus 100 may set, as the play area, a range in which a partially fixed object such as a robot arm can be safely driven.
  • the target object for which the information processing apparatus 100 sets the play area is not limited to the user U.
  • a communication program for executing the above operations is distributed by storing it in a computer-readable recording medium such as an optical disk, semiconductor memory, magnetic tape, or flexible disk.
  • the control device is configured by installing the program in a computer and executing the above-described processing.
  • the control device may be a device (for example, a personal computer) external to the information processing device 100 and the terminal device 200 .
  • the control device may be a device inside the information processing device 100 and the terminal device 200 (for example, the control units 130 and 250).
  • the above communication program may be stored in a disk device provided in a server device on a network such as the Internet, so that it can be downloaded to a computer.
  • the functions described above may be realized through cooperation between an OS (Operating System) and application software.
  • the parts other than the OS may be stored in a medium and distributed, or the parts other than the OS may be stored in a server device so that they can be downloaded to a computer.
  • each component of each device illustrated is functionally conceptual and does not necessarily need to be physically configured as illustrated.
  • the specific form of distribution and integration of each device is not limited to the illustrated one, and all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions. Can be integrated and configured. Note that this distribution/integration configuration may be performed dynamically.
  • the present embodiment can be applied to any configuration that constitutes a device or system, such as a processor as a system LSI (Large Scale Integration), a module using a plurality of processors, a unit using a plurality of modules, etc. Furthermore, it can also be implemented as a set or the like (that is, a configuration of a part of the device) to which other functions are added.
  • a processor as a system LSI (Large Scale Integration)
  • module using a plurality of processors a unit using a plurality of modules, etc.
  • it can also be implemented as a set or the like (that is, a configuration of a part of the device) to which other functions are added.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a single device housing a plurality of modules in one housing, are both systems. .
  • this embodiment can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and processed jointly.
  • FIG. 21 is a hardware configuration diagram showing an example of a computer 1000 that implements the functions of the information processing apparatus 100 according to the embodiment of the present disclosure.
  • the computer 1000 has a CPU 1100 , a RAM 1200 , a ROM (Read Only Memory) 1300 , a HDD (Hard Disk Drive) 1400 , a communication interface 1500 and an input/output interface 1600 .
  • Each part of computer 1000 is connected by bus 1050 .
  • the CPU 1100 operates based on programs stored in the ROM 1300 or HDD 1400 and controls each section. For example, the CPU 1100 loads programs stored in the ROM 1300 or HDD 1400 into the RAM 1200 and executes processes corresponding to various programs.
  • the ROM 1300 stores boot programs such as BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 is started, and programs dependent on the hardware of the computer 1000.
  • BIOS Basic Input Output System
  • the HDD 1400 is a computer-readable recording medium that non-temporarily records programs executed by the CPU 1100 and data used by such programs.
  • HDD 1400 is a recording medium that records a program for the medical arm control method according to the present disclosure, which is an example of program data 1450 .
  • a communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (for example, the Internet).
  • CPU 1100 receives data from another device via communication interface 1500, and transmits data generated by CPU 1100 to another device.
  • the input/output interface 1600 is an interface for connecting the input/output device 1650 and the computer 1000 .
  • the CPU 1100 receives data from input devices such as a keyboard and mouse via the input/output interface 1600 .
  • the CPU 1100 also transmits data to an output device such as a display, speaker, or printer via the input/output interface 1600 .
  • the input/output interface 1600 may function as a media interface for reading a program or the like recorded on a predetermined computer-readable recording medium.
  • Media include, for example, optical recording media such as DVD (Digital Versatile Disc) and PD (Phase change rewritable disk), magneto-optical recording media such as MO (Magneto-Optical disk), tape media, magnetic recording media, semiconductor memories, etc. is.
  • the CPU 1100 of the computer 1000 implements the functions of the control unit 130 and the like by executing programs loaded on the RAM 1200.
  • CPU 1100 reads program data 1450 from HDD 1400 and executes it, as another example, an information processing program may be obtained from another device via external network 1550 .
  • the information processing apparatus 100 may be applied to a system composed of a plurality of devices on the premise of connection to a network (or communication between devices), such as cloud computing. good. That is, the information processing apparatus 100 according to the present embodiment described above can be realized as the information processing system 1 according to the present embodiment by, for example, a plurality of apparatuses.
  • Each component described above may be configured using general-purpose members, or may be configured by hardware specialized for the function of each component. Such a configuration can be changed as appropriate according to the technical level of implementation.
  • the present technology can also take the following configuration.
  • (1) Acquiring first three-dimensional information about the probability of occupancy of an object in real space and second three-dimensional information about an estimation result of the surface shape of the object; classifying the object based on the first three-dimensional information and floor surface information regarding the floor surface of the real space;
  • An information processing apparatus comprising: a control unit that highlights the surface of the object classified based on the second three-dimensional information.
  • (2) The control unit determining an outlier rate of the object according to a predetermined condition based on the first three-dimensional information and the floor surface information; changing the display of the object according to the outlier rate;
  • the information processing device according to (1).
  • information processing system 100 information processing device 110, 210 communication unit 120 storage unit 130, 250 control unit 131 estimation unit 132 integration processing unit 133 display control unit 200 terminal device 220 sensor unit 230 display unit 230 display unit 240 input unit 260 measurement distance device

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

情報処理装置(100)は、制御部(130)を備える。制御部(130)は、実空間における物体の占有確率に関する第1の3次元情報、及び、物体の表面形状の推定結果に関する第2の3次元情報を取得する。制御部(130)は、第1の3次元情報、及び、実空間の床面に関する床面情報に基づき、物体を分類する。制御部(130)は、第2の3次元情報に基づいて分類した物体の表面を強調表示する。

Description

情報処理装置、情報処理方法及びプログラム
 本開示は、情報処理装置、情報処理方法及びプログラムに関する。
 近年、ユーザの動きに応じて処理を行う機器が数多く登場している。例えば、画面に表示されたキャラクターをユーザの動きと同期させることにより、キャラクターを動かすゲームなどがある。このゲームのようにユーザが常に操作を行うような場合、ユーザは操作に没頭するあまり周辺環境を意識しなくなり、周辺の物体にぶつかるという問題が起こり得る。特に、HMD(Head Mounted Display)を装着してプレイするVR(Virtual Realty)コンテンツを楽しむ場合では、ユーザは周辺環境が全く見えないこともあるため、現実の物体にぶつかる危険性も高い。
 周辺の物体を検出する技術として、例えば、ステレオカメラから取得した撮影画像から特徴点を抽出し、抽出した特徴点の空間位置に基づいて物体を認識する技術が知られている。
特開2008-33819号公報
 上述したように、VRコンテンツを楽しむユーザは、周辺環境が全く見えないこともあるため、現実の物体にぶつかる危険性も高い。そこで、障害となる物体をユーザに通知する仕組みが望まれる。これにより、ユーザは、物体を移動させたり、物体を避けて移動したりすることで、安全にVRコンテンツを楽しむことができる。
 そこで、本開示では、ユーザがより安全にコンテンツを楽しむことができる仕組みを提供する。
 なお、上記課題又は目的は、本明細書に開示される複数の実施形態が解決し得、又は達成し得る複数の課題又は目的の1つに過ぎない。
 本開示によれば、情報処理装置が提供される。情報処理装置は、制御部を備える。制御部は、実空間における物体の占有確率に関する第1の3次元情報、及び、前記物体の表面形状の推定結果に関する第2の3次元情報を取得する。制御部は、前記第1の3次元情報、及び、前記実空間の床面に関する床面情報に基づき、前記物体を分類する。制御部は、前記第2の3次元情報に基づいて分類した前記物体の表面を強調表示する。
本開示に係る情報処理システムの概要を説明するための図である。 本開示の実施形態に係る障害物表示処理の概要を説明するための図である。 本開示の実施形態に係る第2の3次元情報の一例を示す図である。 本開示の実施形態に係る表示抑制処理の概要を説明するための図である。 本開示の第1実施形態に係る端末装置の構成例を示すブロック図である。 本開示の第1実施形態に係る情報処理装置の構成例を示すブロック図である。 本開示の実施形態に係るボクセルの一例について説明するための図である。 本開示の実施形態に係る表示制御部の構成例を示すブロック図である。 本開示の実施形態に係る障害物検出部の構成例を示すブロック図である。 本開示の実施形態に係るクラスタリング処理部が検出した障害物の一例について説明するための図である。 本開示の実施形態に係る表示ラベル付きメッシュ情報を説明するための図である。 本開示の実施形態に係る偽障害物判定部の構成例を示す図である。 本開示の実施形態に係る対象ボクセルと測距装置の測距範囲との関係を説明するための図である。 本開示の実施形態に係る対象ボクセルと測距装置の測距範囲との関係を説明するための図である。 本開示の実施形態に係る対象ボクセルの状態遷移の一例を説明するための図である。 本開示の実施形態に係る画像生成処理の流れの一例を示すフローチャートである。 本開示の実施形態に係る障害物分割処理の流れの一例を示すフローチャートである。 本開示の実施形態に係る偽障害物判定処理の流れの一例を示すフローチャートである。 本開示の実施形態に係る表示画像生成処理の流れの一例を示すフローチャートである。 本開示の実施形態の変形例に係る実空間の一例を説明するための図である。 本開示の実施形態に係る情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
 以下に添付図面を参照しながら、本開示の実施形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 また、本明細書及び図面において、具体的な値を示して説明する場合があるが、値は一例であり、別の値が適用されてもよい。また、本明細書において、以下の参考文献を使用して説明する場合がある。
 (参考文献)
[1]Angela Dai, et al. " ScanComplete: Large-Scale Scene Completion and Semantic Segmentation for 3D Scans", CVPR 2018
[2]Margarita Grinvald, et al. “Volumetric Instance-Aware Semantic Mapping and 3D Object Discovery”, IROS 2019
[3]Xianzhi Li, et al. “DNF-Net: a Deep Normal Filtering Network for Mesh Denoising”, IEEE Transactions on Visualization and Computer Graphics (TVCG) 2020
[4]S. Fleishman, et al. “Bilateral mesh denoising”, SIGGRAPH 2003
[5]Raul Mur-Artal, et al. “ORB-SLAM: A Versatile and Accurate Monocular SLAM System”, IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, October 2015
[6]B. Curless and M. Levoy “A volumetric method for building complex models from range images”, In Proceedings of the 23rd annual conference on Computer graphics and interactive techniques, SIGGRAPH ’96, pages 303-312, New York, NY, USA, 1996. ACM
[7]William E. Lorensen, Harvey E. Cline: Marching Cubes: A high resolution 3D surface construction algorithm. In: Computer Graphics, Vol. 21, Nr. 4, July 1987
[8]Armin Hornung, et al. "OctoMap: An efficient probabilistic 3D mapping framework based on octrees." Autonomous robots 34.3 (2013): 189-206.
[9]Ruwen Schnabel, et al. "Efficient RANSAC for point‐cloud shape detection." Computer graphics forum. Vol. 26. No. 2. Oxford, UK: Blackwell Publishing Ltd, 2007
[10]Kesheng Wu, et al. “Two Strategies to Speed up Connected Component Labeling Algorithms”, Published 2005, Mathematics, Computer Science, Lawrence Berkeley National Laboratory
 以下に説明される1又は複数の実施形態(実施例、変形例を含む)は、各々が独立に実施されることが可能である。一方で、以下に説明される複数の実施形態は少なくとも一部が他の実施形態の少なくとも一部と適宜組み合わせて実施されてもよい。これら複数の実施形態は、互いに異なる新規な特徴を含み得る。したがって、これら複数の実施形態は、互いに異なる目的又は課題を解決することに寄与し得、互いに異なる効果を奏し得る。
<<1.はじめに>>
<1.1.情報処理システム1の概要>
 図1は、本開示に係る情報処理システム1の概要を説明するための図である。図1に示すように、情報処理システム1は、情報処理装置100と、端末装置200と、を備える。
 これら情報処理装置100と、端末装置200とは、互いに有線又は無線の各種のネットワークを介して通信し得る。なお、ネットワークで用いられる通信方式は、有線又は無線(例えば、WiFi(登録商標)、Bluetooth(登録商標)等)を問わず任意の方式を適用し得る。
 また、情報処理システム1に含まれる情報処理装置100及び端末装置200は、図1に図示された数に限定されるものではなく、さらに多く含まれていてもよい。また、図1では、情報処理システム1が、情報処理装置100と、端末装置200と、をそれぞれ個別に有する場合について示したが、これに限定されない。例えば、情報処理装置100及び端末装置200が1つの装置として実現されてもよい。例えば、スタンドアロン型のHMDなど、1つの装置で、情報処理装置100及び端末装置200の両方の機能が実現され得る。
 端末装置200は、ユーザUが頭部に装着する例えばメガネ型のHMD等のウェアラブルデバイス(アイウェアデバイス)である。
 なお、端末装置200として適用可能なアイウェアデバイスは、実空間の像を透過させる、所謂シースルー型のヘッドマウントディスプレイ(AR(Augmented Reality)グラスであってもよいし、実空間の像を透過させないゴーグルタイプのもの(VR(Virtual Reality)ゴーグル)であってもよい。
 また、本開示においては、端末装置200は、HMDであることに限定されるものではなく、例えば、ユーザUの保持するタブレットやスマートフォン等であってもよい。
 情報処理装置100は、端末装置200の動作を統括的に制御する。情報処理装置100は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の処理回路等により実現される。なお、本開示に係る情報処理装置100の詳細構成については、後述する。
<1.2.概要>
<1.2.1.障害物表示処理の概要>
 ここで、上述したように、ユーザUがHMD等を装着して移動すると、現実の物体にぶつかる可能性がある。
 そこで、ユーザUの身体の安全を守るために、情報処理装置100は、現実の物体と接触しない安全なプレイエリア(許容領域)内をユーザUが移動するようHMDを制御する。かかるプレイアリアは、ユーザUによって例えばゲーム開始前に設定され得る。あるいは、プレイエリアは、例えば端末装置200に搭載されたセンサ等によるセンシング結果に基づいて情報処理装置100によって特定され得る。
 例えば、図1では、領域PAが、ユーザUが障害物にぶつからずに移動したり手を伸ばしたりできるプレイエリアとして特定されている。なお、プレイエリアは、床に示された点線PA1と、点線PA1から垂直に延ばした壁PA2と、の組み合わせのように3次元領域として表されてもよい。あるいは、プレイエリアは、点線PA1の2次元領域として表されてもよい。このように、プレイエリアは2次元領域又は3次元領域として設定され得る。
 ここで、図1に示すように、プレイエリアとして特定された領域PA(以下、単にプレイエリアPAと称する)に障害物となる物体Ob1、Ob2(以下、単に障害物Ob1、Ob2とも記載する)が含まれる場合がある。
 プレイエリアPAをユーザUが設定する場合、障害物Ob1、Ob2が存在するにもかかわらず、例えば前回ゲームをプレイした場合と同じプレイエリアPAを設定することで、当該障害物Ob1、Ob2を含むプレイエリアPAが設定される可能性がある。
 あるいは、障害物Ob1、Ob2が含まれないプレイエリアPAが設定又は特定されたとしても、ユーザUがゲームプレイ中に、障害物Ob1、Ob2がプレイエリアPA内に置かれる可能性もある。
 このように、プレイエリアPA内に障害物Ob1、Ob2が存在する場合、当該障害物Ob1、Ob2の存在をユーザUに知らせる仕組みが望まれる。これにより、ユーザUが障害物Ob1、Ob2をプレイエリアPA外に移動させたり、障害物Ob1、Ob2を避けて移動したりすることができ、ユーザUの安全をより確実に確保することができるようになる。
 例えば、従来、このように障害物Obを検出する手法として、参考文献[1]、[2]等の手法が知られている。例えば、参考文献[1]では、学習済みCNN(Convolutional Neural Network)を使用し、3次元情報の各ボクセルをセグメンテーションする手法が開示されている。また、参考文献[2]では、2次元画像をセグメンテーションして、それを3次元情報にマッピングする手法が開示されている。しかしながら、これらの手法では、巨大な認識器が必要であり、処理時間も長くなる。そのため、低リソース及び短時間で障害物Obを分割する方法が望まれる。
 そこで、本開示に係る情報処理システム1は、障害物表示処理を実行し、プレイエリアPA内になる障害物を検出する。図2は、本開示の実施形態に係る障害物表示処理の概要を説明するための図である。図2に示す障害物表示処理は、例えば情報処理装置100で実行される。
 図2に示すように、情報処理装置100は、第1の3次元情報を取得する(ステップS11)。第1の3次元情報は、例えばユーザUが存在する実空間における物体の占有確率に関する情報である。第1の3次元情報の一例として、占有格子地図(Occupancy Grid Map)が挙げられる。
 情報処理装置100は、床面情報を取得する(ステップS12)。床面情報は、例えば実空間における床面に関する情報である。
 情報処理装置100は、第1の3次元情報及び床面情報に基づき、障害物を分類する(ステップS13)。情報処理装置100は、第1の3次元情報のうち床面に相当する情報を除外し、残った情報から障害物を分類する。第1の3次元情報が占有格子地図(以下、Occupancy Mapとも記載する)の場合、情報処理装置100は、床面に相当するボクセルを除外し、状態が占有であるボクセルのうち、互いに接するボクセルをクラスタリングすることで、障害物を分類する。なお、障害物の分類の詳細については後述する。
 情報処理装置100は、第2の3次元情報を取得する(ステップS14)。第2の3次元情報は、ユーザUが存在する実空間における物体の表面形状に関する情報である。第2の3次元情報は、例えば、複数の頂点と、当該複数の頂点間を結ぶ辺と、により面を規定するメッシュデータを含む。
 情報処理装置100は、分類した障害物の表面を強調表示する(ステップS15)。例えば、情報処理装置100は、第2の3次元情報のうち、障害物に対応するメッシュデータの表示色を変更することで、障害物の表面を強調表示する。
 情報処理装置100は、例えば図1に示すプレイエリアPAにおいて障害物表示処理を実行することで、プレイエリアPA内にある障害物Ob1、Ob2を分類する。情報処理装置100は、分類した障害物Ob1、Ob2を強調表示する。
 これにより、情報処理装置100は、ユーザUに対して、障害物Ob1、Ob2の存在を通知することができる。そのため、ユーザUは、障害物Ob1、Ob2を除去したり、障害物Ob1、Ob2を避けて移動したりすることができ、より安全にコンテンツ(例えばゲーム)を楽しむことができる。
 なお、図1では障害物Obの数を2つとしているが、これに限定されない。障害物Obの数は、1つであってもよく、3つ以上であってもよい。
<1.2.2.表示抑制処理の概要>
 障害物を強調表示する一方で、ノイズ等の影響で障害物の存在しない空間に障害物があるものとして表示画像が生成される場合がある。このように誤って検出される障害物を、以下では偽障害物とも記載する。
 例えば、上述したメッシュデータを含む第2の3次元情報に基づいて表示画像が生成されるものとする。このように、メッシュデータを利用することで、情報処理装置100は、Occupancy Mapを利用する場合と比較して滑らかな画像を生成することができる。一方、メッシュデータを含む第2の3次元情報は、Occupancy Mapと異なりUnknown(未観測状態)がなく、次に距離情報が取得されるまで前回のデータが保持され続けることになる。
 図3は、本開示の実施形態に係る第2の3次元情報の一例を示す図である。図3の丸で囲む部分に示すように、一度ノイズが発生すると、当該ノイズが、第2の3次元情報として長い間保持され、偽障害物としてユーザUに提示され続ける恐れがある。なお、この場合、偽障害物が強調表示されるか否かは問わない。
 このような偽障害物がユーザUに提示されないようにする技術として、例えば参考文献[3]、[4]に開示される技術が知られている。参考文献[3]には、学習済みDNN(Deep Neural Network)を使用したメッシュのデノイジング手法が開示されている。また、参考文献[4]には、バイラテラルフィルタ等のモデルベースを用いたメッシュのデノイジング手法が開示されている。しかしながら、これらの手法は、周辺メッシュとの関係から凹凸を抑制するものである。そのため、デプスの誤観測にともなって周辺から孤立して観測される偽障害物の表示を抑制することが求められる。
 そこで、本開示に係る情報処理システム1は、表示抑制処理を実行し、偽障害物の表示を抑制する。図4は、本開示の実施形態に係る表示抑制処理の概要を説明するための図である。図4に示す表示抑制処理は、例えば情報処理装置100で実行される。
 図4に示すように、情報処理装置100は、第1の3次元情報を取得する(ステップS21)。第1の3次元情報は、図2に示す障害物表示処理で取得する第1の3次元情報と同じである。
 情報処理装置100は、床面情報を取得する(ステップS22)。床面情報は、図2に示す障害物表示処理で取得する床面情報と同じである。
 情報処理装置100は、第1の3次元情報及び床面情報に基づき、障害物を検出する(ステップS23)。情報処理装置100は、図2に示す障害物表示処理で障害物を分類した方法と同様にして障害物を検出してもよく、あるいは、第1の3次元情報であるOccupancy MapがOccupied(占有状態)であるボクセルを障害物として検出してもよい。情報処理装置100は、後述する偽障害物の判定に使用する所定条件に応じた方法で障害物を検出し得る。
 情報処理装置100は、検出した障害物から偽障害物を判定する(ステップS24)。情報処理装置100は、検出した障害物に、所定条件に応じたアウトライア率を決定することで、偽障害物を判定する。例えば、情報処理装置100は、検出した障害物の大きさ(ボクセル数)に応じてアウトライア率を決定する。情報処理装置100は、検出した障害物の周囲のボクセルのうちUnknown(未観測状態)であるボクセルの比率に応じてアウトライア率を決定する。情報処理装置100は、第2の3次元情報(ボクセル)の状態の時間変化に応じてアウトライア率を決定する。情報処理装置100は、床面からの高さに応じて障害物のアウトライア率を決定する。なお、情報処理装置100によるアウトライア率の決定方法の詳細は後述する。
 情報処理装置100は、第2の3次元情報を取得する(ステップS25)。第2の3次元情報は、図2に示す障害物表示処理で取得する第2の3次元情報と同じである。
 情報処理装置100は、偽障害物の表示を抑制する(ステップS26)。例えば、情報処理装置100は、障害物をアウトライア率に応じた透過率で表示することで、偽障害物の表示を抑制する。
 これにより、情報処理装置100は、偽障害物を表示させることなく、より高精度に障害物ObをユーザUに対して通知することができる。そのため、ユーザUは、より安全にコンテンツ(例えばゲーム)を楽しむことができる。
 なお、情報処理装置100は、障害物表示処理及び表示抑制処理の両方を実行してもよく、少なくとも一方を実行するようにしてもよい。障害物表示処理及び表示抑制処理の両方を実行する場合、情報処理装置100は、障害物表示処理及び表示抑制処理の両方で重複する処理の一方を省略し得る。
<<2.情報処理システム>>
<2.1.端末装置の構成例>
 図5は、本開示の第1実施形態に係る端末装置200の構成例を示すブロック図である。図5に示すように、端末装置200は、通信部210と、センサ部220と、表示部230と、入力部240と、制御部250と、を含む。
[通信部210]
 通信部210は、他の装置との間で情報の送受信を行う。例えば、通信部210は、制御部250の制御に従って、映像の再生要求やセンサ部220のセンシング結果を情報処理装置100へ送信する。また、通信部210は、再生対象の映像を情報処理装置100から受信する。
[センサ部220]
 センサ部220は、例えば、カメラ(イメージセンサ)、デプスセンサ、マイクロフォン、加速度センサ、ジャイロスコープ、地磁気センサ、GPS(Global Positioning System)受信機などを含み得る。また、センサ部220は、速度センサ、加速度センサ、角速度センサ(ジャイロセンサ)、及び、それらを統合した慣性計測装置(IMU:Inertial Measurement Unit)を含み得る。
 例えば、センサ部220は、実空間における端末装置200の位置(または、端末装置200を使用するユーザUの位置)、端末装置200の向きや姿勢、または、加速度などをセンシングする。また、センサ部220は、端末装置200の周囲のデプス情報をセンシングする。なお、センサ部220がデプス情報をセンシングする測距装置を含む場合、当該測距装置は、ステレオカメラ、ToF(Time of Flight)方式の距離イメージセンサなどであり得る。
[表示部230]
 表示部230は、制御部250の制御に従って、映像を表示する。例えば、表示部230は、右目用表示部及び左目用表示部(図示省略)を有し得る。この場合、右目用表示部は、端末装置200に含まれる右目用レンズ(図示省略)の少なくとも一部の領域を投影面として映像を投影する。左目用表示部は、端末装置200に含まれる左目用レンズ(図示省略)の少なくとも一部の領域を投影面として映像を投影する。
 あるいは、端末装置200がゴーグル型レンズを有する場合には、表示部230は、当該ゴーグル型レンズの少なくとも一部の領域を投影面として映像を投影し得る。なお、左目用レンズおよび右目用レンズ(またはゴーグル型レンズ)は、例えば樹脂やガラスなどの透明材料により形成され得る。
 あるいは、表示部230は、非透過型の表示装置として構成され得る。例えば、表示部230は、LCD(Liquid Crystal Display)、または、OLED(Organic Light Emitting Diode)などを含んで構成され得る。なお、この場合、センサ部220(カメラ)により撮影される、ユーザUの前方の映像が表示部230に逐次表示されてもよい。これにより、ユーザUは、当該表示部230に表示される映像を介して、ユーザUの前方の風景を視認し得る。
[入力部240]
 入力部240は、タッチパネル、ボタン、レバー、スイッチなどを含み得る。入力部240は、ユーザUの各種の入力を受け付ける。例えば、仮想空間内にAIキャラクターが配置される場合、入力部240は、当該AIキャラクターの配置位置等を変更させるためのユーザUの入力を受け付け得る。
[制御部250]
 制御部250は、端末装置200に内蔵される例えばCPU、GPU(Graphics Processing Unit)及びRAMなどを用いて、端末装置200の動作を統括的に制御する。例えば、制御部250は、情報処理装置100から受信される映像を表示部230に表示させる。
 一例として、端末装置200が映像を受信するとする。この場合、制御部250は、当該映像のうち、センサ部220によりセンシングされた、端末装置200(またはユーザUなど)の位置および姿勢の情報に対応する部分の映像を表示部230に表示させる。
 また、表示部230が右目用表示部及び左目用表示部(図示省略)を有する場合、制御部250は、情報処理装置100から受信される映像に基づいて右目用画像および左目用画像を生成する。そして、制御部250は、右目用画像を右目用表示部に表示させ、左目用画像を左目用表示部に表示させる。これにより、制御部250は、立体視映像をユーザUに視聴させることができる。
 また、制御部250は、センサ部220によるセンシング結果に基づいて各種の認識処理を行い得る。例えば、制御部250は、端末装置200を装着するユーザUの行動(例えば、ユーザUのジェスチャやユーザUの移動など)を当該センシング結果に基づいて認識し得る。
<2.2.情報処理装置の構成例>
 図6は、本開示の第1実施形態に係る情報処理装置100の構成例を示すブロック図である。図6に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130と、を含む。
[通信部110]
 通信部110は、他の装置との間で情報の送受信を行う。例えば、通信部110は、制御部130の制御に従って、再生対象の映像を情報処理装置100へ送信する。また、通信部110は、映像の再生要求やセンシング結果を端末装置200から受信する。
[記憶部120]
 記憶部120は、たとえば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
[制御部130]
 制御部130は、情報処理装置100に内蔵される例えばCPU、GPU(Graphics Processing Unit)及びRAMなどを用いて、情報処理装置100の動作を統括的に制御する。例えば、制御部130は、情報処理装置100内部の記憶装置に記憶されている各種プログラムを、プロセッサがRAM(Random Access Memory)等を作業領域として実行することにより実現される。なお、制御部130は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。CPU、MPU、ASIC、及びFPGAは何れもコントローラとみなすことができる。
 制御部130は、図6に示すように、推定部131と、統合処理部132と、表示制御部133と、を備える。制御部130を構成する各ブロック(推定部131~表示制御部133)はそれぞれ制御部130の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ又は1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部130は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
(推定部131)
 推定部131は、端末装置200のセンサ部220が取得したセンシング結果に基づき、端末装置200の姿勢(ポーズ)を推定する。例えば、推定部131は、センサ部220の一例であるIMUの測定結果(例えば、加速度及び角速度。以下、IMU情報とも記載する)、及び、カメラの撮影結果(以下、カメラ画像とも記載する)を取得する。推定部131は、例えば、参考文献[5]に代表される自己位置推定(SLAM:Simultaneous Localization And Mapping)を用いてカメラポーズを推定する。
 推定部131は、取得したIMU情報、及び、カメラ画像に基づき、端末装置200(センサ部220の一例であるカメラ)の自己位置・姿勢(以下、カメラポーズとも記載する)及び重力方向を推定する。推定部131は、推定したカメラポーズ及び重力方向を統合処理部132に出力する。
(統合処理部132)
 統合処理部132は、センサ部220の一例である測距装置の測距結果である距離情報(以下、デプス情報とも記載する)、及び、推定部131が推定したカメラポーズに基づき、第1及び第2の3次元情報を生成する。
 ここで、第1の3次元情報は、例えばOccupancy Mapである。また、第2の3次元情報は、メッシュデータを含む情報である。第1、第2の3次元情報のいずれも、3次元空間(実空間)を有限幅のボクセルグリッドに区切った各ボクセルに保持される情報である。
 図7は、本開示の実施形態に係るボクセルの一例について説明するための図である。なお、図7では、3次元空間を4×5×6=120個のボクセルに区切った例を示しているが、ボクセルの数は120個に限定されず、120個未満であっても121個以上であってもよい。
 図7に示すように、本開示の実施形態では、重力方向をz軸負方向とする世界座標系を使用する。すなわち、第1、第2の3次元情報のボクセル配置は、当該世界座標系に沿ったものであり、第1、第2の3次元情報でボクセル配置は同じものであるとする。
(メッシュ情報)
 統合処理部132は、例えば図7に示す各ボクセルに例えば物体表面からの距離情報を保持する。当該距離情報は、例えばTSDF(Truncated Signed Distance Field)と呼ばれる。TSDFは、例えば参考文献[6]等に開示されている公知の技術である。統合処理部132は、当該TSDFを、距離情報に基づいて時間方向に更新する。
 また、統合処理部132は、例えば参考文献[7]に開示されるmarching cube法を用いて、TSDFから等値面を抽出することで、ボクセルごとに保持される距離情報をメッシュに変換する。なお、TSDFからメッシュへの変換は、統合処理部132が行ってもよく、あるいは後述する表示制御部133が行ってもよい。
 また、本開示では、特に断りがない限り、第2の3次元情報は、TSDFからメッシュへ変換した後のメッシュデータであるとするが、第2の3次元情報がTSDFであってもよい。また、3次元空間のボクセルごとに保持されるTSDFをTSDF情報とも称し、各TSDF情報をメッシュに変換した情報をメッシュ情報とも称する。
 統合処理部132は、生成したメッシュ情報を表示制御部133に出力する。
(Occupancy Map)
 統合処理部132は、例えば図7に示す各ボクセルに例えば物体の占有確率を保持するOccupancy Mapを生成する。Occupancy Mapは、例えば参考文献[8]に記載される3次元空間情報である。
 Occupancy Mapの各ボクセルは、占有確率を閾値によって分類することで、以下の3つの状態に分類される。
 ・Occupied:ボクセルが物体によって占有されていることを示す(占有状態)。
 ・Free:ボクセルが物体に占有されておらず、空の空間であることを示す(非占有状態)。
 ・Unknown:観測不足のため、ボクセルが物体に占有されているかいないかを判断できないことを示す(未観測状態)。
 例えば、各ボクセルが保持する占有確率の取り得る値の範囲が「0」から「1」であるとする。この場合、占有確率が閾値pocc以上であるボクセルの状態をOccupiedとする。また、占有確率が閾値pfree以下であるボクセルの状態をFreeとする。占有確率が上述した条件(閾値pocc以上、又は、閾値pfree以下)を満たさないボクセルの状態をUnknownとする。
 統合処理部132は、当該占有確率を、距離情報に基づいて時間方向に更新することで、Occupancy Mapを生成する。統合処理部132は、生成したOccupancy Mapを表示制御部133に出力する。
 なお、上述したメッシュ情報も、Occupancy Mapも、どちらも3次元空間に存在する物体を表現する技術であるが、両者にはそれぞれ得手・不得手がある。
 例えば、メッシュ情報は、物体表面からの距離情報を保持することで、物体の詳細な表面形状を表現できる。一方、メッシュ情報は、未観測状態を保持することができない。そのため、上述したように、例えばデプスノイズ起因で間違った形状情報が、ボクセルに保持されると、その後、当該ボクセルで新しいデプスが観測されない限り、誤った形状情報が表示され続けることになる。
 一方、Occupancy Mapは、ボクセルは非占有・占有状態を保持するため詳細な表面形状は表現できないが、未観測状態を保持することができる。そのため、デプスノイズ起因で間違った情報がボクセルに保持されても、その後、当該ボクセルで新しいデプスが観測されないと、当該ボクセルの状態がUnknownに状態遷移する。また、情報処理装置100は、Occupancy Mapを使用して、所定ボクセルの周囲のボクセル(以下、周囲ボクセルとも記載する)の状態から所定ボクセルの信頼度や物体の存在区間を判定し得る。
(平面情報)
 図6に戻る。統合処理部132は、実空間の3次元情報から床面情報を生成する。統合処理部132は、例えば3次元情報に対してRANSACで最大平面を計算することで、床平面を検出する。なお、RANSACによる最大平面の計算は、例えば参考文献[9]に記載の技術等を用いて実行し得る。なお、3次元情報として、例えば、上述したOccupancy Mapやメッシュ情報、あるいは、距離情報から求めた3次元点群などが挙げられる。
 統合処理部132は、生成した床面情報を表示制御部133に出力する。
(表示制御部133)
 表示制御部133は、端末装置200で再生する映像(表示画像)を生成する。例えば、表示制御部133は、メッシュ情報を用いてユーザU周囲の映像を生成する。このとき、表示制御部133は、例えばプレイエリアPA内にある障害物を強調表示して表示画像を生成する。また、表示制御部133は、偽障害物の表示を抑制して表示画像を生成する。
 図8は、本開示の実施形態に係る表示制御部133の構成例を示すブロック図である。図8に示すように、表示制御部133は障害物検出部1331と、偽障害物判定部1332と、表示変更部1333と、を含む。
(障害物検出部1331)
 障害物検出部1331は、床面情報及びOccupancy Mapを使用して実空間に存在する障害物を分割することで、障害物を検出する。障害物検出部1331は、検出した障害物に対応する表示情報(表示ラベル)をメッシュ情報に付加することで、表示ラベル付きメッシュ情報を生成する。
 図9は、本開示の実施形態に係る障害物検出部1331の構成例を示すブロック図である。図9に示す障害物検出部1331は、ボクセル抽出部1331Aと、クラスタリング処理部1331Bと、表示情報付与部1331Cと、を含む。
(ボクセル抽出部1331A)
 ボクセル抽出部1331Aは、床面情報及びOccupancy Mapを用いて、障害物となり得るボクセルを抽出する。
 例えば、ボクセル抽出部1331Aは、Occupancy Mapの各ボクセルのうち、状態がOccupiedであるOccupiedボクセルを選択する。ボクセル抽出部1331Aは、床面情報を用いて、選択したOccupiedボクセルのうち、床面であるOccupiedボクセルを除外したOccupiedボクセルを、障害物となり得るボクセル(以下、分割対象ボクセルとも記載する)として抽出する。
 ボクセル抽出部1331Aは、抽出した分割対象ボクセルをクラスタリング処理部1331Bに出力する。
(クラスタリング処理部1331B)
 クラスタリング処理部1331Bは、分割対象ボクセルの連結情報に基づき、分割対象ボクセルをクラスタリングする。クラスタリング処理部1331Bは、例えば、参考文献[10]に記載の技術を使用して、分割対象ボクセルを連結したボクセル群に分類する。
 クラスタリング処理部1331Bは、分割対象ボクセルの連なりを見て、連なりが途切れたところでクラスタ境界が発生したとし、境界内の分割対象ボクセルに同一のラベルを付与する。
 このように、クラスタリング処理部1331Bは、連結する分割対象ボクセルを1つの障害物として分類し、同一のラベル(以下、障害物ラベルとも記載する)を付与する。
 一般的に、実空間の障害物は、床面上に置かれていることが多い。分割対象ボクセルは、床面を除外したOccupiedボクセルである。そのため、クラスタリング処理部1331Bが床面を除外した分割対象ボクセルの連結情報に基づき、分割対象ボクセルを分割することで、クラスタリング処理部1331Bは、床面上の個々の障害物を検出することができる。
 図10は、本開示の実施形態に係るクラスタリング処理部1331Bが検出した障害物の一例について説明するための図である。図10に示すように、クラスタリング処理部1331Bは、分割対象ボクセルをクラスタリングすることで、例えば丸で囲む3つの障害物を検出し、それぞれ障害物ラベルCL1~CL3を付与する。
 障害物ラベルCL1~CL3が付与されたボクセルは、床面を介して連結されるが、ボクセル抽出部1331Aが床面を除去した分割対象ボクセルを抽出することで、クラスタリング処理部1331Bは、より精度よく障害物を検出することができる。
 図9に戻る。クラスタリング処理部1331Bは、障害物ラベルCLを付与したラベル付きOccupancy Mapを表示情報付与部1331Cに出力する。
(表示情報付与部1331C)
 表示情報付与部1331Cは、メッシュ情報のうち、障害物ラベルCLが付与されたボクセルに対応するメッシュデータに表示ラベルを付与する。表示情報付与部1331Cは、メッシュデータに表示ラベルを付与することで、表示ラベル付きメッシュ情報を生成する。なお、障害物ラベルCLが付与されたボクセルに対応するメッシュデータは、当該ボクセルに保持されたTSDF情報から算出されたメッシュデータである。また、表示ラベルは、後段の処理で表示を変更するために使用される表示情報である。
 なお、メッシュデータに付与される表示情報は、表示ラベルに限定されない。メッシュデータに付与される情報は、後段の強調表示処理で使用可能な情報であればよく、例えばメタ情報等であってもよい。
 また、ここでは、表示情報付与部1331Cは、TSDF情報から算出されたメッシュデータに表示ラベルを付与するとしたが、これに限定されない。表示情報付与部1331CがTSDF情報に表示ラベルを付与するようにしてもよい。この場合、表示情報付与部1331Cは、障害物ラベルCLが付与されたボクセルに保持されるTSDF情報に表示ラベルを付与することで、表示ラベル付きメッシュ情報を生成する。
 図11は、本開示の実施形態に係る表示ラベル付きメッシュ情報を説明するための図である。後述する表示変更部1333は、表示ラベルが付与されたメッシュデータを強調表示して表示画像を生成する。
 図11に示すように、表示変更部1333は、障害物ラベルCL1~CL3(図10参照)に対応するメッシュ領域M1~M3を強調表示して表示画像を生成する。
 このように表示情報付与部1331Cが表示ラベル付きメッシュ情報を生成することで、情報処理装置100は、障害物を強調表示した表示画像を生成することができる。
 図9に戻る。表示情報付与部1331Cは、ラベル付きOccupancy Map及び表示ラベル付きメッシュ情報を偽障害物判定部1332に出力する。ラベル付きOccupancy Map及び表示ラベル付きメッシュ情報をまとめて障害物情報とも記載する。
(偽障害物判定部1332)
 図8に戻る。偽障害物判定部1332は、床面情報、Occupancy Map、及び、障害物情報に基づき、実空間で障害物とされる物体がノイズ等の偽障害物であるか否かを判定する。偽障害物判定部1332は、各障害物のアウトライア率を決定することで、当該障害物が偽障害物であるか否かを判定する。例えば、偽障害物判定部1332は、所定条件に応じて、状態がOccupiedであるボクセルのアウトライア率を決定する。
 図12は、本開示の実施形態に係る偽障害物判定部1332の構成例を示す図である。図12に示すように、偽障害物判定部1332は、要素数算出部1332Aと、空間統計量算出部1332Bと、時間統計量算出部1332Cと、アウトライア判定部1332Dと、アウトライア情報付与部1332Kと、を含む。
(要素数算出部1332A)
 要素数算出部1332Aは、Occupancy MapのボクセルのうちOccupiedボクセルの連結情報を用いて、Occupiedボクセルの連なりの数(要素数)を算出する。すなわち、要素数算出部1332Aは、実空間内で障害物(Occupied)として検出された物体の大きさを算出する。
 このとき、要素数算出部1332Aは、床面を介して連結する複数の障害物を1つの障害物として要素数を算出してもよく、床面を除外したOccupiedボクセルの要素数を算出してもよい。
 床面を除外したOccupiedボクセルは、上述した分割対象ボクセルである。そのため、要素数算出部1332Aは、床面を除外したOccupiedボクセルの要素数を算出する場合、ラベル付きOccupancy Mapのうち同一の障害物ラベルCLが付与されたボクセルの要素数をカウントするようにしてもよい。
 例えば、情報処理装置100が、ノイズ起因で障害物のない領域を障害物がある(Occupied)と誤判定した場合、誤判定された障害物(偽障害物)の大きさは、実際の障害物と比較して小さいことが多い。
 そのため、要素数算出部1332Aが障害物の大きさ(連結するOccupiedボクセルの要素数)を算出することで、後段のアウトライア判定部1332Dが障害物か否かを判定することができるようになる。
 このとき、床面に近い障害物は、ユーザUの移動の妨げとなりやすいことから、床面に近い物体は、大きさが小さくとも障害物として検出することが望ましい。一方、例えば天井付近など、床面から離れている障害物は、ユーザUの移動の妨げとならないことも多い。そのため、床面から遠い物体は、大きさがある程度大きいものを障害物として検出することが望ましい。
 すなわち、床面から近い障害物は、大きさが小さくとも偽障害物と判定されにくくすることが望ましい。また、床面から遠い障害物は、大きさが小さいものを偽障害物と判定することが望ましい。このように、障害物が偽障害物であるか否かの判定基準は、床面からの距離に依存する。
 そこで、要素数算出部1332Aは、要素数をカウントした障害物(連結Occupiedボクセル)の床面からの高さを算出する。要素数算出部1332Aは、カウントした要素(ボクセル)と床面との距離のうち、最小距離を床面の高さとして算出する。あるいは、要素数算出部1332Aは、カウントした要素と床面との距離のうち、最小距離を床面の高さとして算出してもよく、平均値を床面の高さとして算出してもよい。あるいは、要素数算出部1332Aは、障害物に含まれるボクセルごとに、当該ボクセルの床面の高さを算出してもよい。
 要素数算出部1332Aは、算出した要素数、及び、床面からの高さに関する高さ情報を、アウトライア判定部1332Dに出力する。
(空間統計量算出部1332B)
 空間統計量算出部1332Bは、物体(例えば、Occupiedボクセル)の周囲のボクセルのうち、状態がUnknownであるボクセルの比率(以下、空間Unknown比率とも記載する)を算出する。
 空間統計量算出部1332Bは、Occupancy MapからOccupiedボクセルの周囲3×3×3のボクセル(以下、周囲ボクセルとも記載する)の状態を取得し、周囲ボクセルのうちUnknownのボクセルが占める比率を空間Unknown比率として算出する。
 ノイズ起因でボクセルがOccupiedと判定された場合、当該ボクセルの周囲は、例えば、Unknownボクセルのように、Occupiedボクセルでない可能性が高い。
 そのため、空間統計量算出部1332Bが空間Unknown比率を算出することで、後段のアウトライア判定部1332Dは、Occupiedボクセルが障害物か否かを判定することができるようになる。
 なお、要素数と同様に、Occupiedボクセルの床面からの高さに応じて偽障害物の判定基準を変更する場合、空間統計量算出部1332Bは、空間Unknown比率を算出したOccupiedボクセルの床面からの高さを算出するものとする。
 空間統計量算出部1332Bは、算出した空間Unknown比率、及び、床面からの高さに関する高さ情報を、アウトライア判定部1332Dに出力する。
 なお、ここでは、周囲ボクセルの数が27個であるとしたが、これに限定されない。周囲ボクセルの数は27個未満であっても、28個以上であってもよい。
(時間統計量算出部1332C)
 時間統計量算出部1332Cは、Occupancy Mapの状態の時間変化の比率を時間Unknown比率として算出する。
 例えば、情報処理装置100が、時間Unknown比率の算出対象である対象ボクセルの状態を過去10フレーム分記憶するバッファ(図示省略)を備えているものとする。当該バッファは、例えば、記憶部120が有するものとする。
 時間統計量算出部1332Cは、対象ボクセルの過去10フレーム分の状態をバッファから取得すると、10フレームのうち状態がUnknownである比率を時間Unknown比率として算出する。
 例えば、対象ボクセルの状態がUnknownからOccupied又はFreeに遷移したとしても、数フレームでまたUnknownに遷移した、換言すると、10フレームのうち大半がUnknownであるとする。この場合、対象ボクセルがOccupied又はFreeに遷移したのは、デプスノイズに起因する可能性が高い。
 そのため、時間統計量算出部1332Cが時間Unknown比率を算出することで、後段のアウトライア判定部1332Dは、対象ボクセルが障害物か否かを判定することができるようになる。
 なお、時間統計量算出部1332Cは、対象ボクセルの状態をバッファに保存する場合、対象ボクセルが測距装置の測距範囲内であるか否かに応じて状態を保存するか否かを切り替える。
 上述したように、Occupancy Mapは、時間経過に応じて状態が更新される。このとき、対象ボクセルが測距装置の測距範囲外であると、対象ボクセルの状態の信頼性が低くなり、状態がUnknownに遷移する。
 そのため、時間統計量算出部1332Cが、対象ボクセルが測距範囲外にある場合でも、当該ボクセルの状態をバッファに保存すると、実際は物体が存在する対象ボクセルであっても、当該対象ボクセルの状態としてUnknownが多く保存されることとなる。
 そこで、本開示の実施形態に係る時間統計量算出部1332Cは、対象ボクセルが測距範囲内になる場合に、当該ボクセルの状態をバッファに保存する。換言すると、時間統計量算出部1332Cは、測距装置の測距範囲に基づき、対象ボクセルの状態が変化したか否かを判定する。時間統計量算出部1332Cは、対象ボクセルが測距装置の測距範囲内にある場合の状態の時間変化に応じて、時間Unknown比率を算出する。
 かかる点について、図13~図15を用いて説明する。図13及び図14は、本開示の実施形態に係る対象ボクセルと測距装置の測距範囲との関係を説明するための図である。
 図13では、測距装置260の測距範囲R内に、対象ボクセルBが含まれる場合を示している。また、図14では、測距装置260の測距範囲R内に対象ボクセルBが含まれない場合を示している。なお、測距装置260は、例えば端末装置200のセンサ部220(図5参照)に相当する。
 図13及び図14に示すように、測距装置260の移動に応じて測距範囲Rが変化することで、対象ボクセルBは、測距範囲R内に位置したり、測距範囲R外に位置したりする。また、図13及び図14に示す対象ボクセルには物体が存在するものとする。
 この場合の、対象ボクセルBの状態遷移の一例を、図15を用いて説明する。図15は、本開示の実施形態に係る対象ボクセルBの状態遷移の一例を説明するための図である。
 図15の例では、期間T1、T3において対象ボクセルが測距範囲Rに含まれ(図13参照)、期間T2において対象ボクセルが測距範囲Rに含まれない(図14参照)ものとする。
 図15では、1フレームごとに各時間の状態や時間Unknown比率等を示している。ここでは、観測開始を第1フレームとし、第16フレームまでの対象ボクセルBの状態遷移を示している。また、図15では、バッファが対象ボクセルBの状態を3フレーム分保持するものとする。
 図15に示すように、期間T1の最初に、測距装置260が対象ボクセルBの観測を開始すると、情報処理装置100が算出する存在確率は徐々に増加する。そのため、第1フレームではUnknown(Un)だった対象ボクセルBの状態が、第2フレームではOccupied(Occ)へと遷移する。
 また、第1、第2フレームでは、対象ボクセルBは測距範囲R内に位置するため、観測範囲か否かを判定する場合、時間統計量算出部1332CはYes(観測範囲内)と判定する。この場合、時間統計量算出部1332Cは、対象ボクセルBの状態をバッファに保存する。
 なお、第1、第2フレームでは、バッファには3フレーム分の状態が蓄積されていないため、時間統計量算出部1332Cは、バッファに蓄積されている状態にかかわらず、時間Unknown比率をN/A(not applicable)として扱うものとする。
 期間T1が終了する第6フレームまで、測距装置260は、対象ボクセルBを観測し続けるため、対象ボクセルBの状態は第2フレームから第6フレームまでOccupied(Occ)となる。また、観測範囲か否かの判定結果は、第1フレームから第6フレームまで「Yes」となる。
 そのため、バッファは、過去3フレーム分の対象ボクセルBの状態を保持する。具体的には、バッファは、第2フレームでは、「Unknown」、「Occupied」、「Occupied」を保持する。第3フレームから第6フレームでは、バッファは、過去3フレーム分において全て「Occupied」を保持する。
 時間統計量算出部1332Cは、第2フレームにおいて時間Unknown比率「0.33」を算出し、第3フレームから第6フレームにおいて時間Unknown比率「0」を算出する。
 次に、期間T2となり、対象ボクセルBが測距範囲Rから外れると、対象ボクセルBが観測されなくなり、存在確率が徐々に低下する。そのため、第7フレームまでは「Occupied(Occ)」であった状態も第8フレームから第12フレームまで「Unknown(Un)」に遷移する。
 しかしながら、第7フレームから第12フレームまでは、対象ボクセルBが観測範囲内でない(観測範囲の判定結果が「No」)ため、この期間の状態はバッファに保持されない。そのため、バッファは、第7フレームから第12フレームの間、第6フレームの時点における過去3フレーム分の状態を保持し続ける。したがって、時間統計量算出部1332Cは、第7フレームから第12フレームにおいて第6フレームと同じ時間Unknown比率「0」を算出する。
 期間T2が終了し、期間T3になると、対象ボクセルBが再び測距範囲R内に入る。そのため、期間T3が開始されると、存在確率が徐々に増加し、第13フレームではUnknown(Un)だった対象ボクセルBの状態が、第14フレームから第16フレームではOccupied(Occ)へと遷移する。また、観測範囲の判定結果は、第13フレームから第16フレームまで「Yes」となる。
 そのため、バッファは、過去3フレーム分の対象ボクセルBの状態を保持する。具体的には、バッファは、第13フレームでは、「Occupied」、「Occupied」、「Unknown」を保持する。バッファは、第14フレームでは、「Occupied」、「Unknown」、「Occupied」を保持する。第15フレームでは、「Unknown」、「Occupied」、「Occupied」を保持する。第16フレームでは、バッファは、過去3フレーム分において全て「Occupied」を保持する。
 時間統計量算出部1332Cは、第13フレームから第15フレームにおいて時間Unknown比率「0.33」を算出し、第16フレームにおいて時間Unknown比率「0」を算出する。
 このように、時間統計量算出部1332Cは、対象ボクセルBが測距範囲R(観測範囲)内に含まれる場合の状態変化に応じて、時間Unknown比率を算出する。これにより、時間統計量算出部1332Cは、未観測により対象ボクセルBがUnknownに遷移する場合を除外して、より精度よく時間Unknown比率を算出することができる。
 なお、要素数と同様に、Occupiedボクセルの床面からの高さに応じて偽障害物の判定基準を変更する場合、時間統計量算出部1332Cは、時間Unknown比率を算出した対象ボクセルBの床面からの高さを算出するものとする。
 時間統計量算出部1332Cは、算出した時間Unknown比率、及び、床面からの高さに関する高さ情報を、アウトライア判定部1332Dに出力する。
 なお、ここでは、バッファが10フレーム又は3フレーム分の状態を保持するとしたが、これに限定されない。バッファが保持するフレーム数は、例えばバッファのサイズや対象ボクセルBの数等に応じて適切な値が選択され得る。
(アウトライア判定部1332D)
 図12に戻る。アウトライア判定部1332Dは、要素数算出部1332A、空間統計量算出部1332B及び時間統計量算出部1332Cの算出結果に基づき、各ボクセルのアウトライア率を算出する。
 図12に示すように、アウトライア判定部1332Dは、アウトライア率L1算出部1332Eと、アウトライア率L2算出部1332Fと、アウトライア率L3算出部1332Gと、アウトライア率統合部1332Hと、を含む。
 アウトライア率L1算出部1332Eは、要素数算出部1332Aが算出した要素数を用いて第1アウトライア率L1を算出する。アウトライア率L2算出部1332Fは、空間統計量算出部1332Bが算出した空間Unknown比率を用いて第2アウトライア率L2を算出する。アウトライア率L3算出部1332Gは、時間統計量算出部1332Cが算出した時間Unknown比率を用いて第3アウトライア率L3を算出する。アウトライア率統合部1332Hは、第1~第3アウトライア率L1~L3から各ボクセルのアウトライア率Lを算出する。
(アウトライア率L1算出部1332E)
 アウトライア率L1算出部1332Eは、Occupiedボクセルのうち、第1アウトライア率L1の算出対象である算出対象ボクセルが含まれる障害物の要素数に応じて、第1アウトライア率L1を決定する。アウトライア率L1算出部1332Eは、以下の式(1)に基づき、第1アウトライア率L1を算出する。
Figure JPOXMLDOC01-appb-M000001
 ここで、nは要素数である。また、n、nは、例えば障害物の床面からの高さに応じて値が決まる閾値(パラメータ)である。
 このように、アウトライア率L1算出部1332Eは、障害物の床面からの高さに応じてn、nの値を変更することで、床面からの高さに応じた第1アウトライア率L1を決定することができる。
(アウトライア率L2算出部1332F)
 アウトライア率L2算出部1332Fは、Occupiedボクセルのうちの空間Unknown比率に応じて、第2アウトライア率L2を決定する。アウトライア率L2算出部1332Fは、以下の式(2)に基づき、第2アウトライア率L2を算出する。
Figure JPOXMLDOC01-appb-M000002
 ここで、kは、空間known比率であり、k=1-空間Unknown比率として求められる。また、k、kは、例えば第2アウトライア率L2の算出対象である算出対象ボクセルの床面からの高さに応じて値が決まる閾値(パラメータ)である。
 このように、アウトライア率L2算出部1332Fは、算出対象ボクセルの床面からの高さに応じてk、kの値を変更することで、床面からの高さに応じた第2アウトライア率L2を決定することができる。
(アウトライア率L3算出部1332G)
 アウトライア率L3算出部1332Gは、Occupiedボクセルのうちの時間Unknown比率に応じて、第3アウトライア率L3を決定する。アウトライア率L3算出部1332Gは、以下の式(3)に基づき、第3アウトライア率L3を算出する。
Figure JPOXMLDOC01-appb-M000003
 ここで、hは、時間known比率であり、h=1-時間Unknown比率として求められる。また、h、hは、例えば第3アウトライア率L3の算出対象である算出対象ボクセルの床面からの高さに応じて値が決まる閾値(パラメータ)である。
 このように、アウトライア率L3算出部1332Gは、算出対象ボクセルの床面からの高さに応じてh、hの値を変更することで、床面からの高さに応じた第3アウトライア率L3を決定することができる。
(アウトライア率統合部1332H)
 アウトライア率統合部1332Hは、第1~第3アウトライア率L1~L3を統合し、各ボクセルのアウトライア率Lを決定する。アウトライア率統合部1332Hは、例えば式(4)に示すように、第1~第3アウトライア率L1~L3の重み付き平均をアウトライア率Lとして算出する。
Figure JPOXMLDOC01-appb-M000004
 あるいは、アウトライア率統合部1332Hが、式(5)に示すように、第1~第3アウトライア率L1~L3の最小値をアウトライア率Lとして算出するようにしてもよい。
Figure JPOXMLDOC01-appb-M000005
 アウトライア率統合部1332Hは、決定したアウトライア率Lをアウトライア情報付与部1332Kに出力する。
(アウトライア情報付与部1332K)
 アウトライア情報付与部1332Kは、表示ラベル付きメッシュ情報のうち算出対象ボクセルに対応するメッシュデータにアウトライア率Lを付与する。アウトライア情報付与部1332Kは、メッシュデータにアウトライア率Lを付与することで、アウトライア付きメッシュ情報を生成する。なお、算出対象ボクセルに対応するメッシュデータは、アウトライア率Lの算出対象であるボクセルに保持されたTSDF情報を用いて算出されたメッシュデータである。
 また、ここでは、アウトライア情報付与部1332Kは、TSDF情報から算出されたメッシュデータにアウトライア率Lを付与するとしたが、これに限定されない。アウトライア情報付与部1332KがTSDF情報にアウトライア率Lを付与するようにしてもよい。この場合、アウトライア情報付与部1332Kは、アウトライア率Lの算出対象ボクセルに保持されるTSDF情報にアウトライア率Lを付与することで、アウトライア付きメッシュ情報を生成する。
 アウトライア率統合部1332Hは、生成したアウトライア付きメッシュ情報を表示変更部1333に出力する。
(表示変更部1333)
 図6に戻る。表示変更部1333は、アウトライア付きメッシュ情報に基づき、ユーザUに提示する2次元の表示画像を生成する。
 上述したように、アウトライア付きメッシュ情報には、表示ラベル及びアウトライア率Lの少なくとも一方が含まれる。表示変更部1333は、表示ラベルが付与されたメッシュデータを強調表示する。また、表示変更部1333は、アウトライア率Lが付与されたメッシュデータを、アウトライア率Lに応じて抑制表示する。
 表示変更部1333は、表示ラベルが付与されたメッシュデータのエッジ線を、表示ラベルが付与されていないメッシュデータとは異なる濃淡で表示することで、表示ラベルが付与されたメッシュデータを強調表示する。
 あるいは、表示変更部1333は、表示ラベルが付与されたメッシュデータのフェイス面を、表示ラベルが付与されていないメッシュデータとは異なる色又はハッチングで表示することで、表示ラベルが付与されたメッシュデータを強調表示するようにしてもよい。
 また、表示変更部1333は、アウトライア率Lが付与されたメッシュデータの透過率を、アウトライア率Lの値に応じて変更することで、アウトライア率Lが付与されたメッシュデータを抑制表示する。例えば、表示変更部1333は、メッシュデータのアウトライア率Lを当該メッシュデータの透過率とすることで、メッシュデータの表示を抑制する。
 なお、表示変更部1333は、表示ラベルが付与されたメッシュデータを強調表示した表示画像を生成すればよく、強調表示の方法は上述した例に限定されない。例えば、表示変更部1333が、表示ラベルが付与されたメッシュデータを点滅表示させるなどして強調表示するようにしてもよい。
 また、表示変更部1333は、アウトライア率Lに応じて、メッシュデータがユーザUに視認されにくくすればよく、視認されにくくする、すなわち、表示を抑制する方法は上述した例に限定されない。例えば、表示変更部1333は、アウトライア率Lが所定値以上であるメッシュデータの透過率を100%にしたり、色を背景色と同じにしたりするようにしてもよい。
 表示変更部1333は、生成した表示画像を、通信部110を介して端末装置200に送信する。
<<3.情報処理例>>
<3.1.画像生成処理>
 図16は、本開示の実施形態に係る画像生成処理の流れの一例を示すフローチャートである。図16に示す画像生成処理は、例えば情報処理装置100で所定の周期で実行される。なお、当該所定の周期は、測距装置による測距周期(フレーム周期)と同じであってもよい。
 図16に示すように、情報処理装置100は、3次元情報生成処理を実行する(ステップS101)。情報処理装置100は、3次元情報生成処理として、例えば、端末装置200から取得したIMU情報及びカメラ画像からカメラポーズ及び重力方向を推定する。情報処理装置100は、カメラポーズ、重力方向、及び、端末装置200から取得した距離情報を用いてOccupancy Map及びメッシュ情報を生成する。
 情報処理装置100は、Occupancy Map及びメッシュ情報を用いて障害物分割処理を実行し(ステップS102)、表示ラベル付きメッシュ情報を生成する。障害物分割処理については後述する。
 情報処理装置100は、Occupancy Map及びメッシュ情報を用いて偽障害物判定処理を実行し(ステップS103)、アウトライア付きメッシュ情報を生成する。偽障害物判定処理については後述する。
 情報処理装置100は、アウトライア付きメッシュ情報を用いて表示画像生成処理を実行し(ステップS104)、表示画像を生成する。表示画像生成処理については後述する。
<3.2.障害物分割処理>
 図17は、本開示の実施形態に係る障害物分割処理の流れの一例を示すフローチャートである。図17に示す障害物分割処理は、図16の画像生成処理のステップS102で実行される。
 情報処理装置100は、Occupancy Map及び床面情報を用いて分割対象ボクセルを抽出する(ステップS201)。情報処理装置100は、Occupancy Mapの各ボクセルのうち、状態がOccupiedであるOccupiedボクセルを選択する。情報処理装置100は、床面情報を用いて、選択したOccupiedボクセルのうち、床面であるOccupiedボクセルを除外したOccupiedボクセルを、分割対象ボクセルとして抽出する。
 情報処理装置100は、抽出した分割対象ボクセルをクラスタリングする(ステップS202)。情報処理装置100は、クラスタリングしたボクセルに表示ラベルを付与し(ステップS203)、表示ラベル付きメッシュ情報を生成する(ステップS204)。
<3.3.偽障害物判定処理>
 図18は、本開示の実施形態に係る偽障害物判定処理の流れの一例を示すフローチャートである。図18に示す偽障害物判定処理は、図16の画像生成処理のステップS103で実行される。
 情報処理装置100は、Occupancy MapのボクセルのうちOccupiedボクセルの連結情報を用いて、Occupiedボクセルの要素数をカウントする(ステップS301)。情報処理装置100は、カウントした要素数に応じて第1アウトライア率L1を算出する(ステップS302)。
 情報処理装置100は、Occupancy MapのボクセルのうちOccupiedボクセルの周囲ボクセルを用いて、空間Unknown比率を算出する(ステップS303)。情報処理装置100は、空間Unknown比率に応じて第2アウトライア率L2を算出する(ステップS304)。
 情報処理装置100は、Occupancy Mapの状態の時間変化に応じて時間Unknown比率を算出する(ステップS305)。情報処理装置100は、時間Unknown比率に応じて第3アウトライア率L3を算出する(ステップS306)。
 情報処理装置100は、第1~第3アウトライア率L1~L3に基づき、アウトライア率Lを算出し(ステップS307)、アウトライア付きメッシュ情報を生成する(ステップS308)。
<3.4.表示画像生成処理>
 図19は、本開示の実施形態に係る表示画像生成処理の流れの一例を示すフローチャートである。図19に示す表示画像生成処理は、図16の画像生成処理のステップS104で実行される。
 図19に示すように、情報処理装置100は、アウトライア付きメッシュ情報の表示ラベルに基づき、障害物Obを強調表示する(ステップS401)。情報処理装置100は、例えば、表示ラベルが付与されたメッシュデータを強調表示することで、障害物Obを強調表示する。
 情報処理装置100は、アウトライア付きメッシュ情報のアウトライア率Lに基づき、偽障害物を抑制表示する(ステップS402)。情報処理装置100は、例えば、アウトライア率Lを透過率とする。情報処理装置100は、透過率が1に近づくほどボクセル内のメッシュを表示しないように、偽障害物のメッシュ表示時の透明度を変更する。
 情報処理装置100は、障害物の強調表示及び偽障害物の表示を抑制することで、表示画像を生成する(ステップS403)。
 以上のように、本開示の実施形態に係る情報処理装置100は、Occupancy Mapのボクセルをクラスタリングすることで、メッシュ情報のメッシュデータを障害物に分割することができる。この場合、情報処理装置100は、大規模な認識器を使用する必要がないため、リソースの増加を抑制しつつ高速に障害物を検出することができる。
 また、情報処理装置100は、Occupancy Mapの未観測状態(Unknown)のボクセルを用いて、信頼性の低い、換言すると偽障害物の可能性が高いメッシュの表示を抑制することができる。特に、情報処理装置100は、クラスタリングしたボクセルの大きさや、空間統計量(空間Unknown比率)、時間統計量(時間Unknown比率)を用いてメッシュの表示を抑制する。これにより、情報処理装置100は、より信頼性の高い、換言すると偽障害物の少ない表示画像を生成することができる。
 例えば、測距装置260の測距方法によって誤差(ノイズ)が発生しやすい物体がある。例えば、ステレオカメラで距離を測定する測距装置の場合、テクスチャレス表面でノイズが発生しやすい。このように、特定の物体でノイズが発生する場合でも、情報処理装置100は、より精度の高いメッシュ情報を生成することができる。
 上述したように、情報処理装置100は、低リソース及び高速で障害物の検出及び偽障害物の判定を行うことができる。そのため、情報処理装置100は、リアルタイムで表示画像をユーザUに提示するHMDシステムにおいても、偽障害物の表示を抑制しつつ、障害物を強調表示する表示画像をユーザUに提示することができる。
 このように、情報処理装置100は、低リソース及び高速で、偽障害物の表示を抑制しつつ、障害物を強調表示する表示画像をユーザUに提示することができるため、ユーザUは、より安全にコンテンツを楽しむことができる。
<<4.変形例>>
 上述した実施形態では、情報処理装置100が、所定条件としてOccupiedボクセルの3×3×3の、換言すると立方体形状の周囲ボクセルを用いて、空間Unknown比率を算出するとしたが、これに限定されない。情報処理装置100が1×1×m(mは、3以上の整数)の、換言すると直方体形状の周囲ボクセルを用いて、空間Unknown比率を算出してもよい。
 例えば、情報処理装置100は、Occupiedボクセルの周囲のうち、重力方向のボクセルを周囲ボクセルとして、当該周囲ボクセルの状態に応じて空間Unknown比率を算出する。
 図20は、本開示の実施形態の変形例に係る実空間の一例を説明するための図である。図20に示すように、実空間が屋内、すなわち床と壁とに囲まれた空間であるとする。
 この場合、実空間をOccupancy Mapとして表現すると、壁、床及び物体(障害物)が配置されるボクセル(空間)がOccpideボクセルとなる。また、測距装置260の測距範囲のうちOccupiedボクセルを除いたボクセル(空間)がFreeボクセルとなる。また、測距装置260の測距範囲外は、Unknownボクセルとなる。さらに、物体の影となり測距装置260が測距できないボクセル(空間)は、Unknownボクセルとなる。
 このとき、図20に示すように、壁の向こう側や床面下の領域は、壁や床に遮られ測距装置260が測距できない領域となるため、当該領域のボクセルはUnknownボクセルとなる。しかしながら、ノイズ等により、壁の向こう側にOccupiedボクセルBが観測される場合がある。
 この場合に、3×3×3の立方体を周囲ボクセルとして、情報処理装置100が空間Unknown比率を算出すると、周囲ボクセルに壁、すなわちOccupiedボクセルが含まれるため、空間Unknown比率が低下してしまう。これにより、情報処理装置100が、OccupiedボクセルBの表示を抑制できず、表示画像に表示されてしまう恐れがある。
 一方、壁の向こう側においては、実際は障害物が存在しないため、ノイズ起因のOccupiedボクセル又はFreeボクセル以外は、Unknownボクセルとなる。そのため、壁の向こう側において、z軸方向(重力方向)のボクセル(図20の領域R1のボクセル)は、Unknownボクセルである確率が高い。換言すると、z軸方向の周囲ボクセルR1の空間Unknown比率が高いと、OccupiedボクセルBは壁の奥に存在する偽障害物である可能性が高い。
 そこで、本変形例では、情報処理装置100は、OccupiedボクセルBのz軸方向の周囲ボクセルR1において空間Unknown比率を算出する。情報処理装置100は、空間Unknown比率に応じて第2アウトライア率L2を決定し、OccupiedボクセルBの表示を抑制する。
 このように、本変形例では、情報処理装置100がz軸方向の周囲ボクセルR1の空間Unknown比率を算出することで、壁より向こう側(壁奥)の偽障害物をより高精度に判定することができ、偽障害物の表示をより高精度に抑制することができる。
 このように、周囲ボクセルの個数や形状は、立方体や重力方向に限定されず、実空間上のOccupiedボクセルBの位置等に応じて任意に設定され得る。
<<5.その他の実施形態>>
 上述の実施形態及び各変形例は一例を示したものであり、種々の変更及び応用が可能である。
 例えば、本実施形態の情報処理装置100の一部の機能を端末装置200が実現するようにしてもよい。例えば、端末装置200が、アウトライア付きメッシュ情報を生成するようにしてもよい。
 上述の実施形態では、情報処理装置100が、プレイエリアPA内に存在する障害物Obを強調表示するとしたが、これに限定されない。情報処理装置100が、プレイエリアPA外に存在する障害物Obを分割(分類)し、強調表示するようにしてもよい。
 上述の実施形態では、情報処理装置100又はユーザUが、ユーザUのプレイエリアPAを設定するとしたが、これに限定されない。例えば、情報処理装置100が、車両やドローン等の移動物体が安全に移動できる範囲をプレイエリアとして設定するようにしてもよい。あるいは、情報処理装置100が、例えばロボットアームのように一部が固定された物体が安全に駆動できる範囲をプレイエリアとして設定するようにしてもよい。このように、情報処理装置100がプレイエリアを設定する対象物体はユーザUに限定されない。
 例えば、上述の動作を実行するための通信プログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布する。そして、例えば、該プログラムをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成する。このとき、制御装置は、情報処理装置100、端末装置200の外部の装置(例えば、パーソナルコンピュータ)であってもよい。また、制御装置は、情報処理装置100、端末装置200の内部の装置(例えば、制御部130、250)であってもよい。
 また、上記通信プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
 また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。なお、この分散・統合による構成は動的に行われてもよい。
 また、上述の実施形態は、処理内容を矛盾させない領域で適宜組み合わせることが可能である。また、上述の実施形態のシーケンス図に示された各ステップは、適宜順序を変更することが可能である。
 また、例えば、本実施形態は、装置又はシステムを構成するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
 なお、本実施形態において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、例えば、本実施形態は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
<<6.ハードウェア構成>>
 上述してきた各実施形態に係る情報処理装置100等の情報処理装置は、例えば図21に示すような構成のコンピュータ1000によって実現される。以下、本開示の実施形態に係る情報処理装置100を例に挙げて説明する。図21は、本開示の実施形態に係る情報処理装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び、入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
 CPU1100は、ROM1300又はHDD1400に保存されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に保存されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
 ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を保存する。
 HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る医療用アーム制御方法のためのプログラムを記録する記録媒体である。
 通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
 入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、コンピュータ読み取り可能な所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
 例えば、コンピュータ1000が本開示の実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130等の機能を実現する。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置から情報処理プログラムを取得してもよい。
 また、本実施形態に係る情報処理装置100は、例えばクラウドコンピューティング等のように、ネットワークへの接続(または各装置間の通信)を前提とした、複数の装置からなるシステムに適用されてもよい。つまり、上述した本実施形態に係る情報処理装置100は、例えば、複数の装置により本実施形態に係る情報処理システム1として実現することも可能である。
 以上、情報処理装置100のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更され得る。
<<7.むすび>>
 以上、本開示の実施形態について説明したが、本開示の技術的範囲は、上述の各実施形態そのままに限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、異なる実施形態及び変形例にわたる構成要素を適宜組み合わせてもよい。
 また、本明細書に記載された各実施形態における効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
 なお、本技術は以下のような構成も取ることができる。
(1)
 実空間における物体の占有確率に関する第1の3次元情報、及び、前記物体の表面形状の推定結果に関する第2の3次元情報を取得し、
 前記第1の3次元情報、及び、前記実空間の床面に関する床面情報に基づき、前記物体を分類し、
 前記第2の3次元情報に基づいて分類した前記物体の表面を強調表示する、制御部
 を備える情報処理装置。
(2)
 前記制御部は、
 前記第1の3次元情報、及び、前記床面情報に基づき、前記物体のアウトライア率を所定条件に応じて決定し、
 前記アウトライア率に応じて前記物体の表示を変更する、
 (1)に記載の情報処理装置。
(3)
 前記制御部は、前記所定条件として、前記物体の大きさに応じて前記アウトライア率を決定する、(2)に記載の情報処理装置。
(4)
 前記制御部は、前記所定条件として、前記物体の周囲のボクセルのうち未観測状態である前記ボクセルの比率に応じて前記アウトライア率を決定する、(2)又は(3)に記載の情報処理装置。
(5)
 前記制御部は、前記物体の前記周囲のうち前記実空間の重力方向の前記ボクセルの状態に応じて前記アウトライア率を決定する、(4)に記載の情報処理装置。
(6)
 前記制御部は、前記所定条件として、前記第1の3次元情報の状態の時間変化に応じて前記アウトライア率を決定する、(2)~(5)のいずれか1つに記載の情報処理装置。
(7)
 前記第1の3次元情報は、測距装置によって測距された距離情報に基づいて更新され、
 前記制御部は、前記測距装置の測距範囲に基づき、前記状態が変化したか否かを判定する、
 (6)に記載の情報処理装置。
(8)
 前記制御部は、前記物体の前記床面からの高さに応じて前記アウトライア率を決定する、(2)~(7)のいずれか1つに記載の情報処理装置。
(9)
 前記第1の3次元情報は、占有格子地図である、(1)~(8)のいずれか1つに記載の情報処理装置。
(10)
 前記第2の3次元情報は、複数の頂点と、当該複数の頂点間を結ぶ辺と、により面を規定するメッシュデータを含む、(1)~(9)のいずれか1つに記載の情報処理装置。
(11)
 前記制御部は、前記実空間を移動する対象物の移動範囲内に存在する前記物体の前記表面を強調表示する、(1)~(10)のいずれか1つに記載の情報処理装置。
(12)
 実空間における物体の占有確率に関する第1の3次元情報、及び、前記物体の表面形状の推定結果に関する第2の3次元情報を取得することと、
 前記第1の3次元情報、及び、前記実空間の床面に関する床面情報に基づき、前記物体を分類することと、
 前記第2の3次元情報に基づいて分類した前記物体の表面を強調表示することと、
 を含む情報処理方法。
(13)
 コンピュータに、
 実空間における物体の占有確率に関する第1の3次元情報、及び、前記物体の表面形状の推定結果に関する第2の3次元情報を取得し、
 前記第1の3次元情報、及び、前記実空間の床面に関する床面情報に基づき、前記物体を分類し、
 前記第2の3次元情報に基づいて分類した前記物体の表面を強調表示する、制御部
 として機能させるプログラム。
 1 情報処理システム
 100 情報処理装置
 110,210 通信部
 120 記憶部
 130,250 制御部
 131 推定部
 132 統合処理部
 133 表示制御部
 200 端末装置
 220 センサ部
 230 表示部
 230 当該表示部
 240 入力部
 260 測距装置

Claims (13)

  1.  実空間における物体の占有確率に関する第1の3次元情報、及び、前記物体の表面形状の推定結果に関する第2の3次元情報を取得し、
     前記第1の3次元情報、及び、前記実空間の床面に関する床面情報に基づき、前記物体を分類し、
     前記第2の3次元情報に基づいて分類した前記物体の表面を強調表示する、制御部
     を備える情報処理装置。
  2.  前記制御部は、
     前記第1の3次元情報、及び、前記床面情報に基づき、前記物体のアウトライア率を所定条件に応じて決定し、
     前記アウトライア率に応じて前記物体の表示を変更する、
     請求項1に記載の情報処理装置。
  3.  前記制御部は、前記所定条件として、前記物体の大きさに応じて前記アウトライア率を決定する、請求項2に記載の情報処理装置。
  4.  前記制御部は、前記所定条件として、前記物体の周囲のボクセルのうち未観測状態である前記ボクセルの比率に応じて前記アウトライア率を決定する、請求項2に記載の情報処理装置。
  5.  前記制御部は、前記物体の前記周囲のうち前記実空間の重力方向の前記ボクセルの状態に応じて前記アウトライア率を決定する、請求項4に記載の情報処理装置。
  6.  前記制御部は、前記所定条件として、前記第1の3次元情報の状態の時間変化に応じて前記アウトライア率を決定する、請求項2に記載の情報処理装置。
  7.  前記第1の3次元情報は、測距装置によって測距された距離情報に基づいて更新され、
     前記制御部は、前記測距装置の測距範囲に基づき、前記状態が変化したか否かを判定する、
     請求項6に記載の情報処理装置。
  8.  前記制御部は、前記物体の前記床面からの高さに応じて前記アウトライア率を決定する、請求項2に記載の情報処理装置。
  9.  前記第1の3次元情報は、占有格子地図である、請求項1に記載の情報処理装置。
  10.  前記第2の3次元情報は、複数の頂点と、当該複数の頂点間を結ぶ辺と、により面を規定するメッシュデータを含む、請求項1に記載の情報処理装置。
  11.  前記制御部は、前記実空間を移動する対象物の移動範囲内に存在する前記物体の前記表面を強調表示する、請求項1に記載の情報処理装置。
  12.  実空間における物体の占有確率に関する第1の3次元情報、及び、前記物体の表面形状の推定結果に関する第2の3次元情報を取得することと、
     前記第1の3次元情報、及び、前記実空間の床面に関する床面情報に基づき、前記物体を分類することと、
     前記第2の3次元情報に基づいて分類した前記物体の表面を強調表示することと、
     を含む情報処理方法。
  13.  コンピュータに、
     実空間における物体の占有確率に関する第1の3次元情報、及び、前記物体の表面形状の推定結果に関する第2の3次元情報を取得し、
     前記第1の3次元情報、及び、前記実空間の床面に関する床面情報に基づき、前記物体を分類し、
     前記第2の3次元情報に基づいて分類した前記物体の表面を強調表示する、制御部
     として機能させるプログラム。
PCT/JP2022/013008 2021-08-31 2022-03-22 情報処理装置、情報処理方法及びプログラム WO2023032316A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202280057138.8A CN117836814A (zh) 2021-08-31 2022-03-22 信息处理设备、信息处理方法和程序
JP2023545059A JPWO2023032316A1 (ja) 2021-08-31 2022-03-22

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021141071 2021-08-31
JP2021-141071 2021-08-31

Publications (1)

Publication Number Publication Date
WO2023032316A1 true WO2023032316A1 (ja) 2023-03-09

Family

ID=85411668

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/013008 WO2023032316A1 (ja) 2021-08-31 2022-03-22 情報処理装置、情報処理方法及びプログラム

Country Status (3)

Country Link
JP (1) JPWO2023032316A1 (ja)
CN (1) CN117836814A (ja)
WO (1) WO2023032316A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033819A (ja) 2006-07-31 2008-02-14 Omron Corp 物体認識装置、監視システム、物体認識方法、物体認識プログラム、および該プログラムを記録した記録媒体
WO2017126433A1 (ja) * 2016-01-20 2017-07-27 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびユーザガイド提示方法
WO2017191702A1 (ja) * 2016-05-02 2017-11-09 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置
JP2020087339A (ja) * 2018-11-30 2020-06-04 株式会社豊田中央研究所 リスク推定装置及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033819A (ja) 2006-07-31 2008-02-14 Omron Corp 物体認識装置、監視システム、物体認識方法、物体認識プログラム、および該プログラムを記録した記録媒体
WO2017126433A1 (ja) * 2016-01-20 2017-07-27 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびユーザガイド提示方法
WO2017191702A1 (ja) * 2016-05-02 2017-11-09 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置
JP2020087339A (ja) * 2018-11-30 2020-06-04 株式会社豊田中央研究所 リスク推定装置及びプログラム

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
ANGELA DAI ET AL.: "ScanComplete: Large-Scale Scene Completion and Semantic Segmentation for 3D Scans", CVPR, 2018
ARMIN HORNUNG ET AL.: "OctoMap: An efficient probabilistic 3D mapping framework based on octrees.", AUTONOMOUS ROBOTS, vol. 34, no. 3, 2013, pages 189 - 206, XP055147395, DOI: 10.1007/s10514-012-9321-0
B. CURLESSM. LEVOY: "A volumetric method for building complex models from range images", IN PROCEEDINGS OF THE 23RD ANNUAL CONFERENCE ON COMPUTER GRAPHICS AND INTERACTIVE TECHNIQUES, SIGGRAPH '96, 1996, pages 303 - 312
KESHENG WU ET AL.: "Mathematics, Computer Science", 2005, LAWRENCE BERKELEY NATIONAL LABORATORY, article "Two Strategies to Speed up Connected Component Labeling Algorithms"
MARGARITA GRINVALD ET AL.: "Volumetric Instance-Aware Semantic Mapping and 3D Object Discovery", IROS, 2019
RAUL MUR-ARTAL ET AL.: "ORB-SLAM: A Versatile and Accurate Monocular SLAM System", IEEE TRANSACTIONS ON ROBOTICS, vol. 31, no. 5, October 2015 (2015-10-01), pages 1147 - 1163, XP011670910, DOI: 10.1109/TRO.2015.2463671
RUWEN SCHNABEL ET AL.: "Computer graphics forum", vol. 26, 2007, UK: BLACKWELL PUBLISHING LTD, article "Efficient RANSAC for point-cloud shape detection."
S. FLEISHMAN ET AL.: "Bilateral mesh denoising", SIGGRAPH, 2003
WILLIAM E. LORENSENHARVEY E. CLINE: "Marching Cubes: A high resolution 3D surface construction algorithm", COMPUTER GRAPHICS, vol. 21, no. 4, July 1987 (1987-07-01), XP001377038
XIANZHI LI ET AL.: "DNF-Net: a Deep Normal Filtering Network for Mesh Denoising", IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS (TVCG, 2020

Also Published As

Publication number Publication date
CN117836814A (zh) 2024-04-05
JPWO2023032316A1 (ja) 2023-03-09

Similar Documents

Publication Publication Date Title
US11580705B2 (en) Viewpoint dependent brick selection for fast volumetric reconstruction
US11238659B2 (en) Caching and updating of dense 3D reconstruction data
US11302081B2 (en) Caching and updating of dense 3D reconstruction data
US20230147759A1 (en) Viewpoint dependent brick selection for fast volumetric reconstruction
US11423602B2 (en) Fast 3D reconstruction with depth information
JP2022529367A (ja) 姿勢付き単眼ビデオからの周囲推定
US11238651B2 (en) Fast hand meshing for dynamic occlusion
WO2023032316A1 (ja) 情報処理装置、情報処理方法及びプログラム
WO2023032321A1 (ja) 情報処理装置、情報処理方法及びプログラム
CN114332448A (zh) 基于稀疏点云的平面拓展方法及其***和电子设备

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023545059

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 202280057138.8

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2022863906

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022863906

Country of ref document: EP

Effective date: 20240402