WO2021157196A1 - 情報処理装置及び情報処理方法、並びにコンピュータプログラム - Google Patents

情報処理装置及び情報処理方法、並びにコンピュータプログラム Download PDF

Info

Publication number
WO2021157196A1
WO2021157196A1 PCT/JP2020/046329 JP2020046329W WO2021157196A1 WO 2021157196 A1 WO2021157196 A1 WO 2021157196A1 JP 2020046329 W JP2020046329 W JP 2020046329W WO 2021157196 A1 WO2021157196 A1 WO 2021157196A1
Authority
WO
WIPO (PCT)
Prior art keywords
dots
unit
dot
code string
image
Prior art date
Application number
PCT/JP2020/046329
Other languages
English (en)
French (fr)
Inventor
清登 染谷
小林 直樹
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2021157196A1 publication Critical patent/WO2021157196A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/74Projection arrangements for image reproduction, e.g. using eidophor

Definitions

  • the technology disclosed in the present specification (hereinafter referred to as "the present disclosure") relates to an information processing device and an information processing method for processing a test pattern used for detecting a corresponding point between images, and a computer program.
  • Projection technology for projecting images on screens has been known for a long time, and is widely used in educational settings, conferences, presentations, etc. Since the image can be enlarged and displayed on a relatively large screen, there is an advantage that the same image can be presented to a plurality of people at the same time.
  • projection mapping that projects and displays an image on the surface of a screen having an arbitrary shape such as a building, and projector stacking that superimposes and projects the same projection surface using multiple projectors have also been used. It's coming.
  • the projection status of the projector is grasped before the projection is started. Further, even during the projection of an image, the posture of the projector and the shape of the projection surface may change due to the influence of disturbances such as temperature and vibration. Therefore, even after the projection is started, it is necessary to grasp the projection status of the projector and correct the image again. It is not preferable for the presenter and the audience to stop the projection operation and interrupt the presentation or the like every time the projection status of the projector is confirmed. Therefore, online sensing that confirms the projection status of the projector while continuing the image projection operation has also been proposed (see, for example, Patent Document 1).
  • An object of the present disclosure is to provide, for example, an information processing device and an information processing method for processing a test pattern used for detecting a corresponding point between images in online sensing of a projector, and a computer program.
  • the first aspect of the present disclosure is an information processing apparatus used for detecting a corresponding point between images and executing a process for generating a test pattern composed of a plurality of dots.
  • a judgment unit that determines the uniqueness of the code string generated from the dot arrangement of each corresponding point detection unit included in the test pattern,
  • a verification unit that verifies the robustness of test patterns against missing dots or false positives, This is an information processing device that determines the arrangement of dots based on the determination result of the determination unit and the verification result of the verification unit.
  • the verification unit calculates an evaluation value of a test pattern based on a predetermined evaluation standard, and searches for a test pattern having a higher evaluation value.
  • the test pattern has an elliptical shape, has a brightness distribution with a gentle brightness gradient from the periphery to the center, and is configured by arranging a plurality of types of dots having different directions of the moment of inertia spindle and brightness change, the above verification The unit calculates and evaluates an evaluation value consisting of the sum of the Hamming distances between all the corresponding point detection units in the test pattern based on the Hamming distances between the dots defined for each combination of dots of each type. Search for test patterns with higher values.
  • the verification unit generates a missing code string that can be generated when some dots of the corresponding point detection unit are missing. Then, the determination unit determines the uniqueness including the basic code string and the missing code string generated from the original dot arrangement of the corresponding point detection unit.
  • the second aspect of the present disclosure is an information processing method used for detecting corresponding points between images and for generating a test pattern composed of a plurality of dots.
  • a third aspect of the present disclosure is used to detect corresponding points between images and is described in a computer-readable format so that a process for generating a test pattern composed of a plurality of dots is executed on a computer.
  • a computer program that can be used as a computer Judgment unit that determines the uniqueness of the code string generated from the dot arrangement of each corresponding point detection unit included in the test pattern.
  • Verification unit that verifies the robustness of test patterns against missing dots or false positives, It is a computer program described so as to function as, and to determine the arrangement of dots based on the determination result of the determination unit and the verification result of the verification unit.
  • the computer program according to the third aspect of the present disclosure defines a computer program written in a computer-readable format so as to realize a predetermined process on the computer.
  • a collaborative action is exerted on the computer, and the same action as the information processing device according to the first aspect of the present disclosure. The effect can be obtained.
  • information processing used, for example, for online sensing of a projector, guarantees the uniqueness of a code string generated by a combination of dots, and processes a structured pattern that is robust against missing dots and false positives.
  • Devices, information processing methods, and computer programs can be provided.
  • FIG. 1 is a diagram showing an example of an external configuration of the image projection system 100.
  • FIG. 2 is a diagram showing a functional configuration example of the image projection system 100.
  • FIG. 3 is a diagram showing an example of the internal configuration of the projection unit 201.
  • FIG. 4 is a diagram showing an example of the internal configuration of the image processing unit 202.
  • FIG. 5 is a diagram for explaining the operating principle of performing online sensing by the ISL method.
  • FIG. 6 is a diagram showing an embodiment of a structured light pattern.
  • FIG. 7 is a diagram showing the brightness distribution of dots used in the structured light pattern shown in FIG.
  • FIG. 8 is a diagram showing the types of dots used in the structured light pattern shown in FIG. FIG.
  • FIG. 9 is a diagram showing a state in which a structured light pattern is projected and photographed in the image projection system 100.
  • FIG. 10 is a diagram showing how a code sequence is generated from a partial region of a structured light pattern.
  • FIG. 11 is a diagram showing how an erroneous code sequence is generated due to the inclination of the captured image of the structured light pattern.
  • FIG. 12 is a diagram showing how an erroneous code sequence is generated due to the inclination of the captured image of the structured light pattern.
  • FIG. 13 is a flowchart showing a processing procedure for generating a structured light pattern.
  • FIG. 14 is a flowchart showing a processing procedure for generating a structured light pattern.
  • FIG. 15 is a diagram showing the Hamming distance between dots used in the structured light pattern.
  • FIG. 16 is a diagram for explaining a method of calculating the Hamming distance between two subregions included in the structured light pattern.
  • FIG. 17 is a diagram for explaining a method of calculating the Hamming distance between two subregions included in the structured light pattern.
  • FIG. 18 is a diagram showing indefiniteness due to missing dots.
  • FIG. 19 is a diagram showing indefiniteness due to missing dots.
  • FIG. 20 is a diagram showing indefiniteness due to missing dots.
  • FIG. 21 is a diagram showing indefiniteness due to missing dots.
  • FIG. 22 is a diagram showing the positions of missing dots in the structured light pattern.
  • FIG. 23 is a flowchart showing a schematic processing procedure for generating a structured light pattern that is robust against missing dots.
  • FIG. 23 is a flowchart showing a schematic processing procedure for generating a structured light pattern that is robust against missing dots.
  • FIG. 23 is a flowchart showing a schematic processing procedure for generating a structured light pattern that is robust against missing dots
  • FIG. 24 is a flowchart showing a processing procedure for determining dots to be arranged in a partial region including the dot positions at the corners of the structured light pattern.
  • FIG. 25 is a flowchart showing a processing procedure for determining dots to be arranged in a partial region including the dot positions of the side edges of the structured light pattern.
  • FIG. 26 is a flowchart showing a processing procedure for determining dots to be arranged in a partial region including a dot position near the center of the structured light pattern.
  • FIG. 27 is a diagram showing a configuration example of a structured light pattern generator 2700 that generates a structured light pattern.
  • FIG. 28 is a diagram showing a functional configuration of the structured optical pattern generator 2700 (when the processing procedure shown in FIG. 14 is executed).
  • FIG. 29 is a diagram showing a functional configuration of the structured optical pattern generator 2700 (when the processing procedure shown in FIGS. 23 to 26 is executed).
  • FIG. 30 is a diagram showing an example in which the projected image of the projector is distorted.
  • FIG. 31 is a diagram showing an example in which the projected image of the projector is corrected.
  • FIG. 1 schematically shows an external configuration example of the image projection system 100 to which the present disclosure is applied.
  • the illustrated image projection system 100 includes a projector 101 that projects an image on the screen 102, a camera 103 that captures a projected image on the screen 102, and a video signal processing unit 104 that develops and processes the imaging signal of the camera 103.
  • a video source 105 that supplies a video signal for projection to the projector 101 is provided.
  • the method by which the projector 101 projects an image is not particularly limited.
  • the structure, shape, and material of the screen 102 are not particularly limited.
  • the screen 102 may be a projection screen made of cloth or the like, or may be a wall of a room, an outer wall of a building, or the like.
  • the video source 105 is arbitrary, and may be an information terminal such as a disc playback device or a personal computer, a cloud, or the like. Further, the communication path through which the video source 105 transmits the video signal to the projector 101 is not particularly limited, and wired such as HDMI (registered trademark) (High Definition Multimedia Interface), VGA (Video Graphic Array), USB (Universal Serial Bus), etc. It may be a cable or wireless communication such as Wi-Fi (registered trademark).
  • the projector 101 projects the image supplied from the image cord 105 onto the screen 102 during the normal projection operation. Further, the projector 101 projects a test pattern on the screen 102 when confirming the projection status. In this embodiment, it is assumed that the projection status confirmation operation is performed by online sensing as described later. Therefore, the projector 101 embeds a test pattern in the original image and projects it on the screen 102.
  • the projector 101 may internally store a test pattern generated by an external device (not shown) in advance and read it out for use during a projection status confirmation operation. Alternatively, the projector 101 may have a function of internally generating a test pattern.
  • the camera 103 captures a projected image on the screen 102 during the projection status confirmation operation.
  • the video signal processing unit 104 performs signal processing such as development processing on the shooting signal of the camera 103 and outputs the signal to the projector 101.
  • the camera 103 may constantly capture the projected image on the screen 102, and the projector 101 may acquire the image from the video signal processing unit 104 during the operation of confirming the projection status.
  • the projector 101 geometrically corrects the original image based on the correspondence between the original test pattern and the test pattern on the captured image.
  • the principle of geometric correction will be briefly explained.
  • the projected image may be distorted as shown in FIG. 30, making it difficult to see.
  • geometric correction such as canceling the distortion on the original image projected by the projector 101
  • the distortion is reduced as shown in FIG. 31, and an image close to the original image is projected. It can be made easier to see.
  • the geometric correction of the projected image can be manually performed by an operator or the like who operates the projector 101, but the work is complicated. Therefore, in the image projection system 100 according to the present embodiment, a method is used in which a projected image of the projector 101 is photographed by using the camera 103, and geometric correction is automatically performed using the photographed image.
  • Confirmation of the projection status of the projector 101 when performing such geometric correction corresponds to acquiring information on the corresponding points between the original image to be projected and the captured image of the projected image on the screen 102.
  • FIG. 2 shows an example of a functional configuration of the image projection system 100.
  • the image projection system 100 includes a projector 101 that projects an image on a screen (not shown in FIG. 2), a camera 103 that captures a projected image on the screen, and a video signal process that develops a capture signal of the camera 103.
  • a unit 104 and a video source (not shown in FIG. 2) that supplies a video signal for projection to the projector 101 are provided.
  • the image input unit 203 inputs a video signal from a video source such as a disc playback device, an information terminal, or a cloud.
  • the image processing unit 202 processes the image projected and output from the projection unit 201.
  • the image output from the image processing unit 202 is an input image input from the image input unit 203 and a test pattern held in the image processing unit 102.
  • online sensing is applied as described later, and the image processing unit 202 embeds an image in which a test pattern is embedded in the input image at the time of the confirmation operation of the projection status (or at the time of acquiring the corresponding point information). Output to the projection unit 201.
  • the distortion generated in the projected image is also geometrically corrected based on the corresponding point information supplied from the corresponding point information acquisition unit 204.
  • the distortion to be corrected is a distortion based on the posture of the projector 101 with respect to the projection surface and the shape of the projection surface, but may include optical distortion due to the optical system of the projector 101 or the camera 103.
  • the projection unit 201 projects the image output from the image processing unit 202 onto a screen (not shown in FIG. 2). Geometric distortion occurs in the projected image due to the posture of the projector 101 with respect to the projection surface and the shape of the projection surface.
  • the camera 103 captures a projected image in which a test pattern projected on the screen from the projection unit 201 is embedded during the operation of confirming the projection status (or when acquiring the corresponding point information).
  • the captured image of the camera 103 is supplied to the corresponding point information acquisition unit 204 after the signal processing is performed by the video signal processing unit 104.
  • the corresponding point information acquisition unit 204 detects the test pattern from the captured image in which the test pattern is embedded, obtains the corresponding point information between the original projected image and the captured image, and causes the image processing unit 202 to obtain the corresponding point information. Provide correspondence point information.
  • the correction amount for correcting the geometric distortion included in the projected image is calculated based on the corresponding point information, and the geometric distortion is corrected by performing the projective transformation on the output image.
  • the camera 103 is arranged at a position different from the irradiation position of the projection unit 201, and the optical axis is set so that the photographing range covers the irradiation range of the projection unit 201 as much as possible.
  • the image in which the test pattern is embedded is projected from the projection unit 201 onto the screen and photographed by the camera unit 104.
  • the corresponding point information acquisition unit 204 extracts a test pattern from the captured image, obtains the corresponding point information between the original projected image and the captured image, and outputs the information to the image processing unit 202.
  • the correction parameters for geometrically correcting the projected image are calculated based on the corresponding point information, and thereafter, the correction parameters are applied to all the images input from the image input unit 203, and the projection unit From 201, an image corrected for geometric distortion is emitted.
  • FIG. 3 shows an example of the internal configuration of the projection unit 201.
  • the illustrated projection unit 201 includes an illumination optical unit 301, a liquid crystal panel 302, a liquid crystal panel drive unit 303, and a projection optical unit 304.
  • the liquid crystal panel drive unit 303 drives the liquid crystal panel 302 based on the image signal input from the image processing unit 302, and draws a projected image on the display screen thereof.
  • the illumination optics unit 301 irradiates the liquid crystal panel 302 from the back surface.
  • the image projection system 100 is a pico projector, for example, an LED (Light Emitting Diode) or a laser is used as the light source of the illumination optical unit 301.
  • the projection optical unit 304 magnifies and projects the light transmitted through the liquid crystal panel 302 onto the screen (not shown in FIG. 3) via the projection optical unit 304. An input image to the image input unit 203 is projected from the projection unit 201.
  • the projection unit 201 projects the test pattern embedded in the input image to the image input unit 203.
  • the projection optical unit 304 is composed of one or two or more optical lenses. It is assumed that the projection optical unit 304 has lens distortion, and therefore, the geometric distortion of the projected image is caused by the lens distortion in addition to the posture of the projector 101 and the shape of the projection surface.
  • FIG. 4 shows an example of the internal configuration of the image processing unit 202.
  • the illustrated image processing unit 202 includes an image writing / reading control unit 401, a frame memory 402, an image correction unit 403, an image quality adjustment unit 404, a test pattern storage unit 405, and an output image switching unit 405.
  • the frame memory 402 stores an image supplied from the image input unit 203.
  • the image write / read control unit 401 controls the writing and reading of the image frame to the frame memory 402.
  • the image correction unit 403 corrects the image read from the frame memory 402 based on the correspondence point information received from the correspondence point information acquisition unit 204 so that the geometric distortion is eliminated when the image is projected from the projection unit 201 onto the subject. To do. Geometric correction has been described with reference to FIGS. 30 and 31, but is not limited thereto.
  • the image quality adjustment unit 404 adjusts the image quality such as brightness, contrast, synchronization, tracking, color depth, and hue so that the projected image after distortion correction is in a desired display state.
  • the test pattern storage unit 405 stores a test pattern to be embedded in the projected image during the confirmation operation of the projection status of the projector 101 (or when the corresponding point information is acquired).
  • the test pattern storage unit 405 may store a test pattern that has been generated in advance by an external device (not shown), or has a function of generating a test pattern in the image processing unit 202 (or the projector 101). May be provided.
  • the ISL (Implementable Structured Light) method of online sensing is applied to the acquisition of correspondence point information, and the test pattern consists of a structured optical pattern.
  • the image projection system 100 confirms the projection status of the projector 101, that is, acquires information on the corresponding points between the original image and the captured image of the camera 103 while continuing the projection operation of the projector 101. I am trying to carry out the processing to be done.
  • Examples of the online sensing technology include a method using invisible light such as Infrared, a method using an image feature amount such as SIFT (Scale Invariant Feature Transfer), and an ISL method.
  • a method using invisible light such as Infrared
  • a method using an image feature amount such as SIFT (Scale Invariant Feature Transfer)
  • an ISL method In the case of a method using invisible light such as Infrared, a projector that projects invisible light (for example, an Infrared projector) is further required, which increases the cost.
  • an image feature amount such as SIFT
  • it is difficult to detect the corresponding points with stable accuracy because the detection accuracy and the density of the corresponding points depend on the projected image content.
  • the ISL method since visible light is used, it is possible to suppress an increase in system components (that is, an increase in cost). In addition, the ISL method can detect corresponding points with stable accuracy without depending on the projected image.
  • the projector 101 adds a predetermined structured light pattern to a frame having an input image to generate a frame image in which a positive image of the structured light pattern is combined with the input image, and from the next frame of the input image.
  • a frame image is generated in which the negative image of the structured light pattern is combined with the input image.
  • the projector 101 continuously continuously projects the positive image frame and the negative image frame for each frame. Two consecutive frames of a positive image and a negative image that are switched at high speed are added and perceived by the human eye due to the integration effect. As a result, it is difficult for the user observing the projected image to recognize the structured light pattern embedded in the input image, that is, the structured light pattern becomes invisible from the observed image.
  • the camera 103 captures a projected image of a positive image frame and a negative image frame. Then, the corresponding point information acquisition unit 204 extracts only the structured light pattern included in the captured image by obtaining the difference between the captured images of both frames. Corresponding point detection is performed using this extracted structured light pattern.
  • the structured optical pattern can be easily extracted simply by obtaining the difference between the captured images, so that the corresponding point can be detected with stable accuracy without depending on the projected image. can.
  • Gray code and checker pattern can be mentioned as the structured light pattern used in the ISL method.
  • the Gray code and the checker code refer to, for example, Patent Document 1. Since the Gray code and the checker pattern have a pattern having a large luminance change gradient and high spatial regularity, they are easily perceived by the user who is viewing the projected image, and invisibility may be reduced.
  • the structured light pattern is unnecessary for the image to be projected, and the user's perception of the structured light pattern corresponds to the reduction of the image quality of the projected image.
  • it is necessary to project a large number of sheets in order to acquire the corresponding point information. In general, as the number of projected images increases, it becomes more easily perceived by the user, and invisibility may be further reduced.
  • the corresponding point detection time increases by the amount of projection of a large number of sheets.
  • the structured optical pattern is configured by arranging a plurality of types of patterns for each corresponding point detection unit.
  • a structured optical pattern that combines a contour or shape and dots that express information according to the direction of change in brightness is used for acquiring corresponding point information.
  • FIG. 6 shows an embodiment of the structured light pattern used in the present disclosure.
  • the structured light pattern is used to detect the correspondence between the original projected image and the captured image of the projected image.
  • the structured light pattern 600 shown in FIG. 6 is configured by arranging elliptical dots 601 having different brightness values from the periphery in a grid pattern.
  • the projected image of the image in which the structured pattern 600 is embedded is captured by the camera 103, and each dot 601 is detected from the captured image to be projected. Corresponding points can be detected between the original image and the captured image.
  • the white and black dots 601 in FIG. 6 are actually positive images by forming an elliptical shape having a two-dimensional Gaussian function-like luminance distribution from the periphery toward the center toward the center. And the invisibility of the dot 601 can be improved in each of the negative images.
  • FIG. 7 shows the brightness distribution of the dots in which the brightness change directions are the positive direction and the negative direction. As shown in the curve 711, the brightness value of the dot 701 whose brightness change direction is in the positive direction changes in a Gaussian function in the positive direction from the periphery of the ellipse toward the geometric center of gravity.
  • the brightness value of the dot 702 in which the brightness change direction is in the negative direction changes in a Gaussian function in the negative direction from the periphery of the ellipse toward the geometric center. That is, the structured light pattern 600 is configured by arranging two types of dots whose brightness change directions are opposite to each other in a matrix. However, it is assumed that the dots shown in white in FIG. 7 have a positive luminance change direction, and the dots shown in black have a negative luminance change direction. In addition, the brightness changes between the center and the periphery of the ellipse, but for the sake of simplification of the drawing, it is drawn by painting with a single color of white or black.
  • Elliptical dots 701 and 702 having a two-dimensional Gaussian function-like luminance distribution can make the luminance change gradient gentler than that of the Gray code or checker pattern, and can make it more difficult to perceive. For example, even when the line of sight moves, the field of view is obstructed, or the frame rate of the projected image is low to reduce the integration effect, the user viewing the projected image displays dots 701 and 702. It can be more difficult to perceive and improve invisibility.
  • the luminance distribution is a shape composed of straight lines such as the sides and corners of a rectangle, the configuration is small in the natural image, so that it may be easily perceived by the user.
  • the dots 701 and 702 have an elliptical shape whose luminance distribution is composed of a curved line, and invisibility can be improved. Further, since the dots 701 and 702 have a simple shape, the detection accuracy can be improved.
  • the dots 701 and 702 have a luminance distribution in which the luminance changes from the periphery of the ellipse toward the center, but a function other than the Gaussian function may be used as long as it can represent a distribution that makes the luminance change gradient gentle.
  • the two frames of the positive image and the negative image switched at high speed are added and perceived by the human eye due to the integration effect.
  • the structured light pattern included in the captured image is extracted. Corresponding point detection is performed using this extracted structured light pattern.
  • the brightness change direction of the dot 601 is two types (represented by white and black in FIG. 6), and the elliptical shape has two types in which the main axis of inertia is horizontal or vertical. Therefore, each dot 601 can have 1 bit of information in the direction of change in brightness and 1 bit of information in the direction of the elliptical moment of inertia spindle, and 2 bits, that is, 4 values of information by combining the direction of change in brightness and the direction of the moment of inertia spindle. Can have However, it is assumed that the dots shown in white in FIG. 6 have a positive luminance change direction and the dots shown in black have a negative luminance change direction. In addition, the brightness changes between the center and the periphery of the ellipse, but for the sake of simplification of the drawing, it is drawn by painting with a single color of white or black.
  • FIG. 8 shows the types of dots 601 used in the structured light pattern 600 in this embodiment.
  • the combination of the brightness change direction (positive or negative) and the direction of the elliptical moment of inertia spindle (vertical or horizontal) has four types of dots 601-1, 601-2, 601-3, 601-4. ..
  • Dot 601-1 changes in a Gaussian function in the positive direction from the periphery of the ellipse toward the geometric center of gravity, and the main axis of inertia of the ellipse is in the vertical direction.
  • the dots 601-2 change in a Gaussian function in the positive direction from the periphery of the ellipse toward the geometric center of gravity, and the main axis of inertia of the ellipse is in the lateral direction.
  • the dots 601-3 change in a negative direction from the periphery of the ellipse toward the geometric center of gravity in a Gaussian function, and the main axis of inertia of the ellipse is in the vertical direction.
  • the dots 601-4 change in a negative direction from the periphery of the ellipse toward the geometric center of gravity in a Gaussian function, and the main axis of inertia of the ellipse is in the lateral direction.
  • the types of the dot 601 can be increased without reducing the invisibility. Further, by combining the brightness change direction of the dot 601 and the direction of the moment of inertia spindle, the types of the dot 601 can be further increased.
  • the dot 601 can represent 2 bits of information. For example, each dot 601-1, 601-2, 601-3, 601-4 is indicated by four values of "0", "1", "2", and "3", respectively.
  • the types of dots can be further increased. However, in the following, only the combination of the direction of the moment of inertia spindle of the dot and the direction of the brightness change will be used, and four types of dots will be described.
  • FIG. 9 shows how the projector 101 projects a structured light pattern on the screen 102 and the camera 103 captures the structured pattern on the screen 102. However, FIG. 9 shows how the camera 103 takes a picture of the positive image frame projected on the screen 102 for convenience.
  • a fixed-sized window (hereinafter, also referred to as a "partial area") cut out from the structured optical pattern is used as the corresponding point detection unit.
  • the size of the partial area is 3 ⁇ 3 dots. If the property that the arrangement of all 3 ⁇ 3 dot subregions cut out from the structured light pattern is unique, each subregion included in the image captured by the camera 103 is a throat of the original structured light pattern. Whether it corresponds to a subregion, that is, the corresponding point can be detected.
  • FIG. 9 shows a partial region 911 of the original structured light pattern corresponding to the partial region 901 in the captured image of the camera 103.
  • FIG. 10 shows how an array of 3 ⁇ 3 dot partial regions is permutated in a predetermined order to generate a code string.
  • each dot is surrounded by a square box, and the order in which the dots are developed in the small square box on the upper left of each square box is shown.
  • each dot expanded in a permutation is replaced with a value of "0", "1", "2", or "3" according to the dot type to generate a code string. can do.
  • the corresponding point information acquisition unit 204 permutates each subregion extracted from the structured light pattern included in the image captured by the camera 103 to sequentially generate a coded sequence, and generates a coded sequence that matches each coded sequence. Search from the original structured light pattern. Since the structured optical pattern is configured so that the arrangement of all the 3 ⁇ 3 dot subregions is unique, the corresponding points can be detected from the arrangement positions of the subregions in which the code sequences match.
  • the captured image of the camera 103 may be tilted with respect to the projected image on the screen 102, and this tilt may generate an erroneous code string.
  • the degree of freedom in installing the projector 101 and the camera 103 is ensured.
  • FIG. 11A shows the arrangement of dots in the original partial region
  • FIG. 11B shows the same partial region rotated 45 degrees to the right (clockwise on the paper).
  • the moment of inertia spindle of the dot indicated by the reference number 1101 is in the vertical direction
  • the moment of inertia spindle of the dot indicated by the reference number 1103 is in the horizontal direction.
  • the moment of inertia spindle of the dot shown by the reference number 1101 is in the horizontal direction
  • the moment of inertia spindle of the dot shown by the reference number 1104 is taken. May be misidentified in the vertical direction.
  • FIG. 12A shows the order in which the dots of the original partial region are permutated
  • FIG. 12B shows the same partial region rotated 45 degrees to the right (clockwise on the paper). Shows the order in which each dot is permutated.
  • the tilt of the captured image increases, the possibility of causing such an error in the order of permutation development becomes even higher. Also, if the captured image is tilted in the opposite direction, another error may occur.
  • code strings that may be generated from one subregion due to indefiniteness are set as one group, and two or more code strings are not used from one group, and they are different.
  • the structured optical pattern is constructed only by the code strings belonging to the group. In this way, even if there is an influence of indefiniteness, the code string generated from the partial region can be uniquely specified, and the detection accuracy of the corresponding point can be improved.
  • code strings may be grouped based on other causes of indeterminacy or information other than indeterminacy.
  • FIG. 13 shows an example of a processing procedure for generating a structured light pattern so that the arrangement of each subregion is unique in the form of a flowchart.
  • a code string database for registering a code string of a partial area (corresponding point detection unit) in association with a position on a structured optical pattern is used. Further, it is assumed that this processing procedure is executed on the structured optical pattern generator. Details of the structured optical pattern generator will be described later.
  • a dot area for forming dots is set (step S1301).
  • the size and shape of the dot regions for setting a plurality of dot regions are arbitrary with respect to all or a part of the structured light pattern, and the sizes and shapes of the dot regions may all be the same.
  • step S1302 the partial area to be the corresponding point detection unit is selected.
  • dots to be arranged in the dot area where the dots are not set in the partial area selected in step S1302 are randomly generated, for example, and the dots in the dot area where the dots are not set are temporarily set (step S1303).
  • each sub-region in the dot region is permuted to generate a basic code string (step S1304).
  • each code string belonging to the group is searched in the code string database (step S1306), and it is checked whether the same code string is already registered in the code string database (step S1307).
  • step S1307 If at least one of the basic code string or the code string in the group to which the basic code string belongs is already registered in the code string database (No in step S1307), the process returns to step S1303 and the temporary dot setting is set again. And repeat the above process.
  • step S1307 if all the code strings in the groove to which the basic code string belongs do not exist in the code string database (Yes in step S1307), all the dots in the subregion to be processed selected in step S1302 are determined. (Step S1308), the basic code string generated in step S1304 is registered in the code string database in association with the position of the subregion (step S1309).
  • step S1310 the process returns to step S1302, the next partial area is selected, and the above process is repeated.
  • this process ends.
  • the structure guarantees the uniqueness of the code strings generated from all the subregions.
  • An optical pattern can be generated.
  • the arrangement of dots whose uniqueness of the code string is guaranteed is not always optimal.
  • missing dots undetected, omission of detection
  • erroneous detection are likely to occur in an environment with shooting noise, and as a result.
  • the detection rate of the corresponding point detection is lowered and the false detection of the corresponding point is increased.
  • the dots are set so as to ensure the uniqueness of the dot arrangement (or the code string generated from the dot arrangement) for each corresponding point detection unit and to be robust against missing dots and false detections.
  • the optimally arranged structured light pattern and the method of generating the structured light pattern are proposed as the present disclosure.
  • the uniqueness of each corresponding point detection unit is confirmed for the dot arrangement tentatively set as the structured light pattern, and the evaluation value of the dot arrangement is calculated based on a predetermined evaluation norm.
  • a structured light pattern is generated using the arrangement of dots that maximizes the evaluation value.
  • FIG. 14 shows a processing procedure for generating a structured light pattern in accordance with the present disclosure in the form of a flowchart.
  • the uniqueness of the corresponding point detection unit and the calculation of the evaluation value are brute-forced for the structured optical pattern of all the combinations of dot arrangements.
  • the number of combinations is 4 N (however, N is for arranging dots in the structured light pattern). Total number of positions).
  • the code string database (described above) is used in this processing procedure as well. Further, it is assumed that this processing procedure is executed on the structured optical pattern generator.
  • step S1401 dots to be arranged in the structured light pattern are randomly generated, for example, and the dot arrangements are temporarily set (step S1402). ..
  • the corresponding point detection unit is composed of, for example, a partial area of 3 ⁇ 3 dots, and a code string is generated by permutating the partial area.
  • the uniqueness is checked by the fact that the code string does not exist in the code string database.
  • the uniqueness of the coded sequence generated from the corresponding point detection unit is grouped based on indefiniteness and other information, and the uniqueness in the group unit (the coded string belonging to a different group). It is also possible to check that the structured light pattern is formed only by the only one.
  • step S1403 If the uniqueness of the corresponding point detection unit is not secured (No in step S1403), the process returns to step S1401 and checks whether or not the structured optical pattern of all the dot arrangement combinations has been tried (step S1401). If all combinations of dot arrangements have been tried (Yes in step S1401), this process ends. If there is a combination of dots that has not been tried yet (No in step S1401), a new dot arrangement of the structured light pattern is provisionally set, and the same process as above is repeated.
  • step S1403 when the uniqueness of all the corresponding point detection units is ensured (Yes in step S1403), the evaluation value of the dot arrangement of the structured optical pattern is calculated based on the predetermined evaluation norm (step S1404). ). Then, it is checked whether or not the evaluation value of the current dot arrangement conforms to the evaluation norm more than the evaluation value so far (step S1405).
  • step S1405 If the evaluation value of the current dot arrangement matches the evaluation norm (Yes in step S1405), the current dot arrangement is updated as the optimum arrangement (step S1406), and the process returns to step S1402 and the structured light Temporarily set a new dot arrangement for the pattern, and repeat the same process as above.
  • step S1405 if the evaluation value of the current dot arrangement does not match the evaluation criteria more than the evaluation values so far (No in step S1405), the process returns to step S1401 without updating the optimum dot arrangement, and all It is checked whether or not the structured light pattern of the combination of dot arrangements has been tried (step S1401). If all combinations of dot arrangements have been tried (Yes in step S1401), this process ends. If there is a combination of dots that has not been tried yet (No in step S1401), a new dot arrangement of the structured light pattern is provisionally set, and the same process as above is repeated.
  • step S1401 when the trial for the structured light pattern of all the dot arrangement combinations is completed (Yes in step S1401), this process is completed. In this way, it is possible to obtain a structured light pattern having the arrangement of dots having the maximum front surface.
  • evaluation norms for evaluating the dot arrangement of the structured light pattern will be described.
  • the evaluation norm is used in step S1404 in the flowchart shown in FIG.
  • the Hamming distance is the number of different characters in the same position when comparing two character strings with the same number of characters.
  • the dots used in the structured light pattern in the present disclosure are four types using two types of shapes and two types of polarities. Specifically, this dot has an elliptical shape with a gentle two-dimensional Gaussian function gradient from the periphery to the center, and the principal axis of inertia is either the vertical direction or the horizontal direction, and the brightness. It is characterized by its shape and polarity, whether the direction of change is positive or negative (see FIGS. 7 and 8).
  • the Hamming distance between dots having at least one of the shape and polarity different from each other may be defined as +1 and the Hamming distance between dots having the same shape and polarity may be defined as 0.
  • the Hamming distance between dots may be defined in consideration of the dot feature of utilizing the difference in shape and polarity.
  • the Hamming distance between dots may be defined by changing the weight depending on the difference in shape and the difference in polarity.
  • a structured light pattern is extracted by taking the difference between the projected image in which the positive image is superimposed and the projected image in which the negative image is superimposed, respectively (see, for example, FIG. 5). Therefore, the SN ratio of the dots is improved, and the probability of erroneously detecting the brightness change direction is lower than the probability of erroneously detecting the direction of the inertial spindle. Therefore, the Hamming distance between the dots may be defined by giving a larger weight to the difference in polarity than the main axis of inertia.
  • FIG. 15 shows an example of the Hamming distance between dots (weighted Hamming distance) defined by giving a larger weight to the difference in polarity than the main axis of inertia.
  • the figure also shows an example in which the Hamming distance between dots having at least one difference in shape and polarity is defined as +1 and the Hamming distance between dots having the same shape and polarity is defined as 0 without weighting. ing.
  • the Hamming distance of dots that differ only in polarity is +1 and the Hamming distance of dots that differ only in shape (direction of the principal axis of inertia) is +2, and dots that differ in both shape and polarity.
  • the Hamming distance of is defined as +3.
  • the Hamming distance of dots having the same shape and polarity is 0. In any case, it is preferable to define the Hamming distance between the dots based on the characteristics of the dots used in the structured light pattern.
  • the partial area is a corresponding point detection unit consisting of 3 ⁇ 3 dots.
  • FIG. 16 shows the i-th subregion and the j-th subregion included in the structured light pattern.
  • FIG. 17 shows the combination of dots at the corresponding positions in the i-th partial region and the j-th partial region, and the Hamming distance between the dots at the corresponding positions. The sum of the Hamming distances between the dots at all the corresponding positions is the Hamming distance between the i-th subregion and the j-th subregion.
  • the Hamming distance between dots that differ in at least one of the shape and polarity is defined as +1 and the Hamming distance between dots that have the same shape and polarity is defined as 0.
  • the Hamming distance between the i-th subregion and the j-th subregion is defined as 0.
  • the total Hamming distance of the combination of all the partial regions in the structured light pattern is defined as the humming distance of the structured light pattern.
  • the large Hamming distance between the subregions means that the characteristics of the subregions, that is, the shape and polarity are separated, and even if some dots are missing or erroneously detected, the probability of erroneously detecting the corresponding point is high. It is considered low. Therefore, by evaluating the dot arrangement of the structured light pattern using the evaluation norm based on the Hamming distance, it is possible to generate a structured light pattern that is robust against missing dots or false detection.
  • a method for generating a structured light pattern and a structured light pattern that is robust against missing dots In the ISL method, measurement is performed in an environment where the SN ratio is low, so that missing dots are likely to occur. For this reason, it is desirable to perform measurement using a structured light pattern that is robust against missing dots.
  • the code string generated from the original partial area shown in FIG. 18 is referred to as a "basic code string", and the partial area shown in FIGS. 19 to 21 may occur due to the omission of some dots.
  • the code string generated from is called a "missing code string”.
  • the dots placed near the center of the image have many opportunities to resolve the uniqueness and are robust against missing dots.
  • dots arranged near the edge of the image have few chances of resolving uniqueness and are vulnerable to missing dots.
  • the code strings that may be generated from one subregion are grouped into one group, and from one group.
  • the structured optical pattern is constructed only by the code strings belonging to different groups without using two or more code strings. For example, the code strings generated from the subregions shown in FIGS. 19 to 22 are grouped into one group. By doing so, even if the dots located at the edge of the image are missing, the uniqueness of the code string generated from the partial region can be ensured, and the detection accuracy of the corresponding points can be improved. That is, the dots located at the edge of the image are also robust against omissions.
  • FIGS. 19 to 22 show an example in which the upper left dot position of the 3 ⁇ 3 dot partial region is missing, other dot positions may also be generated due to indefiniteness due to the missing.
  • the dot position 2203 has three opportunities to resolve its uniqueness when it is missing.
  • all the code strings that may be generated due to indefiniteness due to omission are grouped, and the structured optical pattern is composed only of the code strings to which different groups belong. By doing so, it becomes robust against missing dots.
  • FIG. 23 shows a schematic processing procedure for generating a structured light pattern that is robust against missing dots in the form of a flowchart. It is assumed that the code string database (described above) is used in this processing procedure as well. Further, it is assumed that this processing procedure is executed on the structured optical pattern generator.
  • the dots placed in the corners of the structured light pattern have only one chance to resolve the uniqueness when they are missing.
  • the dots arranged on the side edges of the structured light pattern have three opportunities to resolve the uniqueness when they are missing.
  • dots arranged outside the corners and side edges of the structured light pattern, that is, near the center have nine opportunities to resolve the uniqueness when they are missing. The less chance that uniqueness can be resolved when a dot is missing, the higher the priority should be to determine the placement of the dots.
  • the dot arrangement of the partial region (corresponding point detection unit) including the dot position at the corner of the structured light pattern is based on the priority for resolving the uniqueness for the missing dot.
  • step S2301 dot arrangement processing of a partial area including the dot position of the side edge of the structured light pattern (step S2302), dot arrangement of the partial area not including the dot position of the corner and the side edge of the structured light pattern.
  • step S2303 is carried out in this order to generate a structured light pattern that is robust against missing dots.
  • FIG. 24 shows in the form of a flowchart a processing procedure for determining dots to be arranged in a partial region including a dot position at a corner of a structured light pattern, which is executed in step S2301 in the flowchart shown in FIG. There is.
  • a basic code string is generated by temporarily setting dots in four partial regions including the dot positions at the corners of the structured light pattern, for example, at random (step S2401).
  • a missing code string that may be generated from the subregion temporarily set in step S2401 due to the lack of dots located at the corners of the image or indefiniteness due to other causes is generated, and the basic is The code string and the missing code string are grouped into one group (step S2402).
  • each code string belonging to the group is searched in the code string database (step S2403), and whether or not the same code string is already registered in the code string database, that is, the uniqueness of the basic code string is checked (step S2404). ).
  • step S2404 If at least one of the code strings in the group is already registered in the code string database (No in step S2404), the process returns to step S2401, the dot is temporarily set again, and the above process is repeated.
  • step S2404 if all the code strings in the groove do not exist in the code string database (Yes in step S2404), all the dots in the partial area temporarily set in step S2401 are determined (step S2405), and that portion.
  • the basic code string generated from the area is registered in the code string database in association with the position of the partial area (step S2406), and this process ends.
  • FIG. 25 shows in the form of a flowchart a processing procedure for determining dots to be arranged in a partial region including the dot positions of the side edges of the structured light pattern, which is executed in step S2302 in the flowchart shown in FIG. There is.
  • the dots in the partial region including the dot positions on the side edges of the structured light pattern are temporarily set, for example, at random to generate a basic code string (step S2501).
  • a missing code string that may be generated from the subregion temporarily set in step S2501 due to the lack of dots located on the side edges of the image or indefiniteness due to other causes is generated, and the basic The code string and the missing code string are grouped into one group (step S2502).
  • each code string belonging to the group is searched in the code string database (step S2503), and whether or not the same code string is already registered in the code string database, that is, the uniqueness of the basic code string is checked (step S2504). ).
  • step S2504 If at least one of the code strings in the group is already registered in the code string database (No in step S2504), the process returns to step S2501, the dot is temporarily set again, and the above process is repeated.
  • step S2504 if all the code strings in the groove do not exist in the code string database (Yes in step S2504), all the dots in the partial area temporarily set in step S2501 are determined (step S2505), and that portion.
  • the basic code string generated from the area is registered in the code string database in association with the position of the partial area (step S2506), and this process ends.
  • FIG. 26 a process of determining dots to be arranged in a partial region including dot positions other than the corners and side edges (near the center) of the structured light pattern, which is executed in step S2303 in the flowchart shown in FIG.
  • the procedure is shown in the form of a flowchart.
  • dots at dot positions other than the corners and side edges (near the center) of the structured light pattern are provisionally set, for example, at random, and the basic code of each partial region near the center that does not include the dots at the corners and side edges.
  • Generate a column step S2601).
  • a missing code string that may be generated from the subregion temporarily set in step S2601 is generated, and the basic code string and the missing code string are generated.
  • the code strings are grouped into one group (step S2602). In the partial area near the center, there are many opportunities to resolve the uniqueness when some dots are missing, so the missing code string is generated without considering the indefiniteness due to the missing dots. May be good.
  • each code string belonging to the group is searched in the code string database (step S2603), and whether or not the same code string is already registered in the code string database, that is, the uniqueness of the basic code string is checked (step S2604). ).
  • step S2604 If at least one of the code strings in the group is already registered in the code string database (No in step S2604), the process returns to step S2601, the dots are temporarily set again, and the above process is repeated.
  • step S2604 if all the code strings in the groove do not exist in the code string database (Yes in step S2604), all the dots in the partial area temporarily set in step S2501 are determined (step S2605), and that portion.
  • the basic code string generated from the area is registered in the code string database in association with the position of the partial area (step S2606), and this process ends.
  • the evaluation norms such as the Hamming distance are the same as the processing procedure shown in FIG.
  • the structured light pattern may be evaluated based on the above, and finally the one with a high evaluation may be determined.
  • FIG. 27 shows a configuration example of a structured light pattern generation device 2700 that generates a structured light pattern.
  • the structured optical pattern generator 2700 generates a structured optical pattern that ensures uniqueness and is robust against missing dots and false positives according to the processing procedures shown in FIGS. 14 and 23 to 26.
  • the structured optical pattern generator 2700 shown in FIG. 27 includes a CPU (Central Processing Unit) 2701, a ROM (Read Only Memory) 2702, a RAM (Random Access Memory) 2703, a bus 2704, an input / output interface 2710, and the like. It includes an input unit 2711, an output unit 2712, a storage unit 2713, a communication unit 2714, a drive 2715, and a code string database 2731.
  • the structured optical pattern generation device 2700 can be configured by using an information processing device such as a personal computer.
  • the CPU 2701, ROM 2702, and RAM 2703 are interconnected via the bus 2704.
  • the input / output interface 2710 is also connected to the bus 2704.
  • An input unit 2711, an output unit 2712, a storage unit 2713, a communication unit 2714, a drive 2715, and a code string database 2731 are connected to the input / output interface 2710.
  • the input unit 2711 is composed of an input device that receives external information such as user input.
  • the input unit 2711 includes a keyboard, a mouse, operation buttons, a touch panel, a camera, a microphone, an input terminal, and the like.
  • the input unit 2711 may include various sensors such as an IMU (Inertial Measurement Unit) including an acceleration sensor and a gyro sensor, an optical sensor and a temperature sensor, and an input device such as a barcode reader.
  • the output unit 2712 includes a display, a speaker, an output terminal, and the like.
  • the storage unit 2713 is composed of a storage medium for storing information such as programs and data.
  • the storage unit 2713 is composed of an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like.
  • the communication unit 2714 is composed of a communication device that communicates with an external device (not shown) in accordance with a predetermined communication standard via a wired or wireless communication medium.
  • the communication unit 2714 includes, for example, a network interface.
  • the communication unit 2714 acquires the information necessary for generating the structured light pattern by the structured light pattern generation device 2700 from an external device, or obtains the generated structured light pattern from the external device ( For example, it is used for transferring to a projector 101).
  • the drive 2715 is loaded with the removable media 2721 and reads out the information recorded in the removable media 2721 or records the information in the removable media 2721.
  • the drive 2715 supplies the information read from the removable media 2721 to the CPU 2701 and the RAM 2703.
  • the removable media 2721 is, for example, a magnetic disk, an optical disk, a magneto-optical disk, a USB (Universal Serial Bus) memory, or the like.
  • the CPU 2701 executes various processes by loading the program stored in the storage unit 2713 into the RAM 2703 via the input / output interface 2710 and the bus 2704 and executing the program.
  • the process referred to here includes a process of generating a structured light pattern according to the process procedure shown in FIGS. 14 and 23 to 26.
  • the RAM 2703 also appropriately stores data used when the CPU 2701 executes various processes.
  • the code string database 2731 registers the code strings of each subregion (corresponding point detection unit) included in the structured optical pattern in association with the position on the structured optical pattern.
  • the code string database 2731 may store the code string in any format as long as the information on the code string and its position can be stored.
  • the code string database 2731 may be built inside the storage unit 2713, or may be provided in an external device of the structured optical pattern generation device 2700.
  • FIG. 28 shows the functional configuration of the structured optical pattern generator 2700 realized by the CPU 2701 executing the processing procedure shown in FIG.
  • the dot arrangement temporary setting unit 2801 temporarily generates dots to be arranged in the structured light pattern, for example, and temporarily sets the dot arrangement.
  • the uniqueness determination unit 2802 determines whether or not the uniqueness of the code string generated from each corresponding point detection unit of the structured optical pattern whose dot arrangement is temporarily set by the dot arrangement temporary setting unit 2801 is secured.
  • the uniqueness determination unit 2802 determines uniqueness in a group unit including a basic code string generated by permutating the original dot arrangement of the corresponding point detection unit and a code string in consideration of the influence of indefiniteness.
  • the structured optical pattern is constructed only by the code strings belonging to different groups. When the uniqueness determination unit 2802 determines that the code string is not unique, the uniqueness determination unit 2802 requests the dot arrangement temporary setting unit 2801 to temporarily set the dot arrangement again.
  • the evaluation unit 2803 calculates the evaluation value of the dot arrangement of the structured light pattern based on the predetermined evaluation norm. Specifically, the evaluation unit 2803 adds up the Hamming distances between all the partial regions in the structured light pattern in which the dot arrangement is temporarily set, based on the Hamming distances between the dots defined for each combination of dots. Calculate the evaluation value consisting of. Then, the evaluation unit 2803 holds the dot arrangement having the highest evaluation value up to that point as the optimum arrangement.
  • the brute force trial unit 2804 temporarily sets the dot arrangement until the uniqueness determination process by the uniqueness determination unit 2802 and the evaluation by the evaluation unit 2803 are tried by brute force for the structured optical pattern of all the dot arrangement combinations.
  • the unit 2801, the uniqueness determination unit 2802, and the evaluation unit 2803 are repeatedly started. Then, the code strings generated from each subregion included in the structured optical pattern of the optimum arrangement finally held by the evaluation unit 2803 are registered in the code string database.
  • FIG. 29 shows the functional configuration of the structured optical pattern generator 2700 realized by the CPU 2701 executing the processing procedures shown in FIGS. 23 to 26.
  • the corner dot arranging unit 2901 performs a dot arranging process of a partial region including the dot positions of the corners of the structured light pattern.
  • the corner dot arranging unit 2901 generates a basic code string by temporarily setting dots in four partial regions including the dot positions of the corners of the structured light pattern, for example, at random.
  • the corner dot arrangement unit 2901 generates a missing code string that may be generated due to missing dots at the corners or other causes, and the basic code string and the missing code string. Group the code strings into one group.
  • the corner dot arrangement unit 2901 checks the uniqueness of all the code strings belonging to the group, and if there is no uniqueness, repeats the temporary arrangement of the dots in the partial area. Then, the corner dot arrangement unit 2901 registers the code strings generated from the four partial regions including the dot positions of the corners when the uniqueness can be secured in the code string database.
  • the side edge dot arrangement unit 2902 performs dot arrangement processing of a partial region including the dot position of the side edge of the structured light pattern.
  • the side edge dot arrangement unit 2902 generates a basic code string by temporarily setting dots in a partial region including the dot positions of the side edges of the structured light pattern, for example, at random.
  • the side edge dot arrangement unit 2902 generates a missing code string that may be generated due to the lack of dots located on the side edge or indefiniteness due to other causes, and the basic code string and the missing code string. Group the code strings into one group.
  • the side edge dot arrangement unit 2902 checks the uniqueness of all the code strings belonging to the group, and if there is no uniqueness, repeats the temporary arrangement of the dots in the partial area. Then, the side edge dot arrangement unit 2902 registers the code string generated from the partial area including the dot position of the corner portion when the uniqueness can be secured in the code string database.
  • the central dot arrangement unit 2903 performs dot arrangement processing of a partial region near the center of the structured light pattern, which does not include the dot positions of the corners and side edges of the structured light pattern.
  • the central dot arrangement unit 2903 generates a basic code sequence by temporarily setting dots in a partial region near the center that does not include the corners and side edges of the structured light pattern, for example, at random.
  • the central dot arrangement unit 2903 generates a missing code string that may be generated due to indefiniteness, and groups the basic code string and the missing code string into one group.
  • the central dot arrangement unit 2903 checks the uniqueness of all the code strings belonging to the group, and if there is no uniqueness, repeats the temporary arrangement of the dots in the partial area. Then, the central dot arrangement unit 2903 registers the code string generated from the partial area near the center when the uniqueness can be secured in the code string database.
  • a structured optical pattern capable of robust correspondence point detection in a measurement environment such as the ISL method, which has a low signal-to-noise ratio and is prone to missing dots and erroneous detection is provided.
  • the image projection system 100 can increase the degree of freedom in installing the projector 101 and the camera 103 by performing online sensing using the structured light pattern generated based on the present disclosure.
  • This disclosure can be applied to various types of image projection systems. Further, although detailed description is omitted in the present specification, the present disclosure can also be applied to projector stacking. Further, the present disclosure can be applied to a technique of embedding information in an image so that the viewer cannot perceive it and a technique of acquiring the information embedded in the image, in addition to the correction of the projected image.
  • test pattern generation method based on the present disclosure can be applied to the generation of a structured light pattern composed of dots having a two-dimensional Gaussian function-like luminance distribution, but of course, it is also applicable to the generation of other structured light patterns. Can be applied in the same way. Further, the test pattern generation method based on the present disclosure can also be applied to the generation of a test pattern used in online sensing other than the ISL method and a test pattern used in offline sensing.
  • An information processing device used to detect a corresponding point between images and executing a process for generating a test pattern composed of a plurality of dots.
  • a judgment unit that determines the uniqueness of the code string generated from the dot arrangement of each corresponding point detection unit included in the test pattern,
  • a verification unit that verifies the robustness of test patterns against missing dots or false positives,
  • An information processing apparatus comprising the above, and determining the arrangement of dots based on the determination result of the determination unit and the verification result of the verification unit.
  • the test pattern has an elliptical shape, has a brightness distribution with a gentle brightness gradient from the periphery to the center, and is configured by arranging a plurality of types of dots having different directions of the main axis of inertia and changes in brightness.
  • a temporary setting unit for setting a temporary dot arrangement of the test pattern is further provided.
  • the determination unit determines the uniqueness of the test pattern whose dot arrangement is temporarily set by the temporary setting unit. Every time the determination unit determines that there is no uniqueness, the temporary setting unit sets a temporary dot arrangement of the test pattern.
  • the verification unit calculates an evaluation value of a test pattern based on a predetermined evaluation standard, and searches for a test pattern having a higher evaluation value.
  • the information processing device according to any one of (1) to (3) above.
  • the test pattern has an elliptical shape, has a brightness distribution with a gentle brightness gradient from the periphery to the center, and is configured by arranging a plurality of types of dots having different directions of the main axis of inertia and changes in brightness.
  • the verification unit calculates an evaluation value consisting of the sum of the Hamming distances between all the corresponding point detection units in the test pattern based on the Hamming distances between the dots defined for each combination of dots of each type. , Search for test patterns with higher evaluation values, The information processing device according to (4) above.
  • the verification unit generates a missing code string that can be generated when some dots of the corresponding point detection unit are missing.
  • the determination unit determines uniqueness including the basic code string and the missing code string generated from the original dot arrangement of the corresponding point detection unit.
  • the verification unit generates a missing code string according to the position of the corresponding point detection unit in the test pattern.
  • the information processing device according to (6) above.
  • the verification unit generates a missing code string that can be generated when a dot at a position having little overlap with other corresponding point detection units is missing.
  • First corresponding point detection unit including the dot position of the corner, second corresponding point detection unit including the dot position of the side edge, and third corresponding point detection not including the dot position of the corner and the side edge. Determine the placement of dots in the order of units, The information processing device according to any one of (6) to (9) above.
  • Judgment unit that determines the uniqueness of the code string generated from the dot arrangement of each corresponding point detection unit included in the test pattern.
  • Verification unit that verifies the robustness of test patterns against missing dots or false positives,
  • Input / output interface 2711 ... Input unit 2712 ... Output unit, 2713 ... Storage unit, 2714 ... Communication unit 2715 ... Storage unit, 2722 ... Removable media 2731 ... Code string database 2801 ... Dot arrangement temporary setting unit, 2802 ... Uniqueness judgment unit 2803 ... Evaluation unit, 2804 ... Round-robin trial unit 2901 ... Corner dot arrangement unit, 2902 ... Side edge dot arrangement unit 2903 ... Central dot arrangement unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Projection Apparatus (AREA)

