WO2022240250A1 - Method and system for semantic segmentation using three-dimensional map information - Google Patents

Method and system for semantic segmentation using three-dimensional map information Download PDF

Info

Publication number
WO2022240250A1
WO2022240250A1 PCT/KR2022/006916 KR2022006916W WO2022240250A1 WO 2022240250 A1 WO2022240250 A1 WO 2022240250A1 KR 2022006916 W KR2022006916 W KR 2022006916W WO 2022240250 A1 WO2022240250 A1 WO 2022240250A1
Authority
WO
WIPO (PCT)
Prior art keywords
bird
eye view
information
images
semantic segmentation
Prior art date
Application number
PCT/KR2022/006916
Other languages
French (fr)
Korean (ko)
Inventor
양은성
조은기
김병수
하인용
Original Assignee
(주)로보티즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)로보티즈 filed Critical (주)로보티즈
Publication of WO2022240250A1 publication Critical patent/WO2022240250A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items

Definitions

  • the present disclosure relates to a semantic segmentation method and system using 3D map information, and more specifically, to a semantic segmentation method and system for extracting semantic information using a 3D image.
  • the computing device may perform semantic segmentation by classifying objects such as people, buildings, sky, and roads in the photographed image.
  • semantic segmentation information of a previous captured image cannot be used in a next captured image even in successive captured images, it is difficult to reuse the information.
  • the present disclosure provides a semantic segmentation method using 3D map information, a computer program and a system (apparatus) stored in a recording medium to solve the above problems.
  • the present disclosure provides a method for learning a semantic segmentation model to solve the above problems, a computer program stored in a recording medium, and a system (device).
  • the present disclosure may be implemented in a variety of ways, including a method, apparatus (system) or computer program stored on a readable storage medium.
  • a semantic segmentation method using 3D map information includes receiving depth information and color information at a specific point in time, the received depth information and color information.
  • Generating 3D map information using -The 3D map information includes a plurality of voxels classified based on X-axis values, Y-axis values, and Z-axis values-, using the generated 3D map information Generating a 2D bird's eye view image and extracting semantic information included in the generated 2D bird's eye view image using a semantic segmentation model.
  • generating a 2D bird's eye view image may include determining a width and a height in the 2D bird's eye view image and 3D map information in a 2D area defined by the determined width and height. and generating a two-dimensional bird's eye view image by projecting.
  • each of a plurality of voxels includes a color value and information about occupancy.
  • the step of generating a 2D bird's eye view image by projecting the 3D map information onto a 2D area defined by the determined width and height includes grouping a plurality of voxels into a plurality of sub-voxel sets based on the 3D map information -
  • Each of the plurality of sub-voxel sets includes voxels having the same X-axis value and a different Y-axis value and different Z-axis values -, in order of Z-axis values from high to low in each of the plurality of grouped sub-voxel sets Searching for each voxel and determining whether the searched voxel is occupied or not, and projecting color information of the searched voxel onto a 2D area when the occupied voxel is found.
  • the method further includes projecting an initial value associated with a color onto a 2D area.
  • receiving additional depth information and additional color information at a point in time after a specific point in time and determining an area corresponding to the received additional depth information and additional color information among 3D map information and updating a voxel corresponding to the determined area among the 3D map information based on the additional depth information and the additional color information.
  • a method for learning a semantic segmentation model which is executed in at least one processor, includes receiving a plurality of images from a viewpoint of a camera, using a parameter of the camera, and receiving a plurality of images. Generating a plurality of bird's-eye view images by transforming the image; and constructing a semantic segmentation model using one or more bird's-eye view mask images corresponding to one or more semantic segmentation regions within each of the plurality of bird's-eye view images and the plurality of bird's-eye view images. It includes a learning step.
  • the learning may include applying a blur to at least a portion of a plurality of bird's-eye view images, and learning a semantic segmentation model using the plurality of bird's-eye view images and one or more bird's-eye view mask images to which the blur is applied. It includes steps to
  • the step of learning may include applying at least one of a movement process, a rotation process, or an inversion process to at least a portion of a plurality of bird's-eye view images and at least a portion of one or more bird's-eye view mask images, thereby transforming a plurality of deformed images.
  • the step of learning may include enlarging or reducing at least a portion of a plurality of bird's eye view images and at least a portion of one or more bird's eye view mask images, thereby transforming a plurality of bird's eye view images and one or more transformed bird's eye view masks.
  • the method includes generating an image and learning a semantic segmentation model using a plurality of transformed bird's-eye view images and a plurality of transformed bird's-eye view mask images.
  • a computer program stored in a computer-readable recording medium is provided to execute the above-described method in a computer according to an embodiment of the present disclosure.
  • a computing device generates a 2D bird's eye view image by combining a plurality of images, videos, etc. photographed of a certain area, and extracts semantic information using the generated 2D bird's eye view image. , Waste of resources due to extracting semantic information for each of a plurality of images and videos can be effectively reduced.
  • the 3D map generator generates 3D map information by updating only the changed or added part when an existing object in an area corresponding to the 3D map information is changed or a new object is added. can be managed efficiently.
  • the 2D bird's eye view image generation unit determines the width and height to project the 3D map information, searches for color values corresponding to the determined width and height, and converts all or part of the 3D map information. It is possible to effectively generate a 2D bird's eye view image from a bird's eye view point viewed from above.
  • the processor first generates 3D map information and extracts semantic information using a 2D bird's eye view image generated from the 3D map information, thereby immediately semantic information from the front view image. After extracting , the loss of information can be sufficiently reduced compared to the case of converting to the bird's eye view point, and accordingly, the precision of extracted semantic information can be improved.
  • a processor may more efficiently use a semantic segmentation technique with a high computational complexity.
  • a processor learns a semantic segmentation model to effectively extract semantic information regardless of the shape or size of an input image by pre-processing an image or video for learning a semantic segmentation model. can make it
  • the semantic segmentation model effectively theoretical information can be extracted.
  • FIG. 1 is a diagram illustrating an example of extracting semantic information by a computing device according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram illustrating an internal configuration of a computing device according to an embodiment of the present disclosure.
  • FIG. 3 is a functional block diagram showing the internal configuration of a processor according to an embodiment of the present disclosure.
  • FIG. 4 is a flowchart illustrating a semantic segmentation method using 3D map information according to an embodiment of the present disclosure.
  • FIG. 5 is an exemplary block diagram for extracting semantic information based on depth information and color information according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram illustrating an example of generating a 2D bird's eye view image based on 3D map information according to an embodiment of the present disclosure.
  • FIG. 7 is a diagram illustrating an example of a semantic conversion model according to an embodiment of the present disclosure.
  • FIG. 8 is an exemplary diagram illustrating an artificial neural network model according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram illustrating an example of generating learning data of a semantic segmentation model according to an embodiment of the present disclosure.
  • FIG. 10 is a flowchart illustrating a method of learning a semantic segmentation model according to an embodiment of the present disclosure.
  • a modulee' or 'unit' used in the specification means a software or hardware component, and the 'module' or 'unit' performs certain roles.
  • 'module' or 'unit' is not meant to be limited to software or hardware.
  • a 'module' or 'unit' may be configured to reside in an addressable storage medium and may be configured to reproduce one or more processors.
  • a 'module' or 'unit' includes components such as software components, object-oriented software components, class components, and task components, processes, functions, and attributes. , procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, or variables.
  • a 'module' or 'unit' may be implemented with a processor and a memory.
  • 'Processor' should be interpreted broadly to include general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, and the like.
  • 'processor' may refer to an application specific integrated circuit (ASIC), programmable logic device (PLD), field programmable gate array (FPGA), or the like.
  • ASIC application specific integrated circuit
  • PLD programmable logic device
  • FPGA field programmable gate array
  • 'Processor' refers to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or a combination of any other such configurations. You may. Also, 'memory' should be interpreted broadly to include any electronic component capable of storing electronic information.
  • 'Memory' includes random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable-programmable read-only memory (EPROM), It may also refer to various types of processor-readable media, such as electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, and the like.
  • RAM random access memory
  • ROM read-only memory
  • NVRAM non-volatile random access memory
  • PROM programmable read-only memory
  • EPROM erasable-programmable read-only memory
  • a memory is said to be in electronic communication with the processor if the processor can read information from and/or write information to the memory.
  • Memory integrated with the processor is in electronic communication with the processor.
  • 'computing device' may refer to any device capable of inferring or extracting semantic information from an image.
  • the computing device may include any robotic device, such as an autonomous robot or the like. That is, the robot may photograph images while driving on roads or sidewalks, and infer semantic information based on the captured images.
  • a computing device may include an autonomous robot, and the like, any system capable of communicating with any robotic device, and the like.
  • an arbitrary system may receive an image from an autonomous robot or other external system and extract semantic information from the received image. Then, the extracted semantic information can be transmitted to a robot or other external system.
  • an 'artificial neural network model' is an example of a machine learning model, and may include any model used to infer an answer to a given input.
  • the artificial neural network model may include an artificial neural network model including an input layer (layer), a plurality of hidden layers, and an output layer.
  • each layer may include one or more nodes.
  • the artificial neural network model may include weights associated with a plurality of nodes included in the artificial neural network model.
  • the weight may include any parameter related to the artificial neural network model.
  • 'semantic segmentation' may refer to a technique of classifying or segmenting each object included in an image, video, or the like.
  • 'semantic information' may be information in which a semantic class is assigned to an object included in an image and/or a boundary line of the object.
  • a 'voxel' refers to a value of a regular lattice unit in a 3D space, and may include a color value, occupancy, and the like.
  • each voxel included in 3D map information may be classified based on an X-axis value, a Y-axis value, and a Z-axis value.
  • a 'sub-voxel set' may refer to a set of voxels having the same X-axis value and Y-axis value and different Z-axis values. That is, a plurality of voxels on the 3D map information may be grouped into a plurality of sub-voxel sets.
  • '3D map information' is a map and/or map information including a color value, a location value, a depth value, and the like, and may be generated using depth information and color information at a specific point in time.
  • depth information and color information at a specific point in time may be extracted from a plurality of images or videos obtained by capturing an arbitrary region. That is, 3D map information may be generated by combining color information and depth information included in a plurality of images, videos, and the like.
  • 'information on occupancy status' may refer to information indicating whether a random color value is assigned to a voxel included in 3D map information. For example, when a color value is assigned to a certain voxel, information on whether or not occupancy exists may be determined as 1, and when a color value is not assigned to a certain voxel, information on whether or not occupancy is present may be determined as 0. can
  • a '2D bird's eye view image' is an image from a bird's eye view point of view, and may refer to an image viewed from above, such as a 3D image or 3D map information.
  • the 2D bird's eye view image may include a plurality of pixels including color values, position values, and the like, and each pixel may include the same color value as when viewing 3D map information from above.
  • the computing device 100 may receive a 3D image 110 and extract semantic information 120 associated with the 3D image 110 .
  • the computing device 100 may include a driving robot, an autonomous vehicle, etc. capable of extracting the semantic information 120, or an arbitrary system capable of communicating with an autonomous robot or vehicle.
  • the 3D image 110 is an image including depth information and color information, and may be captured/captured by one or more cameras and acquired by a LiDAR sensor or the like.
  • depth information and color information eg, RGB values
  • depth information and color information may be included in a point cloud obtained by one or more camera and/or lidar sensors.
  • depth information and color information may be included in an image or video captured by one or more cameras such as a stereo camera or a depth camera.
  • the computing device 100 may receive depth information and color information at a specific time point, and generate 3D map information using the received depth information and color information. That is, the computing device 100 may generate 3D map information corresponding to a corresponding region by combining depth information and color information captured or obtained from the same region at a specific point in time.
  • the 3D map information may include depth information and color information of objects (eg, buildings, roads, plants, road surfaces, lanes, traffic lights, etc.) included in an arbitrary area.
  • the depth information and color information of the object may be included in a plurality of voxels classified based on the X-axis value, the Y-axis value, and the Z-axis value based on the 3D position value of the corresponding object.
  • the computing device 100 may generate a 2D bird's eye view image using the generated 3D map information.
  • the computing device 100 may generate a 2D bird's eye view image to correspond to all or part of the 3D map information. That is, the 2D bird's eye view image may be an image from a bird's eye view point of view of an arbitrary region associated with all or part of the 3D map information from above.
  • the 2D bird's eye view image may be generated by projecting 3D map information onto the ground based on a correlation between the 3D map information and the ground. In this case, since the 2D bird's eye view image is generated based on the 3D map information, loss of information caused by converting a general camera image into a bird's eye view image can be reduced.
  • the 2D bird's eye view image may be an image or video including color values.
  • the computing device 100 may extract the semantic information 120 included in the 2D bird's eye view image generated by using the semantic segmentation model.
  • the semantic segmentation model may refer to a machine learning model, an artificial neural network model, etc. learned to extract semantic information from an arbitrary image.
  • the computing device 100 may extract the semantic information 120 divided for each object by assigning a class value corresponding to each pixel included in the 2D bird's eye view image using a semantic segmentation model. .
  • the computing device 100 generates a 2D bird's-eye view image by combining a plurality of images, videos, etc., taken of an arbitrary area, and extracts semantic information using the generated 2D bird's-eye view image. , Waste of resources due to extracting semantic information for each of a plurality of images and videos can be effectively reduced.
  • the computing device 100 may include a memory 210 , a processor 220 , a communication module 230 and an input/output interface 240 .
  • the computing device 100 may include a robot that autonomously travels on a road or a walk, and an arbitrary information processing system that communicates with and exchanges data with the autonomous robot.
  • the computing device 100 may be configured to communicate information and/or data over a network using the communication module 230 .
  • Memory 210 may include any non-transitory computer readable recording medium.
  • the memory 210 is a non-perishable mass storage device (permanent mass storage device) such as random access memory (RAM), read only memory (ROM), disk drive, solid state drive (SSD), flash memory, and the like. mass storage device).
  • a non-perishable mass storage device such as a ROM, SSD, flash memory, or disk drive may be included in the computing device 100 as a separate permanent storage device separate from memory.
  • the memory 210 includes an operating system and at least one program code (eg, generation of 3D map information installed and driven in the computing device 100, generation of a 2D bird's eye view image, semantic information extraction, semantic segmentation model code for learning, etc.) may be stored.
  • program code eg, generation of 3D map information installed and driven in the computing device 100, generation of a 2D bird's eye view image, semantic information extraction, semantic segmentation model code for learning, etc.
  • a recording medium readable by such a separate computer may include a recording medium directly connectable to the computing device 100, for example, a floppy drive, a disk, a tape, a DVD/CD-ROM drive, a memory card, and the like. It may include a computer-readable recording medium.
  • software components may be loaded into the memory 210 through the communication module 230 rather than a computer-readable recording medium.
  • at least one program is a computer program (eg, 3D map information generation) installed by files provided by developers or a file distribution system that distributes application installation files through the communication module 230.
  • a program for generating a 2D bird's eye view image, extracting semantic information, learning a semantic segmentation model, etc. may be loaded into the memory 210 .
  • the processor 220 may be configured to process commands of a computer program by performing basic arithmetic, logic, and input/output operations. Commands may be provided to a user terminal (not shown) or other external system by the memory 210 or the communication module 230 .
  • the processor 220 may receive depth information and color information at a specific time point, and generate 3D map information using the received depth information and color information.
  • the 3D map information may include a plurality of voxels classified based on X-axis values, Y-axis values, and Z-axis values.
  • the processor 220 may generate a 2D bird's eye view image using the generated 3D map information and extract semantic information included in the 2D bird's eye view image created using a semantic segmentation model.
  • the communication module 230 may provide a configuration or function for a user terminal (not shown) and the computing device 100 to communicate with each other through a network, and the computing device 100 may provide an external system (for example, a separate cloud system). etc.) may provide a configuration or function to communicate with.
  • control signals, commands, data, etc. provided under the control of the processor 220 of the computing device 100 are transmitted through the communication module 230 and the network to the user terminal and/or the user terminal through the communication module of the external system. and/or transmitted to an external system.
  • a user terminal and/or an external system may receive semantic information extracted based on depth information and color information at a specific point in time from the computing device 100 .
  • the input/output interface 240 of the computing device 100 may be connected to the computing device 100 or may be a means for interface with a device (not shown) for input or output that may be included in the computing device 100.
  • the input/output interface 240 is shown as an element configured separately from the processor 220 , but is not limited thereto, and the input/output interface 240 may be included in the processor 220 .
  • Computing device 100 may include many more components than those of FIG. 2 . However, there is no need to clearly show most of the prior art components.
  • the processor 220 of the computing device 100 may be configured to manage, process, and/or store information and/or data received from a plurality of user terminals and/or a plurality of external systems.
  • the processor 220 may receive depth information and color information (eg, a camera image, etc.) at a specific point in time from a user terminal and/or an external system.
  • the processor 220 generates 3D map information using the received depth information and color information at a specific point in time, generates a 2D bird's eye view image using the 3D map information, and generates a semantic segmentation model. It is possible to extract semantic information included in the 2D bird's eye view image created using
  • the processor 220 may include a photographing unit 310, a 3D map generator 320, a 2D bird's eye view image generator 330, and the like.
  • the photographing unit 310 may capture images, videos, and the like.
  • an image or video captured by the photographing unit 310 may include depth information and color information at a specific point in time.
  • the photographing unit 310 may include a LiDAR sensor, a stereo camera, a depth camera, and the like for capturing an image or video including depth information and color information.
  • the photographing unit 310 may use a database and/or an external device (eg, a user terminal or an external system). It communicates with and may receive depth information and color information at a specific point in time.
  • an external device eg, a user terminal or an external system. It communicates with and may receive depth information and color information at a specific point in time.
  • the 3D map generator 320 may generate 3D map information using depth information and color information.
  • the 3D map generating unit 320 may generate 3D map information by associating depth information and color information with a specific region and a specific location. That is, the depth information and color information may be arranged identically or similarly to an image or video from which the depth information and color information are photographed or extracted on the 3D map information.
  • the 3D map information may include a plurality of voxels classified based on X-axis values, Y-axis values, and Z-axis values, and the plurality of voxels may include color values and occupancy (eg, color information, color whether or not at least part of the value) may be included.
  • the 3D map generator 320 may continuously update the generated 3D map information or according to a predetermined cycle. For example, the 3D map generator 320 may receive additional depth information and additional color information at a point in time after a specific point in time. Here, the additional depth information and the additional color information may be determined based on an area associated with 3D map information. Then, the 3D map generator 320 determines an area corresponding to the received additional depth information and additional color information among the 3D map information, and based on the additional depth information and additional color information, the 3D map information A voxel corresponding to the determined area may be updated. In other words, when an existing object in an area corresponding to the 3D map information is changed or a new object is added, the 3D map generator 320 updates only the changed or added portion to efficiently generate the 3D map information. can manage
  • the 2D bird's eye view image generator 330 may generate a 2D bird's eye view image using the generated 3D map information. That is, the 2D bird's eye view image generator 330 may generate a 2D bird's eye view image by projecting all or part of the generated 3D map information onto a plane. To project the 3D map information, the 2D bird's eye view image generator 330 may determine the width and height of the 2D bird's eye view image. In other words, the 2D bird's eye view image generator 330 may generate a 2D bird's eye view image by projecting a portion corresponding to the determined width and height of the 3D map information.
  • the 2D bird's eye view image generator 330 may group a plurality of voxels into a plurality of sub-voxel sets based on 3D map information.
  • each of the plurality of sub-voxel sets may include voxels having the same X-axis value and Y-axis value and different Z-axis values.
  • the 2D bird's-eye view image generator 330 may search for each voxel in the order of Z-axis value from highest to lowest in each of the plurality of grouped sub-voxel sets, and determine whether the searched voxel is occupied.
  • the 2D bird's eye view image generator 330 may project color information of the searched voxel onto a 2D area to determine a color value for each pixel in the 2D bird's eye view image. Additionally, when the occupied voxel is not searched for, the 2D bird's eye view image generator 330 may project an initial value associated with color onto a 2D area. With this configuration, the 2D bird's eye view image generator 330 determines the width and height to project the 3D map information on, searches for color values corresponding to the determined width and height, and then searches for all or part of the 3D map information. It is possible to effectively generate a 2D bird's eye view image from a bird's eye view point of view from above.
  • the configuration of the processor 220 has been described separately for each function, but this does not necessarily mean that they are physically separated.
  • the 3D map generating unit 320 and the 2D bird's eye view image generating unit 330 have been separately described above, this is for helping understanding of the invention, and is not limited thereto.
  • the semantic segmentation method 400 may be performed by a processor (eg, a processor of a computing device and/or at least one processor of an information processing system). As shown, the semantic segmentation method 400 may be initiated when a processor receives depth information and color information at a specific time point (S410). For example, depth information and color information at a specific viewpoint may be included in an arbitrary camera image.
  • a processor eg, a processor of a computing device and/or at least one processor of an information processing system.
  • the semantic segmentation method 400 may be initiated when a processor receives depth information and color information at a specific time point (S410). For example, depth information and color information at a specific viewpoint may be included in an arbitrary camera image.
  • the processor may generate 3D map information using the received depth information and color information (S420).
  • the 3D map information may include a plurality of voxels classified based on X-axis values, Y-axis values, and Z-axis values.
  • each of the plurality of voxels may include a color value and information about occupancy.
  • the processor may generate a 2D bird's eye view image using the generated 3D map information (S430).
  • the processor may generate a 2D bird's eye view image by determining the width and height of the 2D bird's eye view image and projecting 3D map information onto a 2D area defined by the determined width and height.
  • the processor may group a plurality of voxels into a plurality of sub-voxel sets based on the 3D map information.
  • each of the plurality of sub-voxel sets may include voxels having the same X-axis value and Y-axis value and different Z-axis values.
  • the processor searches each voxel in the order of Z-axis value from highest to lowest in each of the plurality of grouped sub-voxel sets, determines whether the searched voxel is occupied, and if the occupied voxel is searched, search
  • the color information of the voxel may be projected onto a 2D area. Also, if the occupied voxel is not searched for, the processor may project an initial value associated with the color onto the 2D area.
  • the processor may extract semantic information included in the 2D bird's eye view image generated by using the semantic segmentation model (S440).
  • the semantic segmentation model may refer to a machine learning model, an artificial neural network model, etc. learned to extract semantic information within an image from a 2D bird's eye view image.
  • a semantic segmentation model may be learned using one or more bird's eye view mask images and a plurality of bird's eye view images.
  • a processor may receive depth information and color information 510 .
  • the processor may generate 3D map information 520 by pre-processing the depth information and color information 510 (512). For example, the processor determines an area, location, etc. associated with the depth information and color information 510, and the depth information and color information ( 510) can be placed.
  • the processor may generate a 2D bird's eye view image 530 by changing and projecting a viewpoint of the 3D map information 520 .
  • the processor determines the width and height of the 2D bird's-eye view image 530, and projects the 3D map information 520 onto a 2D area defined by the determined width and height, so that the 2D bird's-eye view image ( 530) can be created.
  • the determined width and height may be scaled based on a correlation with an actual area from which the depth information and color information 510 are extracted.
  • the determined width and height of the 2D area may include an arbitrary number of pixels, and a distance on the real area may be calculated based on the size and scale range of the pixels.
  • the processor may extract semantic information 540 by inputting the 2D bird's eye view image 530 to a semantic segmentation model (532).
  • the semantic segmentation model may be a model learned to output a mask image including semantic information of a corresponding image from a bird's eye view image. That is, the processor may extract semantic information 540 obtained by semantically dividing each object included in the 2D bird's eye view image 530 .
  • the processor first generates 3D map information 520 and extracts semantic information 540 using the 2D bird's eye view image 530 generated from the 3D map information 520, It is possible to sufficiently reduce the loss of information compared to the case of directly extracting semantic information from the image of the front view and then converting to the bird's eye view, and accordingly, the precision of the extracted semantic information 540 can be improved.
  • the 3D map information 610 may include a plurality of voxels classified based on X-axis values, Y-axis values, and Z-axis values.
  • each of the plurality of voxels may include a color value and information about occupancy.
  • the processor may group a plurality of voxels into a plurality of sub-voxel sets based on the 3D map information 610 .
  • each of the plurality of sub-voxel sets may include voxels having the same X-axis value and Y-axis value and different Z-axis values.
  • the processor since the first voxel 620_1, the second voxel 620_2, the third voxel 620_3, and the fourth voxel 620_4 have the same X-axis value and Y-axis value and different Z-axis values, the same may be grouped into sub-voxel sets.
  • the processor may search each of the grouped sub-voxel sets to determine a color value of each pixel included in the 2D bird's eye view image 630 .
  • one pixel of the 2D bird's eye view image 630 may correspond to each sub-voxel set.
  • the color value of each pixel of the 2D bird's-eye view image 630 may be determined based on the first searched color value among the color values of each voxel included in the sub-voxel set.
  • the processor may determine whether the searched voxel is occupied by searching for each voxel in the order of Z-axis value from highest to lowest in each of the plurality of grouped sub-voxel sets.
  • the processor may determine a color value of each pixel of the 2D bird's eye view image 630 by projecting color information of the searched voxel onto a 2D area. For example, the processor may first search for the first voxel 620_1 having the largest Z-axis value in the sub-voxel set.
  • the processor may determine a color value of the corresponding pixel 640 of the 2D bird's eye view image 630 based on the color information of the first voxel 620_1. Conversely, when the first voxel 620_1 is not occupied, the processor sequentially searches the second voxel 620_2, the third voxel 620_3, and the fourth voxel 620_4, and if there is an occupied voxel, the corresponding A color value of a pixel 640 of a corresponding 2D bird's eye view image 630 may be determined based on color information of a voxel.
  • the processor may determine the color value of the pixel 640 of the 2D bird's eye view image 630 corresponding to the sub-voxel set as an initial value associated with the color.
  • the processor divides each object included in the 2D bird's eye view image 630 to obtain semantic information. can be extracted.
  • the image dependent on the camera viewpoint is converted into a two-dimensional bird's eye view image 630 independent of the camera viewpoint, and an image that is easy to handle geometrically is used. Results and the like can be drastically improved.
  • the semantic transformation model 700 may receive a 2D bird's eye view image 710 and extract semantic information 720 included in the 2D bird's eye view image 710 .
  • the semantic conversion model 700 may include a machine learning model, an artificial neural network model, and the like.
  • the semantic conversion model 700 may be learned using one or more bird's eye view mask images and a plurality of bird's eye view images corresponding to one or more semantic segmentation regions within each of the plurality of bird's eye view images. That is, the processor may generate a plurality of bird's-eye view images by receiving a plurality of images from the point of view of the camera and transforming the received plurality of images using parameters of the camera. Then, one or more bird's eye view mask images corresponding to one or more semantic segmentation regions in each of the plurality of bird's eye view images may be generated using an arbitrary semantic segmentation algorithm or the like. In other words, the processor may train the semantic conversion model 700 using the plurality of bird's eye view images and one or more bird's eye view mask images generated in this way.
  • the semantic transformation model 700 is shown as one model in FIG. 7 , it is not limited thereto.
  • the semantic conversion model 700 may be divided into a plurality of models, such as a model for classifying pixels included in the 2D bird's eye view image 710 and a model for assigning a class value corresponding to the identified pixels.
  • the processor can more efficiently use the semantic segmentation technique with a high amount of computation. That is, the processor can perform semantic segmentation inference for the same region through fewer operations.
  • the artificial neural network model 800 is a statistical learning algorithm implemented based on the structure of a biological neural network or a structure that executes the algorithm in machine learning technology and cognitive science.
  • the artificial neural network model 800 as in a biological neural network, is an artificial neuron nodes formed by synaptic coupling to repeatedly adjust synaptic weights, thereby correcting the correct response corresponding to a specific input.
  • the artificial neural network model 800 may include an arbitrary probability model, a neural network model, and the like used in artificial intelligence learning methods such as machine learning and deep learning.
  • the above-described semantic transformation model (700 in FIG. 7 ) is a type of machine learning model and may be generated in the form of an artificial neural network model 800 .
  • the artificial neural network model 800 may receive a bird's eye view image and extract semantic information included in the received image.
  • semantic information may be extracted by assigning a class value corresponding to each pixel in a bird's eye view image.
  • the artificial neural network model 800 is implemented as a multilayer perceptron (MLP) composed of multi-layer nodes and connections between them.
  • the artificial neural network model 800 may be implemented using one of various artificial neural network model structures including MLP.
  • the artificial neural network model 800 includes an input layer 820 that receives an input signal or data 810 from the outside, and an output layer that outputs an output signal or data 850 corresponding to the input data.
  • 840 located between the input layer 820 and the output layer 840, receives a signal from the input layer 820, extracts characteristics, and transfers n (where n is a positive integer) to the output layer 840. It is composed of hidden layers 830_1 to 830_n.
  • the output layer 840 receives signals from the hidden layers 830_1 to 830_n and outputs them to the outside.
  • the learning method of the artificial neural network model 800 includes a supervised learning method that learns to be optimized for problem solving by inputting a teacher signal (correct answer), and an unsupervised learning method that does not require a teacher signal. ) way.
  • the information processing system may perform supervised learning and/or unsupervised learning of the artificial neural network model 800 to extract semantic information from a bird's eye view image.
  • the artificial neural network model 800 learned in this way may be stored in a memory (not shown) of an information processing system, and semantic information included in a two-dimensional bird's-eye view received from a communication module and/or memory may be extracted. .
  • input variables of the artificial neural network model 800 may include a 2D bird's eye view image and the like.
  • the output variables output from the output layer 840 of the artificial neural network model 800 are vectors representing or characterizing semantic information in the 2D bird's eye view image.
  • a plurality of output variables corresponding to a plurality of input variables are matched in the input layer 820 and the output layer 840 of the artificial neural network model 800, respectively, and the input layer 820, the hidden layers 830_1 to 830_n and
  • learning can be performed so that a correct output corresponding to a specific input can be extracted.
  • it is possible to grasp the characteristics hidden in the input variables of the artificial neural network model 800, and the nodes of the artificial neural network model 800 so that the error between the output variable calculated based on the input variable and the target output is reduced. You can adjust the synaptic values (or weights) between them.
  • semantic information included in a 2D bird's eye view image may be extracted.
  • the processor (220 in FIG. 2 ) may receive a plurality of images from a point of view of a camera.
  • the plurality of images are images used for learning a semantic segmentation model, and may include a 2D image or a 3D image captured by an arbitrary camera or sensor.
  • the plurality of images from the viewpoint of the camera may include the original image 910 as images and/or videos captured from the viewpoint of a vehicle traveling on a road or a driving robot passing on foot.
  • the processor may generate a plurality of bird's eye view images by transforming a plurality of received images using parameters of a camera.
  • the plurality of bird's eye view images are obtained by converting the above-described plurality of images into images from a bird's eye view point, and may include the converted image 930.
  • the processor may generate a plurality of bird's eye view images through an arbitrary algorithm or machine learning model for generating a bird's eye view image using internal parameters and external parameters of the camera.
  • data loss may occur.
  • the original image 910 is converted into the converted image 930
  • a specific shape, shape, etc. may not be displayed in the lower regions of both sides of the converted image 930, and accordingly, the converted image 930 may be created in a fan shape.
  • the processor may train a semantic segmentation model using one or more bird's eye view mask images corresponding to one or more semantic segmentation regions within each of the plurality of bird's eye view images and the plurality of bird's eye view images. For example, the processor may generate one or more bird's eye view mask images described above using an arbitrary algorithm, a machine learning model, or the like for extracting a semantic segmentation region. In this case, when a plurality of bird's eye view images are input, the processor learns a semantic segmentation model so that one or more bird's eye view mask images (correct answer images) corresponding to one or more semantic segmentation regions within each of the plurality of bird's eye view images are output.
  • the processor may generate the transformation mask 940 by extracting a semantic segmentation region from the transformation image 930 .
  • the converted image 930 is generated from the original image 910 and the conversion mask 940 is generated based on the converted image 930, but is not limited thereto, and the processor converts the original image 910
  • An original mask 920 may be generated by extracting a semantic segmentation region from
  • a conversion mask 940 may be generated by converting the generated original mask 920 into a bird's eye view form.
  • the processor may train a semantic segmentation model by performing data transformation 950 on a plurality of bird's-eye view images and one or more bird's-eye view mask images.
  • the data transformation 950 may include blur, rotation, movement, vertical inversion, enlargement/reduction, etc., but is not limited thereto, and any possible data transformation may be performed. That is, the processor may train the semantic segmentation model by additionally using not only a plurality of bird's eye view images and one or more bird's eye view mask images, but also images transformed into various shapes.
  • the processor may perform data transformation 950 on the transformation image 930 and the transformation mask 940 so that only the fan-shaped portion is not learned like the transformation image 930 .
  • the processor may apply blur to at least some of the plurality of bird's-eye view images, and train a semantic segmentation model using the plurality of bird's-eye view images to which the blur is applied and one or more bird's-eye view mask images.
  • the processor may apply blur to at least some of the plurality of bird's-eye view images by using an arbitrary algorithm or machine learning model for applying blur to an image or video. In this way, by learning a semantic segmentation model using a blur-applied bird's eye view image, the processor can precisely extract semantic information from a corresponding image even when the image for extracting semantic information is blurry or unclear.
  • the processor generates a plurality of deformed bird's eye view images and one or more deformed bird's eye view mask images by applying at least one of a movement process, a rotation process, and an inversion process to at least a portion of the plurality of bird's eye view images and at least a portion of the one or more bird's eye view mask images. can do.
  • the processor may train a semantic segmentation model using a plurality of transformed bird's-eye view images and one or more transformed bird's-eye view mask images. For example, the processor may transform at least a portion of the plurality of bird's eye view images by using an arbitrary algorithm or machine learning model for moving, rotating, and/or inverting an image or video.
  • the processor can accurately extract semantic information from the corresponding image even when the location or region where the image for extracting semantic information is taken is different. information can be extracted.
  • the processor may generate a plurality of transformed bird's eye view images and one or more transformed bird's eye view mask images by enlarging or reducing at least a portion of the plurality of bird's eye view images and at least a portion of the one or more bird's eye view mask images. Also, the processor may train a semantic segmentation model using the plurality of transformed bird's-eye view images and the plurality of transformed bird's-eye view mask images. For example, the processor may enlarge or reduce at least some of the plurality of bird's eye view images by using an arbitrary algorithm or machine learning model for enlarging or reducing an image or video.
  • the processor precisely extracts semantic information from the image even when the size of the image for extracting semantic information is different. can do.
  • the processor can train the semantic segmentation model to effectively extract semantic information regardless of the shape or size of the input image by pre-processing images, videos, etc. for learning the semantic segmentation model. .
  • the semantic segmentation model effectively converts semantic information even when an image is received without data loss caused by converting the image into a bird's eye view image. can be extracted.
  • the method 1000 of training a semantic segmentation model may be performed by a processor (eg, a processor of a computing device and/or at least one processor of an information processing system).
  • the method 1000 for learning a semantic segmentation model may be initiated by a processor receiving a plurality of images from a point of view of a camera (S1010).
  • the plurality of images may refer to images captured similarly to viewpoints of vehicles, driving robots, and people.
  • the processor may generate a plurality of bird's eye view images by converting a plurality of received images using camera parameters (S1020). For example, the processor may generate a plurality of bird's eye view images by transforming a plurality of images using internal parameters and external parameters of the camera. In this case, internal parameters of the camera may be determined in advance or may be extracted by camera calibration or the like.
  • the processor may train a semantic segmentation model using one or more bird's eye view mask images corresponding to one or more semantic segmentation regions within each of the plurality of bird's eye view images and the plurality of bird's eye view images (S1030).
  • the processor may apply blur to at least some of the plurality of bird's-eye view images, and train a semantic segmentation model using the plurality of bird's-eye view images to which the blur is applied and one or more bird's-eye view mask images.
  • the processor may apply at least one of a translation process, a rotation process, or an inversion process to at least a portion of the plurality of bird's-eye view images and at least a portion of one or more bird's-eye-view mask images, so that the deformed plurality of bird's-eye view images and the deformed one
  • the above bird's eye view mask images may be generated, and a semantic segmentation model may be trained using the plurality of transformed bird's eye view images and the one or more transformed bird's eye view mask images.
  • the processor enlarges or reduces at least a portion of the plurality of bird's-eye-view images and at least a portion of the one or more bird's-eye-view mask images to generate a plurality of transformed bird-eye-view images and one or more transformed bird-eye-view mask images
  • a semantic segmentation model may be trained using a plurality of modified bird's eye view images and a plurality of deformed bird's eye view mask images.
  • the above method may be provided as a computer program stored in a computer readable recording medium to be executed on a computer.
  • the medium may continuously store programs executable by a computer or temporarily store them for execution or download.
  • the medium may be various recording means or storage means in the form of a single or combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc. configured to store program instructions.
  • examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.
  • the processing units used to perform the techniques may include one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs) ), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, and other electronic units designed to perform the functions described in this disclosure. , a computer, or a combination thereof.
  • a general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
  • a processor may also be implemented as a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.
  • the techniques include random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), PROM (on a computer readable medium, such as programmable read-only memory (EPROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage device, or the like. It can also be implemented as stored instructions. Instructions may be executable by one or more processors and may cause the processor(s) to perform certain aspects of the functionality described in this disclosure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Image Analysis (AREA)

Abstract

The present disclosure relates to a method for semantic segmentation using three-dimensional map information. The method for semantic segmentation using three-dimensional map information comprises the steps of: receiving depth information and color information related to a particular time point; generating three-dimensional map information by using the received depth information and color information, the three-dimensional map information including multiple voxels distinguished on the basis of an X-axis value, a Y-axis value, and a Z-axis value; generating a two-dimensional bird's-eye-view image by using the generated three-dimensional map information; and extracting semantic information included in the generated two-dimensional bird's-eye-view image by using a semantic segmentation model.

Description

3차원 지도 정보를 이용한 의미론적 분할 방법 및 시스템Semantic segmentation method and system using 3D map information
본 개시는 3차원 지도 정보를 이용한 의미론적 분할 방법 및 시스템에 관한 것으로, 구체적으로, 3차원 영상을 이용하여 의미론적 정보를 추출하는 의미론적 분할 방법 및 시스템에 관한 것이다.The present disclosure relates to a semantic segmentation method and system using 3D map information, and more specifically, to a semantic segmentation method and system for extracting semantic information using a 3D image.
최근 차량의 위치에 기반하여 서비스를 제공하는 사업 모델이 늘어나고 있다. 대표적으로, 차량 네비게이션 서비스가 제공되고 있으며, 서비스 사용자가 꾸준히 증가하고 있다. 이러한 서비스에서 차량의 위치를 정확하게 파악하는 것이 중요하다. 특히, 자율 주행 자동차의 도입으로 차량의 위치 추정 기술의 정확도를 높이기 위한 연구가 활발히 진행되고 있다.Recently, business models that provide services based on the location of a vehicle are increasing. As a representative example, a vehicle navigation service is provided, and the number of users of the service is steadily increasing. In these services, it is important to accurately locate the vehicle. In particular, with the introduction of self-driving cars, research to improve the accuracy of vehicle position estimation technology is being actively conducted.
한편, 자율 주행을 위한 도로 영역을 인식하기 위해 일반적으로, 의미론적 분할(semantic segmentation) 기법이 사용되고 있다. 예를 들어, 컴퓨팅 장치는 촬영 이미지에서 사람, 건물, 하늘, 도로 등의 객체를 구분하여 의미론적 분할을 수행할 수 있다. 그러나, 이와 같은 의미론적 분할을 수행하기 위해서는 상당히 많은 컴퓨팅 자원이 요구된다. 또한, 연속하는 촬영 이미지라도, 이전 촬영 이미지의 의미론적 분할 정보를 다음 촬영 이미지에서 이용하지 못하기 때문에, 정보의 재활용이 어렵다.Meanwhile, in order to recognize a road area for autonomous driving, a semantic segmentation technique is generally used. For example, the computing device may perform semantic segmentation by classifying objects such as people, buildings, sky, and roads in the photographed image. However, considerable computing resources are required to perform such semantic segmentation. In addition, since semantic segmentation information of a previous captured image cannot be used in a next captured image even in successive captured images, it is difficult to reuse the information.
본 개시는 상기와 같은 문제점을 해결하기 위한 3차원 지도 정보를 이용한 의미론적 분할 방법, 기록매체에 저장된 컴퓨터 프로그램 및 시스템(장치)을 제공한다.The present disclosure provides a semantic segmentation method using 3D map information, a computer program and a system (apparatus) stored in a recording medium to solve the above problems.
또한, 본 개시는 상기와 같은 문제점을 해결하기 위한 의미론적 분할 모델을 학습시키는 방법, 기록매체에 저장된 컴퓨터 프로그램 및 시스템(장치)을 제공한다.In addition, the present disclosure provides a method for learning a semantic segmentation model to solve the above problems, a computer program stored in a recording medium, and a system (device).
본 개시는 방법, 장치(시스템) 또는 판독 가능 저장 매체에 저장된 컴퓨터 프로그램을 포함한 다양한 방식으로 구현될 수 있다.The present disclosure may be implemented in a variety of ways, including a method, apparatus (system) or computer program stored on a readable storage medium.
본 개시의 일 실시예에 따르면, 적어도 하나의 프로세서에서 실행되는, 3차원 지도 정보를 이용한 의미론적 분할 방법은, 특정 시점에서의 깊이 정보 및 컬러 정보를 수신하는 단계, 수신된 깊이 정보 및 컬러 정보를 이용하여 3차원 지도 정보를 생성하는 단계 -3차원 지도 정보는 X축 값, Y축 값 및 Z축 값을 기초로 구분된 복수의 복셀을 포함함 -, 생성된 3차원 지도 정보를 이용하여 2차원 조감도 영상을 생성하는 단계 및 의미론적 분할 모델을 이용하여 생성된 2차원 조감도 영상 내에 포함된 의미론적 정보를 추출하는 단계를 포함한다.According to an embodiment of the present disclosure, a semantic segmentation method using 3D map information, executed by at least one processor, includes receiving depth information and color information at a specific point in time, the received depth information and color information. Generating 3D map information using -The 3D map information includes a plurality of voxels classified based on X-axis values, Y-axis values, and Z-axis values-, using the generated 3D map information Generating a 2D bird's eye view image and extracting semantic information included in the generated 2D bird's eye view image using a semantic segmentation model.
본 개시의 일 실시예에 따르면, 2차원 조감도 영상을 생성하는 단계는, 2차원 조감도 영상 내에서의 너비 및 높이를 결정하는 단계 및 3차원 지도 정보를 결정된 너비 및 높이로 정의되는 2차원 영역에 투영함으로써, 2차원 조감도 영상을 생성하는 단계를 포함한다.According to an embodiment of the present disclosure, generating a 2D bird's eye view image may include determining a width and a height in the 2D bird's eye view image and 3D map information in a 2D area defined by the determined width and height. and generating a two-dimensional bird's eye view image by projecting.
본 개시의 일 실시예에 따르면, 복수의 복셀의 각각은, 컬러 값 및 점유 유무에 대한 정보를 포함한다. 3차원 지도 정보를 결정된 너비 및 높이로 정의되는 2차원 영역에 투영함으로써, 2차원 조감도 영상을 생성하는 단계는, 3차원 지도 정보를 기초로 복수의 복셀을 복수의 서브 복셀 세트로 그룹화하는 단계 -복수의 서브 복셀 세트의 각각은, X축 값 및 Y축 값이 동일하고 Z축 값이 상이한 복셀들을 포함함 -, 그룹화된 복수의 서브 복셀 세트의 각각에서 Z축 값이 높은 순서에서 낮은 순서로 각 복셀을 탐색하여, 탐색된 복셀의 점유 유무를 결정하는 단계 및 점유된 복셀이 탐색된 경우, 탐색된 복셀의 컬러 정보를 2차원 영역에 투영하는 단계를 포함한다.According to an embodiment of the present disclosure, each of a plurality of voxels includes a color value and information about occupancy. The step of generating a 2D bird's eye view image by projecting the 3D map information onto a 2D area defined by the determined width and height includes grouping a plurality of voxels into a plurality of sub-voxel sets based on the 3D map information - Each of the plurality of sub-voxel sets includes voxels having the same X-axis value and a different Y-axis value and different Z-axis values -, in order of Z-axis values from high to low in each of the plurality of grouped sub-voxel sets Searching for each voxel and determining whether the searched voxel is occupied or not, and projecting color information of the searched voxel onto a 2D area when the occupied voxel is found.
본 개시의 일 실시예에 따르면, 점유된 복셀이 탐색되지 않은 경우, 컬러와 연관된 초기값을 2차원 영역에 투영하는 단계를 더 포함한다.According to an embodiment of the present disclosure, if the occupied voxel is not searched for, the method further includes projecting an initial value associated with a color onto a 2D area.
본 개시의 일 실시예에 따르면, 특정 시점 이후의 시점에 추가 깊이 정보 및 추가 컬러 정보를 수신하는 단계, 3차원 지도 정보 중에서, 수신된 추가 깊이 정보 및 추가 컬러 정보에 대응하는 영역을 결정하는 단계 및 추가 깊이 정보 및 추가 컬러 정보를 기초로, 3차원 지도 정보 중에서 결정된 영역에 대응하는 복셀을 업데이트하는 단계를 더 포함한다.According to an embodiment of the present disclosure, receiving additional depth information and additional color information at a point in time after a specific point in time, and determining an area corresponding to the received additional depth information and additional color information among 3D map information and updating a voxel corresponding to the determined area among the 3D map information based on the additional depth information and the additional color information.
본 개시의 일 실시예에 따르면, 적어도 하나의 프로세서에서 실행되는, 의미론적 분할 모델을 학습시키는 방법은, 카메라의 시점에서의 복수의 영상을 수신하는 단계, 카메라의 파라미터를 이용하여 수신된 복수의 영상을 변환함으로써, 복수의 조감도 영상을 생성하는 단계 및 복수의 조감도 영상의 각각 내에서의 하나 이상의 의미론적 분할 영역에 대응하는 하나 이상의 조감도 마스크 영상 및 복수의 조감도 영상을 이용하여 의미론적 분할 모델을 학습시키는 단계를 포함한다.According to an embodiment of the present disclosure, a method for learning a semantic segmentation model, which is executed in at least one processor, includes receiving a plurality of images from a viewpoint of a camera, using a parameter of the camera, and receiving a plurality of images. Generating a plurality of bird's-eye view images by transforming the image; and constructing a semantic segmentation model using one or more bird's-eye view mask images corresponding to one or more semantic segmentation regions within each of the plurality of bird's-eye view images and the plurality of bird's-eye view images. It includes a learning step.
본 개시의 일 실시예에 따르면, 학습시키는 단계는, 복수의 조감도 영상의 적어도 일부에 블러를 적용하는 단계 및 블러가 적용된 복수의 조감도 영상 및 하나 이상의 조감도 마스크 영상을 이용하여 의미론적 분할 모델을 학습시키는 단계를 포함한다.According to an embodiment of the present disclosure, the learning may include applying a blur to at least a portion of a plurality of bird's-eye view images, and learning a semantic segmentation model using the plurality of bird's-eye view images and one or more bird's-eye view mask images to which the blur is applied. It includes steps to
본 개시의 일 실시예에 따르면, 학습시키는 단계는, 복수의 조감도 영상의 적어도 일부 및 하나 이상의 조감도 마스크 영상의 적어도 일부에 이동 처리, 회전 처리 또는 반전 처리 중 적어도 하나를 적용함으로써, 변형된 복수의 조감도 영상 및 변형된 하나 이상의 조감도 마스크 영상을 생성하는 단계 및 변형된 복수의 조감도 영상 및 변형된 하나 이상의 조감도 마스크 영상을 이용하여 의미론적 분할 모델을 학습시키는 단계를 포함한다.According to an embodiment of the present disclosure, the step of learning may include applying at least one of a movement process, a rotation process, or an inversion process to at least a portion of a plurality of bird's-eye view images and at least a portion of one or more bird's-eye view mask images, thereby transforming a plurality of deformed images. generating a bird's eye view image and one or more modified bird's eye view mask images; and learning a semantic segmentation model using the plurality of transformed bird's eye view images and one or more transformed bird's eye view mask images.
본 개시의 일 실시예에 따르면, 학습시키는 단계는, 복수의 조감도 영상의 적어도 일부 및 하나 이상의 조감도 마스크 영상의 적어도 일부에 확대 처리 또는 축소 처리하여 변형된 복수의 조감도 영상 및 변환된 하나 이상의 조감도 마스크 영상을 생성하는 단계 및 변형된 복수의 조감도 영상 및 변형된 복수의 조감도 마스크 영상을 이용하여 의미론적 분할 모델을 학습시키는 단계를 포함한다.According to an embodiment of the present disclosure, the step of learning may include enlarging or reducing at least a portion of a plurality of bird's eye view images and at least a portion of one or more bird's eye view mask images, thereby transforming a plurality of bird's eye view images and one or more transformed bird's eye view masks. The method includes generating an image and learning a semantic segmentation model using a plurality of transformed bird's-eye view images and a plurality of transformed bird's-eye view mask images.
본 개시의 일 실시예에 따른 상술된 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 제공된다.A computer program stored in a computer-readable recording medium is provided to execute the above-described method in a computer according to an embodiment of the present disclosure.
본 개시의 다양한 실시예에 따르면, 컴퓨팅 장치는 임의의 영역을 촬영한 복수의 이미지, 영상 등을 조합하여 2차원 조감도 영상을 생성하고, 생성된 2차원 조감도 영상을 이용하여 의미론적 정보를 추출함으로써, 복수의 이미지, 영상 등의 각각에 대해 의미론적 정보를 추출함에 따른 리소스의 낭비를 효과적으로 감소시킬 수 있다.According to various embodiments of the present disclosure, a computing device generates a 2D bird's eye view image by combining a plurality of images, videos, etc. photographed of a certain area, and extracts semantic information using the generated 2D bird's eye view image. , Waste of resources due to extracting semantic information for each of a plurality of images and videos can be effectively reduced.
본 개시의 다양한 실시예에 따르면, 3차원 지도 생성부는 3차원 지도 정보와 대응하는 영역 상의 기존의 객체가 변경되거나, 새로운 객체가 추가된 경우, 변경되거나 추가된 부분만을 업데이트하여 3차원 지도 정보를 효율적으로 관리할 수 있다.According to various embodiments of the present disclosure, the 3D map generator generates 3D map information by updating only the changed or added part when an existing object in an area corresponding to the 3D map information is changed or a new object is added. can be managed efficiently.
본 개시의 다양한 실시예에 따르면, 2차원 조감도 영상 생성부는 3차원 지도 정보를 투영할 너비 및 높이를 결정하고, 결정된 너비 및 높이에 대응하는 컬러 값을 탐색하여 3차원 지도 정보 중 전부 또는 일부를 상부에서 바라본 버드 아이 뷰 시점의 2차원 조감도 영상을 효과적으로 생성할 수 있다.According to various embodiments of the present disclosure, the 2D bird's eye view image generation unit determines the width and height to project the 3D map information, searches for color values corresponding to the determined width and height, and converts all or part of the 3D map information. It is possible to effectively generate a 2D bird's eye view image from a bird's eye view point viewed from above.
본 개시의 다양한 실시예에 따르면, 프로세서는 3차원 지도 정보를 먼저 생성하고, 3차원 지도 정보로부터 생성된 2차원 조감도 영상을 이용하여 의미론적 정보를 추출함으로써, 정면 시점의 영상으로부터 곧바로 의미론적 정보를 추출한 후, 버드 아이 뷰 시점으로 변환하는 경우보다 정보의 손실을 충분히 감소시킬 수 있으며, 그에 따라 추출되는 의미론적 정보의 정밀도를 향상시킬 수 있다.According to various embodiments of the present disclosure, the processor first generates 3D map information and extracts semantic information using a 2D bird's eye view image generated from the 3D map information, thereby immediately semantic information from the front view image. After extracting , the loss of information can be sufficiently reduced compared to the case of converting to the bird's eye view point, and accordingly, the precision of extracted semantic information can be improved.
본 개시의 다양한 실시예에 따르면, 카메라 시점에 종속적이던 영상을 카메라 시점에 독립적인 2차원 조감도 영상으로 변환하여 기하학적으로 취급하기 쉬운 영상을 사용함으로써, 의미론적 정보 추출을 위한 연산량, 연산 효율성, 연산 결과 등이 획기적으로 개선될 수 있다.According to various embodiments of the present disclosure, by converting an image dependent on a camera viewpoint into a 2D bird's eye view image independent of a camera viewpoint and using an image that is easy to handle geometrically, the amount of computation, computation efficiency, and calculation for extracting semantic information Results and the like can be drastically improved.
본 개시의 다양한 실시예에 따르면, 학습된 의미론적 변환 모델을 이용함으로써, 프로세서는 연산량이 높은 의미론적 분할 기법을 보다 효율적으로 사용할 수 있다.According to various embodiments of the present disclosure, by using the learned semantic transformation model, a processor may more efficiently use a semantic segmentation technique with a high computational complexity.
본 개시의 다양한 실시예에 따르면, 프로세서는 의미론적 분할 모델의 학습을 위한 이미지, 영상 등을 전처리함으로써, 입력되는 영상의 형태, 크기 등에 상관없이 효과적으로 의미론적 정보를 추출하도록 의미론적 분할 모델을 학습시킬 수 있다.According to various embodiments of the present disclosure, a processor learns a semantic segmentation model to effectively extract semantic information regardless of the shape or size of an input image by pre-processing an image or video for learning a semantic segmentation model. can make it
본 개시의 다양한 실시예에 따르면, 다양한 형태로 변형된 데이터를 학습 데이터로 이용함으로써, 영상을 조감도 영상을 변환함에 따른 데이터 손실이 발생하지 않은 영상을 입력받은 경우에도, 의미론적 분할 모델은 효과적으로 의미론적 정보를 추출할 수 있다.According to various embodiments of the present disclosure, by using data transformed into various forms as training data, even when an image in which data loss does not occur due to conversion of an image into a bird's eye view image is input, the semantic segmentation model effectively theoretical information can be extracted.
본 개시의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자("통상의 기술자"라 함)에게 명확하게 이해될 수 있을 것이다.The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned are clear to those skilled in the art (referred to as "ordinary technicians") from the description of the claims. will be understandable.
본 개시의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.Embodiments of the present disclosure will be described with reference to the accompanying drawings described below, wherein like reference numbers indicate like elements, but are not limited thereto.
도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치가 의미론적 정보를 추출하는 예시를 나타내는 도면이다.1 is a diagram illustrating an example of extracting semantic information by a computing device according to an embodiment of the present disclosure.
도 2는 본 개시의 일 실시예에 따른 컴퓨팅 장치의 내부 구성을 나타내는 블록도이다.2 is a block diagram illustrating an internal configuration of a computing device according to an embodiment of the present disclosure.
도 3은 본 개시의 일 실시예에 따른 프로세서의 내부 구성을 나타내는 기능적인 블록도이다.3 is a functional block diagram showing the internal configuration of a processor according to an embodiment of the present disclosure.
도 4는 본 개시의 일 실시예에 따른 3차원 지도 정보를 이용한 의미론적 분할 방법을 나타내는 흐름도이다.4 is a flowchart illustrating a semantic segmentation method using 3D map information according to an embodiment of the present disclosure.
도 5는 본 개시의 일 실시예에 따른 깊이 정보 및 컬러 정보를 기초로 의미론적 정보를 추출하는 예시적인 블록도이다.5 is an exemplary block diagram for extracting semantic information based on depth information and color information according to an embodiment of the present disclosure.
도 6은 본 개시의 일 실시예에 따른 3차원 지도 정보를 기초로 2차원 조감도 영상을 생성하는 예시를 나타내는 도면이다.6 is a diagram illustrating an example of generating a 2D bird's eye view image based on 3D map information according to an embodiment of the present disclosure.
도 7은 본 개시의 일 실시예에 따른 의미론적 변환 모델의 예시를 나타내는 도면이다.7 is a diagram illustrating an example of a semantic conversion model according to an embodiment of the present disclosure.
도 8은 본 개시의 일 실시예에 따른 인공신경망 모델을 나타내는 예시도이다.8 is an exemplary diagram illustrating an artificial neural network model according to an embodiment of the present disclosure.
도 9는 본 개시의 일 실시예에 따른 의미론적 분할 모델의 학습 데이터를 생성하는 예시를 나타내는 도면이다.9 is a diagram illustrating an example of generating learning data of a semantic segmentation model according to an embodiment of the present disclosure.
도 10은 본 개시의 일 실시예에 따른 의미론적 분할 모델을 학습시키는 방법을 나타내는 흐름도이다.10 is a flowchart illustrating a method of learning a semantic segmentation model according to an embodiment of the present disclosure.
이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, specific details for the implementation of the present disclosure will be described in detail with reference to the accompanying drawings. However, in the following description, if there is a risk of unnecessarily obscuring the gist of the present disclosure, detailed descriptions of well-known functions or configurations will be omitted.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.In the accompanying drawings, identical or corresponding elements are given the same reference numerals. In addition, in the description of the following embodiments, overlapping descriptions of the same or corresponding components may be omitted. However, omission of a description of a component does not intend that such a component is not included in an embodiment.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.Advantages and features of the disclosed embodiments, and methods of achieving them, will become apparent with reference to the following embodiments in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms, but only the present embodiments make the present disclosure complete, and the present disclosure does not extend the scope of the invention to those skilled in the art. It is provided only for complete information.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.Terms used in this specification will be briefly described, and the disclosed embodiments will be described in detail. The terms used in this specification have been selected from general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but they may vary according to the intention of a person skilled in the related field, a precedent, or the emergence of new technology. In addition, in a specific case, there is also a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the invention. Therefore, the terms used in the present disclosure should be defined based on the meaning of the terms and the general content of the present disclosure, not simply the names of the terms.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.Expressions in the singular number in this specification include plural expressions unless the context clearly dictates that they are singular. Also, plural expressions include singular expressions unless the context clearly specifies that they are plural. When it is said that a certain part includes a certain component in the entire specification, this means that it may further include other components without excluding other components unless otherwise stated.
또한, 명세서에서 사용되는 '모듈' 또는 '부'라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, '모듈' 또는 '부'는 어떤 역할들을 수행한다. 그렇지만, '모듈' 또는 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '모듈' 또는 '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서, '모듈' 또는 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 또는 변수들 중 적어도 하나를 포함할 수 있다. 구성요소들과 '모듈' 또는 '부'들은 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈' 또는 '부'들로 결합되거나 추가적인 구성요소들과 '모듈' 또는 '부'들로 더 분리될 수 있다.Also, the term 'module' or 'unit' used in the specification means a software or hardware component, and the 'module' or 'unit' performs certain roles. However, 'module' or 'unit' is not meant to be limited to software or hardware. A 'module' or 'unit' may be configured to reside in an addressable storage medium and may be configured to reproduce one or more processors. Thus, as an example, a 'module' or 'unit' includes components such as software components, object-oriented software components, class components, and task components, processes, functions, and attributes. , procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, or variables. Functions provided within components and 'modules' or 'units' may be combined into a smaller number of components and 'modules' or 'units', or further components and 'modules' or 'units'. can be further separated.
본 개시의 일 실시예에 따르면, '모듈' 또는 '부'는 프로세서 및 메모리로 구현될 수 있다. '프로세서'는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서, '프로세서'는 주문형 반도체(ASIC), 프로그램가능 로직 디바이스(PLD), 필드 프로그램가능 게이트 어레이(FPGA) 등을 지칭할 수도 있다. '프로세서'는, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다. 또한, '메모리'는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. '메모리'는 임의 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 임의 액세스 메모리(NVRAM), 프로그램가능 판독-전용 메모리(PROM), 소거-프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능 PROM(EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.According to one embodiment of the present disclosure, a 'module' or 'unit' may be implemented with a processor and a memory. 'Processor' should be interpreted broadly to include general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, and the like. In some circumstances, 'processor' may refer to an application specific integrated circuit (ASIC), programmable logic device (PLD), field programmable gate array (FPGA), or the like. 'Processor' refers to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or a combination of any other such configurations. You may. Also, 'memory' should be interpreted broadly to include any electronic component capable of storing electronic information. 'Memory' includes random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable-programmable read-only memory (EPROM), It may also refer to various types of processor-readable media, such as electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, and the like. A memory is said to be in electronic communication with the processor if the processor can read information from and/or write information to the memory. Memory integrated with the processor is in electronic communication with the processor.
본 개시에서, '컴퓨팅 장치'는 영상으로부터 의미론적 정보를 추론하거나 추출할 수 있는 임의의 장치를 지칭할 수 있다. 예를 들어, 컴퓨팅 장치는 자율 주행 로봇 등과 같은 임의의 로봇 장치를 포함할 수 있다. 즉, 로봇은 도로, 인도 등을 주행하며 영상을 촬영하고, 촬영된 영상을 기초로 의미론적 정보를 추론할 수 있다. 다른 예에서, 컴퓨팅 장치는 자율 주행 로봇 등과 임의의 로봇 장치와 통신 가능한 임의의 시스템 등을 포함할 수 있다. 이 경우, 임의의 시스템은 자율 주행 로봇 또는 다른 외부 시스템으로부터 영상을 수신하고, 수신된 영상으로부터 의미론적 정보를 추출할 수 있다. 그리고 나서, 추출된 의미론적 정보를 로봇 또는 다른 외부 시스템으로 전송할 수 있다.In the present disclosure, 'computing device' may refer to any device capable of inferring or extracting semantic information from an image. For example, the computing device may include any robotic device, such as an autonomous robot or the like. That is, the robot may photograph images while driving on roads or sidewalks, and infer semantic information based on the captured images. In another example, a computing device may include an autonomous robot, and the like, any system capable of communicating with any robotic device, and the like. In this case, an arbitrary system may receive an image from an autonomous robot or other external system and extract semantic information from the received image. Then, the extracted semantic information can be transmitted to a robot or other external system.
본 개시에서, '인공신경망 모델'은 기계학습 모델의 일 예로서, 주어진 입력에 대한 답을 추론하는 데 사용하는 임의의 모델을 포함할 수 있다. 일 실시예에 따르면, 인공신경망 모델은 입력 레이어(층), 복수 개의 은닉 레이어 및 출력 레이어를 포함한 인공신경망 모델을 포함할 수 있다. 여기서, 각 레이어는 하나 이상의 노드를 포함할 수 있다. 또한, 인공신경망 모델은 인공신경망 모델에 포함된 복수의 노드와 연관된 가중치를 포함할 수 있다. 여기서, 가중치는 인공신경망 모델과 연관된 임의의 파라미터를 포함할 수 있다.In the present disclosure, an 'artificial neural network model' is an example of a machine learning model, and may include any model used to infer an answer to a given input. According to one embodiment, the artificial neural network model may include an artificial neural network model including an input layer (layer), a plurality of hidden layers, and an output layer. Here, each layer may include one or more nodes. In addition, the artificial neural network model may include weights associated with a plurality of nodes included in the artificial neural network model. Here, the weight may include any parameter related to the artificial neural network model.
본 개시에서 '의미론적 분할(semantic segmentation)'은, 이미지, 영상 등에 포함된 각각의 객체를 구분하거나 분할하는 기법을 지칭할 수 있다. 또한, 본 개시에서 '의미론적 정보(semantic information)'는 이미지에 포함된 객체 및/또는 객체의 경계선에 의미론적 클래스를 부여한 정보일 수 있다.In the present disclosure, 'semantic segmentation' may refer to a technique of classifying or segmenting each object included in an image, video, or the like. In addition, in the present disclosure, 'semantic information' may be information in which a semantic class is assigned to an object included in an image and/or a boundary line of the object.
본 개시에서 '복셀'은, 3차원 공간에서 정규 격자 단위의 값을 지칭하는 것으로, 컬러 값, 점유 유무 등을 포함할 수 있다. 예를 들어, 3차원 지도 정보에 포함된 각각의 복셀은 X축 값, Y축 값 및 Z축 값을 기초로 구분될 수 있다. 또한, 본 개시에서, '서브 복셀 세트'는, X축 값 및 Y축 값이 동일하고 Z축 값이 상이한 복셀들의 집합을 지칭할 수 있다. 즉, 3차원 지도 정보 상의 복수의 복셀은 복수의 서브 복셀 세트로 그룹화될 수 있다.In the present disclosure, a 'voxel' refers to a value of a regular lattice unit in a 3D space, and may include a color value, occupancy, and the like. For example, each voxel included in 3D map information may be classified based on an X-axis value, a Y-axis value, and a Z-axis value. Also, in the present disclosure, a 'sub-voxel set' may refer to a set of voxels having the same X-axis value and Y-axis value and different Z-axis values. That is, a plurality of voxels on the 3D map information may be grouped into a plurality of sub-voxel sets.
본 개시에서 '3차원 지도 정보'는, 컬러 값, 위치 값, 깊이 값 등을 포함하는 지도 및/또는 지도 정보로서, 특정 시점에서의 깊이 정보 및 컬러 정보를 이용하여 생성될 수 있다. 예를 들어, 특정 시점에서의 깊이 정보 및 컬러 정보는 임의의 영역을 촬영한 복수의 이미지, 영상 등으로부터 추출될 수 있다. 즉, 3차원 지도 정보는 복수의 이미지, 영상 등에 포함된 컬러 정보 및 깊이 정보를 조합하여 생성될 수 있다.In the present disclosure, '3D map information' is a map and/or map information including a color value, a location value, a depth value, and the like, and may be generated using depth information and color information at a specific point in time. For example, depth information and color information at a specific point in time may be extracted from a plurality of images or videos obtained by capturing an arbitrary region. That is, 3D map information may be generated by combining color information and depth information included in a plurality of images, videos, and the like.
본 개시에서 '점유 유무에 대한 정보'는, 3차원 지도 정보에 포함된 복셀에 임의의 컬러 값이 할당되어 있는지 여부를 나타내는 정보를 지칭할 수 있다. 예를 들어, 임의의 복셀에 컬러 값이 할당되어 있는 경우, 점유 유무에 대한 정보는 1로 결정될 수 있고, 임의의 복셀에 컬러 값이 할당되어 있지 않은 경우, 점유 유무에 대한 정보는 0으로 결정될 수 있다.In the present disclosure, 'information on occupancy status' may refer to information indicating whether a random color value is assigned to a voxel included in 3D map information. For example, when a color value is assigned to a certain voxel, information on whether or not occupancy exists may be determined as 1, and when a color value is not assigned to a certain voxel, information on whether or not occupancy is present may be determined as 0. can
본 개시에서 '2차원 조감도 영상'은, 버드 아이 뷰(bird's eye view) 시점의 영상으로서, 3차원 영상, 3차원 지도 정보 등을 상부에서 바라본 영상을 지칭할 수 있다. 2차원 조감도 영상은 컬러 값, 위치 값 등을 포함하는 복수의 픽셀을 포함할 수 있으며, 각각의 픽셀은 3차원 지도 정보를 상부에서 바라본 것과 동일한 컬러 값을 포함할 수 있다.In the present disclosure, a '2D bird's eye view image' is an image from a bird's eye view point of view, and may refer to an image viewed from above, such as a 3D image or 3D map information. The 2D bird's eye view image may include a plurality of pixels including color values, position values, and the like, and each pixel may include the same color value as when viewing 3D map information from above.
도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)가 의미론적 정보(120)를 추출하는 예시를 나타내는 도면이다. 도시된 바와 같이, 컴퓨팅 장치(100)는 3차원 영상(110)을 수신하고, 3차원 영상(110)과 연관된 의미론적 정보(120)를 추출할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 의미론적 정보(120)를 추출할 수 있는 주행 로봇, 자율 주행 차량 등이거나, 자율 주행 로봇, 차량 등과 통신 가능한 임의의 시스템 등을 포함할 수 있다. 여기서, 3차원 영상(110)은 깊이 정보 및 컬러 정보를 포함하는 영상으로서, 하나 이상의 카메라에 의해 촬영되거나/촬영되고, 라이다(LiDAR) 센서 등에 의해 획득될 수 있다. 예를 들어, 깊이 정보 및 컬러 정보(예를 들어, RGB 값)는 하나 이상의 카메라 및/또는 라이다 센서에 의해 획득된 포인트 클라우드(point cloud)에 포함될 수 있다. 다른 예예서, 깊이 정보 및 컬러 정보는 스테레오(stereo) 카메라, 뎁스(depth) 카메라 등의 하나 이상의 카메라에 의해 촬영된 이미지, 영상 등에 포함될 수 있다.1 is a diagram illustrating an example of extracting semantic information 120 by a computing device 100 according to an embodiment of the present disclosure. As shown, the computing device 100 may receive a 3D image 110 and extract semantic information 120 associated with the 3D image 110 . For example, the computing device 100 may include a driving robot, an autonomous vehicle, etc. capable of extracting the semantic information 120, or an arbitrary system capable of communicating with an autonomous robot or vehicle. Here, the 3D image 110 is an image including depth information and color information, and may be captured/captured by one or more cameras and acquired by a LiDAR sensor or the like. For example, depth information and color information (eg, RGB values) may be included in a point cloud obtained by one or more camera and/or lidar sensors. As another example, depth information and color information may be included in an image or video captured by one or more cameras such as a stereo camera or a depth camera.
일 실시예에 따르면, 컴퓨팅 장치(100)는 특정 시점에서의 깊이 정보 및 컬러 정보를 수신하고, 수신된 깊이 정보 및 컬러 정보를 이용하여 3차원 지도 정보를 생성할 수 있다. 즉, 컴퓨팅 장치(100)는 특정 시점에서의 동일한 영역으로부터 촬영되거나 획득된 깊이 정보 및 컬러 정보를 조합하여 해당 영역에 대응하는 3차원 지도 정보를 생성할 수 있다. 예를 들어, 3차원 지도 정보는 임의의 영역 내에 포함된 객체(예: 건물, 도로, 식물, 노면, 차선, 신호등 등)의 깊이 정보, 컬러 정보 등을 포함할 수 있다. 이 경우, 객체의 깊이 정보, 컬러 정보 등은 대응하는 객체의 3차원 위치 값 등을 기초로, X축 값, Y축 값 및 Z축 값을 기초로 구분된 복수의 복셀 내에 포함될 수 있다.According to an embodiment, the computing device 100 may receive depth information and color information at a specific time point, and generate 3D map information using the received depth information and color information. That is, the computing device 100 may generate 3D map information corresponding to a corresponding region by combining depth information and color information captured or obtained from the same region at a specific point in time. For example, the 3D map information may include depth information and color information of objects (eg, buildings, roads, plants, road surfaces, lanes, traffic lights, etc.) included in an arbitrary area. In this case, the depth information and color information of the object may be included in a plurality of voxels classified based on the X-axis value, the Y-axis value, and the Z-axis value based on the 3D position value of the corresponding object.
컴퓨팅 장치(100)는 생성된 3차원 지도 정보를 이용하여 2차원 조감도 영상을 생성할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 3차원 지도 정보의 전부 또는 일부와 대응하도록 2차원 조감도 영상을 생성할 수 있다. 즉, 2차원 조감도 영상은 3차원 지도 정보의 전부 또는 일부와 연관된 임의의 영역을 상부에서 바라본 버드 아이 뷰 시점의 영상일 수 있다. 여기서, 2차원 조감도 영상은 3차원 지도 정보와 지면 사이의 상관 관계를 기초로 3차원 지도 정보를 지면에 투영하여 생성될 수 있다. 이 경우, 2차원 조감도 영상은 3차원 지도 정보를 기초로 생성되므로, 일반적인 카메라 영상을 조감도 영상으로 변환함에 따른 정보의 손실을 감소시킬 수 있다. 예를 들어, 2차원 조감도 영상은 컬러 값을 포함하는 이미지, 영상 등일 수 있다.The computing device 100 may generate a 2D bird's eye view image using the generated 3D map information. For example, the computing device 100 may generate a 2D bird's eye view image to correspond to all or part of the 3D map information. That is, the 2D bird's eye view image may be an image from a bird's eye view point of view of an arbitrary region associated with all or part of the 3D map information from above. Here, the 2D bird's eye view image may be generated by projecting 3D map information onto the ground based on a correlation between the 3D map information and the ground. In this case, since the 2D bird's eye view image is generated based on the 3D map information, loss of information caused by converting a general camera image into a bird's eye view image can be reduced. For example, the 2D bird's eye view image may be an image or video including color values.
그리고 나서, 컴퓨팅 장치(100)는 의미론적 분할 모델을 이용하여 생성된 2차원 조감도 영상 내에 포함된 의미론적 정보(120)를 추출할 수 있다. 여기서, 의미론적 분할 모델은 임의의 영상으로부터 의미론적 정보를 추출하도록 학습된 기계학습 모델, 인공신경망 모델 등을 지칭할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 의미론적 분할 모델을 이용하여 2차원 조감도 영상에 포함된 각각의 픽셀에 대응하는 클래스 값을 할당하여 객체 별로 분할된 의미론적 정보(120)를 추출할 수 있다. 이와 같은 구성에 의해, 컴퓨팅 장치(100)는 임의의 영역을 촬영한 복수의 이미지, 영상 등을 조합하여 2차원 조감도 영상을 생성하고, 생성된 2차원 조감도 영상을 이용하여 의미론적 정보를 추출함으로써, 복수의 이미지, 영상 등의 각각에 대해 의미론적 정보를 추출함에 따른 리소스의 낭비를 효과적으로 감소시킬 수 있다.Then, the computing device 100 may extract the semantic information 120 included in the 2D bird's eye view image generated by using the semantic segmentation model. Here, the semantic segmentation model may refer to a machine learning model, an artificial neural network model, etc. learned to extract semantic information from an arbitrary image. For example, the computing device 100 may extract the semantic information 120 divided for each object by assigning a class value corresponding to each pixel included in the 2D bird's eye view image using a semantic segmentation model. . With this configuration, the computing device 100 generates a 2D bird's-eye view image by combining a plurality of images, videos, etc., taken of an arbitrary area, and extracts semantic information using the generated 2D bird's-eye view image. , Waste of resources due to extracting semantic information for each of a plurality of images and videos can be effectively reduced.
도 2는 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)의 내부 구성을 나타내는 블록도이다. 컴퓨팅 장치(100)는 메모리(210), 프로세서(220), 통신 모듈(230) 및 입출력 인터페이스(240)를 포함할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 도로, 도보 등을 자율 주행하는 로봇, 자율 주행 로봇과 통신하며 데이터를 주고받는 임의의 정보 처리 시스템 등을 포함할 수 있다. 도 2에 도시된 바와 같이, 컴퓨팅 장치(100)는 통신 모듈(230)을 이용하여 네트워크를 통해 정보 및/또는 데이터를 통신할 수 있도록 구성될 수 있다.2 is a block diagram illustrating an internal configuration of a computing device 100 according to an embodiment of the present disclosure. The computing device 100 may include a memory 210 , a processor 220 , a communication module 230 and an input/output interface 240 . For example, the computing device 100 may include a robot that autonomously travels on a road or a walk, and an arbitrary information processing system that communicates with and exchanges data with the autonomous robot. As shown in FIG. 2 , the computing device 100 may be configured to communicate information and/or data over a network using the communication module 230 .
메모리(210)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 실시예에 따르면, 메모리(210)는 RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치로서 컴퓨팅 장치(100)에 포함될 수 있다. 또한, 메모리(210)에는 운영체제와 적어도 하나의 프로그램 코드(예를 들어, 컴퓨팅 장치(100)에 설치되어 구동되는 3차원 지도 정보 생성, 2차원 조감도 영상 생성, 의미론적 정보 추출, 의미론적 분할 모델 학습 등을 위한 코드)가 저장될 수 있다. Memory 210 may include any non-transitory computer readable recording medium. According to one embodiment, the memory 210 is a non-perishable mass storage device (permanent mass storage device) such as random access memory (RAM), read only memory (ROM), disk drive, solid state drive (SSD), flash memory, and the like. mass storage device). As another example, a non-perishable mass storage device such as a ROM, SSD, flash memory, or disk drive may be included in the computing device 100 as a separate permanent storage device separate from memory. In addition, the memory 210 includes an operating system and at least one program code (eg, generation of 3D map information installed and driven in the computing device 100, generation of a 2D bird's eye view image, semantic information extraction, semantic segmentation model code for learning, etc.) may be stored.
이러한 소프트웨어 구성요소들은 메모리(210)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 이러한 컴퓨팅 장치(100)에 직접 연결가능한 기록 매체를 포함할 수 있는데, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 예로서, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(230)을 통해 메모리(210)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 통신 모듈(230)을 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램(예를 들어, 3차원 지도 정보 생성, 2차원 조감도 영상 생성, 의미론적 정보 추출, 의미론적 분할 모델 학습 등을 위한 프로그램 등)에 기반하여 메모리(210)에 로딩될 수 있다.These software components may be loaded from a computer-readable recording medium separate from the memory 210 . A recording medium readable by such a separate computer may include a recording medium directly connectable to the computing device 100, for example, a floppy drive, a disk, a tape, a DVD/CD-ROM drive, a memory card, and the like. It may include a computer-readable recording medium. As another example, software components may be loaded into the memory 210 through the communication module 230 rather than a computer-readable recording medium. For example, at least one program is a computer program (eg, 3D map information generation) installed by files provided by developers or a file distribution system that distributes application installation files through the communication module 230. , a program for generating a 2D bird's eye view image, extracting semantic information, learning a semantic segmentation model, etc.) may be loaded into the memory 210 .
프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210) 또는 통신 모듈(230)에 의해 사용자 단말(미도시) 또는 다른 외부 시스템으로 제공될 수 있다. 예를 들어, 프로세서(220)는 특정 시점에서의 깊이 정보 및 컬러 정보를 수신하고, 수신된 깊이 정보 및 컬러 정보를 이용하여 3차원 지도 정보를 생성할 수 있다. 여기서, 3차원 지도 정보는 X축 값, Y축 값 및 Z축 값을 기초로 구분된 복수의 복셀을 포함할 수 있다. 또한, 프로세서(220)는 생성된 3차원 지도 정보를 이용하여 2차원 조감도 영상을 생성하고, 의미론적 분할 모델을 이용하여 생성된 2차원 조감도 영상 내에 포함된 의미론적 정보를 추출할 수 있다.The processor 220 may be configured to process commands of a computer program by performing basic arithmetic, logic, and input/output operations. Commands may be provided to a user terminal (not shown) or other external system by the memory 210 or the communication module 230 . For example, the processor 220 may receive depth information and color information at a specific time point, and generate 3D map information using the received depth information and color information. Here, the 3D map information may include a plurality of voxels classified based on X-axis values, Y-axis values, and Z-axis values. In addition, the processor 220 may generate a 2D bird's eye view image using the generated 3D map information and extract semantic information included in the 2D bird's eye view image created using a semantic segmentation model.
통신 모듈(230)은 네트워크를 통해 사용자 단말(미도시)과 컴퓨팅 장치(100)가 서로 통신하기 위한 구성 또는 기능을 제공할 수 있으며, 컴퓨팅 장치(100)가 외부 시스템(일례로 별도의 클라우드 시스템 등)과 통신하기 위한 구성 또는 기능을 제공할 수 있다. 일례로, 컴퓨팅 장치(100)의 프로세서(220)의 제어에 따라 제공되는 제어 신호, 명령, 데이터 등이 통신 모듈(230)과 네트워크를 거쳐 사용자 단말 및/또는 외부 시스템의 통신 모듈을 통해 사용자 단말 및/또는 외부 시스템으로 전송될 수 있다. 예를 들어, 사용자 단말 및/또는 외부 시스템은 컴퓨팅 장치(100)로부터 특정 시점에서의 깊이 정보 및 컬러 정보를 기초로 추출된 의미론적 정보 등을 전달받을 수 있다.The communication module 230 may provide a configuration or function for a user terminal (not shown) and the computing device 100 to communicate with each other through a network, and the computing device 100 may provide an external system (for example, a separate cloud system). etc.) may provide a configuration or function to communicate with. For example, control signals, commands, data, etc. provided under the control of the processor 220 of the computing device 100 are transmitted through the communication module 230 and the network to the user terminal and/or the user terminal through the communication module of the external system. and/or transmitted to an external system. For example, a user terminal and/or an external system may receive semantic information extracted based on depth information and color information at a specific point in time from the computing device 100 .
또한, 컴퓨팅 장치(100)의 입출력 인터페이스(240)는 컴퓨팅 장치(100)와 연결되거나 컴퓨팅 장치(100)가 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 도 2에서는 입출력 인터페이스(240)가 프로세서(220)와 별도로 구성된 요소로서 도시되었으나, 이에 한정되지 않으며, 입출력 인터페이스(240)가 프로세서(220)에 포함되도록 구성될 수 있다. 컴퓨팅 장치(100)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다.In addition, the input/output interface 240 of the computing device 100 may be connected to the computing device 100 or may be a means for interface with a device (not shown) for input or output that may be included in the computing device 100. . In FIG. 2 , the input/output interface 240 is shown as an element configured separately from the processor 220 , but is not limited thereto, and the input/output interface 240 may be included in the processor 220 . Computing device 100 may include many more components than those of FIG. 2 . However, there is no need to clearly show most of the prior art components.
컴퓨팅 장치(100)의 프로세서(220)는 복수의 사용자 단말 및/또는 복수의 외부 시스템으로부터 수신된 정보 및/또는 데이터를 관리, 처리 및/또는 저장하도록 구성될 수 있다. 일 실시예에 따르면, 프로세서(220)는 사용자 단말 및/또는 외부 시스템으로부터 특정 시점에서의 깊이 정보 및 컬러 정보(예를 들어, 카메라 촬영 영상 등)를 수신할 수 있다. 이 경우, 프로세서(220)는 수신된 특정 시점에서의 깊이 정보 및 컬러 정보를 이용하여 3차원 지도 정보를 생성하고, 3차원 지도 정보를 이용하여 2차원 조감도 영상을 생성하고, 의미론적 분할 모델을 이용하여 생성된 2차원 조감도 영상 내에 포함된 의미론적 정보를 추출할 수 있다.The processor 220 of the computing device 100 may be configured to manage, process, and/or store information and/or data received from a plurality of user terminals and/or a plurality of external systems. According to an embodiment, the processor 220 may receive depth information and color information (eg, a camera image, etc.) at a specific point in time from a user terminal and/or an external system. In this case, the processor 220 generates 3D map information using the received depth information and color information at a specific point in time, generates a 2D bird's eye view image using the 3D map information, and generates a semantic segmentation model. It is possible to extract semantic information included in the 2D bird's eye view image created using
도 3은 본 개시의 일 실시예에 따른 프로세서(220)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 바와 같이, 프로세서(220)는 촬영부(310), 3차원 지도 생성부(320), 2차원 조감도 영상 생성부(330) 등을 포함할 수 있다. 일 실시예에 따르면, 촬영부(310)는 이미지, 영상 등을 촬영할 수 있다. 예를 들어, 촬영부(310)에 의해 촬영된 이미지, 영상 등은 특정 시점에서의 깊이 정보 및 컬러 정보를 포함할 수 있다. 즉, 촬영부(310)는 깊이 정보 및 컬러 정보를 포함하는 이미지, 영상 등을 촬영하기 위한 라이다 센서, 스테레오 카메라, 뎁스 카메라 등으로 구성될 수 있다. 도 3에서는, 촬영부(310)가 이미지, 영상을 직접 촬영하는 것으로 상술되었으나, 이에 한정되지 않으며, 촬영부(310)는 데이터베이스 및/또는 외부 장치(예를 들어, 사용자 단말 또는 외부 시스템 등)와 통신하며, 특정 시점에서의 깊이 정보 및 컬러 정보를 수신할 수도 있다.3 is a functional block diagram showing an internal configuration of a processor 220 according to an embodiment of the present disclosure. As shown, the processor 220 may include a photographing unit 310, a 3D map generator 320, a 2D bird's eye view image generator 330, and the like. According to an embodiment, the photographing unit 310 may capture images, videos, and the like. For example, an image or video captured by the photographing unit 310 may include depth information and color information at a specific point in time. That is, the photographing unit 310 may include a LiDAR sensor, a stereo camera, a depth camera, and the like for capturing an image or video including depth information and color information. In FIG. 3, although the photographing unit 310 has been described above as directly capturing an image or video, it is not limited thereto, and the photographing unit 310 may use a database and/or an external device (eg, a user terminal or an external system). It communicates with and may receive depth information and color information at a specific point in time.
3차원 지도 생성부(320)는 깊이 정보 및 컬러 정보를 이용하여 3차원 지도 정보를 생성할 수 있다. 이 경우, 3차원 지도 생성부(320)는 깊이 정보 및 컬러 정보를 특정 영역, 특정 위치 등과 연관시켜 3차원 지도 정보를 생성할 수 있다. 즉, 깊이 정보 및 컬러 정보는 3차원 지도 정보 상에서 깊이 정보 및 컬러 정보가 촬영되거나 추출된 이미지, 영상 등과 동일하거나 유사하게 배치될 수 있다. 여기서, 3차원 지도 정보는 X축 값, Y축 값 및 Z축 값을 기초로 구분된 복수의 복셀을 포함할 수 있으며, 복수의 복셀은 컬러 값 및 점유 유무(예를 들어, 컬러 정보, 컬러 값의 적어도 일부를 포함하는지 여부)에 대한 정보를 포함할 수 있다.The 3D map generator 320 may generate 3D map information using depth information and color information. In this case, the 3D map generating unit 320 may generate 3D map information by associating depth information and color information with a specific region and a specific location. That is, the depth information and color information may be arranged identically or similarly to an image or video from which the depth information and color information are photographed or extracted on the 3D map information. Here, the 3D map information may include a plurality of voxels classified based on X-axis values, Y-axis values, and Z-axis values, and the plurality of voxels may include color values and occupancy (eg, color information, color whether or not at least part of the value) may be included.
일 실시예에 따르면, 3차원 지도 생성부(320)는 생성된 3차원 지도 정보를 지속적으로 또는 미리 정해진 주기에 따라 업데이트할 수 있다. 예를 들어, 3차원 지도 생성부(320)는 특정 시점 이후의 시점에 추가 깊이 정보 및 추가 컬러 정보를 수신할 수 있다. 여기서, 추가 깊이 정보 및 추가 컬러 정보는 3차원 지도 정보와 연관된 영역을 기초로 결정된 것일 수 있다. 그리고 나서, 3차원 지도 생성부(320)는 3차원 지도 정보 중에서, 수신된 추가 깊이 정보 및 추가 컬러 정보에 대응하는 영역을 결정하고, 추가 깊이 정보 및 추가 컬러 정보를 기초로, 3차원 지도 정보 중에서 결정된 영역에 대응하는 복셀을 업데이트할 수 있다. 다시 말해, 3차원 지도 생성부(320)는 3차원 지도 정보와 대응하는 영역 상의 기존의 객체가 변경되거나, 새로운 객체가 추가된 경우, 변경되거나 추가된 부분만을 업데이트하여 3차원 지도 정보를 효율적으로 관리할 수 있다.According to an embodiment, the 3D map generator 320 may continuously update the generated 3D map information or according to a predetermined cycle. For example, the 3D map generator 320 may receive additional depth information and additional color information at a point in time after a specific point in time. Here, the additional depth information and the additional color information may be determined based on an area associated with 3D map information. Then, the 3D map generator 320 determines an area corresponding to the received additional depth information and additional color information among the 3D map information, and based on the additional depth information and additional color information, the 3D map information A voxel corresponding to the determined area may be updated. In other words, when an existing object in an area corresponding to the 3D map information is changed or a new object is added, the 3D map generator 320 updates only the changed or added portion to efficiently generate the 3D map information. can manage
2차원 조감도 영상 생성부(330)는 생성된 3차원 지도 정보를 이용하여 2차원 조감도 영상을 생성할 수 있다. 즉, 2차원 조감도 영상 생성부(330)는 생성된 3차원 지도 정보의 전부 또는 일부를 평면 상에 투영하여 2차원 조감도 영상을 생성할 수 있다. 3차원 지도 정보를 투영하기 위해, 2차원 조감도 영상 생성부(330)는 2차원 조감도 영상 내에서의 너비 및 높이를 결정할 수 있다. 다시 말해, 2차원 조감도 영상 생성부(330)는 3차원 지도 정보 중 결정된 너비 및 높이에 대응하는 부분을 투영하여 2차원 조감도 영상을 생성할 수 있다.The 2D bird's eye view image generator 330 may generate a 2D bird's eye view image using the generated 3D map information. That is, the 2D bird's eye view image generator 330 may generate a 2D bird's eye view image by projecting all or part of the generated 3D map information onto a plane. To project the 3D map information, the 2D bird's eye view image generator 330 may determine the width and height of the 2D bird's eye view image. In other words, the 2D bird's eye view image generator 330 may generate a 2D bird's eye view image by projecting a portion corresponding to the determined width and height of the 3D map information.
2차원 조감도 영상 내의 각 픽셀에 대응하는 컬러 값을 결정하기 위해, 2차원 조감도 영상 생성부(330)는 3차원 지도 정보를 기초로 복수의 복셀을 복수의 서브 복셀 세트로 그룹화할 수 있다. 여기서, 복수의 서브 복셀 세트의 각각은, X축 값 및 Y축 값이 동일하고 Z축 값이 상이한 복셀들을 포함할 수 있다. 그리고 나서, 2차원 조감도 영상 생성부(330)는 그룹화된 복수의 서브 복셀 세트의 각각에서 Z축 값이 높은 순서에서 낮은 순서로 각 복셀을 탐색하여, 탐색된 복셀의 점유 유무를 결정할 수 있다. 점유된 복셀이 탐색된 경우, 2차원 조감도 영상 생성부(330)는 탐색된 복셀의 컬러 정보를 2차원 영역에 투영하여, 2차원 조감도 영상 내의 각 픽셀에 대한 컬러 값을 결정할 수 있다. 추가적으로, 점유된 복셀이 탐색되지 않은 경우, 2차원 조감도 영상 생성부(330)는 컬러와 연관된 초기값을 2차원 영역에 투영할 수 있다. 이와 같은 구성에 의해, 2차원 조감도 영상 생성부(330)는 3차원 지도 정보를 투영할 너비 및 높이를 결정하고, 결정된 너비 및 높이에 대응하는 컬러 값을 탐색하여 3차원 지도 정보 중 전부 또는 일부를 상부에서 바라본 버드 아이 뷰 시점의 2차원 조감도 영상을 효과적으로 생성할 수 있다.To determine a color value corresponding to each pixel in the 2D bird's eye view image, the 2D bird's eye view image generator 330 may group a plurality of voxels into a plurality of sub-voxel sets based on 3D map information. Here, each of the plurality of sub-voxel sets may include voxels having the same X-axis value and Y-axis value and different Z-axis values. Then, the 2D bird's-eye view image generator 330 may search for each voxel in the order of Z-axis value from highest to lowest in each of the plurality of grouped sub-voxel sets, and determine whether the searched voxel is occupied. When the occupied voxel is searched for, the 2D bird's eye view image generator 330 may project color information of the searched voxel onto a 2D area to determine a color value for each pixel in the 2D bird's eye view image. Additionally, when the occupied voxel is not searched for, the 2D bird's eye view image generator 330 may project an initial value associated with color onto a 2D area. With this configuration, the 2D bird's eye view image generator 330 determines the width and height to project the 3D map information on, searches for color values corresponding to the determined width and height, and then searches for all or part of the 3D map information. It is possible to effectively generate a 2D bird's eye view image from a bird's eye view point of view from above.
도 3에서는 프로세서(220)의 구성을 각각의 기능별로 구분하여 설명하였으나, 반드시 물리적으로 구분되는 것을 의미하지 않는다. 예를 들어, 3차원 지도 생성부(320)와 2차원 조감도 영상 생성부(330)는 구분되어 상술되었으나, 이는 발명의 이해를 돕기 위한 것으로서, 이에 한정되지 않는다.In FIG. 3, the configuration of the processor 220 has been described separately for each function, but this does not necessarily mean that they are physically separated. For example, although the 3D map generating unit 320 and the 2D bird's eye view image generating unit 330 have been separately described above, this is for helping understanding of the invention, and is not limited thereto.
도 4는 본 개시의 일 실시예에 따른 3차원 지도 정보를 이용한 의미론적 분할 방법(400)을 나타내는 흐름도이다. 일 실시예에 따르면, 의미론적 분할 방법(400)은 프로세서(예를 들어, 컴퓨팅 장치의 프로세서 및/또는 정보 처리 시스템의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 도시된 바와 같이, 의미론적 분할 방법(400)은 프로세서가 특정 시점에서의 깊이 정보 및 컬러 정보를 수신함으로써 개시될 수 있다(S410). 예를 들어, 특정 시점에서의 깊이 정보 및 컬러 정보는 임의의 카메라 영상 등에 포함될 수 있다.4 is a flowchart illustrating a semantic segmentation method 400 using 3D map information according to an embodiment of the present disclosure. According to an embodiment, the semantic segmentation method 400 may be performed by a processor (eg, a processor of a computing device and/or at least one processor of an information processing system). As shown, the semantic segmentation method 400 may be initiated when a processor receives depth information and color information at a specific time point (S410). For example, depth information and color information at a specific viewpoint may be included in an arbitrary camera image.
프로세서는 수신된 깊이 정보 및 컬러 정보를 이용하여 3차원 지도 정보를 생성할 수 있다(S420). 여기서, 3차원 지도 정보는 X축 값, Y축 값 및 Z축 값을 기초로 구분된 복수의 복셀을 포함할 수 있다. 또한, 복수의 복셀의 각각은, 컬러 값 및 점유 유무에 대한 정보를 포함할 수 있다.The processor may generate 3D map information using the received depth information and color information (S420). Here, the 3D map information may include a plurality of voxels classified based on X-axis values, Y-axis values, and Z-axis values. Also, each of the plurality of voxels may include a color value and information about occupancy.
프로세서는 생성된 3차원 지도 정보를 이용하여 2차원 조감도 영상을 생성할 수 있다(S430). 일 실시예에 따르면, 프로세서는 2차원 조감도 영상 내에서의 너비 및 높이를 결정하고, 3차원 지도 정보를 결정된 너비 및 높이로 정의되는 2차원 영역에 투영함으로써, 2차원 조감도 영상을 생성할 수 있다. 이 경우, 프로세서는 3차원 지도 정보를 기초로 복수의 복셀을 복수의 서브 복셀 세트로 그룹화할 수 있다. 예를 들어, 복수의 서브 복셀 세트의 각각은, X축 값 및 Y축 값이 동일하고 Z축 값이 상이한 복셀들을 포함할 수 있다. 그리고 나서, 프로세서는 그룹화된 복수의 서브 복셀 세트의 각각에서 Z축 값이 높은 순서에서 낮은 순서로 각 복셀을 탐색하여, 탐색된 복셀의 점유 유무를 결정하고, 점유된 복셀이 탐색된 경우, 탐색된 복셀의 컬러 정보를 2차원 영역에 투영할 수 있다. 또한, 프로세서는 점유된 복셀이 탐색되지 않은 경우, 컬러와 연관된 초기값을 2차원 영역에 투영할 수 있다.The processor may generate a 2D bird's eye view image using the generated 3D map information (S430). According to an embodiment, the processor may generate a 2D bird's eye view image by determining the width and height of the 2D bird's eye view image and projecting 3D map information onto a 2D area defined by the determined width and height. . In this case, the processor may group a plurality of voxels into a plurality of sub-voxel sets based on the 3D map information. For example, each of the plurality of sub-voxel sets may include voxels having the same X-axis value and Y-axis value and different Z-axis values. Then, the processor searches each voxel in the order of Z-axis value from highest to lowest in each of the plurality of grouped sub-voxel sets, determines whether the searched voxel is occupied, and if the occupied voxel is searched, search The color information of the voxel may be projected onto a 2D area. Also, if the occupied voxel is not searched for, the processor may project an initial value associated with the color onto the 2D area.
프로세서는 의미론적 분할 모델을 이용하여 생성된 2차원 조감도 영상 내에 포함된 의미론적 정보를 추출할 수 있다(S440). 여기서, 의미론적 분할 모델은 2차원 조감도 영상으로부터 영상 내의 의미론적 정보를 추출하도록 학습된 기계학습 모델, 인공신경망 모델 등을 지칭할 수 있다. 예를 들어, 의미론적 분할 모델은 하나 이상의 조감도 마스크 영상 및 복수의 조감도 영상을 이용하여 학습될 수 있다.The processor may extract semantic information included in the 2D bird's eye view image generated by using the semantic segmentation model (S440). Here, the semantic segmentation model may refer to a machine learning model, an artificial neural network model, etc. learned to extract semantic information within an image from a 2D bird's eye view image. For example, a semantic segmentation model may be learned using one or more bird's eye view mask images and a plurality of bird's eye view images.
도 5는 본 개시의 일 실시예에 따른 깊이 정보 및 컬러 정보(510)를 기초로 의미론적 정보(540)를 추출하는 예시적인 블록도이다. 도시된 바와 같이, 프로세서(예를 들어, 도 2의 220)는 깊이 정보 및 컬러 정보(510)를 수신할 수 있다. 또한, 프로세서는 깊이 정보 및 컬러 정보(510)를 전처리하여 3차원 지도 정보(520)를 생성할 수 있다(512). 예를 들어, 프로세서는 깊이 정보 및 컬러 정보(510)와 연관된 영역, 위치 등을 결정하고, 결정된 영역, 위치 등과 대응되도록 3차원 지도 정보(520)의 복수의 복셀 상에 깊이 정보 및 컬러 정보(510)를 배치할 수 있다.5 is an exemplary block diagram for extracting semantic information 540 based on depth information and color information 510 according to an embodiment of the present disclosure. As shown, a processor (eg, 220 of FIG. 2 ) may receive depth information and color information 510 . In addition, the processor may generate 3D map information 520 by pre-processing the depth information and color information 510 (512). For example, the processor determines an area, location, etc. associated with the depth information and color information 510, and the depth information and color information ( 510) can be placed.
일 실시예에 따르면, 프로세서는 3차원 지도 정보(520)를 시점 변경 및 투영하여 2차원 조감도 영상(530)을 생성할 수 있다. 예를 들어, 프로세서는 2차원 조감도 영상(530) 내에서의 너비 및 높이를 결정하고, 3차원 지도 정보(520)를 결정된 너비 및 높이로 정의되는 2차원 영역에 투영함으로써, 2차원 조감도 영상(530)을 생성할 수 있다. 여기서, 결정된 너비 및 높이는 깊이 정보 및 컬러 정보(510)가 추출된 실제 영역과의 상관 관계를 기초로 스케일(scale)될 수 있다. 예를 들어, 2차원 영역 상의 결정된 너비 및 높이는 임의의 개수의 픽셀을 포함할 수 있으며, 픽셀의 크기 및 스케일 범위를 기초로 실제 영역 상의 거리 등이 계산될 수 있다.According to an embodiment, the processor may generate a 2D bird's eye view image 530 by changing and projecting a viewpoint of the 3D map information 520 . For example, the processor determines the width and height of the 2D bird's-eye view image 530, and projects the 3D map information 520 onto a 2D area defined by the determined width and height, so that the 2D bird's-eye view image ( 530) can be created. Here, the determined width and height may be scaled based on a correlation with an actual area from which the depth information and color information 510 are extracted. For example, the determined width and height of the 2D area may include an arbitrary number of pixels, and a distance on the real area may be calculated based on the size and scale range of the pixels.
일 실시예에 따르면, 프로세서는 2차원 조감도 영상(530)을 의미론적 분할 모델에 입력하여 의미론적 정보(540)를 추출할 수 있다(532). 예를 들어, 의미론적 분할 모델은 조감도 영상으로부터 해당 영상의 의미론적 정보를 포함하는 마스크 영상을 출력하도록 학습된 모델일 수 있다. 즉, 프로세서는 2차원 조감도 영상(530) 내에 포함된 각각의 객체를 의미론적으로 분할한 의미론적 정보(540)를 추출할 수 있다. 이와 같은 구성에 의해, 프로세서는 3차원 지도 정보(520)를 먼저 생성하고, 3차원 지도 정보(520)로부터 생성된 2차원 조감도 영상(530)을 이용하여 의미론적 정보(540)를 추출함으로써, 정면 시점의 영상으로부터 곧바로 의미론적 정보를 추출한 후, 버드 아이 뷰 시점으로 변환하는 경우보다 정보의 손실을 충분히 감소시킬 수 있으며, 그에 따라 추출되는 의미론적 정보(540)의 정밀도를 향상시킬 수 있다.According to an embodiment, the processor may extract semantic information 540 by inputting the 2D bird's eye view image 530 to a semantic segmentation model (532). For example, the semantic segmentation model may be a model learned to output a mask image including semantic information of a corresponding image from a bird's eye view image. That is, the processor may extract semantic information 540 obtained by semantically dividing each object included in the 2D bird's eye view image 530 . With this configuration, the processor first generates 3D map information 520 and extracts semantic information 540 using the 2D bird's eye view image 530 generated from the 3D map information 520, It is possible to sufficiently reduce the loss of information compared to the case of directly extracting semantic information from the image of the front view and then converting to the bird's eye view, and accordingly, the precision of the extracted semantic information 540 can be improved.
도 6은 본 개시의 일 실시예에 따른 3차원 지도 정보(610)를 기초로 2차원 조감도 영상(630)을 생성하는 예시를 나타내는 도면이다. 도시된 바와 같이, 3차원 지도 정보(610)는 X축 값, Y축 값 및 Z축 값을 기초로 구분된 복수의 복셀을 포함할 수 있다. 여기서, 복수의 복셀의 각각은, 컬러 값 및 점유 유무에 대한 정보를 포함할 수 있다.6 is a diagram illustrating an example of generating a 2D bird's eye view image 630 based on 3D map information 610 according to an embodiment of the present disclosure. As shown, the 3D map information 610 may include a plurality of voxels classified based on X-axis values, Y-axis values, and Z-axis values. Here, each of the plurality of voxels may include a color value and information about occupancy.
일 실시예에 따르면, 프로세서(도 2의 220)는 3차원 지도 정보(610)를 기초로 복수의 복셀을 복수의 서브 복셀 세트로 그룹화할 수 있다. 여기서, 복수의 서브 복셀 세트의 각각은, X축 값 및 Y축 값이 동일하고 Z축 값이 상이한 복셀들을 포함할 수 있다. 예를 들어, 제1 복셀(620_1), 제2 복셀(620_2), 제3 복셀(620_3) 및 제4 복셀(620_4)은 X축 값 및 Y축 값이 동일하고 Z축 값이 상이하므로, 동일한 서브 복셀 세트로 그룹화될 수 있다.According to an embodiment, the processor ( 220 of FIG. 2 ) may group a plurality of voxels into a plurality of sub-voxel sets based on the 3D map information 610 . Here, each of the plurality of sub-voxel sets may include voxels having the same X-axis value and Y-axis value and different Z-axis values. For example, since the first voxel 620_1, the second voxel 620_2, the third voxel 620_3, and the fourth voxel 620_4 have the same X-axis value and Y-axis value and different Z-axis values, the same may be grouped into sub-voxel sets.
그리고 나서, 프로세서는 그룹화된 서브 복셀 세트 각각을 탐색하여 2차원 조감도 영상(630)에 포함된 픽셀 각각의 컬러 값을 결정할 수 있다. 예를 들어, 서브 복셀 세트마다 2차원 조감도 영상(630)의 하나의 픽셀이 대응될 수 있다. 이 경우, 2차원 조감도 영상(630)의 각각의 픽셀의 컬러 값은 서브 복셀 세트에 포함된 각 복셀의 컬러 값 중 가장 먼저 탐색되는 컬러 값에 기초하여 결정될 수 있다.Then, the processor may search each of the grouped sub-voxel sets to determine a color value of each pixel included in the 2D bird's eye view image 630 . For example, one pixel of the 2D bird's eye view image 630 may correspond to each sub-voxel set. In this case, the color value of each pixel of the 2D bird's-eye view image 630 may be determined based on the first searched color value among the color values of each voxel included in the sub-voxel set.
일 실시예에 따르면, 프로세서는 그룹화된 복수의 서브 복셀 세트의 각각에서 Z축 값이 높은 순서에서 낮은 순서로 각 복셀을 탐색하여, 탐색된 복셀의 점유 유무를 결정할 수 있다. 점유된 복셀이 탐색된 경우, 프로세서는 탐색된 복셀의 컬러 정보를 2차원 영역에 투영하여, 2차원 조감도 영상(630)의 각각의 픽셀의 컬러 값을 결정할 수 있다. 예를 들어, 프로세서는 서브 복셀 세트에 대하여 Z축 값이 가장 큰 제1 복셀(620_1)을 먼저 탐색할 수 있다. 제1 복셀(620_1)이 점유된 경우, 프로세서는 제1 복셀(620_1)의 컬러 정보를 기초로 대응하는 2차원 조감도 영상(630)의 픽셀(640)의 컬러 값을 결정할 수 있다. 반대로, 제1 복셀(620_1)이 점유되지 않은 경우, 프로세서는 제2 복셀(620_2), 제3 복셀(620_3) 및 제4 복셀(620_4)을 순서대로 탐색하여, 점유된 복셀이 있는 경우, 해당 복셀의 컬러 정보를 기초로 대응하는 2차원 조감도 영상(630)의 픽셀(640)의 컬러 값을 결정할 수 있다. 여기서, 서브 복셀 세트의 모든 복셀이 점유되지 않은 경우, 프로세서는 해당 서브 복셀 세트에 대응하는 2차원 조감도 영상(630)의 픽셀(640)의 컬러 값을 컬러와 연관된 초기값으로 결정할 수 있다. 이와 같은 구성에 의해, 컬러 값 또는 컬러와 연관된 초기값을 포함하도록 2차원 조감도 영상(630)이 생성된 경우, 프로세서는 2차원 조감도 영상(630)에 포함된 각각의 객체를 분할하여 의미론적 정보를 추출할 수 있다. 이와 같은 구성에 의해, 카메라 시점에 종속적이던 영상을 카메라 시점에 독립적인 2차원 조감도 영상(630)으로 변환하여 기하학적으로 취급하기 쉬운 영상을 사용함으로써, 의미론적 정보 추출을 위한 연산량, 연산 효율성, 연산 결과 등이 획기적으로 개선될 수 있다.According to an embodiment, the processor may determine whether the searched voxel is occupied by searching for each voxel in the order of Z-axis value from highest to lowest in each of the plurality of grouped sub-voxel sets. When the occupied voxel is searched for, the processor may determine a color value of each pixel of the 2D bird's eye view image 630 by projecting color information of the searched voxel onto a 2D area. For example, the processor may first search for the first voxel 620_1 having the largest Z-axis value in the sub-voxel set. When the first voxel 620_1 is occupied, the processor may determine a color value of the corresponding pixel 640 of the 2D bird's eye view image 630 based on the color information of the first voxel 620_1. Conversely, when the first voxel 620_1 is not occupied, the processor sequentially searches the second voxel 620_2, the third voxel 620_3, and the fourth voxel 620_4, and if there is an occupied voxel, the corresponding A color value of a pixel 640 of a corresponding 2D bird's eye view image 630 may be determined based on color information of a voxel. Here, when all voxels of the sub-voxel set are not occupied, the processor may determine the color value of the pixel 640 of the 2D bird's eye view image 630 corresponding to the sub-voxel set as an initial value associated with the color. With this configuration, when the 2D bird's eye view image 630 is generated to include color values or initial values related to colors, the processor divides each object included in the 2D bird's eye view image 630 to obtain semantic information. can be extracted. With this configuration, the image dependent on the camera viewpoint is converted into a two-dimensional bird's eye view image 630 independent of the camera viewpoint, and an image that is easy to handle geometrically is used. Results and the like can be drastically improved.
도 7은 본 개시의 일 실시예에 따른 의미론적 변환 모델(700)의 예시를 나타내는 도면이다. 도시된 바와 같이, 의미론적 변환 모델(700)은 2차원 조감도 영상(710)을 입력받고, 2차원 조감도 영상(710)에 포함된 의미론적 정보(720)를 추출할 수 있다. 예를 들어, 의미론적 변환 모델(700)은 기계학습 모델, 인공신경망 모델 등을 포함할 수 있다.7 is a diagram illustrating an example of a semantic transformation model 700 according to an embodiment of the present disclosure. As shown, the semantic transformation model 700 may receive a 2D bird's eye view image 710 and extract semantic information 720 included in the 2D bird's eye view image 710 . For example, the semantic conversion model 700 may include a machine learning model, an artificial neural network model, and the like.
일 실시예에 따르면, 의미론적 변환 모델(700)은 복수의 조감도 영상의 각각 내에서의 하나 이상의 의미론적 분할 영역에 대응하는 하나 이상의 조감도 마스크 영상 및 복수의 조감도 영상을 이용하여 학습될 수 있다. 즉, 프로세서는 카메라의 시점(point of view)에서의 복수의 영상을 수신하고, 카메라의 파라미터를 이용하여 수신된 복수의 영상을 변환함으로써, 복수의 조감도 영상을 생성할 수 있다. 그리고 나서, 임의의 의미론적 분할 알고리즘 등을 이용하여 복수의 조감도 영상의 각각 내에서의 하나 이상의 의미론적 분할 영역에 대응하는 하나 이상의 조감도 마스크 영상을 생성할 수 있다. 다시 말해, 프로세서는 이와 같이 생성된 복수의 조감도 영상 및 하나 이상의 조감도 마스크 영상을 이용하여 의미론적 변환 모델(700)을 학습시킬 수 있다.According to an embodiment, the semantic conversion model 700 may be learned using one or more bird's eye view mask images and a plurality of bird's eye view images corresponding to one or more semantic segmentation regions within each of the plurality of bird's eye view images. That is, the processor may generate a plurality of bird's-eye view images by receiving a plurality of images from the point of view of the camera and transforming the received plurality of images using parameters of the camera. Then, one or more bird's eye view mask images corresponding to one or more semantic segmentation regions in each of the plurality of bird's eye view images may be generated using an arbitrary semantic segmentation algorithm or the like. In other words, the processor may train the semantic conversion model 700 using the plurality of bird's eye view images and one or more bird's eye view mask images generated in this way.
도 7에서는 의미론적 변환 모델(700)이 하나의 모델인 것으로 도시되었으나, 이에 한정되지 않는다. 예를 들어, 의미론적 변환 모델(700)은 2차원 조감도 영상(710)에 포함된 픽셀들을 구분하는 모델, 구분된 픽셀에 대응하는 클래스 값을 할당하는 모델 등의 복수의 모델로 구분될 수도 있다. 이와 같은 구성에 의해, 학습된 의미론적 변환 모델(700)을 이용함으로써, 프로세서는 연산량이 높은 의미론적 분할 기법을 보다 효율적으로 사용할 수 있다. 즉, 프로세서는 동일한 영역에 대한 의미론적 분할 추론을 보다 적은 횟수의 연산을 통해 수행할 수 있다.Although the semantic transformation model 700 is shown as one model in FIG. 7 , it is not limited thereto. For example, the semantic conversion model 700 may be divided into a plurality of models, such as a model for classifying pixels included in the 2D bird's eye view image 710 and a model for assigning a class value corresponding to the identified pixels. . With such a configuration, by using the learned semantic conversion model 700, the processor can more efficiently use the semantic segmentation technique with a high amount of computation. That is, the processor can perform semantic segmentation inference for the same region through fewer operations.
도 8은 본 개시의 일 실시예에 따른 인공신경망 모델(800)을 나타내는 예시도이다. 인공신경망 모델(800)은, 기계학습 모델의 일 예로서, 기계학습(Machine Learning) 기술과 인지과학에서, 생물학적 신경망의 구조에 기초하여 구현된 통계학적 학습 알고리즘 또는 그 알고리즘을 실행하는 구조이다.8 is an exemplary diagram illustrating an artificial neural network model 800 according to an embodiment of the present disclosure. The artificial neural network model 800, as an example of a machine learning model, is a statistical learning algorithm implemented based on the structure of a biological neural network or a structure that executes the algorithm in machine learning technology and cognitive science.
일 실시예에 따르면, 인공신경망 모델(800)은, 생물학적 신경망에서와 같이 시냅스의 결합으로 네트워크를 형성한 인공 뉴런인 노드(Node)들이 시냅스의 가중치를 반복적으로 조정하여, 특정 입력에 대응한 올바른 출력과 추론된 출력 사이의 오차가 감소되도록 학습함으로써, 문제 해결 능력을 가지는 기계학습 모델을 나타낼 수 있다. 예를 들어, 인공신경망 모델(800)은 기계 학습, 딥러닝 등의 인공지능 학습법에 사용되는 임의의 확률 모델, 뉴럴 네트워크 모델 등을 포함할 수 있다.According to one embodiment, the artificial neural network model 800, as in a biological neural network, is an artificial neuron nodes formed by synaptic coupling to repeatedly adjust synaptic weights, thereby correcting the correct response corresponding to a specific input. By learning to reduce the error between the output and the inferred output, it is possible to represent a machine learning model having problem solving ability. For example, the artificial neural network model 800 may include an arbitrary probability model, a neural network model, and the like used in artificial intelligence learning methods such as machine learning and deep learning.
일 실시예에 따르면, 상술된 의미론적 변환 모델(도 7의 700)은 기계학습 모델의 한 형태로서, 인공신경망 모델(800)의 형태로 생성될 수 있다. 예를 들어, 인공신경망 모델(800)은 조감도 영상을 수신하여, 수신된 영상에 포함된 의미론적 정보를 추출할 수 있다. 예를 들어, 의미론적 정보는 조감도 영상 내의 각각의 픽셀에 대응하는 클래스 값을 할당함으로써 추출될 수 있다.According to an embodiment, the above-described semantic transformation model (700 in FIG. 7 ) is a type of machine learning model and may be generated in the form of an artificial neural network model 800 . For example, the artificial neural network model 800 may receive a bird's eye view image and extract semantic information included in the received image. For example, semantic information may be extracted by assigning a class value corresponding to each pixel in a bird's eye view image.
인공신경망 모델(800)은 다층의 노드들과 이들 사이의 연결로 구성된 다층 퍼셉트론(MLP: multilayer perceptron)으로 구현된다. 본 실시예에 따른 인공신경망 모델(800)은 MLP를 포함하는 다양한 인공신경망 모델 구조들 중의 하나를 이용하여 구현될 수 있다. 도 8에 도시된 바와 같이, 인공신경망 모델(800)은, 외부로부터 입력 신호 또는 데이터(810)를 수신하는 입력층(820), 입력 데이터에 대응한 출력 신호 또는 데이터(850)를 출력하는 출력층(840), 입력층(820)과 출력층(840) 사이에 위치하며 입력층(820)으로부터 신호를 받아 특성을 추출하여 출력층(840)으로 전달하는 n개(여기서, n은 양의 정수)의 은닉층(830_1 내지 830_n)으로 구성된다. 여기서, 출력층(840)은 은닉층(830_1 내지 830_n)으로부터 신호를 받아 외부로 출력한다.The artificial neural network model 800 is implemented as a multilayer perceptron (MLP) composed of multi-layer nodes and connections between them. The artificial neural network model 800 according to this embodiment may be implemented using one of various artificial neural network model structures including MLP. As shown in FIG. 8, the artificial neural network model 800 includes an input layer 820 that receives an input signal or data 810 from the outside, and an output layer that outputs an output signal or data 850 corresponding to the input data. 840, located between the input layer 820 and the output layer 840, receives a signal from the input layer 820, extracts characteristics, and transfers n (where n is a positive integer) to the output layer 840. It is composed of hidden layers 830_1 to 830_n. Here, the output layer 840 receives signals from the hidden layers 830_1 to 830_n and outputs them to the outside.
인공신경망 모델(800)의 학습 방법에는, 교사 신호(정답)의 입력에 의해서 문제의 해결에 최적화되도록 학습하는 지도 학습(Supervised Learning) 방법과, 교사 신호를 필요로 하지 않는 비지도 학습(Unsupervised Learning) 방법이 있다. 정보 처리 시스템은 조감도 영상으로부터 의미론적 정보를 추출하도록 인공신경망 모델(800)을 지도 학습 및/또는 비지도 학습시킬 수 있다. 이렇게 학습된 인공신경망 모델(800)은 정보 처리 시스템의 메모리(미도시)에 저장될 수 있으며, 통신 모듈 및/또는 메모리로부터 수신된 2차원 조감된 영상에 포함된 의미론적 정보를 추출할 수 있다.The learning method of the artificial neural network model 800 includes a supervised learning method that learns to be optimized for problem solving by inputting a teacher signal (correct answer), and an unsupervised learning method that does not require a teacher signal. ) way. The information processing system may perform supervised learning and/or unsupervised learning of the artificial neural network model 800 to extract semantic information from a bird's eye view image. The artificial neural network model 800 learned in this way may be stored in a memory (not shown) of an information processing system, and semantic information included in a two-dimensional bird's-eye view received from a communication module and/or memory may be extracted. .
일 실시예에 따르면, 인공신경망 모델(800)의 입력변수는, 2차원 조감도 영상 등을 포함할 수 있다. 이와 같이 상술된 입력변수가 입력층(820)을 통해 입력되는 경우, 인공신경망 모델(800)의 출력층(840)에서 출력되는 출력변수는 2차원 조감도 영상 내의 의미론적 정보를 나타내거나 특징화하는 벡터가 될 수 있다.According to an embodiment, input variables of the artificial neural network model 800 may include a 2D bird's eye view image and the like. In this way, when the above-described input variables are input through the input layer 820, the output variables output from the output layer 840 of the artificial neural network model 800 are vectors representing or characterizing semantic information in the 2D bird's eye view image. can be
이와 같이, 인공신경망 모델(800)의 입력층(820)과 출력층(840)에 복수의 입력변수와 대응되는 복수의 출력변수가 각각 매칭되고, 입력층(820), 은닉층(830_1 내지 830_n) 및 출력층(840)에 포함된 노드들 사이의 시냅스 값이 조정됨으로써, 특정 입력에 대응한 올바른 출력이 추출될 수 있도록 학습될 수 있다. 이러한 학습 과정을 통해, 인공신경망 모델(800)의 입력변수에 숨겨져 있는 특성을 파악할 수 있고, 입력변수에 기초하여 계산된 출력변수와 목표 출력 간의 오차가 줄어들도록 인공신경망 모델(800)의 노드들 사이의 시냅스 값(또는 가중치)를 조정할 수 있다. 이렇게 학습된 인공신경망 모델(800)을 이용하여, 2차원 조감도 영상 내에 포함된 의미론적 정보가 추출될 수 있다.In this way, a plurality of output variables corresponding to a plurality of input variables are matched in the input layer 820 and the output layer 840 of the artificial neural network model 800, respectively, and the input layer 820, the hidden layers 830_1 to 830_n and By adjusting synapse values between nodes included in the output layer 840, learning can be performed so that a correct output corresponding to a specific input can be extracted. Through this learning process, it is possible to grasp the characteristics hidden in the input variables of the artificial neural network model 800, and the nodes of the artificial neural network model 800 so that the error between the output variable calculated based on the input variable and the target output is reduced. You can adjust the synaptic values (or weights) between them. Using the artificial neural network model 800 learned in this way, semantic information included in a 2D bird's eye view image may be extracted.
도 9는 본 개시의 일 실시예에 따른 의미론적 분할 모델의 학습 데이터를 생성하는 예시를 나타내는 도면이다. 도시된 바와 같이, 프로세서(도 2의 220)는 카메라의 시점(point of view)에서의 복수의 영상을 수신할 수 있다. 예를 들어, 복수의 영상은 의미론적 분할 모델의 학습을 위해 사용되는 영상으로서, 임의의 카메라, 센서 등으로 촬영한 2차원 영상, 3차원 영상 등을 포함할 수 있다. 또한, 카메라의 시점에서의 복수의 영상은 도로를 주행하는 차량의 시점, 도보를 통행하는 주행 로봇의 시점 등에서 촬영된 이미지 및/또는 영상으로서, 원본 이미지(910)를 포함할 수 있다.9 is a diagram illustrating an example of generating learning data of a semantic segmentation model according to an embodiment of the present disclosure. As shown, the processor (220 in FIG. 2 ) may receive a plurality of images from a point of view of a camera. For example, the plurality of images are images used for learning a semantic segmentation model, and may include a 2D image or a 3D image captured by an arbitrary camera or sensor. In addition, the plurality of images from the viewpoint of the camera may include the original image 910 as images and/or videos captured from the viewpoint of a vehicle traveling on a road or a driving robot passing on foot.
일 실시예에 따르면, 프로세서는 카메라의 파라미터를 이용하여 수신된 복수의 영상을 변환함으로써, 복수의 조감도 영상을 생성할 수 있다. 예를 들어, 복수의 조감도 영상은 상술된 복수의 영상을 버드 아이 뷰 시점의 영상으로 변환한 것으로서, 변환 이미지(930)를 포함할 수 있다. 이 경우, 프로세서는 카메라의 내부 파라미터 및 외부 파라미터를 이용하여, 조감도 영상을 생성하기 위한 임의의 알고리즘, 기계학습 모델 등을 통해 복수의 조감도 영상을 생성할 수 있다. 여기서, 복수의 영상을 복수의 조감도 영상으로 변환하는 경우, 데이터 손실이 발생할 수 있다. 예를 들어, 원본 이미지(910)를 변환 이미지(930)로 변환하는 경우, 변환 이미지(930)의 양측 하단 영역에는 특정 모양, 형태 등이 표시되지 않을 수 있으며, 이에 따라, 변환 이미지(930)는 부채꼴 형태로 생성될 수 있다.According to an embodiment, the processor may generate a plurality of bird's eye view images by transforming a plurality of received images using parameters of a camera. For example, the plurality of bird's eye view images are obtained by converting the above-described plurality of images into images from a bird's eye view point, and may include the converted image 930. In this case, the processor may generate a plurality of bird's eye view images through an arbitrary algorithm or machine learning model for generating a bird's eye view image using internal parameters and external parameters of the camera. Here, when a plurality of images are converted into a plurality of bird's-eye view images, data loss may occur. For example, when the original image 910 is converted into the converted image 930, a specific shape, shape, etc. may not be displayed in the lower regions of both sides of the converted image 930, and accordingly, the converted image 930 may be created in a fan shape.
프로세서는 복수의 조감도 영상의 각각 내에서의 하나 이상의 의미론적 분할 영역에 대응하는 하나 이상의 조감도 마스크 영상 및 복수의 조감도 영상을 이용하여 의미론적 분할 모델을 학습시킬 수 있다. 예를 들어, 프로세서는 의미론적 분할 영역을 추출하기 위한 임의의 알고리즘, 기계학습 모델 등을 이용하여, 상술된 하나 이상의 조감도 마스크 영상을 생성할 수 있다. 이 경우, 프로세서는 복수의 조감도 영상을 입력하는 경우, 복수의 조감도 영상의 각각 내에서의 하나 이상의 의미론적 분할 영역에 대응하는 하나 이상의 조감도 마스크 영상(정답 영상)이 출력되도록 의미론적 분할 모델을 학습시킬 수 있다. 예를 들어, 프로세서는 변환 이미지(930)에서 의미론적 분할 영역을 추출하여 변환 마스크(940)를 생성할 수 있다. 도 9에서는 원본 이미지(910)로부터 변환 이미지(930)를 생성하고, 변환 이미지(930)를 기초로 변환 마스크(940)를 생성하는 것으로 상술되었으나, 이에 한정되지 않으며, 프로세서는 원본 이미지(910)에서 의미론적 분할 영역을 추출하여 원본 마스크(920)를 생성하고, 생성된 원본 마스크(920)를 조감도 형태로 변환하여 변환 마스크(940)를 생성할 수도 있다.The processor may train a semantic segmentation model using one or more bird's eye view mask images corresponding to one or more semantic segmentation regions within each of the plurality of bird's eye view images and the plurality of bird's eye view images. For example, the processor may generate one or more bird's eye view mask images described above using an arbitrary algorithm, a machine learning model, or the like for extracting a semantic segmentation region. In this case, when a plurality of bird's eye view images are input, the processor learns a semantic segmentation model so that one or more bird's eye view mask images (correct answer images) corresponding to one or more semantic segmentation regions within each of the plurality of bird's eye view images are output. can make it For example, the processor may generate the transformation mask 940 by extracting a semantic segmentation region from the transformation image 930 . In FIG. 9 , it has been described above that the converted image 930 is generated from the original image 910 and the conversion mask 940 is generated based on the converted image 930, but is not limited thereto, and the processor converts the original image 910 An original mask 920 may be generated by extracting a semantic segmentation region from , and a conversion mask 940 may be generated by converting the generated original mask 920 into a bird's eye view form.
일 실시예에 따르면, 프로세서는 복수의 조감도 영상 및 하나 이상의 조감도 마스크 영상에 대한 데이터 변형(950)을 수행하여, 의미론적 분할 모델을 학습시킬 수 있다. 예를 들어, 데이터 변형(950)은 블러(blur), 회전, 이동, 상하반전, 확대/축소 등을 포함할 수 있으나, 이에 한정되지 않으며, 가능한 임의의 형태의 데이터 변형이 수행될 수 있다. 즉, 프로세서는 복수의 조감도 영상 및 하나 이상의 조감도 마스크 영상뿐만 아니라, 다양한 형태로 변형된 영상들을 추가적으로 이용하여 의미론적 분할 모델을 학습시킬 수 있다. 예를 들어, 프로세서는 변환 이미지(930)와 같이 부채꼴 부분만 학습되지 않도록, 변환 이미지(930), 변환 마스크(940)에 대한 데이터 변형(950)을 수행할 수 있다.According to an embodiment, the processor may train a semantic segmentation model by performing data transformation 950 on a plurality of bird's-eye view images and one or more bird's-eye view mask images. For example, the data transformation 950 may include blur, rotation, movement, vertical inversion, enlargement/reduction, etc., but is not limited thereto, and any possible data transformation may be performed. That is, the processor may train the semantic segmentation model by additionally using not only a plurality of bird's eye view images and one or more bird's eye view mask images, but also images transformed into various shapes. For example, the processor may perform data transformation 950 on the transformation image 930 and the transformation mask 940 so that only the fan-shaped portion is not learned like the transformation image 930 .
프로세서는 복수의 조감도 영상의 적어도 일부에 블러를 적용하고, 블러가 적용된 복수의 조감도 영상 및 하나 이상의 조감도 마스크 영상을 이용하여 의미론적 분할 모델을 학습시킬 수 있다. 예를 들어, 프로세서는 이미지, 영상 등에 블러를 적용하기 위한 임의의 알고리즘, 기계학습 모델을 이용하여 복수의 조감도 영상의 적어도 일부에 블러를 적용할 수 있다. 이와 같이, 블러가 적용된 조감도 영상을 이용하여 의미론적 분할 모델을 학습시킴으로써, 프로세서는 의미론적 정보를 추출하기 위한 영상이 흐릿하거나 불명확한 경우에도 해당 영상에서 정밀하게 의미론적 정보를 추출할 수 있다.The processor may apply blur to at least some of the plurality of bird's-eye view images, and train a semantic segmentation model using the plurality of bird's-eye view images to which the blur is applied and one or more bird's-eye view mask images. For example, the processor may apply blur to at least some of the plurality of bird's-eye view images by using an arbitrary algorithm or machine learning model for applying blur to an image or video. In this way, by learning a semantic segmentation model using a blur-applied bird's eye view image, the processor can precisely extract semantic information from a corresponding image even when the image for extracting semantic information is blurry or unclear.
프로세서는 복수의 조감도 영상의 적어도 일부 및 하나 이상의 조감도 마스크 영상의 적어도 일부에 이동 처리, 회전 처리 또는 반전 처리 중 적어도 하나를 적용함으로써, 변형된 복수의 조감도 영상 및 변형된 하나 이상의 조감도 마스크 영상을 생성할 수 있다. 또한, 프로세서는 변형된 복수의 조감도 영상 및 변형된 하나 이상의 조감도 마스크 영상을 이용하여 의미론적 분할 모델을 학습시킬 수 있다. 예를 들어, 프로세서는 이미지, 영상 등을 이동 처리, 회전 처리 및/또는 반전 처리하기 위한 임의의 알고리즘, 기계학습 모델을 이용하여 복수의 조감도 영상의 적어도 일부를 변형할 수 있다. 이와 같이, 변형된 조감도 영상, 마스크 영상 등을 이용하여 의미론적 분할 모델을 학습시킴으로써, 프로세서는 의미론적 정보를 추출하기 위한 영상을 촬영한 위치, 영역 등이 상이한 경우에도 해당 영상에서 정밀하게 의미론적 정보를 추출할 수 있다.The processor generates a plurality of deformed bird's eye view images and one or more deformed bird's eye view mask images by applying at least one of a movement process, a rotation process, and an inversion process to at least a portion of the plurality of bird's eye view images and at least a portion of the one or more bird's eye view mask images. can do. Also, the processor may train a semantic segmentation model using a plurality of transformed bird's-eye view images and one or more transformed bird's-eye view mask images. For example, the processor may transform at least a portion of the plurality of bird's eye view images by using an arbitrary algorithm or machine learning model for moving, rotating, and/or inverting an image or video. In this way, by learning the semantic segmentation model using the deformed bird's eye view image, mask image, etc., the processor can accurately extract semantic information from the corresponding image even when the location or region where the image for extracting semantic information is taken is different. information can be extracted.
프로세서는 복수의 조감도 영상의 적어도 일부 및 하나 이상의 조감도 마스크 영상의 적어도 일부에 확대 처리 또는 축소 처리하여 변형된 복수의 조감도 영상 및 변환된 하나 이상의 조감도 마스크 영상을 생성할 수 있다. 또한, 프로세서는 변형된 복수의 조감도 영상 및 변형된 복수의 조감도 마스크 영상을 이용하여 의미론적 분할 모델을 학습시킬 수 있다. 예를 들어, 프로세서는 이미지, 영상 등을 확대 처리 또는 축소 처리하기 위한 임의의 알고리즘, 기계학습 모델을 이용하여 복수의 조감도 영상의 적어도 일부를 확대하거나 축소할 수 있다. 이와 같이, 확대되거나 축소된 조감도 영상, 마스크 영상 등을 이용하여 의미론적 분할 모델을 학습시킴으로써, 프로세서는 의미론적 정보를 추출하기 위한 영상의 크기가 상이한 경우에도 해당 영상에서 정밀하게 의미론적 정보를 추출할 수 있다. 이와 같은 구성에 의해, 프로세서는 의미론적 분할 모델의 학습을 위한 이미지, 영상 등을 전처리함으로써, 입력되는 영상의 형태, 크기 등에 상관없이 효과적으로 의미론적 정보를 추출하도록 의미론적 분할 모델을 학습시킬 수 있다. 또한, 상술된 바와 같이 다양한 형태로 변형된 데이터를 학습 데이터로 이용함으로써, 영상을 조감도 영상을 변환함에 따른 데이터 손실이 발생하지 않은 영상을 입력받은 경우에도, 의미론적 분할 모델은 효과적으로 의미론적 정보를 추출할 수 있다.The processor may generate a plurality of transformed bird's eye view images and one or more transformed bird's eye view mask images by enlarging or reducing at least a portion of the plurality of bird's eye view images and at least a portion of the one or more bird's eye view mask images. Also, the processor may train a semantic segmentation model using the plurality of transformed bird's-eye view images and the plurality of transformed bird's-eye view mask images. For example, the processor may enlarge or reduce at least some of the plurality of bird's eye view images by using an arbitrary algorithm or machine learning model for enlarging or reducing an image or video. In this way, by learning a semantic segmentation model using an enlarged or reduced bird's eye view image, mask image, etc., the processor precisely extracts semantic information from the image even when the size of the image for extracting semantic information is different. can do. With this configuration, the processor can train the semantic segmentation model to effectively extract semantic information regardless of the shape or size of the input image by pre-processing images, videos, etc. for learning the semantic segmentation model. . In addition, as described above, by using data transformed into various forms as training data, the semantic segmentation model effectively converts semantic information even when an image is received without data loss caused by converting the image into a bird's eye view image. can be extracted.
도 10은 본 개시의 일 실시예에 따른 의미론적 분할 모델을 학습시키는 방법(1000)을 나타내는 흐름도이다. 일 실시예에 따르면, 의미론적 분할 모델을 학습시키는 방법(1000)은 프로세서(예를 들어, 컴퓨팅 장치의 프로세서 및/또는 정보 처리 시스템의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 도시된 바와 같이, 의미론적 분할 모델을 학습시키는 방법(1000)은 프로세서가 카메라의 시점(point of view)에서의 복수의 영상을 수신함으로써 개시될 수 있다(S1010). 예를 들어, 복수의 영상은 차량, 주행 로봇, 사람 등의 시점과 유사하게 촬영된 영상을 지칭할 수 있다.10 is a flowchart illustrating a method 1000 of training a semantic segmentation model according to an embodiment of the present disclosure. According to one embodiment, the method 1000 of training a semantic segmentation model may be performed by a processor (eg, a processor of a computing device and/or at least one processor of an information processing system). As shown, the method 1000 for learning a semantic segmentation model may be initiated by a processor receiving a plurality of images from a point of view of a camera (S1010). For example, the plurality of images may refer to images captured similarly to viewpoints of vehicles, driving robots, and people.
프로세서는 카메라의 파라미터를 이용하여 수신된 복수의 영상을 변환함으로써, 복수의 조감도 영상을 생성할 수 있다(S1020). 예를 들어, 프로세서는 카메라의 내부 파라미터, 외부 파라미터 등을 이용하여 복수의 영상을 변환함으로써, 복수의 조감도 영상을 생성할 수 있다. 이 경우, 카메라의 내부 파라미터는 미리 결정되거나, 카메라 캘리브레이션(camera calibration) 등에 의해 추출될 수 있다.The processor may generate a plurality of bird's eye view images by converting a plurality of received images using camera parameters (S1020). For example, the processor may generate a plurality of bird's eye view images by transforming a plurality of images using internal parameters and external parameters of the camera. In this case, internal parameters of the camera may be determined in advance or may be extracted by camera calibration or the like.
프로세서는 복수의 조감도 영상의 각각 내에서의 하나 이상의 의미론적 분할 영역에 대응하는 하나 이상의 조감도 마스크 영상 및 복수의 조감도 영상을 이용하여 의미론적 분할 모델을 학습시킬 수 있다(S1030). 일 실시예에 따르면, 프로세서는 복수의 조감도 영상의 적어도 일부에 블러를 적용하고, 블러가 적용된 복수의 조감도 영상 및 하나 이상의 조감도 마스크 영상을 이용하여 의미론적 분할 모델을 학습시킬 수 있다. 추가적으로 또는 대안적으로, 프로세서는 복수의 조감도 영상의 적어도 일부 및 하나 이상의 조감도 마스크 영상의 적어도 일부에 이동 처리, 회전 처리 또는 반전 처리 중 적어도 하나를 적용함으로써, 변형된 복수의 조감도 영상 및 변형된 하나 이상의 조감도 마스크 영상을 생성하고, 변형된 복수의 조감도 영상 및 변형된 하나 이상의 조감도 마스크 영상을 이용하여 의미론적 분할 모델을 학습시킬 수 있다. 추가적으로 또는 대안적으로, 프로세서는 복수의 조감도 영상의 적어도 일부 및 하나 이상의 조감도 마스크 영상의 적어도 일부에 확대 처리 또는 축소 처리하여 변형된 복수의 조감도 영상 및 변환된 하나 이상의 조감도 마스크 영상을 생성하고, 변형된 복수의 조감도 영상 및 변형된 복수의 조감도 마스크 영상을 이용하여 의미론적 분할 모델을 학습시킬 수 있다.The processor may train a semantic segmentation model using one or more bird's eye view mask images corresponding to one or more semantic segmentation regions within each of the plurality of bird's eye view images and the plurality of bird's eye view images (S1030). According to an embodiment, the processor may apply blur to at least some of the plurality of bird's-eye view images, and train a semantic segmentation model using the plurality of bird's-eye view images to which the blur is applied and one or more bird's-eye view mask images. Additionally or alternatively, the processor may apply at least one of a translation process, a rotation process, or an inversion process to at least a portion of the plurality of bird's-eye view images and at least a portion of one or more bird's-eye-view mask images, so that the deformed plurality of bird's-eye view images and the deformed one The above bird's eye view mask images may be generated, and a semantic segmentation model may be trained using the plurality of transformed bird's eye view images and the one or more transformed bird's eye view mask images. Additionally or alternatively, the processor enlarges or reduces at least a portion of the plurality of bird's-eye-view images and at least a portion of the one or more bird's-eye-view mask images to generate a plurality of transformed bird-eye-view images and one or more transformed bird-eye-view mask images, and A semantic segmentation model may be trained using a plurality of modified bird's eye view images and a plurality of deformed bird's eye view mask images.
상술한 방법은 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램으로 제공될 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The above method may be provided as a computer program stored in a computer readable recording medium to be executed on a computer. The medium may continuously store programs executable by a computer or temporarily store them for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc. configured to store program instructions. In addition, examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.
본 개시의 방법, 동작 또는 기법들은 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이러한 기법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 본원의 개시와 연계하여 설명된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로 구현될 수도 있음을 통상의 기술자들은 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 대체를 명확하게 설명하기 위해, 다양한 예시적인 구성요소들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능적 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지의 여부는, 특정 애플리케이션 및 전체 시스템에 부과되는 설계 요구사항들에 따라 달라진다. 통상의 기술자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현들은 본 개시의 범위로부터 벗어나게 하는 것으로 해석되어서는 안된다.The methods, acts or techniques of this disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or combinations thereof. Those skilled in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchange of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and design requirements imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementations should not be interpreted as causing a departure from the scope of the present disclosure.
하드웨어 구현에서, 기법들을 수행하는 데 이용되는 프로세싱 유닛들은, 하나 이상의 ASIC들, DSP들, 디지털 신호 프로세싱 디바이스들(digital signal processing devices; DSPD들), 프로그램가능 논리 디바이스들(programmable logic devices; PLD들), 필드 프로그램가능 게이트 어레이들(field programmable gate arrays; FPGA들), 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 본 개시에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 컴퓨터, 또는 이들의 조합 내에서 구현될 수도 있다.In a hardware implementation, the processing units used to perform the techniques may include one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs) ), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, and other electronic units designed to perform the functions described in this disclosure. , a computer, or a combination thereof.
따라서, 본 개시와 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA나 다른 프로그램 가능 논리 디바이스, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 구성의 조합으로서 구현될 수도 있다.Accordingly, the various illustrative logical blocks, modules, and circuits described in connection with this disclosure may be incorporated into a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or may be implemented or performed in any combination of those designed to perform the functions described in A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.
펌웨어 및/또는 소프트웨어 구현에 있어서, 기법들은 랜덤 액세스 메모리(random access memory; RAM), 판독 전용 메모리(read-only memory; ROM), 비휘발성 RAM(non-volatile random access memory; NVRAM), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable PROM), 플래시 메모리, 컴팩트 디스크(compact disc; CD), 자기 또는 광학 데이터 스토리지 디바이스 등과 같은 컴퓨터 판독가능 매체 상에 저장된 명령들로서 구현될 수도 있다. 명령들은 하나 이상의 프로세서들에 의해 실행 가능할 수도 있고, 프로세서(들)로 하여금 본 개시에 설명된 기능의 특정 양태들을 수행하게 할 수도 있다.In firmware and/or software implementation, the techniques include random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), PROM ( on a computer readable medium, such as programmable read-only memory (EPROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage device, or the like. It can also be implemented as stored instructions. Instructions may be executable by one or more processors and may cause the processor(s) to perform certain aspects of the functionality described in this disclosure.
이상 설명된 실시예들이 하나 이상의 독립형 컴퓨터 시스템에서 현재 개시된 주제의 양태들을 활용하는 것으로 기술되었으나, 본 개시는 이에 한정되지 않고, 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 본 개시에서 주제의 양상들은 복수의 프로세싱 칩들이나 장치들에서 구현될 수도 있고, 스토리지는 복수의 장치들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 장치들은 PC들, 네트워크 서버들, 및 휴대용 장치들을 포함할 수도 있다.Although the embodiments described above have been described as utilizing aspects of the presently-disclosed subject matter in one or more stand-alone computer systems, the disclosure is not limited thereto and may be implemented in conjunction with any computing environment, such as a network or distributed computing environment. . Further, aspects of the subject matter in this disclosure may be implemented in a plurality of processing chips or devices, and storage may be similarly affected across multiple devices. These devices may include PCs, network servers, and portable devices.
본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 개시의 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present disclosure has been described in relation to some embodiments in this specification, various modifications and changes may be made without departing from the scope of the present disclosure that can be understood by those skilled in the art. Moreover, such modifications and variations are intended to fall within the scope of the claims appended hereto.

Claims (10)

  1. 적어도 하나의 프로세서에서 실행되는, 3차원 지도 정보를 이용한 의미론적 분할(semantic segmentation) 방법으로서,As a semantic segmentation method using 3D map information, executed in at least one processor,
    특정 시점에서의 깊이 정보 및 컬러 정보를 수신하는 단계;Receiving depth information and color information at a specific point in time;
    상기 수신된 깊이 정보 및 컬러 정보를 이용하여 3차원 지도 정보를 생성하는 단계 - 상기 3차원 지도 정보는 X축 값, Y축 값 및 Z축 값을 기초로 구분된 복수의 복셀(voxel)을 포함함 -;Generating 3D map information using the received depth information and color information - The 3D map information includes a plurality of voxels classified based on X-axis values, Y-axis values, and Z-axis values Ham -;
    상기 생성된 3차원 지도 정보를 이용하여 2차원 조감도 영상을 생성하는 단계; 및generating a 2D bird's eye view image using the generated 3D map information; and
    의미론적 분할 모델을 이용하여 상기 생성된 2차원 조감도 영상 내에 포함된 의미론적 정보를 추출하는 단계Extracting semantic information included in the generated 2D bird's eye view image using a semantic segmentation model
    를 포함하는, 3차원 지도 정보를 이용한 의미론적 분할 방법.Including, semantic segmentation method using 3D map information.
  2. 제1항에 있어서,According to claim 1,
    상기 2차원 조감도 영상을 생성하는 단계는,The step of generating the 2D bird's eye view image,
    상기 2차원 조감도 영상 내에서의 너비 및 높이를 결정하는 단계; 및determining a width and a height in the 2D bird's eye view image; and
    상기 3차원 지도 정보를 상기 결정된 너비 및 높이로 정의되는 2차원 영역에 투영함으로써, 상기 2차원 조감도 영상을 생성하는 단계generating the 2D bird's eye view image by projecting the 3D map information onto a 2D area defined by the determined width and height;
    를 포함하는, 3차원 지도 정보를 이용한 의미론적 분할 방법.Including, semantic segmentation method using 3D map information.
  3. 제2항에 있어서,According to claim 2,
    상기 복수의 복셀의 각각은, 컬러 값 및 점유 유무에 대한 정보를 포함하고,Each of the plurality of voxels includes a color value and information about occupancy,
    상기 3차원 지도 정보를 상기 결정된 너비 및 높이로 정의되는 2차원 영역에 투영함으로써, 상기 2차원 조감도 영상을 생성하는 단계는,The step of generating the 2D bird's eye view image by projecting the 3D map information onto a 2D area defined by the determined width and height,
    상기 3차원 지도 정보를 기초로 상기 복수의 복셀을 복수의 서브 복셀 세트로 그룹화하는 단계 - 상기 복수의 서브 복셀 세트의 각각은, X축 값 및 Y축 값이 동일하고 Z축 값이 상이한 복셀들을 포함함 -;Grouping the plurality of voxels into a plurality of sub-voxel sets based on the 3D map information - in each of the plurality of sub-voxel sets, voxels having the same X-axis value and the same Y-axis value and different Z-axis values contains -;
    상기 그룹화된 복수의 서브 복셀 세트의 각각에서 Z축 값이 높은 순서에서 낮은 순서로 각 복셀을 탐색하여, 상기 탐색된 복셀의 점유 유무를 결정하는 단계; 및searching for each voxel in order of Z-axis value from highest to lowest in each of the plurality of grouped sub-voxel sets, and determining whether the searched voxel is occupied; and
    상기 점유된 복셀이 탐색된 경우, 상기 탐색된 복셀의 컬러 정보를 상기 2차원 영역에 투영하는 단계If the occupied voxel is searched for, projecting color information of the searched voxel onto the 2D area.
    를 포함하는, 3차원 지도 정보를 이용한 의미론적 분할 방법.Including, semantic segmentation method using 3D map information.
  4. 제3항에 있어서,According to claim 3,
    상기 점유된 복셀이 탐색되지 않은 경우, 컬러와 연관된 초기값을 상기 2차원 영역에 투영하는 단계If the occupied voxel is not searched for, projecting an initial value associated with a color onto the 2D area.
    를 더 포함하는, 3차원 지도 정보를 이용한 의미론적 분할 방법.Further comprising, a semantic segmentation method using 3D map information.
  5. 제1항에 있어서,According to claim 1,
    상기 특정 시점 이후의 시점에 추가 깊이 정보 및 추가 컬러 정보를 수신하는 단계; receiving additional depth information and additional color information at a point in time after the specific point in time;
    상기 3차원 지도 정보 중에서, 상기 수신된 추가 깊이 정보 및 추가 컬러 정보에 대응하는 영역을 결정하는 단계; 및 determining an area corresponding to the received additional depth information and additional color information among the 3D map information; and
    상기 추가 깊이 정보 및 상기 추가 컬러 정보를 기초로, 상기 3차원 지도 정보 중에서 상기 결정된 영역에 대응하는 복셀을 업데이트하는 단계Updating a voxel corresponding to the determined area among the 3D map information based on the additional depth information and the additional color information;
    를 더 포함하는, 3차원 지도 정보를 이용한 의미론적 분할 방법.Further comprising, a semantic segmentation method using 3D map information.
  6. 적어도 하나의 프로세서에서 실행되는, 의미론적 분할 모델을 학습시키는 방법으로서,A method of training a semantic segmentation model, running on at least one processor, comprising:
    카메라의 시점(point of view)에서의 복수의 영상을 수신하는 단계;Receiving a plurality of images from a point of view of a camera;
    상기 카메라의 파라미터를 이용하여 상기 수신된 복수의 영상을 변환함으로써, 복수의 조감도 영상을 생성하는 단계; 및generating a plurality of bird's eye view images by converting the received plurality of images using parameters of the camera; and
    상기 복수의 조감도 영상의 각각 내에서의 하나 이상의 의미론적 분할 영역에 대응하는 하나 이상의 조감도 마스크 영상 및 상기 복수의 조감도 영상을 이용하여 의미론적 분할 모델을 학습시키는 단계Learning a semantic segmentation model using one or more bird's-eye view mask images corresponding to one or more semantic segmentation regions within each of the plurality of bird's-eye view images and the plurality of bird's-eye view images
    를 포함하는, 의미론적 분할 모델을 학습시키는 방법.A method for learning a semantic segmentation model comprising a.
  7. 제6항에 있어서,According to claim 6,
    상기 학습시키는 단계는,The learning step is
    상기 복수의 조감도 영상의 적어도 일부에 블러(blur)를 적용하는 단계; 및applying a blur to at least a portion of the plurality of bird's eye view images; and
    상기 블러가 적용된 복수의 조감도 영상 및 상기 하나 이상의 조감도 마스크 영상을 이용하여 상기 의미론적 분할 모델을 학습시키는 단계Learning the semantic segmentation model using a plurality of bird's eye view images to which the blur is applied and the one or more bird's eye view mask images
    를 포함하는, 의미론적 분할 모델을 학습시키는 방법.A method for learning a semantic segmentation model comprising a.
  8. 제6항에 있어서,According to claim 6,
    상기 학습시키는 단계는,The learning step is
    상기 복수의 조감도 영상의 적어도 일부 및 상기 하나 이상의 조감도 마스크 영상의 적어도 일부에 이동 처리, 회전 처리 또는 반전 처리 중 적어도 하나를 적용함으로써, 변형된 복수의 조감도 영상 및 변형된 하나 이상의 조감도 마스크 영상을 생성하는 단계; 및A plurality of deformed bird's eye view images and at least one deformed bird's eye view mask image are generated by applying at least one of a movement process, a rotation process, and an inversion process to at least a portion of the plurality of bird's eye view images and at least a portion of the one or more bird's eye view mask images. doing; and
    상기 변형된 복수의 조감도 영상 및 상기 변형된 하나 이상의 조감도 마스크 영상을 이용하여 상기 의미론적 분할 모델을 학습시키는 단계Learning the semantic segmentation model using the transformed plurality of bird's-eye view images and the transformed one or more bird's-eye view mask images
    를 포함하는, 의미론적 분할 모델을 학습시키는 방법.A method for learning a semantic segmentation model comprising a.
  9. 제6항에 있어서,According to claim 6,
    상기 학습시키는 단계는,The learning step is
    상기 복수의 조감도 영상의 적어도 일부 및 상기 하나 이상의 조감도 마스크 영상의 적어도 일부에 확대 처리 또는 축소 처리하여 변형된 복수의 조감도 영상 및 변환된 하나 이상의 조감도 마스크 영상을 생성하는 단계; 및Generating a plurality of transformed bird's eye view images and one or more transformed bird's eye view mask images by enlarging or reducing at least a portion of the plurality of bird's eye view images and at least a portion of the one or more bird's eye view mask images; and
    상기 변형된 복수의 조감도 영상 및 상기 변형된 복수의 조감도 마스크 영상을 이용하여 상기 의미론적 분할 모델을 학습시키는 단계Learning the semantic segmentation model using the transformed plurality of bird's-eye view images and the transformed plurality of bird's-eye view mask images
    를 포함하는, 의미론적 분할 모델을 학습시키는 방법.A method for learning a semantic segmentation model comprising a.
  10. 제1항에 따른 방법을 컴퓨터에서 실행하기 위한 명령어들을 기록한 컴퓨터 판독 가능한 비일시적 기록 매체.A computer-readable non-transitory storage medium storing instructions for executing the method according to claim 1 on a computer.
PCT/KR2022/006916 2021-05-14 2022-05-13 Method and system for semantic segmentation using three-dimensional map information WO2022240250A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0062844 2021-05-14
KR1020210062844A KR102638075B1 (en) 2021-05-14 2021-05-14 Semantic segmentation method and system using 3d map information

Publications (1)

Publication Number Publication Date
WO2022240250A1 true WO2022240250A1 (en) 2022-11-17

Family

ID=84028737

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/006916 WO2022240250A1 (en) 2021-05-14 2022-05-13 Method and system for semantic segmentation using three-dimensional map information

Country Status (2)

Country Link
KR (1) KR102638075B1 (en)
WO (1) WO2022240250A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140121107A (en) * 2013-04-05 2014-10-15 한국전자통신연구원 Methods and apparatuses of generating hologram based on multi-view
JP2018515197A (en) * 2015-04-29 2018-06-14 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft Method and system for semantic segmentation in 2D / 2.5D image data by laparoscope and endoscope
KR20200015611A (en) * 2017-08-01 2020-02-12 베이징 센스타임 테크놀로지 디벨롭먼트 컴퍼니 리미티드 Training methods and devices, electronic devices, and storage media for semantic split models
KR102094320B1 (en) * 2018-09-20 2020-03-30 (주)헤르스 Method for improving image using reinforcement learning
KR20200080970A (en) * 2018-12-27 2020-07-07 포항공과대학교 산학협력단 Semantic segmentation method of 3D reconstructed model using incremental fusion of 2D semantic predictions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140121107A (en) * 2013-04-05 2014-10-15 한국전자통신연구원 Methods and apparatuses of generating hologram based on multi-view
JP2018515197A (en) * 2015-04-29 2018-06-14 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft Method and system for semantic segmentation in 2D / 2.5D image data by laparoscope and endoscope
KR20200015611A (en) * 2017-08-01 2020-02-12 베이징 센스타임 테크놀로지 디벨롭먼트 컴퍼니 리미티드 Training methods and devices, electronic devices, and storage media for semantic split models
KR102094320B1 (en) * 2018-09-20 2020-03-30 (주)헤르스 Method for improving image using reinforcement learning
KR20200080970A (en) * 2018-12-27 2020-07-07 포항공과대학교 산학협력단 Semantic segmentation method of 3D reconstructed model using incremental fusion of 2D semantic predictions

Also Published As

Publication number Publication date
KR20220155067A (en) 2022-11-22
KR102638075B1 (en) 2024-02-19

Similar Documents

Publication Publication Date Title
WO2021085848A1 (en) Signal control apparatus and signal control method based on reinforcement learning
WO2019098414A1 (en) Method and device for hierarchical learning of neural network, based on weakly supervised learning
WO2019240452A1 (en) Method and system for automatically collecting and updating information related to point of interest in real space
WO2016108327A1 (en) Vehicle detection method, database structure for vehicle detection, and database construction method for vehicle detection
WO2021221254A1 (en) Method for performing continual learning on classifier in client capable of classifying images by using continual learning server and continual learning server using the same
WO2020246655A1 (en) Situation recognition method and device for implementing same
WO2020231226A1 (en) Method of performing, by electronic device, convolution operation at certain layer in neural network, and electronic device therefor
WO2021075772A1 (en) Object detection method and device using multiple area detection
WO2021225360A1 (en) Method for performing on-device learning of machine learning network on autonomous vehicle by using multi-stage learning with adaptive hyper-parameter sets and device using the same
WO2021101045A1 (en) Electronic apparatus and method for controlling thereof
WO2019098418A1 (en) Neural network training method and device
CN113256699B (en) Image processing method, image processing device, computer equipment and storage medium
Budvytis et al. Large scale joint semantic re-localisation and scene understanding via globally unique instance coordinate regression
CN112070071B (en) Method and device for labeling objects in video, computer equipment and storage medium
WO2020017829A1 (en) Method for generating license plate image by using noise pattern and apparatus therefor
CN115953643A (en) Knowledge distillation-based model training method and device and electronic equipment
CN115063447A (en) Target animal motion tracking method based on video sequence and related equipment
WO2022240250A1 (en) Method and system for semantic segmentation using three-dimensional map information
CN111008622B (en) Image object detection method and device and computer readable storage medium
WO2023113437A1 (en) Semantic segmentation device and method using memory
WO2022145738A1 (en) Intelligent object tracing system utilizing 3d map reconstruction for virtual assistance
WO2019124602A1 (en) Object tracking method and devices for performing same
WO2020175729A1 (en) Apparatus and method for detecting facial feature point by using gaussian feature point map and regression scheme
CN113850750A (en) Target track checking method, device, equipment and storage medium
WO2022240254A1 (en) Two-dimensional phase map for road traveling of outdoor mobile robot

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22807897

Country of ref document: EP

Kind code of ref document: A1