WO2013157685A1 - 스테레오 카메라를 이용한 3차원 동작 인식장치 및 인식방법 - Google Patents
스테레오 카메라를 이용한 3차원 동작 인식장치 및 인식방법 Download PDFInfo
- Publication number
- WO2013157685A1 WO2013157685A1 PCT/KR2012/003182 KR2012003182W WO2013157685A1 WO 2013157685 A1 WO2013157685 A1 WO 2013157685A1 KR 2012003182 W KR2012003182 W KR 2012003182W WO 2013157685 A1 WO2013157685 A1 WO 2013157685A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- basic position
- image
- setting
- pointer
- stereo camera
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/002—Specific input/output arrangements not covered by G06F3/01 - G06F3/16
- G06F3/005—Input arrangements through a video camera
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/285—Analysis of motion using a sequence of stereo image pairs
Definitions
- the present invention relates to a three-dimensional motion recognition apparatus and a recognition method that can recognize and inform a three-dimensional gesture of a user using a stereo camera, and more particularly, by setting a basic position for motion recognition
- the present invention relates to a recognition apparatus and a recognition method for reducing errors.
- computers including computers, to recognize patterns of movement beyond simply recording human movements could be a new innovation in information technology.
- it may be a fragmentary example that recent game devices detect a user's motion and proceed with the game in response to the motion.
- the technology for recognizing the user's three-dimensional gesture is difficult to guess the limit of the range of application, including various robots, as well as the user interface area for general information equipment.
- An object of the present invention is to provide a three-dimensional gesture recognition apparatus and a recognition method that can recognize and inform the three-dimensional gesture of the user using a stereo camera.
- a three-dimensional motion recognition method using a stereo camera to achieve the above object comprises the steps of setting a basic position at a predetermined distance in front of the stereo camera; Generating a stereo image by photographing a moving object with the stereo camera; Calculating depth map data for each pixel in the stereo image; Extracting an area of the moving object from the stereo image; Determining whether the object is at the basic position by determining whether the extracted object region belongs to a pixel region of the set basic position and a depth to the object falls within a depth range of the basic position; Recognizing a pointer to be a motion recognition target in an object area of the image through image processing of the image when the object is in a basic position; Tracking the change of the position of the pointer in the three-dimensional space by performing the calculating of the depth map data or recognizing a pointer for each image frame continuously generated in the generating step; And calculating and outputting information on the three-dimensional moving direction of the pointer by using the changed three-dimensional spatial position information of the tracked pointer.
- the recognizing of the pointer may be performed within a preset recognition range from the basic position to recognize the pointer.
- the setting of the basic position may include: receiving a basic position setting command from a user, photographing an object for basic position setting with the stereo camera, generating a stereo image, and calculating depth map data; Extracting the setting object from the stereo image; And setting the basic position by setting a pixel region including the extracted setting object region as the pixel region of the basic position and setting a depth range of the basic position based on a depth value of the extracted setting object region. It is preferably carried out including the step.
- the pixel region of the basic position may be, for example, a rectangle or an ellipse, and the depth range of the basic position may be a preset error range added to an average value of the depths of the extracted region of the setting object.
- the basic position setting unit for setting the basic position at a predetermined distance in front of the stereo camera;
- a stereo camera unit generating a stereo image by photographing a moving object with a stereo camera;
- a distance information calculator configured to calculate depth map data of each pixel in each frame of the stereo image which is continuously input from the stereo camera unit and determine whether a depth to the object belongs to a depth range of the basic position;
- An object extractor which extracts the moving object from each of the image frames and determines whether the extracted object area belongs to a pixel area of the set basic position;
- a process of recognizing a pointer to be a motion recognition target among the object regions extracted by the object extracting unit is performed for each of the image frames.
- a motion tracking unit tracking a change in position of the pointer in three-dimensional space;
- a motion information output unit for calculating and outputting information on the three-dimensional moving direction
- the motion recognition apparatus of the present invention may recognize three-dimensional gestures of humans that may occur arbitrarily in a three-dimensional space, and generate information regarding a direction and a speed at which a specific human body part moves.
- the present invention by setting a basic position for motion recognition and limiting a recognition range based on the basic position, only the motion of a specific user in front of the camera can be distinguished and recognized, and a motion other than the user or a motion outside the recognition range can be recognized. Since the image processing is not performed on the BER, the error of motion recognition can be reduced and the desired purpose can be achieved even with a relatively small capacity system.
- FIG. 1 is a block diagram of a gesture recognition system according to an embodiment of the present invention.
- FIG. 5 is a diagram illustrating an image processing result for the images photographed in FIG. 4;
- FIG. 9 is a diagram conceptually showing a recognition range PZ when the basic position P is set to a surface.
- the gesture recognition apparatus 100 may include a stereo camera unit 110 and an image processor 130 to recognize a user's three-dimensional motion in a three-dimensional space.
- the motion recognition apparatus 100 of the present invention photographs the user using a stereo camera as shown in FIG. 4, and recognizes the user's three-dimensional gesture through image processing of the photographed image.
- the recognition of the three-dimensional gesture means information about a moving direction, a moving distance, and a speed of a human body part (hereinafter, referred to as a 'pointer') of the user's body to be tracked (hereinafter, 'motion information' Means to create the
- the pointer may mean a part of the body such as a hand, an arm, a foot, a leg, a head, a finger, and may be a plurality of parts, such as two hands.
- the direction of movement includes rotation as well as any direction including up / down / left / right / front / rear in a three-dimensional virtual space with respect to the camera view.
- the user moves his or her hand up and down. If the user's hand is set as a pointer in the gesture recognition apparatus 100, the gesture recognition apparatus 100 recognizes that the user's hand has moved at a certain speed by a certain distance in the Y direction and generates the information.
- the motion recognition apparatus 100 includes a stereo camera to generate a stereo image for the user and perform image processing.
- the gesture recognition apparatus 100 may include a stereo camera unit 110 and an image processor 130 to recognize a three-dimensional motion of a user's human pointer in a three-dimensional space.
- the stereo camera unit 110 includes a first camera 111, a second camera 113, and an image receiver 115.
- the first camera 111 and the second camera 113 are a pair of cameras spaced apart from each other to photograph the same area, and are called a stereo camera.
- the first camera 111 and the second camera 113 output an analog image signal photographing an area to the image receiver 115.
- the stereo camera may be used to extract the actual distance to the subject.
- the image receiver 115 converts a video signal (or image) of a continuous frame input from the first camera 111 and the second camera 113 into a digital image and synchronizes the frame to the image processor 130 in synchronization with the frame. to provide.
- the first camera 111 and the second camera 113 of the stereo camera unit 110 may be a camera that generates a digital video signal instead of an analog image.
- the image receiver 115 may be different. It provides an interface with the image processor 130 without conversion processing and serves to match frame synchronization of a pair of images.
- the image processor 130 recognizes the user's pointer by using the digital stereo image continuously output from the stereo camera unit 110 and recognizes the user's three-dimensional motion by tracking the movement of the pointer.
- the image processor 130 may include the distance information calculator 131, the object extractor 133, the object recognizer 135, the motion tracker 137, the motion information output unit 139, and the basic position.
- the setting unit 141 is included. First, operations of the distance information calculator 131, the object extractor 133, the object recognizer 135, the motion tracker 137, and the motion information output unit 139 will be described with reference to FIG. 2.
- the first camera 111 and the second camera 113 are arranged to photograph a specific space.
- the image receiver 115 converts the analog image signal into a digital image signal and then provides the image processor 130 in synchronization with a frame. (S201).
- Motion recognition is performed in the order of (1) extracting moving objects, (2) determining whether an object is a human body, and (3) tracking a preset pointer part in the case of a human body, and (4) generating motion information for a pointer.
- measured distance information from the first and second cameras 111 and 113 to the corresponding object is required.
- the distance information calculator 131 obtains distance information of the capsular body captured by each pixel in units of pixels using a pair of digital images received in real time from the image receiver 115, and then uses a three-dimensional depth map. Compute (3D Depth Map) data. Therefore, the depth map data includes distance information to the subject or the background for each pixel.
- the distance information of each pixel is binocular difference information obtained by a stereo matching method known in the art, and "image matching method using multiple image lines" of Korean Patent No. 0517876 or "3D object” of Korean Patent No. 0601958.
- the depth map data calculated by the distance information calculator 131 can be calculated using the graph cut algorithm presented in the binocular difference estimation method for recognition. Contains information about the actual distance.
- the object extractor 133 extracts an area of a moving object by performing image processing on one image (or both images) of a pair of digital images input through the image receiver 115.
- Applicant has already applied for patent applications 10-2010-0039302 and 10-2010-0039366 relating to a method for recognizing a moving object, especially a person, using a stereo camera.
- the extraction of the moving object is performed by obtaining a differential image obtained by subtracting a background image from a newly input image.
- the background image may be a fixed value, but even if the image includes the region determined as the moving object, the background image may be the background image if the pointer is not recognized.
- the basic background image used to obtain the depth map data or the area or representative length of the object to be described below using the depth map data should be a preset image.
- the object extractor 133 and the object recognizer 135 first determine whether the extracted object is a human body. For example, it is determined whether the object is a human, an animal, or an object.
- the object extractor 133 detects the outline of the object from the difference image, and the object recognizer 135 calculates the outline and distance information calculator 131 of the object extracted by the object extractor 133.
- the depth map data is used to determine the area of the object or the representative length of the object.
- the object recognition unit 135 may determine whether the extracted object is a human body by determining whether the calculated area or representative length of the object falls within a preset area or length range of the human body.
- the motion tracker 137 extracts a media axis of an object having a width of 1 pixel by applying a skeletonization or thinning algorithm to the object extracted by the object extractor 133.
- a skeletonization or thinning algorithm As the skeletalization algorithm, various known methods such as a Medial Axis Transform (MAT) algorithm using an outline or Zhang Suen algorithm can be applied.
- MAT Medial Axis Transform
- the central axis a of the object is a set of points having a plurality of boundary points among the respective points (or pixels) in the object R as shown in FIG. 3.
- the boundary point refers to a point closest to the point in the object among the points on the outline B, and the points b1 and b2 on the outline become the boundary point of the point P1 in the object R. Therefore, the central axis algorithm is a process of extracting points having a plurality of boundary points and may be expressed as in Equation 1 below.
- P ma is a central axis represented by a set of x
- x is a point present in the object R
- b min (x) is the number of boundary points of the point x.
- the central axis is a set of points x whose number of boundary points is greater than one.
- the structure of the skeleton may be somewhat changed according to a method of obtaining a distance from an internal point x to an arbitrary pixel on the outline (for example, 4-Distance, 8-Distance, Euclidean Distance, etc.). .
- the center line may be extracted by extracting a peak value of the Gaussian value for the object, and in this case, the edge detection of step S207 may be omitted.
- the motion tracking unit 137 recognizes the pointer using the central axis information. Since the pointer is preferably located at the end of the centerline of the human body, such as the head, hands, and feet, the pointer recognition of the motion tracker 137 may correspond to the end of the centerline of the extracted object.
- the motion tracking unit 137 Since motion recognition assumes movement, if the pointer recognized by the motion tracking unit 137 does not move, there is no information on the corresponding motion. Therefore, the motion tracking unit 137 repeatedly performs the image processing of steps S203 to S209 for all image frames generated in step S201 and continuously inputted until the tracking is finished until the pointer is recognized. It is determined whether the movement (S211).
- the pointer tracking of the motion tracking unit 137 is inputted in a chronological manner, as shown in FIG. Corresponds to tracking the movement of the end of the centerline in the image of.
- FIG. 5 exemplarily illustrates an image processing result of images of the user photographed in FIG. 4.
- images M1, M2, and M3 obtained by sequentially processing image lines and extracting the center lines M1, M2, and M3 are illustrated, and two hands of the user are pointers m11, m12, m21, m22, m31, and m32. If set to). Accordingly, the motion tracker 137 tracks the movement of the two ends m11, m12, m21, m22, m31, and m32 of the center line in each of the images M1, M2, and M3.
- the motion tracking unit 137 extracts the position information of each of the pointers m11, m12, m21, m22, m31, and m32 from the image of each frame that is continuously input and processed and provides the motion information output unit 139.
- the position information includes the coordinates of the pointer (or the pixel) in the image and the depth at the corresponding coordinate pixel.
- the depth is extracted from the depth map data calculated by the distance information calculator 131 for the corresponding image frame.
- the pointer tracking of the motion tracking unit 137 continues while the pointers m11, m12, m21, m22, m31, and m32 are moved.
- the motion information output unit 139 is based on the location information of each of the pointers m11, m12, m21, m22, m31, and m32 in the image of each frame provided by the motion tracker 137, and the direction of movement of the pointer.
- the motion information of the pointer including the actual moving distance is calculated.
- the motion information output unit 139 calculates a moving speed based on the image frame period.
- the direction of movement can naturally be extracted by drawing the movement vector of the pointer in the three-dimensional virtual space with the coordinates of the pointer and the depth information of the coordinates.
- the actual moving distance of the pointer may use the horizontal distance, the vertical distance, and the depth map data per unit pixel of the pointer coordinate pixel.
- the distance per unit pixel may use Equation 6 below. Equation 6 is the vertical length of each pixel, but the horizontal length may be obtained in the same manner.
- a motion recognition method using a stereo camera of the 3D motion recognition apparatus 100 of the present invention is performed.
- the object extractor 133 detects the outline of the moving object by performing outline detection on the result of the subtraction operation of step S205. Edge detection is handled using different types of edges, depending on the borderline width and shape of the object.
- the object extractor 133 may remove a noise by applying a morphology operation to a subtraction image and simplify an outline or a skeleton line to detect an outline.
- the morphology operation can basically use erosion operation to remove noise and dilation operation to fill small holes in an object.
- the actual area per pixel (hereinafter, referred to as a 'unit area' of a pixel) at a distance (do) at which the object is extracted in operation S203 is obtained, and then the pixel included in the outline of the object is calculated. This is done by multiplying numbers.
- the actual area Nmax corresponding to the entire frame at the maximum depth D based on the basic background image, and the actual area N corresponding to the entire frame at the position of the extracted object do ( do) is displayed.
- the actual area N (do) corresponding to the entire frame at a distance do where the object is located may be obtained as in Equation 2 below.
- Nmax is an actual area corresponding to the entire frame (eg, 720 ⁇ 640 pixels) at the maximum distance do based on the existing background image.
- the object area is included in the object area.
- the unit area N p (do) of the pixel is obtained as in Equation 3 below.
- N p (do) depends on the distance do to the corresponding object confirmed from the distance information of the 3D depth map data.
- the area of the object can be obtained as shown in Equation 4 by multiplying the unit area N p (do) of the pixel by the number qc of the pixels included in the outline as described above.
- qc is the number of pixels included in the object.
- the representative length of the object is obtained using the depth map data.
- the representative length of the object is a value calculated from an image as an actual length of an object set to represent the object, and may correspond to an actual length of a central axis, an actual width of an object, or an actual height of an object.
- the representative length of the object is affected by the position of the camera, the shooting angle, and the characteristics of the shooting area.
- the calculation of the actual length of an object is a method of obtaining the actual length per pixel (hereinafter referred to as the 'unit length' of a pixel) at a distance (do) where the object is located, and then multiplying the number of pixels representing the object. Is done.
- the number of pixels representing the object may correspond to the number of pixels forming the central axis, the number of pixels to be the width or height of the object.
- the width or height of the object as the number of pixels representing the object, can be obtained through the range of the x-axis coordinate or the y-axis coordinate of the object area, and the length of the central axis is, for example, the number of pixels included in the central axis. It can be obtained by adding.
- the unit length of a particular pixel varies from pixel to pixel (exactly depending on the depth of the pixel), and can be obtained as follows with reference to FIG. 6.
- the size of the image frame is 720x640 pixels.
- the corresponding actual length L (do) is indicated.
- the actual length L (do) corresponding to the vertical axis (or the horizontal axis) of the entire frame at the depth do where the object is located may be obtained as in Equation 5 below.
- L (do) is the actual length corresponding to the vertical axis (or horizontal axis) of the entire frame at the depth do
- Lmax is the vertical axis (or horizontal axis) of the entire frame at the maximum depth D based on the existing background image. The corresponding actual length.
- L p (do) is the unit length of the pixel included in the object region located at the depth do
- Qy is the number of pixels along the vertical axis of the entire frame.
- the vertical axis of the unit pixel used to calculate the movement distance of the pointer obtained in step S215 may be used as it is, and the horizontal axis length is obtained by inputting the horizontal axis Qx of the entire frame instead of Qy in Equation 6. It can be done.
- the object recognition unit 135 calculates the representative length of the object.
- the representative length of the object may be calculated by Equation 7 by multiplying the unit length L p (do) of the pixel by the number qo of the pixels representing the object.
- qo is the number of pixels representing the object.
- the recognition method based on FIGS. 1 to 6 is applied as it is.
- the embodiment is applied when it is necessary to recognize only the movement at a specific position and to not recognize the movement at a position other than the corresponding position as noise.
- the user should be at a predetermined position ('motion recognition basic position') in order to input his motion to the recognition apparatus 100 of the present invention.
- the act of positioning the user in the default position is the same as inputting the 'motion recognition start command' to the recognition device 100 that does not perform the motion recognition operation unless the 'motion recognition start command' is input.
- the motion of the user standing in the non-default position is not recognized and excluded.
- the basic position setting unit 141 receives a basic position from the user.
- the operation of the basic position setting unit 141 may be started by a separate 'basic position setting command'.
- the basic location setting command may be input to the basic location setting unit 141 by inputting a specific command or password or pressing a specific button through an input device (not shown) separately provided in the recognition device 100.
- the distance information calculating unit 131, the object extractor 133, and the object recognition unit 135 perform any motion recognition. I never do that.
- the 'motion recognition basic position' is a user's position for motion recognition. After setting the basic position, the recognition apparatus 100 performs the motion recognition operation of FIG. 2 only when the user is located at the basic position.
- 'Motion recognition basic position' may be any position as long as it belongs to the viewing range of the stereo camera unit 110, but preferably located at the gaze point of the stereo camera unit 110.
- the user After the user inputs the basic position setting command, the user may be positioned at an arbitrary position in front of the stereo camera unit 110 to set the 'motion recognition basic position'.
- the image input through the stereo camera unit 110 performs the depth map data by performing the steps S201 to S205 described above by the distance information calculator 131 and the object extractor 133. Extract the object area with
- FIG. 8A illustrates one of a pair of images generated by the stereo camera unit 110
- FIG. 8B removes a background image based on the image of FIG. Figure extracted.
- FIG. 8A illustrates one of a pair of images generated by the stereo camera unit 110
- FIG. 8B removes a background image based on the image of FIG. Figure extracted.
- the 'Motion recognition basic position' is set based on the position in the 3D space designated by the user, and the setting object area (pixel range) and distance information for setting extracted by the object extractor 133 to set the 3D space is calculated. It is set based on the distance to the basic position generated by the unit 131.
- the pixel range is an area corresponding to the basic position in the image and includes the direction of the basic position and the size information of the setting object.
- the basic position setting unit 141 may recognize the three-dimensional space as it is, it is preferable to simply set the surface (or space) to replace the three-dimensional space.
- the user stands at the motion recognition basic position to be set.
- the basic position setting unit 141 adds the area of the setting object area X extracted by the object extractor 133 to the preset margin pixel plus the basic position P.
- the basic position (P) is preferably a form such as a rectangle or an ellipse irrespective of the shape of the setting object extracted by the object extraction unit 133. If the setting object area X extracted by the object extractor 133 is used as it is, it is not suitable because the user may not have the same form every time.
- the basic position setting unit 141 obtains an average of the depth values of the pixels included in the setting object area and converts the average value into the depth (distance) of the basic position P. Can be set. Naturally, it is preferable to set the depth of the basic position P to the depth range which added the error range of a certain degree to the depth of the basic position P.
- the basic position setting unit 141 defaults to the minimum value and the maximum value of the depth values of the pixels included in the setting object area among the depth map data generated by the distance information calculator 131. You can set the depth range of the location.
- the basic position setting unit 141 sets a space belonging to a certain distance range from the basic position set in step S709 as a 'motion recognition range'.
- FIG. 9 is a diagram conceptually showing the recognition range PZ when the basic position P is set to a rectangular plane.
- the recognition range may include all of the front, left and right sides, the front upper side and the rear side of the basic position P, and the rear side of the basic position P is not included in the recognition range.
- the recognition range PZ is sufficient if it is within the range set from the basic position, and may have any form, and is not necessarily limited to the form of FIG.
- the distance information calculator 131 may first determine whether the average depth value of the setting object region is included in the preset error range from the depth value of the preset basic position using the generated depth map data.
- the object recognition unit 135 determines whether the user is in the basic position by performing a second determination whether the setting object region extracted by the object extractor 133 is included in the pixel region of the basic position P previously set. do.
- the setting object area extracted for motion recognition is included in the pixel area of the preset base level P in a predetermined ratio (for example, 70%) or more, the setting object is set to the base position P. Can be determined to be located at.
- the motion tracking unit 137 in steps S209 and S211 recognizes and tracks only the movement of the pointer in the recognition range PZ.
- step S209 If the result of the image processing does not pass either the first judgment or the second judgment and the user is not determined to be in the default position, the process does not proceed to step S209.
- the present invention can reduce the error of motion recognition and relatively small capacity of the system, such a configuration is implemented in a three-dimensional space recognition device can be applied to a user interface, such as a game, it is obvious that it is industrially available. I will say.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
Abstract
스테레오 카메라를 이용한 3차원 동작 인식장치 및 인식방법이 개시된다. 본 발명에 의한 3차원 동작 인식장치는 스테레오 카메라를 이용하여 추적하고자 하는 인체의 특정 부분인 포인터의 실제 위치와 이동방향, 이동거리 및 속도를 계산하는 방법으로 포인터의 움직임에 대한 정보를 계산할 수 있다. 나아가, 본 발명은 모션 인식을 위한 기본위치를 설정하고, 그 기본위치에 근거한 인식범위를 한정함으로써 카메라 전방의 특정 사용자의 모션 만을 인식할 수 있도록 한다.
Description
본 발명은, 스테레오 카메라를 이용하여 사용자의 3차원 몸짓을 인식하여 정보화할 수 있는 3차원 동작 인식장치 및 인식방법에 관한 것으로, 더욱 상세하게는 모션인식을 위한 기본 위치를 설정하여 모션 인식과정의 오류를 줄일 수 있는 인식장치 및 인식방법에 관한 것이다.
컴퓨터를 포함하는 기계장치가 인간의 동작을 단순히 기록하는 것을 넘어 그 동작의 패턴을 인식할 수 있다는 것은 정보 기술의 새로운 혁신이 될 수 있을 것이다. 예컨대, 최근의 일부 게임기기가 사용자의 동작을 감지하여 그 동작에 반응하는 형태로 게임을 진행하는 것은 그 단편적인 예가 될 것이다.
이처럼, 사용자의 3차원 몸짓을 인식하는 기술은 일반적인 정보기기를 위한 사용자 인터페이스 영역뿐만 아니라 각종 로봇 등을 포함하여 그 활용범위의 한계를 미루어 짐작하기 힘든 정도이다.
이 분야에 대하여 종래에 이미 연구가 있었으나, 아직까지는 사용자가 별도의 착용 가능한 인터페이스 수단(Wearable Interface)을 사용하는 정도의 솔루션이 대부분이며, 카메라를 이용하여 사용자의 몸짓을 직접 해석하는 형태의 솔루션은 아직 제시되지 못한 상태이다. 그러나, 모니터나 홀로그램의 형태로 표시되는 3차원 입체 영상을 보면서 그 입체 영상으로 표시된 기기를 가상으로 조작하는 것과 같은 공상과학 영화 등에서나 나오던 것이 실제로 실현될 날도 멀지 않은 것만은 분명하다.
본 발명의 목적은 스테레오 카메라를 이용하여 사용자의 3차원 몸짓을 인식하여 정보화할 수 있는 3차원 동작 인식장치 및 인식방법을 제공함에 있다.
상기 목적을 달성하기 위한 스테레오 카메라를 이용한 3차원 동작 인식방법은, 스테레오 카메라 전방의 일정한 거리에 기본위치를 설정하는 단계; 움직이는 객체를 상기 스테레오 카메라로 촬영하여 스테레오 영상을 생성하는 단계; 상기 스테레오 영상에서의 각 픽셀에 대한 심도 맵 데이터를 계산하는 단계; 상기 스테레오 영상에서 상기 움직이는 객체의 영역을 추출하는 단계; 상기 추출한 객체 영역이 상기 설정된 기본위치의 픽셀 영역에 속하고, 상기 객치까지의 심도가 상기 기본위치의 심도 범위에 속하는지 판단하여 상기 객체가 상기 기본 위치에 있는지 판단하는 단계; 상기 객체가 기본위치에 있는 경우에, 상기 영상에 대한 영상처리를 통해 상기 영상의 객체 영역 중에서 모션인식 대상이 되는 포인터를 인식하는 단계; 상기 생성하는 단계에서 연속적으로 생성되는 영상 프레임 각각에 대해, 상기 심도 맵 데이터를 계산하는 단계 내지 포인터를 인식하는 단계를 수행하여 상기 포인터의 3차원 공간상의 위치 변화를 추적하는 단계; 및 상기 추적된 포인터의 변화된 3차원 공간상 위치 정보를 이용하여, 상기 포인터의 3차원상 이동방향에 대한 정보를 계산하고 출력하는 단계를 포함한다.
실시 예에 따라, 상기 포인터를 인식하는 단계는 상기 기본위치로부터 기 설정된 인식 범위 내에서 수행하여 상기 포인터를 인식할 수 있다.
여기서, 상기 기본위치를 설정하는 단계는, 사용자로부터 기본위치설정명령을 입력받고, 기본 위치 설정용 객체를 상기 스테레오 카메라로 촬영하여 스테레오 영상을 생성하고 심도 맵 데이터를 계산하는 단계; 상기 스테레오 영상에서 상기 설정용 객체를 추출하는 단계; 및 상기 추출한 설정용 객체의 영역을 포함하는 픽셀 영역을 상기 기본위치의 픽셀 영역으로 설정하고, 상기 추출한 설정용 객체 영역의 심도 값을 기준으로 상기 기본위치의 심도 범위를 설정함으로써 상기 기본위치를 설정하는 단계를 포함하여 수행되는 것이 바람직하다.
한편, 상기 기본위치의 픽셀 영역은, 예컨대 사각형 또는 타원이면서, 상기 기본위치의 심도 범위는 상기 추출한 설정용 객체의 영역의 심도의 평균값에 기 설정된 오차 범위를 더한 것일 수 있다.
본 발명의 다른 실시 예에 따른 스테레오 카메라를 이용한 3차원 동작 인식장치는, 스테레오 카메라 전방의 일정한 거리에 기본위치를 설정하는 기본위치설정부; 움직이는 객체를 스테레오 카메라로 촬영하여 스테레오 영상을 생성하는 스테레오카메라부; 상기 스테레오카메라부로부터 연속적으로 입력되는 상기 스테레오 영상의 각 프레임에서의 각 픽셀에 대한 심도 맵 데이터를 계산하여 상기 객치까지의 심도가 상기 기본위치의 심도 범위에 속하는지 판단하는 거리정보계산부; 상기 영상 프레임 각각에서 상기 움직이는 객체를 추출하여, 상기 추출한 객체 영역이 상기 설정된 기본위치의 픽셀 영역에 속하는지 판단하는 객체추출부; 상기 객체가 상기 기본 위치의 심도 범위에 있고 상기 설정된 기본위치의 픽셀 영역에 속하는 경우에, 상기 객체추출부가 추출한 객체 영역 중에서 모션인식 대상이 되는 포인터를 인식하는 과정을 상기 영상 프레임 각각에 대해 수행하여 상기 포인터의 3차원 공간상의 위치 변화를 추적하는 모션추적부; 및 상기 추적된 포인터의 변화된 3차원 공간상 위치 정보를 이용하여, 상기 포인터의 3차원상 이동방향에 대한 정보를 계산하고 출력하는 모션정보출력부를 포함한다.
본 발명의 동작 인식장치는 3차원 공간 내에서 임의적으로 발생할 수 있는 인간의 3차원 몸짓을 인식하여, 특정 인체 부분이 움직이는 방향 및 그 속도에 관한 정보를 생성할 수 있다.
본 발명은 모션 인식을 위한 기본위치를 설정하고, 그 기본 위치에 근거한 인식 범위를 한정함으로써 카메라 전방의 특정 사용자의 모션 만을 구분하여 인식할 수 있고, 그 사용자 이외의 모션이나 그 인식범위를 벗어난 모션에 대하여는 영상처리를 수행하지 않으므로 모션 인식의 오류를 줄이고 상대적으로 작은 용량의 시스템으로도 원하는 목적을 달성할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 동작 인식 시스템의 블록도,
도 2는 본 발명의 3차원 동작 인식방법의 설명에 제공되는 흐름도,
도 3은 객체의 중심축 추출에 제공되는 도면,
도 4는 본 발명의 인식 시스템의 실제 동작상태를 예시적으로 도시한 도면,
도 5는 도 4에서 촬영한 영상들에 대한 영상처리 결과를 예시적으로 도시한 도면,
도 6은 객체의 면적 및 대표 길이의 계산에 제공되는 도면,
도 7은 본 발명의 모션인식 기본위치 설정방법의 설명에 제공되는 흐름도,
도 8은 본 발명의 모션인식 기본위치 설정방법의 설명에 제공되는 도면, 그리고
도 9에는 기본위치(P)를 면으로 설정한 경우의 인식범위(PZ)를 개념적으로 도시한 도면이다.
이하 도면을 참조하여 본 발명을 더욱 상세히 설명한다.
도 1을 참조하면, 동작인식장치(100)는 스테레오카메라부(110) 및 영상처리부(130)를 포함하여 3차원 공간상에서의 사용자의 3차원 모션을 인식하게 된다.
본 발명의 동작인식장치(100)는 도 4에서처럼 스테레오 카메라를 이용하여 사용자를 촬영하게 되고, 그 촬영한 영상에 대한 영상처리를 통해 사용자의 3 차원 몸짓(Motion)을 인식한다. 여기서, 3차원 몸짓의 인식이라 함은, 사용자 인체 중에서 추적 대상이 된 인체 부분(이하 '포인터(Pointer)'라 함)의 움직이는 방향, 움직이는 거리 및 그 속도에 관한 정보(이하, '모션 정보'라 함)를 생성함을 의미한다. 또한, 포인터(Pointer)는 예컨대, 손, 팔, 발, 다리, 머리, 손가락과 같은 신체 일부분을 의미하며 '두 손'과 같이 복수의 부분이 될 수도 있다. 움직이는 방향은 카메라 뷰(View)를 기준으로 한 3차원 가상공간에서의 상/하/좌/우/전방/후방을 포함하는 임의의 방향뿐만 아니라 회전을 포함한다.
도 4에서의 사용자는 팔을 움직여 손을 상하로 움직이고 있다. 만약 동작인식장치(100)에 사용자 손이 포인터로 설정되어 있다면, 동작인식장치(100)는 사용자 손이 Y 방향으로 얼마의 거리만큼 얼마의 속도로 이동하였음을 인식하고 그 정보를 생성하게 된다.
이러한 동작을 위해, 동작인식장치(100)는 스테레오 카메라를 구비하여 사용자에 대한 스테레오 영상을 생성하고 영상 처리를 수행한다.
도 1을 참조하면, 동작인식장치(100)는 스테레오카메라부(110) 및 영상처리부(130)를 포함하여 3차원 공간상에서의 사용자의 인체 포인터의 3차원 모션을 인식하게 된다.
스테레오카메라부(110)는 제1 카메라(111), 제2 카메라(113) 및 영상수신부(115)를 포함한다.
제1 카메라(111) 및 제2 카메라(113)는 동일한 영역을 촬영하도록 상호 이격되어 설치된 한 쌍의 카메라들로서, 소위 스테레오 카메라라고 한다. 제1 카메라(111) 및 제2 카메라(113)는 영역을 촬영한 아날로그 영상신호를 영상수신부(115)로 출력한다. 이러한 스테레오 카메라를 이용하여 피사체까지의 실제 거리를 추출할 수 있다.
영상수신부(115)는 제1 카메라(111) 및 제2 카메라(113)에서 입력되는 연속적인 프레임의 영상신호(또는 이미지)를 디지털 영상으로 변환하고, 그 프레임 동기를 맞추어 영상처리부(130)에게 제공한다.
실시 예에 따라, 스테레오카메라부(110)의 제1 카메라(111)와 제2 카메라(113)는 아날로그 영상이 아닌 디지털 영상신호를 생성하는 카메라일 수 있으며, 이 경우 영상수신부(115)는 다른 변환처리없이 영상처리부(130)와의 인터페이스를 제공하며 한 쌍의 영상의 프레임 동기를 맞추는 역할을 한다.
영상처리부(130)는 스테레오카메라부(110)로부터 연속적으로 출력되는 디지털 스테레오 영상을 이용하여 사용자의 포인터를 인식하고 그 포인터의 움직임을 추적함으로써 사용자의 3차원 모션을 인식한다.
이상의 처리를 위해, 영상처리부(130)는 거리정보계산부(131), 객체추출부(133), 객체인식부(135), 모션추적부(137), 모션정보출력부(139) 및 기본위치 설정부(141)를 포함한다. 먼저, 도 2를 참조하여 거리정보계산부(131), 객체추출부(133), 객체인식부(135), 모션추적부(137) 및 모션정보출력부(139)의 동작을 설명한다.
먼저, 제1 카메라(111) 및 제2 카메라(113)는 특정 공간을 촬영하도록 배치된다. 제1 카메라(111) 및 제2 카메라(113)가 아날로그 영상신호를 생성하면, 영상수신부(115)가 해당 아날로그 영상신호를 디지털 영상신호로 변환한 다음 프레임 동기를 맞추어 영상처리부(130)에게 제공한다(S201).
<심도 맵 데이터 생성: S203 단계>
모션 인식은 (1) 움직이는 객체 추출, (2) 객체가 인체인지 판단, (3) 인체인 경우, 기 설정된 포인터 부분 추적 (4) 포인터에 대한 모션 정보 생성의 순서로 이루어진다. 여기서, 위 (2) 내지 (4)의 과정에는 제1 및 제2 카메라(111, 113)로부터 해당 객체까지의 실측 거리정보가 필요하다.
이를 위해, 거리정보계산부(131)는, 영상수신부(115)로부터 실시간으로 입력받는 한 쌍의 디지털 영상을 이용하여 각 픽셀에 포착된 파사체까지의 거리정보를 픽셀 단위로 구하여, 3차원 심도 맵(3D Depth Map) 데이터를 계산한다. 따라서 심도 맵 데이터는 각 픽셀마다의 피사체 또는 배경까지의 거리정보를 포함하게 된다.
여기서, 각 픽셀의 거리 정보는 종래에 알려진 스테레오 정합방법에 의해 구해지는 양안차 정보로서, 대한민국 등록특허 제0517876호의 "복수 영상 라인을 이용한 영상 정합 방법"이나 대한민국 등록특허 제0601958호의 "3차원 객체 인식을 위한 양안차 추정방법에 제시된 그래프 컷(Graph Cut) 알고리즘 등을 이용하여 계산할 수 있다. 따라서, 거리정보계산부(131)에서 계산한 심도 맵 데이터에는 각 픽셀에는 각 픽셀에 포착된 피사체까지의 실제 거리에 대한 정보가 포함된다.
<움직이는 객체의 추출 단계: S205 단계>
객체추출부(133)는 영상수신부(115)를 통해 입력되는 한 쌍의 디지털 이미지 중 어느 하나 이미지(또는 두 개 이미지 모두)에 대한 영상처리를 수행하여 움직이는 객체의 영역을 추출한다.
출원인은 이미 스테레오 카메라를 이용하여 움직이는 객체, 그 중에서도 특히 사람을 인식하는 방법에 관한 특허출원 제10-2010-0039302호 및 제10-2010-0039366호를 출원한 바 있다.
이에 의하면, 움직이는 객체의 추출은 새롭게 입력되는 영상에서 배경 영상을 뺀 차 영상(Different Image)를 구하는 방법으로 이루어진다. 다만, 본 발명에서 배경 영상은 고정 설정된 값일 수도 있으나, 움직이는 객체로 판단된 영역이 포함된 영상이더라도 포인터가 인식되지 않는 영상이라면 여기서의 배경 영상이 될 수 있다. 다만, 심도 맵 데이터를 구하거나, 심도 맵 데이터를 이용하여 아래에서 설명할 객체의 면적 또는 대표 길이를 구하기 위해 사용되는 기본 배경 영상은 기 설정된 영상이어야 한다.
<추출된 객체가 인체인지 판단: S207 단계>
객체가 추출되면, 객체추출부(133)와 객체인식부(135)는 추출된 객체가 인체인지 여부를 우선 판단한다. 예컨대, 해당 객체가 사람인지 동물인지 아니면 사물인지를 판단한다.
객체인식을 위해, 객체추출부(133)는 차 영상으로부터 객체의 외곽선을 검출하고, 객체인식부(135)는 객체추출부(133)가 추출한 객체의 외곽선과 거리정보계산부(131)가 계산한 심도 맵 데이터를 이용하여 객체의 면적 또는 객체의 대표 길이를 구한다.
객체인식부(135)는 계산된 객체의 면적 또는 대표 길이가 기 설정된 인체의 면적 또는 길이 범위 내에 속하는지를 판단하는 방법으로 추출된 객체가 인체인지를 판단할 수 있다.
객체의 외곽선 /면적 /대표 길이의 검출 및 계산에 대하여, 앞서 언급한 출원인의 특허출원 발명 제10-2010-0039302호 및 제10-2010-0039366호에는 외곽선 검출, 스테레오 카메라를 이용한 객체(특히, 사람)를 인식하는 방법에 관하여 제시하고 있으며, 그 방법에 대하여 아래에서 다시 설명한다.
<객체의 중심선을 이용한 포인터 인식: S209 단계>
모션추적부(137)는 객체추출부(133)가 추출한 객체에 대해 골격화 또는 세선화 알고리즘을 적용하여 1 픽셀의 폭을 가지는 객체의 중심축(Medial Axis)을 추출한다. 골격화 알고리즘에는 외곽선을 이용하는 중심축변환(MAT: Medial Axis Transform)알고리즘 또는 Zhang Suen 알고리즘과 같이 기 알려진 다양한 방식을 적용할 수 있다.
예컨대, 중심축 변환에 의할 경우, 객체의 중심축(a)은 도 3에서처럼 객체(R) 내의 각 점(또는 픽셀)들 중에서 복수 개의 경계점을 가지는 점들의 집합이다. 여기서, 경계점은 외곽선(B) 상의 점들 중에서 객체 내의 해당 점과의 거리가 가장 가까운 점을 말하는 것으로, 외곽선상의 점 b1, b2는 객체(R) 내의 점 P1의 경계점이 된다. 따라서, 중심축 알고리즘은 경계점이 복수 개인 점들을 추출하는 과정이 되며 다음의 수학식 1과 같이 표현될 수 있다.
여기서, Pma는 x의 집합으로 표시되는 중심축이고, x는 객체(R)내에 존재하는 점, bmin(x)는 점 x의 경계점의 수이다. 따라서, 중심축은 경계점의 수가 1보다 큰 점 x들의 집합이 된다. 여기서, 경계점을 계산하기 위해, 내부의 점 x에서 외곽선상의 임의의 픽셀까지의 거리를 구하는 방법(예컨대, 4-Distance, 8-Distance, Euclidean Distance 등)에 따라, 골격의 구조가 다소 바뀔 수 있다.
그 밖에도, 객체가 비교적 간단한 형태의 것인 경우, 객체에 대한 가우시안 값의 피크값을 추출하는 방법으로 중심선을 추출할 수 있으며, 이러한 알고리즘에 의할 경우 S207 단계의 외곽선 검출은 생략될 수도 있다.
모션추적부(137)는 객체의 중심축이 추출되면, 그 중심축 정보를 이용하여 포인터를 인식하게 된다. 포인터는 머리, 손, 발과 같이 인체의 중심선의 단부에 위치하는 것이 바람직하므로, 모션추적부(137)의 포인터 인식은 추출된 객체의 중심선의 단부를 인식하는 것에 해당할 수 있다.
<포인터의 움직임 추적: S211, S213 단계>
모션 인식은 움직임이 전제되므로, 모션추적부(137)가 인식한 포인터가 움직이지 않으면 해당 모션의 정보화도 없다. 따라서 일단 포인터가 인식된 후부터 추적이 종료될 때까지, 모션추적부(137)는 S201 단계에서 생성되어 연속적으로 입력되는 모든 영상 프레임에 대해, S203 내지 S209 단계의 영상처리를 반복 수행하면서 해당 포인터가 움직이는지를 판단한다(S211).
앞서 언급한 바와 같이, 포인터가 머리, 손, 발 중 적어도 하나에 지정된 경우, 모션추적부(137)의 포인터 추적은 도 5에 도시된 것처럼 연석적으로 입력되어 연속적으로 입력되어 영상처리된 각 프레임의 영상에서 중심선의 단부의 움직임을 추적하는 것에 해당한다.
도 5는 도 4의 사용자를 촬영한 영상들에 대한 영상처리 결과를 예시적으로 도시한 것이다. 도 5에는 순차적으로 영상처리되어 중심선(M1, M2, M3)이 추출된 영상(M1, M2, M3)이 도시되어 있으며, 사용자의 두 손이 포인터(m11, m12, m21, m22, m31, m32)로 설정된 경우이다. 따라서 모션추적부(137)는 각 영상(M1, M2, M3)에서 중심선의 두 단부(m11, m12, m21, m22, m31, m32)의 움직임을 추적한다.
도 5에서는 각 중심선(M1, M2, M3)에서 왼손에 해당하는 단부(m11, m21, m31)만이 움직이고 있으므로, 결국은 해당 포인터(m11, m21, m31)에 대한 모션 정보만이 생성될 것이다.
모션추적부(137)는 연속적으로 입력되어 영상처리된 각 프레임의 영상에서 포인터(m11, m12, m21, m22, m31, m32) 각각의 위치 정보를 추출하여 모션정보출력부(139)에게 제공한다. 여기서, 위치 정보는 영상에서의 포인터(또는 그 픽셀)의 좌표와, 해당 좌표 픽셀에서의 심도를 포함한다. 여기서, 심도는 해당 영상 프레임에 대하여 거리정보계산부(131)가 계산한 심도 맵 데이터로부터 추출한다. 이러한 모션추적부(137)의 포인터 추적은 포인터(m11, m12, m21, m22, m31, m32)가 움직이는 동안 계속된다.
<포인터의 모션정보 생성: S215 단계>
모션정보출력부(139)는 모션추적부(137)가 제공하는 각 프레임의 영상에서의 포인터(m11, m12, m21, m22, m31, m32) 각각의 위치정보를 기초로, 해당 포인터의 이동방향, 실제 이동거리를 포함하는 포인터의 모션 정보를 계산한다. 또한, 모션정보출력부(139)는 영상 프레임 주기에 기초하여 이동 속도를 계산한다.
이동 방향은 포인터의 좌표와 그 좌표의 심도 정보로 3차원 가상공간 상의 포인터의 이동 벡터를 그림으로써 당연히 추출할 수 있다.
포인터의 실제 이동 거리는 포인터 좌표 픽셀의 단위 픽셀당 가로방향 거리와 세로방향 거리, 그리고 심도 맵 데이터를 이용할 수 있다. 여기서, 단위 픽셀당 거리는 아래의 수학식 6 등을 이용할 수 있다. 수학식 6은 각 픽셀의 세로 길이이지만, 동일한 방법으로 가로 길이를 구할 수 있을 것이다.
앞서 설명한 바와 같이, 왼손 포인터(m11, m21, m31)만 움직이므로, 왼손 포인터(m11, m21, m31)에 대한 모션 정보만이 생성될 것이다.
이상의 방법으로 본 발명의 3차원 동작 인식장치(100)의 스테레오 카메라를 이용한 모션 인식방법이 수행된다.
이하에서는, S207 단계의 외곽선 검출, 객체의 면적 및 대표 길이 계산에 대하여 먼저 한 특허출원 제10-2010-0039302호 및 제10-2010-0039366호를 기초로 간단히 설명한다.
먼저, 추출된 객체의 외곽선 검출을 위해, 객체추출부(133)는 S205 단계의 뺄셈 연산의 결과 영상에서 외곽선 검출을 수행하여 움직이는 객체의 외곽선을 검출한다. 외곽선 검출은 객체의 경계선 넓이와 형태에 따라 여러 종류의 형태의 에지를 사용하여 처리된다.
객체추출부(133)는 외곽선 검출을 위해, 뺄셈 영상에 모폴로지(Morphology) 연산을 적용하여 잡음을 제거하고, 외각선이나 골격선을 간단하게 할 수 있다. 모폴로지 연산에는 기본적으로 잡음을 제거하는 침식(Erosion) 연산과 객체 내의 작은 구멍을 메우는 팽창(Dilation) 연산이 사용될 수 있다.
객체의 면적 계산은, S203 단계에서 추출된 객체가 위치한 거리(do)에서의 픽셀 당 실제 면적(이하, 픽셀의 '단위 면적'이라 함)을 구한 다음, 해당 객체의 외곽선 내부에 포함된 픽셀의 수를 곱하는 방법으로 이루어진다.
도 6을 참조하면, 기본 배경영상을 기준으로 최대 심도(D)에서의 전체 프레임에 대응하는 실제면적(Nmax)과, 추출된 객체의 위치(do)에서의 전체 프레임에 대응하는 실제면적 N(do)이 표시되어 있다. 먼저 해당 객체가 위치하는 거리(do)에서의 프레임 전체에 대응되는 실제면적 N(do)은 다음의 수학식 2와 같이 구할 수 있다.
여기서, Nmax은 기존 배경 영상을 기준으로 최대 거리(do)에서의 전체 프레임(예컨대, 720×640 픽셀)에 대응되는 실제 면적이다.
다음으로, 객체가 위치하는 거리(do)에서의 전체 프레임에 대응되는 실제 면적 N(do)을 프레임 전체의 픽셀 수(Q, 예컨대, 460,800=720×640)로 나눔으로써, 객체 영역에 포함된 픽셀의 단위 면적 Np(do)을 다음의 수학식 3과 같이 구한다.
여기서, Q는 전체 픽셀의 수이다. 수학식 3에 의하면, Np(do)은 3차원 심도 맵 데이터의 거리 정보로부터 확인한 해당 객체까지의 거리(do)에 따라 달라짐을 알 수 있다.
마지막으로, 객체의 면적은 앞에서 설명한 것처럼 픽셀의 단위 면적 Np(do)에 해당 외곽선 내부에 포함되는 픽셀의 수(qc)를 곱함으로써 다음의 수학식 4와 같이 구할 수 있다.
여기서, qc는 객체에 포함된 픽셀의 수이다.
이하에서는 객체의 대표 길이를 계산하는 과정에 대하여 간단히 설명한다.
수학식 1을 중심으로 설명한 바와 같이 중심선이 추출되면, 심도 맵 데이터를 이용하여 객체의 대표 길이를 구한다. 객체의 대표 길이는 객체를 대표하는 것으로 설정된 객체의 실제 길이로서 영상으로부터 계산된 값이며, 중심축의 실제 길이, 객체의 실제 폭 또는 객체의 실제높이 등이 해당할 수 있다. 다만, 객체의 대표 길이는 카메라의 위치, 촬영각도 및 촬영영역의 특성 등에 따라 영향을 받게 된다.
나아가, 객체의 실제길이의 계산은, 객체가 위치한 거리(do)에서의 픽셀 당 실제 길이(이하, 픽셀의 '단위 길이'라 함)를 구한 다음, 해당 객체를 대표하는 픽셀의 수를 곱하는 방법으로 이루어진다. 여기서, 객체를 대표하는 픽셀의 수는 앞서 중심축을 형성하는 픽셀의 수, 해당 객체의 폭이나 높이가 되는 픽셀의 수 등이 해당할 수 있다.
객체를 대표하는 픽셀의 수로서의, 객체의 폭이나 높이는 객체 영역의 x축좌표의 범위 또는 y축좌표의 범위를 통해 구해질 수 있으며, 중심축의 길이는 예컨대 중심축에 포함된 픽셀의 수를 모두 더함으로써 구할 수 있다.
특정 픽셀의 단위 길이는 픽셀마다(정확하게는 픽셀의 심도에 따라) 달라지며, 도 6를 참조하여 다음과 같이 구할 수 있다. 여기서, 설명의 편리를 위해, 영상 프레임의 크기를 720×640 픽셀이라 가정한다.
도 6에서, 기본 배경영상을 기준으로 최대 심도(D)에서의 전체 프레임의 세로축(또는 가로축)에 대응하는 실제길이 Lmax와, 추출된 객체의 위치 l에서의 전체 프레임의 세로축(또는 가로축)에 대응하는 실제길이 L(do)가 표시되어 있다. 먼저 해당 객체가 위치하는 심도 do에서의 프레임 전체의 세로축(또는 가로축)에 대응되는 실제길이 L(do)는 다음의 수학식 5와 같이 구할 수 있다.
여기서, L(do)는 심도 do에서의 프레임 전체의 세로축(또는 가로축)에 대응되는 실제 길이이고, Lmax는 기존 배경영상을 기준으로 최대 심도(D)에서의 전체 프레임의 세로축(또는 가로축)에 대응되는 실제 길이다.
다음으로, 객체가 위치하는 거리(do)에서의 전체 프레임의 세로축(또는 가로축)에 대응되는 실제 길이 L(do)을 프레임 전체의 세로축(또는 가로축)의 픽셀 수(Qx, Qy, 예에서 Qx=720, Qy=640)로 나눔으로써, 객체 영역에 포함된 픽셀의 단위 길이 Lp(do)을 다음의 수학식 6과 같이 구할 수 있다.
여기서, Lp(do)는 심도 do에 위치한 객체 영역에 포함된 픽셀의 단위 길이, Qy는 프레임 전체의 세로축의 픽셀 수이다. 수학식 6에 의하면, Lp(do)은 3차원 심도 맵 데이터의 거리 정보로부터 확인한 해당 객체까지의 심도(do)와 맵 데이터 상의 최대 심도에 따라 달라짐을 알 수 있다.
앞서, S215 단계에서 구하는 포인터의 이동 거리를 계산하기 위해 사용되는 단위 픽셀의 세로축은 수학식 6을 그대로 이용하면 되고, 가로축 길이는 수학식 6에서 Qy를 대신하여 프레임 전체의 가로축 Qx를 입력함으로써 구해질 수 있을 것이다.
픽셀의 단위 길이가 구해지면, 객체인식부(135)는 객체의 대표 길이를 구한다. 객체의 대표 길이는 픽셀의 단위 길이 Lp(do)에 해당 객체를 대표하는 픽셀의 수 qo를 곱함으로써 다음의 수학식 7과 같이 구할 수 있다.
여기서, qo는 해당 객체를 대표하는 픽셀의 수이다.
<다른 실시 예>
이하에서는, 도 7을 참조하여, 본 발명의 기본위치 설정부(141)의 동작을 중심으로 3차원 동작 인식장치 및 인식방법의 다른 실시 예에 대하여 설명한다.
이번 실시 예에서도 상기 도 1 내지 도 6에 기초한 인식방법이 그대로 적용된다. 다만, 실시 예는, 특정한 위치에서의 움직임만을 인식하고, 해당 위치가 아닌 곳에서의 움직임은 잡음으로 처리하여 인식하지 않을 필요가 있는 경우에 적용된다. 이러한 방법에 의하면, 사용자는 자신의 모션을 본 발명의 인식장치(100)에 입력시키기 위하여 기 설정된 위치('모션 인식 기본위치')에 있어야 한다. 사용자가 기본 위치에 정 위치하는 행위는, '모션 인식 개시명령'이 입력되지 않는 한 모션 인식 동작을 수행하지 않는 인식장치(100)에게 '모션 인식 개시명령'을 입력하는 것과 동일하다. 이러한 방법에 의하면, 기본위치가 아닌 곳에 서 있는 사용자의 모션은 인식되지 않고 배제된다.
<기본위치 설정명령 입력: S701>
이를 위해, 기본위치 설정부(141)는 사용자로부터 기본 위치를 입력받는다. 기본위치 설정부(141)의 동작은 별도의 '기본위치설정명령'에 의해 개시될 수 있다. 기본위치설정명령은, 예컨대, 인식장치(100)에 별도로 마련된 입력장치(미도시)를 통해 특정 명령어, 비밀번호를 입력하거나 특정 버튼을 누르는 방법으로 기본위치 설정부(141)에게 입력될 수 있다.
기본위치설정명령에 따라 기본위치 설정부(141)가 '모션 인식 기본위치'를 설정하기 전에는 거리정보 계산부(131), 객체추출부(133) 및 객체인식부(135)는 어떠한 모션 인식도 수행하지 않는다.
여기서, '모션 인식 기본위치'는 모션 인식을 위한 사용자의 위치로서, 기본위치를 설정한 후에는 사용자가 기본 위치에 위치해야만 인식장치(100)가 도 2의 모션 인식 동작을 수행한다. '모션 인식 기본위치'는 스테레오 카메라부(110)의 시야범위에 속하는 위치이면 어디여도 무방하나, 스테레오 카메라부(110)의 주시점에 위치하는 것이 바람직하다.
사용자는 기본위치설정명령을 입력한 후 '모션 인식 기본위치'를 설정하기 위해, 스테레오 카메라부(110)의 전방 임의의 위치에 위치하면 된다.
<기본위치설정명령 후에 입력되는 영상의 처리:S703 내지 S707>
기본위치설정명령이 입력된 후에 스테레오 카메라부(110)을 통해 입력되는 영상은, 거리정보 계산부(131)와 객체추출부(133)가 상기에서 설명한 S201 내지 S205 단계를 수행함으로써, 심도 맵 데이터와 객체 영역을 추출한다.
도 8의 (a)는 스테레오 카메라부(110)가 생성한 한 쌍의 영상 중 어느 하나를 도시한 도면이고, (b)는 (a) 영상을 기초로 배경 영상을 제거하고 객체 영역(X)을 추출한 도면이다. 여기서, 기본위치설정명령에 따른 기본 위치 설정과정 중의 객체를 상기 도 2에서의 모션 인식 중의 객체와 구별하기 위하여 '설정용 객체'라 한다.
<기본 위치 설정: S709>
'모션 인식 기본 위치'는 사용자가 지정한 3차원 공간상의 위치를 기초로 설정하게 되며, 그 3차원 공간을 설정하기 위해 객체추출부(133)가 추출한 설정용 객체 영역(픽셀 범위)과 거리정보 계산부(131)가 생성한 기본위치까지의 거리를 기초로 설정된다. 여기서, 픽셀 범위는 영상에서 기본 위치에 대응되는 영역으로서 기본위치의 방향과 설정용 객체의 크기 정보를 포함하게 되는 것이다.
우선, 기본위치 설정부(141)는 3차원 공간을 그대로 인식할 수도 있으나, 3차원 공간을 대신하는 면(또는 공간)으로 간략히 설정하는 것이 바람직하다.
도 8의 (a)를 참조하면, 사용자는 설정을 원하는 모션인식 기본위치에 서 있다. 기본위치를 '면'으로 인식하는 방법에 의하면, 기본위치 설정부(141)는 객체추출부(133)가 추출한 설정용 객체 영역(X)에 기 설정된 여유분 픽셀을 더한 면적을 기본 위치(P)로 설정한다. 한편, 기본위치(P)는 객체추출부(133) 추출한 설정용 객체의 형태에 관계없이 사각형 또는 타원과 같이 정형화된 형태가 바람직하다. 만약, 객체추출부(133)에서 추출한 설정용 객체 영역(X)을 그대로 이용하게 되면, 사용자가 매번 동일한 형태를 갖추기가 힘들 것이므로 적당하지 않다.
또한, 기본위치의 심도(거리)를 구하기 위해, 기본위치 설정부(141)는 설정용 객체 영역에 포함된 픽셀의 심도 값의 평균을 구하고 그 평균값을 기본위치(P)의 심도(거리)로 설정할 수 있다. 당연히, 기본위치(P)의 심도에 일정한 정도의 오차 범위를 더한 심도 범위로 기본위치(P)의 심도를 설정하는 것이 바람직하다.
한편, 기본위치를 공간으로 설정할 경우, 기본위치 설정부(141)는 거리정보 계산부(131)가 생성한 심도 맵 데이터 중에서 설정용 객체 영역에 포함된 픽셀의 심도 값 중 최소값과 최대값으로 기본위치의 심도 범위를 정할 수 있다.
<모션 인식범위 설정: S711>
기본위치 설정부(141)는 S709 단계에서 설정한 기본위치로부터 일정한 거리 범위에 속하는 공간을 '모션 인식 범위'로 설정한다.
도 9에는 기본위치(P)를 직사각형의 면으로 설정한 경우의 인식범위(PZ)를 개념적으로 도시한 도면이다. 인식범위는 기본위치(P)의 전면, 좌우측면, 전방 상부, 측후면 등을 모두 포함할 수 있으며, 기본위치(P)의 후면은 인식범위에 포함되지 않는다.
인식범위(PZ)는 기본위치로부터 설정한 범위 내이면 족한 것으로 어떠한 형태를 가지더라도 무방하며, 반드시 도 9의 형태에 한정되지 않는다.
<모션 인식 수행: S713>
기본위치를 설정한 후에 모션 인식은 도 2의 방법을 따라 수행된다. 다만, 사용자는 기본위치(P)에 있어야 한다.
S207 단계에서, 거리정보 계산부(131)는 생성한 심도 맵 데이터를 이용하여 그 설정용 객체영역의 평균 심도값이 기 설정된 기본위치의 심도값으로부터 기 설정된 오차 범위에 포함되는지를 1차 판단하고, 객체인식부(135)는 객체추출부(133)가 추출한 설정용 객체 영역이 앞서 설정한 기본위치(P)의 픽셀 영역에 포함되는 것인지 2차 판단하는 방법으로 사용자가 기본위치에 있는지를 판단한다.
1차 판단에서, 모션 인식을 위해 추출한 설정용 객체 영역이 기 설정된 기본위(P)의 픽셀 영역에 기 설정된 비율(예컨대, 70%) 이상으로 포함된 경우에 설정용 객체가 기본위치(P)에 위치한 것으로 판단할 수 있다.
사용자가 기본위치에 있는 것으로 판단되면, S209 및 S211 단계의 모션추적부(137)는 인식범위(PZ) 내에서의 포인터의 움직임만을 인식하여 추적한다.
만약, 영상처리 결과 1차 판단 또는 2차 판단 중 어느 하나를 통과하지 못하여 사용자가 기본위치에 있는 것으로 판단되지 않는 경우에는, S209 단계로 진행하지 아니한다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
본 발명은 모션 인식의 오류를 줄이고 상대적으로 시스템의 용량을 적게 할 수 있는 것으로, 이러한 구성은 3차원 공간 인식장치로 구현되어서 게임 등의 사용자 인터페이스로 적용될 수 있는 바와 같이, 산업상 이용가능함은 자명하다고 할 것이다.
Claims (5)
- 스테레오 카메라 전방의 일정한 거리에 기본위치를 설정하는 단계;움직이는 객체를 상기 스테레오 카메라로 촬영하여 스테레오 영상을 생성하는 단계;상기 스테레오 영상에서의 각 픽셀에 대한 심도 맵 데이터를 계산하는 단계;상기 스테레오 영상에서 상기 움직이는 객체의 영역을 추출하는 단계;상기 추출한 객체 영역이 상기 설정된 기본위치의 픽셀 영역에 속하고, 상기 객치까지의 심도가 상기 기본위치의 심도 범위에 속하는지 판단하여 상기 객체가 상기 기본 위치에 있는지 판단하는 단계;상기 객체가 기본위치에 있는 경우에, 상기 영상에 대한 영상처리를 통해 상기 영상의 객체 영역 중에서 모션인식 대상이 되는 포인터를 인식하는 단계;상기 생성하는 단계에서 연속적으로 생성되는 영상 프레임 각각에 대해, 상기 심도 맵 데이터를 계산하는 단계 내지 포인터를 인식하는 단계를 수행하여 상기 포인터의 3차원 공간상의 위치 변화를 추적하는 단계; 및상기 추적된 포인터의 변화된 3차원 공간상 위치 정보를 이용하여, 상기 포인터의 3차원상 이동방향에 대한 정보를 계산하고 출력하는 단계를 포함하는 것을 특징으로 하는 스테레오 카메라를 이용한 3차원 동작 인식방법.
- 제1항에 있어서,상기 포인터를 인식하는 단계는,상기 기본위치로부터 기 설정된 인식 범위 내에서 수행하여 상기 포인터를 인식하는 것을 특징으로 하는 스테레오 카메라를 이용한 3차원 동작 인식방법.
- 제1항 또는 제2항에 있어서,상기 기본위치를 설정하는 단계는,사용자로부터 기본위치설정명령을 입력받고, 기본 위치 설정용 객체를 상기 스테레오 카메라로 촬영하여 스테레오 영상을 생성하고 심도 맵 데이터를 계산하는 단계;상기 스테레오 영상에서 상기 설정용 객체를 추출하는 단계; 및상기 추출한 설정용 객체의 영역을 포함하는 픽셀 영역을 상기 기본위치의 픽셀 영역으로 설정하고, 상기 추출한 설정용 객체 영역의 심도 값을 기준으로 상기 기본위치의 심도 범위를 설정함으로써 상기 기본위치를 설정하는 단계를 포함하여 수행되는 것을 특징으로 하는 스테레오 카메라를 이용한 3차원 동작 인식방법.
- 제3항에 있어서,상기 기본위치의 픽셀 영역은, 사각형 또는 타원이고,상기 기본위치의 심도 범위는 상기 추출한 설정용 객체의 영역의 심도의 평균값에 기 설정된 오차 범위를 더한 것임을 특징으로 하는 스테레오 카메라를 이용한 3차원 동작 인식방법.
- 스테레오 카메라 전방의 일정한 거리에 기본위치를 설정하는 기본위치설정부;움직이는 객체를 스테레오 카메라로 촬영하여 스테레오 영상을 생성하는 스테레오카메라부;상기 스테레오카메라부로부터 연속적으로 입력되는 상기 스테레오 영상의 각 프레임에서의 각 픽셀에 대한 심도 맵 데이터를 계산하여 상기 객치까지의 심도가 상기 기본위치의 심도 범위에 속하는지 판단하는 거리정보계산부;상기 영상 프레임 각각에서 상기 움직이는 객체를 추출하여, 상기 추출한 객체 영역이 상기 설정된 기본위치의 픽셀 영역에 속하는지 판단하는 객체추출부;상기 객체가 상기 기본 위치의 심도 범위에 있고 상기 설정된 기본위치의 픽셀 영역에 속하는 경우에, 상기 객체추출부가 추출한 객체 영역 중에서 모션인식 대상이 되는 포인터를 인식하는 과정을 상기 영상 프레임 각각에 대해 수행하여 상기 포인터의 3차원 공간상의 위치 변화를 추적하는 모션추적부; 및상기 추적된 포인터의 변화된 3차원 공간상 위치 정보를 이용하여, 상기 포인터의 3차원상 이동방향에 대한 정보를 계산하고 출력하는 모션정보출력부를 포함하는 것을 특징으로 하는 스테레오 카메라를 이용한 3차원 동작 인식장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120041533A KR101203121B1 (ko) | 2012-04-20 | 2012-04-20 | 스테레오 카메라를 이용한 3차원 동작 인식장치 및 인식방법 |
KR10-2012-0041533 | 2012-04-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013157685A1 true WO2013157685A1 (ko) | 2013-10-24 |
Family
ID=47565037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2012/003182 WO2013157685A1 (ko) | 2012-04-20 | 2012-04-25 | 스테레오 카메라를 이용한 3차원 동작 인식장치 및 인식방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101203121B1 (ko) |
WO (1) | WO2013157685A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7253440B2 (ja) * | 2019-05-09 | 2023-04-06 | 東芝テック株式会社 | 追跡装置及び情報処理プログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100107976A (ko) * | 2009-03-27 | 2010-10-06 | 호서대학교 산학협력단 | 3차원 사용자 인터페이스 장치 및 그 방법 |
KR20110030951A (ko) * | 2009-09-18 | 2011-03-24 | 삼성전자주식회사 | 동작 검출 장치 및 방법 |
KR20110092502A (ko) * | 2010-02-09 | 2011-08-18 | 중앙대학교 산학협력단 | 이동식 감시 및 추적 장치 및 방법 |
KR20110119933A (ko) * | 2010-04-28 | 2011-11-03 | 주식회사 아이티엑스시큐리티 | 스테레오 카메라를 이용한 영상인식장치 및 방법 |
KR20110119893A (ko) * | 2010-04-28 | 2011-11-03 | 주식회사 아이티엑스시큐리티 | 3d 카메라를 이용한 영상인식장치 및 방법 |
-
2012
- 2012-04-20 KR KR1020120041533A patent/KR101203121B1/ko active IP Right Grant
- 2012-04-25 WO PCT/KR2012/003182 patent/WO2013157685A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100107976A (ko) * | 2009-03-27 | 2010-10-06 | 호서대학교 산학협력단 | 3차원 사용자 인터페이스 장치 및 그 방법 |
KR20110030951A (ko) * | 2009-09-18 | 2011-03-24 | 삼성전자주식회사 | 동작 검출 장치 및 방법 |
KR20110092502A (ko) * | 2010-02-09 | 2011-08-18 | 중앙대학교 산학협력단 | 이동식 감시 및 추적 장치 및 방법 |
KR20110119933A (ko) * | 2010-04-28 | 2011-11-03 | 주식회사 아이티엑스시큐리티 | 스테레오 카메라를 이용한 영상인식장치 및 방법 |
KR20110119893A (ko) * | 2010-04-28 | 2011-11-03 | 주식회사 아이티엑스시큐리티 | 3d 카메라를 이용한 영상인식장치 및 방법 |
Non-Patent Citations (1)
Title |
---|
YOUNGDAE JANG ET AL.: "A Development on Gesture Recognition Interface System and Non-Contact Mouse Device Using a Stereo Camera.", THE JOURNAL OF KOREAN INSTITUTE OF INFORMATION TECHNOLOGY, vol. 7, no. 3, June 2009 (2009-06-01), pages 242 - 252 * |
Also Published As
Publication number | Publication date |
---|---|
KR101203121B1 (ko) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6456347B2 (ja) | 平面固有の特徴のターゲットのinsitu生成 | |
WO2018048000A1 (ko) | 단일 카메라 기반의 3차원 영상 해석 장치 및 방법, 3차원 영상 해석을 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 매체 | |
WO2011136407A1 (ko) | 스테레오 카메라를 이용한 영상인식장치 및 방법 | |
WO2014109545A1 (ko) | 운동하는 볼에 대한 센싱장치 및 센싱방법 | |
WO2013168998A1 (en) | Apparatus and method for processing 3d information | |
WO2020235804A1 (ko) | 포즈 유사도 판별 모델 생성방법 및 포즈 유사도 판별 모델 생성장치 | |
WO2012133962A1 (ko) | 스테레오 카메라를 이용한 3차원 동작 인식장치 및 인식방법 | |
WO2019117350A1 (ko) | 응시 거리를 결정하는 방법 및 디바이스 | |
WO2012091326A2 (ko) | 고유식별 정보를 이용한 3차원 실시간 거리뷰시스템 | |
WO2014109546A1 (ko) | 운동하는 볼에 대한 센싱장치 및 센싱방법 | |
WO2022039404A1 (ko) | 광시야각의 스테레오 카메라 장치 및 이를 이용한 깊이 영상 처리 방법 | |
WO2021066392A2 (ko) | 골프 스윙에 관한 정보를 추정하기 위한 방법, 디바이스 및 비일시성의 컴퓨터 판독 가능한 기록 매체 | |
KR20140019950A (ko) | 단말기의 모노 카메라에 입력된 손가락 영상을 이용한 3차원 좌표 생성 방법 및 모노 카메라에 입력된 손가락 영상을 이용하여 3차원 좌표를 생성하는 이동 단말기 | |
WO2016021830A1 (ko) | Nui 장치에 의해 수집된 동작정보의 보정 방법 및 장치 | |
WO2015199470A1 (ko) | 머리 착용형 컬러 깊이 카메라를 활용한 손 위치 추정 장치 및 방법, 이를 이용한 맨 손 상호작용 시스템 | |
CN115035546A (zh) | 三维人体姿态检测方法、装置及电子设备 | |
WO2013157685A1 (ko) | 스테레오 카메라를 이용한 3차원 동작 인식장치 및 인식방법 | |
WO2011136405A1 (ko) | 3d 카메라를 이용한 영상인식장치 및 방법 | |
JP2559939B2 (ja) | 3次元情報入力装置 | |
WO2015167081A1 (ko) | 신체 부분 검출 방법 및 장치 | |
WO2019017686A1 (en) | METHOD FOR GENERATING A 3D BIOMETRIC MODEL OF A BODY PART OF A USER AND ASSOCIATED ELECTRONIC DEVICE | |
WO2020130211A1 (ko) | 관절 모델 정합 장치 및 방법 | |
WO2022146109A1 (ko) | 도메인 전이학습을 통한 적외선 카메라 기반의 손 자세 추정 방법 및 시스템 | |
WO2021075753A2 (ko) | 골프 스윙에 관한 정보를 추정하기 위한 방법, 디바이스 및 비일시성의 컴퓨터 판독 가능한 기록 매체 | |
WO2012074174A1 (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: 12874572 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: 12874572 Country of ref document: EP Kind code of ref document: A1 |