Abstract

例えばプロジェクタのオンラインセンシングで画像間の対応点の検出に使用するテストパターンを処理する情報処理装置を提供する。 画像間の対応点検出に使用され、複数のドットで構成されるテストパターンを生成するための処理を実行する情報処理装置は、テストパターンに含まれる各対応点検出単位のドット配置から生成される符号列の一意性を判定する判定部と、テストパターンのドットの欠落又は誤検出に対する頑健性を検証する検証部を具備し、前記判定部の判定結果と前記検証部の検証結果に基づいてドットの配置を決定する。

Description

情報処理装置及び情報処理方法、並びにコンピュータプログラム
 本明細書で開示する技術(以下、「本開示」とする)は、画像間の対応点の検出に使用するテストパターンを処理する情報処理装置及び情報処理方法、並びにコンピュータプログラムに関する。
 スクリーンに映像を投影するプロジェクション技術は古くから知られており、教育現場や会議、プレゼンテーションなどで広く利用されている。比較的大きなスクリーンで映像を拡大して表示できるので、複数人に対して同じ映像を同時に提示できるなどの利点がある。最近では、建造物などの任意形状を有するスクリーンの表面に映像を投影して表示するプロジェクションマッピングや、複数のプロジェクタを用いて同じ投影面を重畳して投影するプロジェクタスタッキングも利用されるようになってきている。
 さまざまな環境で投影画像の歪みを低減し、あるいは複数のプロジェクタによる投影画像の位置合わせを行うために、プロジェクタの投影状況を把握する必要がある。一般には、プロジェクタからテストパターンを投影し、カメラでその投影画像を撮影して、元のテストパターンと撮影画像上のテストパターンとの対応関係に基づいて元の映像に幾何補正を行う方法が用いられている。
 通常、プロジェクタの投影状況の把握は、投影を開始する前に行われる。また、映像を投影している最中にも、温度や振動などの外乱の影響によりプロジェクタの姿勢や投影面の形状が変化するおそれがある。このため、投影を開始した後もプロジェクタの投影状況を把握して、映像の補正を再度行う必要がある。プロジェクタの投影状況を確認する度に、投影動作を止めてプレゼンテーションなどを中断することは、プレゼンター及び聴衆にとって好ましくない。そこで、映像の投影動作を続けながら、プロジェクタの投影状況の確認を行うオンラインセンシングも提案されている(例えば、特許文献1を参照のこと)。
