WO2016093428A1 - 소형통합제어장치 - Google Patents

소형통합제어장치 Download PDF

Info

Publication number
WO2016093428A1
WO2016093428A1 PCT/KR2015/001742 KR2015001742W WO2016093428A1 WO 2016093428 A1 WO2016093428 A1 WO 2016093428A1 KR 2015001742 W KR2015001742 W KR 2015001742W WO 2016093428 A1 WO2016093428 A1 WO 2016093428A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
sensor data
main processor
processing
area
Prior art date
Application number
PCT/KR2015/001742
Other languages
English (en)
French (fr)
Inventor
김동신
Original Assignee
한화테크윈 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한화테크윈 주식회사 filed Critical 한화테크윈 주식회사
Publication of WO2016093428A1 publication Critical patent/WO2016093428A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a small integrated controller that receives a large amount of sensor data in parallel and obtains rapid results by parallel processing.
  • FIG. 1 shows an example of a conventional controller.
  • a large number of CPU cores are required to process a large amount of sensor data, and in order to secure this, a plurality of PCs 110, 111, 112, 113, 114, and 115 are gigabit switches. Connected via 120 was used.
  • the external sensor and additional parts for controlling the system are each connected to a separate product, making the controller system a significant size and volume.
  • the PC1 110 When the large-capacity sensor data 100 shown in FIG. 1 is input to the PC1 110, the PC1 110 is connected to other PCs such as PC2, PC3, PC4, PC5 and PC6 (111, 112, 113, 114 and 115), and the like. They sent and shared large amounts of sensor data received.
  • PC2, PC3, PC4, PC5 and PC6 111, 112, 113, 114 and 115
  • the Gigabit Ethernet switch is theoretically 1Gb / s but actually has a transmission speed of 50MB / s, thereby preventing the efficient sharing of a large amount of data among PCs.
  • PC 1 110 selects and shares only a few important frames among the received large-capacity sensor data
  • other PCs 111, 112, 113, 114, and 115 other than PC 1 110 may be used. Since the calculation is performed based on the sensor data whose resolution has been degraded, there is a problem that a precise calculation result value cannot be obtained.
  • the small integrated control device includes a main processor processing a large capacity sensor data using a multicore CPU, a subprocessor processing the large capacity sensor data in parallel using the same clock as the main processor; It uses the same clock as the main processor, it characterized in that it comprises a graphics processing unit for processing in parallel the operation occurring during the processing of the large-capacity sensor data.
  • the small integrated control device is effective in the field of artificial intelligence, military equipment, factory automation, mobile server equipment, autonomous driving robot.
  • FIG. 1 shows an example of a general controller.
  • FIG. 2 shows an example of a small integrated device 200 as a preferred embodiment of the present invention.
  • 3 to 4 is a preferred embodiment of the present invention, showing the internal configuration of the compact integrated control device 300.
  • FIG. 5 illustrates a layered stack 500 supported by the main processor 310 as one preferred embodiment of the present invention.
  • Figure 6 shows one embodiment of a moving object equipped with a small integrated control device or using the small integrated control device as one preferred embodiment of the present invention.
  • 7, 9 and 10 illustrate an example of generating a calibration image in a small integrated control device and setting only a portion requiring calculation processing by using the generated calibration image.
  • FIG. 8 and 11 to 14 illustrate an example of defining a tracking area when tracking an object in a small integrated control device according to an exemplary embodiment of the present invention.
  • FIG. 15 shows an example of defining a tracking area when extracting feature points in a small integrated control device according to a preferred embodiment of the present invention.
  • FIG. 16 is a flowchart illustrating a method of processing a large amount of sensor data in a small integrated control device according to a preferred embodiment of the present invention.
  • FIG. 17 is a flowchart illustrating a process of generating a calibration image in a small integrated control device and setting only a portion requiring calculation processing using the generated calibration image.
  • Fig. 18 shows a flowchart for defining a tracking area when extracting feature points in the compact integrated control device.
  • the small integrated control device includes a main processor for processing a large amount of sensor data using at least one or more multicore CPUs; A sub-processor using the same clock as the main processor and processing the large-capacity sensor data in parallel with the main processor; and using the same clock as the main processor, parallel processing of the large-capacity sensor data using multiple cores. And a graphics processing unit configured to process the mass processor data in parallel with the main processor, the coprocessor, and the graphic processor, and the graphics processor generates a corrected image based on the mass sensor data. Receive and process the information to which the transform inverse matrix is applied in units of pixels).
  • the small integrated control device receives an image photographing a specific object from each of the plurality of image photographing apparatuses and crosses a field of view (FOV) of the plurality of image photographing apparatuses.
  • An image correction unit for correcting distortion of an image photographed for the specific object by using a transform matrix (TM) in an area, and generating a correction image based on the distortion; and for each pixel of the correction image
  • TM transform matrix
  • a usable region detector for detecting each pixel information of the corrected image to which the transform inverse matrix is applied by calculating a transform inverse matrix TM -1 , wherein the graphic processor is configured to apply the transform inverse matrix detected by the usable region detector;
  • the operation on each pixel information of the corrected image may be processed in parallel.
  • the small integrated control device includes a main processor for processing a large amount of sensor data using at least one or more multicore CPUs; A sub-processor using the same clock as the main processor and processing the large-capacity sensor data in parallel with the main processor; and using the same clock as the main processor, parallel processing of the large-capacity sensor data using multiple cores.
  • a graphics processor configured to process the mass processor data in parallel with the main processor, the coprocessor, and the graphics processor, and the graphics processor tracks an object based on image information included in the mass sensor data. Characterized in that it performs arithmetic processing to perform.
  • the graphic processing unit is a tracking area as an area for which an operation is required to track the object based on preset height information of an object, a recordable distance of an image photographing apparatus for photographing the object, and observation field of view (FOV) information. And only an area corresponding to the tracking area in the input image received from the image photographing apparatus to capture the object.
  • a tracking area as an area for which an operation is required to track the object based on preset height information of an object, a recordable distance of an image photographing apparatus for photographing the object, and observation field of view (FOV) information.
  • FOV observation field of view
  • the graphic processing unit sets the remaining area except the sky area as the tracking area, and the tracking is performed on the input image received from the image photographing apparatus to photograph the object. It is characterized by performing arithmetic processing only on an area corresponding to the area.
  • the small integrated control device includes a main processor for processing a large amount of sensor data using at least one or more multicore CPUs;
  • a coprocessor that uses the same clock as the main processor and processes the large-capacity sensor data in parallel with the main processor;
  • a graphic processing unit which uses the same clock as the main processor and processes the large-capacity sensor data in parallel by using a multicore; Receive images of a specific object from each of the plurality of image capturing apparatuses, and photograph the image of the specific object using a transformation matrix (TM) in an area where the observation field of view of the plurality of image capturing apparatuses intersects.
  • TM transformation matrix
  • An image correction unit for correcting distortion of an image and generating a correction image; and calculating the transform inverse matrix TM- 1 for each pixel of the correction image to detect each pixel information of the correction image to which the transform inverse matrix is applied.
  • a possible region detection unit wherein the graphic processing unit performs arithmetic processing within the images received from the plurality of image photographing apparatuses based on the pixel information of the corrected image to which the transform inverse matrix detected by the available region detection unit is applied. Set the operation processing area to perform the operation.
  • the small integrated control device includes a main processor for processing a large amount of sensor data using at least one or more multicore CPUs; A sub-processor using the same clock as the main processor and processing the large-capacity sensor data in parallel with the main processor; and using the same clock as the main processor, parallel processing of the large-capacity sensor data using multiple cores.
  • the main processor, the coprocessor and the graphics processing unit to process the large-capacity sensor data in parallel, the graphics processing unit receives the left image and the right image of the stereo camera to correct the calibration image Generate and apply a transformed inverse matrix to the corrected image on a pixel-by-pixel basis to perform calculation processing on only the detected region.
  • a method for processing large-capacity sensor data in a small integrated control device comprising: processing a large-capacity sensor data using at least one multicore CPU in a main processor; Processing the large-capacity sensor data in parallel with the main processor in a coprocessor using the same clock as the main processor; and a graphics processor using the same clock as the main processor to perform multicore processing of the large-capacity sensor data. And processing in parallel using the main processor, the coprocessor, and the graphic processor, and processing the large-capacity sensor data in parallel, and the graphic processor receives and corrects a left image and a right image of a stereo camera. An image is generated, and a transformed inverse matrix is applied to the corrected image in the pixel unit, and only the detected area is performed in the pixel unit.
  • Embodiments of the invention are not limited to server computer systems, desktop computer systems, laptops, handheld devices, smartphones, tablets, other thin notebooks, systems on a chip (SOC) Devices, and other devices such as embedded applications.
  • Handheld devices include cellular phones, Internet protocol devices, digital cameras, personal digital assistants (PDAs), and handheld PCs.
  • the devices, methods, and systems described herein are not limited to physical computing devices, and may also be used for software optimization for energy savings and efficiency.
  • FIG. 2 shows an example of a small integrated device 200 as a preferred embodiment of the present invention.
  • the small integrated device 200 uses the at least one multicore CPU to process a large amount of sensor data using a main processor 210 and a subprocessor 220 that uses the same clock as the main processor 210 to process a large amount of sensor data. And a graphic processor 230 that uses the same clock as that of the main processor and performs arithmetic processing of a large amount of sensor data.
  • the main processor 210, the coprocessor 220 and the graphics processor 230 may process a large amount of sensor data in parallel.
  • the small integrated device 200 may be implemented to expand the main processor 210, the coprocessor 220, and the graphic processor 230 in series or in parallel using the input / output interface 240.
  • main processor 210 may be any type of data processor, including general purpose or special purpose central processing unit (CPU), application specific semiconductor (ASIC), or digital signal processor (DSP). .
  • CPU general purpose or special purpose central processing unit
  • ASIC application specific semiconductor
  • DSP digital signal processor
  • the main processor 210 may be a general purpose processor such as Core TM i3, i5, i7, 2 Duo and Quad, Xeon TM, or Itanium TM processor.
  • the main processor 210 may be a processor designed for a special purpose, for example, a network or communication processor, a compression engine, a graphics processor, a co-processor, an embedded processor, or the like.
  • the main processor 210 may be implemented with one or more chips included in one or more packages.
  • the main processor 210 may use any of a number of process technologies, such as, for example, BiCMOS, CMOS, or NMOS.
  • main processor 210 may include at least one or more multicore CPUs 212, 214. At least one or more multicore CPUs 212 and 214 may communicate using a Quick Path Interconnect (QPI) protocol. The main processor 210 may interconnect the at least one multicore CPUs 210 and 212 using a packet-based point-to-point interconnect bus.
  • QPI Quick Path Interconnect
  • the graphics processor 230 includes logic for executing graphics commands, such as 3D or 2D graphics commands.
  • the graphics processor 230 may execute industry standard graphics commands, such as commands designated by Open GL and / or Direct X application programming interfaces (APIs) (eg, OpenGL 4.1 and Direct X 11).
  • APIs Direct X application programming interfaces
  • the input / output interface 240 may support network communication, such as a local area network, a wide area network, or the Internet, and communication with an internal unit or an external device.
  • the input / output interface 240 may further include an adapter, a hub, etc. to provide access and network communication with an internal unit or an external device.
  • the input / output interface 240 may be implemented on the same chip or the same board as the main processor 210 or on a separate chip and / or package connected to the main processor 210.
  • 3 to 4 is a preferred embodiment of the present invention, showing the internal configuration of the compact integrated control device 300.
  • the small integrated control device 300 includes a main processor 310, a coprocessor 320, and a graphics processor 330.
  • the small integrated control device 300 may further include an input / output interface 340 or an Ethernet switch 350.
  • the small integrated control device 300 may further include a power supply unit (not shown) for supplying power to the main processor 310, the subprocessor 320, and the graphic processor 330.
  • a power supply unit (not shown) for supplying power to the main processor 310, the subprocessor 320, and the graphic processor 330.
  • the small integrated control device 300 may further include a micro control unit (MCU) (not shown) for controlling the main processor 310, the coprocessor 320, and the graphic processor 330.
  • the MCU may communicate with the main processor 310, such as Ethernet or RS232, and is connected to the power supply unit via CAN communication, and may be implemented to control follow-up measures of peripheral devices regarding power states and fault conditions. have.
  • the small integrated control device 300 may process a large amount of sensor data in parallel using the main processor 310, the coprocessor 320, and the graphic processor 330 using the same system clock. Can be.
  • the small integrated control device 300 is implemented in an autonomous robot, a mobile robot, a moving object, and the like.
  • the main processor 310 such as autonomous robots, mobile robots, moving objects, such as autonomous robots, mobile robots, moving objects, and the like to select the driving path by itself and to move to the destination to avoid obstacles
  • a driving map or a map indicating a movement route for autonomous driving may be generated based on the position data and data on obstacles located in proximity to the autonomous driving robot, the mobile robot, and the moving object.
  • the coprocessor 320 processes operations related to environmental recognition among the large-capacity sensor data received from the main processor 310, and the graphic processor 330 performs parallel processing to process operations related to the image among the large-capacity sensor data. Can be done.
  • Operations related to environmental recognition performed by the coprocessor 320 include operations for processing laser-based sensor data.
  • the laser-based sensor data includes sensor data detected by a laser scanner or the like.
  • Operations related to the image performed by the graphic processor 330 include a camera image, arithmetic processing, and the like. Also, the graphic processing unit 330 may process arithmetic processing derived from the laser-based sensor data.
  • the main processor 310 is LADAR sensor information, 2D, 3D LADAR indicating position data, distance data, data on obstacles in close proximity, etc. in autonomous robots, mobile robots, moving objects, etc. Distance information, camera image information, and the like can be received.
  • the main processor 310 may be implemented to receive a large amount of sensor data using the Ethernet switch 350 or the like.
  • the main processor 310 transmits data so that the graphic processing unit 330 performs arithmetic processing of the distance data and the data on the obstacle located in the adjacent position of the large-capacity sensor data. And may generate a driving map or map based thereon.
  • FIG. 5 illustrates a layered stack 500 supported by the main processor 310 as one preferred embodiment of the present invention.
  • the layered stack 500 includes a system layer 510, an interface layer 520, a core layer 530, and an application layer 540.
  • Interface Layer 520 supports MCU, sensor, and communication interfaces.
  • the core layer 530 includes dynamic real-time identification, visual mileage estimation, location estimation such as laser scan matching, environment detection such as dynamic obstacle detection and tracking, laser-based environmental recognition, global path planning based on RRT sampling, It supports planning such as costom planning and dynamic obstacle avoidance, driving controls such as Basic Waypoint following and Fast Waypoint following, and other math libraries and utility libraries.
  • the coprocessor 320 may process by supporting environmental recognition such as dynamic obstacle detection and tracking, laser-based environment recognition, etc. among the core layers 530. In addition, it can be implemented to process parts that can optimize parallelism. Planning SW can be processed by dividing it into individual grids, and if parallelization is possible, it can be processed by the coprocessor 320.
  • Figure 6 shows one embodiment of a moving object equipped with a small integrated control device or using a small integrated control device as a preferred embodiment of the present invention.
  • the moving object 600 may be implemented to include a 3D sensor unit, a sensor unit, a GPS transceiver, a controller, and an output unit (not shown).
  • the sensor unit may include a steering sensor, a speed sensor, an acceleration sensor, a position sensor, and the like.
  • the 3D sensor unit is a camera system for capturing the omnidirectional, rearward and / or lateral orientations at once using a rotating reflector, a condenser lens, and an image pickup device, and is applied to security facilities, surveillance cameras, and robot vision.
  • the shape of the rotor reflector is various, such as a hyperbolic surface, a spherical surface, a cone shape, and a compound type.
  • a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) is used as the imaging device.
  • CCD charge coupled device
  • CMOS complementary metal oxide semiconductor
  • the image projected onto the image pickup surface of the image pickup device i.e., the omnidirectional image
  • the 3D sensor unit converts the output of the image pickup device through a microprocessor or the like to create a new panoramic image for accurate observation of the image.
  • the 3D sensor unit stereoscopic, depth camera, moving stereo camera and lidar (Light Detection and Ranging) to obtain a three-dimensional distance data by taking a three-dimensional image of the omni-directional LIDAR) may comprise one or more of the equipment.
  • a stereo camera is an imaging device composed of a plurality of cameras.
  • the omnidirectional image obtained through the 3D sensor unit provides two-dimensional information about the periphery of the 3D sensor unit. If a plurality of images taken from different directions through a plurality of cameras is used, three-dimensional information about the 3D sensor unit may be obtained.
  • Such a stereo camera is also used for location recognition and map generation of moving objects or mobile robots.
  • Depth cameras are cameras that capture or measure obstacles to extract images and distance data. That is, the depth camera generates image or image data by capturing obstacles as in a general camera, and generates distance data by measuring a distance from the camera at an actual position corresponding to a pixel of each image.
  • a mobile stereo camera refers to a camera that changes the position of a stereo camera actively according to an obstacle's distance to fix a viewing angle on an observation obstacle.
  • Stereo cameras generally arrange two cameras in parallel and acquire an image, and calculate a distance to an obstacle according to stereo parallax of the acquired image.
  • Such a stereo camera is a passive camera in which the optical axes are always parallel and fixed.
  • Mobile stereo cameras on the other hand, actively change the geometric position of the optical axis to fix the viewing angle. This control of the viewing angle of the stereo camera according to the distance of the obstacle is called gaze control.
  • the stereoscopic control stereo camera maintains a constant stereo parallax for moving obstacles to provide stereoscopic observers with more natural stereoscopic images and useful information in distance measurement or stereoscopic image processing of obstacles.
  • Lidar (LIDAR) equipment is provided to detect the presence and distance of the obstacle located in front of the moving object (600).
  • Lidar equipment is a type of active remote sensing that uses the same principles as radar to obtain the desired information without direct contact with objects.
  • Lidar equipment shoots a laser on a target to acquire information and detects the parallax and energy change of electromagnetic waves reflected from the target and acquires the desired distance information.
  • Lidar equipment is divided into three types according to the purpose or object to be measured: DIAL (Differentail Absorption LIDAR), Doppler LIDAR, and Range finder LIDAR.
  • DIAL is used to measure the concentration of water vapor, ozone, and pollutants in the atmosphere by using two lasers with different absorption to the object to be measured.
  • Doppler LIDAR uses the Doppler principle to move objects. Used for speed measurement.
  • Lidar refers to Range Finder LIDAR, which is known as the Global Positioning System (GPS), Inertial Navigation System (INS), and Laser Scanner (LASER SCANNER).
  • GPS Global Positioning System
  • INS Inertial Navigation System
  • LASER SCANNER Laser Scanner
  • Lidar equipment obtains three-dimensional distance data by detecting the presence of the obstacle located in front of the moving path of the moving object 600, the distance to the obstacle and the movement of the obstacle, and transmits the acquired data to the controller to the space free of obstacles To allow the moving object 600 to move.
  • the output unit may include a display unit, and may be implemented to display the driving route determined through the driving map generated by the controller or the main processor using a user interface (UI) or a graphical user interface (GUI).
  • UI user interface
  • GUI graphical user interface
  • FIG. 7 is a diagram illustrating the internal configuration of a compact integrated control apparatus 700 as a preferred embodiment of the present invention.
  • the small integrated control apparatus 700 includes a main processor 710, a coprocessor 720, a graphic processor 730, an image corrector 740, and an available area detector 750.
  • the functions of the main processor 710 and the coprocessor 720 are described with reference to FIGS. 3 to 4.
  • the graphic processing unit 730 processes arithmetic processing in parallel using multicores, and receives from the plurality of image photographing apparatuses based on the pixel information of the corrected image to which the transform inverse matrix detected by the usable area detection unit 750 is applied. Set the calculation processing area to perform calculation processing in one image.
  • the image corrector 740 receives an image photographing a specific object from each of the plurality of image capturing apparatuses, and uses the transform matrix TM in a region where the observation field of view of the plurality of image capturing apparatuses intersects. The distortion of the captured image of the object is corrected and a corrected image is generated.
  • the usable area detector 750 calculates a transform inverse matrix TM ⁇ 1 for each pixel of the corrected image generated by the image corrector 740, and detects pixel information of the corrected image to which the transform inverse matrix is applied.
  • the image corrector 740 may include a left image 910 and a right image captured by a specific object 900 using a transformation matrix.
  • Each of the distortions is corrected (920, 922), and a corrected image (930, 932) is generated using the left image with the distortion corrected and the right image with the distortion corrected.
  • the transformation matrix is a matrix that combines the image conversion steps that rotate and translate the left and right images so that the two images are on the same epipolar line, and finally the scale is adjusted so that the left and right images are on the same image backplane.
  • Its inverse is a matrix that can transform a rectified image into a raw image by doing the reverse of a series of transforms.
  • the image corrector calculates a transform inverse matrix TM -1 for each pixel of the calibration image 1000 to determine the correction image to which the transform inverse matrix is applied.
  • Each pixel information is detected (1010 and 1020).
  • FIGS. 9 to 15 is a diagram illustrating the internal configuration of a compact integrated control device 700 as another preferred embodiment of the present invention. A description with reference to FIGS. 9 to 15 is as follows.
  • FIG 9 illustrates an embodiment of generating a calibration image.
  • FIG. 10 illustrates an embodiment in which an arithmetic processing region is set by applying a transformation inverse matrix to a calibrated image.
  • FIG. 11 illustrates an example of photographing a specific object in the image photographing apparatus.
  • FIG. 12 is a coordinate diagram representing a tracking area set when the image capturing apparatus photographs a specific object as a world coordinator according to an exemplary embodiment of the present invention.
  • FIG. 13 illustrates an example of converting the world coordinator coordinates of FIG. 12 into image coordinates as an exemplary embodiment of the present invention.
  • FIG. 14 illustrates an embodiment in which a tracking object exists in a tracking area as a preferred embodiment of the present invention.
  • FIG. 15 illustrates an embodiment of setting a tracking area except for the sky area when the sky area is included in the image as a preferred embodiment of the present invention.
  • the compact integrated control apparatus 700 includes information necessary for object tracking and soldier following, after setting the arithmetic processing area (FIG. 12, S1210) in the usable area detection unit 750.
  • the tracking area (Fig. 12, S1200) can be further set. This method may be useful when using a multi-view camera or a stereo camera.
  • the small integrated control apparatus 700 may set a tracking area (FIG. 12, S1200) including information necessary for object tracking and soldier tracking using only the tracking area limiting unit 760.
  • the usable area detection unit 750 does not set the arithmetic processing area (FIG. 12, S1210), and includes information necessary for feature point extraction, object tracking, and soldier tracking using the tracking area limiting unit 760. Tracking area can be set.
  • the small integrated control apparatus 700 includes a main processor 710, a coprocessor 720, a graphic processor 730, an image corrector 740, an available area detector 750, and the like. And a tracking area limiter 760.
  • the small integrated control apparatus 700 generates a calibration image as described in FIGS. 7, 9 to 10, and extracts information in pixel units by applying a transformation inverse matrix to the calibration image. In this manner, the small integrated control apparatus 700 may primarily set only an area including pixel information available in the input image as an operation processing area.
  • the small integrated control apparatus 700 may secondly set a region including feature point information and information necessary for object tracking among the calculation processing regions set primarily using the tracking region limiting unit 760. This area is defined as the tracking area.
  • FIG. 11 in the case of tracking a person using a small integrated control device 700 in a moving object, a mobile robot, an autonomous robot, a handheld device, an image sensor, an image photographing device, and the like used in the small integrated control device 700.
  • Only information within a specific region (FIGS. 11, S1110, 12, and S1200) of the captured images may be defined as including information necessary to track a person.
  • the tracking area limiting unit 760 in order to set the tracking area S1200, which is an area including information necessary for tracking an object, a photographing distance of the image photographing apparatus and an observation field of view of the image photographing apparatus ( FOV) and preset height information of the object or person.
  • FOV observation field of view of the image photographing apparatus
  • the compact integrated control apparatus 700 includes information necessary for object tracking and soldier following, after setting the operation processing area S1210 in the usable area detection unit (FIGS. 7 and 750).
  • the defined tracking area S1200 may be further defined.
  • the compact integrated control apparatus 700 is configured to extract information required for feature point extraction, object tracking, and soldier tracking in an input image input from an image sensor or an image processing apparatus, without setting an operation processing area separately. Only the included tracking area S1200 may be set, and only the information in the tracking area S1200 may be processed by the graphic processor. The graphic processor may process the information in the tracking area S1200 in pixel units and transmit the processing result to the main processor.
  • FIG. 15 illustrates an example of setting a tracking area except for the sky area when the sky area is included in the image.
  • the remaining area may be set as the tracking area except for detecting and removing the empty area S1500. Thereafter, the feature points can be extracted by processing only the data in the tracking area.
  • sky color data and sky location data may be used to extract sky areas.
  • Sky color data can generally be obtained using a Gaussian distribution.
  • the sky region is extracted by additionally using the location information of the sky.
  • a multi-modal distribution scheme can be applied using a sampling technique.
  • the graphic processor sets a tracking area excluding the sky area by using an operation such as Equation (1).
  • 0 represents a pixel of an empty region or an area to exclude arithmetic processing
  • 1 represents a pixel of a region of a region to be arithmetic processed.
  • 16 is a flowchart illustrating a process of processing large-capacity sensor data in parallel in a graphic processing unit of a small integrated control device according to an exemplary embodiment of the present invention.
  • the method for processing a large amount of sensor data in a small integrated control device includes processing a large amount of sensor data using at least one multicore CPU in a main processor (S1610), and using the same clock as the main processor in the coprocessor. Processing of sensor data related to environmental recognition among sensor data (S1620) and performing a processing operation among the large-capacity sensor data using the same clock as the main processor by using a multi-core in the graphic processor (S1630) There is a characteristic to perform.
  • FIG. 17 is a flowchart illustrating a process of generating a calibration image in a small integrated control device and setting only a portion requiring calculation processing using the generated calibration image.
  • the small integrated control apparatus receives a plurality of images of photographing a specific object from a multi-view camera (S1710). Thereafter, as shown in the embodiment of FIG. 9, a corrected image in which distortion is corrected is generated based on the plurality of images (S1720), and the transform inverse matrix is applied to the corrected image as illustrated in FIG. Each pixel information of the corrected image to which the inverse matrix is applied is processed in parallel (S1740).
  • Fig. 18 shows a flowchart for defining a tracking area when extracting feature points in the compact integrated control device.
  • the small integrated control apparatus receives an input image from an image sensor or an image processing apparatus (S1810).
  • the image sensor or the image processing apparatus may be mounted on the same chip or board as the small integrated control device, or may be mounted on a separate chip, board, etc. capable of wired or wireless communication, or connected using an interface or a hub.
  • the small integrated controller generates a tracking area (refer to FIG. 12 and S1200) by using the imageable distance and the FOV of the image processing apparatus that transmits the input image, and the height information of the preset person or the object to be tracked (S1820). .
  • the compact integrated control apparatus In order to extract the feature point from the input image, the compact integrated control apparatus also sets a tracking area as an area requiring calculation, for example, an area excluding the sky area, as described with reference to FIG. 15.
  • the graphic processor performs arithmetic processing only on data corresponding to the set tracking area (S1830).
  • the method of the present invention can also be embodied as computer readable code on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)

