WO2018212437A1 - Calibration method for matching of augmented reality objects and head mounted display for performing same - Google Patents

Calibration method for matching of augmented reality objects and head mounted display for performing same Download PDF

Info

Publication number
WO2018212437A1
WO2018212437A1 PCT/KR2018/002921 KR2018002921W WO2018212437A1 WO 2018212437 A1 WO2018212437 A1 WO 2018212437A1 KR 2018002921 W KR2018002921 W KR 2018002921W WO 2018212437 A1 WO2018212437 A1 WO 2018212437A1
Authority
WO
WIPO (PCT)
Prior art keywords
screen
marker
markers
virtual
camera
Prior art date
Application number
PCT/KR2018/002921
Other languages
French (fr)
Korean (ko)
Inventor
박재완
권기석
김승균
Original Assignee
주식회사 맥스트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 맥스트 filed Critical 주식회사 맥스트
Publication of WO2018212437A1 publication Critical patent/WO2018212437A1/en

Links

Images

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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/128Adjusting depth or disparity
    • 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
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0123Head-up displays characterised by optical features comprising devices increasing the field of view
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0132Head-up displays characterised by optical features comprising binocular systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type

Definitions

  • Embodiments of the present invention relate to optical see-through type head mounted display technology.
  • augmented reality systems use the video camera itself as a tracking sensor, eliminating the need for a separate calibration process.
  • the user directly looks at the real world through a screen attached to a head mounted display (HMD).
  • HMD head mounted display
  • the field of view of the user's eyes and the field of view of the camera of the head-mounted display are different, and the physical position between the user's eyes and the camera of the head-mounted display is different. In order to do this, a correction is required.
  • Embodiments of the present invention provide a calibration method for correcting a difference in a viewing angle between a user's eyes and a camera in an optical see-through environment, and a head mounted display for performing the same.
  • a calibration method is a method performed in an optical see-through type head mounted display device having one or more processors and a memory storing one or more programs executed by the one or more processors.
  • Displaying a plurality of virtual markers on a screen of the head mounted display Checking whether the virtual markers and the plurality of markers located in front of the head mounted display match on the screen; Calculating an angle between the markers based on a camera of the head mounted display when the virtual markers and the markers match on the screen; Calculating a distance between the virtual markers displayed on the screen; And calculating a viewing angle viewed by the user through the screen based on the angle between the markers relative to the camera, the distance between the virtual markers, and the size of the screen.
  • the plurality of markers may include a first marker provided on one surface of a base portion positioned in front of the head mounted display, and a second marker spaced apart from the first marker in a horizontal or vertical direction from one surface of the base portion.
  • the virtual marker may include a first virtual marker corresponding to the first marker and a second virtual marker corresponding to the second marker.
  • the calculating of angles between the markers may include calculating a horizontal marker angle or a vertical marker angle between the first marker and the second marker, and calculating a distance between the virtual markers.
  • a horizontal virtual marker distance or a vertical virtual marker distance between the second virtual markers may be calculated.
  • the calculating of the viewing angle viewed by the user through the screen may include calculating a horizontal viewing angle viewed by the user through the screen based on the horizontal marker angle, the horizontal virtual marker distance, and the width of the screen. It may include.
  • the horizontal viewing angle FoVx viewed by the user through the screen may be calculated through the following equation.
  • the method further includes converting the viewing angle of the camera to the viewing angle viewed by the user through the screen using the conversion matrix M according to the following equation. Can be.
  • the calculating of the viewing angle viewed by the user through the screen may include calculating a vertical viewing angle viewed by the user through the screen based on the vertical marker angle, the vertical virtual marker distance, and the height of the screen. It may include.
  • the vertical viewing angle FoVy viewed by the user through the screen may be calculated by the following equation.
  • the method further comprises converting the viewing angle of the camera to the viewing angle viewed by the user through the screen using the conversion matrix M according to the following equation. Can be.
  • a head mounted display includes: one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, wherein the one or more programs are configured to include the head mounted display.
  • Instructions for displaying a plurality of virtual markers on a screen Instructions for checking whether the virtual markers and a plurality of markers located in front of the head mounted display match on the screen; Calculating an angle between the markers relative to the camera of the head mounted display when the virtual markers and the markers match on the screen; Calculating a distance between the virtual markers displayed on the screen; And a command for calculating a viewing angle viewed by the user through the screen based on an angle between the markers relative to the camera, a distance between the virtual markers, and the size of the screen.
  • the plurality of markers may include a first marker provided on one surface of a base portion positioned in front of the head mounted display, and a second marker spaced apart from the first marker in a horizontal or vertical direction from one surface of the base portion.
  • the virtual marker may include a first virtual marker corresponding to the first marker and a second virtual marker corresponding to the second marker.
  • the one or more programs include instructions for calculating a horizontal marker angle or a vertical marker angle between the first marker and the second marker, and calculating a distance between the virtual markers, in a command for calculating an angle between the markers.
  • a horizontal virtual marker distance or a vertical virtual marker distance between the first virtual marker and the second virtual marker may be calculated.
  • the one or more programs may be viewed by the user through the screen based on the horizontal marker angle, the horizontal virtual marker distance, and the width of the screen in a command to calculate a viewing angle that the user looks through the screen. It may include instructions for calculating the viewing horizontal viewing angle.
  • the horizontal viewing angle FoVx viewed by the user through the screen may be calculated through the following equation.
  • the one or more programs may further include instructions for converting the viewing angle of the camera into a viewing angle viewed by the user through the screen using a transformation matrix M according to the following equation.
  • the one or more programs may be viewed by the user through the screen based on the vertical marker angle, the vertical virtual marker distance, and the height of the screen in a command to calculate a viewing angle that the user looks through the screen. It may include instructions for calculating the viewing vertical viewing angle.
  • the vertical viewing angle FoVy viewed by the user through the screen may be calculated by the following equation.
  • the one or more programs may further include instructions for converting the viewing angle of the camera into a viewing angle viewed by the user through the screen using a transformation matrix M according to the following equation.
  • a computing device includes: one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, wherein the one or more programs are configured to display a plurality of virtual markers on a screen of a head mounted display.
  • Command for Instructions for checking whether the virtual markers and a plurality of markers located in front of the head mounted display match on the screen; Calculating an angle between the markers relative to the camera of the head mounted display when the virtual markers and the markers match on the screen; Calculating a distance between the virtual markers displayed on the screen; And a command for calculating a viewing angle viewed by the user through the screen based on an angle between the markers relative to the camera, a distance between the virtual markers, and the size of the screen.
  • the difference between the viewing angle of the user's eyes and the viewing angle of the camera can be easily corrected by calculating a viewing angle viewed by the user through the screen using the marker member and the virtual marker.
  • FIG. 1 is a perspective view showing an optical see-through type head mounted display according to an embodiment of the present invention
  • FIG. 2 is a view showing a difference in viewing angles between a user's eyes and a camera in an optical see-through type head mounted display.
  • FIG 3 illustrates a marker member according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a calibration method according to an embodiment of the present invention.
  • FIG. 5 is a view illustrating a state in which a user wears a head mounted display on a head and positions a marker member in front of FIG.
  • FIG. 6 is a diagram illustrating a state in which a virtual marker is displayed on a screen according to an embodiment of the present invention.
  • FIG. 7 is a view illustrating a state in which virtual markers and markers are matched to a screen according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating a state of calculating an angle between markers based on a camera according to an embodiment of the present invention.
  • FIG. 9 is a diagram showing a projection space by a transformation matrix according to an embodiment of the present invention.
  • FIG. 10 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments.
  • the terms "transfer”, “communication”, “transmit”, “receive” and other similar meanings of signals or information are not only meant to directly convey the signal or information from one component to another. It also includes passing through other components.
  • “transmitting” or “sending” a signal or information to a component indicates the final destination of the signal or information and does not mean a direct destination. The same is true for the "reception” of a signal or information.
  • that two or more pieces of data or information are "related” means that if one data (or information) is obtained, at least a portion of the other data (or information) can be obtained based thereon.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another component.
  • first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • One embodiment of the present invention relates to a technique for correcting a viewing angle between an eye of a user and a camera of a head mounted display.
  • FIG. 1 is a perspective view showing an optical see-through type head mounted display according to an embodiment of the present invention.
  • the head mounted display 100 may include a first screen 102, a second screen 104, a frame 106, a head mount 108, a camera 110, and a calibration module 112. It may include.
  • the first screen 102 may be provided transparent or translucent or opaque.
  • the first screen 102 may be provided to correspond to one of two eyes of the user (eg, the right eye).
  • the first screen 102 can include a see-through lens.
  • the second screen 104 may be provided transparent or translucent or opaque.
  • the second screen 104 may be provided in correspondence with the other of the two eyes of the user (eg, the left eye).
  • the second screen 104 may include a see through lens.
  • the first screen 102 and the second screen 104 may be provided to adjust the transparency. The user can see the real world in front through the first screen 102 and the second screen 104.
  • the frame 106 may be provided in combination with the first screen 102 and the second screen 104.
  • the frame 106 may be coupled along the rim of the first screen 102 and the second screen 104.
  • the frame 106 may serve to fix the first screen 102 and the second screen 104.
  • the frame 106 may be provided with a part seated on the user's nose or the like so that the head mounted display 100 does not flow down when the head mounted display 100 is worn.
  • the head mounting portion 108 is a portion for allowing the head mounted display 100 to be mounted on the head portion of the user.
  • the head mounting unit 108 may include a first head mounting unit 108-1 and a second head mounting unit 108-2.
  • the first head mounting portion 108-1 may be provided rearward from one side of the frame 106.
  • the second head mounting unit 108-2 may be provided rearward from the other side of the frame 106.
  • the first head mounting unit 108-1 and the second head mounting unit 108-2 may be provided to surround the head of the user.
  • the head mounting unit 108 has been described as including the first head mounting unit 108-1 and the second head mounting unit 108-2, the head mounting unit 108 is not limited thereto. It may be formed integrally with connecting the other side.
  • the camera 110 may be provided to photograph the periphery of the head mounted display 100.
  • the camera 110 may be provided in the frame 106.
  • the camera 110 may be provided between the first screen 102 and the second screen 104 at the top of the frame 106.
  • the mounting position of the camera 110 is not limited thereto.
  • the calibration module 112 may correct a difference in a field of view (FOV) between the user's eyes and the camera 110.
  • the calibration module 112 may be installed in the frame 106, but is not limited thereto.
  • the calibration module 112 may be installed in the head mounting unit 108.
  • the viewing angle A of the camera may refer to the viewing angle viewed by the camera 110
  • the viewing angle B of the eye may refer to the viewing angle viewed by the user's eyes.
  • the calibration module 112 calculates the viewing angle C viewed by the user through the screens 102 and 104, and then views the viewing angle A of the camera through the screens 102 and 104. C) to correct for differences between viewing angles. Detailed description thereof will be described later.
  • the module may mean a functional and structural combination of hardware for performing the technical idea of the present invention and software for driving the hardware.
  • the “module” may mean a logical unit of a predetermined code and a hardware resource for performing the predetermined code, and does not necessarily mean a physically connected code or a kind of hardware. .
  • a marker member marked with a plurality of markers may be used to calculate the viewing angle C that the user sees through the screens 102 and 104.
  • the marker member 150 may include a base portion 151, a fixing portion 153, and a marker 155.
  • the base unit 151 may serve to support the marker member 150.
  • the base portion 151 may be formed of a flat plate.
  • the fixing part 153 may protrude from one side of the base part 151.
  • the fixing part 153 may protrude downward from the bottom of the base part 151.
  • the fixing part 153 may be a part in which the user grips the marker member 150.
  • the fixing part 153 may be a part mounted on separate equipment.
  • a plurality of markers 155 may be provided on one surface of the base portion 151.
  • the marker 155 may be attached to one surface of the base portion 151.
  • the marker 155 may include the first marker 155-1 to the fourth marker 155-4.
  • the first marker 155-1 to the fourth marker 155-4 may have a square shape.
  • the first marker 155-1 and the second marker 155-2 may be provided to be symmetrical with respect to the vertical center axis of the base 151 on one surface of the base 151.
  • the third marker 155-3 and the fourth marker 155-4 may be provided to be symmetrical with respect to the vertical central axis of the base 151 at one lower surface of the base 151.
  • the first marker 155-1, the third marker 155-3, the second marker 155-2, and the fourth marker 155-4 are based on the horizontal center axis of the base unit 151, respectively. It may be provided symmetrically up and down. However, the shape of the marker 155 and the arrangement form between the markers 155 are not limited thereto.
  • FIG. 4 is a flowchart illustrating a calibration method according to an embodiment of the present invention.
  • the method is divided into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted, divided into substeps, or not shown.
  • One or more steps may be added and performed.
  • the viewing angles of the user's right eye and the left eye are the same.
  • the eye of the user may mean the right or left eye of the user
  • the screen may mean a screen corresponding to the right or left eye of the user, and for convenience of description, the first screen ( 102).
  • the calibration module 112 checks whether a calibration event occurs (S 101).
  • the calibration event occurs when calibration is required in the head mounted display 100. For example, a user presses a separate button provided on the head mounted display 100 or performs calibration for the head mounted display 100. Can occur when running an application. Alternatively, the calibration event may occur when the camera 110 of the head mounted display 100 recognizes the front marker member 150.
  • a calibration event may be generated.
  • the calibration module 112 renders and displays a plurality of virtual markers 121 on the screen 102 of the head mounted display 100 (S 103).
  • the virtual marker 121 may be a virtual image formed to correspond to the markers 155 of the marker member 150.
  • the virtual marker 121 may include a first virtual marker 121-1 to a fourth virtual marker 121-4.
  • the first virtual marker 121-1 to the fourth virtual marker 121-4 may be formed to correspond to the first marker 155-1 to the fourth marker 155-4, respectively. That is, the first virtual marker 121-1 to the fourth virtual marker 121-4 are formed such that the shape of the first marker 155-1 to the fourth marker 155-4 and the arrangement form between the markers correspond to each other. It may be.
  • the calibration module 112 may display the virtual marker 121 at the center of the screen 102.
  • the first virtual marker 121-1, the second virtual marker 121-2, the third virtual marker 121-3, and the fourth virtual marker 121-4 are respectively vertical centers of the screen 102. It may be displayed symmetrically with respect to the axis.
  • the first virtual marker 121-1, the third virtual marker 121-3, the second virtual marker 121-2, and the fourth virtual marker 121-4 are respectively horizontal centers of the screen 102. It may be displayed symmetrically with respect to the axis.
  • the virtual marker 121 is projected onto the screen 102 when the user looks at the marker member 150 positioned at a preset reference distance (for example, 1 m) while the user wears the head mounted display 100 on the head.
  • the markers 155 may be formed by modeling the markers 155.
  • the markers 155 of the marker member 150 located in front of the screen 102 are projected and displayed. That is, since the user sees the marker member 150 located in front of the screen 102, not only the virtual marker 121 is displayed on the screen 102, but the markers 155 are projected and displayed.
  • the calibration module 112 checks whether the virtual markers 121 and the markers 155 are matched (matched) on the screen 102 (S 105).
  • the user may move the marker member 150 on the screen 102 to match the virtual markers 121 and the markers 155. That is, the virtual marker 121 and the markers 155 on the screen 102 may be matched while the marker member 150 is moved back and forth or left and right.
  • the marker member 150 may be moved by the user with one hand, but is not limited thereto and may be moved through separate equipment.
  • FIG. 7 is a view illustrating a state in which virtual markers 121 and markers 155 are matched to the screen 102 according to an embodiment of the present invention.
  • step S 105 when the virtual markers 121 and the markers 155 are matched on the screen 102, the calibration module 112 calculates an angle between the markers 155 with respect to the camera 110. (S 107).
  • FIG. 8 is a diagram illustrating a state of calculating angles between markers 155 based on the camera 110 according to an embodiment of the present invention.
  • the calibration module 112 may be configured between the camera 110 and the marker member 150. The distance may be obtained and the marker member 150 may be photographed through the camera 110.
  • the calibration module 112 is a marker based on the camera 110 based on the distance between the camera 110 and the marker member 150 and posture information (information related to position and rotation) of each marker 155 in the captured image.
  • the angle between 155 may be calculated.
  • the calibration module 112 may calculate at least one of the horizontal marker angle ⁇ 1 and the vertical marker angle ⁇ 2.
  • the horizontal marker angle ⁇ 1 is an angle between the center of the first marker 155-1 and the center of the second marker 155-2 with respect to the camera 110 (or the third marker 155-3). Angle between the center and the center of the fourth marker 155-4). That is, the horizontal marker angle may mean an angle between markers arranged in the horizontal direction with respect to the camera 110 in the marker member 150.
  • the vertical marker angle ⁇ 2 is an angle between the center of the first marker 155-1 and the center of the third marker 155-3 with respect to the camera 110 (or the second marker 155-2). Angle between the center and the center of the fourth marker 155-4). That is, the vertical marker angle may mean an angle between markers disposed in the vertical direction with respect to the camera 110 in the marker member 150.
  • the calibration module 112 calculates the distance between the virtual markers 121 displayed on the screen 102 (S 109).
  • the calibration module 112 may calculate at least one of a horizontal virtual marker distance and a vertical virtual marker distance.
  • the horizontal virtual marker distance is a distance between the center of the first virtual marker 121-1 and the center of the second virtual marker 121-2 (or the center of the third virtual marker 121-3 and the fourth virtual marker ( 121-4) the distance between the center of the). That is, the horizontal virtual marker distance may mean the distance between the virtual markers arranged in the horizontal direction on the screen 102.
  • the vertical virtual marker distance is the distance between the center of the first virtual marker 121-1 and the center of the third virtual marker 121-3 (or the center of the second virtual marker 121-2 and the fourth virtual marker ( 121-4) the distance between the center of the). That is, the vertical virtual marker distance may mean the distance between the virtual markers arranged in the vertical direction on the screen 102.
  • the horizontal virtual marker distance and the vertical virtual marker distance may be expressed in units of pixels.
  • the calibration module 112 is based on the angle between the markers 155 relative to the camera 110, the distance between the virtual markers 121 displayed on the screen 102, and the size of the screen 102.
  • the viewing angle calculated by the user through the screen is calculated. That is, the calibration module 112 measures the ratio relationship between the angle between the markers 155 with respect to the camera 110 and the distance between the virtual markers 121 displayed on the screen 102 and the size of the screen 102.
  • the viewing angle that the user views through the screen may be calculated by applying the viewing angle that the user views through the screen.
  • the horizontal marker angle is 30 degrees
  • the horizontal virtual marker distance is 500 pixels
  • the horizontal viewing angle viewed through the screen is 61 degrees.
  • the horizontal viewing angle FoVx that the user views through the screen and the vertical viewing angle FoVy that the user views through the screen may be represented by Equation 1 below.
  • the calibration module 112 converts the viewing angle of the camera 110 to the viewing angle viewed by the user through the screen using the transformation matrix (S 113).
  • the calibration module 112 may convert the viewing angle of the camera 110 into the viewing angle that the user views through the screen by using the transformation matrix M shown in Equation 2 below.
  • the transformation matrix is calculated using the vertical viewing angle (FoVy) viewed by the user through the screen.
  • the ratio represents the ratio between the width and the height of the screen 102, it may be represented by the height of the screen 102 / the width of the screen 102.
  • far represents the front near constant of the camera 110 based on the camera 110
  • near represents the front far constant of the camera 110 based on the camera 110. That is, far is a constant indicating from which point the object in front of the camera 110 will be shown through the camera 110, and near is a distance indicating the object in front of the camera 110 through the camera 110. Is a constant.
  • the height of the screen 102 may correspond to the y-axis
  • the width of the screen 102 may correspond to the z-axis
  • the front of the camera 110 may correspond to the z-axis.
  • FIG. 9 is a view showing a projection space by the transformation matrix according to an embodiment of the present invention.
  • the virtual plane VP1 by the viewing angle of the camera 110 may have a wider range than the virtual plane VP2 by the viewing angle that the user views through the screen, as shown in FIG. 2.
  • the virtual plane VP1 and the virtual plane VP2 are located on the same plane.
  • the calibration module 112 converts the viewing angle of the camera 110 into the viewing angle that the user views through the screen using the transformation matrix according to Equation 2. Then, the virtual plane VP1 based on the viewing angle of the camera 110 may be converted into the virtual plane VP2 based on the viewing angle viewed by the user. Since the ratio in equation (2) is the height (y) of the screen 102 / the width (x) of the screen 102, The value is used to calculate the converted viewing angle on the x-axis, The value can be used to calculate the converted viewing angle on the y-axis.
  • Equation 2 illustrates a case in which the transformation matrix is calculated using the vertical viewing angle FoVy viewed through the screen, but the transformation matrix M is calculated using the horizontal viewing angle FoVx viewed through the screen. ) Can be calculated, as shown in Equation 3.
  • Value is used to calculate the converted viewing angle on the x-axis
  • the value can be used to calculate the converted viewing angle on the y-axis. That is, if only one value of the horizontal viewing angle (FoVx) viewed by the user through the screen and the vertical viewing angle (FoVy) viewed by the user through the screen, the viewing angle of the camera 110 is converted into the viewing angle viewed by the user through the screen. You can do it.
  • FIG. 10 is a block diagram illustrating and describing a computing environment 10 that includes a computing device suitable for use in example embodiments.
  • each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those described below.
  • the illustrated computing environment 10 includes a computing device 12.
  • computing device 12 may be a head mounted display device (eg, head mounted display 100).
  • computing device 12 may be a device for calibration (eg, calibration module 112).
  • Computing device 12 includes at least one processor 14, computer readable storage medium 16, and communication bus 18.
  • the processor 14 may cause the computing device 12 to operate according to the example embodiments mentioned above.
  • processor 14 may execute one or more programs stored in computer readable storage medium 16.
  • the one or more programs may include one or more computer executable instructions that, when executed by the processor 14, cause the computing device 12 to perform operations in accordance with an exemplary embodiment. Can be.
  • Computer readable storage medium 16 is configured to store computer executable instructions or program code, program data and / or other suitable forms of information.
  • the program 20 stored in the computer readable storage medium 16 includes a set of instructions executable by the processor 14.
  • computer readable storage medium 16 includes memory (volatile memory, such as random access memory, nonvolatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash Memory devices, or any other form of storage medium that is accessible by computing device 12 and capable of storing desired information, or a suitable combination thereof.
  • the communication bus 18 interconnects various other components of the computing device 12, including the processor 14 and the computer readable storage medium 16.
  • Computing device 12 may also include one or more input / output interfaces 22 and one or more network communication interfaces 26 that provide an interface for one or more input / output devices 24.
  • the input / output interface 22 and the network communication interface 26 are connected to the communication bus 18.
  • the input / output device 24 may be connected to other components of the computing device 12 via the input / output interface 22.
  • Exemplary input / output devices 24 may include pointing devices (such as a mouse or trackpad), keyboards, touch input devices (such as touchpads or touchscreens), voice or sound input devices, various types of sensor devices, and / or imaging devices.
  • Input devices, and / or output devices such as display devices, printers, speakers, and / or network cards.
  • the example input / output device 24 may be included inside the computing device 12 as one component of the computing device 12, and may be connected to the computing device 12 as a separate device from the computing device 12. It may be.

Abstract

A calibration method and a head mounted display for performing the same are disclosed. The calibration method according to the disclosed embodiment is performed in an optical see-through type head mounted display device comprising one or more processors and a memory for storing one or more programs executed by the one or more processors, the method comprising the steps of: displaying a plurality of virtual markers on the screen of a head mounted display; confirming whether the virtual markers and a plurality of markers positioned in front of the head mounted display are matched on the screen; calculating the angle between the markers on the basis of a camera of the head mounted display, if the virtual markers and the markers are matched on the screen; calculating the distance between the virtual markers displayed on the screen; and calculating the viewing angle at which a user views the screen, on the basis of the angle between the markers on the basis of the camera, the distance between the virtual markers, and the size of the screen.

Description

증강현실 객체의 정합을 위한 캘리브레이션 방법 및 이를 수행하기 위한 헤드 마운트 디스플레이Calibration method for registration of augmented reality objects and head mounted display for performing the same
본 발명의 실시예는 옵티컬 시스루 타입의 헤드 마운트 디스플레이 기술과 관련된다. Embodiments of the present invention relate to optical see-through type head mounted display technology.
비디오 시스루(Video See Through) 환경에서의 증강 현실 시스템은 비디오 카메라 자체를 트래킹 센서로 사용하기 때문에, 별도의 보정 과정이 필요하지 않게 된다. 그러나, 옵티컬 시스루(Optical See Through) 환경에서는 헤드 마운트 디스플레이(Head Mounted Display : HMD)에 부착된 스크린을 통해 사용자가 직접 현실 세계를 바라보게 된다. 이때, 사용자의 눈의 시야각과 헤드 마운트 디스플레이의 카메라의 시야각(Field of View)이 다르고, 사용자의 눈과 헤드 마운트 디스플레이의 카메라 간의 물리적 위치가 다르기 때문에, 증강 현실에서 현실 세계와 가상 객체 간 정합을 위해서는 보정 작업이 필요하게 된다.In a video see-through environment, augmented reality systems use the video camera itself as a tracking sensor, eliminating the need for a separate calibration process. However, in an optical see through environment, the user directly looks at the real world through a screen attached to a head mounted display (HMD). At this time, the field of view of the user's eyes and the field of view of the camera of the head-mounted display are different, and the physical position between the user's eyes and the camera of the head-mounted display is different. In order to do this, a correction is required.
본 발명의 실시예는 옵티컬 시스루 환경에서 사용자의 눈과 카메라 간의 시야각 차이를 보정하기 위한 캘리브레이션 방법 및 이를 수행하기 위한 헤드 마운트 디스플레이를 제공하기 위한 것이다.Embodiments of the present invention provide a calibration method for correcting a difference in a viewing angle between a user's eyes and a camera in an optical see-through environment, and a head mounted display for performing the same.
개시되는 일 실시예에 따른 캘리브레이션 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 옵티컬 시스루 타입의 헤드 마운트 디스플레이 장치에서 수행되는 방법으로서, 상기 헤드 마운트 디스플레이의 스크린에 복수 개의 가상 마커를 표시하는 단계; 상기 스크린 상에서 상기 가상 마커들과 상기 헤드 마운트 디스플레이의 전방에 위치한 복수 개의 마커들이 매칭되는지 여부를 확인하는 단계; 상기 스크린 상에서 상기 가상 마커들과 상기 마커들이 매칭되는 경우, 상기 헤드 마운트 디스플레이의 카메라를 기준으로 상기 마커들 간의 각도를 산출하는 단계; 상기 스크린 상에 표시된 가상 마커들 간의 거리를 산출하는 단계; 및 상기 카메라를 기준으로 한 상기 마커들 간의 각도, 상기 가상 마커들 간의 거리, 및 상기 스크린의 크기를 기반으로 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하는 단계를 포함한다.A calibration method according to an embodiment of the present disclosure is a method performed in an optical see-through type head mounted display device having one or more processors and a memory storing one or more programs executed by the one or more processors. Displaying a plurality of virtual markers on a screen of the head mounted display; Checking whether the virtual markers and the plurality of markers located in front of the head mounted display match on the screen; Calculating an angle between the markers based on a camera of the head mounted display when the virtual markers and the markers match on the screen; Calculating a distance between the virtual markers displayed on the screen; And calculating a viewing angle viewed by the user through the screen based on the angle between the markers relative to the camera, the distance between the virtual markers, and the size of the screen.
상기 복수 개의 마커는, 상기 헤드 마운트 디스플레이의 전방에 위치하는 베이스부의 일면에 마련되는 제1 마커 및 상기 베이스부의 일면에서 상기 제1 마커와 수평 방향 또는 수직 방향으로 이격되어 마련되는 제2 마커를 포함하고, 상기 가상 마커는, 상기 제1 마커와 대응되는 제1 가상 마커 및 상기 제2 마커와 대응되는 제2 가상 마커를 포함할 수 있다.The plurality of markers may include a first marker provided on one surface of a base portion positioned in front of the head mounted display, and a second marker spaced apart from the first marker in a horizontal or vertical direction from one surface of the base portion. The virtual marker may include a first virtual marker corresponding to the first marker and a second virtual marker corresponding to the second marker.
상기 마커들 간의 각도를 산출하는 단계는, 상기 제1 마커와 상기 제2 마커 간의 수평 마커 각도 또는 수직 마커 각도를 산출하고, 상기 가상 마커들 간의 거리를 산출하는 단계는, 상기 제1 가상 마커와 상기 제2 가상 마커 간의 수평 가상 마커 거리 또는 수직 가상 마커 거리를 산출할 수 있다.The calculating of angles between the markers may include calculating a horizontal marker angle or a vertical marker angle between the first marker and the second marker, and calculating a distance between the virtual markers. A horizontal virtual marker distance or a vertical virtual marker distance between the second virtual markers may be calculated.
상기 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하는 단계는, 상기 수평 마커 각도, 상기 수평 가상 마커 거리, 및 상기 스크린의 너비를 기반으로 상기 사용자가 상기 스크린을 통해 바라보는 수평 시야각을 산출하는 단계를 포함할 수 있다.The calculating of the viewing angle viewed by the user through the screen may include calculating a horizontal viewing angle viewed by the user through the screen based on the horizontal marker angle, the horizontal virtual marker distance, and the width of the screen. It may include.
상기 사용자가 상기 스크린을 통해 바라보는 수평 시야각(FoVx)은, 하기의 수학식을 통해 산출할 수 있다.The horizontal viewing angle FoVx viewed by the user through the screen may be calculated through the following equation.
(수학식)(Mathematical formula)
Figure PCTKR2018002921-appb-I000001
Figure PCTKR2018002921-appb-I000001
상기 수평 시야각(FoVx)을 산출하는 단계 이후에, 상기 카메라의 시야각을 하기의 수학식에 의한 변환 매트릭스(M)를 이용하여 상기 사용자가 상기 스크린을 통해 바라보는 시야각으로 변환하는 단계를 더 포함할 수 있다.After calculating the horizontal viewing angle FoVx, the method further includes converting the viewing angle of the camera to the viewing angle viewed by the user through the screen using the conversion matrix M according to the following equation. Can be.
(수학식)(Mathematical formula)
Figure PCTKR2018002921-appb-I000002
Figure PCTKR2018002921-appb-I000002
ratio : 스크린의 높이/스크린의 너비ratio: screen height / screen width
far : 카메라를 기준으로 한 카메라의 전방 근거리 상수far: Forward near-field constant of the camera relative to the camera
near : 카메라를 기준으로 한 카메라의 전방 원거리 상수near: Forward distance constant of the camera relative to the camera
상기 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하는 단계는, 상기 수직 마커 각도, 상기 수직 가상 마커 거리, 및 상기 스크린의 높이를 기반으로 상기 사용자가 상기 스크린을 통해 바라보는 수직 시야각을 산출하는 단계를 포함할 수 있다.The calculating of the viewing angle viewed by the user through the screen may include calculating a vertical viewing angle viewed by the user through the screen based on the vertical marker angle, the vertical virtual marker distance, and the height of the screen. It may include.
상기 사용자가 상기 스크린을 통해 바라보는 수직 시야각(FoVy)은 하기의 수학식을 통해 산출할 수 있다.The vertical viewing angle FoVy viewed by the user through the screen may be calculated by the following equation.
(수학식)(Mathematical formula)
Figure PCTKR2018002921-appb-I000003
Figure PCTKR2018002921-appb-I000003
상기 수직 시야각(FoVy)을 산출하는 단계 이후에, 상기 카메라의 시야각을 하기의 수학식에 의한 변환 매트릭스(M)를 이용하여 상기 사용자가 상기 스크린을 통해 바라보는 시야각으로 변환하는 단계를 더 포함할 수 있다.After calculating the vertical viewing angle FoVy, the method further comprises converting the viewing angle of the camera to the viewing angle viewed by the user through the screen using the conversion matrix M according to the following equation. Can be.
(수학식)(Mathematical formula)
Figure PCTKR2018002921-appb-I000004
Figure PCTKR2018002921-appb-I000004
ratio : 스크린의 높이/스크린의 너비ratio: screen height / screen width
far : 카메라를 기준으로 한 카메라의 전방 근거리 상수far: Forward near-field constant of the camera relative to the camera
near : 카메라를 기준으로 한 카메라의 전방 원거리 상수near: Forward distance constant of the camera relative to the camera
개시되는 일 실시예에 따른 헤드 마운트 디스플레이는, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함하는 옵티컬 시스루 타입의 헤드 마운트 디스플레이로서, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 상기 헤드 마운트 디스플레이의 스크린에 복수 개의 가상 마커를 표시하기 위한 명령; 상기 스크린 상에서 상기 가상 마커들과 상기 헤드 마운트 디스플레이의 전방에 위치한 복수 개의 마커들이 매칭되는지 여부를 확인하기 위한 명령; 상기 스크린 상에서 상기 가상 마커들과 상기 마커들이 매칭되는 경우, 상기 헤드 마운트 디스플레이의 카메라를 기준으로 상기 마커들 간의 각도를 산출하기 위한 명령; 상기 스크린 상에 표시된 가상 마커들 간의 거리를 산출하기 위한 명령; 및 상기 카메라를 기준으로 한 상기 마커들 간의 각도, 상기 가상 마커들 간의 거리, 및 상기 스크린의 크기를 기반으로 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하기 위한 명령을 포함한다.According to an embodiment, a head mounted display includes: one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, wherein the one or more programs are configured to include the head mounted display. Instructions for displaying a plurality of virtual markers on a screen; Instructions for checking whether the virtual markers and a plurality of markers located in front of the head mounted display match on the screen; Calculating an angle between the markers relative to the camera of the head mounted display when the virtual markers and the markers match on the screen; Calculating a distance between the virtual markers displayed on the screen; And a command for calculating a viewing angle viewed by the user through the screen based on an angle between the markers relative to the camera, a distance between the virtual markers, and the size of the screen.
상기 복수 개의 마커는, 상기 헤드 마운트 디스플레이의 전방에 위치하는 베이스부의 일면에 마련되는 제1 마커 및 상기 베이스부의 일면에서 상기 제1 마커와 수평 방향 또는 수직 방향으로 이격되어 마련되는 제2 마커를 포함하고, 상기 가상 마커는, 상기 제1 마커와 대응되는 제1 가상 마커 및 상기 제2 마커와 대응되는 제2 가상 마커를 포함할 수 있다.The plurality of markers may include a first marker provided on one surface of a base portion positioned in front of the head mounted display, and a second marker spaced apart from the first marker in a horizontal or vertical direction from one surface of the base portion. The virtual marker may include a first virtual marker corresponding to the first marker and a second virtual marker corresponding to the second marker.
상기 하나 이상의 프로그램들은, 상기 마커들 간의 각도를 산출하기 위한 명령에서, 상기 제1 마커와 상기 제2 마커 간의 수평 마커 각도 또는 수직 마커 각도를 산출하고, 상기 가상 마커들 간의 거리를 산출하기 위한 명령에서, 상기 제1 가상 마커와 상기 제2 가상 마커 간의 수평 가상 마커 거리 또는 수직 가상 마커 거리를 산출할 수 있다.The one or more programs include instructions for calculating a horizontal marker angle or a vertical marker angle between the first marker and the second marker, and calculating a distance between the virtual markers, in a command for calculating an angle between the markers. In FIG. 3, a horizontal virtual marker distance or a vertical virtual marker distance between the first virtual marker and the second virtual marker may be calculated.
상기 하나 이상의 프로그램들은, 상기 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하기 위한 명령에서, 상기 수평 마커 각도, 상기 수평 가상 마커 거리, 및 상기 스크린의 너비를 기반으로 상기 사용자가 상기 스크린을 통해 바라보는 수평 시야각을 산출하기 위한 명령을 포함할 수 있다.The one or more programs may be viewed by the user through the screen based on the horizontal marker angle, the horizontal virtual marker distance, and the width of the screen in a command to calculate a viewing angle that the user looks through the screen. It may include instructions for calculating the viewing horizontal viewing angle.
상기 사용자가 상기 스크린을 통해 바라보는 수평 시야각(FoVx)은, 하기의 수학식을 통해 산출할 수 있다.The horizontal viewing angle FoVx viewed by the user through the screen may be calculated through the following equation.
(수학식)(Mathematical formula)
Figure PCTKR2018002921-appb-I000005
Figure PCTKR2018002921-appb-I000005
상기 하나 이상의 프로그램들은, 상기 카메라의 시야각을 하기의 수학식에 의한 변환 매트릭스(M)를 이용하여 상기 사용자가 상기 스크린을 통해 바라보는 시야각으로 변환하기 위한 명령을 더 포함할 수 있다.The one or more programs may further include instructions for converting the viewing angle of the camera into a viewing angle viewed by the user through the screen using a transformation matrix M according to the following equation.
(수학식)(Mathematical formula)
Figure PCTKR2018002921-appb-I000006
Figure PCTKR2018002921-appb-I000006
ratio : 스크린의 높이/스크린의 너비ratio: screen height / screen width
far : 카메라를 기준으로 한 카메라의 전방 근거리 상수far: Forward near-field constant of the camera relative to the camera
near : 카메라를 기준으로 한 카메라의 전방 원거리 상수near: Forward distance constant of the camera relative to the camera
상기 하나 이상의 프로그램들은, 상기 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하기 위한 명령에서, 상기 수직 마커 각도, 상기 수직 가상 마커 거리, 및 상기 스크린의 높이를 기반으로 상기 사용자가 상기 스크린을 통해 바라보는 수직 시야각을 산출하기 위한 명령을 포함할 수 있다.The one or more programs may be viewed by the user through the screen based on the vertical marker angle, the vertical virtual marker distance, and the height of the screen in a command to calculate a viewing angle that the user looks through the screen. It may include instructions for calculating the viewing vertical viewing angle.
상기 사용자가 상기 스크린을 통해 바라보는 수직 시야각(FoVy)은 하기의 수학식을 통해 산출할 수 있다.The vertical viewing angle FoVy viewed by the user through the screen may be calculated by the following equation.
(수학식)(Mathematical formula)
Figure PCTKR2018002921-appb-I000007
Figure PCTKR2018002921-appb-I000007
상기 하나 이상의 프로그램들은, 상기 카메라의 시야각을 하기의 수학식에 의한 변환 매트릭스(M)를 이용하여 상기 사용자가 상기 스크린을 통해 바라보는 시야각으로 변환하기 위한 명령을 더 포함할 수 있다.The one or more programs may further include instructions for converting the viewing angle of the camera into a viewing angle viewed by the user through the screen using a transformation matrix M according to the following equation.
(수학식)(Mathematical formula)
Figure PCTKR2018002921-appb-I000008
Figure PCTKR2018002921-appb-I000008
ratio : 스크린의 높이/스크린의 너비ratio: screen height / screen width
far : 카메라를 기준으로 한 카메라의 전방 근거리 상수far: Forward near-field constant of the camera relative to the camera
near : 카메라를 기준으로 한 카메라의 전방 원거리 상수near: Forward distance constant of the camera relative to the camera
개시되는 일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함하고, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 헤드 마운트 디스플레이의 스크린에 복수 개의 가상 마커를 표시하기 위한 명령; 상기 스크린 상에서 상기 가상 마커들과 상기 헤드 마운트 디스플레이의 전방에 위치한 복수 개의 마커들이 매칭되는지 여부를 확인하기 위한 명령; 상기 스크린 상에서 상기 가상 마커들과 상기 마커들이 매칭되는 경우, 상기 헤드 마운트 디스플레이의 카메라를 기준으로 상기 마커들 간의 각도를 산출하기 위한 명령; 상기 스크린 상에 표시된 가상 마커들 간의 거리를 산출하기 위한 명령; 및 상기 카메라를 기준으로 한 상기 마커들 간의 각도, 상기 가상 마커들 간의 거리, 및 상기 스크린의 크기를 기반으로 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하기 위한 명령을 포함한다.According to one embodiment, a computing device includes: one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, wherein the one or more programs are configured to display a plurality of virtual markers on a screen of a head mounted display. Command for; Instructions for checking whether the virtual markers and a plurality of markers located in front of the head mounted display match on the screen; Calculating an angle between the markers relative to the camera of the head mounted display when the virtual markers and the markers match on the screen; Calculating a distance between the virtual markers displayed on the screen; And a command for calculating a viewing angle viewed by the user through the screen based on an angle between the markers relative to the camera, a distance between the virtual markers, and the size of the screen.
본 발명의 실시예에 의하면, 마커 부재 및 가상 마커를 이용하여 사용자가 스크린을 통해 바라보는 시야각을 산출함으로써, 사용자의 눈의 시야각과 카메라의 시야각 간의 차이를 용이하게 보정할 수 있다.According to an exemplary embodiment of the present invention, the difference between the viewing angle of the user's eyes and the viewing angle of the camera can be easily corrected by calculating a viewing angle viewed by the user through the screen using the marker member and the virtual marker.
도 1은 본 발명의 일 실시예에 따른 옵티컬 시스루 타입의 헤드 마운트 디스플레이를 나타낸 사시도1 is a perspective view showing an optical see-through type head mounted display according to an embodiment of the present invention
도 2는 옵티컬 시스루 타입의 헤드 마운트 디스플레이에서 사용자의 눈과 카메라 간 시야각의 차이를 나타낸 도면2 is a view showing a difference in viewing angles between a user's eyes and a camera in an optical see-through type head mounted display.
도 3은 본 발명의 일 실시예에 따른 마커 부재를 나타낸 도면3 illustrates a marker member according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 캘리브레이션 방법을 설명하기 위한 흐름도4 is a flowchart illustrating a calibration method according to an embodiment of the present invention.
도 5는 사용자가 헤드 마운트 디스플레이를 두부에 착용하고 전방에 마커 부재를 위치시킨 상태를 나타낸 도면FIG. 5 is a view illustrating a state in which a user wears a head mounted display on a head and positions a marker member in front of FIG.
도 6은 본 발명의 일 실시예에 따른 스크린에 가상 마커가 표시된 상태를 나타낸 도면6 is a diagram illustrating a state in which a virtual marker is displayed on a screen according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 스크린에 가상 마커들과 마커들이 정합된 상태를 나타낸 도면7 is a view illustrating a state in which virtual markers and markers are matched to a screen according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 카메라를 기준으로 마커들 간의 각도를 산출하는 상태를 나타낸 도면8 is a diagram illustrating a state of calculating an angle between markers based on a camera according to an embodiment of the present invention.
도 9는 본 발명의 실시예에 따른 변환 매트릭스에 의한 투영 공간을 나타낸 도면9 is a diagram showing a projection space by a transformation matrix according to an embodiment of the present invention.
도 10은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도10 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to assist in a comprehensive understanding of the methods, devices, and / or systems described herein. However, this is only an example and the present invention is not limited thereto.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or an operator. Therefore, the definition should be made based on the contents throughout the specification. The terminology used in the description is for the purpose of describing embodiments of the invention only and should not be limiting. Unless expressly used otherwise, the singular forms “a,” “an,” and “the” include plural forms of meaning. In this description, expressions such as "comprises" or "equipment" are intended to indicate certain features, numbers, steps, actions, elements, portions or combinations thereof, and one or more than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, actions, elements, portions or combinations thereof.
이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다. In the following description, the terms "transfer", "communication", "transmit", "receive" and other similar meanings of signals or information are not only meant to directly convey the signal or information from one component to another. It also includes passing through other components. In particular, "transmitting" or "sending" a signal or information to a component indicates the final destination of the signal or information and does not mean a direct destination. The same is true for the "reception" of a signal or information. In addition, in this specification, that two or more pieces of data or information are "related" means that if one data (or information) is obtained, at least a portion of the other data (or information) can be obtained based thereon.
한편, 상측, 하측, 일측, 타측 등과 같은 방향성 용어는 개시된 도면들의 배향과 관련하여 사용된다. 본 발명의 실시예의 구성 요소는 다양한 배향으로 위치 설정될 수 있으므로, 방향성 용어는 예시를 목적으로 사용되는 것이지 이를 제한하는 것은 아니다.Meanwhile, directional terms such as upper side, lower side, one side, the other side, and the like are used in connection with the orientation of the disclosed drawings. Since the components of the embodiments of the present invention can be positioned in various orientations, the directional terminology is used for the purpose of illustration and not limitation.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.In addition, terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
옵티컬 시스루(Optical See Through) 타입의 헤드 마운트 디스플레이(Head Mounted Display)를 이용한 증강 현실의 경우 현실 세계와 가상 객체의 정합을 위해서는, 1) 카메라 내부 파라미터(camera intrinsic parameter) 보정, 2) 사용자의 눈 및 헤드 마운트 디스플레이의 카메라 간 시야각 보정, 및 3) 사용자의 눈과 카메라의 물리적 위치에 따른 보정이 요구된다. 이 중 본 발명의 실시예는 사용자의 눈 및 헤드 마운트 디스플레이의 카메라 간 시야각을 보정하기 위한 기술과 관련된다. In the case of augmented reality using optical see-through type Head Mounted Display, in order to match the real world and virtual objects, 1) camera intrinsic parameter correction, 2) user's eyes And correction of the viewing angle between cameras of the head mounted display, and 3) the user's eyes and the physical position of the camera. One embodiment of the present invention relates to a technique for correcting a viewing angle between an eye of a user and a camera of a head mounted display.
도 1은 본 발명의 일 실시예에 따른 옵티컬 시스루 타입의 헤드 마운트 디스플레이를 나타낸 사시도이다. 1 is a perspective view showing an optical see-through type head mounted display according to an embodiment of the present invention.
도 1을 참조하면, 헤드 마운트 디스플레이(100)는 제1 스크린(102), 제2 스크린(104), 프레임(106), 헤드 장착부(108), 카메라(110), 및 캘리브레이션 모듈(112)을 포함할 수 있다. Referring to FIG. 1, the head mounted display 100 may include a first screen 102, a second screen 104, a frame 106, a head mount 108, a camera 110, and a calibration module 112. It may include.
제1 스크린(102)은 투명 또는 반투명 또는 불투명하게 마련될 수 있다. 제1 스크린(102)은 사용자의 두 눈 중 어느 한쪽 눈(예를 들어, 오른쪽 눈)과 대응하여 마련될 수 있다. 제1 스크린(102)은 시스루 렌즈를 포함할 수 있다. The first screen 102 may be provided transparent or translucent or opaque. The first screen 102 may be provided to correspond to one of two eyes of the user (eg, the right eye). The first screen 102 can include a see-through lens.
제2 스크린(104)은 투명 또는 반투명 또는 불투명하게 마련될 수 있다. 제2 스크린(104)은 사용자의 두 눈 중 다른 쪽 눈(예를 들어, 왼쪽 눈)과 대응하여 마련될 수 있다. 제2 스크린(104)은 시스루 렌즈를 포함할 수 있다. The second screen 104 may be provided transparent or translucent or opaque. The second screen 104 may be provided in correspondence with the other of the two eyes of the user (eg, the left eye). The second screen 104 may include a see through lens.
제1 스크린(102) 및 제2 스크린(104)은 투명도가 조절되도록 마련될 수 있다. 사용자는 제1 스크린(102) 및 제2 스크린(104)을 통하여 전방의 현실 세계를 바라볼 수 있다. The first screen 102 and the second screen 104 may be provided to adjust the transparency. The user can see the real world in front through the first screen 102 and the second screen 104.
프레임(106)은 제1 스크린(102) 및 제2 스크린(104)과 결합되어 마련될 수 있다. 프레임(106)은 제1 스크린(102) 및 제2 스크린(104)의 테두리를 따라 결합될 수 있다. 프레임(106)은 제1 스크린(102) 및 제2 스크린(104)을 고정시키는 역할을 할 수 있다. 프레임(106)에는 헤드 마운트 디스플레이(100)의 착용 시 헤드 마운트 디스플레이(100)가 흘러내리지 않도록 사용자의 콧등에 안착되는 부분이 마련될 수 있다. The frame 106 may be provided in combination with the first screen 102 and the second screen 104. The frame 106 may be coupled along the rim of the first screen 102 and the second screen 104. The frame 106 may serve to fix the first screen 102 and the second screen 104. The frame 106 may be provided with a part seated on the user's nose or the like so that the head mounted display 100 does not flow down when the head mounted display 100 is worn.
헤드 장착부(108)는 헤드 마운트 디스플레이(100)가 사용자의 헤드 부분에 장착되도록 하는 부분이다. 헤드 장착부(108)는 제1 헤드 장착부(108-1) 및 제2 헤드 장착부(108-2)를 포함할 수 있다. 제1 헤드 장착부(108-1)는 프레임(106)의 일측에서 후방으로 마련될 수 있다. 제2 헤드 장착부(108-2)는 프레임(106)의 타측에서 후방으로 마련될 수 있다. 제1 헤드 장착부(108-1) 및 제2 헤드 장착부(108-2)는 사용자의 헤드를 감싸도록 마련될 수 있다. 여기서는 헤드 장착부(108)가 제1 헤드 장착부(108-1) 및 제2 헤드 장착부(108-2)를 포함하는 것으로 설명하였으나, 이에 한정되는 것은 아니며 헤드 장착부(108)는 프레임(106)의 일측과 타측을 연결하며 일체로 형성될 수도 있다. The head mounting portion 108 is a portion for allowing the head mounted display 100 to be mounted on the head portion of the user. The head mounting unit 108 may include a first head mounting unit 108-1 and a second head mounting unit 108-2. The first head mounting portion 108-1 may be provided rearward from one side of the frame 106. The second head mounting unit 108-2 may be provided rearward from the other side of the frame 106. The first head mounting unit 108-1 and the second head mounting unit 108-2 may be provided to surround the head of the user. Although the head mounting unit 108 has been described as including the first head mounting unit 108-1 and the second head mounting unit 108-2, the head mounting unit 108 is not limited thereto. It may be formed integrally with connecting the other side.
카메라(110)는 헤드 마운트 디스플레이(100)의 주변을 촬영하도록 마련될 수 있다. 예시적인 실시예에서, 카메라(110)는 프레임(106)에 마련될 수 있다. 카메라(110)는 프레임(106)의 상단에서 제1 스크린(102)과 제2 스크린(104) 사이에 마련될 수 있다. 그러나, 카메라(110)의 장착 위치가 이에 한정되는 것은 아니다. The camera 110 may be provided to photograph the periphery of the head mounted display 100. In an exemplary embodiment, the camera 110 may be provided in the frame 106. The camera 110 may be provided between the first screen 102 and the second screen 104 at the top of the frame 106. However, the mounting position of the camera 110 is not limited thereto.
캘리브레이션 모듈(112)은 사용자의 눈과 카메라(110) 간 시야각(Field of View : FoV)의 차이를 보정할 수 있다. 캘리브레이션 모듈(112)은 프레임(106)에 설치될 수 있으나, 이에 한정되는 것은 아니며 헤드 장착부(108)에 설치될 수도 있다. The calibration module 112 may correct a difference in a field of view (FOV) between the user's eyes and the camera 110. The calibration module 112 may be installed in the frame 106, but is not limited thereto. The calibration module 112 may be installed in the head mounting unit 108.
도 2는 옵티컬 시스루 타입의 헤드 마운트 디스플레이에서 사용자의 눈과 카메라 간 시야각의 차이를 나타낸 도면이다. 도 2를 참조하면, 카메라의 시야각(A)은 카메라(110)가 바라보는 시야각을 의미하고, 눈의 시야각(B)은 사용자의 눈이 바라보는 시야각을 의미할 수 있다. 2 is a view illustrating a difference in a viewing angle between a user's eyes and a camera in an optical see-through type head mounted display. Referring to FIG. 2, the viewing angle A of the camera may refer to the viewing angle viewed by the camera 110, and the viewing angle B of the eye may refer to the viewing angle viewed by the user's eyes.
여기서, 사용자는 스크린(102, 104)을 통해 전방을 바라보기 때문에, 사용자가 스크린(102, 104)을 통해 바라보는 시야각(C)을 기준으로 카메라의 시야각(A)을 보정할 필요가 있다. 이에, 캘리브레이션 모듈(112)은 사용자가 스크린(102, 104)을 통해 바라보는 시야각(C)을 산출한 후, 카메라의 시야각(A)을 사용자가 스크린(102, 104)을 통해 바라보는 시야각(C)으로 변환시켜 시야각 간의 차이를 보정할 수 있다. 이에 대한 자세한 설명은 후술하기로 한다.Here, since the user looks forward through the screens 102 and 104, it is necessary to correct the viewing angle A of the camera based on the viewing angle C that the user views through the screens 102 and 104. Accordingly, the calibration module 112 calculates the viewing angle C viewed by the user through the screens 102 and 104, and then views the viewing angle A of the camera through the screens 102 and 104. C) to correct for differences between viewing angles. Detailed description thereof will be described later.
본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예건대, 상기 "모듈"은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아니다.In the present specification, the module may mean a functional and structural combination of hardware for performing the technical idea of the present invention and software for driving the hardware. For example, the “module” may mean a logical unit of a predetermined code and a hardware resource for performing the predetermined code, and does not necessarily mean a physically connected code or a kind of hardware. .
개시되는 실시예에서, 사용자가 스크린(102, 104)을 통해 바라보는 시야각(C)을 산출하기 위해, 복수 개의 마커가 표시된 마커 부재를 이용할 수 있다. In the disclosed embodiment, a marker member marked with a plurality of markers may be used to calculate the viewing angle C that the user sees through the screens 102 and 104.
도 3은 본 발명의 일 실시예에 따른 마커 부재를 나타낸 도면이다. 도 3을 참조하면, 마커 부재(150)는 베이스부(151), 고정부(153), 및 마커(155)를 포함할 수 있다. 3 is a view showing a marker member according to an embodiment of the present invention. Referring to FIG. 3, the marker member 150 may include a base portion 151, a fixing portion 153, and a marker 155.
베이스부(151)는 마커 부재(150)를 지지하는 역할을 할 수 있다. 베이스부(151)는 평평한 플레이트로 이루어질 수 있다. 고정부(153)는 베이스부(151)의 일측에서 돌출되어 마련될 수 있다. 예를 들어, 고정부(153)는 베이스부(151)의 하측에서 하부로 돌출되어 마련될 수 있다. 고정부(153)는 사용자가 마커 부재(150)를 파지하는 부분일 수 있다. 또는, 고정부(153)는 별도의 장비에 장착되는 부분일 수 있다. The base unit 151 may serve to support the marker member 150. The base portion 151 may be formed of a flat plate. The fixing part 153 may protrude from one side of the base part 151. For example, the fixing part 153 may protrude downward from the bottom of the base part 151. The fixing part 153 may be a part in which the user grips the marker member 150. Alternatively, the fixing part 153 may be a part mounted on separate equipment.
마커(155)는 베이스부(151)의 일면에 복수 개가 마련될 수 있다. 예를 들어, 마커(155)는 베이스부(151)의 일면에 부착되어 마련될 수 있다. 마커(155)는 제1 마커(155-1) 내지 제4 마커(155-4)를 포함할 수 있다. 제1 마커(155-1) 내지 제4 마커(155-4)는 정사각형 형태로 이루어질 수 있다. 제1 마커(155-1) 및 제2 마커(155-2)는 베이스부(151)의 일면 상부에서 베이스부(151)의 수직 중심축을 기준으로 좌우 대칭하여 마련될 수 있다. 제3 마커(155-3) 및 제4 마커(155-4)는 베이스부(151)의 일면 하부에서 베이스부(151)의 수직 중심축을 기준으로 좌우 대칭하여 마련될 수 있다. 이때, 제1 마커(155-1) 및 제3 마커(155-3)와 제2 마커(155-2) 및 제4 마커(155-4)는 각각 베이스부(151)의 수평 중심축을 기준으로 상하 대칭하여 마련될 수 있다. 그러나, 마커(155)의 형상 및 마커(155) 간 배치 형태가 이에 한정되는 것은 아니다. A plurality of markers 155 may be provided on one surface of the base portion 151. For example, the marker 155 may be attached to one surface of the base portion 151. The marker 155 may include the first marker 155-1 to the fourth marker 155-4. The first marker 155-1 to the fourth marker 155-4 may have a square shape. The first marker 155-1 and the second marker 155-2 may be provided to be symmetrical with respect to the vertical center axis of the base 151 on one surface of the base 151. The third marker 155-3 and the fourth marker 155-4 may be provided to be symmetrical with respect to the vertical central axis of the base 151 at one lower surface of the base 151. In this case, the first marker 155-1, the third marker 155-3, the second marker 155-2, and the fourth marker 155-4 are based on the horizontal center axis of the base unit 151, respectively. It may be provided symmetrically up and down. However, the shape of the marker 155 and the arrangement form between the markers 155 are not limited thereto.
도 4는 본 발명의 일 실시예에 따른 캘리브레이션 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 여기서는 사용자의 오른쪽 눈과 왼쪽 눈의 시야각이 동일하다는 것을 가정하고 설명하기로 한다. 이하에서, 사용자의 눈이라 함은 사용자의 오른쪽 눈 또는 왼쪽 눈을 의미할 수 있으며, 스크린이라 함은 사용자의 오른쪽 눈 또는 왼쪽 눈에 대응하는 스크린을 의미할 수 있으며, 설명의 편의상 제1 스크린(102)인 것으로 설명하기로 한다.4 is a flowchart illustrating a calibration method according to an embodiment of the present invention. In the illustrated flow chart, the method is divided into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted, divided into substeps, or not shown. One or more steps may be added and performed. Herein, it is assumed that the viewing angles of the user's right eye and the left eye are the same. Hereinafter, the eye of the user may mean the right or left eye of the user, and the screen may mean a screen corresponding to the right or left eye of the user, and for convenience of description, the first screen ( 102).
도 4를 참조하면, 캘리브레이션 모듈(112)은 캘리브레이션 이벤트가 발생하는지 여부를 확인한다(S 101). 캘리브레이션 이벤트는 헤드 마운트 디스플레이(100)에서 캘리브레이션이 요구되는 경우 발생하는 것으로, 예를 들어, 사용자가 헤드 마운트 디스플레이(100)에 마련된 별도의 버튼을 누르거나 헤드 마운트 디스플레이(100)에 설치된 캘리브레이션을 위한 어플리케이션을 실행시키는 경우에 발생할 수 있다. 또는, 캘리브레이션 이벤트는 헤드 마운트 디스플레이(100)의 카메라(110)가 전방의 마커 부재(150)를 인지하는 경우에 발생할 수도 있다. Referring to FIG. 4, the calibration module 112 checks whether a calibration event occurs (S 101). The calibration event occurs when calibration is required in the head mounted display 100. For example, a user presses a separate button provided on the head mounted display 100 or performs calibration for the head mounted display 100. Can occur when running an application. Alternatively, the calibration event may occur when the camera 110 of the head mounted display 100 recognizes the front marker member 150.
예시적인 실시예에서, 도 5에 도시된 바와 같이, 사용자가 헤드 마운트 디스플레이(100)를 두부에 착용하고, 헤드 마운트 디스플레이(100)의 전방 일정 거리에 마커 부재(150)를 위치시킨 상태에서, 헤드 마운트 디스플레이(100)에 마련된 별도의 버튼을 눌러 캘리브레이션 이벤트를 발생시킬 수 있다.In an exemplary embodiment, as shown in FIG. 5, with the user wearing the head mounted display 100 on the head and positioning the marker member 150 at a predetermined distance in front of the head mounted display 100, By pressing a separate button provided in the head mounted display 100, a calibration event may be generated.
단계 S 101의 확인 결과, 캘리브레이션 이벤트가 발생하는 경우, 캘리브레이션 모듈(112)은 헤드 마운트 디스플레이(100)의 스크린(102)에 복수 개의 가상 마커(121)를 렌더링하여 표시한다(S 103). 여기서, 가상 마커(121)는 마커 부재(150)의 마커(155)들과 대응하여 형성된 가상 이미지일 수 있다. As a result of checking in step S 101, when a calibration event occurs, the calibration module 112 renders and displays a plurality of virtual markers 121 on the screen 102 of the head mounted display 100 (S 103). Here, the virtual marker 121 may be a virtual image formed to correspond to the markers 155 of the marker member 150.
도 6은 본 발명의 일 실시예에 따른 스크린(102)에 가상 마커(121)가 표시된 상태를 나타낸 도면이다. 도 6을 참조하면, 가상 마커(121)는 제1 가상 마커(121-1) 내지 제4 가상 마커(121-4)를 포함할 수 있다. 제1 가상 마커(121-1) 내지 제4 가상 마커(121-4)는 제1 마커(155-1) 내지 제4 마커(155-4)와 각각 대응하여 형성된 것일 수 있다. 즉, 제1 가상 마커(121-1) 내지 제4 가상 마커(121-4)는 제1 마커(155-1) 내지 제4 마커(155-4)의 형상 및 마커 간 배치 형태가 대응되도록 형성된 것일 수 있다. 6 is a view showing a state in which the virtual marker 121 is displayed on the screen 102 according to an embodiment of the present invention. Referring to FIG. 6, the virtual marker 121 may include a first virtual marker 121-1 to a fourth virtual marker 121-4. The first virtual marker 121-1 to the fourth virtual marker 121-4 may be formed to correspond to the first marker 155-1 to the fourth marker 155-4, respectively. That is, the first virtual marker 121-1 to the fourth virtual marker 121-4 are formed such that the shape of the first marker 155-1 to the fourth marker 155-4 and the arrangement form between the markers correspond to each other. It may be.
캘리브레이션 모듈(112)은 가상 마커(121)를 스크린(102)의 중심에 표시할 수 있다. 이때, 제1 가상 마커(121-1) 및 제2 가상 마커(121-2)와 제3 가상 마커(121-3) 및 제4 가상 마커(121-4)는 각각 스크린(102)의 수직 중심축을 기준으로 좌우 대칭하여 표시될 수 있다. 또한, 제1 가상 마커(121-1) 및 제3 가상 마커(121-3)와 제2 가상 마커(121-2) 및 제4 가상 마커(121-4)는 각각 스크린(102)의 수평 중심축을 기준으로 상하 대칭하여 표시될 수 있다. The calibration module 112 may display the virtual marker 121 at the center of the screen 102. In this case, the first virtual marker 121-1, the second virtual marker 121-2, the third virtual marker 121-3, and the fourth virtual marker 121-4 are respectively vertical centers of the screen 102. It may be displayed symmetrically with respect to the axis. In addition, the first virtual marker 121-1, the third virtual marker 121-3, the second virtual marker 121-2, and the fourth virtual marker 121-4 are respectively horizontal centers of the screen 102. It may be displayed symmetrically with respect to the axis.
가상 마커(121)는 사용자가 헤드 마운트 디스플레이(100)를 두부에 착용한 상태에서 기 설정된 기준 거리(예를 들어, 1m)에 위치한 마커 부재(150)를 바라보았을 때 스크린(102) 상에 투영되는 마커(155)들을 본따서 형성된 것일 수 있다. The virtual marker 121 is projected onto the screen 102 when the user looks at the marker member 150 positioned at a preset reference distance (for example, 1 m) while the user wears the head mounted display 100 on the head. The markers 155 may be formed by modeling the markers 155.
가상 마커(121)들을 스크린(102)에 표시한 경우, 스크린(102)에는 또한 전방에 위치한 마커 부재(150)의 마커(155)들이 투영되어 표시되게 된다. 즉, 사용자는 스크린(102)을 통해 전방에 위치한 마커 부재(150)를 보게 되므로, 스크린(102)에는 가상 마커(121)가 표시될 뿐만 아니라, 마커(155)들이 투영되어 표시되게 된다. When the virtual markers 121 are displayed on the screen 102, the markers 155 of the marker member 150 located in front of the screen 102 are projected and displayed. That is, since the user sees the marker member 150 located in front of the screen 102, not only the virtual marker 121 is displayed on the screen 102, but the markers 155 are projected and displayed.
다음으로, 캘리브레이션 모듈(112)은 스크린(102) 상에서 가상 마커(121)들과 마커(155)들이 정합(매칭)되는지 여부를 확인한다(S 105). 예시적인 실시예에서, 사용자는 스크린(102) 상에서 가상 마커(121)들과 마커(155)들이 매칭하도록 마커 부재(150)를 이동시킬 수 있다. 즉, 마커 부재(150)를 앞뒤 또는 좌우 등으로 이동시키면서 스크린(102) 상의 가상 마커(121)와 마커(155)들이 매칭되도록 할 수 있다. 마커 부재(150)는 사용자가 한 손으로 들고 이동시킬 수도 있으나, 이에 한정되는 것은 아니며 별도의 장비를 통해 이동시킬 수도 있다. 도 7은 본 발명의 일 실시예에 따른 스크린(102)에 가상 마커(121)들과 마커(155)들이 정합된 상태를 나타낸 도면이다. Next, the calibration module 112 checks whether the virtual markers 121 and the markers 155 are matched (matched) on the screen 102 (S 105). In an example embodiment, the user may move the marker member 150 on the screen 102 to match the virtual markers 121 and the markers 155. That is, the virtual marker 121 and the markers 155 on the screen 102 may be matched while the marker member 150 is moved back and forth or left and right. The marker member 150 may be moved by the user with one hand, but is not limited thereto and may be moved through separate equipment. FIG. 7 is a view illustrating a state in which virtual markers 121 and markers 155 are matched to the screen 102 according to an embodiment of the present invention.
단계 S 105의 확인 결과, 스크린(102) 상에서 가상 마커(121)들과 마커(155)들이 정합된 경우, 캘리브레이션 모듈(112)은 카메라(110)를 기준으로 마커(155)들 간의 각도를 산출한다(S 107). As a result of checking in step S 105, when the virtual markers 121 and the markers 155 are matched on the screen 102, the calibration module 112 calculates an angle between the markers 155 with respect to the camera 110. (S 107).
도 8은 본 발명의 일 실시예에 따른 카메라(110)를 기준으로 마커(155)들 간의 각도를 산출하는 상태를 나타낸 도면이다. 도 8을 참조하면, 캘리브레이션 모듈(112)은 스크린(102) 상에서 가상 마커(121)들과 마커(155)들이 정합되는 경우, 캘리브레이션 모듈(112)은 카메라(110)와 마커 부재(150) 간의 거리를 획득하고, 카메라(110)를 통해 마커 부재(150)를 촬영할 수 있다. 캘리브레이션 모듈(112)은 카메라(110)와 마커 부재(150) 간의 거리 및 촬영 영상에서 각 마커(155)들의 자세 정보(위치 및 회전 등과 관련한 정보)를 기반으로 카메라(110)를 기준으로 한 마커(155)들 간의 각도를 산출할 수 있다. 이때, 캘리브레이션 모듈(112)은 수평 마커 각도(θ1) 및 수직 마커 각도(θ2) 중 적어도 하나를 산출할 수 있다. 8 is a diagram illustrating a state of calculating angles between markers 155 based on the camera 110 according to an embodiment of the present invention. Referring to FIG. 8, when the calibration module 112 matches the virtual markers 121 and the markers 155 on the screen 102, the calibration module 112 may be configured between the camera 110 and the marker member 150. The distance may be obtained and the marker member 150 may be photographed through the camera 110. The calibration module 112 is a marker based on the camera 110 based on the distance between the camera 110 and the marker member 150 and posture information (information related to position and rotation) of each marker 155 in the captured image. The angle between 155 may be calculated. In this case, the calibration module 112 may calculate at least one of the horizontal marker angle θ1 and the vertical marker angle θ2.
여기서, 수평 마커 각도(θ1)는 카메라(110)를 기준으로 제1 마커(155-1)의 중심과 제2 마커(155-2)의 중심 간의 각도(또는 제3 마커(155-3)의 중심과 제4 마커(155-4)의 중심 간의 각도)를 의미할 수 있다. 즉, 수평 마커 각도는 마커 부재(150)에서 카메라(110)를 기준으로 수평 방향으로 배치된 마커들 간의 각도를 의미할 수 있다. 또한, 수직 마커 각도(θ2)는 카메라(110)를 기준으로 제1 마커(155-1)의 중심과 제3 마커(155-3)의 중심 간의 각도(또는 제2 마커(155-2)의 중심과 제4 마커(155-4)의 중심 간의 각도)를 의미할 수 있다. 즉, 수직 마커 각도는 마커 부재(150)에서 카메라(110)를 기준으로 수직 방향으로 배치된 마커들 간의 각도를 의미할 수 있다. Here, the horizontal marker angle θ1 is an angle between the center of the first marker 155-1 and the center of the second marker 155-2 with respect to the camera 110 (or the third marker 155-3). Angle between the center and the center of the fourth marker 155-4). That is, the horizontal marker angle may mean an angle between markers arranged in the horizontal direction with respect to the camera 110 in the marker member 150. In addition, the vertical marker angle θ2 is an angle between the center of the first marker 155-1 and the center of the third marker 155-3 with respect to the camera 110 (or the second marker 155-2). Angle between the center and the center of the fourth marker 155-4). That is, the vertical marker angle may mean an angle between markers disposed in the vertical direction with respect to the camera 110 in the marker member 150.
다음으로, 캘리브레이션 모듈(112)은 스크린(102) 상에 표시된 가상 마커(121)들 간의 거리를 산출한다(S 109). 예시적인 실시예에서, 캘리브레이션 모듈(112)은 수평 가상 마커 거리 및 수직 가상 마커 거리 중 적어도 하나를 산출할 수 있다. Next, the calibration module 112 calculates the distance between the virtual markers 121 displayed on the screen 102 (S 109). In an exemplary embodiment, the calibration module 112 may calculate at least one of a horizontal virtual marker distance and a vertical virtual marker distance.
여기서, 수평 가상 마커 거리는 제1 가상 마커(121-1)의 중심과 제2 가상 마커(121-2)의 중심 간의 거리(또는 제3 가상 마커(121-3)의 중심과 제4 가상 마커(121-4)의 중심 간의 거리)를 의미할 수 있다. 즉, 수평 가상 마커 거리는 스크린(102)에서 수평 방향으로 배치된 가상 마커들 간의 거리를 의미할 수 있다. Here, the horizontal virtual marker distance is a distance between the center of the first virtual marker 121-1 and the center of the second virtual marker 121-2 (or the center of the third virtual marker 121-3 and the fourth virtual marker ( 121-4) the distance between the center of the). That is, the horizontal virtual marker distance may mean the distance between the virtual markers arranged in the horizontal direction on the screen 102.
또한, 수직 가상 마커 거리는 제1 가상 마커(121-1)의 중심과 제3 가상 마커(121-3)의 중심 간의 거리(또는 제2 가상 마커(121-2)의 중심과 제4 가상 마커(121-4)의 중심 간의 거리)를 의미할 수 있다. 즉, 수직 가상 마커 거리는 스크린(102)에서 수직 방향으로 배치된 가상 마커들 간의 거리를 의미할 수 있다. 수평 가상 마커 거리 및 수직 가상 마커 거리는 픽셀(Pixel) 단위로 표현될 수 있다. In addition, the vertical virtual marker distance is the distance between the center of the first virtual marker 121-1 and the center of the third virtual marker 121-3 (or the center of the second virtual marker 121-2 and the fourth virtual marker ( 121-4) the distance between the center of the). That is, the vertical virtual marker distance may mean the distance between the virtual markers arranged in the vertical direction on the screen 102. The horizontal virtual marker distance and the vertical virtual marker distance may be expressed in units of pixels.
다음으로, 캘리브레이션 모듈(112)은 카메라(110)를 기준으로 한 마커(155)들 간의 각도, 스크린(102) 상에 표시된 가상 마커(121)들 간의 거리, 및 스크린(102)의 크기를 기반으로 사용자가 스크린을 통해 바라보는 시야각을 산출한다(S 111). 즉, 캘리브레이션 모듈(112)은 카메라(110)를 기준으로 한 마커(155)들 간의 각도 및 스크린(102) 상에 표시된 가상 마커(121)들 간의 거리 간의 비율 관계를 스크린(102)의 크기 및 사용자가 스크린을 통해 바라보는 시야각에 적용하여 사용자가 스크린을 통해 바라보는 시야각을 산출할 수 있다.Next, the calibration module 112 is based on the angle between the markers 155 relative to the camera 110, the distance between the virtual markers 121 displayed on the screen 102, and the size of the screen 102. In operation S111, the viewing angle calculated by the user through the screen is calculated. That is, the calibration module 112 measures the ratio relationship between the angle between the markers 155 with respect to the camera 110 and the distance between the virtual markers 121 displayed on the screen 102 and the size of the screen 102. The viewing angle that the user views through the screen may be calculated by applying the viewing angle that the user views through the screen.
예시적인 실시예에서, 스크린(102)의 너비가 1024 픽셀이고, 수평 마커 각도가 30도이며, 수평 가상 마커 거리가 500 픽셀인 경우, 30 : 500 = x : 1024의 비율 관계를 통해 x(사용자가 스크린을 통해 바라보는 수평 시야각)가 61도 임을 산출할 수 있다. 이를 통해, 사용자가 스크린을 통해 바라보는 수평 시야각(FoVx) 및 사용자가 스크린을 통해 바라보는 수직 시야각(FoVy)은 하기의 수학식 1을 통해 나타낼 수 있다. In an exemplary embodiment, if the screen 102 is 1024 pixels wide, the horizontal marker angle is 30 degrees, and the horizontal virtual marker distance is 500 pixels, then x (user) is achieved through a ratio relationship of 30: 500 = x: 1024. Calculates that the horizontal viewing angle viewed through the screen is 61 degrees. Through this, the horizontal viewing angle FoVx that the user views through the screen and the vertical viewing angle FoVy that the user views through the screen may be represented by Equation 1 below.
(수학식 1)(Equation 1)
Figure PCTKR2018002921-appb-I000009
Figure PCTKR2018002921-appb-I000009
Figure PCTKR2018002921-appb-I000010
Figure PCTKR2018002921-appb-I000010
다음으로, 캘리브레이션 모듈(112)은 변환 매트릭스를 이용하여 카메라(110)의 시야각을 사용자가 스크린을 통해 바라보는 시야각으로 변환시킨다(S 113). 캘리브레이션 모듈(112)은 하기의 수학식 2에 나타난 변환 매트릭스(M)를 이용하여 카메라(110)의 시야각을 사용자가 스크린을 통해 바라보는 시야각으로 변환시킬 수 있다. 여기서는 사용자가 스크린을 통해 바라보는 수직 시야각(FoVy)을 이용하여 변환 매트릭스를 산출하는 경우를 나타내었다.Next, the calibration module 112 converts the viewing angle of the camera 110 to the viewing angle viewed by the user through the screen using the transformation matrix (S 113). The calibration module 112 may convert the viewing angle of the camera 110 into the viewing angle that the user views through the screen by using the transformation matrix M shown in Equation 2 below. In this case, the transformation matrix is calculated using the vertical viewing angle (FoVy) viewed by the user through the screen.
(수학식 2)(Equation 2)
Figure PCTKR2018002921-appb-I000011
Figure PCTKR2018002921-appb-I000011
여기서, ratio는 스크린(102)의 너비와 높이 간 비율을 나타내는 것으로, 스크린(102)의 높이/스크린(102)의 너비로 나타낼 수 있다. far는 카메라(110)를 기준으로 카메라(110)의 전방 근거리 상수를 나타내며, near는 카메라(110)를 기준으로 카메라(110)의 전방 원거리 상수를 나타낸다. 즉, far는 카메라(110)를 통해 카메라(110) 전방의 물체를 어느 지점부터 보여줄 것인지를 나타내는 상수이고, near는 카메라(110)를 통해 카메라(110) 전방의 물체를 어디까지 보여줄 것인지를 나타내는 상수이다. 스크린(102)의 높이는 y축에 대응하고, 스크린(102)의 너비는 z축에 대응하며, 카메라(110)의 전방은 z축에 대응할 수 있다.Here, the ratio represents the ratio between the width and the height of the screen 102, it may be represented by the height of the screen 102 / the width of the screen 102. far represents the front near constant of the camera 110 based on the camera 110, and near represents the front far constant of the camera 110 based on the camera 110. That is, far is a constant indicating from which point the object in front of the camera 110 will be shown through the camera 110, and near is a distance indicating the object in front of the camera 110 through the camera 110. Is a constant. The height of the screen 102 may correspond to the y-axis, the width of the screen 102 may correspond to the z-axis, and the front of the camera 110 may correspond to the z-axis.
도 9는 본 발명의 실시예에 따른 변환 매트릭스에 의한 투영 공간을 나타낸 도면이다. 도 9를 참조하면, 카메라(110)의 시야각에 의한 가상 평면(VP1)은 도 2에서도 확인할 수 있는 바와 같이, 사용자가 스크린을 통해 바라보는 시야각에 의한 가상 평면(VP2) 보다 넓은 범위를 가지게 된다. 여기서, 가상 평면(VP1)과 가상 평면(VP2)는 동일한 평면 상에 위치하는 것으로 한다. 9 is a view showing a projection space by the transformation matrix according to an embodiment of the present invention. Referring to FIG. 9, the virtual plane VP1 by the viewing angle of the camera 110 may have a wider range than the virtual plane VP2 by the viewing angle that the user views through the screen, as shown in FIG. 2. . Here, the virtual plane VP1 and the virtual plane VP2 are located on the same plane.
캘리브레이션 모듈(112)은 수학식 2에 의한 변환 매트릭스를 이용하여 카메라(110)의 시야각을 사용자가 스크린을 통해 바라보는 시야각으로 변환시키게 된다. 그러면, 카메라(110)의 시야각에 의한 가상 평면(VP1)을 사용자가 스크린을 통해 바라보는 시야각에 의한 가상 평면(VP2)으로 변환시킬 수 있게 된다. 수학식 2에서 ratio가 스크린(102)의 높이(y)/스크린(102)의 너비(x)이기 때문에,
Figure PCTKR2018002921-appb-I000012
값을 통해서는 x축의 변환된 시야각을 산출하게 되고,
Figure PCTKR2018002921-appb-I000013
값을 통해서는 y축의 변환된 시야각을 산출할 수 있게 된다.
The calibration module 112 converts the viewing angle of the camera 110 into the viewing angle that the user views through the screen using the transformation matrix according to Equation 2. Then, the virtual plane VP1 based on the viewing angle of the camera 110 may be converted into the virtual plane VP2 based on the viewing angle viewed by the user. Since the ratio in equation (2) is the height (y) of the screen 102 / the width (x) of the screen 102,
Figure PCTKR2018002921-appb-I000012
The value is used to calculate the converted viewing angle on the x-axis,
Figure PCTKR2018002921-appb-I000013
The value can be used to calculate the converted viewing angle on the y-axis.
한편, 수학식 2에서는 사용자가 스크린을 통해 바라보는 수직 시야각(FoVy)을 이용하여 변환 매트릭스를 산출하는 경우를 나타내었으나, 사용자가 스크린을 통해 바라보는 수평 시야각(FoVx)을 이용하여 변환 매트릭스(M)를 산출할 수도 있으며, 이에 대해서는 수학식 3에 나타내었다. Meanwhile, Equation 2 illustrates a case in which the transformation matrix is calculated using the vertical viewing angle FoVy viewed through the screen, but the transformation matrix M is calculated using the horizontal viewing angle FoVx viewed through the screen. ) Can be calculated, as shown in Equation 3.
(수학식 3)(Equation 3)
Figure PCTKR2018002921-appb-I000014
Figure PCTKR2018002921-appb-I000014
여기서,
Figure PCTKR2018002921-appb-I000015
값을 통해서는 x축의 변환된 시야각을 산출하고,
Figure PCTKR2018002921-appb-I000016
값을 통해서는 y축의 변환된 시야각을 산출할 수 있게 된다. 즉, 사용자가 스크린을 통해 바라보는 수평 시야각(FoVx) 및 사용자가 스크린을 통해 바라보는 수직 시야각(FoVy) 중 어느 하나의 값만 있으면 카메라(110)의 시야각을 사용자가 스크린을 통해 바라보는 시야각으로 변환시킬 수 있게 된다.
here,
Figure PCTKR2018002921-appb-I000015
Value is used to calculate the converted viewing angle on the x-axis,
Figure PCTKR2018002921-appb-I000016
The value can be used to calculate the converted viewing angle on the y-axis. That is, if only one value of the horizontal viewing angle (FoVx) viewed by the user through the screen and the vertical viewing angle (FoVy) viewed by the user through the screen, the viewing angle of the camera 110 is converted into the viewing angle viewed by the user through the screen. You can do it.
도 10은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되는 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.10 is a block diagram illustrating and describing a computing environment 10 that includes a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those described below.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 헤드 마운트 디스플레이 장치(예를 들어, 헤드 마운트 디스플레이(100))일 수 있다. 또한, 컴퓨팅 장치(12)는 캘리브레이션을 위한 장치(예를 들어, 캘리브레이션 모듈(112))일 수 있다.The illustrated computing environment 10 includes a computing device 12. In one embodiment, computing device 12 may be a head mounted display device (eg, head mounted display 100). In addition, computing device 12 may be a device for calibration (eg, calibration module 112).
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다. Computing device 12 includes at least one processor 14, computer readable storage medium 16, and communication bus 18. The processor 14 may cause the computing device 12 to operate according to the example embodiments mentioned above. For example, processor 14 may execute one or more programs stored in computer readable storage medium 16. The one or more programs may include one or more computer executable instructions that, when executed by the processor 14, cause the computing device 12 to perform operations in accordance with an exemplary embodiment. Can be.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer readable storage medium 16 is configured to store computer executable instructions or program code, program data and / or other suitable forms of information. The program 20 stored in the computer readable storage medium 16 includes a set of instructions executable by the processor 14. In one embodiment, computer readable storage medium 16 includes memory (volatile memory, such as random access memory, nonvolatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash Memory devices, or any other form of storage medium that is accessible by computing device 12 and capable of storing desired information, or a suitable combination thereof.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.The communication bus 18 interconnects various other components of the computing device 12, including the processor 14 and the computer readable storage medium 16.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다. Computing device 12 may also include one or more input / output interfaces 22 and one or more network communication interfaces 26 that provide an interface for one or more input / output devices 24. The input / output interface 22 and the network communication interface 26 are connected to the communication bus 18. The input / output device 24 may be connected to other components of the computing device 12 via the input / output interface 22. Exemplary input / output devices 24 may include pointing devices (such as a mouse or trackpad), keyboards, touch input devices (such as touchpads or touchscreens), voice or sound input devices, various types of sensor devices, and / or imaging devices. Input devices, and / or output devices such as display devices, printers, speakers, and / or network cards. The example input / output device 24 may be included inside the computing device 12 as one component of the computing device 12, and may be connected to the computing device 12 as a separate device from the computing device 12. It may be.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the exemplary embodiments of the present invention have been described in detail above, those skilled in the art will appreciate that various modifications can be made to the above-described embodiments without departing from the scope of the present invention. . Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.

Claims (19)

  1. 하나 이상의 프로세서들, 및 One or more processors, and
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 옵티컬 시스루 타입의 헤드 마운트 디스플레이 장치에서 수행되는 방법으로서, A method performed in an optical see-through type head mounted display device having a memory for storing one or more programs executed by the one or more processors, the method comprising:
    상기 헤드 마운트 디스플레이의 스크린에 복수 개의 가상 마커를 표시하는 단계;Displaying a plurality of virtual markers on a screen of the head mounted display;
    상기 스크린 상에서 상기 가상 마커들과 상기 헤드 마운트 디스플레이의 전방에 위치한 복수 개의 마커들이 매칭되는지 여부를 확인하는 단계;Checking whether the virtual markers and the plurality of markers located in front of the head mounted display match on the screen;
    상기 스크린 상에서 상기 가상 마커들과 상기 마커들이 매칭되는 경우, 상기 헤드 마운트 디스플레이의 카메라를 기준으로 상기 마커들 간의 각도를 산출하는 단계;Calculating an angle between the markers based on a camera of the head mounted display when the virtual markers and the markers match on the screen;
    상기 스크린 상에 표시된 가상 마커들 간의 거리를 산출하는 단계; 및Calculating a distance between the virtual markers displayed on the screen; And
    상기 카메라를 기준으로 한 상기 마커들 간의 각도, 상기 가상 마커들 간의 거리, 및 상기 스크린의 크기를 기반으로 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하는 단계를 포함하는, 캘리브레이션 방법.Calculating a viewing angle viewed by the user through the screen based on an angle between the markers relative to the camera, a distance between the virtual markers, and the size of the screen.
  2. 청구항 1에 있어서, The method according to claim 1,
    상기 복수 개의 마커는, 상기 헤드 마운트 디스플레이의 전방에 위치하는 베이스부의 일면에 마련되는 제1 마커 및 상기 베이스부의 일면에서 상기 제1 마커와 수평 방향 또는 수직 방향으로 이격되어 마련되는 제2 마커를 포함하고, The plurality of markers may include a first marker provided on one surface of a base portion positioned in front of the head mounted display, and a second marker spaced apart from the first marker in a horizontal or vertical direction from one surface of the base portion. and,
    상기 가상 마커는, 상기 제1 마커와 대응되는 제1 가상 마커 및 상기 제2 마커와 대응되는 제2 가상 마커를 포함하는, 캘리브레이션 방법.The virtual marker includes a first virtual marker corresponding to the first marker and a second virtual marker corresponding to the second marker.
  3. 청구항 2에 있어서, The method according to claim 2,
    상기 마커들 간의 각도를 산출하는 단계는, 상기 제1 마커와 상기 제2 마커 간의 수평 마커 각도 또는 수직 마커 각도를 산출하고, The calculating of the angle between the markers may include calculating a horizontal marker angle or a vertical marker angle between the first marker and the second marker,
    상기 가상 마커들 간의 거리를 산출하는 단계는, 상기 제1 가상 마커와 상기 제2 가상 마커 간의 수평 가상 마커 거리 또는 수직 가상 마커 거리를 산출하는, 캘리브레이션 방법.The calculating of the distance between the virtual markers may include calculating a horizontal virtual marker distance or a vertical virtual marker distance between the first virtual marker and the second virtual marker.
  4. 청구항 3에 있어서, The method according to claim 3,
    상기 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하는 단계는,Computing the viewing angle that the user sees through the screen,
    상기 수평 마커 각도, 상기 수평 가상 마커 거리, 및 상기 스크린의 너비를 기반으로 상기 사용자가 상기 스크린을 통해 바라보는 수평 시야각을 산출하는 단계를 포함하는, 캘리브레이션 방법.And calculating a horizontal viewing angle that the user views through the screen based on the horizontal marker angle, the horizontal virtual marker distance, and the width of the screen.
  5. 청구항 4에 있어서, The method according to claim 4,
    상기 사용자가 상기 스크린을 통해 바라보는 수평 시야각(FoVx)은, 하기의 수학식을 통해 산출하는, 캘리브레이션 방법.The horizontal viewing angle FoVx that the user views through the screen is calculated through the following equation.
    (수학식)(Mathematical formula)
    Figure PCTKR2018002921-appb-I000017
    Figure PCTKR2018002921-appb-I000017
  6. 청구항 5에 있어서, The method according to claim 5,
    상기 수평 시야각(FoVx)을 산출하는 단계 이후에, After calculating the horizontal viewing angle FoVx,
    상기 카메라의 시야각을 하기의 수학식에 의한 변환 매트릭스(M)를 이용하여 상기 사용자가 상기 스크린을 통해 바라보는 시야각으로 변환하는 단계를 더 포함하는, 캘리브레이션 방법.And converting the viewing angle of the camera into the viewing angle viewed by the user through the screen by using the transformation matrix M according to the following equation.
    (수학식)(Mathematical formula)
    Figure PCTKR2018002921-appb-I000018
    Figure PCTKR2018002921-appb-I000018
    ratio : 스크린의 높이/스크린의 너비ratio: screen height / screen width
    far : 카메라를 기준으로 한 카메라의 전방 근거리 상수far: Forward near-field constant of the camera relative to the camera
    near : 카메라를 기준으로 한 카메라의 전방 원거리 상수near: Forward distance constant of the camera relative to the camera
  7. 청구항 3에 있어서,The method according to claim 3,
    상기 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하는 단계는,Computing the viewing angle that the user sees through the screen,
    상기 수직 마커 각도, 상기 수직 가상 마커 거리, 및 상기 스크린의 높이를 기반으로 상기 사용자가 상기 스크린을 통해 바라보는 수직 시야각을 산출하는 단계를 포함하는, 캘리브레이션 방법.Calculating a vertical viewing angle that the user sees through the screen based on the vertical marker angle, the vertical virtual marker distance, and the height of the screen.
  8. 청구항 7에 있어서, The method according to claim 7,
    상기 사용자가 상기 스크린을 통해 바라보는 수직 시야각(FoVy)은 하기의 수학식을 통해 산출하는, 캘리브레이션 방법.The vertical viewing angle FoVy viewed by the user through the screen is calculated through the following equation.
    (수학식)(Mathematical formula)
    Figure PCTKR2018002921-appb-I000019
    Figure PCTKR2018002921-appb-I000019
  9. 청구항 8에 있어서, The method according to claim 8,
    상기 수직 시야각(FoVy)을 산출하는 단계 이후에, After calculating the vertical viewing angle FoVy,
    상기 카메라의 시야각을 하기의 수학식에 의한 변환 매트릭스(M)를 이용하여 상기 사용자가 상기 스크린을 통해 바라보는 시야각으로 변환하는 단계를 더 포함하는, 캘리브레이션 방법.And converting the viewing angle of the camera into the viewing angle viewed by the user through the screen by using the transformation matrix M according to the following equation.
    (수학식)(Mathematical formula)
    Figure PCTKR2018002921-appb-I000020
    Figure PCTKR2018002921-appb-I000020
    ratio : 스크린의 높이/스크린의 너비ratio: screen height / screen width
    far : 카메라를 기준으로 한 카메라의 전방 근거리 상수far: Forward near-field constant of the camera relative to the camera
    near : 카메라를 기준으로 한 카메라의 전방 원거리 상수near: Forward distance constant of the camera relative to the camera
  10. 하나 이상의 프로세서들;One or more processors;
    메모리; 및Memory; And
    하나 이상의 프로그램들을 포함하는 옵티컬 시스루 타입의 헤드 마운트 디스플레이로서,An optical see-through type head mounted display comprising one or more programs,
    상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, The one or more programs are stored in the memory and configured to be executed by the one or more processors,
    상기 하나 이상의 프로그램들은, The one or more programs,
    상기 헤드 마운트 디스플레이의 스크린에 복수 개의 가상 마커를 표시하기 위한 명령;Instructions for displaying a plurality of virtual markers on a screen of the head mounted display;
    상기 스크린 상에서 상기 가상 마커들과 상기 헤드 마운트 디스플레이의 전방에 위치한 복수 개의 마커들이 매칭되는지 여부를 확인하기 위한 명령;Instructions for checking whether the virtual markers and a plurality of markers located in front of the head mounted display match on the screen;
    상기 스크린 상에서 상기 가상 마커들과 상기 마커들이 매칭되는 경우, 상기 헤드 마운트 디스플레이의 카메라를 기준으로 상기 마커들 간의 각도를 산출하기 위한 명령;Calculating an angle between the markers relative to the camera of the head mounted display when the virtual markers and the markers match on the screen;
    상기 스크린 상에 표시된 가상 마커들 간의 거리를 산출하기 위한 명령; 및Calculating a distance between the virtual markers displayed on the screen; And
    상기 카메라를 기준으로 한 상기 마커들 간의 각도, 상기 가상 마커들 간의 거리, 및 상기 스크린의 크기를 기반으로 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하기 위한 명령을 포함하는, 헤드 마운트 디스플레이.And a command for calculating a viewing angle viewed by the user through the screen based on the angle between the markers relative to the camera, the distance between the virtual markers, and the size of the screen.
  11. 청구항 10에 있어서, The method according to claim 10,
    상기 복수 개의 마커는, 상기 헤드 마운트 디스플레이의 전방에 위치하는 베이스부의 일면에 마련되는 제1 마커 및 상기 베이스부의 일면에서 상기 제1 마커와 수평 방향 또는 수직 방향으로 이격되어 마련되는 제2 마커를 포함하고, The plurality of markers may include a first marker provided on one surface of a base portion positioned in front of the head mounted display, and a second marker spaced apart from the first marker in a horizontal or vertical direction from one surface of the base portion. and,
    상기 가상 마커는, 상기 제1 마커와 대응되는 제1 가상 마커 및 상기 제2 마커와 대응되는 제2 가상 마커를 포함하는, 헤드 마운트 디스플레이.The virtual marker includes a first virtual marker corresponding to the first marker and a second virtual marker corresponding to the second marker.
  12. 청구항 11에 있어서, The method according to claim 11,
    상기 하나 이상의 프로그램들은, The one or more programs,
    상기 마커들 간의 각도를 산출하기 위한 명령에서, 상기 제1 마커와 상기 제2 마커 간의 수평 마커 각도 또는 수직 마커 각도를 산출하고, In a command to calculate an angle between the markers, calculating a horizontal marker angle or a vertical marker angle between the first marker and the second marker,
    상기 가상 마커들 간의 거리를 산출하기 위한 명령에서, 상기 제1 가상 마커와 상기 제2 가상 마커 간의 수평 가상 마커 거리 또는 수직 가상 마커 거리를 산출하는, 헤드 마운트 디스플레이.In a command to calculate a distance between the virtual markers, calculating a horizontal virtual marker distance or a vertical virtual marker distance between the first virtual marker and the second virtual marker.
  13. 청구항 12에 있어서, The method according to claim 12,
    상기 하나 이상의 프로그램들은, The one or more programs,
    상기 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하기 위한 명령에서, In a command for calculating a viewing angle that the user sees through the screen,
    상기 수평 마커 각도, 상기 수평 가상 마커 거리, 및 상기 스크린의 너비를 기반으로 상기 사용자가 상기 스크린을 통해 바라보는 수평 시야각을 산출하기 위한 명령을 포함하는, 헤드 마운트 디스플레이.And instructions for calculating a horizontal viewing angle that the user sees through the screen based on the horizontal marker angle, the horizontal virtual marker distance, and the width of the screen.
  14. 청구항 13에 있어서, The method according to claim 13,
    상기 사용자가 상기 스크린을 통해 바라보는 수평 시야각(FoVx)은, 하기의 수학식을 통해 산출하는, 헤드 마운트 디스플레이.The horizontal viewing angle FoVx that the user views through the screen is calculated through the following equation.
    (수학식)(Mathematical formula)
    Figure PCTKR2018002921-appb-I000021
    Figure PCTKR2018002921-appb-I000021
  15. 청구항 14에 있어서, The method according to claim 14,
    상기 하나 이상의 프로그램들은, The one or more programs,
    상기 카메라의 시야각을 하기의 수학식에 의한 변환 매트릭스(M)를 이용하여 상기 사용자가 상기 스크린을 통해 바라보는 시야각으로 변환하기 위한 명령을 더 포함하는, 헤드 마운트 디스플레이.And converting the viewing angle of the camera into a viewing angle viewed by the user through the screen using a conversion matrix M according to the following equation.
    (수학식)(Mathematical formula)
    Figure PCTKR2018002921-appb-I000022
    Figure PCTKR2018002921-appb-I000022
    ratio : 스크린의 높이/스크린의 너비ratio: screen height / screen width
    far : 카메라를 기준으로 한 카메라의 전방 근거리 상수far: Forward near-field constant of the camera relative to the camera
    near : 카메라를 기준으로 한 카메라의 전방 원거리 상수near: Forward distance constant of the camera relative to the camera
  16. 청구항 12에 있어서, The method according to claim 12,
    상기 하나 이상의 프로그램들은,The one or more programs,
    상기 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하기 위한 명령에서,In a command for calculating a viewing angle that the user sees through the screen,
    상기 수직 마커 각도, 상기 수직 가상 마커 거리, 및 상기 스크린의 높이를 기반으로 상기 사용자가 상기 스크린을 통해 바라보는 수직 시야각을 산출하기 위한 명령을 포함하는, 헤드 마운트 디스플레이.And calculating a vertical viewing angle the user views through the screen based on the vertical marker angle, the vertical virtual marker distance, and the height of the screen.
  17. 청구항 16에 있어서, The method according to claim 16,
    상기 사용자가 상기 스크린을 통해 바라보는 수직 시야각(FoVy)은 하기의 수학식을 통해 산출하는, 헤드 마운트 디스플레이.The vertical viewing angle FoVy viewed by the user through the screen is calculated through the following equation.
    (수학식)(Mathematical formula)
    Figure PCTKR2018002921-appb-I000023
    Figure PCTKR2018002921-appb-I000023
  18. 청구항 17에 있어서, The method according to claim 17,
    상기 하나 이상의 프로그램들은,The one or more programs,
    상기 카메라의 시야각을 하기의 수학식에 의한 변환 매트릭스(M)를 이용하여 상기 사용자가 상기 스크린을 통해 바라보는 시야각으로 변환하기 위한 명령을 더 포함하는, 헤드 마운트 디스플레이.And converting the viewing angle of the camera into a viewing angle viewed by the user through the screen using a conversion matrix M according to the following equation.
    (수학식)(Mathematical formula)
    Figure PCTKR2018002921-appb-I000024
    Figure PCTKR2018002921-appb-I000024
    ratio : 스크린의 높이/스크린의 너비ratio: screen height / screen width
    far : 카메라를 기준으로 한 카메라의 전방 근거리 상수far: Forward near-field constant of the camera relative to the camera
    near : 카메라를 기준으로 한 카메라의 전방 원거리 상수near: Forward distance constant of the camera relative to the camera
  19. 하나 이상의 프로세서들;One or more processors;
    메모리; 및Memory; And
    하나 이상의 프로그램들을 포함하고,Contains one or more programs,
    상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, The one or more programs are stored in the memory and configured to be executed by the one or more processors,
    상기 하나 이상의 프로그램들은, The one or more programs,
    헤드 마운트 디스플레이의 스크린에 복수 개의 가상 마커를 표시하기 위한 명령;Instructions for displaying a plurality of virtual markers on a screen of a head mounted display;
    상기 스크린 상에서 상기 가상 마커들과 상기 헤드 마운트 디스플레이의 전방에 위치한 복수 개의 마커들이 매칭되는지 여부를 확인하기 위한 명령;Instructions for checking whether the virtual markers and a plurality of markers located in front of the head mounted display match on the screen;
    상기 스크린 상에서 상기 가상 마커들과 상기 마커들이 매칭되는 경우, 상기 헤드 마운트 디스플레이의 카메라를 기준으로 상기 마커들 간의 각도를 산출하기 위한 명령;Calculating an angle between the markers relative to the camera of the head mounted display when the virtual markers and the markers match on the screen;
    상기 스크린 상에 표시된 가상 마커들 간의 거리를 산출하기 위한 명령; 및Calculating a distance between the virtual markers displayed on the screen; And
    상기 카메라를 기준으로 한 상기 마커들 간의 각도, 상기 가상 마커들 간의 거리, 및 상기 스크린의 크기를 기반으로 사용자가 상기 스크린을 통해 바라보는 시야각을 산출하기 위한 명령을 포함하는, 컴퓨팅 장치.And calculating a viewing angle the user views through the screen based on an angle between the markers relative to the camera, a distance between the virtual markers, and the size of the screen.
PCT/KR2018/002921 2017-05-19 2018-03-13 Calibration method for matching of augmented reality objects and head mounted display for performing same WO2018212437A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170061975A KR101894846B1 (en) 2017-05-19 2017-05-19 Calibration method for matching of augmented reality object and head mounted display for executing the method
KR10-2017-0061975 2017-05-19

Publications (1)

Publication Number Publication Date
WO2018212437A1 true WO2018212437A1 (en) 2018-11-22

Family

ID=63598328

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/002921 WO2018212437A1 (en) 2017-05-19 2018-03-13 Calibration method for matching of augmented reality objects and head mounted display for performing same

Country Status (2)

Country Link
KR (1) KR101894846B1 (en)
WO (1) WO2018212437A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11227441B2 (en) 2019-07-04 2022-01-18 Scopis Gmbh Technique for calibrating a registration of an augmented reality device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012133179A (en) * 2010-12-22 2012-07-12 Nec Corp Stereoscopic device and control method of stereoscopic device
US20140333665A1 (en) * 2013-05-10 2014-11-13 Roger Sebastian Sylvan Calibration of eye location
KR20150069996A (en) * 2013-12-16 2015-06-24 서울대학교산학협력단 Medical image augmentation device using transparent display and method thereof
KR101661991B1 (en) * 2015-06-05 2016-10-04 재단법인 실감교류인체감응솔루션연구단 Hmd device and method for supporting a 3d drawing with a mobility in the mixed space

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8941559B2 (en) 2010-09-21 2015-01-27 Microsoft Corporation Opacity filter for display device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012133179A (en) * 2010-12-22 2012-07-12 Nec Corp Stereoscopic device and control method of stereoscopic device
US20140333665A1 (en) * 2013-05-10 2014-11-13 Roger Sebastian Sylvan Calibration of eye location
KR20150069996A (en) * 2013-12-16 2015-06-24 서울대학교산학협력단 Medical image augmentation device using transparent display and method thereof
KR101661991B1 (en) * 2015-06-05 2016-10-04 재단법인 실감교류인체감응솔루션연구단 Hmd device and method for supporting a 3d drawing with a mobility in the mixed space

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANTON FUHRMAN: "Fast Calibration for Augmented Reality", VRST' 99 PROCEEDINGS OF THE ACM SYMPOSIUM ON VIRTUAL REALITY SOFTWARE AND TECHNOLOGY, 20 December 1999 (1999-12-20), pages 166 - 167, XP058358664, DOI: doi:10.1145/323663.323692 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11227441B2 (en) 2019-07-04 2022-01-18 Scopis Gmbh Technique for calibrating a registration of an augmented reality device

Also Published As

Publication number Publication date
KR101894846B1 (en) 2018-09-04

Similar Documents

Publication Publication Date Title
WO2015122566A1 (en) Head mounted display device for displaying augmented reality image capture guide and control method for the same
WO2019035601A1 (en) Apparatus for editing image using depth map and method thereof
WO2014185710A1 (en) Method for correcting 3d image in tiled display and apparatus therefor
EP3108329A1 (en) Display system for displaying augmented reality image and control method for the same
WO2021133025A1 (en) Electronic device comprising image sensor and method of operation thereof
WO2019194606A1 (en) Electronic device including bendable display
WO2018088730A1 (en) Display apparatus and control method thereof
WO2019004565A1 (en) Calibration method for adjusting augmented reality object and head-mounted display for performing same
WO2021158057A1 (en) Electronic device and method for displaying image at the electronic device
WO2018164316A1 (en) Omnidirectional image capturing method and device for performing method
WO2018212437A1 (en) Calibration method for matching of augmented reality objects and head mounted display for performing same
WO2015030322A1 (en) Guide image generation device and method using parameters
WO2022050668A1 (en) Method for detecting hand motion of wearable augmented reality device by using depth image, and wearable augmented reality device capable of detecting hand motion by using depth image
WO2021230568A1 (en) Electronic device for providing augmented reality service and operating method thereof
WO2012081900A2 (en) Optical touch panel
WO2014073939A1 (en) Method and apparatus for capturing and displaying an image
WO2019135462A1 (en) Method and apparatus for calibration between leap motion and hmd using bundle adjustment algorithm
WO2021162353A1 (en) Electronic device comprising camera and method of operating same
WO2022092762A1 (en) Stereo matching method and image processing device performing same
WO2022050742A1 (en) Method for detecting hand motion of wearable augmented reality device by using depth image and wearable augmented reality device capable of detecting hand motion by using depth image
WO2015009112A9 (en) Method and apparatus for displaying images in portable terminal
WO2022145888A1 (en) Method for controlling augmented reality device, and augmented reality device performing same
WO2021145612A1 (en) Electronic device for performing image correction, and method for correcting image
WO2017217595A1 (en) Server and system for implementing augmented reality image based on positioning information
WO2018038300A1 (en) Image providing device, method and computer program

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

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

Country of ref document: EP

Kind code of ref document: A1