WO2017/104447
 本開示の目的は、例えばプロジェクタのオンラインセンシングで画像間の対応点の検出に使用するテストパターンを処理する情報処理装置及び情報処理方法、並びにコンピュータプログラムを提供することにある。
 本開示の第1の側面は、画像間の対応点検出に使用され、複数のドットで構成されるテストパターンを生成するための処理を実行する情報処理装置であって、
 テストパターンに含まれる各対応点検出単位のドット配置から生成される符号列の一意性を判定する判定部と、
 テストパターンのドットの欠落又は誤検出に対する頑健性を検証する検証部と、
を具備し、前記判定部の判定結果と前記検証部の検証結果に基づいてドットの配置を決定する、情報処理装置である。
 前記検証部は、所定の評価規範に基づくテストパターンの評価値を算出して、評価値がより高いテストパターンを探索する。テストパターンは、楕円形状で、周辺から中央に向かって輝度勾配が緩やかな輝度分布を有し、慣性主軸の方向と輝度変化方向が異なる複数種類のドットを配置して構成される場合、前記検証部は、各種類のドットの組み合わせ毎に定義されたドット間のハミング距離に基づいて、テストパターン内のすべての対応点検出単位の間のハミング距離の合計からなる評価値を計算して、評価値がより高いテストパターンを探索する。
 また、前記検証部は、対応点検出単位の一部のドットが欠落したときに生成され得る欠落符号列を生成する。そして、前記判定部は、対応点検出単位の本来のドット配置から生成される基本符号列と欠落符号列を含めて一意性を判定する。
 また、本開示の第2の側面は、画像間の対応点検出に使用され、複数のドットで構成されるテストパターンを生成するための情報処理方法であって、
 テストパターンに含まれる各対応点検出単位のドット配置から生成される符号列の一意性を判定する判定ステップと、
 テストパターンのドットの欠落又は誤検出に対する頑健性を検証する検証ステップと、