Abstract

본 발명의 바람직한 일 실시예에서 소형통합제어장치는 멀티코어CPU를 이용하여 대용량 센서데이터를 처리하는 메인 프로세서와, 상기 메인프로세서와 동일한 클럭을 이용하여 상기 대용량 센서데이터를 병렬로 처리하는 보조프로세서 및 상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터 처리시 발생하는 연산을 병렬로 처리하는 그래픽처리부를 포함하는 것을 특징으로 한다.

Description

소형통합제어장치
본 발명은 대용량의 센서 데이터를 입력받아 병렬처리하여 신속한 결과를 획득하는 소형 통합 제어기에 관한 것이다.
도 1 은 종래 제어기의 일 예를 도시한다. 기존 제어기 시스템에서는 도 1 에 도시된 바와 같이 대용량 센서 데이터를 처리하기 위하여 많은 수의 CPU core가 요구되었고, 이를 확보하기 위하여 다수의 PC(110, 111, 112, 113, 114 및 115)를 기가비트 스위치(120)를 통해 연결하여 이용하였다.
또한 다수의 PC 이외에도 시스템을 제어하기 위한 외부 센서와 부가적인 파트들이 각각 개별적 제품으로 연결되어 제어기 시스템은 상당한 크기와 부피를 지녔다.
도 1에 도시된 대용량 센서데이터(100)가 PC1(110)으로 입력되는 경우, PC1(110)은 PC2, PC3, PC4, PC5 및 PC6(111, 112, 113, 114 및 115) 등과 같은 다른 PC 들에게 수신된 대용량의 센서 데이터를 전송하여 공유하였다. 그러나, 데이터를 전송하고 공유함에 있어 기가비트 이더넷 스위치의 경우 이론적으로는 1Gb/s 이지만 실제로는 50MB/s 의 전송속도를 가지게 되므로 PC 간에 대용량의 데이터를 효율적으로 공유하지 못하는 문제점이 있었다.
이러한 문제점을 해결하기 위하여 PC 1 (110)은 수신된 대용량의 센서 데이터 중 중요한 몇 Frame 만 선정하여 공유하게 되므로 PC 1(110) 이외의 다른 PC 들(111, 112, 113, 114 및 115)은 분해능이 저하된 센서 데이터를 기반으로 연산을 수행하게 되어 정밀한 연산결과 값을 얻을 수 없는 문제점이 있다.
본 발명의 바람직한 일 실시예에서 소형통합제어장치는 멀티코어CPU를 이용하여 대용량 센서데이터를 처리하는 메인 프로세서와, 상기 메인프로세서와 동일한 클럭을 이용하여 상기 대용량 센서데이터를 병렬로 처리하는 보조프로세서 및 상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터 처리시 발생하는 연산을 병렬로 처리하는 그래픽처리부를 포함하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형 통합 제어장치는 인공지능, 군사장비, 공장 자동화, 이동형 서버장비, 자율주행 로봇 분야에서 활용이 가능한 효과가 있다.
도 1 은 일반적인 제어기의 일 예를 도시한다.
도 2 는 본 발명의 바람직한 일 실시예로서, 소형통합장치(200)의 일 예를 도시한다.
도 3 내지 4는 본 발명의 바람직한 일 실시예로서, 소형통합제어장치(300)의 내부 구성도를 도시한다.
도 5 는 본 발명의 바람직한 일 실시예로서, 메인프로세서(310)에서 지원하는 계층화된 스택(500)을 도시한다.
도 6 는 본 발명의 바람직한 일 실시예로서, 소형통합제어장치가 장착된 또는 소형통합제어장치를 이용하는 이동 물체의 일 실시예를 도시한다.
도 7 , 9 및 10은 본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 교정영상을 생성하고, 생성된 교정영상을 이용하여 연산처리가 요구되는 부분만을 설정하는 일 예를 도시한다.
도 8 및 11~14는 본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 객체를 추적할 때 추적 영역을 한정하는 일 예를 도시한다.
도 15 는 본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 특징점을 추출할 때 추적 영역을 한정하는 일 예를 도시한다.
도 16 은 본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 대용량 센서데이터를 처리하는 방법의 흐름도를 도시한다.
도 17은 본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 교정영상을 생성하고, 생성된 교정영상을 이용하여 연산처리가 요구되는 부분만을 설정하는 흐름도를 도시한다.
도 18은 소형통합제어장치에서 특징점을 추출할 때 추적 영역을 한정하는 흐름도를 도시한다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치는 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서; 상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;및 상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;를 포함하며, 상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 상기 대용량 센서데이터를 기초로 생성한 교정 영상(Rectified image)에 대해 변환 역행렬을 적용한 정보를 픽셀 단위로 수신하여 처리하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치는 복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 상기 복수의 영상촬영장치의 관측 시야(Field Of View : FOV)가 교차하는 영역 내에서 변환행렬(Transform Matrix : TM)을 이용하여 상기 특정 객체에 대해 촬영된 영상의 왜곡을 보정하며, 이를 기초로 교정 영상을 생성하는 영상교정부;및 상기 교정 영상의 각 픽셀에 대해 상기 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출하는 이용가능영역검출부;를 더 포함하고, 상기 그래픽처리부는 상기 이용가능영역검출부에서 검출된 상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보에 대한 연산을 병렬로 처리하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치는 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서; 상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;및 상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;를 포함하며, 상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 상기 대용량 센서데이터에 포함된 영상정보를 기초로 객체 추적을 수행하기 위한 연산처리를 수행하는 것을 특징으로 한다.
바람직하게, 상기 그래픽처리부는 객체의 기설정된 높이 정보, 상기 객체를 촬영할 영상촬영장치의 촬영 가능 거리 및 관측 시야(FOV) 정보를 기초로 상기 객체를 추적하기 위해 연산이 요구되는 영역을 추적영역으로 설정하고, 상기 객체를 촬영할 영상촬영장치로부터 수신한 입력영상에서 상기 추적영역에 대응되는 영역만 연산처리를 수행하는 것을 특징으로 한다.
바람직하게, 상기 그래픽처리부는 객체가 포함된 영상 내에 하늘 영역이 포함되어 있는 경우, 상기 하늘 영역을 제외한 나머지 영역을 추적영역으로 설정하고, 상기 객체를 촬영할 영상촬영장치로부터 수신한 입력영상에서 상기 추적영역에 대응되는 영역만 연산처리를 수행하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치는 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서; 상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서; 상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부; 복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 상기 복수의 영상촬영장치의 관측 시야(FOV)가 교차하는 영역 내에서 변환행렬(TM)을 이용하여 상기 특정 객체에 대해 촬영된 영상의 왜곡을 보정하고, 교정 영상을 생성하는 영상교정부;및 상기 교정 영상의 각 픽셀에 대해 상기 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출하는 이용가능영역검출부;를 더 포함하고, 상기 그래픽처리부는 상기 이용가능영역검출부에서 검출된 상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 기초로, 상기 복수의 영상촬영장치로부터 수신한 영상 내에서 연산처리를 수행할 연산처리영역을 설정하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치는 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서; 상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;및 상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;를 포함하며, 상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 스테레오 카메라의 좌측 영상 및 우측 영상을 수신하여 교정 영상을 생성하고, 상기 교정 영상에 픽셀 단위로 변환역행렬을 적용하여 검출된 영역만 연산처리를 수행하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 대용량 센서데이터를 처리하는 방법으로서, 상기 방법은 메인프로세서에서 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 단계; 상기 메인프로세서와 동일한 클럭을 이용하는 보조프로세서에서 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 단계;및 상기 메인프로세서와 동일한 클럭을 이용하는 그래픽처리부에서, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 단계;를 포함하며, 상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 스테레오 카메라의 좌측 영상 및 우측 영상을 수신하여 교정 영상을 생성하고, 상기 교정 영상에 픽셀 단위로 변환역행렬을 적용하여 검출된 영역만 픽셀단위로 연산처리를 수행하는 것을 특징으로 한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
본 발명의 실시예들은 서버 컴퓨터 시스템, 데스크톱 컴퓨터 시스템들, 랩톱들로 제한되지 않고, 핸드헬드 디바이스들, 스마트폰들, 태블릿들, 다른 씬 노트북들, SOC(systems on a chip, 시스템 온 칩) 디바이스들, 및 임베디드 응용 분야들과 같은 다른 디바이스들에서도 사용될 수 있다. 핸드헬드 디바이스는 셀룰러폰들, 인터넷 프로토콜 디바이스들, 디지털 카메라들, PDA들(personal digital assistants, 개인 휴대 단말기들), 및 핸드헬드 PC들을 포함한다. 또한, 본 명세서에 기술되어 있는 장치들, 방법들, 및 시스템들이 물리 컴퓨팅 디바이스들로 제한되지 않고, 또한 에너지 절감 및 효율을 위한 소프트웨어 최적화를 위해 이용될 수도 있다.
도 2 는 본 발명의 바람직한 일 실시예로서, 소형통합장치(200)의 일 예를 도시한다.
소형통합장치(200)는 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서(210), 메인프로세서(210)와 동일한 클럭을 이용하며 대용량 센서데이터를 처리하는 보조프로세서(220), 메인프로세서와 동일한 클럭을 이용하며, 대용량 센서데이터의 연산처리를 수행하는 그래픽처리부(230)를 포함한다. 본 발명의 바람직한 일 실시예로서, 메인프로세서(210), 보조프로세서(220) 및 그래픽처리부(230)는 대용량 센서데이터를 병렬로 처리가 가능하다.
소형통합장치(200)는 입출력 인터페이스(240)를 이용하여 메인프로세서(210), 보조프로세서(220) 및 그래픽처리부(230)를 직렬 또는 병렬로 확장하도록 구현이 가능하다.
본 발명의 바람직한 일 실시예에서, 메인프로세서(210)는 범용 또는 특수 목적 중앙 처리 장치(CPU), 주문형 반도체(ASIC) 또는 디지털 신호 프로세서(DSP)를 포함하는 임의의 타입의 데이터 프로세서일 수 있다.
예를 들어, 메인프로세서(210)는 Core™ i3, i5, i7, 2 Duo 및 Quad, Xeon™, 또는 Itanium™ 프로세서 등의 범용 프로세서일 수 있다. 메인프로세서(210)는 특수 목적을 위해 제작된 프로세서, 예를 들어, 네트워크 또는 통신 프로세서, 압축 엔진, 그래픽 프로세서, 코-프로세서, 내장형 프로세서 등일 수 있다. 메인프로세서(210)는 하나 이상의 패키지들 내에 포함된 하나 이상의 칩들로 구현될 수 있다. 메인프로세서(210)는, 예를 들어, BiCMOS, CMOS 또는 NMOS 등의 다수의 프로세스 기술들 중 임의의 기술을 이용할 수 있다.
본 발명의 바람직한 일 실시예에서, 메인프로세서(210)는 적어도 하나 이상의 멀티코어CPU(212, 214)를 포함할 수 있다. 적어도 하나 이상의 멀티코어CPU(212, 214) 간에는 QPI(Quick Path Interconnect)프로토콜을 이용하여 통신이 가능하다. 메인프로세서(210)는 패킷 기반의 점대점(point-to-point) 상호 연결 버스를 이용하여 상기 적어도 하나 이상의 멀티코어 CPU(210, 212)를 상호 연결할 수 있다.
본 발명의 바람직한 일 실시예에서, 그래픽처리부(230)는 3D 또는 2D 그래픽 커맨드들 등의 그래픽 커맨드들을 실행하기 위한 로직을 포함한다. 그래픽처리부(230)는 Open GL 및/또는 Direct X 응용 프로그래밍 인터페이스들(API들)(예를 들어, OpenGL 4.1 및 Direct X 11)에 의해 지정된 커맨드들 등의 산업 표준 그래픽 커맨드들을 실행할 수 있다.
입출력 인터페이스(240)는 근거리 통신망, 광역 통신망 또는 인터넷 등의네트워크 통신, 내부 유닛 또는 외부 장치와의 통신을 지원할 수 있다. 입출력 인터페이스(240)는 내부 유닛 또는 외부 장치와의 액세스 및 네트워크 통신을 제공하기 위해 어댑터, 허브 등을 추가로 더 포함할 수 있다. 입출력 인터페이스(240)는 메인프로세서(210)와 동일한 칩 또는 동일한 보드에 구현되거나 또는 메인프로세서(210)에 연결된 별개의 칩 및/또는 패키지에 구현될 수 있다.
도 3 내지 4는 본 발명의 바람직한 일 실시예로서, 소형통합제어장치(300)의 내부 구성도를 도시한다.
소형통합제어장치(300)는 메인프로세서(310), 보조프로세서(320) 및 그래픽처리부(330)를 포함한다.
바람직하게, 소형통합제어장치(300)는 입출력인터페이스(340) 또는 이더넷 스위치(350)를 더 포함할 수 있다.
바람직하게, 소형통합제어장치(300)는 메인프로세서(310), 보조프로세서(320) 및 그래픽처리부(330)에 전원을 공급하는 전원부(미 도시)를 더 포함할 수 있다.
바람직하게, 소형통합제어장치(300)는 메인프로세서(310), 보조프로세서(320) 및 그래픽처리부(330)를 제어하는 MCU(Micro Control Unit)(미 도시)를 더 포함할 수 있다. 이 경우 MCU는 메인프로세서(310)와 이더넷 또는 RS232 등의 통신으을 수행할 수 있고, 전원부와는 CAN 통신으로 연결되어 있어, 전원 상태와 Fault 상황에 대해 주변 장치들의 후속 대책을 제어하도록 구현될 수 있다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치(300)는 동일한 시스템 클럭을 이용하는 메인프로세서(310), 보조프로세서(320) 및 그래픽처리부(330)를 이용하여 대용량 센서데이터를 병렬로 처리할 수 있다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치(300)가 자율 주행 로봇, 이동 로봇, 이동 물체 등에 구현될 경우의 예를 가정할 수 있다.
이 경우, 메인프로세서(310)는 자율 주행 로봇, 이동 로봇, 이동 물체 등에서 스스로 주행 경로를 선택하고 장애물을 피해 목적지로 이동하기 위해 대용량 센서데이터에서 획득한 자율 주행 로봇, 이동 로봇, 이동 물체 등의 위치 데이터 및 자율 주행 로봇, 이동 로봇, 이동 물체 등과 근접한 위치에 있는 장애물에 대한 데이터를 기반으로 자율주행을 위한 이동 경로를 표시하는 주행 맵 또는 지도를 생성할 수 있다.
이 경우, 보조프로세서(320)는 메인프로세서(310)에서 수신한 대용량 센서데이터 중 환경인식과 관련된 연산을 처리하고, 그래픽처리부(330)는 대용량 센서데이터 중 영상과 관련된 연산을 처리하도록 병렬 처리를 수행할 수 있다.
보조프로세서(320)에서 수행하는 환경인식과 관련된 연산은 레이저 기반 센서데이터를 처리하는 연산을 포함한다. 레이저 기반 센서데이터는 레이저 스캐너 등에서 검출된 센서데이터를 포함한다.
그래픽처리부(330)에서 수행하는 영상과 관련된 연산은 카메라 영상, 연산처리 등을 포함한다. 또한 레이저 기반 센서데이터로부터 도출된 연산처리도 그래픽처리부(330)에서 처리할 수 있다.
본 발명의 바람직한 일 실시예에서, 메인프로세서(310)는 자율 주행 로봇, 이동 로봇, 이동 물체 등에서 위치 데이터, 거리데이터, 근접한 위치에 있는 장애물에 대한 데이터 등을 나타내는 LADAR 센서정보, 2D, 3D LADAR 거리정보, CAMERA 영상정보 등을 수신할 수 있다. 이 경우, 메인프로세서(310)는 이더넷 스위치(350) 등을 이용하여 대용량 센서데이터를 수신하도록 구현될 수 있다.
메인프로세서(310)는 대용량 센서데이터 중 거리데이터 및 근접한 위치에 있는 장애물에 대한 데이터의 연산처리는 그래픽처리부(330)에서 수행하도록 데이터를 전송하고, 그래픽처리부(330)에서 연산처리가 끝나면, 결과를 수신하여, 그에 기초하여 주행맵 또는 지도를 생성하도록 구현될 수 있다.
도 5은 본 발명의 바람직한 일 실시예로서, 메인프로세서(310)에서 지원하는 계층화된 스택(500)을 도시한다.
계층화된 스택(500)은 시스템 계층(System Layer)(510), 인터페이스 계층(Interface Layer)(520), 코어 계층(Core Layer)(530) 및 애플리케이션 계층(Application Layer)(540)을 포함한다.
인터페이스 계층(Interface Layer)(520)은 MCU, 센서 및 통신 인터페이스를 지원한다.
코어 계층(Core Layer)(530)은 동적 환경 실시간 파악, 시각 주행거리 파악, 레이저 스캔 매칭 등과 같은 위치추정, 동적 장애물 탐지 및 추적, 레이저기반 환경인식 등과 같은 환경인식, RRT 샘플링 기반 전역 경로 계획, costom planning 및 동적 장애물 회피 등과 같은 planning, Basic Waypoint following 및 Fast Waypoint following 과 같은 주행제어, 그 외 수학라이브러리 및 유틸 라이브러리를 지원한다.
보조프로세서(320)는 코어 계층(Core Layer)(530) 중 동적 장애물 탐지 및 추적, 레이저기반 환경인식 등과 같은 환경인식을 지원하여 처리가 가능하다. 또한, 병렬처리를 최적화 할 수 있는 부분을 처리하도록 구현이 가능하다. Planning SW에서도 각 격자로 나누어 처리할 수 있어 병렬화가 가능하다면 보조프로세서(320)에서 처리될 수 있다.
도 6은 본 발명의 바람직한 일 실시예로서, 소형통합제어장치가 장착된 또는 소형통합제어장치를 이용하는 이동 물체의 일 실시예를 도시한다.
이동 물체(600)는 3D 센서부, 센서부, GPS 송수신부, 제어부 및 출력부 (내부 구성 미도시)을 포함하도록 구현될 수 있다. 센서부는 스티어링(steering) 감지부, 속도 센서, 가속 센서, 위치 센서 등을 포함할 수 있다.
3D 센서부는 회전체 반사경과 집광 렌즈 및 촬상 소자를 이용하여 전방위, 후방위 및/또는 측방위를 한번에 촬영하는 카메라 시스템으로서, 보안 시설과 감시 카메라, 로봇 비전 등에 응용된다. 회전체 반사경의 형상으로는 쌍곡면이나 구면, 원추형, 복합형 등 다양하다. 또한, 촬상 소자로는 CCD(Charge Coupled Device) 또는 CMOS(Complementary Metal Oxide Semiconductor)가 사용된다. 이 촬상 소자의 촬상면에 투영되는 화상(즉 전방위 영상)은 회전체 반사경에 반사된 것이어서 인간이 그대로 관찰하기에는 적합하지 않은 일그러진 화상이다. 따라서 3D 센서부는 화상의 정확한 관찰을 위해 촬상 소자의 출력을 마이크로프로세서 등을 통해 그 좌표를 변환하여 새로운 파노라마 영상을 만들어낸다.
3D 센서부는 전방위를 3차원적으로 촬영하여 3차원 거리 데이터를 획득하기 위해 스테레오 카메라(stereo camera), 깊이 카메라(depth camera), 이동식 스테레오 카메라(moving stereo camera) 및 라이다(Light Detection and Ranging; LIDAR) 장비 중 하나 이상을 포함하여 구성될 수 있다.
스테레오 카메라는 복수의 카메라로 구성되는 영상 장치이다. 3D 센서부를 통해 얻은 전방위 영상은 3D 센서부 주변에 대한 2차원적인 정보를 제공한다. 만약 복수의 카메라를 통해 서로 다른 방향에서 촬영한 복수의 영상을 이용하면 3D 센서부 주변에 대한 3차원적인 정보를 얻을 수 있다. 이와 같은 스테레오 카메라를 이동 물체 또는 이동 로봇의 위치 인식 및 지도 생성에 이용하기도 한다.
깊이 카메라는 장애물을 촬영 또는 측정하여 영상과 거리 데이터를 추출하는 카메라이다. 즉, 깊이 카메라는 일반적인 카메라와 같이 장애물을 촬상하여 영상 또는 이미지 데이터를 만들고, 각 영상의 픽셀에 해당하는 실제 위치에서 카메라로부터의 거리를 측정하여 거리 데이터를 만든다.
이동식 스테레오 카메라는 스테레오 카메라의 위치가 장애물의 거리에 따라 능동적으로 변하여 관측 장애물에 대한 주시각을 고정시키는 카메라를 말한다. 스테레오 카메라는 일반적으로 두 대의 카메라를 평행하게 배치하고 영상을 획득하며, 획득 영상의 스테레오 시차에 따라 장애물까지의 거리를 계산할 수 있다.
이러한 스테레오 카메라는 광축이 항상 평행하게 배치되어 고정된 형태의 수동적인 카메라이다. 반면, 이동식 스테레오 카메라는 광축의 기하학적 위치를 능동적으로 변화시켜 주시각을 고정시킨다. 이렇게 스테레오 카메라의 주시 각도를 장애물의 거리에 따라 제어하는 것을 주시각 제어라 한다.
주시각 제어 스테레오 카메라는 움직이는 장애물에 대한 스테레오 시차를 항상 일정하게 유지하여 입체 영상 관측자에게 보다 자연스러운 입체 영상을 제공하며 장애물에 대한 거리 측정이나 스테레오 영상 처리에 있어서 유용한 정보를 제공한다.
라이다(LIDAR) 장비는 이동 물체(600)의 전면에 위치한 장애물의 존재와 거리를 감지하기 위해 구비된다. 라이다 장비는 레이더(Radar)와 동일한 원리를 이용해 사물에 직접적인 접촉 없이 원하는 정보를 취득하는 능동형 원격 탐사(Remote Sensing)의 한 종류다. 라이다 장비는 정보를 취득하고자 하는 목표물에 레이저(Laser)를 쏘아 목표물로부터 반사되어 돌아오는 전자파의 시차와 에너지 변화를 감지해 원하는 거리 정보를 취득한다.
라이다 장비는 측정하고자 하는 목적이나 대상물에 따라 DIAL(DIfferentail Absorption LIDAR), 도플러 라이다 (Doppler LIDAR), 거리 측정 라이다(Range finder LIDAR)의 세 종류로 나뉜다. DIAL은 측정하고자 하는 물체에 대한 흡수 정도가 서로 다른 두 개의 레이저를 이용해 대기중의 수증기, 오존, 공해 물질 등의 농도 측정에 활용되고, 도플러 라이다(Doppler LIDAR)는 도플러 원리를 이용해 물체의 이동 속도 측정에 이용된다. 그러나 일반적으로 라이다라고 하면 거리 측정 라이다(Range finder LIDAR)를 지칭하며 이것은 위성 측위 시스템(Global Positioning System; 이하 GPS)과 관성 항법 유도 장치(Inertial Navigation System; 이하 INS), 레이저 스캐너(LASER SCANNER) 시스템을 이용하여 대상물과의 거리 정보를 조합함으로써 3차원 지형 정보를 취득한다.
라이다 장비는 이동 물체(600)의 이동 경로 전면에 위치한 장애물의 존재와 장애물까지의 거리 및 장애물의 이동을 감지하여 3차원 거리 데이터를 획득하고, 획득된 데이터를 제어부로 전송하여 장애물이 없는 공간으로 이동 물체(600)가 이동할 수 있도록 한다.
출력부는 디스플레이부를 포함하며, 제어부 또는 메인프로세서에서 생성된 주행맵을 통해 결정된 주행 경로를 UI(User Interface) 또는 GUI(Graphic User Interface)를 이용하여 표시하도록 구현될 수 있다.
도 7 은 본 발명의 바람직한 일 실시예로서, 소형통합제어장치(700)의 내부 구성도를 도시한다.
소형통합제어장치(700)는 메인프로세서(710), 보조프로세서(720), 그래픽처리부(730), 영상교정부(740) 및 이용가능영역 검출부(750)를 포함한다.
메인프로세서(710), 보조프로세서(720)의 기능은 도 3 내지 4의 설명을 참고한다. 그래픽처리부(730)는 연산처리를 멀티코어를 이용하여 병렬로 처리하며, 이용가능영역검출부(750)에서 검출된 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 기초로, 복수의 영상촬영장치로부터 수신한 영상 내에서 연산처리를 수행할 연산처리영역을 설정한다.
영상교정부(740)은 복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 복수의 영상촬영장치의 관측 시야(FOV)가 교차하는 영역 내에서 변환행렬(TM)을 이용하여 특정 객체에 대해 촬영된 영상의 왜곡을 보정하고, 교정 영상을 생성한다.
이용가능영역검출부(750)는 영상교정부(740)에서 생성한 교정 영상의 각 픽셀에 대해 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출한다.
도 9 내지 10의 일 실시예를 참고하면, 본 발명의 바람직한 일 실시예에서 영상교정부(740)는 변환행렬을 이용하여 특정 객체(900)에 대해 촬영한 좌측 영상(910) 및 우측 영상(912) 각각의 왜곡을 보정하고(920, 922), 왜곡이 보정된 좌측 영상 및 왜곡이 보정된 우측 영상을 이용하여 교정영상(930, 932)을 생성한다.
변환행렬은, 좌/우측이미지를 Rotation 하고 Translation하여 두 이미지를 같은 epipolar선상에 놓게 하고 마지막으로 scale을 조정하여 좌/우측 이미지가 같은 이미지 backplane에 오도록 만드는 이미지 변환스텝들을 통합하여 말하는 행렬이다. 이것의 역행렬은 그 일련의 변환(transform)을 반대로 행하여 교정된(rectified)된 이미지를 원영상(raw image)으로 변환할 수 있는 행렬이다.
도 10을 참고하면, 본 발명의 바람직한 일 실시예에서, 영상교정부(도 7,740)는 교정영상(1000)의 각 픽셀에 대해 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출한다(1010, 1020).
도 8 은 본 발명의 바람직한 또 다른 일 실시예로서, 소형통합제어장치(700)의 내부 구성도를 도시한다. 도 9 내지 15를 참고하여 설명하면 아래와 같다.
도 9는 교정영상을 생성하는 일 실시예를 도시한다.
도 10은 본 발명의 바람직한 일 실시예로서, 교정영상에 변환역행렬을 적용하여 연산처리영역을 설정하는 일 실시예를 도시한다.
도 11 은 영상촬영장치에서 특정 객체를 촬영하는 일 예를 도시한다. 도 12는 본 발명의 바람직한 일 실시예로서, 영상촬영장치가 특정 객체를 촬영할 때 설정되는 추적영역을 월드코디네이터로 표현한 좌표이다.
도 13은 본 발명의 바람직한 일 실시예로서, 도 12의 월드코디네이터 좌표를 이미지코디네이트 좌표로 변환한 일 예를 도시한다.
도 14는 본 발명의 바람직한 일 실시예로서, 추적 대상 객체가 추적 영역 내에 존재하는 일 실시예를 도시한다.
도 15는 본 발명의 바람직한 일 실시예로서, 영상 내에 하늘 영역이 포함되어 있는 경우 하늘 영역을 제외하고 추적영역을 설정하는 일 실시예를 도시한다.
본 발명의 바람직한 일 실시예에서 소형통합제어장치(700)는 이용가능영역 검출부(750)에서 연산처리영역(도 12, S1210)을 설정한 이후, 이 중 객체추적, 병사 추종에 필요한 정보가 포함된 추적영역(도 12, S1200)을 추가로 설정할 수 있다. 주로 다시점 카메라를 이용하거나 스테레오 카메라 등을 이용할 때 본 방법이 유용하게 이용될 수 있다.
본 발명의 또 다른 바람직한 일 실시예에서 소형통합제어장치(700)는 추적영역한정부(760)만을 이용하여 객체추적, 병사 추종에 필요한 정보가 포함된 추적영역(도 12, S1200)을 설정할 수 있다. 이 경우, 이용가능영역 검출부(750)에서 연산처리영역(도 12, S1210)을 설정하지 않고, 바로 추적영역한정부(760)를 이용하여 특징점 추출, 객체추적, 병사추종에 필요한 정보가 포함된 추적영역을 설정할 수 있다.
본 발명의 바람직한 일 실시예로서, 소형통합제어장치(700)는 메인프로세서(710), 보조프로세서(720), 그래픽처리부(730), 영상교정부(740), 이용가능영역 검출부(750) 및 추적영역한정부(760)를 포함한다.
이 경우, 소형통합제어장치(700)는 도 7, 9 내지 10에서 기술한 바와 같이 교정영상을 생성하고, 교정영상에 변환역행렬을 적용하여 픽셀단위로 정보를 추출한다. 이 방식을 통해 소형통합제어장치(700)는 1차적으로 입력 영상 중 이용가능한 픽셀 정보가 포함되어 있는 영역만을 연산처리영역으로 설정할 수 있다.
다음으로, 소형통합제어장치(700)는 추적영역한정부(760)를 이용하여 1차적으로 설정한 연산처리영역 중 특징점 정보, 객체 추적에 필요한 정보가 포함되어 있는 영역을 2차로 설정할 수 있다. 이 영역을 추적영역이라 정의한다.
도 11 내지 14를 참고하면, 소형통합제어장치(700)는 객체를 추적하는 경우, 입력 영상 중 일부 영역(도 12, S1200)의 정보만이 요구된다. 또한, 도 15를 참고하면, 소형통합제어장치(700)에서 특징점 추출을 수행하는 경우에도 입력 영상에서 하늘 영역을 제외한 일부 영역(S1510)의 정보만이 유효한 정보로 이용할 수 있다.
도 11을 참고하면 이동체, 이동로봇, 자율형 로봇, 핸드헬드 장치 등에서 소형통합제어장치(700)를 이용하여 사람을 추적하는 경우, 소형통합제어장치(700)에서 이용하는 영상센서, 영상촬영장치 등에서 촬영한 영상 중 특정 영역(도 11, S1110 및 도 12, S1200) 이내의 정보만이 사람을 추적하는데 필요한 정보가 포함되어 있다고 정의할 수 있다.
도 12 를 참고하면, 추적영역한정부(760)에서는 객체 추적에 필요한 정보가 포함되어 있는 영역인 추적영역(S1200)을 설정하기 위하여, 영상촬영장치의 촬영 가능 거리 및 영상촬영장치의 관측 시야(FOV) 및 객체 또는 사람의 기설정된 높이 정보를 이용한다.
본 발명의 바람직한 일 실시예에서 소형통합제어장치(700)는 이용가능영역 검출부(도 7, 750)에서 연산처리영역(S1210)을 설정한 이후, 이 중 객체추적, 병사 추종에 필요한 정보가 포함된 추적영역(S1200)을 추가로 한정할 수 있다.
본 발명의 또 다른 바람직한 일 실시예에서 소형통합제어장치(700)는 연산처리영역을 별도로 설정하지 않고, 영상센서 또는 영상처리장치로부터 들어오는 입력 영상에서 특징점 추출, 객체추적, 병사추종에 필요한 정보가 포함된 추적영역(S1200)만을 설정하여, 그래픽처리부를 통해 추적영역(S1200) 내의 정보만 연산처리를 수행할 수 있다. 그래픽처리부는 추적영역(S1200) 내의 정보를 픽셀단위로 처리한 후 메인프로세서에 처리 결과를 전송할 수 있다.
도 15는 영상 내에 하늘 영역이 포함되어 있는 경우 하늘 영역을 제외하고 추적영역을 설정하는 일 실시예이다. 본 발명의 바람직한 일 실시예에서, 하늘영역(S1500)을 검출하여 제외하고, 나머지 영역을 추적 영역으로 설정할 수 있다. 이 후 추적 영역내의 데이터만을 처리하여 특징점을 추출할 수 있다.
본 발명의 바람직한 일 실시예에서는 하늘 영역을 추출하기 위하여 하늘의 색상 데이터 및 하늘의 위치데이터를 이용할 수 있다. 하늘의 색상 데이터는 일반적으로 가우시안 분포를 이용하여 구할 수 있다. 또한 일반적인 영상에서 하늘은 윗부분에 위치하고 있으므로, 하늘의 위치 정보를 추가로 이용하여 하늘 영역을 추출한다. 이 경우 샘플링 기법을 이용하여 멀티-모달 분배 방식을 적용할 수 있다.
본 발명의 바람직한 일 실시예에서, 그래픽 처리부는 수학식 1과 같은 연산을 이용하여 하늘 영역을 제외한 추적 영역을 설정한다.
수학식 1
Figure PCTKR2015001742-appb-M000001
수학식 1은 연산처리가 요구되는 영역을 표시하는 행렬 * 이미지 행렬 = 추적영역이 설정되는 실시예를 도시한다. 수학식 1에서 0은 하늘 영역 또는 연산처리를 제외할 영역의 픽셀을 표시하고, 1은 연산처리를 수행할 영역의 영역의 픽셀을 표시한다.
도 16은 본 발명의 바람직한 일 실시예에서, 소형통합제어장치의 그래픽처리부에서 병렬적으로 대용량센서데이터를 처리하는 흐름도를 도시한다.
소형통합제어장치에서 대용량 센서데이터를 처리하는 방법은 메인프로세서에서 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 단계(S1610), 보조프로세서에서 상기 메인프로세서와 동일한 클럭을 이용하여 상기 대용량 센서데이터 중 환경인식과 관련된 센서데이터를 처리하는 단계(S1620) 및 그래픽처리부에서 멀티코어를 이용하여 상기 메인프로세서와 동일한 클럭을 이용하여 상기 대용량 센서데이터 중 연산처리를 수행하는 단계(S1630)를 병렬적으로 수행하는 특징이 있다.
도 17은 본 발명의 바람직한 일 실시예로서, 소형통합제어장치에서 교정영상을 생성하고, 생성된 교정영상을 이용하여 연산처리가 요구되는 부분만을 설정하는 흐름도를 도시한다.
소형통합제어장치는 다시점 카메라로부터 특정 객체를 촬영한 복수의 영상을 수신한다(S1710). 이 후, 도 9의 일 실시예와 같이 복수의 영상을 기초로 왜곡이 보정된 교정 영상을 생성하고(S1720), 도 10과 같이 교정영상에 변환 역행렬을 적용한 후, 그래픽처리부에서 픽셀단위로 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 병렬로 처리한다(S1740).
도 18은 소형통합제어장치에서 특징점을 추출할 때 추적 영역을 한정하는 흐름도를 도시한다.
소형통합제어장치는 영상센서 또는 영상처리장치로부터 입력영상을 수신한다(S1810). 이 경우 영상센서 또는 영상처리장치는 소형통합제어장치와 동일한 칩, 보드에 장착되어 있거나 또는 유무선으로 통신이 가능한 별도의 칩, 보드 등에 장착되거나 또는 인터페이스, 허브 등을 이용하여 연결이 가능할 수 있다.
소형통합제어장치는 입력영상을 전송한 영상처리장치의 촬영가능 거리 및 FOV, 그리고 기 설정된 사람 또는 추적하고자 하는 객체의 높이 정보를 이용하여 추적영역(도 12, S1200 참고)을 생성한다(S1820).
소형통합제어장치는 또한 입력영상에서 특징점을 추출하고자 하는 경우에는 도 15에서 설명한 바와 같이 연산이 요구되는 영역, 일 예로 하늘 영역이 제외된 영역,을 추적영역으로 설정한다.
그래픽처리부는 설정된 추적영역에 대응하는 데이터에 대해서만 연산처리를 수행한다(S1830).
본 발명의 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서는 도면에 도시된 구체적인 실시예를 참고하여 본 발명을 설명하였으나 이는 예시적인 것에 불과하므로, 본 발명이 속하는 기술 분야에서 통상의 기술을 가진 자라면 이로부터 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 보호 범위는 후술하는 특허청구범위에 의하여 해석되어야 하고, 그와 동등 및 균등한 범위 내에 있는 모든 기술적 사상은 본 발명의 보호 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (40)

  1. 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서;
    상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;및
    상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;를 포함하며,
    상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 상기 대용량 센서데이터를 기초로 생성한 교정 영상(Rectified image)에 대해 변환 역행렬을 적용한 정보를 픽셀 단위로 수신하여 처리하는 것을 특징으로 하는 소형통합제어장치.
  2. 제 1 항에 있어서, 상기 교정 영상은
    복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 상기 복수의 영상촬영장치의 관측 시야(Field Of View : FOV)가 교차하는 영역 내에서 변환행렬(Transform Matrix : TM)을 이용하여 상기 특정 객체에 대해 촬영된 영상의 왜곡을 보정하여 생성되는 것을 특징으로 하는 소형통합제어장치.
  3. 제 1 항에 있어서,
    복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 상기 복수의 영상촬영장치의 관측 시야(Field Of View : FOV)가 교차하는 영역 내에서 변환행렬(Transform Matrix : TM)을 이용하여 상기 특정 객체에 대해 촬영된 영상의 왜곡을 보정하며, 이를 기초로 교정 영상을 생성하는 영상교정부;및
    상기 교정 영상의 각 픽셀에 대해 상기 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출하는 이용가능영역검출부;를 더 포함하고, 상기 그래픽처리부는 상기 이용가능영역검출부에서 검출된 상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보에 대한 연산을 병렬로 처리하는 것을 특징으로 하는 소형통합제어장치.
  4. 제 2 항에 있어서, 상기 그래픽처리부는
    상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보에 대한 연산 처리 결과를 상기 메인프로세서로 전송하는 것을 특징으로 하는 소형통합제어장치.
  5. 제 2 항에 있어서,
    상기 복수의 영상촬영장치는 스테레오 카메라를 포함하는 것을 특징으로 하는 소형통합제어장치.
  6. 제 1 항에 있어서, 상기 대용량 센서데이터는
    이동 물체에 장착된 적어도 하나 이상의 센서에서 수신한 데이터로서, 상기 이동 물체에 장착된 영상촬영장치에서 촬영한 영상 정보를 포함하는 것을 특징으로 하는 소형통합제어장치.
  7. 제 1 항에 있어서, 상기 그래픽처리부는
    픽셀 단위로 수신한 상기 교정 영상에 대해 변환 역행렬을 적용한 정보를 기초로, 상기 복수의 영상촬영장치로부터 수신한 영상 내에서 연산처리를 수행할 연산처리영역을 설정하는 것을 특징으로 하는 소형통합제어장치.
  8. 제 7 항에 있어서, 상기 그래픽처리부는
    기설정된 사람의 키높이 정보, 영상촬영장치의 촬영 가능 거리 및 영상촬영장치의 관측 시야(FOV)를 기초로 상기 연산처리영역 내에서 사람을 추적하기 위해 연산이 요구되는 영역을 추적영역으로 한정하고, 상기 추적영역에 대응되는 연산처리만을 수행하는 것을 특징으로 하는 소형통합제어장치.
  9. 제 7 항에 있어서, 상기 그래픽처리부는
    객체의 기설정된 높이 정보, 영상촬영장치의 촬영 가능 거리 및 영상촬영장치의 관측 시야(FOV)를 기초로 상기 연산처리영역 내에서 상기 객체를 추적하기 위해 연산이 요구되는 영역을 추적영역으로 한정하고, 상기 추적영역에 대응되는 연산처리만을 수행하는 것을 특징으로 하는 소형통합제어장치.
  10. 제 7 항에 있어서, 상기 그래픽처리부는
    상기 연산처리영역 내에 하늘 영상이 포함되어 있는 경우, 상기 하늘 영상을 제외한 나머지 영역을 추적영역으로 한정하고, 상기 추적영역에 대응되는 연산처리만을 수행하는 것을 특징으로 하는 소형통합제어장치.
  11. 제 1 항에 있어서,
    상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부를 직렬 또는 병렬로 확장하도록 구현하는 입출력 인터페이스;를 더 포함하는 것을 특징으로 하는 소형통합제어장치.
  12. 제 1 항에 있어서, 상기 메인프로세서는
    시스템 계층(System Layer), 인터페이스 계층(Interface Layer), 코어 계층(Core Layer) 및 애플리케이션 계층(Application Layer)을 지원하는 것을 특징으로 하는 소형통합제어장치.
  13. 제 1 항에 있어서, 상기 메인프로세서는
    시스템 계층(System Layer), 인터페이스 계층(Interface Layer), 코어 계층(Core Layer) 및 애플리케이션 계층(Application Layer)을 포함하는 계층화된 스택을 포함하는 것을 특징으로 하는 소형통합제어장치.
  14. 제 1 항에 있어서,
    상기 보조프로세서 및 상기 그래픽처리부는 상기 메인프로세서와 동일한 클럭을 이용하여 처리한 센서데이터의 동기화를 수행하는 것을 특징으로 하는 소형통합제어장치.
  15. 제 1 항에 있어서,
    상기 메인프로세서는 상기 대용량 센서데이터를 이더넷 스위치를 통해 수신하는 것을 특징으로 하는 소형통합제어장치.
  16. 제 1 항에 있어서,
    상기 메인프로세서, 상기 보조프로세서, 상기 그래픽처리부에 전원을 공급하는 전원부;를 더 포함하는 것을 특징으로 하는 소형통합제어장치.
  17. 제 1항에 있어서,
    상기 메인프로세서, 상기 보조프로세서, 상기 그래픽처리부를 제어하는 MCU(Micro Control Unit)를 더 포함하는 것을 특징으로 하는 소형통합제어장치.
  18. 제 1항에 있어서,
    상기 메인프로세서는 패킷 기반의 점대점(point-to-point) 상호 연결 버스를 이용하여 상기 적어도 하나 이상의 멀티코어 CPU를 상호 연결하는 것을 특징으로 하는 소형통합제어장치.
  19. 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서;
    상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;및
    상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;를 포함하며,
    상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 상기 대용량 센서데이터에 포함된 영상정보를 기초로 객체 추적을 수행하기 위한 연산처리를 수행하는 것을 특징으로 하는 소형통합제어장치.
  20. 제 19 항에 있어서, 상기 그래픽처리부는
    객체의 기설정된 높이 정보, 상기 객체를 촬영할 영상촬영장치의 촬영 가능 거리 및 관측 시야(FOV) 정보를 기초로 상기 객체를 추적하기 위해 연산이 요구되는 영역을 추적영역으로 설정하고, 상기 객체를 촬영할 영상촬영장치로부터 수신한 입력영상에서 상기 추적영역에 대응되는 영역만 연산처리를 수행하는 것을 특징으로 하는 소형통합제어장치.
  21. 제 19 항에 있어서, 상기 그래픽처리부는
    객체가 포함된 영상 내에 하늘 영역이 포함되어 있는 경우, 상기 하늘 영역을 제외한 나머지 영역을 추적영역으로 설정하고, 상기 객체를 촬영할 영상촬영장치로부터 수신한 입력영상에서 상기 추적영역에 대응되는 영역만 연산처리를 수행하는 것을 특징으로 하는 소형통합제어장치.
  22. 제 21 항에 있어서, 상기 하늘 영역은
    하늘 데이터의 색깔 분포 및 하늘 영역의 위치정보를 기초로 식별되며, 통계적으로 기계학습되는 것을 특징으로 하는 소형통합제어장치.
  23. 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서;
    상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;
    상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;
    복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 상기 복수의 영상촬영장치의 관측 시야(FOV)가 교차하는 영역 내에서 변환행렬(TM)을 이용하여 상기 특정 객체에 대해 촬영된 영상의 왜곡을 보정하고, 교정 영상을 생성하는 영상교정부;및
    상기 교정 영상의 각 픽셀에 대해 상기 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출하는 이용가능영역검출부;를 더 포함하고,
    상기 그래픽처리부는 상기 이용가능영역검출부에서 검출된 상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 기초로, 상기 복수의 영상촬영장치로부터 수신한 영상 내에서 연산처리를 수행할 연산처리영역을 설정하는 것을 특징으로 하는 소형통합제어장치.
  24. 제 23 항에 있어서, 상기 그래픽처리부는
    상기 연산처리영역에서 수행한 연산 처리 결과를 픽셀 단위로 상기 메인프로세서로 전송하는 것을 특징으로 하는 소형통합제어장치.
  25. 제 23 항에 있어서,
    상기 보조프로세서는 상기 대용량 센서데이터 중 레이저 기반 센서데이터를 처리하고, 상기 레이저 기반 센서데이터는 레이저 스캐너를 통해 획득한 센서데이터를 포함하는 것을 특징으로 하는 소형통합제어장치.
  26. 제 23 항에 있어서,
    상기 그래픽처리부는 상기 대용량 센서데이터 중 영상 기반 센서데이터를 실시간으로 처리하고, 상기 영상 기반 센서데이터는 카메라 영상을 포함하는 것을 특징으로 하는 소형통합제어장치.
  27. 제 23 항에 있어서,
    상기 메인프로세서는 이동 로봇 구동시 생성되는 대용량 센서데이터를 수신하고, 상기 대용량 센서데이터는 상기 이동 로봇이 이용하는 센서에서 검출한 센서데이터, 상기 이동 로봇이 이동한 실시간 거리 정보, 상기 이동 로봇이 촬영한 영상정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 소형통합제어장치.
  28. 제 23항에 있어서,
    상기 메인프로세서는 상기 대용량 센서데이터를 이더넷을 통해 수신하는 것을 특징으로 하는 소형통합제어장치.
  29. 제 23항에 있어서,
    상기 메인프로세서는 패킷 기반의 점대점(point-to-point) 상호 연결 버스를 이용하여 상기 적어도 하나 이상의 멀티코어 CPU를 상호 연결하는 것을 특징으로 하는 소형통합제어장치.
  30. 제 23 항에 있어서,
    상기 보조프로세서 및 상기 그래픽처리부는 상기 메인프로세서와 동일한 클럭을 이용하여 처리한 센서데이터의 동기화를 수행하는 것을 특징으로 하는 소형통합제어장치.
  31. 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 메인프로세서;
    상기 메인프로세서와 동일한 클럭을 이용하며 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 보조프로세서;및
    상기 메인프로세서와 동일한 클럭을 이용하며, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 그래픽처리부;를 포함하며,
    상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는
    스테레오 카메라의 좌측 영상 및 우측 영상을 수신하여 교정 영상을 생성하고, 상기 교정 영상에 픽셀 단위로 변환역행렬을 적용하여 검출된 영역만 연산처리를 수행하는 것을 특징으로 하는 소형통합제어장치.
  32. 소형통합제어장치에서 대용량 센서데이터를 처리하는 방법으로서,
    메인프로세서에서 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 단계;
    상기 메인프로세서와 동일한 클럭을 이용하는 보조프로세서에서 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 단계;및
    상기 메인프로세서와 동일한 클럭을 이용하는 그래픽처리부에서 멀티코어를 이용하여 상기 대용량 센서데이터의 연산처리를 수행하는 단계;를 포함하고
    상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 상기 대용량 센서데이터를 기초로 생성한 교정 영상(Rectified image)에 대해 변환 역행렬을 적용한 정보를 픽셀 단위로 수신하여 처리하는 것을 특징으로 하는 방법.
  33. 제 32 항에 있어서,
    영상교정부에서 복수의 영상촬영장치 각각으로부터 특정 객체를 촬영한 영상을 수신하고, 상기 복수의 영상촬영장치의 관측 시야(Field Of View : FOV)가 교차하는 영역 내에서 변환행렬(Transform Matrix : TM)을 이용하여 상기 특정 객체에 대해 촬영된 영상의 왜곡을 보정하며, 이를 기초로 교정 영상을 생성하는 단계;및
    이용가능영역검출부에서 상기 교정 영상의 각 픽셀에 대해 상기 변환역행렬(TM-1)을 계산하여 변환역행렬이 적용된 교정 영상의 각 픽셀 정보를 검출하는 단계;를 더 포함하고, 상기 그래픽처리부는 상기 이용가능영역검출부에서 검출된 상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보에 대한 연산을 병렬로 처리하는 것을 특징으로 하는 방법.
  34. 제 32 항에 있어서, 상기 그래픽처리부는
    상기 변환역행렬이 적용된 교정 영상의 각 픽셀 정보에 대한 연산 처리 결과를 상기 메인프로세서로 전송하는 것을 특징으로 하는 방법.
  35. 소형통합제어장치에서 대용량 센서데이터를 처리하는 방법으로서, 상기 방법은
    메인프로세서에서 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 단계;
    상기 메인프로세서와 동일한 클럭을 이용하는 보조프로세서에서 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 단계;및
    상기 메인프로세서와 동일한 클럭을 이용하는 그래픽처리부에서, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 단계;를 포함하며, 상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는 상기 대용량 센서데이터에 포함된 영상정보를 기초로 객체 추적을 수행하기 위한 연산처리를 수행하는 것을 특징으로 하는 방법.
  36. 제 35 항에 있어서, 상기 그래픽처리부는
    객체의 기설정된 높이 정보, 상기 객체를 촬영할 영상촬영장치의 촬영 가능 거리 및 관측 시야(FOV) 정보를 기초로 상기 객체를 추적하기 위해 연산이 요구되는 영역을 추적영역으로 설정하고, 상기 객체를 촬영할 영상촬영장치로부터 수신한 입력영상에서 상기 추적영역에 대응되는 영역만 연산처리를 수행하는 것을 특징으로 하는 방법.
  37. 제 35 항에 있어서, 상기 그래픽처리부는
    객체가 포함된 영상 내에 하늘 영역이 포함되어 있는 경우, 상기 하늘 영역을 제외한 나머지 영역을 추적영역으로 설정하고, 상기 객체를 촬영할 영상촬영장치로부터 수신한 입력영상에서 상기 추적영역에 대응되는 영역만 연산처리를 수행하는 것을 특징으로 하는 방법.
  38. 소형통합제어장치에서 대용량 센서데이터를 처리하는 방법으로서, 상기 방법은
    메인프로세서에서 적어도 하나 이상의 멀티코어 CPU를 이용하여 대용량 센서데이터를 처리하는 단계;
    상기 메인프로세서와 동일한 클럭을 이용하는 보조프로세서에서 상기 대용량 센서데이터를 상기 메인프로세서와 병렬로 처리하는 단계;및
    상기 메인프로세서와 동일한 클럭을 이용하는 그래픽처리부에서, 상기 대용량 센서데이터의 연산처리를 멀티코어를 이용하여 병렬로 처리하는 단계;를 포함하며, 상기 메인프로세서, 상기 보조프로세서 및 상기 그래픽처리부는 병렬로 상기 대용량 센서데이터를 처리하고, 상기 그래픽처리부는
    스테레오 카메라의 좌측 영상 및 우측 영상을 수신하여 교정 영상을 생성하고, 상기 교정 영상에 픽셀 단위로 변환역행렬을 적용하여 검출된 영역만 픽셀단위로 연산처리를 수행하는 것을 특징으로 하는 방법.
  39. 제 38항에 있어서,
    상기 그래픽처리부는 상기 픽셀단위로 연산처리를 수행한 결과를 상기 메인프로세서에 전송하는 것을 특징으로 하는 방법.
  40. 제 38 항에 있어서, 상기 그래픽처리부는
    상기 교정 영상에 픽셀 단위로 변환역행렬을 적용하여 검출된 영역 중 추적영역을 추가로 한정하여, 상기 추적영역에 대응되는 연산처리만을 수행하고, 이 경우 상기 추적영역은 기설정된 사람의 키높이 정보, 영상촬영장치의 촬영 가능 거리 및 영상촬영장치의 관측 시야(FOV)를 기초로 설정되는 것을 특징으로 하는 방법.
