WO2022092762A1 - 스테레오 매칭 방법 및 이를 수행하는 영상 처리 장치 - Google Patents

스테레오 매칭 방법 및 이를 수행하는 영상 처리 장치 Download PDF

Info

Publication number
WO2022092762A1
WO2022092762A1 PCT/KR2021/015097 KR2021015097W WO2022092762A1 WO 2022092762 A1 WO2022092762 A1 WO 2022092762A1 KR 2021015097 W KR2021015097 W KR 2021015097W WO 2022092762 A1 WO2022092762 A1 WO 2022092762A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
gaze
coordinates
feature point
stereo
Prior art date
Application number
PCT/KR2021/015097
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 WO2022092762A1 publication Critical patent/WO2022092762A1/ko
Priority to US18/309,234 priority Critical patent/US20230267632A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/383Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/327Calibration thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Definitions

  • a stereo matching method and an image processing apparatus for performing the same are identical.
  • a visual experience should be provided by reflecting the user's movement in real time, so it is important to quickly and accurately acquire information about the user's location and objects in three-dimensional space.
  • a three-dimensional virtual object or a real object has three-dimensional position information in space and can interact with a user.
  • An object of the present invention is to provide a stereo matching method for performing rapid stereo matching by referring to gaze coordinates in a stereo image, and an image processing apparatus for performing the same.
  • An image processing apparatus includes a camera for acquiring a stereo image, a gaze tracking sensor for acquiring gaze information of a user, a memory for storing one or more instructions, and a processor for executing the one or more instructions, the processor extracts feature points from the stereo image, generates gaze coordinate information in which gaze coordinates corresponding to the user's gaze information are accumulated in the stereo image, and performs stereo matching based on the feature points and the gaze coordinate information can do.
  • the stereo matching method includes: obtaining a stereo image using a camera; extracting feature points from the stereo image; generating, and performing stereo matching based on the feature points and the gaze coordinate information.
  • a computer-readable recording medium recording a program for execution by a computer includes instructions for obtaining a stereo image using a camera, instructions for extracting feature points from the stereo image, and a user to the stereo image Commands for generating gaze coordinate information in which gaze coordinates corresponding to gaze information of are accumulated, and commands for performing stereo matching based on the feature points and the gaze coordinate information.
  • FIG. 1 is a diagram illustrating an image processing apparatus performing stereo matching according to an embodiment of the present disclosure.
  • FIG. 2 is a diagram for explaining the configuration and operation of an image processing apparatus according to an embodiment of the present disclosure.
  • FIG. 3 is a diagram for explaining a geometrical relationship between pairs of coordinates corresponding to each other in a stereo image for the same point in a three-dimensional space.
  • FIG. 4 is a diagram for explaining a process of generating gaze coordinate information used in a stereo matching method according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram illustrating an example for explaining a process of performing stereo matching according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram illustrating another example for explaining a process of performing stereo matching according to an embodiment of the present disclosure.
  • FIG. 7 is a flowchart illustrating a stereo matching method according to an embodiment of the present disclosure.
  • FIG. 8 is a flowchart illustrating a preparation process for generating gaze coordinate information used in a stereo matching method according to an embodiment of the present disclosure.
  • FIG. 9 is a detailed flowchart illustrating a process of performing stereo matching in a stereo matching method according to an embodiment of the present disclosure.
  • FIG. 10 is a diagram for explaining an example of an image processing apparatus according to an embodiment of the present disclosure.
  • FIG. 11 is a diagram for explaining another example of an image processing apparatus according to an embodiment of the present disclosure.
  • the present embodiments relate to a stereo matching method and an image processing apparatus performing the same, and detailed descriptions of matters widely known to those of ordinary skill in the art to which the following embodiments belong will be omitted.
  • an 'image processing device' may be a generic term for an electronic device capable of generating or processing an image.
  • the image processing apparatus may generate a depth map indicating not only an image of a scene including an object, but also depth information of a space including an object.
  • the image processing device may be an augmented reality device, a virtual reality device, a smart phone, a digital camera, or the like.
  • 'augmented reality means showing a virtual image together in a physical environment space of the real world or showing a real object and a virtual image together.
  • An 'Augmented Reality Device' refers to a device capable of expressing 'Augmented Reality', such as a Head Mounted Display Apparatus (HMD) or an Augmented Reality Helmet. In addition, it may be in the form of glasses-shaped augmented reality glasses.
  • HMD Head Mounted Display Apparatus
  • AR Helmet Augmented Reality Helmet
  • 'virtual reality means showing a virtual image to be experienced as reality in a virtual space.
  • a 'Virtual Reality Device' refers to a device capable of expressing 'virtual reality', such as a head mounted display device, a virtual reality helmet, and goggles capable of covering all of the user's field of view. It may be a type display device.
  • FIG. 1 is a diagram illustrating an image processing apparatus 1000 that performs stereo matching according to an embodiment of the present disclosure.
  • the image processing apparatus 1000 is an augmented reality glasses apparatus including a camera 1300 for acquiring a stereo image as an example, but the type of the image processing apparatus 1000 is shown in FIG. 1 . It is not limited to the examples shown.
  • the camera 1300 includes a spectacle frame supporting each lens unit and a temple for mounting the image processing apparatus 1000 on the user's face. may be located on the forward-facing side in the portion in contact with each other, but is not limited thereto.
  • the eye tracking sensor 1400 may be located on one side of the eyeglass frame facing the face part so as to detect the user's eyes, but is not limited thereto.
  • the image processing apparatus 1000 may estimate depth information of a space in order to model a 3D space.
  • the image processing apparatus 1000 uses the lens focal length of the camera 1300, the distance between the first camera and the second camera, and the distance between feature points matched through stereo matching, that is, disparity, in space. It is possible to estimate the depth information of the user interface, and generate a depth map based on the estimated depth information.
  • the image processing apparatus 1000 may quickly perform stereo matching, which is a task of matching feature points corresponding to each other in the stereo image acquired through the camera 1300 . should be able
  • a large number of similar feature points are distributed or the parallax between the feature points corresponding to each other is large, for example, in a space in an environment in which a repetitive pattern exists or a subject that the user is gazing at is located near.
  • the time required for stereo matching may increase or an error may occur in stereo matching.
  • the image processing apparatus 1000 uses the user's gaze information so as to enable quick and accurate stereo matching even in a space in an environment in which a repetitive pattern exists or in a situation in which a subject the user is gazing at is near. A method of performing stereo matching will be described.
  • FIG. 2 is a diagram for explaining the configuration and operation of the image processing apparatus 1000 according to an embodiment of the present disclosure.
  • the image processing apparatus 1000 may include a memory 1100 , a processor 1200 , a camera 1300 , and an eye tracking sensor 1400 .
  • a memory 1100 may be further included.
  • the memory 1100 may store instructions executable by the processor 1200 .
  • the memory 1100 may store a program composed of instructions.
  • the memory 1100 may include, for example, RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), flash memory, EEPROM (Electrically Erasable Programmable Read-Memory). Only memory), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, and an optical disk may include at least one type of hardware device.
  • the memory 1100 may store at least one software module including instructions. Each software module is executed by the processor 1200 to cause the image processing apparatus 1000 to perform a predetermined operation or function. For example, as shown in FIG. 2 , the image analysis module, the gaze coordinate generation module, and the stereo matching module may be executed by the processor 1200, but is not limited thereto, and may further include other software modules. there is.
  • the processor 1200 may control an operation or function performed by the image processing apparatus 1000 by executing instructions stored in the memory 1100 or a programmed software module.
  • the processor 1200 may be configured as a hardware component that performs arithmetic, logic, input/output operations and signal processing.
  • the processor 1200 is, for example, a central processing unit (Central Processing Unit), a microprocessor (microprocessor), a graphic processor (Graphic Processing Unit), ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), and FPGAs (Field Programmable Gate Arrays) may be configured of at least one hardware, but is not limited thereto.
  • a central processing unit Central Processing Unit
  • microprocessor microprocessor
  • a graphic processor Graphic Processing Unit
  • ASICs Application Specific Integrated Circuits
  • DSPs Digital Signal Processors
  • DSPDs Digital Signal Processing Devices
  • PLDs Programmable Logic Devices
  • FPGAs Field Programmable Gate Arrays
  • the camera 1300 is a stereo camera that acquires a stereo image, and may include a first camera that acquires a first image and a second camera that acquires a second image.
  • the stereo image may include a first image and a second image.
  • One of the first image and the second image may be a reference image and the other may be a comparison image.
  • One of the first image and the second image may be a left image and the other may be a right image.
  • the first image is the reference image and the left image
  • the second image is the comparison image and the right image.
  • the camera 1300 may be a first camera and a second camera respectively positioned in a predetermined portion of the image processing apparatus 1000 .
  • the camera 1300 may include a lens module including lenses, an auto focus (AF) actuator, an image sensor, and an image signal processor.
  • the lens module has a structure in which a plurality of lenses are disposed in the barrel, and may allow light incident from the outside to pass through the disposed lenses.
  • the AF actuator may move the lenses to an optimal focus position in order to obtain a clear image.
  • the image signal processor may convert the electrical signal converted by the image sensor into an image signal.
  • the gaze tracking sensor 1400 may detect gaze information such as a gaze direction toward which the user's eyes are directed, a pupil position of the user's eyes, or coordinates of a central point of the pupil. For example, the eye tracking sensor 1400 may detect a pupil from a photographed image by irradiating infrared light to the user's eyes and receiving the reflected light to track the movement thereof.
  • the processor 1200 may determine an eye movement type based on the user's gaze information detected by the gaze tracking sensor 1400 . For example, based on the gaze information obtained from the gaze tracking sensor 1400 , the processor 1200 may perform a fixation of gazing at a certain place, a pursuit of chasing a moving object, and a gaze from one gaze point to another. It is possible to determine various types of gaze movements, including a saccade in which the gaze rapidly moves to a point.
  • the processor 1200 may perform stereo matching by executing one or more instructions stored in the memory 1100 .
  • the processor 1200 may perform stereo matching by loading and executing the image analysis module, the gaze coordinate generating module, and the stereo matching module from the memory 1100 .
  • the image analysis module, the gaze coordinate generating module, and the stereo matching module may be implemented as processing modules of a more subdivided functional process unit or may be implemented as an integrated processing module.
  • the processor 1200 may operate the camera 1300 for acquiring the stereo image in parallel with the eye tracking sensor 1400 for acquiring the user's gaze information.
  • the processor 1200 extracts feature points from the stereo image, generates gaze coordinate information in which gaze coordinates corresponding to the user's gaze information are accumulated in the stereo image, and performs stereo matching based on the feature points and gaze coordinate information.
  • the processor 1200 may extract feature points from the stereo image by executing the image analysis module.
  • the processor 1200 extracts at least one feature point from the first image, acquires an epipolar line of the second image corresponding to the coordinates of the first feature point of the first image, and obtains a second feature in a limited range on the obtained epipolar line. 2 At least one feature point of the image may be extracted.
  • this will be described in detail.
  • FIG. 3 is a diagram for explaining a geometrical relationship between pairs of coordinates corresponding to each other in a stereo image for the same point in a three-dimensional space.
  • ⁇ Xc,Yc,Zc ⁇ denotes the first camera coordinate system corresponding to the first camera whose lens focus is the origin, Xc is the right direction of the first camera, Yc is the downward direction of the first camera, and Zc is the second camera 1 Indicates the direction of the optical axis toward the front of the camera.
  • ⁇ Xc',Yc',Zc' ⁇ denotes a second camera coordinate system corresponding to the second camera whose lens focus is the origin, Xc' is the right direction of the second camera, Yc' is the lower side of the second camera
  • the direction, Zc represents the direction of the optical axis facing the front of the second camera.
  • P represents a certain point on the three-dimensional space in the first camera coordinate system. For the same point, P' means a coordinate on the 3D space in the second camera coordinate system.
  • the coordinates p included in the first image (A) and the coordinates p' included in the second image (B) are a point P(P') in the three-dimensional space of the first image (A) and the second image (B) Each corresponds to a projected point.
  • the coordinates p included in the first image A and the coordinates p' included in the second image B may form a coordinate pair corresponding to each other.
  • a triangular plane consisting of a line connecting the origin of the first camera coordinate system and P, a line connecting the origin of the second camera coordinate system and P', and a line connecting the origin of the first camera coordinate system and the origin of the second camera coordinate system. is called an epipolar plane.
  • a line connecting the origin of the first camera coordinate system and the origin of the second camera coordinate system meets an imaginary point (e, e') where the first image (A) and the second image (B) respectively meet the epipole ( are called epipoles).
  • a line (l) connecting the coordinates p and the epipole e included in the first image (A) or the line (l') connecting the coordinates p' and the epipole e' included in the second image (B) is an epipolar line It is called (eplipolar line) and corresponds to an intersection line where the epipolar plane meets each of the first image (A) and the second image (B).
  • t] between the first image A and the second image B corresponds to the geometric relationship between the first camera coordinate system and the second camera coordinate system. Given the geometric relationship [R
  • the coordinates p' at which the point P(P') on the three-dimensional space is projected on the second image B also cannot be specified.
  • the point P(P') in the three-dimensional space exists on a straight line connecting the origin of the first camera and the coordinates p of the first image (A)
  • the coordinate p' of the second image B is on the projected straight line.
  • the epipolar line l' corresponds to the straight line projected as described above.
  • the coordinates p' of the second image (B) corresponding to the coordinates p of the first image (A) cannot be specified,
  • the epipolar line l' passing through the coordinate p' of the second image B may be specified.
  • a transformation matrix that calculates a corresponding epipolar line of the second image B from the coordinates of the first image A there are a Fundamental Matrix, an Essential Matrix, and the like.
  • the coordinates of the first image A may be considered to search for a limited range in the second image B based on p. That is, instead of comparing the coordinates p with respect to the coordinates p of the feature points distributed over the entire area of the second image B, the coordinates p of the first image A are used, It is conceivable to obtain the corresponding epipolar line l' and compare it with the coordinate p for a limited range of coordinates on the obtained epipolar line l'.
  • the search process corresponds to stereo matching, and accordingly, the coordinate p' of the second image B may be determined.
  • t] between the first image A and the second image B are all determined, triangulation According to (Trianulation), depth information up to the point P(P') in the 3D space may be determined, and the point P(P') in the 3D space may be obtained.
  • the processor 1200 may generate gaze coordinate information in which gaze coordinates corresponding to the user's gaze information are accumulated in the stereo image by executing the gaze coordinate generating module.
  • the processor 1200 may process a process of generating gaze coordinate information in parallel with a process of extracting feature points from a stereo image.
  • the processor 1200 obtains a coordinate pair of gaze coordinates from a stereo image based on gaze information obtained using the gaze tracking sensor 1400, and stores the three-dimensional gaze coordinates obtained from the coordinate pair in the memory 1100 can be accumulated in
  • the processor 1200 may generate gaze coordinate information by re-projecting the 3D gaze coordinates accumulated in the memory 1100 to the stereo image.
  • this will be described in detail.
  • FIG. 4 is a diagram for explaining a process of generating gaze coordinate information used in a stereo matching method according to an embodiment of the present disclosure.
  • any coordinates of the first image and the second Based on the corresponding coordinates of the image the coordinates of a point in the three-dimensional space may be specified. This may be applied as it is to the gaze coordinates toward which the user's gaze is directed in the first image and the corresponding gaze coordinates to which the user's gaze is directed in the second image. Accordingly, if the gaze coordinates of the first image and the corresponding gaze coordinates of the second image are known, the 3D gaze coordinates in the 3D space can be obtained.
  • first images photographed by the first camera and second images photographed by the second camera are shown over time.
  • the gaze coordinates of the first image are ( , )
  • the corresponding gaze coordinates in the second image are ( , ) is indicated.
  • the first Based on the gaze coordinates of the image and the gaze coordinates of the second image, P2(x,y,z), which is a three-dimensional gaze coordinate, may be obtained.
  • the viewpoint Tm based on the gaze coordinates of the first image and the gaze coordinates of the second image, Pm(x,y,z), which is a three-dimensional gaze coordinate, may be obtained.
  • the 3D gaze coordinates of P1 to Pm may also be accumulated.
  • the accumulated 3D gaze coordinates may be stored in the memory 1100 .
  • the three-dimensional gaze coordinates accumulated in this way may be re-projected onto the first image and the second image at a later point in time.
  • the gaze coordinates of the user at previous viewpoints may be displayed in the first image and the second image.
  • the first image and the second image may be provided with gaze coordinate information in which gaze coordinates corresponding to gaze information of the user at an arbitrary viewpoint as well as previous viewpoints are accumulated.
  • the gaze coordinate information may be in the form of a gaze coordinate map composed of gaze coordinates in a stereo image.
  • the gaze coordinate map may be gaze coordinates themselves in a stereo image or a connection between adjacent gaze coordinates.
  • a coordinate pair of gaze coordinates corresponding to each other may be identified.
  • the processor 1200 obtains a coordinate pair of gaze coordinates from a stereo image based on gaze information obtained using the gaze tracking sensor 1400, and stores the three-dimensional gaze coordinates obtained from the coordinate pair in the memory 1100 can be accumulated in The processor 1200 may generate gaze coordinate information by re-projecting the 3D gaze coordinates accumulated in the memory 1100 to the stereo image.
  • the processor 1200 may perform stereo matching based on feature points of a stereo image and gaze coordinate information by executing the stereo matching module.
  • the processor 1200 may perform stereo matching by limiting the search range of the second image within a predetermined range from the second gaze coordinates corresponding to the first gaze coordinates near the first feature point of the first image.
  • the first gaze coordinates may be gaze coordinates closest to the coordinates of the first feature point among gaze coordinates forming the gaze coordinate information, and may be within a predetermined distance from the first feature point.
  • the processor 1200 determines the second image of the second image corresponding to the limited range on the epipolar line of the second image corresponding to the coordinates of the first feature point of the first image and the first gaze coordinates near the first feature point of the first image.
  • a second feature point of the second image corresponding to the first feature point of the first image may be acquired based on a predetermined range from the gaze coordinates.
  • the processor 1200 may determine the first gaze coordinates near the first feature point of the first image, and determine a search range of the second image based on the result of the confirmation.
  • the processor 1200 may determine a search range within a predetermined range from the second gaze coordinates corresponding to the first gaze coordinates in the second image. Accordingly, the processor 1200 searches for feature points within a predetermined range from the second gaze coordinates of the second image and within a limited range on the epipolar line of the second image corresponding to the coordinates of the first feature point of the first image.
  • the processor 1200 may determine a search range within a predefined range. Accordingly, the processor 1200 may search for a feature point belonging to a limited range on the epipolar line of the second image corresponding to the coordinates of the first feature point of the first image.
  • the processor 1200 may acquire the second feature point of the second image corresponding to the first feature point within the search range.
  • the processor 1200 may obtain a feature point having the highest similarity to the characteristic information of the first feature point among the feature points within the search range as the second feature point.
  • FIG. 5 is a diagram illustrating an example for explaining a process of performing stereo matching according to an embodiment of the present disclosure.
  • a process of matching a first feature point of a first image that is a reference image with a corresponding second feature point of a second image that is a comparison image is shown in a stereo image.
  • the processor 1200 of the image processing apparatus 1000 may extract a plurality of feature points from the stereo image.
  • an edge or a corner corresponding to a boundary line in which a pixel value rapidly changes, a boundary point where different objects meet, etc. may correspond to the feature points.
  • the processor 1200 of the image processing apparatus 1000 searches all the feature points that can be extracted from the second image to obtain the second feature points corresponding to the first feature points of the first image, the image processing apparatus (1000) real-time operation cannot be guaranteed. Accordingly, the processor 1200 of the image processing apparatus 1000 limits the search range for searching for the second feature point in the second image, thereby enabling rapid stereo matching. As described above with reference to FIG. 3 , a corresponding epipolar line in the second image is obtained using the coordinates of the first feature point of the first image, and the characteristic of the first feature point with respect to a limited range on the obtained epipolar line By comparing with the information, stereo matching can be performed quickly.
  • the processor 1200 of the image processing apparatus 1000 may use gaze coordinates corresponding to gaze information of the user in the stereo image. For a plurality of gaze information, the three-dimensional gaze coordinates obtained from the coordinate pair of gaze coordinates corresponding to the gaze information are re-projected onto the stereo image, and gaze coordinate information in which gaze coordinates corresponding to the gaze information are accumulated in the stereo image. can be created.
  • the processor 1200 of the image processing apparatus 1000 determines candidates of the second feature point within a limited range on the corresponding epipolar line in the second image, based on the coordinates of the first feature point of the first image. can be searched for. Referring to FIG. 5 , candidates (a, b, c) of the second feature point corresponding to the first feature point within a limited range on the epipolar line of the second image may be searched.
  • the processor 1200 of the image processing apparatus 1000 sets the coordinates of the first feature point of the first image and the first feature point of the first image to more quickly and accurately acquire the second feature point of the second image corresponding to the first feature point of the first image.
  • the first gaze coordinates near the feature point may be identified.
  • the first gaze coordinates may be gaze coordinates closest to the coordinates of the first feature point among gaze coordinates forming the gaze coordinate information, and may be within a predetermined distance from the first feature point.
  • the processor 1200 of the image processing apparatus 1000 may further limit the search range of the second image to within a predetermined range from the second gaze coordinates corresponding to the first gaze coordinates.
  • the processor 1200 of the image processing apparatus 1000 may further limit the search range of the second image to within a predetermined range from the second gaze coordinates corresponding to the first gaze coordinates.
  • the processor 1200 of the image processing apparatus 1000 performs a limited range on the epipolar line of the second image corresponding to the coordinates of the first feature point of the first image and the first gaze near the first feature point of the first image Based on a predetermined range from the second gaze coordinates of the second image corresponding to the coordinates, the second feature point of the second image corresponding to the first feature point of the first image may be quickly and accurately acquired.
  • FIG. 6 is a diagram illustrating another example for explaining a process of performing stereo matching according to an embodiment of the present disclosure.
  • the first feature point may fail to match.
  • the parallax between the first feature point and the second feature point is large, so that the pre-defined area around the k point It may fail to detect the second feature point corresponding to the first feature point within the searched range.
  • the first feature point fails to match.
  • the processor 1200 of the image processing apparatus 1000 generates gaze coordinate information in which gaze coordinates corresponding to the user's gaze information are accumulated in a stereo image, and performs stereo matching to quickly and accurately determine the feature points. can be matched.
  • the processor 1200 of the image processing apparatus 1000 may determine the coordinates of the first feature point of the first image and the first gaze coordinates near the first feature point.
  • the first gaze coordinates may be gaze coordinates closest to the coordinates of the first feature point among gaze coordinates forming the gaze coordinate information, and may be within a predetermined distance from the first feature point.
  • the processor 1200 of the image processing apparatus 1000 limits the search range of the second image to within a predetermined range from the second gaze coordinates corresponding to the first gaze coordinates, and detects the detection within a predetermined range from the second gaze coordinates.
  • the processor 1200 of the image processing apparatus 1000 sets the first image within a predetermined range from the second gaze coordinates of the second image corresponding to the first gaze coordinates near the first feature point of the first image.
  • a second feature point of the second image corresponding to the first feature point of the first image may be acquired based on a limited range on the epipolar line of the second image corresponding to the coordinates of the first feature point.
  • FIG. 7 is a flowchart illustrating a stereo matching method according to an embodiment of the present disclosure.
  • the content described above for the image processing apparatus 1000 may be applied to the stereo matching method as it is, even if the content is omitted below.
  • the image processing apparatus 1000 may acquire a stereo image using a camera.
  • the image processing apparatus 1000 may acquire the first image and the second image through the first camera and the second camera.
  • the image processing apparatus 1000 may extract feature points from the stereo image.
  • the image processing apparatus 1000 extracts at least one feature point from the first image, acquires an epipolar line of a second image corresponding to coordinates of the first feature point of the first image, and has a limited range on the obtained epipolar line can extract at least one feature point of the second image.
  • the image processing apparatus 1000 may generate gaze coordinate information in which gaze coordinates corresponding to the user's gaze information are accumulated in the stereo image.
  • the gaze coordinate information may be in the form of a gaze coordinate map composed of gaze coordinates in a stereo image.
  • a coordinate pair of gaze coordinates corresponding to each other may be identified.
  • Step 730 may be processed in parallel with step 720 . Processing in parallel means that at least a portion of one process is simultaneously processed with at least a portion of another process. Meanwhile, since gaze coordinate information is generated using gaze coordinates accumulated in a stereo image for a predetermined period, a preparation process for generating gaze coordinate information will be described in detail below with reference to FIG. 8 .
  • FIG. 8 is a flowchart illustrating a preparation process for generating gaze coordinate information used in a stereo matching method according to an embodiment of the present disclosure.
  • the image processing apparatus 1000 may obtain gaze information using the gaze tracking sensor 1400 .
  • the image processing apparatus 1000 may control the gaze tracking sensor 1400 to detect gaze information, such as a gaze direction toward which the user's eye faces, a pupil position of the user's eye, or coordinates of a center point of the pupil.
  • the image processing apparatus 1000 may obtain a coordinate pair of gaze coordinates from the stereo image based on the obtained gaze information.
  • the image processing apparatus 1000 may obtain the gaze coordinates of the first image and the gaze coordinates of the second image as a coordinate pair.
  • the image processing apparatus 1000 may accumulate 3D gaze coordinates obtained from a coordinate pair of gaze coordinates.
  • the image processing apparatus 1000 obtains 3D gaze coordinates in a 3D space according to triangulation based on which gaze coordinates of the first image and the corresponding gaze coordinates of the second image, and acquires the 3D gaze coordinates in the memory 1100 3D gaze coordinates can be updated.
  • Steps 810 to 830 may be performed every time point at a predetermined interval or may be repeatedly performed for a predetermined period. A certain interval or a predetermined period may be adjusted. Accordingly, a coordinate pair of gaze coordinates in the stereo image may be accumulated based on the user's gaze information, and 3D gaze coordinates obtained therefrom may also be accumulated.
  • the image processing apparatus 1000 may generate gaze coordinate information by re-projecting the accumulated 3D gaze coordinates onto the stereo image.
  • the image processing apparatus 1000 may perform stereo matching based on feature points of the stereo image and gaze coordinate information.
  • the image processing apparatus 1000 may perform stereo matching by limiting the search range of the second image within a predetermined range from the second gaze coordinates corresponding to the first gaze coordinates near the first feature point of the first image.
  • the first gaze coordinates may be gaze coordinates closest to the coordinates of the first feature point among gaze coordinates forming the gaze coordinate information, and may be within a predetermined distance from the first feature point.
  • the image processing apparatus 1000 provides a limited range on the epipolar line of the second image corresponding to the coordinates of the first feature point of the first image and the second gaze coordinates of the second image corresponding to the first gaze coordinates near the first feature point Based on a predetermined range from , a second feature point of the second image corresponding to the first feature point of the first image may be obtained.
  • FIG. 9 is a detailed flowchart illustrating a process of performing stereo matching in a stereo matching method according to an embodiment of the present disclosure.
  • the image processing apparatus 1000 may identify first gaze coordinates near the first feature point of the first image.
  • the first gaze coordinates may be gaze coordinates closest to the coordinates of the first feature point among the gaze coordinates forming the gaze coordinate information, and may be within a predetermined distance from the first feature point.
  • the image processing apparatus 1000 may determine whether there are first gaze coordinates near the first feature point of the first image, based on the confirmation result.
  • a search range of the second image may be determined differently depending on whether the first gaze coordinates exist.
  • the image processing apparatus 1000 sets the second gaze coordinates in the second image within a predetermined range from the second gaze coordinates corresponding to the first gaze coordinates. It is possible to determine the search range of the image. According to this, the image processing apparatus 1000 detects feature points within a predetermined range from the second gaze coordinates of the second image and within a limited range on the epipolar line of the second image corresponding to the coordinates of the first feature point of the first image. You can search.
  • the image processing apparatus 1000 may determine a search range of the second image within a predefined range. Accordingly, the image processing apparatus 1000 may search for a feature point belonging to a limited range on the epipolar line of the second image corresponding to the coordinates of the first feature point of the first image.
  • the image processing apparatus 1000 may acquire a second feature point of the second image corresponding to the first feature point of the first image within the determined search range of the second image.
  • the image processing apparatus 1000 may acquire a feature point having the highest similarity to characteristic information of the first feature point among feature points within the search range of the second image as the second feature point.
  • FIG. 10 is a diagram for explaining an example of an image processing apparatus 1000 according to an embodiment of the present disclosure.
  • the image processing apparatus 1000 is a case in which the image processing apparatus 1000 is a smart phone or a digital camera.
  • the image processing apparatus 1000 may further include a communication interface module 1500 and a display 1600 in addition to the memory 1100 , the processor 1200 , the camera 1300 , and the eye tracking sensor 1400 described above.
  • components such as a position sensor for detecting the position of the image processing apparatus 1000 or a power supply unit for supplying power to the image processing apparatus 1000 may be included, but a description thereof will be omitted.
  • the communication interface module 1500 may perform wired/wireless communication with other devices or networks.
  • the communication interface module 1500 may include a communication module supporting at least one of various wired and wireless communication methods.
  • a communication module for performing short-range communication such as Wi-Fi (Wireless Fidelity) and Bluetooth, various types of mobile communication, or ultra-wideband communication may be included.
  • the communication interface module 1500 may be connected to a device located outside the image processing apparatus 1000 that is a smart phone, and may transmit an image acquired or generated by the image processing apparatus 1000 to an external device.
  • the display 1600 may include an output unit that provides information or an image, and may further include an input unit that receives an input.
  • the output unit may include a display panel and a controller for controlling the display panel, and may include a variety of organic light emitting diodes (OLED) displays, active-matrix organic light-emitting diodes (AM-OLED) displays, liquid crystal displays (LCDs), and the like. can be implemented in this way.
  • the input unit may receive various types of input from the user, and may have a type including at least one of a touch panel, a keypad, and a pen recognition panel.
  • the display 1600 may be provided in the form of a touch screen in which a display panel and a touch panel are combined, and may be implemented to be flexible or foldable.
  • FIG. 11 is a diagram for explaining another example of the image processing apparatus 1000 according to an embodiment of the present disclosure.
  • the image processing apparatus 1000 may include a memory 1100 , a processor 1200 , a camera 1300 , an eye tracking sensor 1400 , a communication interface module 1500 , a display 1650 , and a display engine unit 1700 .
  • a position sensor for detecting the position of the image processing apparatus 1000 or a power supply unit for supplying power to the image processing apparatus 1000 may be included. omitted below.
  • the communication interface module 1500 may be connected to a device located outside the image processing apparatus 1000 which is an augmented reality device, and may transmit an image acquired or generated by the image processing apparatus 1000 to an external device.
  • the image processing apparatus 1000 which is an augmented reality device may provide a pop-up of a virtual image through the display 1650 and the display engine unit 1700 .
  • the virtual image may be generated through an optical engine and may include both static and dynamic images. This virtual image is observed together with a scene of the real world that the user sees through the augmented reality device, that is, a real scene, and information about a real world object in the real scene or an image processing device that is an augmented reality device. It may be an image representing information about the operation of 1000 or a control menu.
  • the display engine unit 1700 may include an optical engine that generates and projects a virtual image, and a guide unit that guides the light of the virtual image projected from the optical engine to the display 1650 .
  • the display 1650 may include a see-through light guide plate (waveguide) embedded in the left eye lens unit and/or the right eye lens unit of the image processing apparatus 1000 which is an augmented reality device.
  • the display 1650 may display information about an object, information about an operation of the image processing apparatus 1000, or a virtual image representing a control menu.
  • a user wearing the image processing apparatus 1000 which is an augmented reality device exposes the user's hand to the camera 1300 to manipulate the pop-up of the virtual image, and By allowing the exposed hand to select a function of the image processing apparatus 1000 in the pop-up of an image, the corresponding function may be executed.
  • the processor 1200 of the image processing apparatus 1000 may use the gaze tracking sensor 1400 to determine the user's gaze point or the user's gaze movement, and use it to control the image processing device 1000 . .
  • the processor 1200 may acquire at least one image by controlling the direction of the camera 1400 according to the gaze point or gaze movement determined by the gaze tracking sensor 1400 .
  • the user wears the image processing apparatus 1000, which is an augmented reality device, to obtain an image in a first direction, and then controls the direction of the camera 1300 according to the user's gaze point or movement of the gaze to obtain a second direction. It is possible to acquire different images from the direction.
  • the image processing apparatus 1000 described in the present disclosure may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component.
  • the image processing apparatus 1000 described in the disclosed embodiments includes a processor, arithmetic logic unit (ALU), application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), It may be implemented using one or more general purpose or special purpose computers, such as Programmable Logic Devices (PLDs), microcomputers, microprocessors, or any other device capable of executing and responding to instructions.
  • ALU arithmetic logic unit
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs Programmable Logic Devices
  • microcomputers microprocessors, or any other device capable of executing and responding to instructions.
  • Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device.
  • the software may be implemented as a computer program including instructions stored in a computer-readable storage medium.
  • the computer-readable recording medium includes, for example, a magnetic storage medium (eg, read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optically readable medium (eg, CD-ROM). (CD-ROM), DVD (Digital Versatile Disc), etc.
  • the computer-readable recording medium may be distributed among network-connected computer systems, so that the computer-readable code may be stored and executed in a distributed manner.
  • the medium may be readable by a computer, stored in a memory, and executed on a processor.
  • the computer may include the image processing apparatus 1000 according to the disclosed embodiments as a device capable of calling a command stored from a storage medium and operating according to the called command according to the disclosed embodiment.
  • the computer-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' means that the storage medium does not include a signal and is tangible, and does not distinguish that data is semi-permanently or temporarily stored in the storage medium.
  • the method according to the disclosed embodiments may be provided included in a computer program product (computer program product).
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product may include a software program, a computer-readable storage medium in which the software program is stored.
  • the computer program product is a product (eg, a downloadable application) in the form of a software program distributed electronically through a manufacturer of the image processing apparatus 1000 or an electronic market (eg, Google Play Store, App Store). (downloadable application)).
  • a product eg, a downloadable application
  • the software program may be stored in a storage medium or may be temporarily generated.
  • the storage medium may be a server of a manufacturer, a server of an electronic market, or a storage medium of a relay server temporarily storing a software program.
  • the computer program product in a system including a server and a terminal (eg, an image processing device), may include a storage medium of the server or a storage medium of the terminal.
  • a third device eg, a smart phone
  • the computer program product may include a storage medium of the third device.
  • the computer program product may include the software program itself transmitted from the server to the terminal or third device, or transmitted from the third device to the terminal.
  • one of the server, the terminal, and the third device may execute the computer program product to perform the method according to the disclosed embodiments.
  • two or more of the server, the terminal, and the third device may execute the computer program product to distribute the method according to the disclosed embodiments.
  • a server eg, a cloud server or an artificial intelligence server
  • the third device may execute a computer program product to control the terminal communicatively connected to the third device to perform the method according to the disclosed embodiment.
  • the third device may download the computer program product from the server and execute the downloaded computer program product.
  • the third device may execute the computer program product provided in a preloaded state to perform the method according to the disclosed embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Abstract