を有し、前記判定ステップの判定結果と前記検証ステップの検証結果に基づいてドットの配置を決定する、情報処理方法である。
 また、本開示の第3の側面は、画像間の対応点検出に使用され、複数のドットで構成されるテストパターンを生成するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータプログラムであって、コンピュータを、
 テストパターンに含まれる各対応点検出単位のドット配置から生成される符号列の一意性を判定する判定部、
 テストパターンのドットの欠落又は誤検出に対する頑健性を検証する検証部、
として機能させ、前記判定部の判定結果と前記検証部の検証結果に基づいてドットの配置を決定するように記述されたコンピュータプログラムである。
 本開示の第3の側面に係るコンピュータプログラムは、コンピュータ上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータプログラムを定義したものである。換言すれば、本開示の第3の側面に係るコンピュータプログラムをコンピュータにインストールすることによって、コンピュータ上では協働的作用が発揮され、本開示の第1の側面に係る情報処理装置と同様の作用効果を得ることができる。
 本開示によれば、例えばプロジェクタのオンラインセンシングに使用され、ドットの組み合わせで生成される符号列の一意性を保証し、且つ、ドットの欠落や誤検出に頑健な構造化パターンを処理する情報処理装置及び情報処理方法、並びにコンピュータプログラムを提供することができる。
 なお、本明細書に記載された効果は、あくまでも例示であり、本開示によりもたらされる効果はこれに限定されるものではない。また、本開示が、上記の効果以外に、さらに付加的な効果を奏する場合もある。
 本開示のさらに他の目的、特徴や利点は、後述する実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
図1は、画像投影システム100の外観構成例を示した図である。 図2は、画像投影システム100の機能的構成例を示した図である。 図3は、投影部201の内部構成例を示した図である。 図4は、画像処理部202の内部構成例を示した図である。 図5は、ISL方式によりオンラインセンシングを行う動作原理を説明するための図である。 図6は、構造化光パターンの一実施例を示した図である。 図7は、図6に示した構造化光パターンで使用するドットの輝度分布を示した図である。 図8は、図6に示した構造化光パターンで使用されるドットの種類を示した図である。 図9は、画像投影システム100において、構造化光パターンの投影と撮影を行う様子を示した図である。 図10は、構造化光パターンの部分領域から符号列を生成する様子を示した図である。 図11は、構造化光パターンの撮影画像の傾きにより誤った符号列が生成される様子を示した図である。 図12は、構造化光パターンの撮影画像の傾きにより誤った符号列が生成される様子を示した図である。 図13は、構造化光パターンを生成する処理手順を示したフローチャートである。 図14は、構造化光パターンを生成する処理手順を示したフローチャートである。 図15は、構造化光パターンで使用するドット間のハミング距離を示した図である。 図16は、構造化光パターンに含まれる2つの部分領域間のハミング距離を計算する方法を説明するための図である。 図17は、構造化光パターンに含まれる2つの部分領域間のハミング距離を計算する方法を説明するための図である。 図18は、ドットの欠落による不定性を示した図である。 図19は、ドットの欠落による不定性を示した図である。 図20は、ドットの欠落による不定性を示した図である。 図21は、ドットの欠落による不定性を示した図である。 図22は、構造化光パターン内で欠落するドットの位置を示した図である。 図23は、ドットの欠落に頑健な構造化光パターンを生成するための概略的な処理手順を示したフローチャートである。 図24は、構造化光パターンの隅部のドット位置を含む部分領域に配置するドットを決定する処理手順を示したフローチャートである。 図25は、構造化光パターンの側縁のドット位置を含む部分領域に配置するドットを決定する処理手順を示したフローチャートである。 図26は、構造化光パターンの中央付近のドット位置を含む部分領域に配置するドットを決定する処理手順を示したフローチャートである。 図27は、構造化光パターンを生成する構造化光パターン生成装置2700の構成例を示した図である。 図28は、構造化光パターン生成装置2700の機能的構成(図14に示した処理手順を実行する場合)を示した図である。 図29は、構造化光パターン生成装置2700の機能的構成(図23~図26に示した処理手順を実行する場合)を示した図である。 図30は、プロジェクタの投影画像が歪んだ例を示した図である。 図31は、プロジェクタの投影画像を補正した例を示した図である。
 以下、図面を参照しながら本開示の実施形態について詳細に説明する。