PCT/KR2015/001742 2014-12-11 2015-02-24 소형통합제어장치 WO2016093428A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140178720A KR102106890B1 (ko) 2014-12-11 2014-12-11 소형통합제어장치
KR10-2014-0178720 2014-12-11

Publications (1)

Publication Number Publication Date
WO2016093428A1 true WO2016093428A1 (ko) 2016-06-16

Family

ID=56107591

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/001742 WO2016093428A1 (ko) 2014-12-11 2015-02-24 소형통합제어장치

Country Status (3)

Country Link
KR (1) KR102106890B1 (ko)
TW (1) TW201626214A (ko)
WO (1) WO2016093428A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102510122B1 (ko) * 2021-11-24 2023-03-15 (주)카네비모빌리티 전방 추돌 경보를 위한 영상 기반 실시간 차량 검출과 추적 방법, 및 그 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021871A1 (en) * 2003-07-25 2005-01-27 International Business Machines Corporation Self-contained processor subsystem as component for system-on-chip design
US20090313622A1 (en) * 2008-06-11 2009-12-17 Microsoft Corporation Synchronizing queued data access between multiple gpu rendering contexts
US20120081377A1 (en) * 2010-10-01 2012-04-05 Sowerby Andrew M Graphics System which Measures CPU and GPU Performance
CN103713938A (zh) * 2013-12-17 2014-04-09 江苏名通信息科技有限公司 虚拟化环境下基于OpenMP的多GPU协同计算方法
WO2014178450A1 (ko) * 2013-04-30 2014-11-06 전자부품연구원 Cpu와 gpu 간의 협업 시스템 및 그 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100948886B1 (ko) * 2009-06-25 2010-03-24 주식회사 이미지넥스트 차량에 설치된 카메라의 공차 보정 장치 및 방법
KR101714783B1 (ko) * 2009-12-24 2017-03-23 중앙대학교 산학협력단 Gpu를 이용한 온라인 전기 자동차용 전방 장애물 검출 장치 및 방법
KR101883475B1 (ko) * 2013-02-28 2018-07-31 한화지상방산 주식회사 소형통합제어장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021871A1 (en) * 2003-07-25 2005-01-27 International Business Machines Corporation Self-contained processor subsystem as component for system-on-chip design
US20090313622A1 (en) * 2008-06-11 2009-12-17 Microsoft Corporation Synchronizing queued data access between multiple gpu rendering contexts
US20120081377A1 (en) * 2010-10-01 2012-04-05 Sowerby Andrew M Graphics System which Measures CPU and GPU Performance
WO2014178450A1 (ko) * 2013-04-30 2014-11-06 전자부품연구원 Cpu와 gpu 간의 협업 시스템 및 그 방법
CN103713938A (zh) * 2013-12-17 2014-04-09 江苏名通信息科技有限公司 虚拟化环境下基于OpenMP的多GPU协同计算方法

