WO2019112296A1 - 이미지 처리 장치, 및 이를 구비하는 이동 로봇 - Google Patents

이미지 처리 장치, 및 이를 구비하는 이동 로봇 Download PDF

Info

Publication number
WO2019112296A1
WO2019112296A1 PCT/KR2018/015255 KR2018015255W WO2019112296A1 WO 2019112296 A1 WO2019112296 A1 WO 2019112296A1 KR 2018015255 W KR2018015255 W KR 2018015255W WO 2019112296 A1 WO2019112296 A1 WO 2019112296A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
processor
unit
mobile robot
segmentation
Prior art date
Application number
PCT/KR2018/015255
Other languages
English (en)
French (fr)
Inventor
김범성
김연수
노동기
김은태
김지수
이상윤
Original Assignee
엘지전자 주식회사
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사, 연세대학교 산학협력단 filed Critical 엘지전자 주식회사
Priority to US16/770,066 priority Critical patent/US11423545B2/en
Publication of WO2019112296A1 publication Critical patent/WO2019112296A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Definitions

  • the present invention relates to an image processing apparatus and a mobile robot having the image processing apparatus, and more particularly, to an image processing apparatus and a mobile robot having the image processing apparatus capable of performing segmentation in an image quickly and accurately.
  • robots have been developed for industrial use and have been part of factory automation.
  • medical robots, aerospace robots, and the like have been developed, and household robots that can be used in ordinary homes are being developed.
  • An object of the present invention is to provide an image processing apparatus capable of quickly and accurately performing segmentation in an image and a mobile robot having the same.
  • an image processing apparatus including an image acquisition unit that acquires an image, and a processor that performs signal processing on an image from the image acquisition unit, Grouping superpixels in the image, calculating a representative value of the superpixel, and performing segmentation based on the representative value of the superpixel.
  • a mobile robot including a main body, a driving unit for moving the main body, an image acquiring unit for acquiring an image,
  • the processor is configured to group the superpixels in the image, calculate a representative value of the superpixel, and calculate a representative value of the superpixel based on the representative value of the superpixel , And performs segmentation.
  • An image processing apparatus includes an image acquisition unit for acquiring an image and a processor for performing signal processing on an image from the image acquisition unit, thus, it is possible to quickly and accurately perform segmentation in the image by grouping the super pixels in the image, calculating the representative value of the super pixel, and performing the segmentation based on the representative value of the super pixel.
  • segmentation in the image can be accurately performed.
  • the pattern in the image is smaller than the size of the superpixel, the pattern is not distinguished.
  • unnecessary operations can be reduced by discriminating the pattern.
  • a mobile robot including a main body, a driving unit for moving the main body, an image acquiring unit for acquiring an image,
  • the processor is configured to group the superpixels in the image, calculate a representative value of the superpixel, and calculate a representative value of the superpixel based on the representative value of the superpixel , And by performing the segmentation, the segmentation in the image can be performed quickly and accurately.
  • the pattern in the image is smaller than the size of the superpixel, the pattern is not discriminated and the main body is controlled to move in the pattern. If the pattern in the image is larger than the size of the superpixel, It is possible to reduce unnecessary operations.
  • Fig. 5 is an example of an internal block diagram of the mobile robot of Fig. 1.
  • Fig. 5 is an example of an internal block diagram of the mobile robot of Fig. 1.
  • 6A and 6B are examples of an internal block diagram of the processor of FIG.
  • FIG. 7 is a diagram referred to in the description of the operation of Figs. 6A to 6B.
  • FCN Fully Convolutional Networks
  • FIG. 9 is a flowchart illustrating an operation method of an image processing apparatus according to an embodiment of the present invention.
  • 10 to 16 are diagrams referred to in the description of the operation method of FIG.
  • module and “part” for components used in the following description are given merely for convenience of description, and do not give special significance or role in themselves. Accordingly, the terms “module” and “part” may be used interchangeably.
  • FIG. 1 is a perspective view of a mobile robot according to an embodiment of the present invention
  • FIG. 2 is a bottom perspective view of a mobile robot according to an embodiment of the present invention
  • FIG. 3 is a perspective view of a mobile robot according to an embodiment of the present invention
  • FIG. 4 is an exploded perspective view of a mobile robot according to an embodiment of the present invention.
  • the mobile robot 100 may include a main body 10 which forms an outer appearance and houses various components therein.
  • the main body 10 may have a long length in the vertical direction, and may have a slender shape as it goes up from the lower part to the upper part as a whole.
  • the main body 10 may include a case 30 forming an outer appearance of the mobile robot 100.
  • the case 30 includes a top cover 31 disposed on the upper side, a first middle cover 32 disposed on the lower side of the top cover 31, a second middle cover 32 disposed on the lower side of the first middle cover 32, 33 and a bottom cover 34 disposed under the second middle cover 33.
  • the first middle cover 32 and the second middle cover 33 may be formed of one middle cover.
  • the top cover 31 is located at the uppermost end of the mobile robot 100 and may have a hemispherical shape or a dome shape.
  • the top cover 31 may be located at a lower height than an adult's key for easy input of commands from a user.
  • the top cover 31 may be configured to be rotatable by a predetermined angle.
  • the top cover 31 and the head portion 15 therein are arranged at the top of the mobile robot 100, and have a shape and function similar to those of a human head, can do. Therefore, the top cover 31 and the head portion 15 therein can be named as a head. In addition, the remaining part disposed on the lower side of the head may be called a body.
  • the top cover 31 may include an operation portion 311 on one side of the front side.
  • the operation unit 311 can perform a function of receiving a command from a user.
  • the operation unit 311 may include a display 312 for receiving a touch input from a user.
  • the display 312 disposed on the operation unit 311 is referred to as a first display or the head display 312 and the display included in the display unit 280 disposed on the body is referred to as a second display or a body display 21 can do.
  • the head display 312 may be a touch screen having a mutual layer structure with the touch pad.
  • the head display 312 may be used as an input device capable of inputting information by a user's touch in addition to the output device.
  • the operation unit 311 can be directed upward by a certain angle so that the user can easily operate while viewing the head display 312 downward.
  • the operation section 311 may be disposed on a surface formed by cutting a part of the top cover 31. [ Accordingly, the head display 312 can be arranged to be inclined.
  • the operating portion 311 may have a circular or elliptical shape as a whole.
  • Such an operation unit 311 can be implemented similar to a human face shape.
  • the operation unit 311 has a circular shape, and one or more structures for expressing human eyes, nose, mouth, eyebrows, and the like may be placed on the operation unit 311.
  • a specific structure may be arranged on the operation unit 311 to express a person's eyes, nose, mouth, brow or the like, or a specific paint may be painted. Therefore, the operation unit 311 has a human face shape, so that it is possible to provide an emotional feeling to the user. Furthermore, when a robot having a face shape of a person runs, it is possible to give a feeling that a person is moving, thereby relieving the sense of resistance to the robot.
  • one or more images for expressing a human's eyes, nose, mouth, eyebrows, etc. may be displayed on the head display 312.
  • the head display 312 not only information related to the route guidance service but also various images for expressing the face shape of a person can be displayed.
  • An image for expressing a facial expression determined at a predetermined time interval or at a specific time may be displayed on the head display 312.
  • the operation unit 311 may be provided with a head camera unit 313 for recognizing people and objects.
  • the head camera unit 313 may be disposed on the upper side of the head display 312.
  • the head camera unit 313 may include a 2D camera 313a and RGBD sensors 313b and 313c.
  • the 2D camera 313a may be a sensor for recognizing a person or an object based on a two-dimensional image.
  • the RGBD sensors (Red, Green, Blue, Distance) 313b and 313c may be sensors for acquiring a person's position or a face image.
  • the RGBD sensors 313b and 313c may be sensors for detecting people or objects using captured images having depth data obtained from a camera having RGBD sensors or other similar 3D imaging devices.
  • the RGBD sensors 313b and 313c may be composed of a plurality of RGBD sensors.
  • the two RGBD sensors 313b and 313c may be arranged on the left and right sides of the 2D camera 313a, respectively.
  • the operation unit 311 may further include a physical button for directly receiving a command from the user.
  • top cover 31 may further include a microphone 314.
  • the microphone 314 can perform a function of receiving a command of an audio signal from a user.
  • the microphone 314 may be formed at four points at any point on the upper end of the top cover 31 in order to correctly receive voice commands from the user. Therefore, even when the mobile robot 100 is running or the top cover 31 is rotating, it is possible to correctly receive a voice guidance request from the user.
  • the top cover 31 may be rotated so that the operating portion 311 faces the traveling direction while the mobile robot 100 is traveling.
  • a command e.g., voice command
  • the top cover 31 can be rotated so that the operating portion 311 faces the direction in which the user is located.
  • the top cover 31 may be rotated in a direction opposite to the traveling direction of the mobile robot 100 when the mobile robot 100 receives a command from the user while the mobile robot 100 is traveling. That is, the top cover 31 can be rotated in a direction in which the body display unit 280 faces. Accordingly, the user can operate the operation unit 311 effectively while viewing the route guidance service information or the like displayed on the body display unit 280.
  • Fig. 5 is an example of an internal block diagram of the mobile robot of Fig. 1.
  • Fig. 5 is an example of an internal block diagram of the mobile robot of Fig. 1.
  • a mobile robot 100 includes an audio input unit 225 for receiving a user's voice input through a microphone 314, a storage unit 230 for storing various data, A communication unit 290 for transmitting / receiving data to / from another electronic device such as a server (not shown), a sensing unit 240 for performing various sensing, a driving unit 260 for moving the main body 10, A display unit 280 for displaying various information, and an image processing unit 205.
  • a server not shown
  • a sensing unit 240 for performing various sensing
  • driving unit 260 for moving the main body 10
  • a display unit 280 for displaying various information
  • an image processing unit 205 includes an image processing unit 205.
  • the image processing unit 205 may include an image acquisition unit 229 having the head camera unit 313 and a processor 270 for performing signal processing on the image acquired by the image acquisition unit.
  • the image processing unit 205 may be referred to as an image processing apparatus 205 in this specification.
  • the processor 270 can control the overall operation of the mobile robot 100.
  • the voice input unit 225 may include a processing unit for converting the analog sound into digital data or may be connected to the processing unit and may convert the user input voice signal into data to be recognized by the processor 270 or the server (not shown).
  • the processor 270 controls the overall operation of the mobile robot 100 by controlling the voice input unit 225, the storage unit 230, the communication unit 290, and the like, which constitute the mobile robot 100.
  • the storage unit 230 records various kinds of information necessary for controlling the mobile robot 100, and may include a volatile or nonvolatile recording medium.
  • the storage medium stores data that can be read by a microprocessor, and includes a hard disk drive (HDD), a solid state disk (SSD), a silicon disk drive (SDD), a ROM, a RAM, a CD- Tape, floppy disk, optical data storage, and the like.
  • the storage unit 230 may store various data necessary for the mobile robot 100 to provide the guidance service.
  • the processor 270 can transmit the operation state of the mobile robot 100, user input, etc. to the server through the communication unit 290.
  • the communication unit 290 includes at least one communication module so that the mobile robot 100 is connected to the Internet or a predetermined network.
  • the storage unit 230 may store data for voice recognition, and the processor 270 may process a user's voice input signal received through the voice input unit 225 and perform a voice recognition process.
  • the processor 270 may control the mobile robot 100 to perform a predetermined operation based on the speech recognition result.
  • the processor 270 transmits predetermined information such as flight start information and sightseeing guide information to the display unit 280 Can be controlled.
  • the processor 270 may control to escort the user to the guide destination selected by the user.
  • the speech recognition process can be performed in the server without being performed in the mobile robot 100 itself.
  • the processor 270 may control the communication unit 290 to transmit the user input voice signal to the server, and may receive the recognition result of the voice signal from the server through the communication unit 290.
  • the mobile robot 100 performs simple speech recognition such as caller recognition, and high-dimensional speech recognition such as natural language processing can be performed in the server.
  • the display unit 280 may display information corresponding to a request input by a user, a processing result corresponding to a request input by the user, an operation mode, an operation state, an error state, and the like.
  • the display unit 280 may include a head display 312 and a body display 21. Since the body display 21 is implemented as a larger screen than the head display 312, it may be preferable to display the information on the body display 21 in a large screen.
  • the sound output unit 285 outputs a notification message such as a warning sound, an operation mode, an operation state, an error state, and the like corresponding to a request input of the user, a processing result corresponding to a request input of the user And so on.
  • the sound output unit 285 can convert an electric signal from the processor 270 into an audio signal and output it.
  • a speaker or the like may be provided.
  • the mobile robot 100 may include an image acquisition unit 220 capable of photographing a predetermined range.
  • the image acquisition unit 220 photographs the surroundings of the mobile robot 100, the external environment, and the like, and may include a camera module. Several cameras may be installed for each part of the camera for photographing efficiency.
  • the image acquisition unit 220 includes a head camera unit 313 for recognizing a person and an object, and a body camera unit 25).
  • the number, arrangement, type, and photographing range of the cameras provided in the image acquisition unit 220 are not necessarily limited thereto.
  • the image acquisition unit 220 can capture a user recognition image.
  • the processor 270 can determine an external situation based on the image captured by the image acquisition unit 220 or recognize the user (guidance target).
  • the processor 270 can control the mobile robot 100 to travel based on the image acquired and acquired by the image acquisition unit 220.
  • the image captured and acquired by the image acquisition unit 220 may be stored in the storage unit 230.
  • the mobile robot 100 may include a driving unit 260 for movement, and the driving unit 260 may correspond to the driving unit 11 described above with reference to FIGS. 1 to 4.
  • FIG. The driving unit 260 can move the main body 10 under the control of the processor 270.
  • the mobile robot 100 may include a sensor unit 240 including sensors for sensing various data related to the operation and state of the mobile robot 100.
  • the sensor unit 240 may include an obstacle detection sensor that detects an obstacle.
  • the obstacle detection sensor may include an infrared sensor, an ultrasonic sensor, an RF sensor, a geomagnetic sensor, and a position sensitive device (PSD) sensor.
  • PSD position sensitive device
  • the obstacle detection sensor may correspond to the ultrasonic sensor 333, the RGBD sensor 321, and the like described above with reference to Figs. 1 to 4.
  • the sensor unit 240 may further include a cliff detection sensor 113 for detecting the presence or absence of a cliff on the floor in the driving area.
  • the sensor unit 240 may further include a sensor for sensing the size of the sound obtained through the microphone 314 so that the size of the voice uttered by the user and the size of the surrounding noise Sensing can be performed.
  • the voice input unit 225 can discriminate the size of the user's voice and surrounding noises during the process of the signal obtained through the microphone 314, without further including a separate sensor.
  • the sensor unit 240 may include a light detection and ranging (Lidar) 136, 118.
  • Lidar light detection and ranging
  • the riders 136 and 118 detect an object such as an obstacle based on a TOF (Time of Flight) of a transmission signal and a reception signal or a phase difference between a transmission signal and a reception signal via a laser light can do.
  • TOF Time of Flight
  • the riders 132a and 132b can detect the distance to the object, the relative speed with the object, and the position of the object.
  • the riders 132a and 132b may be provided as part of the configuration of the obstacle detection sensor. Also, the riders 132a and 132b may be provided as a sensor for creating a map.
  • the obstacle detection sensor senses an object, particularly an obstacle, existing in a traveling (moving) direction of the mobile robot, and transmits the obstacle information to the processor 270.
  • the processor 270 can control the movement of the mobile robot 100 according to the position of the detected obstacle.
  • the sensor unit 240 may further include a motion detection sensor for sensing motion of the mobile robot 100 according to driving of the main body 101 and outputting motion information.
  • a motion detection sensor for sensing motion of the mobile robot 100 according to driving of the main body 101 and outputting motion information.
  • a gyro sensor, a wheel sensor, an acceleration sensor, or the like can be used as the motion detection sensor.
  • the gyro sensor senses the direction of rotation and detects the rotation angle when the mobile robot 100 moves according to the operation mode.
  • the gyro sensor detects the angular velocity of the mobile robot 100 and outputs a voltage value proportional to the angular velocity.
  • the processor 270 calculates the rotation direction and the rotation angle using the voltage value output from the gyro sensor.
  • the wheel sensor is connected to the left and right wheels to detect the number of revolutions of the wheel.
  • the wheel sensor may be a rotary encoder.
  • the rotary encoder detects and outputs the number of rotations of the left and right wheels.
  • the processor 270 may calculate the rotational speeds of the left and right wheels using the rotational speed. In addition, the processor 270 can calculate the rotation angle using the difference in the number of rotations of the left and right wheels.
  • the acceleration sensor senses a change in the speed of the mobile robot 100, for example, a change in the mobile robot 100 due to a start, a stop, a change of direction, a collision with an object or the like.
  • the acceleration sensor is attached to the main wheel or the adjoining positions of the auxiliary wheels, so that the slip or idling of the wheel can be detected.
  • the acceleration sensor can be embedded in the processor 270 to sense the speed change of the mobile robot 100. That is, the acceleration sensor detects the amount of impact according to the speed change and outputs a corresponding voltage value. Thus, the acceleration sensor can perform the function of an electronic bumper.
  • the processor 270 can calculate the positional change of the mobile robot 100 based on the operation information output from the motion detection sensor. Such a position is a relative position corresponding to the absolute position using the image information.
  • the mobile robot can improve the performance of the position recognition using the image information and the obstacle information through the relative position recognition.
  • the processor 270 can provide various information and services by variously combining the two displays 312 and 21 of the mobile robot.
  • Processor 270 may be coupled to first display 312 and / or second display 21 in response to a voice input received via voice input 225 or a touch input received via first display 312, It is possible to control to display the screen.
  • the processor 270 controls to display a predetermined screen on at least one of the first display 312 and the second display 21 based on the type and amount of the information included in the predetermined screen to be displayed .
  • the processor 270 can control to display information on the appropriate displays 312 and 21 in accordance with the usage, such as the amount of information to be provided, whether or not the information is to be manipulated.
  • the processor 270 can control the second display 21, which is larger than the first display 312, to display a standby screen.
  • the waiting screen may include at least one of general guide information, announcements, and a predetermined advertisement of a public place where the mobile robot 100 is disposed.
  • the waiting screen may sequentially include a guide screen and an advertisement screen of preset destinations. That is, when the mobile robot 100 is in a standby state, the processor 270 may control to sequentially display a guide screen and an advertisement screen of predetermined destinations.
  • the standby screen may be configured differently depending on the place where the mobile robot 100 is disposed.
  • the processor 270 disassembles the signal processing for the image from the image acquiring unit 220, and in particular, performs segmentation on the image to distinguish the object.
  • FIGS. 6A and 6B are views of an internal block diagram of the processor of FIG. 5, and FIG. 7 is a diagram referred to of the operation description of FIGS. 6A to 6B.
  • FIG. 6A an example of an internal block diagram of the processor 270 of the mobile robot 100 is shown.
  • the processor 270 may include an image preprocessing unit 410, a disparity computing unit 420, an object detecting unit 434, an object tracking unit 440, and an application unit 450.
  • the image preprocessor 410 may receive an image from the image acquisition unit 220 and perform preprocessing.
  • the image preprocessing unit 410 may perform a noise reduction, a rectification, a calibration, a color enhancement, a color space conversion (CSC ), Interpolation, camera gain control, and the like. Accordingly, a clearer image than the image captured by the image acquisition unit 220 can be obtained.
  • CSC color space conversion
  • the disparity calculator 420 receives the image signal processed by the image preprocessing unit 410 and calculates a disparity map using the depth information of the RGBD image, . That is, disparity information about the periphery of the mobile robot 100 can be obtained.
  • the disparity map may mean a map in which numerical values of binocular parallax information of images, i.e., left and right images, are displayed.
  • the segmentation unit 432 may perform segmenting and clustering in the image based on the disparity information from the disparity calculating unit 420.
  • the segmentation unit 432 can separate the background and the foreground for at least one of the images based on the disparity information.
  • an area having dispaly information within a disparity map of a predetermined value or less can be calculated as a background, and the corresponding part can be excluded. Thereby, the foreground can be relatively separated.
  • an area in which the dispetity information is equal to or greater than a predetermined value in the disparity map can be calculated with the foreground, and the corresponding part can be extracted. Thereby, the foreground can be separated.
  • the object detector 434 can detect the object based on the image segment from the segmentation unit 432.
  • the object detecting unit 434 can detect an object for at least one of the images based on the disparity information.
  • the object detecting unit 434 can detect an object for at least one of the images.
  • an object can be detected from a foreground separated by an image segment.
  • the object verification unit 436 classifies and verifies the isolated object.
  • the object identifying unit 436 identifies the objects using a neural network identification method, a SVM (Support Vector Machine) method, a AdaBoost identification method using a Haar-like feature, or a Histograms of Oriented Gradients (HOG) Technique or the like can be used.
  • a neural network identification method a SVM (Support Vector Machine) method, a AdaBoost identification method using a Haar-like feature, or a Histograms of Oriented Gradients (HOG) Technique or the like.
  • the object checking unit 436 can check the objects by comparing the objects stored in the memory 240 with the detected objects.
  • the object identifying unit 436 can identify the nearby mobile robot 100, lanes, roads, signs, hazardous areas, tunnels, and the like, which are located around the mobile robot 100.
  • An object tracking unit 440 performs tracking on the identified object. For example, it is possible to sequentially check the objects in the acquired images, calculate the motion or motion vector of the identified object, and track the movement of the object based on the calculated motion or motion vector have. Accordingly, it is possible to track obstacles, signs, and the like located around the mobile robot 100.
  • 6B is another example of an internal block diagram of the processor.
  • the processor 270 of FIG. 6B has the same internal processing unit as the processor 270 of FIG. 6A, but differs in signal processing order. Only the difference will be described below.
  • the object detection unit 434 can receive an image and detect an object in the image. 6A, it is possible to detect an object directly from the image, instead of detecting the object, for the segmented image, based on the disparity information.
  • the object verification unit 436 classifies the detected and separated objects based on the image segment from the segmentation unit 432 and the object detected by the object detection unit 434, (Verify).
  • the object identifying unit 436 identifies the objects using a neural network identification method, a SVM (Support Vector Machine) method, a AdaBoost identification method using a Haar-like feature, or a Histograms of Oriented Gradients (HOG) Technique or the like can be used.
  • a neural network identification method a SVM (Support Vector Machine) method, a AdaBoost identification method using a Haar-like feature, or a Histograms of Oriented Gradients (HOG) Technique or the like.
  • the image obtaining unit 220 sequentially obtains the image FR1a.
  • the disparity computing unit 420 in the processor 270 receives the image FR1a processed by the image preprocessing unit 410 and uses the depth information of the received image FR1a, And obtains a disparity map (520).
  • the disparity map 520 is obtained by leveling the parallax between the images FR1a. The larger the disparity level is, the closer the distance from the mobile robot 100 is, and the smaller the disparity level is, The distance from the robot 100 can be calculated.
  • such a disparity map when such a disparity map is displayed, it may be displayed so as to have a higher luminance as the disparity level becomes larger, and a lower luminance as the disparity level becomes smaller.
  • a plurality of lines 528a, 528b, 528c, and 528d have corresponding disparity levels in a disparity map 520, and the construction area 522, the first front obstacle 524, And the front obstacle 526 have respective corresponding disparity levels.
  • the segmentation unit 432, the object detection unit 434 and the object identification unit 436 perform segments, object detection, and object identification on the image FR1a based on the disparity map 520.
  • the object tracking unit 440 can perform tracking on the identified object.
  • FCN Fully Convolutional Networks
  • FCN Fully Convolutional Networks
  • the signal processing must be performed in units of pixels, which is the smallest unit in the image. Therefore, even if the objects OB1 and OB2 are finally separated by object segmentation, .
  • a graphics processing unit GPU may be required to handle such an amount of computation.
  • the manufacturing cost may increase.
  • the present invention proposes a method for quickly and accurately performing segmentation in an image while improving the problem of the FCN technique.
  • a method that can be handled by the processor without a separate GPU.
  • a local Convolutional Neural Network technique is used. This will be described with reference to FIG.
  • FIG. 9 is a flowchart illustrating an operation method of an image processing apparatus according to an embodiment of the present invention
  • FIGS. 10 to 16 are drawings referred to in the description of the operation method of FIG.
  • the image acquisition unit 220 acquires an image (S910).
  • the image acquiring unit 220 may acquire an RGB image or an RGBD image from the head camera unit 313. The acquired image is transmitted to the processor 270.
  • the processor 270 may group the super pixels in the image based on the color or brightness of the image (S920).
  • the processor 270 may group the super pixels of the first size having a plurality of pixels, based on the color or brightness of the image. Such a superpixel may be called a block.
  • the processor 270 may group superpixels in an image, based on the color of the image, but group the superpixels in the image to different sizes.
  • the processor 270 may group superpixels in the image, but group the superpixels in the image to different sizes, based on the brightness of the image.
  • Superpixels can be distinguished, for example, by similar colors or similar brightness.
  • a super pixel may be a pixel of 50 to 100, which is a minimum unit of image processing.
  • the shape of the super pixel is not limited to a rectangle, and may be various shapes for edge discrimination such as a triangle, a polygon and the like.
  • each super pixel in the image does not overlap with each other for quick calculation or the like.
  • the processor 270 calculates a representative value of the super-pixel (S930), and performs segmentation based on the representative value of the super-pixel (S930).
  • the processor 270 may perform convolution, pooling, filtering using the representative values of the superpixel.
  • the processor 270 may perform semantic segmentation based on deep learning.
  • the processor 270 can separate objects in the image through segmentation.
  • the processor 270 can extract a travelable region of the mobile robot 100 through segmentation.
  • FIG. 10 is a diagram referred to explain a deep learning based semantic segmentation.
  • FIG. 10 illustrates a local Convolutional Neural Network (CNN) technique.
  • the processor 270 groups the super pixels (SPL), which are a set of a plurality of pixels, based on the color or brightness in the image.
  • SPL super pixels
  • a network operation is performed in units of 3 * 3 patches (BSPL) including a super pixel (SPL) and a super pixel (SPL) for operation on a super pixel (SPL).
  • BSPL 3 * 3 patches
  • SPL super pixel
  • SPL super pixel
  • convolution conv1
  • max pooling a convolution
  • filtering FC1, Fc2
  • a super pixel (SPL) -based calculation result can be derived, and as a result, it is possible to obtain the result of the pixel unit.
  • the down convolution or the like shown in FIG. 8 is not performed, so that it is possible to perform fast calculation and accurate calculation.
  • FIG. 11A is a diagram illustrating the convolution (conv1) of FIG.
  • convolution using a filter is performed on a previous convolution layer (pemp), and each value for a current convolution layer (Cemp) can be calculated.
  • FIG. 11B is a view illustrating the pooling of FIG. 10A.
  • a result value (SUS) of 282 can be calculated through subsampling using a 2 * 2 filter for a 4 ⁇ 4 single depth slice (SDS). According to this, through sub-sampling, effective information can be selected while reducing the amount of computation.
  • convolution (conv1), pooling, etc. under the CNN technique of FIG. 10 can be performed for a plurality of channels.
  • the processor 270 may control the segmentation to be performed for a plurality of channels.
  • the processor 270 may perform network operations and perform semantic segmentation on a plurality of channels based on the representative values of the super pixels.
  • the plurality of channels includes a channel for the 2D coordinates of the image, a channel for the brightness and color of the image, a channel for the depth of the image, a channel for the normal vector of the image, You can include ...
  • FIG. 12A illustrates an image 1220 representing 2D coordinates
  • FIG. 12B illustrates an image 1220 representing a Lab image
  • FIG. 12C illustrates an image 1230 representing depth
  • FIG. 12E illustrates an image 1240 representing a normal vector
  • FIG. 12E illustrates an image 1250 representing the 3D coordinates of the image.
  • the 2D coordinates may indicate the pixel location within the image and the Lab image may indicate the brightness in the image and the level for the color and the depth may indicate the distance from the image acquisition unit 220 ,
  • a normal vector represents a plane (surface) normal vector on a three-dimensional space corresponding to image pixels, and a 3D coordinate represents coordinates for dividing an object according to distance.
  • the processor 270 may also use the image 1210 representing the 2D coordinates and the image 1230 representing the depth to calculate the image 1250 representing the 3D coordinates of the image, An image 1240 representing a normal vector may be computed.
  • the plurality of channels may be twelve channels.
  • Figure 14 shows three channels (CL) for a Lab image, one channel (CD) for depth, a channel (C3D) for 3D (X, Y, Z) Three channels for a normal vector (CNV), and two channels for a 2D coordinate (C2d).
  • the processor 270 can perform segmentation based on the level values for the plurality of channels, and can distinguish areas within the image.
  • the processor 270 can utilize the region in the image to distinguish the center of the channel having a high level.
  • the processor 270 may assign weights for a plurality of channels, and may identify regions within the image based on the assigned weights and the level values of the plurality of channels.
  • the processor 270 can assign a high weight to a channel having a high level, and can distinguish an area in the image with respect to the channel. This makes it possible to distinguish an area within an accurate image, that is, to classify and detect an object.
  • FIG. 15A illustrates an RGB image 1510 and a depth image 1520 from the image acquiring unit 220.
  • FIG. 15A illustrates an RGB image 1510 and a depth image 1520 from the image acquiring unit 220.
  • the RGB image 1510 and the depth image 1520 can be acquired from the head camera unit 313 using the 2D camera 313a and the RGBD sensors 313b and 313c or the like.
  • FIG. 15B illustrates superpixel grouping within image 1530.
  • the processor 270 may group the super pixels (SPL) in the image based on the color or brightness of the image.
  • the processor 270 may calculate the representative value of the superpixel and perform the segmentation based on the representative value of the superpixel.
  • segmentation can be performed using local CNN techniques.
  • the processor 270 can distinguish the floor area, which is the travelable area in the image, as shown in Fig. 15C.
  • the mobile robot 100 is able to travel through the travelable floor area 1545 by performing image processing and area classification.
  • the processor 270 determines that the pattern in the image is smaller than the size of the superpixel , The pattern may not be distinguished.
  • the processor 270 when using the FCN technique of FIG. 8, Performs signal processing on a pixel-by-pixel basis within the image 1610, so that it is possible to detect a net (net) in the image 1600, if any.
  • the processor 270 uses the local CNN technique as shown in FIGS. 10 to 15C, the processor 270 performs signal processing in units of a large superpixel (SPL) If there is a net in the network (net), it may not be able to detect it.
  • SPL superpixel
  • the mobile robot 100 does not distinguish the pattern when the pattern in the image is smaller than the size of the super pixel, when the image 1600 having the mesh net (net) is obtained, such as 16, It is possible to control the body 260 to move in a pattern.
  • the operation method of the mobile robot of the present invention can be implemented as a code that can be read by a processor on a recording medium readable by a processor provided in the mobile robot.
  • the processor-readable recording medium includes all kinds of recording apparatuses in which data that can be read by the processor is stored. Examples of the recording medium that can be read by the processor include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may also be implemented in the form of a carrier wave such as transmission over the Internet .
  • the processor-readable recording medium may be distributed over network-connected computer systems so that code readable by the processor in a distributed fashion can be stored and executed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Electromagnetism (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 이미지 처리 장치, 및 이를 구비하는 이동 로봇에 관한 것이다. 본 발명의 일 실시예에 따른 이미지 처리장치는, 이미지를 획득하는 영상 획득부와, 영상 획득부로부터의 이미지에 대한 신호 처리를 수행하는 프로세서를 구비하고, 프로세서는, 이미지의 색상 또는 휘도에 기초하여, 이미지 내의 슈퍼 픽셀을 그룹핑하고, 슈퍼 픽셀의 대표값을 연산하고, 슈퍼 픽셀의 대표값에 기초하여, 세그멘테이션을 수행한다. 이에 의해, 이미지 내의 세그멘테이션을 신속하고 정확하게 수행할 수 있게 된다.

Description

이미지 처리 장치, 및 이를 구비하는 이동 로봇
본 발명은 이미지 처리 장치, 및 이를 구비하는 이동 로봇에 관한 것이며, 더욱 상세하게는 이미지 내의 세그멘테이션을 신속하고 정확하게 수행할 수 있는 이미지 처리 장치, 및 이를 구비하는 이동 로봇에 관한 것이다.
공항, 기차역, 항만, 백화점, 공연장 등 공공장소에서는 전광판, 안내 표시판 등을 통하여 이용자에게 정보를 제공하고 있다. 하지만, 전광판, 안내 표시판 등은 서비스 제공자가 선정한 일부 정보만을 일방적으로 전달할 뿐으로, 개별 이용 자의 요구에 부응하지 못하는 문제점이 있었다.
한편, 로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다.
따라서, 로봇을 이용하여 공공장소에서 다양한 서비스를 제공할 수 있는 방안에 대한 연구가 증가하고 있다.
한편, 다양한 서비스를 제공하기 위해, 로봇의 이동이 가능한 것이 바람직하다.
한편, 로봇의 이동을 위해, 획득되는 이미지에 대한 신호 처리를 수행하고, 장애물 등을 피해, 주행하여야 한다. 이에 따라, 이미지 기반의 주행 성능을 향상시키기 위한 다양한 방안이 연구되고 있다.
본 발명의 목적은, 이미지 내의 세그멘테이션을 신속하고 정확하게 수행할 수 있는 이미지 처리장치 및 이를 구비하는 이동 로봇을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 이미지 처리장치는, 이미지를 획득하는 영상 획득부와, 영상 획득부로부터의 이미지에 대한 신호 처리를 수행하는 프로세서를 구비하고, 프로세서는, 이미지의 색상 또는 휘도에 기초하여, 이미지 내의 슈퍼 픽셀을 그룹핑하고, 슈퍼 픽셀의 대표값을 연산하고, 슈퍼 픽셀의 대표값에 기초하여, 세그멘테이션을 수행한다.
한편, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 이동 로봇은, 본체와, 본체의 이동을 위한 구동부와, 이미지를 획득하는 영상 획득부, 영상 획득부로부터의 이미지에 대한 신호 처리를 수행하는 프로세서를 구비하는 이미지 처리 장치를 구비하고, 프로세서는, 이미지의 색상 또는 휘도에 기초하여, 이미지 내의 슈퍼 픽셀을 그룹핑하고, 슈퍼 픽셀의 대표값을 연산하고, 슈퍼 픽셀의 대표값에 기초하여, 세그멘테이션을 수행한다.
본 발명의 일 실시예에 따른 이미지 처리장치는, 이미지를 획득하는 영상 획득부와, 영상 획득부로부터의 이미지에 대한 신호 처리를 수행하는 프로세서를 구비하고, 프로세서는, 이미지의 색상 또는 휘도에 기초하여, 이미지 내의 슈퍼 픽셀을 그룹핑하고, 슈퍼 픽셀의 대표값을 연산하고, 슈퍼 픽셀의 대표값에 기초하여, 세그멘테이션을 수행함으로써, 이미지 내의 세그멘테이션을 신속하고 정확하게 수행할 수 있게 된다.
특히, 세그멘테이션을 통해 주행 가능한 영역을 추출함으로써, 이미지 처리 장치를 구비하는 이동 로봇의 성능을 향상시킬 수 있게 된다.
한편, 복수 채널별로, 세그멘테이션이 수행되도록 제어함으로써, 이미지 내의 세그멘테이션을 정확하게 수행할 수 있게 된다.
한편, 복수의 채널에 대한 가중치를 할당하고, 할당된 가중치 및 복수의 채널의 레벨 값에 기초하여, 이미지 내의 영역을 구분할 수 있으며, 이에 따라, 이미지 내의 세그멘테이션을 정확하게 수행할 수 있게 된다.
한편, 이미지 내의 패턴이, 슈퍼 픽셀의 사이즈 보다 작은 경우, 패턴을 구분하지 않으며, 이미지 내의 패턴이, 슈퍼 픽셀의 사이즈 보다 큰 경우, 해당 패턴을 구분함으로써, 불필요한 연산을 줄일 수 있게 된다.
한편, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 이동 로봇은, 본체와, 본체의 이동을 위한 구동부와, 이미지를 획득하는 영상 획득부, 영상 획득부로부터의 이미지에 대한 신호 처리를 수행하는 프로세서를 구비하는 이미지 처리 장치를 구비하고, 프로세서는, 이미지의 색상 또는 휘도에 기초하여, 이미지 내의 슈퍼 픽셀을 그룹핑하고, 슈퍼 픽셀의 대표값을 연산하고, 슈퍼 픽셀의 대표값에 기초하여, 세그멘테이션을 수행함으로써, 이미지 내의 세그멘테이션을 신속하고 정확하게 수행할 수 있게 된다.
한편, 이미지 내의 패턴이, 슈퍼 픽셀의 사이즈 보다 작은 경우, 패턴을 구분하지 않으며, 패턴으로 본체가 이동하도록 제어하며, 이미지 내의 패턴이, 슈퍼 픽셀의 사이즈 보다 큰 경우, 해당 패턴을 구분하고 해당 패턴으로 이동하지 않도록 제어함으로써, 불필요한 연산을 줄일 수 있게 된다.
도 5는 도 1의 이동 로봇의 내부 블록도의 일예이다.
도 6a 내지 도 6b는 도 5의 프로세서의 내부 블록도의 일예이다.
도 7은 도 6a 내지 도 6b의 동작 설명에 참조되는 도면이다.
도 8은 풀리 컨벌루션 네트워크(Fully Convolutional Networks; FCN)에 따른 세그멘테이션을 설명하는 도면이다.
도 9는 본 발명의 일 실시예에 따른 이미지 처리장치의 동작방법을 도시한 순서도이다.
도 10 내지 도 16은 도 9의 동작방법 설명에 참조되는 도면이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 이동 로봇의 사시도이고, 도 2는 본 발명의 일 실시예에 따른 이동 로봇을 저면에서 바라본 저면 사시도이며, 도 3은 본 발명의 일 실시예에 따른 이동 로봇의 측면도이고, 도 4는 본 발명의 일 실시예에 따른 이동 로봇의 분해 사시도이다.
도 1 내지 도 4를 참조하면, 본 발명의 일 실시예에 따른 이동 로봇(100)은 외관을 형성하고 그 내부에 각종 부품을 수납하는 본체(10)를 포함할 수 있다.
본체(10)는 상하 방향으로 길이가 길게 형성되며, 전체적으로 하부에서 상부 방향으로 올라갈수록 슬림해지는 오뚝이 형상을 가질 수 있다.
본체(10)는 이동 로봇(100)의 외관을 형성하는 케이스(30)를 포함할 수 있다. 케이스(30)는 상측에 배치되는 탑 커버(31), 탑 커버(31)의 하측에 배치되는 제1 미들 커버(32), 제1 미들 커버(32)의 하측에 배치되는 제2 미들 커버(33) 및 제2 미들 커버(33)의 하측에 배치되는 바텀 커버(34)를 포함할 수 있다. 여기서 제1 미들 커버(32)와 제2 미들 커버(33)는 하나의 미들 커버로 이루어질 수 있다.
탑 커버(31)는 이동 로봇(100)의 최상단에 위치되며, 반구 또는 돔 형상을 가질 수 있다. 탑 커버(31)는 사용자로부터 명령을 용이하게 입력 받기 위하여 성인의 키보다 낮은 높이에 위치될 수 있다. 그리고 탑 커버(31)는 소정각도 회전 가능하도록 구성될 수 있다.
한편, 탑 커버(31)와 그 내부의 헤드부(15)는, 이동 로봇(100)의 최상단에 배치되어 사람의 헤드(head)와 유사한 형상과 기능을 가지고 사용자와의 인터랙션(interaction)을 담당할 수 있다. 따라서, 탑 커버(31)와 그 내부의 헤드부(15)는 헤드(head)로 명명될 수 있다. 또한, 헤드의 하측에 배치되는 나머지 부분은 바디(body)로 명명될 수 있다.
탑 커버(31)는 전면 일측에 조작부(311)를 포함할 수 있다. 조작부(311)는 사용자로부터 명령을 입력받는 기능을 수행할 수 있다. 이를 위하여, 조작부(311)는 사용자로부터 터치 입력을 받기 위한 디스플레이(312)를 포함할 수 있다.
조작부(311)에 배치되는 디스플레이(312)는 제1 디스플레이 또는 헤드 디스플레이(312)로 명명하고, 바디에 배치되는 디스플레이부(280)에 포함되는 디스플레이는 제2 디스플레이 또는 바디 디스플레이(21)로 명명할 수 있다.
헤드 디스플레이(312)는 터치패드와 상호 레이어 구조를 이루어 터치스크린으로 구성될 수 있다. 이 경우에, 헤드 디스플레이(312)는 출력 장치 이외에 사용자의 터치에 의한 정보의 입력이 가능한 입력 장치로도 사용될 수 있다.
또한, 조작부(311)는 사용자가 헤드 디스플레이(312)를 아래로 내려다보면서 쉽게 조작할 수 있도록 일정각도 상측을 향할 수 있다. 예를 들어, 조작부(311)는 탑 커버(31)의 일부가 절단되어 형성되는 면에 배치될 수 있다. 따라서, 헤드 디스플레이(312)는 경사지도록 배치될 수 있다.
또한, 조작부(311)는 전체적으로 원형 또는 타원형의 외형을 가질 수 있다. 이러한 조작부(311)는 사람의 얼굴 형상과 유사하게 구현될 수 있다.
일례로, 조작부(311)는 원형 형상을 가지며, 조작부(311) 상에는 사람의 눈, 코, 입, 눈썹 등을 표현하기 위한 구조물이 하나 이상 위치될 수 있다.
즉, 조작부(311) 상에는 사람의 눈, 코, 입, 눈썹 등을 표현하기 위하여 특정 구조물이 배치될 수 있고 또는 특정 페인트가 도색될 수 있다. 따라서, 조작부(311)는 사람의 얼굴 형상을 가짐으로써, 사용자에게 감성적인 느낌을 제공할 수 있다. 더욱이, 사람의 얼굴 형상을 가지는 로봇이 주행하는 경우, 마치 사람이 움직이는 것과 같은 느낌을 줄 수 있어 로봇에 대한 거부감을 해소할 수 있다.
다른 예로, 헤드 디스플레이(312) 상에는 사람의 눈, 코, 입, 눈썹 등을 표현하기 위한 이미지가 하나 이상 표시될 수 있다.
즉, 헤드 디스플레이(312) 상에는 길 안내 서비스에 관련된 정보뿐만 아니라, 사람의 얼굴 형상을 표현하기 위한 다양한 이미지가 표시될 수 있다. 그리고 헤드 디스플레이(312) 상에는 일정 시간 간격 또는 특정 시각에 정해진 얼굴 표정을 표현하기 위한 이미지가 표시될 수도 있다.
한편, 도 1을 기준으로 조작부(311)가 향하는 방향을 "전방"이라고 정의한다. 그리고 "전방"의 반대 방향을 "후방"이라고 정의한다.
또한, 조작부(311)는 사람과 사물 인식을 위한 헤드 카메라부(313)가 배치될 수 있다.
헤드 카메라부(313)는 헤드 디스플레이(312)의 상측에 배치될 수 있다. 헤드 카메라부(313)는 2D 카메라(313a) 및 RGBD 센서(313b, 313c)를 포함할 수 있다.
2D 카메라(313a)는 2차원 영상을 기반으로 사람 또는 사물을 인식하기 위한 센서일 수 있다.
또한, RGBD 센서(Red, Green, Blue, Distance)(313b, 313c)는 사람의 위치 또는 얼굴 이미지를 획득하기 위한 센서일 수 있다. RGBD 센서(313b, 313c)는 RGBD 센서들을 갖는 카메라 또는 다른 유사한 3D 이미징 장치로부터 획득되는 깊이(Depth) 데이터를 갖는 캡쳐된 이미지들을 이용하여 사람 또는 사물을 검출하기 위한 센서일 수 있다.
사람의 위치 또는 얼굴 이미지를 정확히 검출하기 위하여, RGBD 센서(313b, 313c)는 복수 개로 이루어질 수 있다. 일례로, RGBD 센서(313b, 313c)는 2개로 구성되어, 2D 카메라(313a)의 좌측 및 우측에 각각 배치될 수 있다.
도시되진 않았으나, 조작부(311)는 사용자로부터 명령을 직접 입력 받기 위한 물리적 버튼을 더 포함할 수 있다.
또한, 탑 커버(31)는 마이크(314)를 더 포함할 수 있다.
마이크(314)는 사용자로부터 오디오 신호의 명령을 입력 받기위한 기능을 수행할 수 있다. 일례로, 마이크(314)는 사용자로부터 음성 명령을 정확히 수신하기 위하여, 탑 커버(31)의 상단부 어느 지점에 4개소가 형성될 수 있다. 따라서, 이동 로봇(100)이 주행 중이거나 또는 탑 커버(31)가 회전 중에도, 사용자로부터 음성의 길 안내 요청을 정확히 수신할 수 있다.
본 발명의 일 실시예에서 탑 커버(31)는, 이동 로봇(100)이 주행 중에는 조작부(311)가 주행 방향을 향하도록 회전될 수 있다. 그리고 탑 커버(31)는 이동 로봇(100)이 주행 중에 사용자로부터 명령(예: 음성 명령 등)을 수신하면, 조작부(311)가 사용자가 위치한 방향을 향하도록 회전될 수 있다.
이와는 다르게, 탑 커버(31)는 이동 로봇(100)이 주행 중에 사용자로부터 명령을 수신하면, 이동 로봇(100)의 주행 방향의 반대되는 방향으로 회전될 수 있다. 즉, 탑 커버(31)는 바디 디스플레이부(280)가 향하는 방향으로 회전될 수 있다. 따라서, 사용자는 바디 디스플레이부(280)에 표시되는 길 안내 서비스 정보 등을 보면서 조작부(311)를 효과적으로 조작할 수 있다.
도 5는 도 1의 이동 로봇의 내부 블록도의 일예이다.
도면을 참조하면, 본 발명의 일 실시예에 따른 이동 로봇(100)은, 마이크(314)를 통하여 사용자의 음성 입력을 수신하는 음성 입력부(225), 각종 데이터를 저장하는 저장부(230), 서버(미도시) 등 다른 전자 기기와 데이터를 송수신하는 통신부(290), 각종 센싱을 수행하는 센싱부(240), 본체(10)의 이동을 위한 구동부(260), 사운드를 출력하는 음향 출력부(285), 각종 정보 표시를 위한 디스플레이(280), 및 이미지 처리부(205)를 구비할 수 있다.
이미지 처리부(205)는, 상술한 헤드 카메라부(313)를 구비하는 영상 획득부(229)와, 영상 획득부에서 획득된 이미지에 대한 신호 처리를 수행하는 프로세서(270)를 구비할 수 있다.
한편, 이미지 처리부(205)는, 본 명세서에서, 이미지 처리장치(205)라 명명될 수도 있다.
한편, 프로세서(270)는, 이동 로봇(100)의 전반적인 동작을 제어할 수 있다.
음성 입력부(225)는, 아날로그 소리를 디지털 데이터로 변환하는 처리부를 포함하거나 처리부에 연결되어, 사용자 입력 음성 신호를 프로세서(270) 또는 서버(미도시)에서 인식할 수 있도록 데이터화할 수 있다.
프로세서(270)는 이동 로봇(100)을 구성하는 음성 입력부(225), 저장부(230), 통신부(290) 등을 제어하여, 이동 로봇(100)의 동작 전반을 제어할 수 있다.
저장부(230)는 이동 로봇(100)의 제어에 필요한 각종 정보들을 기록하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 기록 매체는 마이크로 프로세서(micro processor)에 의해 읽힐 수 있는 데이터를 저장한 것으로, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 포함할 수 있다.
또한, 저장부(230)는 이동 로봇(100)이 안내 서비스를 제공하는데 필요한 각종 데이터를 저장할 수 있다.
또한, 프로세서(270)는 통신부(290)를 통해 이동 로봇(100)의 동작상태 또는 사용자 입력 등을 서버 등으로 전송할 수 있다.
통신부(290)는 적어도 하나의 통신모듈을 포함하여 이동 로봇(100)이 인터넷, 또는 소정의 네트워크에 연결되도록 한다.
한편, 저장부(230)에는 음성 인식을 위한 데이터가 저장될 수 있고, 프로세서(270)는 음성 입력부(225)를 통하여 수신되는 사용자의 음성 입력 신호를 처리하고 음성 인식 과정을 수행할 수 있다.
한편, 프로세서(270)는 음성 인식 결과에 기초하여 이동 로봇(100)이 소정 동작을 수행하도록 제어할 수 있다.
예를 들어, 프로세서(270)는 음성 신호에 포함되는 명령이 비행기 출발 정보, 관광 안내 정보 등 소정 정보를 요청하는 명령인 경우, 비행기 출발 정보, 관광 안내 정보 등 소정 정보를 디스플레이부(280)에 표시하도록 제어할 수 있다.
또한, 사용자의 안내 요청이 있으면, 프로세서(270)는 사용자가 선택한 안내 목적지까지 사용자를 에스코트(escort)하도록 제어할 수 있다.
한편, 음성 인식 과정은 이동 로봇(100) 자체에서 실시되지 않고 서버에서 수행될 수 있다.
이 경우에, 프로세서(270)는 사용자 입력 음성 신호가 서버로 송신되도록 통신부(290)를 제어할 수 있고, 통신부(290)를 통하여, 서버로부터 음성 신호에 대한 인식 결과를 수신할 수 있다.
또는, 호출어 인식 등 간단한 음성 인식은 이동 로봇(100)이 수행하고, 자연어 처리 등 고차원의 음성 인식은 서버에서 수행될 수 있다.
디스플레이부(280)는 사용자의 요청 입력에 대응하는 정보, 사용자의 요청 입력에 대응하는 처리 결과, 동작모드, 동작상태, 에러상태 등을 영상으로 표시할 수 있다.
한편, 도 1 내지 도 4를 참조하여 상술한 것과 같이, 디스플레이부(280)는 헤드 디스플레이(312)와 바디 디스플레이(21)를 포함할 수 있다. 바디 디스플레이(21)는 상대적으로 헤드 디스플레이(312)보다 대화면으로 구현되므로, 바디 디스플레이(21)에 정보를 대화면으로 표시하는 것이 더 바람직할 수 있다.
또한, 음향 출력부(285)는 프로세서(270)의 제어에 따라 경고음, 동작모드, 동작상태, 에러상태 등의 알림 메시지, 사용자의 요청 입력에 대응하는 정보, 사용자의 요청 입력에 대응하는 처리 결과 등을 음향으로 출력할 수 있다. 음향 출력부(285)는, 프로세서(270)로부터의 전기 신호를 오디오 신호로 변환하여 출력할 수 있다. 이를 위해, 스피커 등을 구비할 수 있다.
한편, 이동 로봇(100)은 소정 범위를 촬영할 수 있는 영상 획득부(220)를 포함할 수 있다.
영상 획득부(220)는 이동 로봇(100) 주변, 외부 환경 등을 촬영하는 것으로, 카메라 모듈을 포함할 수 있다. 이러한 카메라는 촬영 효율을 위해 각 부위별로 여러 개가 설치될 수도 있다.
예를 들어, 도 1 내지 도 4를 참조하여 상술한 것과 같이, 영상 획득부(220)는, 사람과 사물 인식을 위한 헤드 카메라부(313)와 안내 대상의 식별 및 추적을 위한 바디 카메라부(25)를 포함할 수 있다. 하지만, 영상 획득부(220)가 구비하는 카메라의 개수, 배치, 종류, 촬영범위가 반드시 이에 한정되어야 하는 것은 아니다.
영상 획득부(220)는, 사용자 인식용 영상을 촬영할 수 있다. 프로세서(270)는 영상 획득부(220)가 촬영하여 획득된 이미지에 기초하여 외부 상황을 판단하거나, 사용자(안내 대상)를 인식할 수 있다.
또한, 프로세서(270)는, 영상 획득부(220)가 촬영하여 획득하는 이미지에 기초하여 이동 로봇(100)이 주행하도록 제어할 수 있다.
한편, 영상 획득부(220)가 촬영하여 획득된 이미지은 저장부(230)에 저장될 수 있다.
한편, 이동 로봇(100)은 이동을 위한 구동부(260)를 포함할 수 있고, 구동부(260)는 도 1 내지 도 4를 참조하여 상술한 구동부(11)에 대응할 수 있다. 구동부(260)는 프로세서(270)의 제어에 따라, 본체(10)를 이동시킬 수 있다.
한편, 이동 로봇(100)은 이동 로봇(100)의 동작, 상태와 관련된 각종 데이터를 센싱하는 센서들을 포함하는 센서부(240)를 포함할 수 있다.
센서부(240)는 장애물을 감지하는 장애물 감지 센서를 포함할 수 있고, 장애물 감지 센서는, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서, PSD(Position Sensitive Device) 센서 등을 포함할 수 있다.
예를 들어. 장애물 감지 센서는 도 1 내지 도 4를 참조하여 상술한 초음파 센서(333), RGBD 센서(321) 등이 해당될 수 있다.
또한, 센서부(240)는 주행구역 내 바닥에 낭떠러지의 존재 여부를 감지하는 절벽 감지 센서(113)를 더 포함할 수 있다.
실시예에 따라서는, 센서부(240)는 마이크(314)를 통해 획득되는 소리의 크기를 감지하는 센서를 더 포함할 수 있고, 이에 따라, 사용자가 발화하는 음성의 크기, 주변 소음의 크기를 센싱할 수 있다.
또는, 별도의 센서를 더 포함하지 않고, 음성 입력부(225)가 마이크(314)를 통해 획득되는 신호의 처리 과정에서 사용자의 음성, 주변 소음의 크기를 판별할 수 있다.
또한, 센서부(240)는 라이더(light detection and ranging: Lidar, 136, 118)를 포함할 수 있다.
라이더(136, 118)는, 레이저(Laser) 광을 매개로, 송신 신호와 수신 신호의 TOF(Time of Flight) 또는 송신 신호와 수신 신호의 위상차(phase difference)를 기초로, 장애물 등 오브젝트를 검출할 수 있다.
또한, 라이더(132a, 132b)는, 오브젝트와의 거리, 오브젝트와의 상대 속도 및 오브젝트의 위치를 검출할 수 있다.
라이더(132a, 132b)는, 장애물 감지 센서의 구성 중 일부로써 구비될 수 있다. 또한, 라이더(132a, 132b)는, 맵(map) 작성을 위한 센서로써 구비될 수도 있다.
한편, 장애물 감지 센서는 이동 로봇의 주행(이동) 방향에 존재하는 물체, 특히 장애물을 감지하여 장애물 정보를 프로세서(270)에 전달한다. 이때, 프로세서(270)는, 감지된 장애물의 위치에 따라 이동 로봇(100)의 움직임을 제어할 수 있다.
한편, 센서부(240)는 본체(101)의 구동에 따른 이동 로봇(100)의 동작을 감지하고 동작 정보를 출력하는 동작 감지 센서를 더 포함할 수 있다. 예를 들어, 동작 감지 센서로는, 자이로 센서(Gyro Sensor), 휠 센서(Wheel Sensor), 가속도 센서(Acceleration Sensor) 등을 사용할 수 있다.
자이로 센서는, 이동 로봇(100)이 운전 모드에 따라 움직일 때 회전 방향을 감지하고 회전각을 검출한다. 자이로 센서는, 이동 로봇(100)의 각속도를 검출하여 각속도에 비례하는 전압 값을 출력한다. 프로세서(270)는 자이로 센서로부터 출력되는 전압 값을 이용하여 회전 방향 및 회전각을 산출한다.
휠 센서는, 좌륜과 우륜에 연결되어 바퀴의 회전수를 감지한다. 여기서, 휠 센서는 로터리 엔코더(Rotary Encoder)일 수 있다. 로터리 엔코더는 좌륜과 우륜의 회전수를 감지하여 출력한다.
프로세서(270)는 회전수를 이용하여 좌, 우측 바퀴의 회전 속도를 연산할 수 있다. 또한, 프로세서(270)는 좌륜과 우륜의 회전수 차이를 이용하여 회전각을 연산할 수 있다.
가속도 센서는, 이동 로봇(100)의 속도 변화, 예를 들어, 출발, 정지, 방향 전환, 물체와의 충돌 등에 따른 이동 로봇(100)의 변화를 감지한다. 가속도 센서는 주 바퀴나 보조바퀴의 인접 위치에 부착되어, 바퀴의 미끄러짐이나 공회전을 검출할 수 있다.
또한, 가속도 센서는 프로세서(270)에 내장되어 이동 로봇(100)의 속도 변화를 감지할 수 있다. 즉, 가속도 센서는 속도 변화에 따른 충격량을 검출하여 이에 대응하는 전압 값을 출력한다. 따라서, 가속도 센서는 전자식 범퍼의 기능을 수행할 수 있다.
프로세서(270)는 동작 감지 센서로부터 출력된 동작 정보에 기초하여 이동 로봇(100)의 위치 변화를 산출할 수 있다. 이러한 위치는 영상 정보를 이용한 절대 위치에 대응하여 상대 위치가 된다. 이동 로봇은 이러한 상대 위치 인식을 통해 영상 정보와 장애물 정보를 이용한 위치 인식의 성능을 향상시킬 수 있다.
한편, 프로세서(270)는 이동 로봇이 구비하는 2개의 디스플레이(312, 21)를 다양하게 조합하여 소정 정보 및 서비스를 제공할 수 있다.
프로세서(270)는, 음성 입력부(225)를 통하여 수신되는 음성 입력 또는 제1 디스플레이(312)를 통하여 수신되는 터치 입력에 대응하여 제1 디스플레이(312) 및/또는 제2 디스플레이(21)에 소정 화면을 표시하도록 제어할 수 있다.
이 경우에, 프로세서(270)는, 표시하는 소정 화면에 포함되는 정보의 종류와 양에 기초하여, 제1 디스플레이(312) 또는 제2 디스플레이(21) 중 적어도 하나에 소정 화면이 표시되도록 제어할 수 있다.
프로세서(270)는, 제공할 정보의 양, 조작 여부 등 용도에 따라 적합한 디스플레이(312, 21)에 정보를 표시하도록 제어할 수 있다.
예를 들어, 이동 로봇(100)이 대기 중일 때, 프로세서(270)는, 제1 디스플레이(312)보다 더 큰 대화면의 제2 디스플레이(21)에 대기 중 화면을 표시하도록 제어할 수 있다.
대기 중 화면은 이동 로봇(100)이 배치된 공공장소의 통상적인 안내 정보, 공지 사항, 소정 광고 중 적어도 하나를 포함할 수 있다.
또한, 대기 중 화면은, 기설정된 목적지들의 안내 화면과 광고 화면을 순차적으로 포함할 수 있다. 즉, 이동 로봇(100)이 대기 중일 때, 프로세서(270)는, 기설정된 목적지들의 안내 화면과 광고 화면을 순차적으로 표시하도록 제어할 수 있다.
또한, 대기 중 화면은, 이동 로봇(100)이 배치된 장소에 따라 상이하게 구성되 수 있다.
한편, 프로세서(270)는, 영상 획득부(220)로부터의 이미지에 대한 신호 처리를 수해하고, 특히, 이미지에 대한 세그멘테이션을 수행하여, 오브젝트를 구분할 수 잇다.
도 6a 내지 도 6b는 도 5의 프로세서의 내부 블록도의 일예이고, 도 7은 도 6a 내지 도 6b의 동작 설명에 참조되는 도면이다.
먼저, 도 6a를 참조하면, 도 6a는, 이동 로봇(100)의 프로세서(270)의 내부 블록도의 일예를 도시한다.
프로세서(270)는, 영상 전처리부(410), 디스패러티 연산부(420), 오브젝트 검출부(434), 오브젝트 트래킹부(440), 및 어플리케이션부(450)를 구비할 수 있다.
영상 전처리부(image preprocessor)(410)는, 영상 획득부(220)로부터의 이미지를 수신하여, 전처리(preprocessing)를 수행할 수 있다.
구체적으로, 영상 전처리부(410)는, 이미지에 대한, 노이즈 리덕션(noise reduction), 렉티피케이션(rectification), 캘리브레이션(calibration), 색상 강화(color enhancement), 색상 공간 변환(color space conversion;CSC), 인터폴레이션(interpolation), 카메라 게인 컨트롤(camera gain control) 등을 수행할 수 있다. 이에 따라, 영상 획득부(220)에서 촬영된 이미지보다 선명한 이미지를 획득할 수 있다.
디스패러티 연산부(disparity calculator)(420)는, 영상 전처리부(410)에서 신호 처리된, 이미지를 수신하고, 수신된 이미지, 특히 RGBD 이미지의 깊이 정보를 이용하여, 디스패러티 맵(dispartiy map)을 획득한다. 즉, 이동 로봇(100) 주변에 대한, 디스패러티 정보를 획득할 수 있다.
한편, 디스패러티 맵은, 이미지, 즉 좌,우 이미지의 시차(時差) 정보(binocular parallax information)를 수치로 나타낸 맵을 의미할 수 있다.
세그멘테이션부(segmentation unit)(432)는, 디스패러티 연산부(420)로부터의 디스페러티 정보에 기초하여, 이미지 내의 세그먼트(segment) 및 클러스터링(clustering)을 수행할 수 있다.
구체적으로, 세그멘테이션부(432)는, 디스페러티 정보에 기초하여, 이미지 중 적어도 하나에 대해, 배경(background)과 전경(foreground)을 분리할 수 있다.
예를 들어, 디스패리티 맵 내에서 디스페러티 정보가 소정치 이하인 영역을, 배경으로 연산하고, 해당 부분을 제외시킬 수 있다. 이에 의해, 상대적으로 전경이 분리될 수 있다.
다른 예로, 디스패리티 맵 내에서 디스페러티 정보가 소정치 이상인 영역을, 전경으로 연산하고, 해당 부분을 추출할 수 있다. 이에 의해, 전경이 분리될 수 있다.
이와 같이, 이미지에 기반하여 추출된 디스페러티 정보 정보에 기초하여, 전경과 배경을 분리함으로써, 이후의, 오브젝트 검출시, 신호 처리 속도, 신호 처리 양 등을 단축할 수 있게 된다.
다음, 오브젝트 검출부(object detector)(434)는, 세그멘테이션부(432)로부터의 이미지 세그먼트에 기초하여, 오브젝트를 검출할 수 있다.
즉, 오브젝트 검출부(434)는, 디스페러티 정보 정보에 기초하여, 이미지 중 적어도 하나에 대해, 오브젝트를 검출할 수 있다.
구체적으로, 오브젝트 검출부(434)는, 이미지 중 적어도 하나에 대해, 오브젝트를 검출할 수 있다. 예를 들어, 이미지 세그먼트에 의해 분리된 전경으로부터 오브젝트를 검출할 수 있다.
다음, 오브젝트 확인부(object verification unit)(436)는, 분리된 오브젝트를 분류하고(classify), 확인한다(verify).
이를 위해, 오브젝트 확인부(436)는, 뉴럴 네트워크(neural network)를 이용한 식별법, SVM(Support Vector Machine) 기법, Haar-like 특징을 이용한 AdaBoost에 의해 식별하는 기법, 또는 HOG(Histograms of Oriented Gradients) 기법 등을 사용할 수 있다.
한편, 오브젝트 확인부(436)는, 메모리(240)에 저장된 오브젝트들과, 검출된 오브젝트를 비교하여, 오브젝트를 확인할 수 있다.
예를 들어, 오브젝트 확인부(436)는, 이동 로봇(100) 주변에 위치하는, 주변 이동 로봇(100), 차선, 도로면, 표지판, 위험 지역, 터널 등을 확인할 수 있다.
오브젝트 트래킹부(object tracking unit)(440)는, 확인된 오브젝트에 대한 트래킹을 수행한다. 예를 들어, 순차적으로, 획득되는 이미지들에 내의, 오브젝트를 확인하고, 확인된 오브젝트의 움직임 또는 움직임 벡터를 연산하며, 연산된 움직임 또는 움직임 벡터에 기초하여, 해당 오브젝트의 이동 등을 트래킹할 수 있다. 이에 따라, 이동 로봇(100) 주변에 위치하는, 장애물, 표지판 등을 트래킹할 수 있게 된다.
도 6b는 프로세서의 내부 블록도의 다른 예이다.
도면을 참조하면, 도 6b의 프로세서(270)는, 도 6a의 프로세서(270)와 내부 구성 유닛이 동일하나, 신호 처리 순서가 다른 것에 그 차이가 있다. 이하에서는 그 차이만을 기술한다.
오브젝트 검출부(434)는, 이미지를 수신하고, 이미지 내의 오브젝트를 검출할 수 있다. 도 6a와 달리, 디스패러티 정보에 기초하여, 세그먼트된 이미지에 대해, 오브젝트를 검출하는 것이 아닌, 이미지로부터 바로 오브젝트를 검출할 수 있다.
다음, 오브젝트 확인부(object verification unit)(436)는, 세그멘테이션부(432)로부터의 이미지 세그먼트, 및 오브젝트 검출부(434)에서 검출된 오브젝트에 기초하여, 검출 및 분리된 오브젝트를 분류하고(classify), 확인한다(verify).
이를 위해, 오브젝트 확인부(436)는, 뉴럴 네트워크(neural network)를 이용한 식별법, SVM(Support Vector Machine) 기법, Haar-like 특징을 이용한 AdaBoost에 의해 식별하는 기법, 또는 HOG(Histograms of Oriented Gradients) 기법 등을 사용할 수 있다.
도 7을 참조하면, 이미지 프레임 구간 동안, 영상 획득부(220)는, 이미지(FR1a)를 순차적으로 획득한다.
프로세서(270) 내의 디스패러티 연산부(420)는, 영상 전처리부(410)에서 신호 처리된, 이미지(FR1a)를 수신하고, 수신된 이미지(FR1a), 특히, RGBD 이미지의 깊이 정보를 이용하여, 디스패러티 맵(dispartiy map)(520)을 획득한다.
디스패러티 맵(dispartiy map)(520)은, 이미지(FR1a) 사이의 시차를 레벨화한 것으로서, 디스패러티 레벨이 클수록, 이동 로봇(100)과의 거리가 가깝고, 디스패러티 레벨이 작을수록, 이동 로봇(100)과의 거리가 먼 것으로 연산할 수 있다.
한편, 이러한 디스패러티 맵을 디스플레이 하는 경우, 디스패러티 레벨이 클수록, 높은 휘도를 가지고, 디스패러티 레벨이 작을수록 낮은 휘도를 가지도록 표시할 수도 있다.
도면에서는, 디스패러티 맵(520) 내에, 복수의 라인(528a,528b,528c,528d) 등이 각각 해당하는 디스패러티 레벨을 가지며, 공사 지역(522), 제1 전방 장애물(524), 제2 전방 장애물(526)이 각각 해당하는 디스패러티 레벨을 가지는 것을 예시한다.
세그멘테이션부(432)와, 오브젝트 검출부(434), 오브젝트 확인부(436)는, 디스패러티 맵(520)에 기초하여, 이미지(FR1a)에 대한, 세그먼트, 오브젝트 검출, 및 오브젝트 확인을 수행한다.
도면에서는, 디스패러티 맵(520)을 사용하여, 이미지(FR1a)에 대한, 오브젝트 검출, 및 확인이 수행되는 것을 예시한다.
즉, 이미지(530) 내에, 복수의 라인(538a,538b,538c,538d), 공사 지역(532), 제1 전방 장애물(534), 제2 전방 장애물(536)에 대한, 오브젝트 검출 및 확인이 수행될 수 있다.
한편, 계속적으로, 이미지를 획득함으로써, 한편, 오브젝트 트래킹부(440)는, 확인된 오브젝트에 대한 트래킹을 수행할 수 있다.
한편, 도 6a 내지 도 6b의 오브젝트 세그멘테이션의 정확성을 높이기 위해, 딥 러닝 기반의 풀리 컨벌루션 네트워크(Fully Convolutional Networks; FCN)가 사용될 수 있다. 이에 대해서는, 도 8을 참조하여 기술한다.
도 8은 풀리 컨벌루션 네트워크(Fully Convolutional Networks; FCN)에 따른 세그멘테이션을 설명하는 도면이다.
도면을 참조하면, 획득된 이미지(IMG)에 대해, 풀리 컨벌루션 네트워크 방식을 사용하면, 이미지 내의 픽셀(Pixel) 단위의 결과가 도출된다.
특히, 컨벌루션 네트워크(Convolution network)와, 디컨벌루션 네트워크(Deconvolution network)를 수행한다.
이러한 컨벌루션 네트워크에 의하면, 컨벌루션(convolution), 풀링(pooling)을 반복적으로 수행된다.
한편, 도 8의 FCN 기법에 의하면, 이미지 내의 픽셀(pixel)의 종류를 판단하기 위해, 전체 입력 영역의 정보가 사용된다. 연산을 위한 네트워크가 깊어진다고 할 수 있다.
한편, 연산을 위한 네트워크가 깊어지면 깊어질수록, 고려해야 할 영역이 넓어짐과 동시에 필요한 연산량도 증가하게 된다.
결국, FCN 기법에 의하면, 이미지 내의 최소 단위인 픽셀 단위로, 신호 처리를 수행하여야 하므로, 도면과 같이, 최종적으로, 오브젝트 세그멘테이션에 의한 오브젝트들(OB1,OB2)이 분리되더라도, 연산량이 상당하다는 단점이 있다. 이에, 이러한 연산량을 담당하기 위한, 그래픽 처리 유닛(graphic processing unit; GPU)이 필요할 수 있다. 결국, FCN 기법에 의하면, 제조 비용이 증대되는 문제가 발생할 수 있다.
이에 본 발명에서는, FCN 기법의 문제를 개선하면서, 이미지 내의 세그멘테이션을 신속하고 정확하게 수행할 수 있는 방안을 제시한다. 특히, 별도의 GPU 없이, 프로세서에서 모두 처리 가능한 방안을 제시한다.
예를 들어, 본 발명에서는, 로컬 컨벌류션 뉴럴 네트워크(local Convolutional Neural Network) 기법을 사용한다. 이에 대해서는, 도 9 이하를 참조하여 기술한다.
도 9는 본 발명의 일 실시예에 따른 이미지 처리장치의 동작방법을 도시한 순서도이고, 도 10 내지 도 16은 도 9의 동작방법 설명에 참조되는 도면이다.
먼저, 도 9를 참조하면, 영상 획득부(220)는, 이미지를 획득한다(S910).
예를 들어, 영상 획득부(220)는, 헤드 카메라부(313)로부터의 RGB 이미지 또는 RGBD 이미지를 획득할 수 있다. 획득된 이미지는, 프로세서(270)로 전송된다.
다음, 프로세서(270)는, 이미지의 색상 또는 휘도에 기초하여, 이미지 내의 슈퍼 픽셀을 그룹핑할 수 있다(S920).
프로세서(270)는, 이미지의 색상 또는 휘도에 기초하여, 복수의 픽셀을 구비하는 제1 사이즈의 슈퍼 픽셀을 그룹핑할 수 있다. 이러한 슈퍼 픽셀은, 블럭이라고 명명될 수도 있다.
예를 들어, 프로세서(270)는, 이미지의 색상을 기반으로, 이미지 내의 슈퍼 픽셀을 그룹핑하되, 이미지 내의 슈퍼 픽셀의 크기가 다르도록 그룹핑할 수 있다.
다른 예로, 프로세서(270)는, 이미지의 휘도를 기반으로, 이미지 내의 슈퍼 픽셀을 그룹핑하되, 이미지 내의 슈퍼 픽셀의 크기가 다르도록 그룹핑할 수 있다.
슈퍼 픽셀은, 유사한 색상 또는 유사한 휘도 등으로, 구분될 수 있다. 슈퍼 픽셀은, 영상 처리의 최소 단위인 픽셀이 50개 내지 100개의 모임인 것일 수 있다.
한편, 슈퍼 픽셀의 형상은, 사각형에 한정되지 않으며, 삼각형, 다각형 등, 에지 구분을 위해 다양한 형상일 수 있다.
한편, 이미지 내의 각 슈퍼 픽셀은, 신속한 연산 등을 위해, 서로 중첩되지 않는 것이 바람직하다.
다음, 프로세서(270)는, 슈퍼 픽셀의 대표값을 연산하고(S930), 슈퍼 픽셀의 대표값에 기초하여, 세그멘테이션을 수행할 수 있다(S930).
예를 들어, 세그멘테티션을 위해, 프로세서(270)는, 슈퍼 픽셀의 대표값을 이용하여, 컨벌루션(convolution), 풀링(pooling), 필터링을 수행할 수 있다.
한편, 프로세서(270)는, 딥 러닝(deep learning) 기반의 시맨틱 세그멘테이션을 수행할 수 있다..
한편, 프로세서(270)는, 세그멘테이션을 통해, 이미지 내의 오브젝트를 분리할 수 있다.
그리고, 한편, 프로세서(270)는, 세그멘테이션을 통해, 이동 로봇(100)의 주행 가능한 영역을 추출할 수 있다..
도 10은, 딥러닝 기반의 시맨틱 세그멘테이션을 설명하기 위해 참조되는 도면이다.
도면을 참조하면, 도 10은, 로컬 컨벌류션 뉴럴 네트워크(local Convolutional Neural Network; CNN) 기법을 설명한다.
먼저, 프로세서(270)는, 이미지 내의 색상 또는 휘도에 기초하여, 복수의 픽셀의 집합인, 슈퍼 픽셀(SPL)을 그룹핑한다.
그리고, 슈퍼 픽셀(SPL)에 대한 연산을 위해, 슈퍼 픽셀(SPL) 주변, 및 슈퍼 픽셀(SPL)을 포함하는 3*3의 패치(BSPL) 단위로, 네트워크 연산을 수행한다.
특히, 3*3의 패치(BSPL) 단위로, 컨벌루션(conv1), 맥스 풀링(max pooling), 및 필터링(FC1,Fc2)을 각각 수행할 수 있다.
이에 의하면, 슈퍼 픽셀(SPL) 기반의 연산 결과가 도출될 수 있으며, 이를 이용하여, 결국, 픽셀 단위의 결과물을 획득할 수 있게 된다.
이러한, 로컬 CNN 기법에 의하면, 도 8에서 도시된 다운 컨벌루션(down convolution) 등이 수행되지 않아, 신속한 연산이 가능하며, 또한 정확한 연산이 가능하다는 장점이 있다.
즉, 딥러닝 기반의 시맨틱 세그멘테이션이 수해되면서도, 신속한 연산이 가능하며, 또한 정확한 연산이 가능하다는 장점이 있다.
한편, 도 11a는 도 10의 컨벌루션(conv1)을 예시하는 도면이다.
도면을 참조하면, 이전 컨벌루선 레이어(pemp)에 대해, 필터(FTL)를 이용한 컨벌루션을 수행하며, 현재 컨불러션 레이어(Cemp)에 대한 각각의 값을 연산할 수 있다.
다음, 도 11b는, 도 10a의 풀링(pooling)을 예시하는 도면이다.
도면을 참조하면, 4*4의 single depth slice(SDS)에 대해, 2*2 필터를 이용한 서브 샘플링(subsampling)을 통해, 282의 결과값(SUS)을 연산할 수 있다. 이에 의하면, 서브 샘플링을 통해, 연산량을 줄이면서, 효과적인 정보만 선별할 수 있게 된다.
한편, 도 10의, CNN 기법 하의 컨벌루션(conv1), 풀링(pooling) 등은, 복수의 채널 별로 수행될 수 있다.
즉, 프로세서(270)는,복수 채널별로, 세그멘테이션이 수행되도록 제어할 수 있다..
구체적으로, 프로세서(270)는, 슈퍼 픽셀의 대표값에 기초하여, 네트워크 연산을 수행하고, 복수의 채널에 따른 시맨틱 세그멘테이션(semantic segmentation)을 수행할 수 있다..
여기서, 복수 채널은, 이미지의 2D 좌표에 대한 채널, 이미지의 밝기와 색상에 대한 채널, 이미지의 깊이에 대한 채널, 이미지의 노말 벡터(normal vector)에 대한 채널, 이미지의 3D 좌표에 대한 채널을 포함할 수 있다..
도 12a는 2D 좌표를 나타내는 이미지(1210)를 예시하며, 도 12b는 Lab 이미지를 나타내는 이미지(1220)를 예시하며, 도 12c는 깊이(depth)를 나타내는 이미지(1230)를 예시하며, 도 12d는 노말 벡터(normal vector)를 나타내는 이미지(1240)를 예시하며, 도 12e는 이미지의 3D 좌표를 나타내는 이미지(1250)를 예시한다.
2D 좌표는, 이미지 내의 픽셀 위치를 나타낼 수 있으며, Lab 이미지는, 이미지 내의 밝기와, 색상에 대한 레벨을 나타낼 수 있으며, 깊이(depth)는, 영상 획득부(220)로부터의 거리를 나타낼 수 있으며, 노말 벡터(normal vector)는, 영상 픽셀들에 대응하는 3차원 공간상에 평면(지면) 법선 벡터를 나타내며, 3D 좌표는, 거리에 따라, 오브젝트의 구분을 위한 좌표를 나타낸다.
한편, 프로세서(270)는, 2D 좌표를 나타내는 이미지(1210)와, 깊이(depth)를 나타내는 이미지(1230)를 이용하여, 이미지의 3D 좌표를 나타내는 이미지(1250)를 연산할 수 있으며, 나아가, 노말 벡터(normal vector)를 나타내는 이미지(1240)를 연산할 수 있다.
한편, 복수의 채널은 12개의 채널일 수 있다.
도 14는, Lab 이미지에 대한 3개 채널(CL), 깊이(depth)에 대한 1개 채널(CD), 이미지 픽셀에 대응하는 3D(X,Y,Z) 좌표에 대한 채널(C3D), 노말 벡터(normal vector)에 대한 3개 채널(CNV), 2D 좌표에 대한 2개 채널(C2d)에 대한 각각의 레벨을 예시한다.
프로세서(270)는, 복수의 채널에 대한 레벨 값에 기초하여, 세그멘테이션을 수행하고, 이미지 내의 영역을 구분할 수 있다.
특히, 프로세서(270)는, 레벨이 높은 채널을 중심으로, 이미지 내의 영역을 구분시 활용할 수 있다.
예를 들어, 프로세서(270)는, 복수의 채널에 대한 가중치를 할당하고, 할당된 가중치 및 복수의 채널의 레벨 값에 기초하여, 이미지 내의 영역을 구분할 수 있다.
구체적으로, 프로세서(270)는, 레벨이 높은 채널에 대해 높은 가중치를 할당하고, 해당 채널을 중심으로, 이미지 내의 영역을 구분할 수 있다. 이에 따라, 정확한 이미지 내의 영역 구분, 즉, 오브젝트 구분, 검출이 가능하게 된다.
도 15a는, 영상 획득부(220)로부터의 RGB 이미지(1510)와, 깊이 이미지(1520)를 예시한다.
예를 들어, 헤드 카메라부(313)로부터의, 2D 카메라(313a) 및 RGBD 센서(313b, 313c) 등을 이용하여, RGB 이미지(1510)와, 깊이 이미지(1520)를 획득할 수 있다.
도 15b는, 이미지(1530) 내의 슈퍼 픽셀 그룹핑을 예시한다.
프로세서(270)는, 이미지의 색상 또는 휘도에 기초하여, 이미지 내의 슈퍼 픽셀(SPL)을 그룹핑할 수 있다.
프로세서(270)는, 슈퍼 픽셀의 대표값을 연산하고, 슈퍼 픽셀의 대표값에 기초하여, 세그멘테이션을 수행할 수 있다. 특히, 로컬 CNN 기법을 사용하여, 세그멘테이션을 수행할 수 있다.
이에 따라, 프로세서(270)는, 도 15c와 같이, 이미지 내의 주행 가능한 영역인 바닥 영역을 구분할 수 있게 된다.
도 15c는, 이미지(1540) 내의 바닥 영역(1545)이 구분되는 것을 예시한다.
결국, 이동 로봇(100)은, 이미지 처리를 통해, 영역 구분하고, 주행 가능한 바닥 영역(1545)을 주행할 수 있게 된다.
한편, 도 10 내지 도 15c와 같이 기술한 바와 같이, FCC 기법이 아닌, 로컬 CNN 기법을 사용하는 경우, 이미지 내의 세그멘테이션을 신속하고 정확하게 수행할 수 있게 된다.
다만, 픽셀의 50개 내지 100개의 조합을 슈퍼 픽셀로 설정하고, 슈퍼 픽셀 단위로, 컨벌루션, 풀링, 필터링 등을 수행하였으므로, 프로세서(270)는, 이미지 내의 패턴이, 슈퍼 픽셀의 사이즈 보다 작은 경우, 패턴을 구분하지 않을 수 있다.
예를 들어, 도 16과 같이, 메쉬 형태의 그물(net)이 있는 이미지(1600)가 획득되는 경우, 프로세서(270)는, 도 8의 FCN 기법을 사용하는 경우, 도 16의 (a)의 이미지(1610) 내의 픽셀 단위로 신호 처리를 수행하므로, 이미지(1600) 내의 그물(net)이 있는 경우, 이를 검출할 수 있게 된다.
한편, 프로세서(270)가, 도 10 내지 도 15c와 같이, 로컬 CNN 기법을 사용하는 경우, 그물(net)의 단위 보다, 큰 슈퍼 픽셀(SPL) 단위로, 신호 처리를 수행하므로, 이미지(1600) 내의 그물(net)이 있는 경우, 이를 검출하지 못할 수 있다.
따라서, 이동 로봇(100)는, 16과 같이, 메쉬 형태의 그물(net)이 있는 이미지(1600)가 획득되는 경우, 이미지 내의 패턴이, 슈퍼 픽셀의 사이즈 보다 작은 경우, 패턴을 구분하지 않으며, 패턴으로 본체(260)가 이동하도록 제어할 수 있다.
한편, 본 발명의 이동 로봇의 동작방법은, 이동 로봇에 구비된 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (16)

  1. 이미지를 획득하는 영상 획득부;
    상기 영상 획득부로부터의 이미지에 대한 신호 처리를 수행하는 프로세서;를 구비하고,
    상기 프로세서는,
    상기 이미지의 색상 또는 휘도에 기초하여, 상기 이미지 내의 슈퍼 픽셀을 그룹핑하고,
    상기 슈퍼 픽셀의 대표값을 연산하고,
    상기 슈퍼 픽셀의 대표값에 기초하여, 세그멘테이션을 수행하는 것을 특징으로 하는 이미지 처리장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 세그멘테이션을 통해 주행 가능한 영역을 추출하는 것을 특징으로 하는 이미지 처리장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 세그멘테이션을 통해, 상기 이미지 내의 오브젝트를 분리하는 것을 특징으로 하는 이미지 처리장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 이미지의 색상을 기반으로, 상기 이미지 내의 슈퍼 픽셀을 그룹핑하되,
    상기 이미지 내의 슈퍼 픽셀의 크기가 다르도록 그룹핑하는 것을 특징으로 하는 이미지 처리장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 이미지의 휘도를 기반으로, 상기 이미지 내의 슈퍼 픽셀을 그룹핑하되,
    상기 이미지 내의 슈퍼 픽셀의 크기가 다르도록 그룹핑하는 것을 특징으로 하는 이미지 처리장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 슈퍼 픽셀의 대표값을 이용하여, 컨벌루션(convolution), 풀링(pooling), 필터링을 수행하는 것을 특징으로 하는 이미지 처리장치.
  7. 제1항에 있어서,
    상기 이미지는, RGBD 이미지 또는 RGB 이미지인 것을 특징으로 하는 이미지 처리장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    복수 채널별로, 상기 세그멘테이션이 수행되도록 제어하는 것을 특징으로 하는 이미지 처리장치.
  9. 제8항에 있어서,
    상기 복수 채널은,
    상기 이미지의 2D 좌표에 대한 채널,
    상기 이미지의 밝기와 색상에 대한 채널,
    상기 이미지의 깊이에 대한 채널,
    상기 이미지의 노말 벡터(normal vector)에 대한 채널,
    상기 이미지의 3D 좌표에 대한 채널을 포함하는 것을 특징으로 하는 이미지 처리장치.
  10. 제8항에 있어서,
    상기 프로세서는,
    상기 복수의 채널의 레벨 값에 기초하여, 상기 이미지 내의 영역을 구분하는 것을 특징으로 하는 이미지 처리장치.
  11. 제8항에 있어서,
    상기 프로세서는,
    상기 복수의 채널에 대한 가중치를 할당하고, 상기 할당된 가중치 및 상기 복수의 채널의 레벨 값에 기초하여, 상기 이미지 내의 영역을 구분하는 것을 특징으로 하는 이미지 처리장치.
  12. 제8항에 있어서,
    상기 프로세서는,
    상기 슈퍼 픽셀의 대표값에 기초하여, 네트워크 연산을 수행하고, 복수의 채널에 따른 시맨틱 세그멘테이션(semantic segmentation)을 수행하는 것을 특징으로 하는 이미지 처리장치.
  13. 제1항에 있어서,
    상기 프로세서는,
    딥 러닝(deep learning) 기반의 시맨틱 세그멘테이션을 수행하는 것을 특징으로 하는 이미지 처리장치.
  14. 제1항에 있어서,
    상기 프로세서는,
    상기 이미지 내의 패턴이, 상기 슈퍼 픽셀의 사이즈 보다 작은 경우, 상기 패턴을 구분하지 않는 것을 특징으로 하는 이미지 처리장치.
  15. 본체;
    상기 본체의 이동을 위한 구동부;
    제1항 내지 제13항 중 어느 한 항의 이미지 처리장치;를 구비하는 것을 특징으로 하는 이동 로봇.
  16. 제15항에 있어서,
    상기 프로세서는,
    상기 이미지 내의 패턴이, 상기 슈퍼 픽셀의 사이즈 보다 작은 경우, 상기 패턴을 구분하지 않으며, 상기 패턴으로 상기 본체가 이동하도록 제어하는 것을 특징으로 하는 이동 로봇.
PCT/KR2018/015255 2017-12-05 2018-12-04 이미지 처리 장치, 및 이를 구비하는 이동 로봇 WO2019112296A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/770,066 US11423545B2 (en) 2017-12-05 2018-12-04 Image processing apparatus and mobile robot including same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0165887 2017-12-05
KR1020170165887A KR102493149B1 (ko) 2017-12-05 2017-12-05 이미지 처리 장치, 및 이를 구비하는 이동 로봇

Publications (1)

Publication Number Publication Date
WO2019112296A1 true WO2019112296A1 (ko) 2019-06-13

Family

ID=66751085

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/015255 WO2019112296A1 (ko) 2017-12-05 2018-12-04 이미지 처리 장치, 및 이를 구비하는 이동 로봇

Country Status (3)

Country Link
US (1) US11423545B2 (ko)
KR (1) KR102493149B1 (ko)
WO (1) WO2019112296A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113538568B (zh) * 2021-08-04 2024-01-12 国网浙江省电力有限公司嘉兴供电公司 一种机器人倒闸操作图像处理方法及变电站机器人
WO2023219189A1 (ko) * 2022-05-12 2023-11-16 주식회사 엔씨소프트 깊이 맵에 기반하여 이미지를 합성하기 위한 전자 장치 및 그 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160224859A1 (en) * 2015-01-30 2016-08-04 Sony Corporation Fast color-brightness-based methods for image segmentation
KR20170121569A (ko) * 2016-04-25 2017-11-02 엘지전자 주식회사 이동 로봇 및 이동 로봇의 제어방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160224859A1 (en) * 2015-01-30 2016-08-04 Sony Corporation Fast color-brightness-based methods for image segmentation
KR20170121569A (ko) * 2016-04-25 2017-11-02 엘지전자 주식회사 이동 로봇 및 이동 로봇의 제어방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ACHANTA, RADHAKRISHNA ET AL.: "SLIC Superpixels Compared to State-of-the-art Superpixel Methods", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, vol. 34, no. 11, 30 November 2012 (2012-11-30), pages 1 - 8, XP011463136 *
DENG, ZHUO ET AL.: "Unsupervised Object Region Proposals for RGB-D Indoor Scenes", COMPUTER VISION AND IMAGE UNDERSTANDING, vol. 154, 31 January 2017 (2017-01-31), pages 1 - 10, XP029831512 *
NOH, HYEONWOO ET AL.: "Learning Deconvolution Network for Semantic Segmentation", THE IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV, 18 December 2015 (2015-12-18), pages 1520 - 1528, XP055558488 *

Also Published As

Publication number Publication date
KR102493149B1 (ko) 2023-01-30
KR20190066292A (ko) 2019-06-13
US20200394801A1 (en) 2020-12-17
US11423545B2 (en) 2022-08-23

Similar Documents

Publication Publication Date Title
WO2018135870A1 (en) Mobile robot system and control method thereof
WO2018038488A1 (ko) 이동 로봇 및 그 제어방법
WO2020071839A1 (ko) 선박 및 항만 모니터링 장치 및 방법
WO2020071683A1 (ko) 자율 주행 장치의 객체 인식 방법 및 자율 주행 장치
WO2018139865A1 (ko) 이동 로봇
WO2019235743A1 (ko) 장애물 회피에 기반하여 경유 지점을 주행하는 로봇 및 주행하는 방법
WO2018070687A1 (ko) 공항 로봇 및 그를 포함하는 공항 로봇 시스템
WO2015194865A1 (ko) 검색 기반 상관 매칭을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
WO2015194866A1 (ko) 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
WO2019031825A1 (ko) 전자 장치 및 그 동작 방법
WO2020241930A1 (ko) 멀티 센서를 이용하여 위치를 추정하는 방법 및 이를 구현하는 로봇
WO2020231153A1 (en) Electronic device and method for assisting with driving of vehicle
WO2020226187A1 (ko) 다중 센서 및 인공지능에 기반하여 맵을 생성하고 맵을 이용하여 주행하는 로봇
WO2020262746A1 (ko) 인공지능 기반의 세탁 코스 추천 장치 및 그 제어 방법
WO2019135437A1 (ko) 안내 로봇 및 그의 동작 방법
WO2020141900A1 (ko) 이동 로봇 및 그 구동 방법
WO2018030567A1 (ko) Hmd 및 그 hmd의 제어 방법
WO2020241934A1 (ko) 멀티 센서를 동기화시켜 위치를 추정하는 방법 및 이를 구현하는 로봇
WO2019112296A1 (ko) 이미지 처리 장치, 및 이를 구비하는 이동 로봇
WO2020046038A1 (ko) 로봇 및 그의 제어 방법
WO2022039404A1 (ko) 광시야각의 스테레오 카메라 장치 및 이를 이용한 깊이 영상 처리 방법
WO2018117538A1 (ko) 차선 정보를 추정하는 방법 및 전자 장치
WO2020159076A1 (ko) 랜드마크 위치 추정 장치와 방법 및 이러한 방법을 수행하도록 프로그램된 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능한 기록매체
WO2020027515A1 (ko) 속성 블록을 설정하는 이동 로봇
WO2020262721A1 (ko) 인공 지능을 이용하여, 복수의 로봇들을 제어하는 관제 시스템

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

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

Country of ref document: EP

Kind code of ref document: A1