A.システム構成
 図1には、本開示を適用した画像投影システム100の外観構成例を模式的に示している。図示の画像投影システム100は、スクリーン102に映像を投影するプロジェクタ101と、スクリーン102上の投影画像を撮影するカメラ103と、カメラ103の撮影信号の現像処理などを行う映像信号処理部104と、プロジェクタ101に投影用の映像信号を供給する映像ソース105を備えている。
 プロジェクタ101が映像を投影する方式は特に限定されない。また、スクリーン102の構造、形状、材質は特に限定されない。スクリーン102は、布などでできた投影用のスクリーンであってもよいし、部屋の壁や建造物の外壁などでもよい。映像ソース105は、任意であり、ディスク再生装置やパーソナルコンピュータなどの情報端末、クラウドなどであってもよい。また、映像ソース105がプロジェクタ101に映像信号を伝送する通信路は特に限定されず、HDMI(登録商標)(High Definition Multimedia Interface)、VGA(Video Graphic Array)、USB(Universal Serial Bus)などの有線ケーブルや、Wi-Fi(登録商標)などの無線通信であってもよい。
 プロジェクタ101は、通常の投影動作時には、映像索子105から供給される映像をスクリーン102上に投影する。また、プロジェクタ101は、投影状況の確認時には、テストパターンをスクリーン102上に投影する。本実施形態では、後述するように投影状況の確認動作をオンラインセンシングで実施することを想定している。したがって、プロジェクタ101は、本来の映像にテストパターンを埋め込んでスクリーン102上に投影する。プロジェクタ101は、あらかじめ外部装置(図示しない)で生成しておいたテストパターンを内部記憶しておき、投影状況の確認動作時に読み出して使用するようにしてもよい。あるいは、プロジェクタ101は、テストパターンを内部で生成する機能を備えていてもよい。
 カメラ103は、投影状況の確認動作時に、スクリーン102上の投影画像を撮影する。映像信号処理部104は、カメラ103の撮影信号に現像処理などの信号処理を行って、プロジェクタ101に出力する。あるいは、カメラ103は、スクリーン102上の投影画像を常時撮影し、プロジェクタ101は投影状況の確認動作時に映像信号処理部104から映像を取得するようにしてもよい。
 プロジェクタ101は、元のテストパターンと撮影画像上のテストパターンとの対応関係に基づいて元の映像に幾何補正を行う。幾何補正の原理について簡単に説明しておく。
 スクリーン102の投影面に対するプロジェクタ101の姿勢や投影面の形状などによって、投影画像が例えば図30に示すように歪んでしまい、見えづらくなることがある。このような場合、プロジェクタ101が投影する元の画像に対して歪みをキャンセルするような幾何補正を施すことによって、図31に示すような、歪みが低減され、元の画像に近い画像を投影して、見え易くすることができる。
 投影画像の幾何補正は、プロジェクタ101を操作する操作者などが手動により行うこともできるが、作業が煩雑である。そこで、本実施形態に係る画像投影システム100では、カメラ103を用いてプロジェクタ101の投影画像を撮影し、その撮影画像を用いて自動で幾何補正を行う方法を用いるようにしている。
 画像投影システム100において投影画像の幾何補正を行う場合、投影される元の画像とカメラ103の撮影画像との間で対応点を求める必要がある。すなわち、プロジェクタ101からスクリーン102上に投影した画像をカメラ103で撮影した撮影画像と、プロジェクタ101が投影する元の画像の間で画素の対応関係を求める必要がある。元の画像と撮影画像間で対応点の位置を比較することで、撮影画像、言い換えればプロジェクタ101が投影した投影画像の各対応点における歪みを計算することができ、歪みをキャンセルするように元の画像の各対応点の位置の幾何補正を行うことで、投影画像の歪みを低減することができる。
 このような幾何補正を行なう際のプロジェクタ101の投影状況の確認は、投影する元の画像とスクリーン102上の投影映像の撮影画像の間の対応点の情報を取得することに相当する。
 図2には、画像投影システム100の機能的構成例を示している。画像投影システム100は、スクリーン(図2には図示しない)に映像を投影するプロジェクタ101と、スクリーン上の投影画像を撮影するカメラ103と、カメラ103の撮影信号の現像処理などを行う映像信号処理部104と、プロジェクタ101に投影用の映像信号を供給する映像ソース(図2には図示しない)を備えている。
 画像入力部203は、ディスク再生装置や情報端末、クラウドなどの映像ソースから映像信号を入力する。
 画像処理部202は、投影部201から投影出力する画像の処理を行なう。画像処理部202から出力される画像は、画像入力部203から入力される入力画像と、画像処理部102内で保持するテストパターンである。本実施形態では、後述するようにオンラインセンシングが適用され、画像処理部202は、投影状況の確認動作時(又は、対応点情報の取得時)には、入力画像にテストパターンを埋め込んだ画像を投影部201に出力する。
 画像処理部202内では、対応点情報取得部204から供給される対応点情報に基づいて、投射画像に発生している歪みの幾何補正も行なう。補正の対象となる歪みは、投影面に対するプロジェクタ101の姿勢や投影面の形状に基づく歪みであるが、プロジェクタ101やカメラ103の光学系に起因する光学歪みを含んでもよい。
 投影部201は、画像処理部202から出力される画像を、スクリーン(図2には図示しない)に投影する。投影面に対するプロジェクタ101の姿勢や投影面の形状に起因して、投影画像には幾何歪みが発生する。
 カメラ103は、投影状況の確認動作時(又は、対応点情報の取得時)には、投影部201からスクリーンに投影されたテストパターンが埋め込まれた投影画像を撮影する。カメラ103の撮影画像は、映像信号処理部104で信号処理が施された後に、対応点情報取得部204に供給される。
 対応点情報取得部204は、テストパターンが埋め込まれた撮影画像からテストパターンを検出して、投影される元の画像と撮影画像との間で対応点の情報を求めて、画像処理部202に対応点情報を供給する。画像処理部202内では、対応点情報に基づいて、投影画像に含まれる幾何歪みを補正するための補正量を計算して、出力画像に対して射影変換を行なうことにより幾何歪みを補正する。
 なお、カメラ103は、投影部201の照射位置と異なる位置に配設され、撮影範囲が投影部201の照射範囲を極力包含するように光軸が設定されている。投影状況の確認時(又は、対応点情報の取得時)には、投影部201からテストパターンが埋め込まれた画像をスクリーンに投影して、カメラ部104で撮影する。そして、対応点情報取得部204は、撮影画像からテストパターンを抽出して、投影される元の画像と撮影画像との間で対応点の情報を求め、画像処理部202に出力する。画像処理部202内では、対応点情報に基づいて、投影画像を幾何補正するための補正パラメータを算出すると、以降は、画像入力部203から入力されるすべて画像に補正パラメータを適用し、投影部201からは幾何歪みが補正された画像が照射される。
 図3には、投影部201の内部構成例を示している。図示の投影部201は、照明光学部301と、液晶パネル302と、液晶パネル駆動部303と、投影光学部304を備えている。
 液晶パネル駆動部303は、画像処理部302から入力される画像信号に基づいて液晶パネル302を駆動して、その表示画面に投影画像を描画する。照明光学部301は、液晶パネル302を背面から照射する。画像投影システム100がピコプロジェクターの場合、照明光学部301の光源には例えばLED(Light Emitting Diode)やレーザーが用いられる。投影光学部304は、液晶パネル302を透過した光を、投影光学部304を介してスクリーン(図3には図示しない)に拡大投影する。投影部201からは、画像入力部203への入力画像が投影される。また、投影状況の確認動作時(又は、対応点情報の取得時)には、投影部201からは、画像入力部203への入力画像にテストパターンが埋め込まれたが投影される。投影光学部304は、1枚又は2枚以上の光学レンズからなる。投影光学部304がレンズ歪みを持つことが想定され、このため、投影画像の幾何歪みはプロジェクタ101の姿勢や投影面の形状の他にレンズ歪みも起因する。
 図4には、画像処理部202の内部構成例を示している。図示の画像処理部202は、画像書き込み読み出し制御部401と、フレームメモリ402と、画像補正部403と、画質調整部404と、テストパターン記憶部405と、出力画像切り替え部405を備えている。
 フレームメモリ402には、画像入力部203から供給される画像を記憶する。画像書き込み読み出し制御部401は、フレームメモリ402への画像フレームの書き込み及び読み出しを制御する。
 画像補正部403は、対応点情報取得部204から受け取った対応点情報に基づいて、フレームメモリ402から読み出した画像に対して、投影部201から被写体に投影した際に幾何歪みが解消するよう補正を行なう。幾何補正については、図30及び図31を参照しながら説明したが、これに限定されるものではない。
 画質調整部404は、歪み補正を行なった後の投影画像が所望の表示状態となるよう、輝度、コントラスト、同期、トラッキング、色の濃さ、色合いなどの画質調整を行なう。
 テストパターン記憶部405は、プロジェクタ101の投影状況の確認動作時(又は、対応点情報取得時)に、投影される画像に埋め込むテストパターンを記憶している。テストパターン記憶部405は、あらかじめ外部装置(図示しない)で生成しておいたテストパターンを記憶しておいてもよいし、画像処理部202(又は、プロジェクタ101)内でテストパターンを生成する機能を備えていてもよい。後述するように、本開示では、対応点情報の取得にはオンラインセンシングのうちISL(Imperceptible Structured Light)方式が適用され、テストパターンは構造化光パターンからなる。
B.オンラインセンシング
 プロジェクタ101を設置したときに投影上機能の確認を行うが、映像を投影している最中にもプロジェクタ101の姿勢やスクリーン102の投影面の形状が変化するおそれがある。このため、投影を開始した後も、プロジェクタ101の投影状況を確認して、投影画像の幾何補正を再度行う必要がある。
 プロジェクタの投影状況を確認する度に、投影動作を止めてプレゼンテーションなどを中断することは、プレゼンター及び聴衆にとって好ましくない。そこで、本実施形態に係る画像投影システム100は、プロジェクタ101の投影動作を継続したまま、プロジェクタ101の投影状況の確認、すなわち元の画像とカメラ103の撮影画像の間の対応点の情報を取得する処理を実施するようにしている。
 オンラインセンシング技術として、例えば、Infraredなどの不可視光を利用した方式、SIFT(Scale Invariant Feature Transform)などの画像特徴量を利用した方式、ISL方式などが挙げられる。Infraredなどの不可視光を利用した方式の場合、不可視光を投影するプロジェクタ(例えばInfraredプロジェクタ)がさらに必要になるためコストが増大する。また、SIFTなどの画像特徴量を利用した方式の場合、対応点の検出精度や密度が投影する画像コンテンツに依存してしまうため、対応点検出を安定した精度で行うことが困難である。
 これらに対してISL方式の場合、可視光を利用するため、システム構成要素の増大(すなわちコストの増大)を抑制することができる。また、ISL方式は、投影する画像に依存せずに安定した精度で対応点検出を行うことができる。
 ISL方式の動作原理について、図5を参照しながら説明する。プロジェクタ101は、入力画像のあるフレームに対して所定の構造化光パターンを足すことにより、入力画像に構造化光パターンのポジ画像を合成したフレーム画像を生成し、入力画像のその次のフレームから構造化光パターンを引くことにより、入力画像に構造化光パターンのネガ画像を合成したフレーム画像を生成する。そして、プロジェクタ101は、ポジ画像フレームとネガ画像フレームをフレーム毎に交互に連続投影する。高速に切り替えられたポジ画像及びネガ画像の連続する2フレームは、積分効果により人間の目には足し合わされて知覚される。その結果、投影画像を観察するユーザにとって、入力画像に埋め込まれた構造化光パターンを認識することが困難、すなわち観測画像からは構造化光パターンは不可視になる。
 カメラ103は、ポジ画像フレーム及びネガ画像フレームの投影画像を撮影する。そして、対応点情報取得部204は、両フレームの撮影画像の差分を求めることにより、撮影画像に含まれる構造化光パターンのみを抽出する。この抽出された構造化光パターンを用いて対応点検出が行われる。
 このように、ISL方式では撮影画像の差分を求めるだけで容易に構造化光パタ-ンを抽出することができるので、投影する画像に依存せずに安定した精度で対応点検出を行うことができる。
 ISL方式で用いる構造化光パターンとして、グレイコード並びにチェッカーパターンを挙げることができる。グレイコード並びにチェッカーコードの詳細については、例えば特許文献1を参照されたい。グレイコードやチェッカーパターンは、輝度変化勾配が大きく且つ空間的に規則性の高いパターンを有するため、投影画像を見ているユーザに知覚され易く、不可視性が低減するおそれがある。構造化光パターンは、本来投影すべき画像にとって不要であり、ユーザが構造化光パターンを知覚することは投影画像の画質低減に相当する。なお、グレイコードやチェッカーパターンを用いる場合、対応点情報を取得するために多くの枚数を投影する必要がある。一般的に、投影する枚数が増大するほどよりユーザに知覚され易くなり、不可視性がより低減するおそれがある。また、多くの枚数を投影する分だけ対応点検出の時間が増大する。
C.構造化光パターンの構造
 本開示では、オンラインセンシングにおいて、可視光を利用するため、システム構成要素の増大(すなわちコストの増大)を抑制することができるISL方式を採用する。また、本開示では、グレイコードやチェッカーパターンにおける課題を解決し、不可視性を確保しつつ、検出時間を短縮できる構造化光パターンを採用する。構造化光パターンは、対応点検出単位毎に複数種類のパターンを配置して構成される。特に本開示では、輪郭又は形状と、輝度変化方向によって情報を表現するドットを組み合わせた構造化光パターンを、対応点情報の取得に利用する。
 図6には、本開示で使用する構造化光パターンの一実施形態を示している。構造化光パターンは、投影される元の画像と投影画像の撮影画像の間の対応点を検出するために使用される。図6に示す構造化光パターン600は、周辺と輝度値が異なる楕円形状のドット601を格子状に配置して構成される。プロジェクタ101の投影状況の確認時すなわち対応点情報の取得時に、構造化パターン600が埋め込まれた画像の投影画像をカメラ103で撮影し、その撮影画像から各ドット601を検出することで、投影される元の画像と撮影画像との間で対応点を検出することができる。
 図6中の白及び黒のドット601は、実際には、それぞれ周辺から中心に向かって正又は負の方向に向かって2次元ガウス関数状の輝度分布を持つ楕円形状とすることにより、ポジ画像及びネガ画像のそれぞれにおいてドット601の不可視性を向上させることができる。図7には、輝度変化方向が正方向及び負方向のそれぞれのドットの輝度分布を示している。輝度変化方向が正方向のドット701の輝度値は、曲線711に示すように、楕円の周辺から幾何重心に向かって正の方向にガウス関数状に変化する。これに対し、輝度変化方向が負方向のドット702の輝度値は、曲線712に示すように、楕円の周辺から幾何中心に向かって負の方向にガウス関数状に変化する。つまり、構造化光パターン600は、輝度変化方向が互いに逆の2種類のドットをマトリックス状に配置して構成される。但し、図7中の白で示すドットは輝度変化方向が正であり、黒で示すドットは輝度変化方向が負であるとする。また、楕円の中心と周辺との間で輝度が変化するが、図面の簡素化のため、白又は黒の単色でそれぞれ塗り潰して描いている。
 2次元ガウス関数状の輝度分布を持つ楕円形状のドット701及び702は、グレイコードやチェッカーパターンと比べて輝度変化勾配を緩やかにすることができ、より知覚され難くすることができる。例えば、視線が移動したり、視界が遮られたり、投影画像のフレームレートが低かったりして積分効果が低減するような場合であっても、投影画像を見ているユーザがドット701及び702を知覚することをより困難にし、不可視性を向上させることができる。輝度分布が例えば矩形の辺や角のように直線で構成される形状の場合、自然画像に少ない構成であるためユーザに知覚され易くなるおそれがある。これに対し、ドット701及び702は、輝度分布を曲線で構成される楕円形状であり、不可視性を向上させることができる。また、ドット701及び702は、形状が単純であるため、検出精度を向上させることができる。なお、ドット701及び702は楕円の周辺から中心に向かって輝度が変化する輝度分布を持つが、輝度変化勾配を緩やかにする分布を表すことができれば、ガウス関数以外の関数であってもよい。
 高速に切り替えられたポジ画像及びネガ画像の2フレームは、積分効果により人間の目には足し合わされて知覚される。その結果、投影画像を観察するユーザにとって、画像に埋め込まれた構造化光パターンを認識することが困難、すなわち不可視になる。一方、ポジ画像フレーム及びネガ画像フレームの投影画像をカメラ103で撮影した撮影画像の差分をとることで、撮影画像に含まれる構造化光パターンのみを抽出する。この抽出された構造化光パターンを用いて対応点検出が行われる。
 ドット601の輝度変化方向は2種類(図6では白と黒で表現)、楕円形状は慣性主軸が水平方向又は垂直方向の2種類である。したがって、各ドット601は、輝度変化方向で1ビット、楕円形状の慣性主軸の向きで1ビットの情報を持つことができ、輝度変化方向と慣性主軸の向きを組み合わせて2ビットすなわち4値の情報を持つことができる。但し、図6中の白で示すドットは輝度変化方向が正であり、黒で示すドットは輝度変化方向が負であるとする。また、楕円の中心と周辺との間で輝度が変化するが、図面の簡素化のため、白又は黒の単色でそれぞれ塗り潰して描いている。
 図8には、本実施形態において、構造化光パターン600で使用されるドット601の種類を示している。図示のように、輝度変化方向(正又は負)と楕円の慣性主軸の向き(縦又は横)の組み合わせで、4種類のドット601-1、601-2、601-3、601-4を有する。
 ドット601-1は、楕円の周辺から幾何重心に向かって正の方向にガウス関数状に変化し、且つ、楕円の慣性主軸が縦方向である。また、ドット601-2は、楕円の周辺から幾何重心に向かって正の方向にガウス関数状に変化し、且つ、楕円の慣性主軸が横方向である。また、ドット601-3は、楕円の周辺から幾何重心に向かって負の方向にガウス関数状に変化し、且つ、楕円の慣性主軸が縦方向である。また、ドット601-4は、楕円の周辺から幾何重心に向かって負の方向にガウス関数状に変化し、且つ、楕円の慣性主軸が横方向である。
 ドット601の慣性主軸の方向(又は、楕円の姿勢)を変えるだけで、不可視性を低下させずに、ドット601の種類を増やすことができる。また、ドット601の輝度変化方向と慣性主軸の方向を組み合わせることで、ドット601の種類をさらに増やすことができる。図8に示す例では、ドット601は2ビットの情報を表すことができる。例えば、各ドット601-1、601-2、601-3、601-4をそれぞれ「0」、「1」、「2」、「3」の4つの値で示す。なお、ドットの形状や大きさを組み合わせることで、さらにドットの種類を増やすことができる。但し、以下では、ドットの慣性主軸の方向と輝度変化方向の組み合わせのみとし、ドットは4種類として説明する。