Also Published As

Publication number Publication date
KR20160071237A (ko) 2016-06-21
KR102106890B1 (ko) 2020-05-07
TW201626214A (zh) 2016-07-16

Similar Documents

Publication Publication Date Title
US11087531B2 (en) System and method for determining geo-location(s) in images
US10068344B2 (en) Method and system for 3D capture based on structure from motion with simplified pose detection
ATE491191T1 (de) Objektverfolgungs-system mit mehreren kameras
US11504608B2 (en) 6DoF inside-out tracking game controller
WO2020101156A1 (ko) 정사영상에 기반한 센서 탑재 이동형 플랫폼의 기하 보정 시스템
JP2010276433A (ja) 撮像装置、画像処理装置及び距離計測装置
CN111811462A (zh) 极端环境下大构件便携式视觉测距系统及方法
Li Real-time spherical stereo
WO2020189909A2 (ko) 3d-vr 멀티센서 시스템 기반의 도로 시설물 관리 솔루션을 구현하는 시스템 및 그 방법
CN112330747A (zh) 基于无人机平台的多传感器联合探测和显示方法
WO2022059937A1 (ko) 로봇 및 그의 제어 방법
WO2016093428A1 (ko) 소형통합제어장치
JPWO2022044187A5 (ko)
WO2011047508A1 (en) Embedded vision tracker and mobile guiding method for tracking sequential double color beacons array with extremely wide-angle lens
WO2016093427A1 (ko) 소형통합제어장치
WO2023049590A1 (en) Keypoint detection and feature descriptor computation
Gao et al. Development of a high-speed videogrammetric measurement system with application in large-scale shaking table test
CN113781573A (zh) 一种基于双目折反射全景相机的视觉里程计方法
US20240153245A1 (en) Hybrid system for feature detection and descriptor generation
US20240177329A1 (en) Scaling for depth estimation
Ni et al. Large field of view cooperative infrared and visible spectral sensor for visual odometry
WO2024097469A1 (en) Hybrid system for feature detection and descriptor generation
Li et al. Structured light self-calibration algorithm based on random speckle
WO2024112458A1 (en) Scaling for depth estimation
Chang et al. An Automatic Indoor Positioning Robot System Using Panorama Feature Matching.

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

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

Country of ref document: EP

Kind code of ref document: A1