WO2023032316A1 - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 164
- 238000003672 processing method Methods 0.000 title claims description 4
- 230000008859 change Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 description 73
- 238000000034 method Methods 0.000 description 52
- 238000004364 calculation method Methods 0.000 description 50
- 238000010586 diagram Methods 0.000 description 33
- 230000010354 integration Effects 0.000 description 27
- 230000008569 process Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 17
- 230000007704 transition Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000005259 measurement Methods 0.000 description 11
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 230000005484 gravity Effects 0.000 description 8
- 230000001629 suppression Effects 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 8
- 238000003860 storage Methods 0.000 description 7
- 238000002834 transmittance Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 239000011521 glass Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002146 bilateral effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 240000001973 Ficus microcarpa Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000012780 transparent material Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 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
Description
[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は、情報処理装置100と、端末装置200と、を備える。
<1.2.1.障害物表示処理の概要>
ここで、上述したように、ユーザUがHMD等を装着して移動すると、現実の物体にぶつかる可能性がある。
障害物を強調表示する一方で、ノイズ等の影響で障害物の存在しない空間に障害物があるものとして表示画像が生成される場合がある。このように誤って検出される障害物を、以下では偽障害物とも記載する。
<2.1.端末装置の構成例>
図5は、本開示の第1実施形態に係る端末装置200の構成例を示すブロック図である。図5に示すように、端末装置200は、通信部210と、センサ部220と、表示部230と、入力部240と、制御部250と、を含む。
通信部210は、他の装置との間で情報の送受信を行う。例えば、通信部210は、制御部250の制御に従って、映像の再生要求やセンサ部220のセンシング結果を情報処理装置100へ送信する。また、通信部210は、再生対象の映像を情報処理装置100から受信する。
センサ部220は、例えば、カメラ(イメージセンサ)、デプスセンサ、マイクロフォン、加速度センサ、ジャイロスコープ、地磁気センサ、GPS(Global Positioning System)受信機などを含み得る。また、センサ部220は、速度センサ、加速度センサ、角速度センサ(ジャイロセンサ)、及び、それらを統合した慣性計測装置(IMU:Inertial Measurement Unit)を含み得る。
表示部230は、制御部250の制御に従って、映像を表示する。例えば、表示部230は、右目用表示部及び左目用表示部(図示省略)を有し得る。この場合、右目用表示部は、端末装置200に含まれる右目用レンズ(図示省略)の少なくとも一部の領域を投影面として映像を投影する。左目用表示部は、端末装置200に含まれる左目用レンズ(図示省略)の少なくとも一部の領域を投影面として映像を投影する。
入力部240は、タッチパネル、ボタン、レバー、スイッチなどを含み得る。入力部240は、ユーザUの各種の入力を受け付ける。例えば、仮想空間内にAIキャラクターが配置される場合、入力部240は、当該AIキャラクターの配置位置等を変更させるためのユーザUの入力を受け付け得る。
制御部250は、端末装置200に内蔵される例えばCPU、GPU(Graphics Processing Unit)及びRAMなどを用いて、端末装置200の動作を統括的に制御する。例えば、制御部250は、情報処理装置100から受信される映像を表示部230に表示させる。
図6は、本開示の第1実施形態に係る情報処理装置100の構成例を示すブロック図である。図6に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130と、を含む。
通信部110は、他の装置との間で情報の送受信を行う。例えば、通信部110は、制御部130の制御に従って、再生対象の映像を情報処理装置100へ送信する。また、通信部110は、映像の再生要求やセンシング結果を端末装置200から受信する。
記憶部120は、たとえば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
制御部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は何れもコントローラとみなすことができる。
推定部131は、端末装置200のセンサ部220が取得したセンシング結果に基づき、端末装置200の姿勢(ポーズ)を推定する。例えば、推定部131は、センサ部220の一例であるIMUの測定結果(例えば、加速度及び角速度。以下、IMU情報とも記載する)、及び、カメラの撮影結果(以下、カメラ画像とも記載する)を取得する。推定部131は、例えば、参考文献[5]に代表される自己位置推定(SLAM:Simultaneous Localization And Mapping)を用いてカメラポーズを推定する。
統合処理部132は、センサ部220の一例である測距装置の測距結果である距離情報(以下、デプス情報とも記載する)、及び、推定部131が推定したカメラポーズに基づき、第1及び第2の3次元情報を生成する。
統合処理部132は、例えば図7に示す各ボクセルに例えば物体表面からの距離情報を保持する。当該距離情報は、例えばTSDF(Truncated Signed Distance Field)と呼ばれる。TSDFは、例えば参考文献[6]等に開示されている公知の技術である。統合処理部132は、当該TSDFを、距離情報に基づいて時間方向に更新する。
統合処理部132は、例えば図7に示す各ボクセルに例えば物体の占有確率を保持するOccupancy Mapを生成する。Occupancy Mapは、例えば参考文献[8]に記載される3次元空間情報である。
・Occupied:ボクセルが物体によって占有されていることを示す(占有状態)。
・Free:ボクセルが物体に占有されておらず、空の空間であることを示す(非占有状態)。
・Unknown:観測不足のため、ボクセルが物体に占有されているかいないかを判断できないことを示す(未観測状態)。
図6に戻る。統合処理部132は、実空間の3次元情報から床面情報を生成する。統合処理部132は、例えば3次元情報に対してRANSACで最大平面を計算することで、床平面を検出する。なお、RANSACによる最大平面の計算は、例えば参考文献[9]に記載の技術等を用いて実行し得る。なお、3次元情報として、例えば、上述したOccupancy Mapやメッシュ情報、あるいは、距離情報から求めた3次元点群などが挙げられる。
表示制御部133は、端末装置200で再生する映像(表示画像)を生成する。例えば、表示制御部133は、メッシュ情報を用いてユーザU周囲の映像を生成する。このとき、表示制御部133は、例えばプレイエリアPA内にある障害物を強調表示して表示画像を生成する。また、表示制御部133は、偽障害物の表示を抑制して表示画像を生成する。
障害物検出部1331は、床面情報及びOccupancy Mapを使用して実空間に存在する障害物を分割することで、障害物を検出する。障害物検出部1331は、検出した障害物に対応する表示情報(表示ラベル)をメッシュ情報に付加することで、表示ラベル付きメッシュ情報を生成する。
ボクセル抽出部1331Aは、床面情報及びOccupancy Mapを用いて、障害物となり得るボクセルを抽出する。
クラスタリング処理部1331Bは、分割対象ボクセルの連結情報に基づき、分割対象ボクセルをクラスタリングする。クラスタリング処理部1331Bは、例えば、参考文献[10]に記載の技術を使用して、分割対象ボクセルを連結したボクセル群に分類する。
表示情報付与部1331Cは、メッシュ情報のうち、障害物ラベルCLが付与されたボクセルに対応するメッシュデータに表示ラベルを付与する。表示情報付与部1331Cは、メッシュデータに表示ラベルを付与することで、表示ラベル付きメッシュ情報を生成する。なお、障害物ラベルCLが付与されたボクセルに対応するメッシュデータは、当該ボクセルに保持されたTSDF情報から算出されたメッシュデータである。また、表示ラベルは、後段の処理で表示を変更するために使用される表示情報である。
図8に戻る。偽障害物判定部1332は、床面情報、Occupancy Map、及び、障害物情報に基づき、実空間で障害物とされる物体がノイズ等の偽障害物であるか否かを判定する。偽障害物判定部1332は、各障害物のアウトライア率を決定することで、当該障害物が偽障害物であるか否かを判定する。例えば、偽障害物判定部1332は、所定条件に応じて、状態がOccupiedであるボクセルのアウトライア率を決定する。
要素数算出部1332Aは、Occupancy MapのボクセルのうちOccupiedボクセルの連結情報を用いて、Occupiedボクセルの連なりの数(要素数)を算出する。すなわち、要素数算出部1332Aは、実空間内で障害物(Occupied)として検出された物体の大きさを算出する。
空間統計量算出部1332Bは、物体(例えば、Occupiedボクセル)の周囲のボクセルのうち、状態がUnknownであるボクセルの比率(以下、空間Unknown比率とも記載する)を算出する。
時間統計量算出部1332Cは、Occupancy Mapの状態の時間変化の比率を時間Unknown比率として算出する。
図12に戻る。アウトライア判定部1332Dは、要素数算出部1332A、空間統計量算出部1332B及び時間統計量算出部1332Cの算出結果に基づき、各ボクセルのアウトライア率を算出する。
アウトライア率L1算出部1332Eは、Occupiedボクセルのうち、第1アウトライア率L1の算出対象である算出対象ボクセルが含まれる障害物の要素数に応じて、第1アウトライア率L1を決定する。アウトライア率L1算出部1332Eは、以下の式(1)に基づき、第1アウトライア率L1を算出する。
アウトライア率L2算出部1332Fは、Occupiedボクセルのうちの空間Unknown比率に応じて、第2アウトライア率L2を決定する。アウトライア率L2算出部1332Fは、以下の式(2)に基づき、第2アウトライア率L2を算出する。
アウトライア率L3算出部1332Gは、Occupiedボクセルのうちの時間Unknown比率に応じて、第3アウトライア率L3を決定する。アウトライア率L3算出部1332Gは、以下の式(3)に基づき、第3アウトライア率L3を算出する。
アウトライア率統合部1332Hは、第1~第3アウトライア率L1~L3を統合し、各ボクセルのアウトライア率Lを決定する。アウトライア率統合部1332Hは、例えば式(4)に示すように、第1~第3アウトライア率L1~L3の重み付き平均をアウトライア率Lとして算出する。
アウトライア情報付与部1332Kは、表示ラベル付きメッシュ情報のうち算出対象ボクセルに対応するメッシュデータにアウトライア率Lを付与する。アウトライア情報付与部1332Kは、メッシュデータにアウトライア率Lを付与することで、アウトライア付きメッシュ情報を生成する。なお、算出対象ボクセルに対応するメッシュデータは、アウトライア率Lの算出対象であるボクセルに保持されたTSDF情報を用いて算出されたメッシュデータである。
図6に戻る。表示変更部1333は、アウトライア付きメッシュ情報に基づき、ユーザUに提示する2次元の表示画像を生成する。
<3.1.画像生成処理>
図16は、本開示の実施形態に係る画像生成処理の流れの一例を示すフローチャートである。図16に示す画像生成処理は、例えば情報処理装置100で所定の周期で実行される。なお、当該所定の周期は、測距装置による測距周期(フレーム周期)と同じであってもよい。
図17は、本開示の実施形態に係る障害物分割処理の流れの一例を示すフローチャートである。図17に示す障害物分割処理は、図16の画像生成処理のステップS102で実行される。
図18は、本開示の実施形態に係る偽障害物判定処理の流れの一例を示すフローチャートである。図18に示す偽障害物判定処理は、図16の画像生成処理のステップS103で実行される。
図19は、本開示の実施形態に係る表示画像生成処理の流れの一例を示すフローチャートである。図19に示す表示画像生成処理は、図16の画像生成処理のステップS104で実行される。
上述した実施形態では、情報処理装置100が、所定条件としてOccupiedボクセルの3×3×3の、換言すると立方体形状の周囲ボクセルを用いて、空間Unknown比率を算出するとしたが、これに限定されない。情報処理装置100が1×1×m(mは、3以上の整数)の、換言すると直方体形状の周囲ボクセルを用いて、空間Unknown比率を算出してもよい。
上述の実施形態及び各変形例は一例を示したものであり、種々の変更及び応用が可能である。
上述してきた各実施形態に係る情報処理装置100等の情報処理装置は、例えば図21に示すような構成のコンピュータ1000によって実現される。以下、本開示の実施形態に係る情報処理装置100を例に挙げて説明する。図21は、本開示の実施形態に係る情報処理装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び、入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
以上、本開示の実施形態について説明したが、本開示の技術的範囲は、上述の各実施形態そのままに限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、異なる実施形態及び変形例にわたる構成要素を適宜組み合わせてもよい。
(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次元情報に基づいて分類した前記物体の表面を強調表示する、制御部
として機能させるプログラム。
100 情報処理装置
110,210 通信部
120 記憶部
130,250 制御部
131 推定部
132 統合処理部
133 表示制御部
200 端末装置
220 センサ部
230 表示部
230 当該表示部
240 入力部
260 測距装置
Claims (13)
- 実空間における物体の占有確率に関する第1の3次元情報、及び、前記物体の表面形状の推定結果に関する第2の3次元情報を取得し、
前記第1の3次元情報、及び、前記実空間の床面に関する床面情報に基づき、前記物体を分類し、
前記第2の3次元情報に基づいて分類した前記物体の表面を強調表示する、制御部
を備える情報処理装置。 - 前記制御部は、
前記第1の3次元情報、及び、前記床面情報に基づき、前記物体のアウトライア率を所定条件に応じて決定し、
前記アウトライア率に応じて前記物体の表示を変更する、
請求項1に記載の情報処理装置。 - 前記制御部は、前記所定条件として、前記物体の大きさに応じて前記アウトライア率を決定する、請求項2に記載の情報処理装置。
- 前記制御部は、前記所定条件として、前記物体の周囲のボクセルのうち未観測状態である前記ボクセルの比率に応じて前記アウトライア率を決定する、請求項2に記載の情報処理装置。
- 前記制御部は、前記物体の前記周囲のうち前記実空間の重力方向の前記ボクセルの状態に応じて前記アウトライア率を決定する、請求項4に記載の情報処理装置。
- 前記制御部は、前記所定条件として、前記第1の3次元情報の状態の時間変化に応じて前記アウトライア率を決定する、請求項2に記載の情報処理装置。
- 前記第1の3次元情報は、測距装置によって測距された距離情報に基づいて更新され、
前記制御部は、前記測距装置の測距範囲に基づき、前記状態が変化したか否かを判定する、
請求項6に記載の情報処理装置。 - 前記制御部は、前記物体の前記床面からの高さに応じて前記アウトライア率を決定する、請求項2に記載の情報処理装置。
- 前記第1の3次元情報は、占有格子地図である、請求項1に記載の情報処理装置。
- 前記第2の3次元情報は、複数の頂点と、当該複数の頂点間を結ぶ辺と、により面を規定するメッシュデータを含む、請求項1に記載の情報処理装置。
- 前記制御部は、前記実空間を移動する対象物の移動範囲内に存在する前記物体の前記表面を強調表示する、請求項1に記載の情報処理装置。
- 実空間における物体の占有確率に関する第1の3次元情報、及び、前記物体の表面形状の推定結果に関する第2の3次元情報を取得することと、
前記第1の3次元情報、及び、前記実空間の床面に関する床面情報に基づき、前記物体を分類することと、
前記第2の3次元情報に基づいて分類した前記物体の表面を強調表示することと、
を含む情報処理方法。 - コンピュータに、
実空間における物体の占有確率に関する第1の3次元情報、及び、前記物体の表面形状の推定結果に関する第2の3次元情報を取得し、
前記第1の3次元情報、及び、前記実空間の床面に関する床面情報に基づき、前記物体を分類し、
前記第2の3次元情報に基づいて分類した前記物体の表面を強調表示する、制御部
として機能させるプログラム。
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)
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 | 株式会社豊田中央研究所 | リスク推定装置及びプログラム |
-
2022
- 2022-03-22 CN CN202280057138.8A patent/CN117836814A/zh active Pending
- 2022-03-22 WO PCT/JP2022/013008 patent/WO2023032316A1/ja active Application Filing
- 2022-03-22 JP JP2023545059A patent/JPWO2023032316A1/ja active Pending
Patent Citations (4)
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)
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 |