D.構造化パターンの符号列化
 画像投影システム100において投影画像の幾何補正を行う場合、プロジェクタ101からスクリーン102上に投影した画像をカメラ103で撮影した撮影画像と、プロジェクタ101が投影する元の画像の間で対応点を検出する。
 上記C項で説明した構造化光パターンを使用する場合、スクリーン102上の投影画像には、ポジ画像フレームとネガ画像フレームがフレーム毎の交互に連続投影される。また、カメラ103はポジ画像フレーム及びネガ画像フレームの投影画像を撮影するが、両フレームの撮影画像の差分を求めることにより、撮影画像に含まれる構造化光パターンのみを抽出する。図9には、プロジェクタ101がスクリーン102に構造化光パターンを投影し、カメラ103でスクリーン102上の構造化パターンを撮影する様子を示している。但し、図9では便宜上、スクリーン102に投影されたポジ画像フレームを、カメラ103が撮影する様子を示している。
 対応点情報取得部204における対応点検出処理では、構造化光パターンから切り抜いた一定サイズのウィンドウ(以下では、「部分領域」とも呼ぶ)を対応点検出単位とする。本実施形態では、部分領域のサイズを3×3ドットとする。構造化光パターンから切り出されるすべての3×3ドットの部分領域の配列が一意であるという性質が確保されれば、カメラ103の撮影画像に含まれる各部分領域が元の構造化光パターンのどの部分領域と対応するのか、すなわち対応点を検出することができる。図9には、カメラ103の撮影画像中の部分領域901に対応する、元の構造化光パターンの部分領域911を示している。
 3×3ドットの部分領域の配列が一意であることは、部分領域のドットを所定の順序で順列展開して生成される符号列が、構造化光パターンの中で1つしかないことを意味する。図10には、3×3ドットの部分領域の配列を所定の順序で順列展開して、符号列を生成する様子を示している。図10では、各ドットを四角の箱で囲み、各四角の箱の左上の小さな四角い箱の中にそのドットが展開される順序を示している。例えば図8に示したように順列展開された各ドットを、ドットの種類に応じて「0」、「1」、「2」、「3」のいずれかの値に置き換えて、符号列を生成することができる。
 対応点情報取得部204は、カメラ103の撮影画像に含まれる構造化光パターンから抽出される各部分領域を順列展開して符号化列を順次生成し、各符号化列と一致する符号列を元の構造化光パターンの中から検索する。すべての3×3ドットの部分領域の配列が一意となるように構造化光パターンが構成されているので、符号列が一致する部分領域の配置位置から、対応点を検出することができる。
 プロジェクタ101やカメラ103の設置自由度が高くなると、スクリーン102上の投影画像に対してカメラ103の撮影画像が傾く可能性があり、この傾きによって誤った符号列を生成するおそれがある。例えば、屋外でプロジェクションマッピングを行う場合や、複数のプロジェクタを用いてプロジェクタスタッキングを行う場合には、プロジェクタ101とカメラ103の設置自由度が確保されていることが望ましい。
 図11(A)には、元の部分領域のドットの配置を示し、図11(B)には同じ部分領域が右(紙面の時計回り)に45度回転した様子を示している。図11(A)では、参照番号1101で示すドットの慣性主軸は縦方向、参照番号1103で示すドットの慣性主軸は横方向である。これに対し、部分領域が右に45回転して撮影されると、図11(B)に示すように、参照番号1101で示すドットの慣性主軸は横方向、参照番号1104で示すドットの慣性主軸は縦方向に、それぞれ誤って識別されるおそれがある。
 また、図12(A)には、元の部分領域の各ドットが順列展開される順を示し、図12(B)には同じ部分領域が右(紙面の時計回り)に45度回転したときに各ドットが順列展開される順を示している。撮影画像の傾きが大きくなると、このような順列展開する順序の誤りを起こす可能性はさらに高くなる。また、撮影画像が逆方向に傾くと、別の誤りを起こす可能性がある。
 要するに、部分領域を符号列に順列展開する際に、撮影画像の傾きにより、識別の不定性と、各ドットを順列展開する順の不定性がある。部分領域が0度回転した状態で順列展開された可能性、90度回転した状態で順列展開された可能性、180度回転した状態で順列展開された可能性、270度回転した状態で順列展開された可能性の4通りの順列展開の不定性と、ドットの慣性主軸が0度又は180度傾いた可能性と、90度又は270度傾いた可能性の2通りの識別の不定性があり、1つの部分領域から合計で8通りの符号列が生成される不定性が考えられる。構造化光パターンの中に8通りの符号列のうち複数の符号列が存在すると、符号列を一意に特定できなくなり、対応点の検出精度が低下する。
 そこで、不定性のために1つの部分領域から生成される可能性があるすべて(8通り)の符号列を1つのグループとし、1つのグループから2以上の符号列を使用しないようにして、異なるグループに属する符号列のみにより構造化光パターンを構成するようにする。このようにすれば、不定性の影響があったとしても、部分領域から生成される符号列を一意に特定することが可能になり、対応点の検出精度を向上することができる。
 なお、ここでは撮影画像の傾きを不定性の原因として符号化列をグループ化する例を説明したが、不定性の原因はこれに限定されず、符号化列をグループ化する基準も任意である。他の不定性の原因、あるいは不定性以外の情報に基づいて、符号列をグループ化するようにしてもよい。
E.構造化光パターンの生成処理
 図13には、各部分領域の配列が一意となるように構造化光パターンを生成する処理手順の一例をフローチャートの形式で示している。なお、この処理手順では、部分領域(対応点検出単位)の符号列を構造化光パターン上の位置と関連付けて登録する符号列データベースを使用するものとする。また、この処理手順は、構造化光パターン生成装置上で実行されることを想定している。構造化光パターン生成装置の詳細については後述に譲る。
 まず、ドットを形成するドット領域を設定する(ステップS1301)。構造化光パターンの全領域又は一部の領域に対して、複数のドット領域を設定するドット領域の大きさや形状は任意であり、各ドット領域の大きさや形状がすべて同じであってもよい。
 次いで、対応点検出単位となる部分領域を選択する(ステップS1302)。
 次いで、ステップS1302で選択した部分領域内のドット未設定のドット領域に配置するドットを例えばランダムに生成して、ドット未設定のドット領域のドットを仮設定する(ステップS1303)。
 次いで、ドット領域内の各部分領域を順列展開して、基本符号列を生成する(ステップS1304)。
 次いで、例えば撮影画像の傾きによる順列展開の不定性と識別の不定性を考慮して、部分領域から誤って生成される可能性がある符号列、すなわち基本符号列と同じグループに属するすべての符号列を生成する(ステップS1305)。
 次いで、グループに属する各符号列を符号列データベースで検索して(ステップS1306)、同じ符号列が符号列データベースに既に登録されていないかをチェックする(ステップS1307)。
 基本符号列、又は基本符号列が属するグループ内の符号列のうち少なくとも1つが符号列データベースに既に登録されている場合には(ステップS1307のNo)、ステップS1303に戻り、ドットの仮設定を改めて行い、上記の処理を繰り返す。
 一方、基本符号列が属するグルーブ内のすべての符号列が符号列データベース内に存在しない場合には(ステップS1307のYes)、ステップS1302で選択した処理対象の部分領域内のドットをすべて決定して(ステップS1308)、ステップS1304で生成した基本符号列を部分領域の位置と関連付けて符号列データベースに登録する(ステップS1309)。
 そして、すべてのドット領域にドットを設定していなければ(ステップS1310のNo)、ステップS1302に戻り、次の部分領域を選択して、上記の処理を繰り返す。また、すべてのドット領域にドットを設定した場合には(ステップS1301のYes)、本処理を終了する。
F.ドットの欠落や誤検出に頑健な構造化光パターン及び構造化光パターンの生成方法
 図13に示す処理手順によれば、すべての部分領域から生成される符号列の一意性が保証される構造化光パターンを生成することができる。この処理手順では、識別や順列展開する順の不定性を考慮して、符号列の一意性が保証された構造化光パターンを生成することができる。
 しかしながら、符号列の一意性が保証されたドットの配置が必ずしも最適とはならない。例えば、プロジェクタ101の投影画像とカメラ103の撮影画像との対応点を検出する際に、撮影ノイズがある環境では、ドットの欠落(未検出、検出漏れ)や誤検出が発生し易く、その結果、対応点検出の検出率が低下したり、対応点の誤検出が増加したりする問題が発生する。
 そこで、以下では、対応点検出単位毎のドットの配置(又は、ドットの配列から生成される符号列)の一意性を確保し、且つ、ドットの欠落や誤検出に頑健となるようにドットを最適配置した構造化光パターン、並びに構造化光パターンの生成方法について、本開示として提案する。
 本開示では、構造化光パターンとして仮設定したドットの配置に対して、対応点検出単位毎の一意性を確認し、さらに、所定の評価規範に基づいてドットの配置の評価値を計算して、評価値が最大となるドットの配置を用いて構造化光パターンを生成する。
F-1.構造化光パターンの生成方法
 図14には、本開示に従って構造化光パターンを生成する処理手順をフローチャートの形式で示している。図示の処理手順では、すべてのドット配置の組み合わせの構造化光パターンについて、対応点検出単位の一意性の確認と評価値の計算を総当たりで試行する。例えば、図8に示したように4種類のドットを使用して構造化光パターンを生成する場合、組み合わせ数は、4N通りとなる(但し、Nは構造化光パターン内でドットを配置する位置の総数)。この処理手順でも、符号列データベース(前述)を使用することを想定している。また、この処理手順は、構造化光パターン生成装置上で実行されることを想定している。
 すべてのドット配置の組み合わせの構造化光パターンについて試行していなければ(ステップS1401のNo)、構造化光パターンに配置するドットを例えばランダムに生成して、ドット配置を仮設定する(ステップS1402)。
 そして、ステップS1402で生成したドット配置の構造化光パターンについて、すべての対応点検出単位の一意性が確保されるかどうかをチェックする(ステップS1403)。対応点検出単位は、例えば3×3ドットの部分領域で構成され、部分領域を順列展開することによって符号列が生成れる。符号列が符号列データベース内に存在しないことによって、一意性をチェックする。ここでは、対応点検出単位から生成される符号化列の一意性だけでなく、不定性やその他の情報に基づいて符号列をグループ化して、グループ単位での一意性(異なるグループに属する符号列のみにより構造化光パターンが構成されること)についてもチェックするようにしてもよい。
 対応点検出単位の一意性が確保されない場合には(ステップS1403のNo)、ステップS1401に戻り、すべてのドット配置の組み合わせの構造化光パターンについて試行したかどうかをチェックする(ステップS1401)。すべてのドット配置の組み合わせについて試行したならば(ステップS1401のYes)、本処理を終了する。また、まだ試行していないドットの組み合わせがあれば(ステップS1401のNo)、構造化光パターンの新たなドット配置を仮設定して、上記と同じ処理を繰り返す。
 一方、すべての対応点検出単位の一意性が確保される場合には(ステップS1403のYes)、所定の評価規範に基づいて、構造化光パターンのドットの配置の評価値を計算する(ステップS1404)。そして、現在のドット配置の評価値がこれまでの評価値よりも評価規範に合致するかどうかをチェックする(ステップS1405)。
 現在のドット配置の評価値の方が評価規範に合致していれば(ステップS1405のYes)、現在のドット配置を最適な配置として更新して(ステップS1406)、ステップS1402に戻り、構造化光パターンの新たなドット配置を仮設定して、上記と同じ処理を繰り返す。
 また、現在のドット配置の評価値がこれまでの評価値よりも評価基準に合致するものでないのであれば(ステップS1405のNo)、最適なドット配置を更新することなく、ステップS1401に戻り、すべてのドット配置の組み合わせの構造化光パターンについて試行したかどうかをチェックする(ステップS1401)。すべてのドット配置の組み合わせについて試行したならば(ステップS1401のYes)、本処理を終了する。また、まだ試行していないドットの組み合わせがあれば(ステップS1401のNo)、構造化光パターンの新たなドット配置を仮設定して、上記と同じ処理を繰り返す。
 そして、すべてのドット配置の組み合わせの構造化光パターンについて試行が終了すると(ステップS1401のYes)、本処理を終了する。このようにして、表方が最大となるドットの配置を有する構造化光パターンを得ることができる。
F-2.評価規範
 続いて、構造化光パターンのドット配置を評価する評価規範について説明する。評価規範は、図14に示したフローチャート中のステップS1404で使用される。
 撮影ノイズがある環境では、ドットの欠落(未検出、検出漏れ)や誤検出が発生し易い。対応点検出単位となる部分領域内の一部のドットについて符号を誤識別すると、誤った符号列に関連付けられた誤った対応点を検出する確率が増える。特にISL方式では、SN比が低い環境下で計測を行うので、ドットの欠落や誤検出が発生し易い。
 例えば、元の画像の輝度値が最大の領域に正方向の輝度変化を持つドットを重畳すると、慣性主軸を誤識別する確率が高い。同様に、元の画像の輝度値が最小の領域に負方向の輝度変化を持つドットを重畳すると、慣性主軸を誤識別する確率が高い。このような場合、ドットの欠落(未検出、検出漏れ)や誤検出が発生し易く、誤った対応点を検出する確率が増える。
 そこで、本開示では、使用するドットの特徴を考慮して定義したハミング距離に基づいて構造化光パターンのドット配置を評価する評価規範を提案する。
 まず、2つのドット間のハミング距離の計算方法について説明する。
 一般に、ハミング距離は、同じ文字数の2つの文字列を比較したとき、同じ位置にある異なる文字の個数である。本開示で構造化光パターンに使用されるドットは、2種類の形状と2種類の極性を使った4種類である。具体的には、本ドットは、周辺から中心に向かって2次元ガウス関数状の勾配が緩やかな輝度分布を持つ楕円形状で、慣性主軸が縦方向又は横方向のいずれかであるか、及び輝度変化方向が正方向又は負方向のいずれに向かっているかという、形状と極性に特徴がある(図7及び図8を参照のこと)。
 例えば、形状と極性のうち少なくとも一方が相違するドット間のハミング距離を+1とし、形状と極性がともに一致するドット間のハミング距離を0と定義してもよい。
 また、形状と極性の相違を利用するというドットの特徴を考慮して、ドット間のハミング距離を定義するようにしてもよい。例えば、形状の相違と極性の相違とで重みを変えて、ドット間のハミング距離を定義してもよい。
 ISL方式では、ポジ画像を重畳した投影画像とネガ画像を重畳した投影画像をそれぞれ撮影した画像の差分をとって構造化光パターンの抽出を行う(例えば、図5を参照のこと)。したがって、ドットのSN比が向上し、輝度変化方向を誤検出する確率は、慣性主軸の方向を誤検出する確率に比べて低い。そこで、慣性主軸よりも極性の相違に大きな重みを付けてドット間のハミング距離を定義してもよい。
 図15には、慣性主軸よりも極性の相違に大きな重みを付けて定義したドット間のハミング距離(重み付けハミング距離)の一例を示している。また、同図には、重み付けせず、形状と極性のうち少なくとも一方が相違するドット間のハミング距離を+1とし、形状と極性がともに一致するドット間のハミング距離を0と定義した例も示している。
 図15によれば、極性(輝度変化方向)のみが相違するドットのハミング距離を+1、形状(慣性主軸の向き)のみが相違するドットのハミング距離を+2、形状と極性の両方が相違するドットのハミング距離を+3と定義する。なお、図15では図示を省略したが、形状と極性がともに一致するドットのハミング距離は0である。いずれにせよ、構造化光パターンに使用するドットの特徴に基づいて、ドット間のハミング距離を定義することが好ましい。
 続いて、部分領域間のハミング距離の計算方法について、説明する。
 部分領域は、3×3ドットからなる対応点検出単位である。図16には、構造化光パターンに含まれる、i番目の部分領域とj番目の部分領域を示している。また、図17には、i番目の部分領域とj番目の部分領域の対応する位置のドットの組み合わせ、及び対応する位置のドット間のハミング距離を示している。すべての対応する位置のドット間のハミング距離の合計が、i番目の部分領域とj番目の部分領域のハミング距離である。
 形状と極性のうち少なくとも一方が相違するドット間のハミング距離を+1、形状と極性がともに一致するドット間のハミング距離を0と定義した場合、i番目の部分領域とj番目の部分領域のハミング距離は、1+1+1+1+1+1+1+1+1=9である。また、ドットの特徴を考慮して重み付けしたドット間のハミング距離を使用する場合、i番目の部分領域とj番目のハミング距離は、3+1+2+1+1+2+3+2+2=17である。
 そして、構造化光パターン内のすべての部分領域の組み合わせのハミング距離の合計を、構造化光パターンのハミング距離とする。部分領域間のハミング距離が大きいことは、その部分領域同士の特徴、すなわち形状と極性が離れていて、一部のドットの欠落や誤検出が発生したとしても、対応点を誤検出する確率が低いと考えられる。したがって、ハミング距離に基づく評価規範を用いて構造化光パターンのドット配置を評価することで、ドットの欠落や誤検出に頑健な構造化光パターンを生成することができる。