영상 처리 장치는 스테레오 영상을 획득하는 카메라, 사용자의 시선 정보를 획득하는 시선 추적 센서, 하나 이상의 명령어들을 저장하는 메모리, 및 프로세서를 포함한다. 프로세서는 하나 이상의 명령어들을 실행하여, 스테레오 영상에서 특징점들을 추출하고, 스테레오 영상에 사용자의 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보를 생성하여, 특징점들과 시선 좌표 정보에 기초하여, 스테레오 매칭을 수행한다.

Description

스테레오 매칭 방법 및 이를 수행하는 영상 처리 장치
스테레오 매칭 방법 및 이를 수행하는 영상 처리 장치에 관한 것이다.
사용자가 증강 현실이나 가상 현실을 경험할 때, 사용자의 움직임을 실시간으로 반영하여 시각적 경험을 주어야 하므로, 사용자의 위치와 3차원의 공간 상의 객체에 관한 정보를 신속하고 정확하게 획득하는 것이 중요하다. 3차원화된 가상 객체나 현실 객체는 공간 내에서 3차원의 위치 정보를 갖게 되고, 사용자와 상호작용할 수 있게 된다.
스테레오 영상에서 시선 좌표를 참조하여 신속한 스테레오 매칭을 수행하는 스테레오 매칭 방법 및 이를 수행하는 영상 처리 장치를 제공하는 것이다.
제1 측면에 따른 영상 처리 장치는 스테레오 영상을 획득하는 카메라, 사용자의 시선 정보를 획득하는 시선 추적 센서, 하나 이상의 명령어들을 저장하는 메모리, 및 상기 하나 이상의 명령어들을 실행하는 프로세서를 포함하며, 상기 프로세서는, 상기 스테레오 영상에서 특징점들을 추출하고, 상기 스테레오 영상에 사용자의 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보를 생성하여, 상기 특징점들과 상기 시선 좌표 정보에 기초하여, 스테레오 매칭을 수행할 수 있다.
제2 측면에 따른 스테레오 매칭 방법은 카메라를 이용하여 스테레오 영상을 획득하는 단계, 상기 스테레오 영상에서 특징점들을 추출하는 단계, 상기 스테레오 영상에 사용자의 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보를 생성하는 단계, 및 상기 특징점들과 상기 시선 좌표 정보에 기초하여, 스테레오 매칭을 수행하는 단계를 포함할 수 있다.
제3 측면에 따른 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체는, 카메라를 이용하여 스테레오 영상을 획득하는 명령어들, 상기 스테레오 영상에서 특징점들을 추출하는 명령어들, 상기 스테레오 영상에 사용자의 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보를 생성하는 명령어들, 및 상기 특징점들과 상기 시선 좌표 정보에 기초하여, 스테레오 매칭을 수행하는 명령어들을 포함할 수 있다.
도 1은 본 개시의 실시예에 따른 스테레오 매칭을 수행하는 영상 처리 장치를 나타낸 도면이다.
도 2는 본 개시의 실시예에 따른 영상 처리 장치의 구성 및 동작을 설명하기 위한 도면이다.
도 3은 3차원 공간 상의 동일한 지점에 대한 스테레오 영상에서의 서로 대응되는 좌표 쌍 간의 기하학적 관계를 설명하기 위한 도면이다.
도 4는 본 개시의 실시예에 따른 스테레오 매칭 방법에서 이용되는 시선 좌표 정보를 생성하는 과정을 설명하기 위한 도면이다.
도 5는 본 개시의 실시예에 따라 스테레오 매칭을 수행하는 과정을 설명하기 위한 일 예를 나타낸 도면이다.
도 6은 본 개시의 실시예에 따라 스테레오 매칭을 수행하는 과정을 설명하기 위한 다른 예를 나타낸 도면이다.
도 7은 본 개시의 실시예에 따른 스테레오 매칭 방법을 나타낸 흐름도이다.
도 8은 본 개시의 실시예에 따른 스테레오 매칭 방법에서 이용되는 시선 좌표 정보를 생성하기 위한 준비 과정을 설명하기 위한 흐름도이다.
도 9는 본 개시의 실시예에 따른 스테레오 매칭 방법에서, 스테레오 매칭을 수행하는 과정을 설명하기 위한 상세 흐름도이다.
도 10은 본 개시의 실시예에 따른 영상 처리 장치의 일 예를 설명하기 위한 도면이다.
도 11는 본 개시의 실시예에 따른 영상 처리 장치의 다른 예를 설명하기 위한 도면이다.
이하에서는 도면을 참조하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
본 실시예들은 스테레오 매칭 방법 및 이를 수행하는 영상 처리 장치에 관한 것으로서 이하의 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서는 자세한 설명을 생략한다.
본 개시에서 '영상 처리 장치'는 영상을 생성하거나 처리할 수 있는 전자 장치를 통칭하는 용어일 수 있다. 영상 처리 장치는 객체가 포함된 장면에 대한 영상 뿐만 아니라, 객체가 포함된 공간에 대한 뎁스 정보를 나타내는 뎁스 맵을 생성할 수 있다. 영상 처리 장치는 증강 현실 장치, 가상 현실 장치, 스마트 폰, 디지털 카메라 등일 수 있다.
본 개시에서, '증강 현실(AR : Augmented Reality)'은 현실 세계의 물리적 환경 공간 내에 가상 이미지를 함께 보여주거나 현실 객체와 가상 이미지를 함께 보여주는 것을 의미한다. '증강 현실 장치(Augmented Reality Device)'라 함은 '증강 현실(Augmented Reality)'을 표현할 수 있는 장치로서, 헤드 마운트 디스플레이 장치(HMD : Head Mounted Display Apparatus)나, 증강 현실 헬멧(Augmented Reality Helmet) 뿐만 아니라, 안경 형상의 증강 현실 안경 장치(Augmented Reality Glasses) 형태도 될 수 있다.
본 개시에서, '가상 현실(VR : Virtual Reality)'은 가상의 공간에서 가상 이미지를 현실처럼 체험하도록 보여주는 것을 의미한다. '가상 현실 장치(Vitual Reality Device)'라 함은 '가상 현실'을 표현할 수 있는 장치로서, 헤드 마운트 디스플레이 장치나, 가상 현실 헬멧(Vitual Reality Helmet), 사용자의 시야를 모두 덮을 수 있는 형태의 고글형 디스플레이 장치일 수 있다.
도 1은 본 개시의 실시예에 따른 스테레오 매칭을 수행하는 영상 처리 장치(1000)를 나타낸 도면이다.
도 1에서는, 설명의 편의상, 영상 처리 장치(1000)는 스테레오 영상을 획득하는 카메라(1300)를 구비하는 증강 현실 안경 장치인 경우를 예로 들었으나, 영상 처리 장치(1000)의 종류가 도 1에 도시된 예로 제한되는 것은 아니다. 도 1에 도시된 바와 같이, 영상 처리 장치(1000)가 증강 현실 안경 장치인 경우, 카메라(1300)는 각 렌즈부를 지지하는 안경테와 영상 처리 장치(1000)를 사용자의 안면에 거치시키기 위한 안경 다리가 서로 접하는 부분에서 전방을 향하는 쪽에 위치할 수 있으나, 이에 제한되는 것은 아니다. 시선 추적 센서(1400)는 사용자의 눈을 검출할 수 있도록, 안면부를 향하는 안경테의 일측면에 위치할 수 있으나, 이에 제한되는 것은 아니다.
영상 처리 장치(1000)는 3차원 공간을 모델링하기 위해 공간에 대한 뎁스 정보를 추정할 수 있다. 영상 처리 장치(1000)는 카메라(1300)의 렌즈 초점거리, 제1 카메라와 제2 카메라 간의 거리, 및 스테레오 매칭을 통해 매칭된 특징점들 간의 거리 즉, 시차(disparity, 視差)를 이용하여 공간에 대한 뎁스 정보를 추정하고, 추정된 뎁스 정보에 기초한 뎁스 맵을 생성할 수 있다. 이때, 사용자의 움직임을 실시간으로 반영하여 시각적 경험을 주기 위해서는, 영상 처리 장치(1000)는 카메라(1300)를 통해 획득된 스테레오 영상에서 서로 대응되는 특징점들을 매칭시키는 작업인 스테레오 매칭을 신속하게 수행할 수 있어야 한다.
그러나, 스테레오 매칭을 수행할 스테레오 영상에서, 유사한 특징점이 다수 분포하거나 서로 대응되는 특징점 간의 시차가 큰 경우, 예를 들어, 반복적 패턴이 존재하는 환경의 공간이나 사용자가 응시하는 피사체가 가까운 위치에 있는 상황의 경우, 스테레오 매칭에 소요되는 시간이 늘어나거나, 스테레오 매칭에 오류가 발생할 수 있다.
따라서, 이하에서는, 반복적 패턴이 존재하는 환경의 공간이나 사용자가 응시하는 피사체가 가까운 위치에 있는 상황에 대해서도 신속하고 정확한 스테레오 매칭이 가능하도록, 영상 처리 장치(1000)가 사용자의 시선 정보를 이용하여 스테레오 매칭을 수행하는 방식에 대해 설명한다.
도 2는 본 개시의 실시예에 따른 영상 처리 장치(1000)의 구성 및 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 영상 처리 장치(1000)는 메모리(1100), 프로세서(1200), 카메라(1300), 및 시선 추적 센서(1400)를 포함할 수 있다. 본 개시의 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다.
메모리(1100)는 프로세서(1200)에 의해 실행 가능한 명령어들을 저장할 수 있다. 메모리(1100)는 명령어들로 구성된 프로그램을 저장할 수 있다. 메모리(1100)는 예를 들어, 램(RAM, Random Access Memory), SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), 플래시 메모리(flash memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 하드웨어 장치를 포함할 수 있다.
메모리(1100)는 명령어들을 포함하는 적어도 하나의 소프트웨어 모듈을 저장할 수 있다. 각 소프트웨어 모듈은 프로세서(1200)에 의해 실행됨으로써, 영상 처리 장치(1000)가 소정의 동작이나 기능을 수행하도록 한다. 예를 들어, 도 2에 도시된 바와 같이, 프로세서(1200)에 의해 영상 분석 모듈, 시선 좌표 생성 모듈, 및 스테레오 매칭 모듈이 실행될 수 있으나, 이에 한정되는 것은 아니며, 다른 소프트웨어 모듈을 더 포함할 수 있다.
프로세서(1200)는 메모리(1100)에 저장된 명령어들이나 프로그램화된 소프트웨어 모듈을 실행함으로써, 영상 처리 장치(1000)가 수행하는 동작이나 기능을 제어할 수 있다. 프로세서(1200)는 산술, 로직 및 입출력 연산과 시그널 프로세싱을 수행하는 하드웨어 구성 요소로 구성될 수 있다.
프로세서(1200)는 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 프로세서(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), 및 FPGAs(Field Programmable Gate Arrays) 중 적어도 하나의 하드웨어로 구성될 수 있으나, 이에 한정되는 것은 아니다.
카메라(1300)는 스테레오 영상을 획득하는 스테레오 카메라로서, 제1 영상을 획득하는 제1 카메라와 제2 영상을 획득하는 제2 카메라를 포함할 수 있다. 스테레오 영상은 제1 영상과 제2 영상을 포함할 수 있다. 제1 영상과 제2 영상 중 어느 하나는 기준 영상이고 다른 하나는 비교 영상이 될 수 있다. 제1 영상과 제2 영상 중 어느 하나는 좌측 영상이고 다른 하나는 우측 영상일 수 있다. 이하에서는 설명의 편의상 제1 영상이 기준 영상이자 좌측 영상이고, 제2 영상이 비교 영상이자 우측 영상인 경우를 전제한다.
카메라(1300)는 영상 처리 장치(1000)의 소정의 부분에 각각 위치하는 제1 카메라와 제2 카메라일 수 있다. 카메라(1300)는 렌즈들을 포함하는 렌즈 모듈, AF(Auto Focus) 액추에이터, 이미지 센서, 이미지 신호 프로세서를 포함할 수 있다. 렌즈 모듈은 경통부 내에 복수 개의 렌즈들이 배치된 구조를 가지며, 외부로부터 입사되는 광이 배치된 렌즈들을 통과하도록 할 수 있다. AF 액추에이터는 선명한 화질의 영상을 획득하기 위해, 렌즈들을 최적의 초점 위치로 이동시킬 수 있다. 이미지 신호 프로세서는 이미지 센서에서 변환된 전기적 신호를 이미지 신호로 변환할 수 있다.
시선 추적 센서(1400)는 사용자 눈이 향하는 시선 방향, 사용자 눈의 동공 위치 또는 동공의 중심점 좌표 등 시선 정보를 검출할 수 있다. 예를 들어, 시선 추적 센서(1400)는 적외선 광을 사용자의 눈에 조사하여 반사된 광을 수신함으로써 촬영된 영상으로부터 동공을 검출하여 그 움직임을 추적할 수 있다. 프로세서(1200)는 시선 추적 센서(1400)에서 검출된 사용자의 시선 정보에 기초하여, 안구 움직임(eye movement) 형태를 판단할 수 있다. 예를 들어, 프로세서(1200)는 시선 추적 센서(1400)로부터 획득된 시선 정보에 기초하여, 어느 한 곳을 주시하는 고정(fixation), 움직이는 객체를 쫓는 추적(pursuit), 한 응시점에서 다른 응시점으로 신속하게 시선이 이동하는 도약(saccade) 등을 포함한 다양한 형태의 시선 움직임을 판단할 수 있다.
상기한 구성에 따라, 프로세서(1200)는 메모리(1100)에 저장된 하나 이상의 명령어들을 실행함으로써, 스테레오 매칭을 수행할 수 있다. 프로세서(1200)는 메모리(1100)로부터 영상 분석 모듈, 시선 좌표 생성 모듈, 및 스테레오 매칭 모듈을 로딩하여 실행함으로써, 스테레오 매칭을 수행할 수 있다. 영상 분석 모듈, 시선 좌표 생성 모듈, 및 스테레오 매칭 모듈은 더 세분화된 기능 프로세스 단위의 프로세싱 모듈들로 구현되거나 통합된 형태의 프로세싱 모듈로 구현될 수도 있다.
프로세서(1200)는 스테레오 영상을 획득하는 카메라(1300)를 사용자의 시선 정보를 획득하는 시선 추적 센서(1400)와 병렬적으로 작동시킬 수 있다. 프로세서(1200)는 스테레오 영상에서 특징점들을 추출하고, 스테레오 영상에 사용자의 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보를 생성하여, 특징점들과 시선 좌표 정보에 기초하여, 스테레오 매칭을 수행할 수 있다.
예를 들어, 프로세서(1200)는 영상 분석 모듈을 실행함으로써, 스테레오 영상으로부터 특징점들을 추출할 수 있다. 프로세서(1200)는 제1 영상에서 적어도 하나의 특징점을 추출하고, 제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인을 획득하고, 획득된 에피폴라 라인 상의 제한된 범위에서 제2 영상의 적어도 하나의 특징점을 추출할 수 있다. 이하, 도 3을 참조하여, 이에 대해 상세히 설명한다.
도 3은 3차원 공간 상의 동일한 지점에 대한 스테레오 영상에서의 서로 대응되는 좌표 쌍 간의 기하학적 관계를 설명하기 위한 도면이다.
도 3을 참조하면, 3차원 공간에 대한 스테레오 영상을 획득하는 경우, 3차원 공간 상의 어떤 지점 P(P')에 대한 제1 카메라에서 촬영된 제1 영상(A)과 제1 카메라와 다른 위치의 제2 카메라에서 촬영된 제2 영상(B)에서의 서로 대응되는 좌표 쌍(p, p')을 나타내고 있다.
{Xc,Yc,Zc}는 렌즈 초점이 원점인 제1 카메라에 대응되는 제1 카메라 좌표계를 의미하고, Xc는 제1 카메라의 오른 쪽 방향, Yc는 제1 카메라의 아래 쪽 방향, Zc는 제1 카메라의 정면을 향하는 광학축 방향을 나타낸다. {Xc',Yc',Zc'}는 렌즈 초점이 원점인 제2 카메라에 대응되는 제2 카메라 좌표계를 의미하고, Xc'는 제2 카메라의 오른 쪽 방향, Yc'는 제2 카메라의 아래 쪽 방향, Zc는 제2 카메라의 정면을 향하는 광학축 방향을 나타낸다. P는 제1 카메라 좌표계에서의 3차원 공간 상의 어떤 지점을 나타낸다. 동일한 지점에 대하여, P'는 제2 카메라 좌표계에서의 3차원 공간 상의 좌표임을 의미한다.
제1 영상(A)에 포함되는 좌표 p와 제2 영상(B)에 포함되는 좌표 p'는 3차원 공간 상의 어떤 지점 P(P')이 제1 영상(A)과 제2 영상(B) 각각에 투영된 점에 해당한다. 제1 영상(A)에 포함되는 좌표 p와 제2 영상(B)에 포함되는 좌표 p'는 서로 대응되는 좌표 쌍을 이룰 수 있다.
제1 카메라 좌표계의 원점과 P를 연결한 선, 제2 카메라 좌표계의 원점과 P'를 연결한 선, 제1 카메라 좌표계의 원점과 제2 카메라 좌표계의 원점을 서로 연결한 선으로 이루어진 삼각형의 평면을 에피폴라 평면(epipolar plane)이라고 한다. 이때, 제1 카메라 좌표계의 원점과 제2 카메라 좌표계의 원점을 서로 연결한 선이 제1 영상(A)과 제2 영상(B) 각각과 만나는 가상의 점(e, e')을 에피폴(epipole)이라고 한다. 제1 영상(A)에 포함되는 좌표 p와 에피폴 e를 잇는 선(l) 또는 제2 영상(B)에 포함되는 좌표 p'와 에피폴 e'를 잇는 선(l')을 에피폴라 라인(eplipolar line)이라고 하며, 에피폴라 평면이 제1 영상(A)과 제2 영상(B) 각각과 만나는 교선에 해당한다.
제1 영상(A)과 제2 영상(B) 간의 기하학적 관계 [R|t]는 제1 카메라 좌표계와 제2 카메라 좌표계 간의 기하학적 관계에 해당한다. 제1 영상(A)과 제2 영상(B) 간의 기하학적 관계 [R|t]와 제1 영상(A)의 좌표 p가 주어지고, 제1 영상(A)의 좌표 p에서 3차원 공간 상의 지점 P(P')까지의 뎁스(depth) 정보를 모르는 경우, 좌표 p로부터 투영되기 전의 3차원 공간 상의 지점 P(P')는 복원(reconstruction)될 수 없다. 제1 카메라 좌표계의 원점과 3차원 공간 상의 지점 P(P') 사이의 선 위에 있는 점들은 모두 제1 영상(A)의 좌표 p에 투영된다. 제1 영상(A)의 좌표 p에서 3차원 공간 상의 어느 지점까지의 뎁스 정보를 모른다면, 3차원 공간 상의 지점이 특정될 수 없기 때문이다.
결과적으로, 3차원 공간 상의 지점 P(P')가 제2 영상(B)에 투영된 좌표 p' 또한 특정될 수 없다. 다만, 3차원 공간 상의 지점 P(P')는 제1 카메라의 원점과 제1 영상(A)의 좌표 p를 연결한 직선 상에 존재하기 때문에, 이 직선을 제2 영상(B)에 투영시키는 경우, 제2 영상(B)의 좌표 p'가 투영된 해당 직선 위에 있음은 알 수 있다. 도 3에서 에피폴라 라인 l'이 이와 같이 투영된 직선에 해당된다.
종합하여 정리하면, 3차원 공간 상의 지점 P(P')의 뎁스 정보를 모르는 경우, 제1 영상(A)의 좌표 p에 대응되는 제2 영상(B)의 좌표 p'는 특정할 수 없지만, 제2 영상(B)의 좌표 p'를 지나는 에피폴라 라인 l'는 특정될 수 있다. 예를 들어, 제1 영상(A)의 좌표로부터 제2 영상(B)의 대응되는 에피폴라 라인을 계산해주는 변환행렬로 Fundamental Matrix, Essential Matrix 등이 있다.
이상의 내용에 비추어 보면, 제1 영상(A)의 특징점에 해당하는 좌표 p에 대응되는 제2 영상(B)의 특징점에 해당하는 좌표 p'를 신속하게 찾기 위해서, 제1 영상(A)의 좌표 p에 기초하여 제2 영상(B)에서 제한된 범위를 검색하는 것을 고려해 볼 수 있다. 즉, 제2 영상(B)의 전체 영역에 대해 분포된 특징점들의 전체 좌표들에 대해서 좌표 p와 비교할 것이 아니라, 제1 영상(A)의 좌표 p를 이용하여, 제2 영상(B)에서의 대응되는 에피폴라 라인 l'을 획득하고, 획득된 에피폴라 라인 l' 상의 제한된 범위의 좌표들에 대해서 좌표 p와 비교하는 것을 생각해 낼 수 있다.
한편, 제1 영상(A)의 좌표 p에 대응되는 제2 영상(B)의 좌표 p'를 찾는 것 즉, 제2 영상(B)의 좌표 p'가 에피폴라 라인 l' 위의 어디에 위치하는지 찾는 과정이 스테레오 매칭에 해당하며, 이에 따라, 제2 영상(B)의 좌표 p'가 결정될 수 있다. 제1 영상(A)의 좌표 p와 제2 영상(B)의 좌표 p', 및 제1 영상(A)과 제2 영상(B) 간의 기하학적 관계 [R|t] 모두가 결정되면, 삼각측량(Trianulation)에 따라, 3차원 공간 상의 지점 P(P')까지의 뎁스(depth) 정보가 결정될 수 있고, 3차원 공간 상의 지점 P(P')를 구할 수 있다.
다시 도2를 참조하면, 프로세서(1200)는 시선 좌표 생성 모듈을 실행함으로써, 스테레오 영상에 사용자의 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보를 생성할 수 있다. 프로세서(1200)는 시선 좌표 정보를 생성하는 프로세스를 스테레오 영상에서 특징점들을 추출하는 프로세스와 병렬적으로 처리할 수 있다. 프로세서(1200)는 시선 추적 센서(1400)를 이용하여 회득된 시선 정보에 기초하여, 스테레오 영상에서 시선 좌표의 좌표 쌍을 획득하고, 이와 같은 좌표 쌍으로부터 획득된 3차원 시선 좌표를 메모리(1100)에 축적할 수 있다. 프로세서(1200)는 메모리(1100)에 축적된 3차원 시선 좌표를 스테레오 영상에 재투영함으로써 시선 좌표 정보를 생성할 수 있다. 이하, 도 4를 참조하여, 이에 대해 상세히 설명한다.
도 4는 본 개시의 실시예에 따른 스테레오 매칭 방법에서 이용되는 시선 좌표 정보를 생성하는 과정을 설명하기 위한 도면이다.
제1 카메라의 제1 카메라 좌표계와 제2 카메라의 제2 카메라의 좌표계 간의 기하하적 관계를 알고 있는 경우, 앞서 도 3에서 살펴본 바와 같이, 삼각측량에 따라, 제1 영상의 어느 좌표와 제2 영상의 대응되는 좌표에 기초하여, 3차원 공간 상의 한 지점의 좌표가 특정될 수 있다. 이는 제1 영상에서 사용자의 시선이 향한 시선 좌표와 제2 영상에서 사용자의 시선이 향한 대응되는 시선 좌표에 대해서도, 그대로 적용될 수 있다. 따라서, 제1 영상의 어느 시선 좌표와 제2 영상의 대응되는 시선 좌표를 알면, 3차원 공간 상의 3차원 시선 좌표를 구할 수 있다.
도 4를 참조하면, 시간의 흐름에 따라, 제1 카메라에서 촬영된 제1 영상들과 제2 카메라에서 촬영된 제2 영상들을 나타내고 있다. 각 시점에서, 제1 영상의 시선 좌표는 (
Figure PCTKR2021015097-appb-img-000001
,
Figure PCTKR2021015097-appb-img-000002
)이고, 제2 영상에서 대응되는 시선 좌표는 (
Figure PCTKR2021015097-appb-img-000003
,
Figure PCTKR2021015097-appb-img-000004
)로 표시되어 있다.
삼각측량에 의하면, 시점 T1에서, 제1 영상의 시선 좌표와 제2 영상의 시선 좌표에 기초하여, 3차원 시선 좌표인 P1(x,y,z)을 구할 수 있고, 시점 T2에서, 제1 영상의 시선 좌표와 제2 영상의 시선 좌표에 기초하여, 3차원 시선 좌표인 P2(x,y,z)를 구할 수 있다. 같은 방식으로, 시점 Tm에서, 제1 영상의 시선 좌표와 제2 영상의 시선 좌표에 기초하여, 3차원 시선 좌표인 Pm(x,y,z)을 구할 수 있다. 이에 따라, T1 시점부터 Tm 시점까지, 제1 영상과 제2 영상의 시선 좌표 쌍들이 축적되면, P1 내지 Pm의 3차원 시선 좌표들도 축적될 수 있다. 축적된 3차원 시선 좌표들은 메모리(1100)에 저장해둘 수 있다.
이와 같이 축적된 3차원 시선 좌표들은 이후의 어느 시점의 제1 영상과 제2 영상에 재투영될 수 있다. 도 4에 도시된 바와 같이, Tn 시점에서는, 이전 시점들(예를 들어, T1 시점부터 Tm 시점까지)에서 축적된 3차원 시선 좌표들을 Tn 시점의 제1 영상과 제2 영상에 재투영함으로써, Tn 시점에서 사용자의 시선 좌표 뿐만 아니라, 이전 시점들에서의 사용자의 시선 좌표들을 제1 영상과 제2 영상에 나타낼 수 있다. 제1 영상과 제2 영상에는 임의의 시점뿐만 아니라 그 이전 시점들에서의 사용자의 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보가 제공될 수 있다.
시선 좌표 정보는 스테레오 영상에서 시선 좌표들로 이루어진 시선 좌표 맵의 형태일 수 있다. 시선 좌표 맵은 스테레오 영상에서 시선 좌표들 자체이거나 인접한 시선 좌표끼리 연결한 것일 수 있다. 제1 영상과 제2 영상의 시선 좌표 정보에서 서로 대응되는 시선 좌표의 좌표 쌍이 확인될 수 있다.
프로세서(1200)는 시선 추적 센서(1400)를 이용하여 회득된 시선 정보에 기초하여, 스테레오 영상에서 시선 좌표의 좌표 쌍을 획득하고, 이와 같은 좌표 쌍으로부터 획득된 3차원 시선 좌표를 메모리(1100)에 축적할 수 있다. 프로세서(1200)는 메모리(1100)에 축적된 3차원 시선 좌표를 스테레오 영상에 재투영함으로써 시선 좌표 정보를 생성할 수 있다.
다시 도 2를 참조하면, 프로세서(1200)는 스테레오 매칭 모듈을 실행함으로써, 스테레오 영상의 특징점들과 시선 좌표 정보에 기초하여, 스테레오 매칭을 수행할 수 있다. 프로세서(1200)는 제1 영상의 제1 특징점 근처의 제1 시선 좌표에 대응되는 제2 시선 좌표로부터 소정의 범위 내로 제2 영상의 검색 범위를 제한하여, 스테레오 매칭을 수행할 수 있다. 제1 시선 좌표는 시선 좌표 정보를 형성하는 시선 좌표들 중에서 제1 특징점의 좌표와 가장 가까운 시선 좌표일 수 있으며, 제1 특징점으로부터 소정의 거리 이내인 것일 수 있다.
프로세서(1200)는 제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인 상의 제한된 범위와 제1 영상의 제1 특징점 근처의 제1 시선 좌표에 대응되는 제2 영상의 제2 시선 좌표로부터 소정의 범위에 기초하여, 제1 영상의 제1 특징점에 대응되는 제2 영상의 제2 특징점을 획득할 수 있다.
프로세서(1200)는 제1 영상의 제1 특징점 근처의 제1 시선 좌표를 확인하고, 확인 결과에 기초하여, 제2 영상의 검색 범위를 결정할 수 있다. 프로세서(1200)는 제1 영상의 제1 특징점 근처에 제1 시선 좌표가 있는 경우, 제2 영상에서 제1 시선 좌표에 대응되는 제2 시선 좌표로부터 소정의 범위 내로 검색 범위를 결정할 수 있다. 이에 따라, 프로세서(1200)는 제2 영상의 제2 시선 좌표로부터 소정의 범위와 제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인 상의 제한된 범위에 모두 속하는 특징점을 검색할 수 있다. 프로세서(1200)는 제1 영상의 제1 특징점 근처에 제1 시선 좌표가 없는 경우, 미리 정의된 범위 내로 검색 범위를 결정할 수 있다. 이에 따라, 프로세서(1200)는 제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인 상의 제한된 범위에 속하는 특징점을 검색할 수 있다.
프로세서(1200)는 검색 범위 내에서 제1 특징점에 대응되는 제2 영상의 제2 특징점을 획득할 수 있다. 프로세서(1200)는 검색 범위 내의 특징점들 중 제1 특징점의 특성 정보와 가장 유사도가 높은 특징점을 제2 특징점으로서 획득할 수 있다.
도 5는 본 개시의 실시예에 따라 스테레오 매칭을 수행하는 과정을 설명하기 위한 일 예를 나타낸 도면이다.
도 5를 참조하면, 스테레오 영상에서 기준 영상인 제1 영상의 제1 특징점과 비교 영상인 제2 영상의 대응되는 제2 특징점을 매칭시키는 과정을 나타내고 있다.
영상 처리 장치(1000)의 프로세서(1200)는 스테레오 영상에서 복수의 특징점들을 추출할 수 있다. 제1 영상 또는 제2 영상에서 픽셀 값이 급격하게 변하는 경계선에 해당하는 엣지(edge)나 코너(corner), 서로 다른 객체들이 만나는 경계 지점 등이 특징점들에 해당할 수 있다.
영상 처리 장치(1000)의 프로세서(1200)가 제1 영상의 제1 특징점에 대응되는 제2 특징점을 획득하기 위해, 제2 영상에서 추출될 수 있는 모든 특징점들에 대해 검색하는 경우, 영상 처리 장치(1000)의 실시간 동작을 보장할 수 없다. 따라서, 영상 처리 장치(1000)의 프로세서(1200)는 제2 영상에서 제2 특징점을 검색할 검색 범위를 제한함으로써, 신속한 스테레오 매칭이 수행되도록 할 수 있다. 앞서 도 3에서 설명한 바와 같이, 제1 영상의 제1 특징점의 좌표를 이용하여, 제2 영상에서의 대응되는 에피폴라 라인을 획득하고, 획득된 에피폴라 라인 상의 제한된 범위에 대해서 제1 특징점의 특성 정보와 비교함으로써, 스테레오 매칭을 신속하게 수행할 수 있다.
그러나, 도 5와 같이, 반복적 패턴이 존재하는 환경이 공간 상에 넓게 분포하는 경우, 제2 영상의 제한된 범위 내에 대해서도 유사한 특징점이 다수 분포하게 되어, 특징점의 매칭의 정확도와 신속성이 떨어질 수 있다. 이와 같은 경우를 대비하여, 영상 처리 장치(1000)의 프로세서(1200)는 스테레오 영상에서 사용자의 시선 정보에 대응되는 시선 좌표를 이용할 수 있다. 다수의 시선 정보에 대해, 시선 정보에 대응되는 시선 좌표의 좌표 쌍으로부터 획득되는 3차원 시선 좌표를 스테레오 영상에 재투영하는 방식으로, 스테레오 영상에 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보가 생성될 수 있다.
도 5를 참조하면, 영상 처리 장치(1000)의 프로세서(1200)는 제1 영상의 제1 특징점의 좌표에 기초하여, 제2 영상에서 대응되는 에피폴라 라인 상의 제한된 범위 내에서 제2 특징점의 후보들을 검색할 수 있다. 도 5를 참조하면, 제2 영상의 에피폴라 라인 상의 제한된 범위 내에서 제1 특징점에 대응되는 제2 특징점의 후보들(a, b, c)이 검색될 수 있다.
영상 처리 장치(1000)의 프로세서(1200)는 제1 영상의 제1 특징점에 대응되는 제2 영상의 제2 특징점을 보다 신속하고 정확하게 획득하기 위해, 제1 영상의 제1 특징점의 좌표와 제1 특징점 근처의 제1 시선 좌표를 확인할 수 있다. 제1 시선 좌표는 시선 좌표 정보를 형성하는 시선 좌표들 중에서 제1 특징점의 좌표와 가장 가까운 시선 좌표일 수 있으며, 제1 특징점으로부터 소정의 거리 이내인 것일 수 있다.
특징점의 매칭의 정확도와 신속성을 향상하기 위해, 영상 처리 장치(1000)의 프로세서(1200)는 제1 시선 좌표에 대응되는 제2 시선 좌표로부터 소정의 범위 내로 제2 영상의 검색 범위를 더욱 제한할 수 있다. 도 5를 참조하면, 제2 영상에서 제2 특징점의 후보들(a, b, c) 중 제2 시선 좌표로부터 소정의 범위 내의 검색 범위에 해당하는 것은 c 지점 밖에 없으므로, 제1 특징점에 대응되는 제2 특징점을 신속하고 정확하게 찾을 수 있게 된다.
종합하면, 영상 처리 장치(1000)의 프로세서(1200)는 제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인 상의 제한된 범위와 제1 영상의 제1 특징점 근처의 제1 시선 좌표에 대응되는 제2 영상의 제2 시선 좌표로부터 소정의 범위에 기초하여, 제1 영상의 제1 특징점에 대응되는 제2 영상의 제2 특징점을 신속하고 정확하게 획득할 수 있다.
도 6은 본 개시의 실시예에 따라 스테레오 매칭을 수행하는 과정을 설명하기 위한 다른 예를 나타낸 도면이다.
도 6과 같이, 스테레오 매칭을 수행할 스테레오 영상에서, 서로 대응되는 특징점 간의 시차가 큰 경우, 예를 들어, 사용자가 응시하는 피사체가 가까운 거리에 있는 상황의 경우, 제1 영상과 제2 영상에서 같은 특징점을 나타내는 좌표의 차이가 커지게 되어, 제1 특징점에 대응되는 제2 특징점이 제2 영상에서 미리 정의된 검색 범위를 벗어나게 되면, 제1 특징점은 매칭에 실패하게 될 수 있다.
도 6을 참조하면, 제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 화면 상의 위치를 k 지점이라 할 때, 제1 특징점과 제2 특징점의 시차가 커서, k 지점 주변의 미리 정의된 검색 범위 내에서 제1 특징점에 대응되는 제2 특징점을 검출하는데 실패할 수 있다. 제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인 상의 제한된 범위와 k 지점 주변의 일정 범위에 모두 속하는 특징점이 없는 경우, 제1 특징점은 매칭에 실패하게 된다.
이와 같은 경우에도, 영상 처리 장치(1000)의 프로세서(1200)는 스테레오 영상에 사용자의 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보를 생성하여, 스테레오 매칭을 수행함으로써, 신속하고 정확하게 특징점들을 매칭시킬 수 있다.
영상 처리 장치(1000)의 프로세서(1200)는 제1 영상의 제1 특징점의 좌표와 제1 특징점 근처의 제1 시선 좌표를 확인할 수 있다. 제1 시선 좌표는 시선 좌표 정보를 형성하는 시선 좌표들 중에서 제1 특징점의 좌표와 가장 가까운 시선 좌표일 수 있으며, 제1 특징점으로부터 소정의 거리 이내인 것일 수 있다. 영상 처리 장치(1000)의 프로세서(1200)는 제1 시선 좌표에 대응되는 제2 시선 좌표로부터 소정의 범위 내로 제2 영상의 검색 범위를 제한하고, 제2 시선 좌표로부터 소정의 범위 내에서 검출된 특징점(j 지점)을 제1 특징점에 대응되는 제2 특징점으로 획득하여, 신속하고 정확하게 스테레오 영상의 특징점들을 매칭시킬 수 있다. 예를 들어, 영상 처리 장치(1000)의 프로세서(1200)는 제1 영상의 제1 특징점 근처의 제1 시선 좌표에 대응되는 제2 영상의 제2 시선 좌표로부터 소정의 범위와 제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인 상의 제한된 범위에 기초하여, 제1 영상의 제1 특징점에 대응되는 제2 영상의 제2 특징점을 획득할 수 있다.
도 7은 본 개시의 실시예에 따른 스테레오 매칭 방법을 나타낸 흐름도이다.
이상에서 영상 처리 장치(1000)에 대하여 기술한 내용은 이하 그 내용이 생략되더라도 스테레오 매칭 방법에 대하여 그대로 적용될 수 있다.
710 단계에서, 영상 처리 장치(1000)는 카메라를 이용하여 스테레오 영상을 획득할 수 있다. 영상 처리 장치(1000)는 제1 카메라와 제2 카메라를 통해, 제1 영상과 제2 영상을 획득할 수 있다.
720 단계에서, 영상 처리 장치(1000)는 스테레오 영상에서 특징점들을 추출할 수 있다. 영상 처리 장치(1000)는 제1 영상에서 적어도 하나의 특징점을 추출하고, 제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인을 획득하고, 획득된 에피폴라 라인 상의 제한된 범위에서 제2 영상의 적어도 하나의 특징점을 추출할 수 있다.
730 단계에서, 영상 처리 장치(1000)는 스테레오 영상에 사용자의 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보를 생성할 수 있다. 시선 좌표 정보는 스테레오 영상에서 시선 좌표들로 이루어진 시선 좌표 맵의 형태일 수 있다. 제1 영상과 제2 영상의 시선 좌표 정보에서 서로 대응되는 시선 좌표의 좌표 쌍이 확인될 수 있다. 730 단계는 720 단계와 병렬적으로 처리될 수 있다. 병렬적으로 처리된다는 것은 하나의 프로세스의 적어도 일부가 다른 프로세스의 적어도 일부와 동시에 처리되는 것을 포함하는 의미이다. 한편, 시선 좌표 정보는 소정의 기간 동안 스테레오 영상에 축적된 시선 좌표를 이용하여 생성되므로, 이하, 도 8에서 시선 좌표 정보를 생성하기 위한 준비 과정에 대해 상세히 설명한다.
도 8은 본 개시의 실시예에 따른 스테레오 매칭 방법에서 이용되는 시선 좌표 정보를 생성하기 위한 준비 과정을 설명하기 위한 흐름도이다.
810 단계에서, 영상 처리 장치(1000)는 시선 추적 센서(1400)를 이용하여 시선 정보를 획득할 수 있다. 영상 처리 장치(1000)는 시선 추적 센서(1400)를 제어하여 사용자 눈이 향하는 시선 방향, 사용자 눈의 동공 위치 또는 동공의 중심점 좌표 등 시선 정보를 검출할 수 있다.
820 단계에서, 영상 처리 장치(1000)는 획득된 시선 정보에 기초하여, 스테레오 영상에서 시선 좌표의 좌표 쌍을 획득할 수 있다. 영상 처리 장치(1000)는 제1 영상의 시선 좌표와 제2 영상의 시선 좌표를 좌표 쌍으로 획득할 수 있다.
830 단계에서, 영상 처리 장치(1000)는 시선 좌표의 좌표 쌍으로부터 획득된 3차원 시선 좌표를 축적할 수 있다. 영상 처리 장치(1000)는 제1 영상의 어느 시선 좌표와 제2 영상의 대응되는 시선 좌표에 기초하여, 삼각측량에 따라, 3차원 공간 상의 3차원 시선 좌표를 획득하고, 메모리(1100)에 획득된 3차원 시선 좌표를 업데이트할 수 있다.
810 내지 830 단계는 일정 간격의 시점마다 수행되거나 소정의 기간 동안 반복적으로 수행될 수도 있다. 일정 간격 또는 소정의 기간은 조정될 수 있다. 이에 따라, 사용자의 시선 정보에 기초하여 스테레오 영상에서 시선 좌표의 좌표 쌍이 축적되고, 이로부터 획득되는 3차원 시선 좌표도 축적될 수 있다.
이와 같은 준비 과정이 수행되었으면, 영상 처리 장치(1000)는 축적된 3차원 시선 좌표를 스테레오 영상에 재투영함으로써 시선 좌표 정보를 생성할 수 있다.
다시 도 7을 참조하면, 740 단계에서, 영상 처리 장치(1000)는 스테레오 영상의 특징점들과 시선 좌표 정보에 기초하여, 스테레오 매칭을 수행할 수 있다. 영상 처리 장치(1000)는 제1 영상의 제1 특징점 근처의 제1 시선 좌표에 대응되는 제2 시선 좌표로부터 소정의 범위 내로 제2 영상의 검색 범위를 제한하여, 스테레오 매칭을 수행할 수 있다. 제1 시선 좌표는 시선 좌표 정보를 형성하는 시선 좌표들 중에서 제1 특징점의 좌표와 가장 가까운 시선 좌표일 수 있으며, 제1 특징점으로부터 소정의 거리 이내인 것일 수 있다. 영상 처리 장치(1000)는 제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인 상의 제한된 범위와 제1 특징점 근처의 제1 시선 좌표에 대응되는 제2 영상의 제2 시선 좌표로부터 소정의 범위에 기초하여, 제1 영상의 제1 특징점에 대응되는 제2 영상의 제2 특징점을 획득할 수 있다.
도 9는 본 개시의 실시예에 따른 스테레오 매칭 방법에서, 스테레오 매칭을 수행하는 과정을 설명하기 위한 상세 흐름도이다.
910 단계에서, 영상 처리 장치(1000)는 제1 영상의 제1 특징점 근처의 제1 시선 좌표를 확인할 수 있다. 예를 들어, 제1 시선 좌표는 시선 좌표 정보를 형성하는 시선 좌표들 중에서 제1 특징점의 좌표와 가장 가까운 시선 좌표일 수 있으며, 제1 특징점으로부터 소정의 거리 이내인 것일 수 있다.
920 단계에서, 영상 처리 장치(1000)는 확인 결과에 기초하여, 제1 영상의 제1 특징점 근처에 제1 시선 좌표가 있는지 판단할 수 있다. 제1 시선 좌표가 있는지 여부에 따라, 제2 영상의 검색 범위는 다르게 결정될 수 있다.
930 단계에서, 영상 처리 장치(1000)는 제1 영상의 제1 특징점 근처에 제1 시선 좌표가 있는 경우, 제2 영상에서 제1 시선 좌표에 대응되는 제2 시선 좌표로부터 소정의 범위 내로 제2 영상의 검색 범위를 결정할 수 있다. 이에 따르면, 영상 처리 장치(1000)는 제2 영상의 제2 시선 좌표로부터 소정의 범위와 제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인 상의 제한된 범위에 모두 속하는 특징점을 검색할 수 있다.
940 단계에서, 영상 처리 장치(1000)는 제1 영상의 제1 특징점 근처에 제1 시선 좌표가 없는 경우, 미리 정의된 범위 내로 제2 영상의 검색 범위를 결정할 수 있다. 이에 따르면, 영상 처리 장치(1000)는 제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인 상의 제한된 범위에 속하는 특징점을 검색할 수 있다.
950 단계에서, 영상 처리 장치(1000)는 결정된 제2 영상의 검색 범위 내에서 제1 영상의 제1 특징점에 대응되는 제2 영상의 제2 특징점을 획득할 수 있다. 영상 처리 장치(1000)는 제2 영상의 검색 범위 내의 특징점들 중 제1 특징점의 특성 정보와 가장 유사도가 높은 특징점을 제2 특징점으로서 획득할 수 있다.
도 10은 본 개시의 실시예에 따른 영상 처리 장치(1000)의 일 예를 설명하기 위한 도면이다.
도 10은 영상 처리 장치(1000)가 스마트 폰이나 디지털 카메라인 경우이다. 영상 처리 장치(1000)는 앞서 설명한 메모리(1100), 프로세서(1200), 카메라(1300), 시선 추적 센서(1400) 외에 통신 인터페이스 모듈(1500), 디스플레이(1600)를 더 포함할 수 있다. 그 외에도 영상 처리 장치(1000)의 위치를 감지하는 위치 센서, 또는 영상 처리 장치(1000)에 전원을 공급하는 전원부와 같은 구성들도 포함할 수 있으나, 이에 대한 설명은 생략한다.
통신 인터페이스 모듈(1500)은 다른 장치 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신 인터페이스 모듈(1500)은 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, Wi-Fi(Wireless Fidelity), 블루투스와 같은 근거리 통신이나 다양한 종류의 이동 통신 또는 초광대역 통신을 수행하는 통신 모듈이 포함될 수 있다. 통신 인터페이스 모듈(1500)은 스마트 폰인 영상 처리 장치(1000)의 외부에 위치한 장치와 연결되어, 영상 처리 장치(1000)에서 획득하거나 생성된 영상을 외부에 위치한 장치에 전송할 수 있다.
디스플레이(1600)는 정보나 영상을 제공하는 출력부를 포함하며, 입력을 수신하는 입력부를 더 포함한 형태일 수 있다. 출력부는 표시 패널 및 표시 패널을 제어하는 컨트롤러를 포함할 수 있으며, OLED(Organic Light Emitting Diodes) 디스플레이, AM-OLED(Active-Matrix Organic Light-Emitting Diode) 디스플레이, LCD(Liquid Crystal Display) 등과 같은 다양한 방식으로 구현될 수 있다. 입력부는 사용자로부터 다양한 형태의 입력을 받을 수 있으며, 터치 패널, 키패드, 펜 인식 패널 중 적어도 하나를 포함한 형태일 수 있다. 디스플레이(1600)는 표시 패널과 터치 패널이 결합된 터치 스크린 형태로 제공될 수 있으며, 유연하게(flexible) 또는 접을 수 있게(foldable) 구현될 수 있다.
도 11은 본 개시의 실시예에 따른 영상 처리 장치(1000)의 다른 예를 설명하기 위한 도면이다.
도 11은 영상 처리 장치(1000)가 증강 현실 장치인 경우이다. 영상 처리 장치(1000)는 메모리(1100), 프로세서(1200), 카메라(1300), 시선 추적 센서(1400), 통신 인터페이스 모듈(1500), 디스플레이(1650), 디스플레이 엔진부(1700)를 포함할 수 있다. 그 외에도 영상 처리 장치(1000)의 위치를 감지하는 위치 센서나 영상 처리 장치(1000)에 전원을 공급하는 전원부와 같은 구성들도 포함할 수 있으나, 이에 대한 설명과 앞서 설명한 내용과 중복되는 설명은 이하 생략한다.
통신 인터페이스 모듈(1500)은 증강 현실 장치인 영상 처리 장치(1000)의 외부에 위치한 장치와 연결되어, 영상 처리 장치(1000)에서 획득하거나 생성된 영상을 외부에 위치한 장치에 전송할 수 있다.
증강 현실 장치인 영상 처리 장치(1000)는 디스플레이(1650)와 디스플레이 엔진부(1700)를 통해 가상 이미지(virtual image)의 팝업을 제공할 수 있다. 가상 이미지는 광학 엔진을 통해 생성될 수 있으며, 정적 이미지와 동적 이미지를 모두 포함할 수 있다. 이러한 가상 이미지는 사용자가 증강 현실 장치를 통해서 보는 현실 세계의 장면 즉, 현실 장면(real scene)과 함께 관측되며, 현실 장면 속의 현실 객체(real world object)에 대한 정보 또는 증강 현실 장치인 영상 처리 장치(1000)의 동작에 대한 정보나 제어 메뉴 등을 나타내는 이미지일 수 있다.
디스플레이 엔진부(1700)는 가상 이미지를 생성하여 투사하는 광학 엔진과 광학 엔진으로부터 투사된 가상 이미지의 광을 디스플레이(1650)까지 안내하는 가이드부를 포함할 수 있다. 디스플레이(1650)는 증강 현실 장치인 영상 처리 장치(1000)의 좌안 렌즈부 및/또는 우안 렌즈부에 내재된 시스루 형태의 도광판(웨이브가이드, Waveguide)을 포함할 수 있다. 디스플레이(1650)는 객체에 대한 정보 또는 영상 처리 장치(1000)의 동작에 대한 정보나 제어 메뉴를 나타내는 가상 이미지를 디스플레이할 수 있다.
디스플레이(1650)에 가상 이미지의 팝업이 표시되는 경우, 증강 현실 장치인 영상 처리 장치(1000)를 착용한 사용자는 가상 이미지의 팝업을 조작하기 위해 카메라(1300)에 사용자의 손을 노출시키고, 가상 이미지의 팝업에 있는 영상 처리 장치(1000)의 기능을 노출된 손이 선택하도록 함으로써, 해당 기능을 실행시킬 수 있다.
증강 현실 장치인 영상 처리 장치(1000)의 프로세서(1200)는 시선 추적 센서(1400)를 이용하여 사용자의 응시점이나 사용자의 시선 이동을 판단하여, 영상 처리 장치(1000)의 제어에 이용할 수 있다. 프로세서(1200)는 시선 추적 센서(1400)에 의해 판단되는 응시점이나 시선 이동에 따라서 카메라(1400)의 방향을 제어하여, 적어도 하나의 영상을 획득할 수 있다. 예를 들어, 사용자는 증강 현실 장치인 영상 처리 장치(1000)를 착용하여 제1 방향에서 영상을 획득한 후, 사용자의 응시점이나 시선 이동에 따라 카메라(1300)의 방향을 제어하여, 제2 방향에서 다른 영상을 획득할 수 있다.
본 개시에서 설명된 영상 처리 장치(1000)는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 개시된 실시예들에서 설명된 영상 처리 장치(1000)는 프로세서, ALU(arithmetic logic unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), 마이크로컴퓨터, 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.
소프트웨어는, 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 컴퓨터 프로그램으로 구현될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체로는, 예를 들어 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD, Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
컴퓨터는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 개시된 실시예에 따른 동작이 가능한 장치로서, 개시된 실시예들에 따른 영상 처리 장치(1000)를 포함할 수 있다.
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 개시된 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 소프트웨어 프로그램, 소프트웨어 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 영상 처리 장치(1000)의 제조사 또는 전자 마켓(예를 들어, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 소프트웨어 프로그램 형태의 상품(예를 들어, 다운로드 가능한 애플리케이션(downloadable application))을 포함할 수 있다. 전자적 배포를 위하여, 소프트웨어 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 소프트웨어 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 단말(예를 들어, 영상 처리 장치)로 구성되는 시스템에서, 서버의 저장매체 또는 단말의 저장매체를 포함할 수 있다. 또는, 서버 또는 단말과 통신 연결되는 제3 장치(예, 스마트 폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 단말 또는 제3 장치로 전송되거나, 제3 장치로부터 단말로 전송되는 소프트웨어 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 단말 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 단말 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 단말이 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
또 다른 예로, 제3 장치가 컴퓨터 프로그램 제품을 실행하여, 제3 장치와 통신 연결된 단말이 개시된 실시예에 따른 방법을 수행하도록 제어할 수 있다.
제3 장치가 컴퓨터 프로그램 제품을 실행하는 경우, 제3 장치는 서버로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제3 장치는 프리로드된 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수도 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 설명된 전자 장치, 구조, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (15)

  1. 스테레오 영상을 획득하는 카메라;
    사용자의 시선 정보를 획득하는 시선 추적 센서;
    하나 이상의 명령어들을 저장하는 메모리; 및
    상기 하나 이상의 명령어들을 실행하는 프로세서를 포함하며,
    상기 프로세서는,
    상기 스테레오 영상에서 특징점들을 추출하고, 상기 스테레오 영상에 사용자의 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보를 생성하여, 상기 특징점들과 상기 시선 좌표 정보에 기초하여, 스테레오 매칭을 수행하는, 영상 처리 장치.
  2. 제1 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    제1 영상의 제1 특징점 근처의 제1 시선 좌표에 대응되는 제2 시선 좌표로부터 소정의 범위 내로 제2 영상의 검색 범위를 제한하여, 상기 스테레오 매칭을 수행하는, 영상 처리 장치.
  3. 제2 항에 있어서,
    상기 제1 시선 좌표는 상기 시선 좌표 정보를 형성하는 시선 좌표들 중에서 상기 제1 특징점의 좌표와 가장 가까운 시선 좌표인, 영상 처리 장치.
  4. 제1 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인 상의 제한된 범위와 상기 제1 특징점 근처의 제1 시선 좌표에 대응되는 상기 제2 영상의 제2 시선 좌표로부터 소정의 범위에 기초하여, 상기 제1 특징점에 대응되는 상기 제2 영상의 제2 특징점을 획득하는, 영상 처리 장치.
  5. 제1 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    제1 영상의 제1 특징점 근처의 제1 시선 좌표를 확인하고, 상기 확인 결과에 기초하여, 제2 영상의 검색 범위를 결정하며, 상기 검색 범위 내에서 상기 제1 특징점에 대응되는 상기 제2 영상의 제2 특징점을 획득하는, 영상 처리 장치.
  6. 제5 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    상기 제1 시선 좌표가 있는 경우, 상기 제2 영상에서 상기 제1 시선 좌표에 대응되는 제2 시선 좌표로부터 소정의 범위 내로 상기 검색 범위를 결정하고, 상기 제1 시선 좌표가 없는 경우, 미리 정의된 범위 내로 상기 검색 범위를 결정하는, 영상 처리 장치.
  7. 제5 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    상기 검색 범위 내의 특징점들 중 상기 제1 특징점의 특성 정보와 가장 유사도가 높은 특징점을 상기 제2 특징점으로서 획득하는, 영상 처리 장치.
  8. 제1 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    상기 시선 추적 센서를 이용하여 회득된 상기 시선 정보에 기초하여, 상기 스테레오 영상에서 시선 좌표의 좌표 쌍을 획득하고, 상기 좌표 쌍으로부터 획득된 3차원 시선 좌표를 상기 메모리에 축적하고,
    상기 축적된 3차원 시선 좌표를 상기 스테레오 영상에 재투영함으로써 상기 시선 좌표 정보를 생성하는, 영상 처리 장치.
  9. 제1 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    상기 시선 좌표 정보를 생성하는 프로세스를 상기 특징점들을 추출하는 프로세스와 병렬적으로 처리하는, 영상 처리 장치.
  10. 카메라를 이용하여 스테레오 영상을 획득하는 단계;
    상기 스테레오 영상에서 특징점들을 추출하는 단계;
    상기 스테레오 영상에 사용자의 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보를 생성하는 단계; 및
    상기 특징점들과 상기 시선 좌표 정보에 기초하여, 스테레오 매칭을 수행하는 단계;
    를 포함하는 스테레오 매칭 방법.
  11. 제10 항에 있어서,
    상기 스테레오 매칭을 수행하는 단계는,
    제1 영상의 제1 특징점 근처의 제1 시선 좌표에 대응되는 제2 시선 좌표로부터 소정의 범위 내로 제2 영상의 검색 범위를 제한하여, 상기 스테레오 매칭을 수행하는, 스테레오 매칭 방법.
  12. 제10 항에 있어서,
    상기 스테레오 매칭을 수행하는 단계는,
    제1 영상의 제1 특징점의 좌표에 대응되는 제2 영상의 에피폴라 라인 상의 제한된 범위와 상기 제1 특징점 근처의 제1 시선 좌표에 대응되는 상기 제2 영상의 제2 시선 좌표로부터 소정의 범위에 기초하여, 상기 제1 특징점에 대응되는 상기 제2 영상의 제2 특징점을 획득하는, 스테레오 매칭 방법.
  13. 제10 항에 있어서,
    상기 스테레오 매칭을 수행하는 단계는,
    제1 영상의 제1 특징점 근처의 제1 시선 좌표를 확인하는 단계;
    상기 확인 결과에 기초하여, 제2 영상의 검색 범위를 결정하는 단계; 및
    상기 검색 범위 내에서 상기 제1 특징점에 대응되는 상기 제2 영상의 제2 특징점을 획득하는 단계;
    를 포함하는, 스테레오 매칭 방법.
  14. 제10 항에 있어서,
    시선 추적 센서를 이용하여 상기 시선 정보를 획득하는 단계;
    상기 시선 정보에 기초하여, 상기 스테레오 영상에서 시선 좌표의 좌표 쌍을 획득하는 단계; 및
    상기 좌표 쌍으로부터 획득된 3차원 시선 좌표를 축적하는 단계를 더 포함하고,
    상기 시선 좌표 정보를 생성하는 단계는,
    상기 축적된 3차원 시선 좌표를 상기 스테레오 영상에 재투영함으로써 상기 시선 좌표 정보를 생성하는, 스테레오 매칭 방법.
  15. 카메라를 이용하여 스테레오 영상을 획득하는 명령어들;
    상기 스테레오 영상에서 특징점들을 추출하는 명령어들;
    상기 스테레오 영상에 사용자의 시선 정보에 대응되는 시선 좌표가 축적된 시선 좌표 정보를 생성하는 명령어들; 및
    상기 특징점들과 상기 시선 좌표 정보에 기초하여, 스테레오 매칭을 수행하는 명령어들;
    을 포함하는, 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
PCT/KR2021/015097 2020-10-30 2021-10-26 스테레오 매칭 방법 및 이를 수행하는 영상 처리 장치 WO2022092762A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/309,234 US20230267632A1 (en) 2020-10-30 2023-04-28 Stereo matching method and image processing device performing same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200143866A KR20220058277A (ko) 2020-10-30 2020-10-30 스테레오 매칭 방법 및 이를 수행하는 영상 처리 장치
KR10-2020-0143866 2020-10-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/309,234 Continuation US20230267632A1 (en) 2020-10-30 2023-04-28 Stereo matching method and image processing device performing same

Publications (1)

Publication Number Publication Date
WO2022092762A1 true WO2022092762A1 (ko) 2022-05-05

Family

ID=81382841

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/015097 WO2022092762A1 (ko) 2020-10-30 2021-10-26 스테레오 매칭 방법 및 이를 수행하는 영상 처리 장치

Country Status (3)

Country Link
US (1) US20230267632A1 (ko)
KR (1) KR20220058277A (ko)
WO (1) WO2022092762A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102613415B1 (ko) * 2022-12-22 2023-12-13 주식회사 하스퍼 시야 동기화 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140055889A (ko) * 2012-10-29 2014-05-09 광주과학기술원 삼차원 영상제공장치 및 삼차원 영상제공방법
KR20160042564A (ko) * 2014-10-10 2016-04-20 현대자동차주식회사 안경 착용자의 시선 추적 장치 및 그 방법
KR20170054183A (ko) * 2015-11-09 2017-05-17 현대자동차주식회사 시선 추적 장치 및 그의 눈 특징점 검출 오류 판별 방법
KR20190027079A (ko) * 2017-09-06 2019-03-14 삼성전자주식회사 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체
KR20190048241A (ko) * 2017-10-31 2019-05-09 동국대학교 산학협력단 웨어러블 장치 및 이의 영상 처리 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140055889A (ko) * 2012-10-29 2014-05-09 광주과학기술원 삼차원 영상제공장치 및 삼차원 영상제공방법
KR20160042564A (ko) * 2014-10-10 2016-04-20 현대자동차주식회사 안경 착용자의 시선 추적 장치 및 그 방법
KR20170054183A (ko) * 2015-11-09 2017-05-17 현대자동차주식회사 시선 추적 장치 및 그의 눈 특징점 검출 오류 판별 방법
KR20190027079A (ko) * 2017-09-06 2019-03-14 삼성전자주식회사 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체
KR20190048241A (ko) * 2017-10-31 2019-05-09 동국대학교 산학협력단 웨어러블 장치 및 이의 영상 처리 방법

Also Published As

Publication number Publication date
US20230267632A1 (en) 2023-08-24
KR20220058277A (ko) 2022-05-09

Similar Documents

Publication Publication Date Title
US10372751B2 (en) Visual search in real world using optical see-through head mounted display with augmented reality and user interaction tracking
CN107408314B (zh) 混合现实系统
US10373334B2 (en) Computer program, object tracking method, and object tracking device
US10634918B2 (en) Internal edge verification
US20170344110A1 (en) Line-of-sight detector and line-of-sight detection method
CN110895676B (zh) 动态对象跟踪
US20170185145A1 (en) Analysis of ambient light for gaze tracking
US11107241B2 (en) Methods and systems for training an object detection algorithm using synthetic images
WO2019164092A1 (ko) 디스플레이를 통해 표시된 제 1 콘텐트에 대해 제 2 콘텐트를 외부 객체의 움직임에 따라 제공하기 위한 전자 장치 및 그의 동작 방법
WO2019151817A1 (en) Apparatus and method for tracking a focal point in a head mounted display system
WO2020171621A1 (en) Method of controlling display of avatar and electronic device therefor
US10755434B2 (en) Low feature object detection and pose estimation for image data streams
WO2022092762A1 (ko) 스테레오 매칭 방법 및 이를 수행하는 영상 처리 장치
WO2021221341A1 (ko) 증강 현실 장치 및 그 제어 방법
WO2021221436A1 (ko) 카메라를 이용하여 공간의 깊이를 획득하는 디바이스 및 방법
WO2022145888A1 (ko) 증강 현실 장치를 제어하는 방법 및 이를 수행하는 증강 현실 장치
WO2019004754A1 (en) ADVERTISEMENTS WITH INCREASED REALITY ON OBJECTS
WO2022055204A1 (ko) 증강 현실 장치 및 그 제어 방법
CN108803861B (zh) 一种交互方法、设备及系统
WO2017217595A1 (ko) 측위 정보를 기반으로 증강현실 영상을 구현하기 위한 서버 및 시스템
WO2022050646A1 (ko) 이미지 생성 장치 및 방법
WO2024071862A1 (ko) 응시점에 기반한 정보 제공을 위한 방법 및 이를 위한 전자 장치
WO2023113471A1 (ko) 복수의 카메라를 이용하여 촬영된 객체의 3차원 골격 데이터를 획득하는 전자 장치 및 방법
WO2023090846A1 (ko) 증강 현실 객체의 앵커링을 위한 전자 장치 및 방법
WO2023014185A1 (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: 21886756

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

Country of ref document: EP

Kind code of ref document: A1