G.ドットの欠落に頑健な構造化光パターン及び構造化光パターンの生成方法
 ISL方式では、SN比が低い環境下で計測を行うので、ドットの欠落が起こり易い。このため、ドットの欠落に頑健な構造化光パターンを用いて計測を行うことが望ましい。
 例えば、図18に示す3×3ドットの部分領域において、参照番号1801で示す左上のドットが欠落した場合、このドット位置1801に配置されるドットに4種類のドット(図8を参照のこと)が配置される可能性があり、図18~図21に示す4通りの部分領域のいずれであるかを特定できないという不定性が生じる。すなわち、ドット位置1801のドットが欠落したことが原因となる不定性のために、図18~図21に示す各部分領域からそれぞれ生成される4通りの符号列を符号列データベースで検索して、対応点を検出する必要がある。ここで、構造化光パターン内で4通りの符号列のうち2以上を使用している場合、すなわち、符号列データベースに4通りの符号列のうち2以上が登録されている場合、符号列の一意性を確保できないので、対応点を検出することができない。
 なお、以下では、図18に示した本来の部分領域から生成される符号列を「基本符号列」と呼び、一部のドットが欠落したことにより起こり得る図19~図21に示した部分領域から生成される符号列を「欠落符号列」と呼ぶことにする。
 部分領域の一部のドットが欠落した場合の符号列の一意性の解決方法について考察してみる。
 図22に示す、2次元マトリックス状のドットからなる構造化光パターンにおいて、中央付近のドット位置2201のドットが欠落した場合、このドット位置2201を含む3×3ドットの部分領域は全部で9通り存在する。そして、9通りの部分領域からは、ドットの欠落による不定性のために4通りの符号列の候補がそれぞれ生成されることになる。9通りの部分領域のうち1つでも、生成された4通りの符号列を符号列データベースで検索して、このうち1つの符号列のみが符号列データベースに存在し、一意に対応点を検出することができたならば、欠落したドット2201の種類を逆算することができる。その結果、その他の8通りの部分領域についても、符号列の一意性を解決して、それぞれの対応点を検出することができる。構造化光パターンの中央付近に配置されたドットは、欠落したときに、一意性を解決できる機会が9回ある。
 これに対し、画像の端縁付近(この場合は隅部)のドット位置2202のドットが欠落した場合、このドット位置2202を含む3×3ドットの部分領域は参照番号2210で示す1つしかない。構造化光パターンの隅部に配置されたドットは、欠落したときに、一意性を解決できる機会は1回しかない。この場合、部分領域2210からは、ドットの欠落による不定性のために4通りの候補が生成される。そして、生成された4通りの符号列をそれぞれ符号列データベースで検索して、このうち1つの符号列のみが符号列データベースに存在し、対応点を検出することができる。しかしながら、4通りの符号列のうち2以上が符号列データベースから見つかり、一意性が確保されないならば、対応点を検出することができない。
 したがって、画像の中央付近に配置されたドットは、一意性を解決できる機会が多く、ドットの欠落に頑健である。これに対し、画像の端縁付近に配置されたドットは、一意性を解決できる機会が少なく、ドットの欠落に弱い。
 そこで、画像の端縁に位置するドットが欠落することが原因となる不定性のために、1つの部分領域から生成される可能性があるすべての符号列を1つのグループとし、1つのグループから2以上の符号列を使用しないようにして、異なるグループに属する符号列のみにより構造化光パターンを構成するようにする。例えば、図19~図22に示した部分領域からそれぞれ生成される符号列を1つのグループにする。このようにすれば、画像の端縁に位置するドットが欠落しても、部分領域から生成される符号列の一意性を確保することができ、対応点の検出精度を向上することができる。すなわち、画像の端縁に位置するドットについても、欠落に頑健となる。
 なお、図19~図22では、3×3ドットの部分領域の左上のドット位置が欠落する例を示したが、その他のドット位置についても、欠落による不定性のために生成される可能性があるすべての符号列をグループ化して、異なるグループの属する符号列のみにより構造化光パターンを構成することにより、ドットの欠落に対して頑健となる。
 また、図22中の参照番号2203で示すように、構造化光パターンの側縁のドット位置2203のドットが欠落した場合、このドット位置2203を含む3×3ドットの部分領域は全部で3通り存在する。したがって、ドット位置2203は、欠落したときに一意性を解決できる機会が3回ある。構造化光パターンの側縁のドット位置についても、欠落による不定性のために生成される可能性があるすべての符号列をグループ化して、異なるグループの属する符号列のみにより構造化光パターンを構成することにより、ドットの欠落に対して頑健となる。
 また、上記では、3×3ドットの部分領域のうち1つのドット位置が欠落した場合について説明してきたが、2以上のドット位置が欠落した場合にも、同様に、不定性のために生成される可能性があるすべての符号列をグループ化して、異なるグループの属する符号列のみにより構造化光パターンを構成することにより、欠落に対して頑健にすることができる。
 図23には、ドットの欠落に頑健な構造化光パターンを生成するための概略的な処理手順をフローチャートの形式で示している。この処理手順でも、符号列データベース(前述)を使用することを想定している。また、この処理手順は、構造化光パターン生成装置上で実行されることを想定している。
 構造化光パターンの隅部に配置されたドットは、欠落したときに一意性を解決できる機会は1回しかない。また、構造化光パターンの側縁に配置されたドットは、欠落したときに一意性を解決できる機会は3回ある。また、構造化光パターンの隅部と側縁以外、すなわち中央付近に配置されたドットは、欠落したときに一意性を解決できる機会は9回ある。ドットが欠落したときに一意性を解決できる機会が少ないほど、優先度を高くしてドットの配置を決めるべきである。
 したがって、図23に示す処理手順では、ドットの欠落に対して一意性を解決する優先度に基づいて、構造化光パターンの隅部のドット位置を含む部分領域(対応点検出単位)のドット配置処理(ステップS2301)、構造化光パターンの側縁のドット位置を含む部分領域のドット配置処理(ステップS2302)、構造化光パターンの隅部及び側縁のドット位置を含まない部分領域のドット配置処理(ステップS2303)の順に実施して、ドットの欠落に頑健な構造化光パターンを生成する。
 図24には、図23に示したフローチャート中のステップS2301で実行される、構造化光パターンの隅部のドット位置を含む部分領域に配置するドットを決定する処理手順をフローチャートの形式で示している。
 まず、構造化光パターンの隅部のドット位置を含む4カ所の部分領域のドットを例えばランダムに仮設定して、基本符号列を生成する(ステップS2401)。
 次いで、画像の隅部に位置するドットが欠落することやその他の原因による不定性のために、ステップS2401で仮設定した部分領域から生成される可能性がある欠落符号列を生成して、基本符号列と欠落符号列を1つのグループにグループ化する(ステップS2402)。
 次いで、グループに属する各符号列を符号列データベースで検索して(ステップS2403)、同じ符号列が符号列データベースに既に登録されていないかどうか、すなわち基本符号列の一意性をチェックする(ステップS2404)。
 グループ内の符号列のうち少なくとも1つが符号列データベースに既に登録されている場合には(ステップS2404のNo)、ステップS2401に戻り、ドットの仮設定を改めて行い、上記の処理を繰り返す。
 一方、グルーブ内のすべての符号列が符号列データベース内に存在しない場合には(ステップS2404のYes)、ステップS2401で仮設定した部分領域内のドットをすべて決定して(ステップS2405)、その部分領域から生成した基本符号列を部分領域の位置と関連付けて符号列データベースに登録して(ステップS2406)、本処理を終了する。
 図25には、図23に示したフローチャート中のステップS2302で実行される、構造化光パターンの側縁のドット位置を含む部分領域に配置するドットを決定する処理手順をフローチャートの形式で示している。
 まず、構造化光パターンの側縁のドット位置を含む部分領域のドットを例えばランダムに仮設定して、基本符号列を生成する(ステップS2501)。
 次いで、画像の側縁に位置するドットが欠落することやその他の原因による不定性のために、ステップS2501で仮設定した部分領域から生成される可能性がある欠落符号列を生成して、基本符号列と欠落符号列を1つのグループにグループ化する(ステップS2502)。
 次いで、グループに属する各符号列を符号列データベースで検索して(ステップS2503)、同じ符号列が符号列データベースに既に登録されていないかどうか、すなわち基本符号列の一意性をチェックする(ステップS2504)。
 グループ内の符号列のうち少なくとも1つが符号列データベースに既に登録されている場合には(ステップS2504のNo)、ステップS2501に戻り、ドットの仮設定を改めて行い、上記の処理を繰り返す。
 一方、グルーブ内のすべての符号列が符号列データベース内に存在しない場合には(ステップS2504のYes)、ステップS2501で仮設定した部分領域内のドットをすべて決定して(ステップS2505)、その部分領域から生成した基本符号列を部分領域の位置と関連付けて符号列データベースに登録して(ステップS2506)、本処理を終了する。
 図26には、図23に示したフローチャート中のステップS2303で実行される、構造化光パターンの隅部と側縁以外(中央付近)のドット位置を含む部分領域に配置するドットを決定する処理手順をフローチャートの形式で示している。
 まず、構造化光パターンの隅部及び側縁以外(中央付近)のドット位置のドットを例えばランダムに仮設定して、隅部及び側縁のドットを含まない中央付近の各部分領域の基本符号列を生成する(ステップS2601)。
 次いで、一部のドットが欠落することやその他の原因による不定性のために、ステップS2601で仮設定した部分領域から生成される可能性がある欠落符号列を生成して、基本符号列と欠落符号列を1つのグループにグループ化する(ステップS2602)。なお、中央付近の部分領域は、一部のドットが欠落したときに一意性を解決する機会が多いので、ドットが欠落することによる不定性を考慮しないで、欠落符号列を生成するようにしてもよい。
 次いで、グループに属する各符号列を符号列データベースで検索して(ステップS2603)、同じ符号列が符号列データベースに既に登録されていないかどうか、すなわち基本符号列の一意性をチェックする(ステップS2604)。
 グループ内の符号列のうち少なくとも1つが符号列データベースに既に登録されている場合には(ステップS2604のNo)、ステップS2601に戻り、ドットの仮設定を改めて行い、上記の処理を繰り返す。
 一方、グルーブ内のすべての符号列が符号列データベース内に存在しない場合には(ステップS2604のYes)、ステップS2501で仮設定した部分領域内のドットをすべて決定して(ステップS2605)、その部分領域から生成した基本符号列を部分領域の位置と関連付けて符号列データベースに登録して(ステップS2606)、本処理を終了する。
 なお、図23に示した処理手順に従って、構造化光パターンの隅部、側縁、中央付近の順にドット配置を決定した後に、図14に示した処理手順と同様に、ハミング距離などの評価規範に基づいて構造化光パターンを評価し、最終的に評価が高いものに決定するようにしてもよい。
H.構造化光パターン生成装置
 図27には、構造化光パターンを生成する構造化光パターン生成装置2700の構成例を示している。構造化光パターン生成装置2700は、図14や図23~図26に示した処理手順に従って、一意性を確保し且つドットの欠落や誤検出に頑健な構造化光パターンを生成する。
 図27に示す構造化光パターン生成装置2700は、CPU(Central Processing Unit)2701と、ROM(Read Only Memory)2702と、RAM(Random Access Memory)2703と、バス2704と、入出力インターフェース2710と、入力部2711と、出力部2712と、記憶部2713と、通信部2714と、ドライブ2715と、符号列データベース2731を備えている。構造化光パターン生成装置2700は、例えばパーソナルコンピュータのような情報処理装置を用いて構成することができる。
 CPU2701と、ROM2702と、RAM2703は、バス2704を介して相互接続されている。バス2704には、入出力インターフェース2710も接続されている。入出力インターフェース2710には、入力部2711と、出力部2712と、記憶部2713と、通信部2714と、ドライブ2715と、符号列データベース2731が接続されている。
 入力部2711は、ユーザ入力などの外部の情報を受け付ける入力デバイスからなる。例えば、入力部2711は、キーボード、マウス、操作ボタン、タッチパネル、カメラ、マイクロホン、入力端子などを備えている。また、入力部2711は、加速度センサやジャイロセンサなどからなるIMU(Inertial Measurement Unit)、光センサ、温度センサなどの各種センサや、バーコードリーダなどの入力機器を含んでいてもよい。出力部2712は、ディスプレイ、スピーカ、出力端子などを備えている。
 記憶部2713は、プログラムやデータなどの情報を記憶する記憶媒体からなる。例えば、記憶部2713は、HDD(Hard Disc Drive)やSSD(Solid State Drive)などからなる。
 通信部2714は、有線又は無線の通信媒体を介して、所定の通信規格に則って外部の装置(図示しない)と通信を行う通信デバイスからなる。通信部2714は、例えばネットワークインターフェースからなる。本実施形態では、通信部2714は、構造化光パターン生成装置2700で構造化光パターンを生成するために必要な情報を外部の装置から取得したり、生成した構造化光パターンを外部の装置(例えば、プロジェクタ101)に転送したりするために使用される。
 ドライブ2715は、リムーバブルメディア2721を装填して、リムーバブルメディア2721に記録されている情報を読み出したり、リムーバブルメディア2721に情報を記録したりする。ドライブ2715は、リムーバブルメディア2721から読み出した情報を、CPU2701やRAM2703に供給する。リムーバブルメディア2721は、例えば、磁気ディスク、光ディスク、光磁気ディスク、USB(Universal Serial Bus)メモリなどである。
 CPU2701は、例えば記憶部2713に記憶されているプログラムを、入出力インターフェース2710及びバス2704を介してRAM2703にロードして実行することにより、各種処理を実行する。ここで言う処理には、図14や図23~図26に示した処理手順に従って構造化光パターンを生成する処理が含まれる。また、RAM2703には、CPU2701が各種処理を実行する際に使用されるデータも適宜記憶される。
 符号列データベース2731は、構造化光パターンに含まれる各部分領域(対応点検出単位)の符号列を構造化光パターン上の位置と関連付けて登録する。符号列とその位置の情報を記憶することができれば、符号列データベース2731はどのような形式で記憶するようにしてもよい。なお、符号列データベース2731は、記憶部2713の内部に構築されてもよいし、構造化光パターン生成装置2700の外部の装置に設けられてもよい。
 図28には、CPU2701が図14に示した処理手順を実行することにより実現される、構造化光パターン生成装置2700の機能的構成を示している。
 ドット配置仮設定部2801は、構造化光パターンに配置するドットを例えばランダムに生成して、ドット配置を仮設定する。
 一意性判定部2802は、ドット配置仮設定部2801によりドット配置が仮設定された構造化光パターンの各対応点検出単位から生成される符号列の一意性が確保されているかどうかを判定する。一意性判定部2802は、対応点検出単位の本来のドット配置を順列展開して生成される基本符号列と、不定性の影響を考慮した符号列を含めたグループ単位で一意性を判定して、異なるグループに属する符号列のみにより構造化光パターンを構成するようにする。一意性判定部2802は、符号列の一意性がないと判定すると、ドット配置仮設定部2801に対して再度のドット配置の仮設定を要求する。
 評価部2803は、所定の評価規範に基づいて、構造化光パターンのドットの配置の評価値を計算する。評価部2803は、具体的には、ドットの組み合わせ毎に定義されたドット間のハミング距離に基づいて、ドット配置が仮設定された構造化光パターン内のすべての部分領域間のハミング距離の合計からなる評価値を計算する。そして、評価部2803は、それまでに評価値が最も高いドット配置を最適配置として保持しておく。
 総当たり試行部2804は、すべてのドット配置の組み合わせの構造化光パターンについて、一意性判定部2802による一意性の判定処理と、評価部2803による評価を総当たりで試行するまで、ドット配置仮設定部2801、一意性判定部2802、評価部2803を繰り返し起動する。そして、評価部2803が最終的に保持する最適配置の構造化光パターンに含まれる各部分領域から生成される符号列を符号列データベースに登録する。
 図29には、CPU2701が図23~図26に示した処理手順を実行することにより実現される、構造化光パターン生成装置2700の機能的構成を示している。
 隅部ドット配置部2901は、構造化光パターンの隅部のドット位置を含む部分領域のドット配置処理を行う。隅部ドット配置部2901は、構造化光パターンの隅部のドット位置を含む4カ所の部分領域のドットを例えばランダムに仮設定して、基本符号列を生成する。また、隅部ドット配置部2901は、隅部に位置するドットが欠落することやその他の原因による不定性のために生成される可能性がある欠落符号列を生成して、基本符号列と欠落符号列を1つのグループにグループ化する。隅部ドット配置部2901は、グループに属するすべての符号列の一意性をチェックして、一意性がない場合には、部分領域のドットの仮配置を繰り返す。そして、隅部ドット配置部2901は、一意性を確保できたときの隅部のドット位置を含む4カ所の部分領域から生成される符号列を符号列データベースに登録する。
 側縁ドット配置部2902は、構造化光パターンの側縁のドット位置を含む部分領域のドット配置処理を行う。側縁ドット配置部2902は、構造化光パターンの側縁のドット位置を含む部分領域のドットを例えばランダムに仮設定して、基本符号列を生成する。また、側縁ドット配置部2902は、側縁に位置するドットが欠落することやその他の原因による不定性のために生成される可能性がある欠落符号列を生成して、基本符号列と欠落符号列を1つのグループにグループ化する。側縁ドット配置部2902は、グループに属するすべての符号列の一意性をチェックして、一意性がない場合には、部分領域のドットの仮配置を繰り返す。そして、側縁ドット配置部2902は、一意性を確保できたときの隅部のドット位置を含む部分領域から生成される符号列を符号列データベースに登録する。
 中央ドット配置部2903は、構造化光パターンの隅部及び側縁のドット位置を含まない、構造化光パターンの中央付近の部分領域のドット配置処理を行う。中央ドット配置部2903は、構造化光パターンの隅部及び側縁を含まない中央付近の部分領域のドットを例えばランダムに仮設定して、基本符号列を生成する。また、中央ドット配置部2903は、不定性のために生成される可能性がある欠落符号列を生成して、基本符号列と欠落符号列を1つのグループにグループ化する。中央ドット配置部2903は、グループに属するすべての符号列の一意性をチェックして、一意性がない場合には、部分領域のドットの仮配置を繰り返す。そして、中央ドット配置部2903は、一意性を確保できたときの中央付近の部分領域から生成される符号列を符号列データベースに登録する。
H.本開示の効果
 本開示によれば、ISL方式のような、SN比が低く、ドットの欠落や誤検出が発生し易い計測環境で、頑健な対応点検出を行うことができる構造化光パターンを提供することができる。画像投影システム100は、本開示に基づいて生成した構造化光パターンを使用してオンラインセンシングを行うことで、プロジェクタ101とカメラ103の設置自由度を高くすることができる。
 以上、特定の実施形態を参照しながら、本開示について詳細に説明してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
 本開示は、さまざまなタイプの画像投影システムに適用することができる。また、本明細書では詳細な説明を省略したが、本開示はプロジェクタスタッキングにも適用することができる。また、本開示は、投影画像の補正の他に、映像内に視聴者が知覚できないように情報を埋め込む技術、及び映像に埋め込まれた情報を取得する技術にも適用することができる。
 また、本開示に基づくテストパターンの生成方法は、2次元ガウス関数状の輝度分布を持つドットからなる構造化光パターンの生成に適用することができるが、もちろんその他の構造化光パターンの生成にも同様に適用することができる。また、本開示に基づくテストパターンの生成方法は、ISL方式以外のオンラインセンシングで利用するテストパターンや、オフラインセンシングで利用するテストパターンの生成にも適用することができる。
 要するに、例示という形態により本開示について説明してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本開示の要旨を判断するためには、特許請求の範囲を参酌すべきである。
 なお、本開示は、以下のような構成をとることも可能である。
(1)画像間の対応点検出に使用され、複数のドットで構成されるテストパターンを生成するための処理を実行する情報処理装置であって、
 テストパターンに含まれる各対応点検出単位のドット配置から生成される符号列の一意性を判定する判定部と、
 テストパターンのドットの欠落又は誤検出に対する頑健性を検証する検証部と、
を具備し、前記判定部の判定結果と前記検証部の検証結果に基づいてドットの配置を決定する、情報処理装置。
(2)テストパターンは、楕円形状で、周辺から中央に向かって輝度勾配が緩やかな輝度分布を有し、慣性主軸の方向と輝度変化方向が異なる複数種類のドットを配置して構成される、
上記(1)に記載の情報処理装置。
(3)テストパターンの仮のドット配置を設定する仮設定部をさらに備え、
 前記判定部は、前記仮設定部によりドット配置が仮設定されたテストパターンについて一意性を判定し、
 前記判定部により一意性がないと判定される毎に、前記仮設定部によりテストパターンの仮のドット配置を設定する、
上記(1)又は(2)のいずれかに記載の情報処理装置。
(4)前記検証部は、所定の評価規範に基づくテストパターンの評価値を算出して、評価値がより高いテストパターンを探索する、
上記(1)乃至(3)のいずれかに記載の情報処理装置。
(5)テストパターンは、楕円形状で、周辺から中央に向かって輝度勾配が緩やかな輝度分布を有し、慣性主軸の方向と輝度変化方向が異なる複数種類のドットを配置して構成され、
 前記検証部は、各種類のドットの組み合わせ毎に定義されたドット間のハミング距離に基づいて、テストパターン内のすべての対応点検出単位の間のハミング距離の合計からなる評価値を計算して、評価値がより高いテストパターンを探索する、
上記(4)に記載の情報処理装置。
(6)前記検証部は、対応点検出単位の一部のドットが欠落したときに生成され得る欠落符号列を生成し、
 前記判定部は、対応点検出単位の本来のドット配置から生成される基本符号列と欠落符号列を含めて一意性を判定する、
上記(1)乃至(3)のいずれかに記載の情報処理装置。
(7)前記検証部は、テストパターンにおける対応点検出単位の位置に応じて欠落符号列を生成する、
上記(6)に記載の情報処理装置。
(8)前記検証部は、他の対応点検出単位と重複が少ない位置のドットが欠落したときに生成され得る欠落符号列を生成する、
上記(6)又は(7)のいずれかに記載の情報処理装置。
(9)他の対応点検出単位と重複が少ないドットを含む対応点検出単位を優先的にドットの配置を決定する、
上記(6)乃至(8)のいずれかに記載の情報処理装置。
(10)隅部のドット位置を含む第1の対応点検出単位、側縁のドット位置を含む第2の対応点検出単位、隅部及び側縁のドット位置を含まない第3の対応点検出単位の順でドットの配置を決定する、
上記(6)乃至(9)のいずれかに記載の情報処理装置。
(11)画像間の対応点検出に使用され、複数のドットで構成されるテストパターンを生成するための情報処理方法であって、
 テストパターンに含まれる各対応点検出単位のドット配置から生成される符号列の一意性を判定する判定ステップと、
 テストパターンのドットの欠落又は誤検出に対する頑健性を検証する検証ステップと、
を有し、前記判定ステップの判定結果と前記検証ステップの検証結果に基づいてドットの配置を決定する、情報処理方法。
(12)画像間の対応点検出に使用され、複数のドットで構成されるテストパターンを生成するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータプログラムであって、コンピュータを、
 テストパターンに含まれる各対応点検出単位のドット配置から生成される符号列の一意性を判定する判定部、
 テストパターンのドットの欠落又は誤検出に対する頑健性を検証する検証部、
として機能させ、前記判定部の判定結果と前記検証部の検証結果に基づいてドットの配置を決定するように記述されたコンピュータプログラム。
 100…画像投影システム、101…プロジェクタ
 102…スクリーン、103…カメラ、104…映像信号処理部
 105…映像ソース
 201…投影部、202…画像処理部、203画像入力部
 204…対応点情報取得部
 301…投影光学部、302…液晶パネル
 303…液晶パネル駆動部、304…照明光学部
 401…画像書き込み読み出し部、402…フレームメモリ
 403…画像補正部、404…画質調整部
 405…出力画像切り替え部
 2700…構造化光パターン生成装置、2701…CPU
 2702…ROM、2703…RAM、2704…バス
 2710…入出力インターフェース、2711…入力部
 2712…出力部、2713…記憶部、2714…通信部
 2715…記憶部、2722…リムーバブルメディア
 2731…符号列データベース
 2801…ドット配置仮設定部、2802…一意性判定部
 2803…評価部、2804…総当たり試行部
 2901…隅部ドット配置部、2902…側縁ドット配置部
 2903…中央ドット配置部

Claims (12)

  1.  画像間の対応点検出に使用され、複数のドットで構成されるテストパターンを生成するための処理を実行する情報処理装置であって、
     テストパターンに含まれる各対応点検出単位のドット配置から生成される符号列の一意性を判定する判定部と、
     テストパターンのドットの欠落又は誤検出に対する頑健性を検証する検証部と、
    を具備し、前記判定部の判定結果と前記検証部の検証結果に基づいてドットの配置を決定する、情報処理装置。
  2.  テストパターンは、楕円形状で、周辺から中央に向かって輝度勾配が緩やかな輝度分布を有し、慣性主軸の方向と輝度変化方向が異なる複数種類のドットを配置して構成される、
    請求項1に記載の情報処理装置。
  3.  テストパターンの仮のドット配置を設定する仮設定部をさらに備え、
     前記判定部は、前記仮設定部によりドット配置が仮設定されたテストパターンについて一意性を判定し、
     前記判定部により一意性がないと判定される毎に、前記仮設定部によりテストパターンの仮のドット配置を設定する、
    請求項1に記載の情報処理装置。
  4.  前記検証部は、所定の評価規範に基づくテストパターンの評価値を算出して、評価値がより高いテストパターンを探索する、
    請求項1に記載の情報処理装置。
  5.  テストパターンは、楕円形状で、周辺から中央に向かって輝度勾配が緩やかな輝度分布を有し、慣性主軸の方向と輝度変化方向が異なる複数種類のドットを配置して構成され、
     前記検証部は、各種類のドットの組み合わせ毎に定義されたドット間のハミング距離に基づいて、テストパターン内のすべての対応点検出単位の間のハミング距離の合計からなる評価値を計算して、評価値がより高いテストパターンを探索する、
    請求項4に記載の情報処理装置。
  6.  前記検証部は、対応点検出単位の一部のドットが欠落したときに生成され得る欠落符号列を生成し、
     前記判定部は、対応点検出単位の本来のドット配置から生成される基本符号列と欠落符号列を含めて一意性を判定する、
    請求項1に記載の情報処理装置。
  7.  前記検証部は、テストパターンにおける対応点検出単位の位置に応じて欠落符号列を生成する、
    請求項6に記載の情報処理装置。
  8.  前記検証部は、他の対応点検出単位と重複が少ない位置のドットが欠落したときに生成され得る欠落符号列を生成する、
    請求項6に記載の情報処理装置。
  9.  他の対応点検出単位と重複が少ないドットを含む対応点検出単位を優先的にドットの配置を決定する、
    請求項6に記載の情報処理装置。
  10.  隅部のドット位置を含む第1の対応点検出単位、側縁のドット位置を含む第2の対応点検出単位、隅部及び側縁のドット位置を含まない第3の対応点検出単位の順でドットの配置を決定する、
    請求項6に記載の情報処理装置。
  11.  画像間の対応点検出に使用され、複数のドットで構成されるテストパターンを生成するための情報処理方法であって、
     テストパターンに含まれる各対応点検出単位のドット配置から生成される符号列の一意性を判定する判定ステップと、
     テストパターンのドットの欠落又は誤検出に対する頑健性を検証する検証ステップと、
    を有し、前記判定ステップの判定結果と前記検証ステップの検証結果に基づいてドットの配置を決定する、情報処理方法。
  12.  画像間の対応点検出に使用され、複数のドットで構成されるテストパターンを生成するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータプログラムであって、コンピュータを、
     テストパターンに含まれる各対応点検出単位のドット配置から生成される符号列の一意性を判定する判定部、
     テストパターンのドットの欠落又は誤検出に対する頑健性を検証する検証部、
    として機能させ、前記判定部の判定結果と前記検証部の検証結果に基づいてドットの配置を決定するように記述されたコンピュータプログラム。
PCT/JP2020/046329 2020-02-04 2020-12-11 情報処理装置及び情報処理方法、並びにコンピュータプログラム WO2021157196A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-017310 2020-02-04
JP2020017310 2020-02-04

Publications (1)

Publication Number Publication Date
WO2021157196A1 true WO2021157196A1 (ja) 2021-08-12

Family

ID=77199919

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/046329 WO2021157196A1 (ja) 2020-02-04 2020-12-11 情報処理装置及び情報処理方法、並びにコンピュータプログラム

Country Status (1)

Country Link
WO (1) WO2021157196A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024009745A1 (ja) * 2022-07-07 2024-01-11 ソニーグループ株式会社 情報処理装置、情報処理方法、および記録媒体

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011276A (ja) * 2005-06-03 2007-01-18 Ricoh Co Ltd 画像表示装置、画像表示方法及びコマンド入力方法
JP2011242183A (ja) * 2010-05-17 2011-12-01 Hiroshima City Univ 画像処理装置、画像処理方法およびプログラム
JP2013190610A (ja) * 2012-03-14 2013-09-26 Nikon Corp 表示装置及び配信システム
JP2015524057A (ja) * 2012-05-24 2015-08-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated 能動奥行き検知のためのアフィン不変空間マスクの送信
JP2016057707A (ja) * 2014-09-05 2016-04-21 株式会社デンソーウェーブ コード画像表示システム、コード画像表示方法、及びコード画像表示装置
WO2017104447A1 (ja) * 2015-12-18 2017-06-22 ソニー株式会社 画像処理装置および方法、データ、並びに記録媒体
WO2019054204A1 (ja) * 2017-09-14 2019-03-21 ソニー株式会社 画像処理装置および方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011276A (ja) * 2005-06-03 2007-01-18 Ricoh Co Ltd 画像表示装置、画像表示方法及びコマンド入力方法
JP2011242183A (ja) * 2010-05-17 2011-12-01 Hiroshima City Univ 画像処理装置、画像処理方法およびプログラム
JP2013190610A (ja) * 2012-03-14 2013-09-26 Nikon Corp 表示装置及び配信システム
JP2015524057A (ja) * 2012-05-24 2015-08-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated 能動奥行き検知のためのアフィン不変空間マスクの送信
JP2016057707A (ja) * 2014-09-05 2016-04-21 株式会社デンソーウェーブ コード画像表示システム、コード画像表示方法、及びコード画像表示装置
WO2017104447A1 (ja) * 2015-12-18 2017-06-22 ソニー株式会社 画像処理装置および方法、データ、並びに記録媒体
WO2019054204A1 (ja) * 2017-09-14 2019-03-21 ソニー株式会社 画像処理装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024009745A1 (ja) * 2022-07-07 2024-01-11 ソニーグループ株式会社 情報処理装置、情報処理方法、および記録媒体

Similar Documents

Publication Publication Date Title
KR101761751B1 (ko) 직접적인 기하학적 모델링이 행해지는 hmd 보정
US6970600B2 (en) Apparatus and method for image processing of hand-written characters using coded structured light and time series frame capture
JP4584246B2 (ja) 物体上に出力画像を表示する方法
US9665168B2 (en) Image processing apparatus, information processing method, and program
KR101808015B1 (ko) 최적 문자 인식을 위한 모바일 문서 획득 지원
JP4473136B2 (ja) 局所的独自パターンを使用した能動的ステレオ技術による3次元画像の取得
US7693308B2 (en) Authentication system, authentication method, machine readable medium storing thereon authentication program, certificate photograph taking apparatus, and certificate photograph taking method
JP6397977B2 (ja) ドットパターン、ドットパターン形成媒体、ドットパターンの画像データを生成するプログラム、ドットパターン形成装置、光学装置、光学読み取り装置、情報入出力装置、ドットパターン読み取り装置
WO2016158856A1 (ja) 撮像システム、撮像装置、撮像方法、及び撮像プログラム
US10762706B2 (en) Image management device, image management method, image management program, and presentation system
CN103888700A (zh) 投影型图像显示装置、图像投影方法和计算机程序
CN108369749B (zh) 对用于形成增强现实环境的装置进行控制的方法
WO2013159686A1 (en) Three-dimensional face recognition for mobile devices
KR102539427B1 (ko) 화상 처리장치, 화상 처리방법, 및 기억매체
CN105590298A (zh) 从图像提取并校正对象的图像数据
JP2017083550A (ja) 情報処理装置、画像投影システムおよびプログラム
CN104574355B (zh) 立体摄像机的校准系统和立体摄像机的校准方法
CN106415604A (zh) 具有埃尔米特对称性的经译码光图案
JP5735861B2 (ja) 画像表示プログラム、画像表示装置、画像表示方法、画像表示システム、マーカ
CN112019826A (zh) 投影方法、系统、装置、电子设备及存储介质
WO2021157196A1 (ja) 情報処理装置及び情報処理方法、並びにコンピュータプログラム
US9924066B2 (en) Image processing apparatus, information processing method, and program
WO2016152486A1 (ja) 表示装置、表示制御方法、表示制御プログラムおよび表示システム
CN109644248A (zh) 投射型影像显示装置和投射影像的调整方法
US20220417483A1 (en) Image processing device, image processing method, and image projection system

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP