WO2015040657A1 - 画像処理装置、画像処理方法および画像処理プログラム - Google Patents

画像処理装置、画像処理方法および画像処理プログラム Download PDF

Info

Publication number
WO2015040657A1
WO2015040657A1 PCT/JP2013/005597 JP2013005597W WO2015040657A1 WO 2015040657 A1 WO2015040657 A1 WO 2015040657A1 JP 2013005597 W JP2013005597 W JP 2013005597W WO 2015040657 A1 WO2015040657 A1 WO 2015040657A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel region
marker
vertex
image processing
pixel
Prior art date
Application number
PCT/JP2013/005597
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 富士通株式会社
Priority to EP13893691.9A priority Critical patent/EP3048555B1/en
Priority to PCT/JP2013/005597 priority patent/WO2015040657A1/ja
Priority to JP2015537434A priority patent/JP6256475B2/ja
Publication of WO2015040657A1 publication Critical patent/WO2015040657A1/ja
Priority to US15/057,478 priority patent/US9704246B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20164Salient point detection; Corner detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes

Definitions

  • the present invention relates to an image processing apparatus, an image processing method, and an image processing program for displaying display information at an arbitrary position on an image, for example.
  • AR augmented reality
  • the interface in the augmented reality technology uses a camera (may be referred to as a two-dimensional code) attached to an object in front of the user's eyes using a camera fixed in an arbitrary place or a camera that can move freely. After acquiring an image including a marker by photographing, it has a function of displaying, on a display, additional information related to the object and display information associated with the marker.
  • the image processing method based on augmented reality is based on a reference position determined from the four corners of the captured marker and a physical coordinate system based on the reference position. (May be referred to as a preview screen), or superimposed on a display of a PC on which a camera is mounted or a portable terminal.
  • this image processing method it is possible to associate display information with the display position of an object.
  • Augmented Reality Technology functions that support the on-site work such as the identification of the fault location when a fault occurs in an electronic device and the user's fault repair work are realized.
  • an object to be a work target or a marker having a specific shape feature is provided near the object, and display information is superimposed and displayed in real time on an image captured by the camera based on various information included in the marker.
  • a technology for superimposing and displaying an internal image and an operation procedure of a copier associated with a paper jam occurrence position on a copier serving as an object to be worked in a repair work support for a paper jam failure of a copier has been proposed. Yes.
  • the following improvement effect is expected by applying the image processing technology using augmented reality to the above-mentioned field work.
  • (2-1) Just by photographing an object to be worked using a camera of an image processing apparatus that stores an electronic manual, the work location and procedure relating to the object to be worked are displayed on a display image (camera preview image and Display information (may also be referred to as object icons) in real time in the form of superimposed display. As a result, it is possible to shorten the user's work time and reduce work mistakes.
  • Work result recording work is performed by switching to a work result input screen, for example, by pressing and selecting display information displayed in association with a work target object. . Since the work results are already digitized when the work results are recorded, the work result data can be easily organized and edited. As described above, in the image processing technology using augmented reality, various work efficiencies at the work site are expected.
  • the display operation of the display information in the image processing technology using augmented reality based on the recognition of the current marker for example, while the recognition of the marker included in the image is successful, the recognition position and orientation of the marker in the image Display information is displayed based on the relative position of the marker to the reference position.
  • the reference position of the marker is determined from, for example, the four corners of the marker as described above. Since the display position of the display information is defined in accordance with the reference position of the marker, it is important to improve the detection accuracy of the reference position of the marker to ensure the visibility of the display information for the user.
  • An object of the present invention is to provide an image processing apparatus that improves the visibility of display information to a user.
  • An image processing apparatus disclosed in the present invention includes an acquisition unit that acquires an image including a marker that defines display information and a reference position for displaying display information, using an image pattern including a first pixel region and a second pixel region. Prepare. Further, the image processing apparatus is configured to provide a first boundary between the first pixel region and the second pixel region in the first connection region where the first pixel region and the second pixel region are connected in the vertical direction, and the first connection region. A first line segment defined on the basis of the first pixel area and the second boundary line of the second pixel area, respectively, and a second line in which the first pixel area and the second pixel area are connected in the horizontal direction.
  • the first vertex indicating the four corner-shaped vertices of the outer edge of the marker including the first pixel region, or the vertices of the plurality of first pixel regions, or the plurality of second pixels.
  • An extraction unit that extracts a second vertex indicating the vertex of the region is provided.
  • the image processing apparatus further includes a calculation unit that calculates the display position of the display information using the first vertex, the second vertex, or the intersection as a reference position.
  • the visibility of display information for the user can be improved.
  • (A) is an example of a marker.
  • (B) is a conceptual diagram of a marker in which the shape of the four corners is unclear due to a quantization error.
  • (C) is a conceptual diagram of a marker whose four corner shapes are unclear due to imaging blur. It is a functional block diagram of the image processing apparatus 1 by 1st Embodiment.
  • (A) is a conceptual diagram of a four-corner shape.
  • (B) is a checkerboard-shaped conceptual diagram.
  • (C) is a conceptual diagram of a polygonal shape.
  • A) is a conceptual diagram of the polygonal shape in an input image.
  • (B) is a conceptual diagram of a checkered shape in the input image.
  • (A) is a conceptual diagram of the 1st line segment in a checkered shape, and a 2nd line segment.
  • (B) is a conceptual diagram of the 1st line segment and 2nd line segment in another shape.
  • 3 is a flowchart of image processing by the image processing apparatus 1. It is a functional block diagram of the image processing apparatus 1 by 2nd Embodiment.
  • (A) is an example of the 1st marker which showed the 1st vertex, the 2nd vertex, and the intersection.
  • (B) is an example of the 2nd marker which showed the 1st vertex, the 2nd vertex, and the intersection.
  • (C) is an example of a table including reliability. It is a hardware block diagram of the computer which functions as the image processing apparatus 1 by one Embodiment.
  • the location of problems in the prior art will be described.
  • the location of the problem has been newly found as a result of careful study of the prior art by the present inventors, and has not been known so far.
  • the position and orientation information when displaying the display information can be calculated using, for example, the coordinates of the positions of the four corners (also referred to as vertices) of the marker as reference coordinates.
  • a translation vector (Tx, Ty, Tz) representing the coordinates of the center position of the marker in the three-dimensional coordinate system (x, y, z) with reference to the photographing direction of the camera that photographs the marker, and the translation vector Position and orientation information can be calculated based on rotation vectors (Rx, Ry, Rz) representing the rotation angle of the marker with respect to each axis.
  • the rotation angle of the marker indicates, for example, how much the origin is rotated with respect to the axes of the translation vectors Tx, Ty, and Tz when the center position of the marker is the origin.
  • FIG. 1 is a definition diagram of rotation vectors and translation vectors. As shown in FIG.
  • a translation vector Tz is defined perpendicular to the marker from the origin 0 at an arbitrary position, and translation vectors Tx and Ty corresponding to the translation vector Tz are defined. Further, rotation vectors Rx, Ry, and Rz are respectively defined with respect to the rotation directions of the translation vectors Tx, Ty, and Tz.
  • a three-dimensional coordinate system (X, Y, Z) based on the marker shape (where the marker center is the origin, the direction of each side is the X axis, the Y axis, and the normal direction of the marker is the Z axis)
  • FIG. 2A is an example of a marker.
  • FIG. 2B is a conceptual diagram of a marker in which the shape of the four corners is unclear due to a quantization error.
  • FIG. 2C is a conceptual diagram of a marker whose four corner shapes are obscured by imaging blur. The marker shown in FIG.
  • 2A has, for example, a square shape of 8 modules in length and width, and the outer periphery of one module is fixed in a black region.
  • a marker ID uniquely associated with the marker is represented by a pattern of white areas and black areas of six modules in the vertical and horizontal directions inside the marker.
  • markers having various shapes can be applied in addition to the marker shown in FIG.
  • the boundary line between the white region and the black region constituting the marker is obscured due to quantization error or imaging blur, and is shown in FIG. There arises a problem that the positions of the vertexes of the four corners of the marker do not coincide with the detection positions.
  • the boundary line is defined in the white area and the black area
  • a quantization error or imaging blur does not occur, the boundary line is defined at the original boundary line position of the marker.
  • the black region will apparently expand, and the boundary line of the marker will be defined outside. In this case, since the calculation accuracy of a translation vector and a rotation vector falls, the subject that the display position of display information becomes unstable arises.
  • the decrease in rotation vector calculation accuracy is often noticeable, and the display information shakes up and down, left and right around the center of the marker, or a rattling phenomenon occurs, degrading the visibility of the display information. Challenges arise. In other words, in order to provide an image processing apparatus that improves the visibility of display information to the user, it is necessary to reduce the influence of quantization error and imaging blur.
  • the present inventors examined the following method as a comparative example with respect to the problem of deteriorating the visibility of the display information described above. For example, in order to reduce the detection error of the vertex coordinates of the four corner shapes due to quantization error or imaging blur, the detection processing of the marker is performed after interpolating between the pixels in the vicinity of the four corner shapes, and the pixel interval constituting the marker or less A method for obtaining vertex coordinates of a four-corner shape with an accuracy of (subpixel accuracy) is conceivable. However, even if this method is used, there is a limit to the amount of reduction in quantization error or error due to imaging blur, and the effect is not sufficient.
  • a translation vector or a rotation vector is temporarily stored along a time series, and a smoothing filter or a predictive filter process such as a particle filter is used to reduce shaking and rattling.
  • a method of reducing it is conceivable.
  • the prediction filter process is merely a prediction process, and a problem arises from the viewpoint of accuracy with respect to the original correct value.
  • the prediction filter process does not follow the moving speed, and thus a problem arises that a large error is generated instead.
  • a method for increasing the resolution of an imaging lens for imaging a marker and an imaging element can be considered.
  • FIG. 3 is a functional block diagram of the image processing apparatus 1 according to the first embodiment.
  • the image processing apparatus 1 includes an acquisition unit 2, a recognition unit 3, a storage unit 4, a generation unit 5, an extraction unit 6, a calculation unit 7, and a display unit 8.
  • the image processing apparatus 1 may be configured by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the acquisition unit 2 is, for example, a hardware circuit based on wired logic.
  • the acquisition unit 2 may be a functional module realized by a computer program executed by the image processing apparatus 1.
  • the acquisition unit 2 includes a communication unit (not shown), and can bidirectionally transmit and receive data to and from various external devices via a communication line.
  • the acquisition unit 2 includes display information (also referred to as object information) displayed by the display unit 8 to be described later and an image including a marker that defines a reference position for displaying the display information (the image is referred to as an input image). May be called).
  • the display information is information including work contents associated with an object to be worked, for example.
  • the shape of the marker acquired by the acquisition unit 2 may be, for example, the shape of the marker shown in FIG.
  • the acquisition unit 2 acquires the image from, for example, an image sensor (not shown) (also referred to as a camera) that is an example of an external device.
  • the imaging element is, for example, an imaging device such as a CCD (Charge Coupled Device) or a CMOS (Complementary Metal Oxide Semiconductor) camera.
  • the image processing apparatus 1 can make the imaging element a part of the components of the image processing apparatus 1.
  • the acquisition unit 2 outputs the acquired image to the recognition unit 3. Moreover, the acquisition part 2 outputs the acquired image to the display part 8 as needed.
  • the recognition unit 3 is a hardware circuit based on wired logic, for example. Further, the recognition unit 3 may be a functional module realized by a computer program executed by the image processing apparatus 1.
  • the recognition unit 3 receives the input image from the acquisition unit 2 and detects the position of the marker in the input image. For example, the recognizing unit 3 detects the two-dimensional coordinates of the positions of the four corner shapes of the marker in the two-dimensional coordinate system in the coordinate axis with the upper left corner of the input image as the origin, the horizontal direction as the x axis, and the vertical direction as the y axis.
  • the recognizing unit 3 recognizes the marker ID corresponding to the marker with reference to, for example, the two-dimensional coordinates of the vertexes of the four corners of the marker.
  • the marker ID may be recognized using an arbitrary algorithm, or a plurality of markers stored in advance in the storage unit 4 to be described later is referred to as a template.
  • the marker ID may be recognized using matching. Note that the detection accuracy of the coordinates of the four corner shapes of the marker in the recognition unit 3 may be lower in principle than that used in the calculation of the translation vector or the rotation vector, so that it is not affected by quantization error or imaging blur.
  • the recognition unit 3 outputs the recognized marker ID to the generation unit 5.
  • the recognition unit 3 refers to the storage unit 4, for example, recognizes display information corresponding to the marker ID, and outputs the display information to the display unit 8.
  • the storage unit 4 is, for example, a semiconductor memory device such as a flash memory, or a storage device such as an HDD (Hard Disk Drive) or an optical disk.
  • the storage unit is not limited to the above-mentioned type of storage device, and may be a RAM (Random Access Memory) or a ROM (Read Only Memory).
  • the storage unit 4 stores, for example, a marker used by the recognition unit 3 for template matching, a marker ID associated with the marker, display information corresponding to the marker ID, and the like. Further, the display information includes data of a relative positional relationship with respect to the display surface of the display unit 8 that is displayed based on the reference position. Note that the storage unit 4 is not necessarily included in the image processing apparatus 1.
  • the storage unit 4 can be provided in an external device other than the image processing device 1 by using a communication unit (not shown) provided in the image processing device 1 via a communication line. Further, the data stored in the storage unit 4 may be stored in a cache or memory (not shown) included in each functional unit of the image processing apparatus 1 as necessary.
  • the generation unit 5 is a hardware circuit based on wired logic, for example.
  • the generation unit 5 may be a functional module that is realized by a computer program executed by the image processing apparatus 1.
  • the generation unit 5 receives the marker ID from the recognition unit 3.
  • generates should just be equivalent to the shape of the marker shown to Fig.2 (a), for example.
  • the generation unit 5 may acquire the marker from the storage unit 4 and use the acquired marker as a marker pattern.
  • the extraction unit 6 is a hardware circuit based on wired logic, for example. Further, the extraction unit 6 may be a functional module realized by a computer program executed by the image processing apparatus 1.
  • the extraction unit 6 receives the marker pattern from the generation unit 5.
  • the extraction unit 6 determines the position of a point of a specific shape feature from the marker pattern as a reference position on the marker pattern.
  • the specific shape feature corresponds to, for example, a four-corner shape, a checkered shape, or a polygonal shape.
  • FIG. 4A is a conceptual diagram of a four-corner shape.
  • FIG. 4B is a conceptual diagram of a checkered shape.
  • FIG. 4C is a conceptual diagram of a polygonal shape.
  • the black region may be referred to as a first pixel region
  • the white region may be referred to as a second pixel region.
  • the first pixel region may be inverted to the white region and the second pixel region may be inverted to the black region as necessary (for example, according to the background color of the object to which the marker is added).
  • the four-corner shape is the shape of the four corners of the outer edge of the marker composed of the first pixel region.
  • a first vertex is set for each of the four corner shapes. The first vertex corresponds to one of the reference positions.
  • the checkered shape is a shape in which the plurality of first pixel regions and the plurality of second pixel regions face each other. Also, the center point of the checkered shape is set as an intersection. Note that the intersection point corresponds to one of the reference positions.
  • FIG. 4C in the polygonal shape, a plurality of first pixel regions are connected in an arbitrary number and an arbitrary shape. Note that the polygonal shape shown in FIG. 4C is an example, and the polygonal shape is composed of various connected shapes. Further, as shown in FIG. 4C, a second vertex is set at each vertex of the polygonal shape. The second vertex corresponds to one of the reference positions.
  • the second vertex is a point where two sides of the polygonal shape intersect.
  • the shorter line segment may be referred to as the short side
  • the longer line segment may be referred to as the long side.
  • the relative positional relationship data included in the display information stored in the storage unit 4 may include the first vertex, the second vertex, and the intersection.
  • the marker included in the image acquired by the acquisition unit 2 is, for example, a rectangular marker in which unit-sized squares (modules) are stacked vertically and horizontally as shown in FIG.
  • the marker ID is expressed using the difference in the combination pattern between the white area and the black area of the module. For this reason, when the marker ID stored in the marker is different, the combination pattern of the white area and the black area of the module inside the marker is also different.
  • the above-mentioned checkered shape or polygonal shape is formed inside the marker.
  • the coordinate positions of the first vertex, the second vertex, and the intersection formed by the four-corner shape, polygonal shape, and checkered shape can be uniquely determined if the recognition unit 3 can recognize the marker ID.
  • the corresponding reference position can also be detected from the marker.
  • the first vertex, the second vertex, and the intersection can be used as a reference position when calculating the translation vector or the rotation vector.
  • a least square method can be used.
  • an error at each reference position can be expressed by a mathematical expression, and a translation vector and a rotation vector can be calculated so that the sum of the errors is minimized.
  • the calculation unit 7 calculates the ideal point PM0n at each reference position in the marker reference coordinate system on the image.
  • a translation vector or a rotation vector can be calculated so that an error E expressed by the following equation is minimized.
  • the extraction unit 6 determines the coordinate position of the marker included in the input image corresponding to the reference position on the marker pattern. For example, the extraction unit 6 uses the center of the marker pattern as the origin, and performs mapping conversion from the planar coordinate system of the x-axis and y-axis coordinate axes based on the origin to the coordinate system of the input image (also referred to as perspective transformation). Can be determined based on the coordinates of the four corners of the marker (first vertex) and projecting another reference position onto the coordinate system of the input image using this mapping transformation. Thereby, the rotation and inclination of the marker in the input image can be corrected. Note that the marker included in the input image may be cut out only for the marker portion as necessary.
  • the extraction unit 6 extracts the first vertex, the second vertex, and the intersection in the marker of the input image corresponding to the first vertex, the second vertex, and the intersection in the marker pattern. In order to extract the first vertex, the second vertex, and the intersection of the marker in the input image, the extraction unit 6 compares the positions and shapes of the four corner shapes, checkerboard shape, and polygonal shape of each of the marker pattern and the marker in the input image. The four-corner shape, checkered shape, and polygonal shape of the marker of the corresponding input image are specified.
  • the extraction unit 6 extracts the first vertex, the second vertex, and the intersection that are the reference positions in the input image from the four-corner shape, checkered shape, and polygonal shape specified from the markers included in the input image.
  • details of the extraction method of the first vertex, the second vertex, and the intersection as the reference position in the input image by the extraction unit 6 will be described.
  • the positions of the first vertex, the second vertex, and the intersection can be obtained as, for example, the intersection of the contour lines of the outer edges constituting the four-corner shape, the polygonal shape, and the checkered shape.
  • the contour straight line can be obtained as an approximate straight line that passes through a contour point whose pixel gradation value is close to a specific value (generally referred to as a binarization threshold) between the white region and the black region. .
  • a specific value can be determined in advance or appropriately determined according to the state of the image, the appropriate value may change due to imaging blur or quantization error. Similarly, the correct position of the contour straight line may become unclear due to imaging blur or quantization error.
  • FIG. 5A is a conceptual diagram of a polygonal shape in the input image.
  • FIG. 5B is a conceptual diagram of a checkered shape in the input image.
  • FIG. 5A and FIG. 5B are affected by quantization error or imaging blur, and show a state in which the outline of the outer edge of the polygonal shape or the checkered shape is unclear.
  • FIG. 5A and FIG. 5B the case where the specific value described above does not match the appropriate value will be described.
  • contour points when the specific value is set higher (brighter) than the appropriate value are indicated by dotted lines.
  • the contour point is detected outside the position of the original contour line of the outer edge, so the contour line defined based on the contour point is also more than the original contour position. Detected outside.
  • the position of the original second vertex defined based on the polygonal shape in the input image is also detected by being shifted outward.
  • This phenomenon similarly occurs at the first vertex defined based on the four-corner shape.
  • the contour points are detected by being shifted in a point-symmetrical direction from the center point of the checkered shape. Since the imaging blur amount and quantization error amount in the vicinity area inside the marker are almost the same, this deviation width is also almost the same. Therefore, the deviation amount is offset in the contour straight line defined based on the contour point. It is prescribed as follows. For this reason, the intersection defined based on the checkerboard shape is detected at the original position. Details of this technical feature will be described below.
  • a checkered black area is defined as a first pixel area
  • a white area is defined as a second pixel area.
  • a region where the first pixel region and the second pixel region are vertically connected is defined as a first connected region (for example, the right half region in FIG. 4B).
  • a boundary line between the first pixel region and the second pixel region in the first connection region is set as a first boundary line.
  • a boundary line between the first pixel region and the second pixel region (for example, the left half region in FIG. 4B) that is point-symmetric with respect to the first connection region is defined as a second boundary line.
  • a line segment defined based on the first boundary line and the second boundary line is defined as a first line segment.
  • the first line segment may be defined based on the midpoint of the first boundary line and the second boundary line, for example, parallel to the first boundary line and the second boundary line.
  • a region where the first pixel region and the second pixel region are connected in the horizontal direction is defined as a second connection region (for example, the upper half region in FIG. 4B).
  • a boundary line between the first pixel region and the second pixel region in the second connection region is defined as a third boundary line.
  • a boundary line between the first pixel region and the second pixel region (for example, the lower half region in FIG. 4B) that is point-symmetric with respect to the second connection region is defined as a fourth boundary line.
  • a line segment defined based on the third boundary line and the fourth boundary line is set as the second line segment.
  • the second line segment may be defined based on the middle point of the third boundary line and the fourth boundary line, for example, parallel to the third boundary line and the fourth boundary line.
  • the intersection defined based on the checkerboard shape is the same as the intersection of the first line segment and the second line segment.
  • FIG. 6A is a conceptual diagram of the first line segment and the second line segment in the checkered shape.
  • the first boundary line and the second boundary line are defined outside the original boundary line, for example, due to the influence of quantization error and imaging blur.
  • the first boundary line and the second boundary line are defined outside the original boundary line, for example, due to the influence of quantization error and imaging blur.
  • the first boundary line and the second boundary line are defined outside the original boundary line, for example, due to the influence of quantization error and imaging blur.
  • the first boundary line and the second boundary line are defined outside the original boundary line, for example, due to the influence of quantization error and imaging blur.
  • the first boundary line and the second boundary line are offset each other. This technical feature occurs in the second line segment as well.
  • the intersection of the checkered shape is defined by the intersection of the first line segment and the second line segment in which the influence of the quantization error and imaging blur is offset, the reference position can be accurately defined. For this reason, since display information is displayed in the position which should be displayed originally,
  • the first boundary line in the first connection area the first pixel area that is point-symmetric with respect to the first connection area, the second boundary line of the second pixel area, the first boundary line, and If the line segment defined based on the second boundary line is an intersection defined based on the first line segment and the second line segment, it is not necessary to have a checkered shape.
  • FIG. 6B is a conceptual diagram of the first line segment and the second line segment in other shapes. FIG. 6B shows a state where the first connection region and the second connection region are discrete. However, as can be understood from FIG. 6B, the first line segment is defined based on the midpoint of the first boundary line and the second boundary line and parallel to the first boundary line and the second boundary line.
  • the quantization error of the first boundary line and the second boundary line and the influence of imaging blur are cancelled.
  • This technical feature occurs in the second line segment as well. Since the intersection of the shape is defined by the intersection of the first line segment and the second line segment in which the influence of the quantization error and imaging blur is canceled, the reference position can be accurately defined. For this reason, since the display information is displayed at the position where it should be originally displayed, the visibility of the display information is improved. In FIG. 6A, the first boundary line and the second boundary line are based on the intersection. Therefore, it is possible to greatly reduce the influence of imaging blur and quantization error.
  • the extraction unit 6 can improve the detection accuracy of the reference position by performing sub-pixel accuracy interpolation processing on the input image with the reference position of the input image as a base point. Further, the extracting unit 6 determines that a coordinate having a large position shift after the interpolation process with respect to the reference position has a poor image quality near the coordinate position and has a large error, and excludes the coordinate at this time. good. Note that the error range to be eliminated may be set in an arbitrary range in advance.
  • the extraction unit 6 calculates a translation vector or a rotation vector based on a priority determined from a predetermined shape feature and a criterion between the shape features to be described later when there are a plurality of checkerboard shapes or polygonal shapes in the marker. A reference position to be used for the selection may be selected. The extraction unit 6 outputs the selected reference position to the calculation unit 7.
  • the extraction unit 6 can give priorities to a plurality of reference positions when a plurality of checkerboard shapes or polygonal shapes exist inside the marker.
  • the longer the straight line the more pixel information (contour points) that can be used for the contour straight line calculation increases. This is a matter common to both the checkered shape and the polygonal shape. For this reason, the extraction unit 6 can use the feature in determining the priority order among the shape features.
  • the extracting unit 6 compares the lengths of the shortest contour straight lines among contour straight lines (which may be referred to as edges) forming a checkered shape or a polygonal shape, and the straight lines (referred to as reference sides). It is possible to reduce the translation vector or rotation vector calculation error by using the higher priority in order from the longest.
  • the four-corner shape can be basically interpreted as the length of the shortest straight line (may be referred to as a short side) in the polygonal shape being the maximum.
  • FIG. 7 is an example of a table including shape features and priorities. As shown in the table 70 of FIG. 7, the priority is given in the order of checkered shape, four-corner shape, and polygonal shape.
  • the error may be larger than the shape (polygonal shape) inside the marker.
  • the priority order of the four corner shapes may be set lower than that of the polygon shape as necessary.
  • FIG. 8 is an example of a table including priorities based on the length of a straight line in a checkered shape.
  • the length of the straight line is 5 for 1 to 5 modules in the case of the checkered shape, and the polygonal shape. In some cases, there are six ways for 1 to 6 modules, and a priority is given by a combination of these. In the case of a polygonal shape, since there are at least four straight lines, the number of combinations becomes very large. For this reason, in the table 80, the case where the length of the straight line is simplified to two lengths of one module length or two modules or more is illustrated. Further, in the table 80 and the table 90, priority is given in the order of the shortest straight line length. Furthermore, when the lengths of the shortest straight lines are equal, priority is given in descending order of the sum of the lengths of the straight lines.
  • the detection position of the contour point forming the contour straight line is another polygonal shape located on the contour straight line (the contour straight line extends to both ends of the marker). It will also be affected by the checkerboard shape. For this reason, when other polygonal shapes or checkered shapes exist nearby, there is a possibility that the detection accuracy of the contour straight line itself is also deteriorated. For example, a case will be described in which another polygonal shape exists on a polygonal contour line composed of contour lines of No.
  • the calculation unit 7 in FIG. 3 is, for example, a hardware circuit based on wired logic.
  • the calculation unit 7 may be a functional module realized by a computer program executed by the image processing apparatus 1.
  • the calculation unit 7 receives the reference position from the extraction unit 6.
  • the calculation unit 7 calculates the translation vector and the rotation vector using, for example, the above (Equation 1) or (Equation 2).
  • the calculation unit 7 outputs the calculated translation vector and rotation vector to the display unit 8. Further, as a modification of the calculation unit 7, the center position of the marker defined from the four corners of the marker may be used as the reference position.
  • a relative position between the center position and the intersection, the first vertex, or the second vertex may be calculated, and a translation vector and a rotation vector may be calculated based on the relative position.
  • the intersection, the first vertex, or the second vertex may be referred to as a substantial reference position.
  • the calculation unit 7 can further use the least square method after applying different weighting coefficients to each reference position using the above-described priority order based on the detection error. Thereby, the reference coordinates of the shape feature with a small error are preferentially used, and it is possible to reduce the calculation error of the translation vector or the rotation vector.
  • the calculation unit 7 can calculate the translation vector or the rotation vector so that the error E expressed by the following equation is minimized. (Equation 3) By using the above (Equation 3), it is possible to reduce the calculation error of the translation vector and the rotation vector according to the priority order.
  • FIG. 10 is an example of a table including shape features, priorities, and weighting coefficients.
  • the higher weighting coefficients are given in the descending order of priority given in the table 80 of FIG. 8 and the table 90 of FIG.
  • a high weighting coefficient is given with priority given to a checkered shape that can suppress the reference coordinate error most, and then a four corner shape weighting coefficient is given high.
  • the calculation unit 7 may selectively use the reference coordinates in descending order of priority, instead of using all the reference coordinates in order to reduce the arithmetic processing. For example, the calculation unit 7 can calculate a translation vector or a rotation vector using 14 reference coordinates.
  • the display unit 8 receives display information from the recognition unit 3 and receives a translation vector and a rotation vector from the calculation unit 7.
  • the display unit 8 displays display information based on the translation vector and the rotation vector.
  • the display unit 8 may receive an image from the acquisition unit 2 as necessary, and display the image by superimposing display information on the image.
  • FIG. 11 is a flowchart of image processing by the image processing apparatus 1.
  • the acquisition unit 2 is an image including display information displayed on the display unit 8 and a marker that defines a reference position for displaying the display information (the image may be referred to as an input image).
  • Obtain (step S1101).
  • the shape of the marker acquired by the acquisition unit 2 may be, for example, the shape of the marker shown in FIG.
  • the acquisition unit 2 acquires the image from, for example, an image sensor (not shown) (also referred to as a camera) that is an example of an external device.
  • the acquisition unit 2 outputs the acquired image to the recognition unit 3.
  • the acquisition part 2 outputs the acquired image to the display part 8 as needed.
  • the recognition unit 3 receives the input image from the acquisition unit 2 and detects the position of the marker in the input image. For example, the recognizing unit 3 detects the two-dimensional coordinates of the positions of the four corner shapes of the marker in the two-dimensional coordinate system in the coordinate axis with the upper left corner of the input image as the origin, the horizontal direction as the x axis, and the vertical direction as the y axis. For example, the recognition unit 3 recognizes the marker ID corresponding to the marker with reference to the two-dimensional coordinates of the four corners of the marker (step S1102). When the recognition unit 3 cannot recognize the marker ID (step S1102-No), the image processing apparatus 1 ends the image processing.
  • the recognition unit 3 can recognize the marker ID (step S1102-Yes)
  • the recognized marker ID is output to the generation unit 5.
  • the recognition unit 3 refers to the storage unit 4, for example, recognizes display information corresponding to the marker ID, and outputs the display information to the display unit 8.
  • the generation unit 5 receives the marker ID from the recognition unit 3.
  • generates should just be equivalent to the shape of the marker shown to Fig.2 (a), for example.
  • the generation unit 5 outputs the generated marker pattern to the extraction unit 6.
  • Extraction unit 6 extracts a reference position (step S1104). Specifically, the extraction unit 6 receives a marker pattern from the generation unit 5. The extraction unit 6 determines the position of a point of a specific shape feature from the marker pattern as a reference position on the marker pattern.
  • the specific shape feature corresponds to, for example, a four-corner shape, a checkered shape, or a polygonal shape.
  • the extraction unit 6 determines the coordinate position of the marker included in the input image corresponding to the reference position on the marker pattern.
  • the extraction unit 6 uses the center of the marker pattern as the origin, and performs mapping conversion from the planar coordinate system of the x-axis and y-axis coordinate axes based on the origin to the coordinate system of the input image (also referred to as perspective transformation). Can be determined based on the coordinates of the four corners of the marker (first vertex) and projecting another reference position onto the coordinate system of the input image using this mapping transformation. Thereby, the rotation and inclination of the marker in the input image can be corrected. Note that the marker included in the input image may be cut out only for the marker portion as necessary.
  • the extraction unit 6 extracts the first vertex, the second vertex, and the intersection in the marker of the input image corresponding to the first vertex, the second vertex, and the intersection in the marker pattern. In order to extract the first vertex, the second vertex, and the intersection of the marker in the input image, the extraction unit 6 compares the positions and shapes of the four corner shapes, checkerboard shape, and polygonal shape of each of the marker pattern and the marker in the input image. The four-corner shape, checkered shape, and polygonal shape of the marker of the corresponding input image are specified.
  • the extraction unit 6 extracts the first vertex, the second vertex, and the intersection that are the reference positions in the input image from the four-corner shape, checkered shape, and polygonal shape specified from the markers included in the input image.
  • the extraction unit 6 outputs the extracted reference position to the calculation unit 7.
  • the extraction unit 6 can perform sub-pixel precision interpolation processing on the input image with the reference position of the input image as a base point, thereby improving the detection accuracy of the reference position. Further, the extracting unit 6 determines that a coordinate having a large position shift after the interpolation process with respect to the reference position has a poor image quality near the coordinate position and has a large error, and excludes the coordinate at this time. good. Note that the error range to be eliminated may be determined in an arbitrary range in advance.
  • step S1104 the extraction unit 6 determines the priority order determined from a predetermined shape feature and a reference between the shape features, which will be described later, when there are a plurality of checkerboard shapes or polygonal shapes in the marker.
  • the reference position used for calculating the translation vector or the rotation vector may be selected based on the above. In this case, the extraction unit 6 outputs the selected reference position to the calculation unit 7.
  • the calculation unit 7 receives the reference position from the extraction unit 6.
  • the calculating unit 7 calculates a translation vector or a rotation vector using, for example, the above (Equation 1), (Equation 2), or (Equation 3) (step S1105).
  • the calculation unit 7 outputs the calculated translation vector and rotation vector to the display unit 8.
  • the display unit 8 receives display information from the recognition unit 3 and receives a translation vector and a rotation vector from the calculation unit 7.
  • the display unit 8 displays display information based on the translation vector and the rotation vector (S1106).
  • the display unit 8 may receive an image from the acquisition unit 2 as necessary, and display the image by superimposing display information on the image.
  • the image processing apparatus 1 when the acquisition unit 2 continuously acquires images in step S1101, the image processing apparatus 1 repeatedly executes the processes in steps S1101 to S1106. If the acquisition unit 2 does not acquire an image in step S1101, the image processing shown in the flowchart of FIG.
  • the visibility of display information for the user can be improved.
  • the fact that the geometrical shape of the marker is known is used, and the coordinate position inside the marker is known and can be detected in addition to the four corner shapes of the marker.
  • the display information is displayed at the position where it should be originally displayed, so that the visibility of the display information is improved.
  • it is possible to reduce translation vector and rotation vector calculation errors by assigning priorities and weighting factors to sub-pixel-accurate interpolation and shape features that reduce errors from geometric features. .
  • FIG. 12 is a functional block diagram of the image processing apparatus 1 according to the second embodiment.
  • the image processing apparatus 1 includes an acquisition unit 2, a recognition unit 3, a storage unit 4, a generation unit 5, an extraction unit 6, a calculation unit 7, and a defining unit 9.
  • the image processing apparatus 1 may be configured by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). Since the functions of the functional units of the image processing apparatus 1 other than the defining unit 9 in the second embodiment are the same as those in the first embodiment, detailed description thereof is omitted.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the defining unit 9 is, for example, a hardware circuit based on wired logic.
  • the defining unit 9 may be a functional module realized by a computer program executed by the image processing apparatus 1.
  • the defining unit 9 receives the number of intersections, first vertices, or second vertices used to calculate the display position from the calculation unit 7.
  • the defining unit defines the reliability of the translation vector or the rotation vector for displaying the display information based on the number of intersections, first vertices, or second vertices used for calculating the display position.
  • FIG. 13A is an example of a first marker showing a first vertex, a second vertex, and an intersection.
  • FIG. 13B is an example of the second marker showing the first vertex, the second vertex, and the intersection.
  • the number of first vertices, second vertices, and intersections differs depending on the marker pattern, and therefore the translation vector and rotation vector calculation accuracy depends on the marker ID. Therefore, by calculating the reliability indicating the calculation accuracy of the translation vector and the rotation vector, it is possible to perform operations such as assigning a marker having a high calculation accuracy of the translation vector and the rotation vector to important display information.
  • FIG. 13C is an example of a table including reliability. The reliability shown in the table 93 in FIG.
  • 13C can be calculated by an arbitrary method.
  • the number of shape features used for calculation of translation vectors and rotation vectors, and shape features with high priority It can be defined based on the number of In the table 93 of FIG. 13, a numerical value obtained by summing values obtained by multiplying the number of each shape feature by a predetermined reliability coefficient is exemplified as the reliability.
  • the reliability In the two markers shown in FIG. 13A and FIG. 13B, the number of four corners and the number of polygons are the same, so the difference in the number of checkered shapes is expressed as a difference in reliability.
  • the reliability of the translation vector / rotation vector according to the marker ID (in other words, the reliability of the marker) can be defined. Thereby, it is possible to assign a marker having high calculation accuracy of the translation vector and the rotation vector to the display information important to the user.
  • FIG. 14 is a hardware configuration diagram of a computer that functions as the image processing apparatus 1 according to an embodiment.
  • the image processing apparatus 1 includes a computer 100 and an input / output device (peripheral device) connected to the computer 100.
  • the entire computer 100 is controlled by the processor 101.
  • a RAM (Random Access Memory) 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109.
  • the processor 101 may be a multiprocessor.
  • the processor 101 is, for example, a CPU, an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic). Further, the processor 101 may be a combination of two or more elements of CPU, MPU, DSP, ASIC, and PLD.
  • the RAM 102 is used as a main storage device of the computer 100.
  • the RAM 102 temporarily stores at least a part of an OS (Operating System) program and application programs to be executed by the processor 101.
  • the RAM 102 stores various data necessary for processing by the processor 101.
  • Peripheral devices connected to the bus 109 include an HDD (Hard Disk Drive) 103, a graphic processing device 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.
  • HDD Hard Disk Drive
  • the HDD 103 magnetically writes and reads data to and from the built-in disk.
  • the HDD 103 is used as an auxiliary storage device of the computer 100, for example.
  • the HDD 103 stores an OS program, application programs, and various data.
  • a semiconductor storage device such as a flash memory can be used as the auxiliary storage device.
  • a monitor 110 is connected to the graphic processing device 104.
  • the graphic processing device 104 displays various images on the screen of the monitor 110 in accordance with instructions from the processor 101.
  • Examples of the monitor 110 include a display device using a CRT (Cathode Ray Tube) and a liquid crystal display device.
  • a keyboard 111 and a mouse 112 are connected to the input interface 105.
  • the input interface 105 transmits signals sent from the keyboard 111 and the mouse 112 to the processor 101.
  • the mouse 112 is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.
  • the optical drive device 106 reads data recorded on the optical disk 113 using a laser beam or the like.
  • the optical disk 113 is a portable recording medium on which data is recorded so that it can be read by reflection of light.
  • the optical disc 113 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWriteable), and the like.
  • a program stored in the optical disk 113 serving as a portable recording medium is installed in the image processing apparatus 1 via the optical drive device 106. The installed predetermined program can be executed by the image processing apparatus 1.
  • the device connection interface 107 is a communication interface for connecting peripheral devices to the computer 100.
  • a memory device 114 or a memory reader / writer 115 can be connected to the device connection interface 107.
  • the memory device 114 is a recording medium equipped with a communication function with the device connection interface 107.
  • the memory reader / writer 115 is a device that writes data to the memory card 116 or reads data from the memory card 116.
  • the memory card 116 is a card type recording medium.
  • the network interface 108 is connected to the network 117.
  • the network interface 108 transmits and receives data to and from other computers or communication devices via the network 117.
  • the computer 100 realizes the above-described image processing function by executing a program recorded on a computer-readable recording medium, for example.
  • a program describing the processing contents to be executed by the computer 100 can be recorded in various recording media.
  • the program can be composed of one or a plurality of functional modules.
  • a program can be comprised from the functional module which implement
  • a program to be executed by the computer 100 can be stored in the HDD 103.
  • the processor 101 loads at least a part of the program in the HDD 103 into the RAM 102 and executes the program.
  • a program to be executed by the computer 100 can also be recorded on a portable recording medium such as the optical disc 113, the memory device 114, and the memory card 116.
  • the program stored in the portable recording medium becomes executable after being installed in the HDD 103 under the control of the processor 101, for example.
  • the processor 101 can also read and execute a program directly from a portable recording medium.
  • each component of each illustrated apparatus does not necessarily need to be physically configured as illustrated.
  • the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
  • the various processes described in the above embodiments can be realized by executing a prepared program on a computer such as a personal computer or a workstation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

 表示情報のユーザに対する視認性が向上する画像処理装置を提供するために、画像処理装置は、第1画素領域と第2画素領域を含む画像パターンにより、表示情報と表示情報を表示する為の基準位置を規定するマーカを含む画像を取得する取得部と、第1画素領域と第2画素領域が縦方向に連接する第1連接領域における第1画素領域と第2画素領域の第1境界線と、第1連接領域に対してそれぞれ点対称となる第1画素領域と第2画素領域の第2境界線とに基づいて規定される第1線分と、第1画素領域と第2画素領域が横方向に連接する第2連接領域における第1画素領域と第2画素領域の第3境界線と、第2連接領域に対してそれぞれ点対称となる第1画素領域と第2画素領域の第4境界線とに基づいて規定される第2線分と、の交点、を抽出する抽出部と、交点を基準位置として表示情報の表示位置を算出する算出部とを備える。

Description

画像処理装置、画像処理方法および画像処理プログラム
 本発明は、例えば、画像上の任意の位置に表示情報を表示する画像処理装置、画像処理方法および画像処理プログラムに関する。
 近年、情報通信技術の発展に伴い、現実空間(外界)を撮像した画像にコンピュータを用いて視覚的な表示情報を付加して表示する、拡張現実感(Augmented Reality:AR)による画像処理技術の開発が行われている。拡張現実に関する技術におけるインタフェースは、任意の場所に固定されたカメラ、または自由に移動が可能なカメラを用いて、ユーザの眼前の物体に付与されるマーカ(2次元コードと称しても良い)を撮影することにより、マーカを含む画像を取得した後、その物体に関連する付加的な情報であり、かつマーカに対応付けられる表示情報をディスプレイ上に表示する機能を具備している。
 拡張現実感による画像処理方法は、具体的には、マーカに対応する表示情報を、撮像したマーカの4隅から決定される基準位置と当該基準位置に基づく物理座標系に基づいて、カメラのディスプレイ(プレビュー画面と称しても良い)や、カメラが搭載されるPC、または、携帯端末のディスプレイに重畳表示することを特徴としている。当該画像処理方法により、表示情報と物体の表示位置を関連付けることが可能となる。
 拡張現実技術を利用し、電子機器等の障害発生時における障害箇所の特定、及び、ユーザの障害修復作業等の現場作業を支援する機能が実現されている。例えば、作業対象物となる物体または、当該物体付近に特定の形状特徴を有するマーカを付与し、マーカに含まれる各種情報に基づいて、カメラが撮影する画像上にリアルタイムで表示情報を重畳表示する。例えば、コピー機の紙詰まり障害の修復作業支援において、紙詰まり発生位置に対応付けられたコピー機の内部映像及び操作手順を、作業対象の物体となるコピー機に重畳表示する技術が提案されている。
 ここで、従来の拡張現実感の画像処理技術を用いない従来の手法による現場作業においては、以下の様な問題が存在し得ることが想定されている。
 (1-1)作業対象箇所や手順を記載した大量の紙媒体の作業手順書を作業現場に持って行き、作業者が必要な個所を自分で選択して参照すると共に、作業手順書の記載と現場の状況を見比べながら作業を実施する。この為、必要箇所の選択に時間がかかる、間違った箇所を選択する・見比べる時に見間違いが発生するなどの作業ミスが発生する。
 (1-2)作業結果は、紙媒体のチェックシートへ記入して記録する。記録内容を電子化する作業負荷は大きいことから、紙媒体のチェックシートのまま作業結果が保存されることになる為、作業結果の整理や解析が難しくなる。
 上述の問題点に関して、拡張現実感を用いた画像処理技術を上述の現場作業に対して適用することで、以下の改善効果が期待される。
 (2-1)電子化したマニュアルを格納した画像処理装置のカメラを用いて作業対象の物体を撮影するだけで、その作業対象の物体に関する作業箇所や手順を、ディスプレイの画像(カメラプレビュー画像と称しても良い)への表示情報(オブジェクトアイコンと称しても良い)の重畳表示という形でリアルタイムに表示して提示する。これにより、ユーザの作業時間の短縮と作業ミスの低減を図ることが可能となる。
 (2-2)作業結果の記録作業は、作業対象の物体に関連付けて表示されている表示情報を、例えば、手指で押下して選択することで、作業結果の入力用画面に切り替えて実施する。作業結果の記録完了時において、既に作業結果は電子化されている為、作業結果のデータの整理や編集が容易になる。この様に、拡張現実感を用いた画像処理技術においては、作業現場における様々な作業効率化が期待されている。
 「拡張現実感を利用した原子力発電プラントの解体支援手法の提案と評価」、日本バーチャルリアリティ学会論文誌、Vol.13、No.2、pp.289-300、2008
 現状のマーカの認識に基づく拡張現実感を用いる画像処理技術における表示情報の表示動作は、例えば、画像に含まれるマーカの認識に成功している間は、当該画像内のマーカの認識位置や姿勢を基準とし、マーカの基準位置に対する相対位置に基づいて表示情報を表示する。なお、マーカの基準位置は、上述の通り、例えば、マーカの4隅から決定される。マーカの基準位置に合わせて表示情報の表示位置が規定される為、マーカの基準位置の検出精度を向上させることが、表示情報のユーザに対する視認性を確保する上で重要となる。本発明は、表示情報のユーザに対する視認性が向上する画像処理装置を提供することを目的とする。
 本発明が開示する画像処理装置は、第1画素領域と第2画素領域を含む画像パターンにより、表示情報と表示情報を表示する為の基準位置を規定するマーカを含む画像を取得する取得部を備える。更に、当該画像処理装置は、第1画素領域と第2画素領域が縦方向に連接する第1連接領域における第1画素領域と第2画素領域の第1境界線と、第1連接領域に対してそれぞれ点対称となる第1画素領域と第2画素領域の第2境界線とに基づいて規定される第1線分と、第1画素領域と第2画素領域が横方向に連接する第2連接領域における第1画素領域と第2画素領域の第3境界線と、第2連接領域に対してそれぞれ点対称となる第1画素領域と第2画素領域の第4境界線とに基づいて規定される第2線分と、の交点、第1画素領域を含むマーカの外縁の4隅形状の頂点を示す第1頂点、または、複数の第1画素領域の頂点、または、複数の第2画素領域の頂点を示す第2頂点、を抽出する抽出部を備える。更に、当該画像処理装置は、第1頂点、第2頂点または交点を基準位置として表示情報の表示位置を算出する算出部を備える。
 なお、本発明の目的及び利点は、例えば、請求項におけるエレメント及び組み合わせにより実現され、かつ達成されるものである。また、上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を制限するものではないことを理解されたい。
 本明細書に開示される画像処理装置では、表示情報のユーザに対する視認性が向上させることが可能となる。
回転ベクトルと並進ベクトルの定義図である。 (a)は、マーカの一例である。(b)は、量子化誤差により4隅形状が不明瞭となるマーカの概念図である。(c)は、撮像ボケにより4隅形状が不明瞭となるマーカの概念図である 第1の実施形態による画像処理装置1の機能ブロック図である。 (a)は、4隅形状の概念図である。(b)は、市松形状の概念図である。(c)は、多角形状の概念図である。 (a)は、入力画像における多角形状の概念図である。(b)は、入力画像における市松形状の概念図である。 (a)は、市松形状における第1線分と第2線分の概念図である。(b)は、その他の形状における第1線分と第2線分の概念図である。 形状特徴と優先順位を含むテーブルの一例である。 市松形状における直線の長さを基準とする優先順位を含むテーブルの一例である。 多角形状における直線の長さを基準とする優先順位を含むテーブルの一例である。 形状特徴、優先順位、ならびに重み付け係数を含むテーブルの一例である。 画像処理装置1による画像処理のフローチャートである。 第2の実施形態による画像処理装置1の機能ブロック図である。 (a)は、第1頂点、第2頂点、交点を示した第1マーカの一例である。(b)は、第1頂点、第2頂点、交点を示した第2マーカの一例である。(c)は、信頼度を含むテーブルの一例である。 一つの実施形態による画像処理装置1として機能するコンピュータのハードウェア構成図である。
 まず、従来技術における問題の所在について説明する。なお、当該問題の所在は、本発明者らが従来技術を仔細に検討した結果として新たに見出したものであり、従来は知られていなかったものである。本発明者らの鋭意検証によって、上述の表示情報の表示位置がリアルタイムで変動する拡張現実感による画像処理において以下の事項が明らかになった。表示情報を表示する際の位置姿勢情報は、例えば、マーカの4隅形状の角(頂点と称しても良い)の位置の座標を基準座標として算出することが出来る。具体的には、マーカを撮影するカメラの撮影方向を基準にした3次元座標系(x、y、z)におけるマーカの中心位置の座標を表す並進ベクトル(Tx、Ty、Tz)と、並進ベクトルそれぞれの軸に対するマーカの回転角度を表す回転ベクトル(Rx、Ry、Rz)に基づいて位置姿勢情報を算出することが出来る。なお、マーカの回転角度は、例えば、マーカの中心位置を原点とした場合において、当該原点が並進ベクトルTx、Ty、Tzの軸に対してどの程度回転しているのかを示している。図1は、回転ベクトルと並進ベクトルの定義図である。図1に示される通り、任意の位置の原点0から、マーカに対して垂直に並進ベクトルTzが規定され、当該並進ベクトルTzに対応する並進ベクトルTx、Tyがそれぞれ規定される。また、並進ベクトルTx、Ty、Tzの回転方向に対して、回転ベクトルRx、Ry、Rzがそれぞれ規定される。換言すると、マーカの形状を基準とした3次元座標系(X、Y、Z)(但し、マーカ中心を原点,各辺の方向をX軸,Y軸,マーカの法線方向をZ軸とする)の上の点PMn=(Xn、Yn、Zn)を、カメラの撮影方向を基準にした3次元座標系から見た時の点PCn=(xn、yn、zn)は、次式を用いて表現することが出来る。
  (数1)
   PCn = R(θ、θ、θz)・PMn+T
 但し、上述の(数1)において、
   T=(Tx、Ty、Tz)
   R(θ、θ、θ)=Rx(θx,)・Ry(θy)・Rz(θz)であり、更に、
Figure JPOXMLDOC01-appb-I000001
であるものとする。また、回転ベクトル(Rx、Ry、Rz)は、上記の回転行列R(θx、θy、θz)から算出することが出来る。ここで、R(θ、θ、θz)は、上述の(数1)において、連立方程式を用いて算出することが出来る。例えば、マーカの4隅を用いる場合、4隅の各点は同一平面上にあること(Zn=0)を前提とすることで、1枚の画像中の4点分の点の座標が分かれば連立方程式を解くことが可能となる。この時、PMn=(Xn、Yn、Zn)、PCn=(xn、yn、zn)は、マーカの基準位置に基づいて一意的に係数をして定められる。この様に、並進ベクトルならびに回転ベクトルはマーカの基準位置に基づいて算出される。
 上述の並進ベクトルならびに回転ベクトルの算出精度は、マーカの4隅形状の頂点の座標(位置)の検出精度に依存する。本発明者らの鋭意検証により、マーカの4隅形状の頂点の位置は、量子化誤差やカメラの撮像ボケによる撮影画像の不鮮明性の影響により検出誤差が大きくなる為、マーカの4隅形状の頂点の座標の検出精度を向上させることは、容易では無いことが明らかになった。図2(a)は、マーカの一例である。図2(b)は、量子化誤差により4隅形状が不明瞭となるマーカの概念図である。図2(c)は、撮像ボケにより4隅形状が不明瞭となるマーカの概念図である。図2(a)に示すマーカは、例えば、縦横8モジュールの正方形の形状であり、外周1モジュール分は黒色領域で固定されている。また、マーカ内部の縦横6モジュールの白色領域と黒色領域のパターンによって、例えば、当該マーカに一意に対応付けられるマーカIDが表現される。なお、後述する実施例においては、例えば、図2(a)に示すマーカ以外にも、様々な形状のマーカを適用することが可能である。図2(b)ならびに図2(c)の何れにおいても、量子化誤差または撮像ボケにより、マーカを構成する白色領域と黒色領域の画素の境界線が不明瞭となり、図2(a)に示すマーカの4隅形状の頂点の位置と検出位置が一致しない課題が生じる。例えば、白色領域と黒色領域に境界線を規定する場合、例えば、所定の閾値の画素値(例えば、画素値=125)を用いて、閾値以下を満たす画素に基づいて境界線を規定する。量子化誤差や撮像ボケが発生しない場合は、本来のマーカの境界線の位置に、境界線が規定される。しかしながら、量子化誤差や撮像ボケが発生すると、例えば、黒色領域が見かけ上、膨張することなり、マーカの境界線は、外側に規定されることになる。この場合、並進ベクトルならびに回転ベクトルの算出精度が低下する為、表示情報の表示位置が不安定になるという課題が生じる。特に、回転ベクトルの算出精度の低下が顕著になる場合が多く、表示情報がマーカ中心付近を基点に上下左右に揺れたり、ガタついて表示される現象が発生し、表示情報の視認性を劣化させる課題が生じる。換言すると、表示情報のユーザに対する視認性が向上する画像処理装置を提供する為には、量子化誤差や撮像ボケの影響を低減させる必要がある。
 上述の表示情報の視認性を劣化させる課題に対して、本発明者らは、比較例として以下の手法を検討した。例えば、量子化誤差または撮像ボケに対する4隅形状の頂点座標の検出誤差を低減させるため、4隅形状付近の画素間を補間した上で、マーカの検出処理を行い、マーカを構成する画素間隔以下の精度(サブピクセル精度)で4隅形状の頂点座標を求める方法が考えられる。しかしながら、当該方法を用いても量子化誤差または撮像ボケによる誤差の低減量には限界があり、効果は十分なものではない。また、他の比較例として、並進ベクトルまたは回転ベクトルを時系列に沿って一時的に保存した上で、平滑化フィルタ、または、パーティクルフィルタ等の予測フィルタ処理を用いることによって、揺れやガタつきを低減させる方法が考えられる。しかしながら、予測フィルタ処理は、単なる予測処理であり、本来の正しい値に対する精度の観点から課題が生じる。更に、撮影画面内でのマーカの移動速度に急激な変化が発生した場合には、予測フィルタ処理が当該移動速度に追従しない為に、却って大きな誤差を発生させるという課題も生じる。また、他の比較例として、マーカを撮像する撮像レンズならびに撮像素子の解像度を高解像度化させる方法が考えられる。但し、リアルタイムで変動する拡張現実感による画像処理おいて、高解像度の画像の画像処理を行うことは演算負荷の観点から現実的ではない。
 上述の本発明者らの鋭意検証によって、新たに見出された事項を考慮しつつ、以下に、一つの実施形態による画像処理装置、画像処理方法及び画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は、開示の技術を限定するものではない。
 (実施例1)
 図3は、第1の実施形態による画像処理装置1の機能ブロック図である。画像処理装置1は、取得部2、認識部3、記憶部4、生成部5、抽出部6、算出部7ならびに、表示部8を有する。なお、画像処理装置1は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路で構成しても良い。
 取得部2は、例えば、ワイヤードロジックによるハードウェア回路である。また、取得部2は、画像処理装置1で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。更に、取得部2は、図示しない通信部を有しており、通信回線を介して様々な外部装置と双方向にデータの送受信を行うことが可能である。取得部2は、後述する表示部8が表示する表示情報(オブジェクト情報と称しても良い)と、当該表示情報を表示する基準位置を規定するマーカを含む画像(なお、当該画像を入力画像と称しても良い)を取得する。ここで、表示情報とは、例えば、作業対象となる物体に対応付けられる作業内容等を含む情報である。また、取得部2が取得するマーカの形状は、例えば、図2(a)に示す形状のマーカの形状であれば良い。取得部2は、当該画像を、例えば、外部装置の一例となる図示しない撮像素子(カメラと称しても良い)から取得する。撮像素子は、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)カメラなどの撮像デバイスである。また、画像処理装置1は、撮像素子を画像処理装置1の構成要素の一部とすることが出来る。取得部2は取得した画像を認識部3に出力する。また、取得部2は取得した画像を必要に応じて表示部8に出力する。
 認識部3は、例えば、ワイヤードロジックによるハードウェア回路である。また、認識部3は、画像処理装置1で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。認識部3は入力画像を取得部2から受け取り、当該入力画像中のマーカの位置を検出する。認識部3は、例えば、入力画像の左上端を原点、横方向をx軸、縦方向をy軸の座標軸における2次元座標系における、マーカの4隅形状の位置の2次元座標を検出する。
 認識部3は、例えば、マーカの4隅形状の頂点の2次元座標を基準として、マーカに対応するマーカIDを認識する。認識部3におけるマーカの認識処理においては、任意のアルゴリズムを用いてマーカIDを認識しても良いし、後述する記憶部4に必要に応じて予め記憶されている複数のマーカを参照し、テンプレートマッチングを用いてマーカIDを認識しても良い。なお、認識部3におけるマーカの4隅形状の座標の検出精度は、並進ベクトルまたは回転ベクトルの算出に用いる場合よりも原理上低くても良い為、量子化誤差や撮像ボケの影響を受けずにマーカID(例えば、マーカID=13)を認識することが出来る。認識部3は、認識したマーカIDを生成部5に出力する。なお、認識部3は、例えば、記憶部4を参照し、マーカIDに対応する表示情報を認識し、当該表示情報を表示部8へ出力する。
 記憶部4は、例えば、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、HDD(Hard Disk Drive)、光ディスクなどの記憶装置である。なお、記憶部は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。記憶部4には、例えば、認識部3がテンプレートマッチングに用いるマーカや、マーカに対応付けられるマーカID、当該マーカIDに対応する表示情報等が記憶される。また、表示情報には、基準位置に基づいて表示される、表示部8の表示面に対する相対的な位置関係のデータが含まれる。なお、記憶部4は、必ずしも画像処理装置1に含まれる必要はない。例えば、画像処理装置1に設けられる図示しない通信部を用いて通信回線を介することによって、記憶部4を画像処理装置1以外の外部装置に設けることも可能である。また、画像処理装置1の各機能部が必要に応じて有する、図示しないキャッシュまたはメモリに記憶部4が記憶するデータを格納しても良い。
 生成部5は、例えば、ワイヤードロジックによるハードウェア回路である。また、生成部5は、画像処理装置1で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。生成部5は、マーカIDを認識部3から受け取る。生成部5は、マーカID(例えば、マーカID=13)に対応するマーカのマーカパターンを生成する。なお、生成部5が生成するマーカパターンは、例えば、図2(a)に示すマーカの形状と同等であれば良い。また、生成部5は、例えば、記憶部4にマーカIDに対応するマーカが格納されている場合は、記憶部4からマーカを取得し、取得したマーカをマーカパターンとしても良い。更に、生成部5は、マーカパターンを生成する際、例えば、マーカの大きさ(例えば、1モジュール=1画素)、または、階調(例えば、黒色領域=0、白色領域=255)を正規化したマーカパターンを生成しても良い。生成部5は、生成したマーカパターンを抽出部6へ出力する。
 抽出部6は、例えば、ワイヤードロジックによるハードウェア回路である。また、抽出部6は、画像処理装置1で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。抽出部6は、生成部5からマーカパターンを受け取る。抽出部6は、マーカパターンから、特定の形状特徴が有する点の位置を、マーカパターン上の基準位置として決定する。なお、特定の形状特徴は、例えば、4隅形状、市松形状、多角形状が該当する。図4(a)は、4隅形状の概念図である。図4(b)は、市松形状の概念図である。図4(c)は、多角形状の概念図である。図4(a)ないし図4(c)において、例えば、黒色領域を第1画素領域、白色領域を第2画素領域と称しても良い。なお、必要に応じて(例えば、マーカが付与される物体の背景色に応じて)、第1画素領域を白色領域に反転し、第2画素領域を黒色領域に反転しても良い。図4(a)においては、4隅形状は、第1画素領域から構成されるマーカの外縁の4隅の形状となる。更に、図4(a)に示す様に4隅形状のそれぞれに第1頂点が設定される。なお、第1頂点は基準位置の1つに相当する。図4(b)においては、市松形状は、複数の第1画素領域と、複数の第2画素領域が互いに対向する形状となる。また、当該市松形状の中心点が交点として設定される。なお、当該交点は基準位置の1つに相当する。図4(c)においては、多角形状においては、複数の第1画素領域が任意の数、ならびに、任意の形状で連接している。なお、図4(c)に示す多角形状は、一例であり、様々な連接形状で多角形状は構成される。また、図4(c)に示す通り、多角形状の各頂点には第2頂点が設定される。なお、第2頂点は基準位置の1つに相当する。ここで、第2頂点は、多角形状の2辺が交差する点であることが理解できる。第2頂点を形成する多角形状の2辺の線分において、短い方の線分を短辺、長い方の線分を長辺と称しても良い。上述の通り、図4(a)ないし図4(c)において、第1頂点、第2頂点、交点は、基準位置に対応する。この為、記憶部4に記憶される、表示情報に含まれる相対的な位置関係のデータは、第1頂点、第2頂点、交点を含ませても良い。
 実施例1において、取得部2が取得する画像に含まれるマーカは、例えば、図2(a)に示す通り、単位サイズの正方形(モジュール)を縦横に積み重ねた形の矩形のマーカである。当該マーカでは、モジュールの白色領域と黒色領域の組み合わせパターンの違いを用いてマーカIDを表現している。この為、マーカに格納するマーカIDが異なる場合、マーカ内部のモジュールの白色領域と黒色領域の組み合わせパターンも異なる。ここで、当該マーカにおいては、外周の4隅形状の他に、マーカ内部には、上述の市松形状または多角形状の2種類の形状が形成される。4隅形状、多角形状、市松形状が構成する第1頂点、第2頂点、交点の座標位置は、認識部3がマーカIDを認識出来れば一意に決定することが可能である為、画像に含まれるマーカからも対応する基準位置を検出することが出来る。この為、実施例1においては、第1頂点、第2頂点、交点を並進ベクトルまたは回転ベクトルを算出する際の基準位置として使用することが出来る。これにより、基準座標が増加する為、後述する算出部7による並進ベクトルならびに回転ベクトルの算出誤差を低減させることが可能となる。この理由について以下に説明する。
 並進ベクトルや回転ベクトルの算出においては、例えば、最小二乗法を用いることが出来る。最小二乗法を用いることにより、各基準位置での誤差を数式で表し、この誤差の総和が最小となるように並進ベクトルや回転ベクトルを算出することが出来る。例えば、算出部7は、N個の基準位置を用いて並進ベクトルまたは回転ベクトルを算出する場合には、マーカ基準の座標系での各基準位置の理想的な点PM0nに対して、画像上のカメラ基準の座標系での各基準位置の測定された点PCnに対して、次式で表現される誤差Eが最小となるとなる様に並進ベクトルまたは回転ベクトルを算出することが出来る。
  (数2)
   
Figure JPOXMLDOC01-appb-I000002

 上述の(数2)を用いることで、並進ベクトルならびに回転ベクトルの算出誤差を低減させることが可能となる。
 抽出部6は、マーカパターン上の基準位置に対応する、入力画像に含まれるマーカの座標位置を決定する。例えば、抽出部6は、マーカパターンの中心を原点とし、原点を基点するx軸とy軸の座標軸の平面座標系から、入力画像の座標系への写像変換(透視変換と称しても良い)を、マーカの4隅形状の座標(第1頂点)を基準にして求めて、この写像変換を用いて他の基準位置を入力画像の座標系へ投影することで決定することが出来る。これにより、入力画像のマーカの回転や傾きを補正することが出来る。なお、入力画像に含まれるマーカは、必要に応じてマーカ部位のみに対して切り抜き処理が実施されても良い。
 抽出部6は、マーカパターンにおける第1頂点、第2頂点、ならびに交点に対応する、入力画像のマーカにおける第1頂点、第2頂点、交点を抽出する。抽出部6は、入力画像のマーカの第1頂点、第2頂点、交点を抽出する為に、マーカパターンと入力画像のマーカそれぞれの4隅形状、市松形状、多角形状の位置と形状を比較し、対応する入力画像のマーカの4隅形状、市松形状、多角形状を特定する。抽出部6は、入力画像に含まれるマーカから特定した4隅形状、市松形状、多角形状から、入力画像における基準位置となる第1頂点、第2頂点、交点を抽出する。以下に、抽出部6による、入力画像における基準位置となる第1頂点、第2頂点、交点の抽出方法の詳細について説明する。
 第1頂点、第2頂点、交点の位置は、例えば、4隅形状、多角形状、市松形状を構成する外縁の輪郭直線の交点として求めることが出来る。当該輪郭直線は、画素の階調値が白色領域と黒色領域の間の特定値(一般的には、2値化閾値と称される)に近い輪郭点を通過する近似直線として求めることが出来る。この特定値は、予め定めておくか画像の状態に応じて適宜決定することが出来るが、撮像ボケや量子化誤差によって適正値が変化してしまう場合がある。また、同様に撮像ボケや量子化誤差によって輪郭直線の正しい位置が不明瞭になってしまう場合が有る。図5(a)は、入力画像における多角形状の概念図である。図5(b)は、入力画像における市松形状の概念図である。図5(a)ならびに図5(b)は、量子化誤差または撮像ボケの影響を受けており、多角形状または市松形状の外縁の輪郭が不明瞭な状態を示している。図5(a)ならびに図5(b)においては、上述の特定値が適正値に対して一致しなくなる場合について説明する。先ず、特定値が適正値に対して高く(明るく)設定された場合の輪郭点を点線で示す。図5(a)に示す、多角形状の場合、輪郭点は、本来の外縁の輪郭直線の位置より外側に検出されてしまうため、輪郭点に基づいて規定される輪郭直線も本来の輪郭位置より外側に検出される。その結果、入力画像における多角形状に基づいて規定される本来の第2頂点の位置も外側にずれて検出される。この現象は、4隅形状に基づいて規定される第1頂点においても同様に発生する。一方、図5(b)に示す、市松形状の場合、輪郭点は市松形状の中心点を境に点対称の方向にずれて検出される。マーカ内部の近傍領域の撮像ボケ量や量子化誤差量は、ほぼ同等であるため、このずれ幅もほぼ同等となる為、輪郭点に基づいて規定される輪郭直線は、ずれ量が相殺される様に規定される。この為、市松形状に基づいて規定される交点は本来の位置に検出されることになる。この技術的特徴の詳細について以下に説明する。
 市松形状に基づいて規定される交点は、換言すると以下の通りに表現される。先ず、例えば、市松模様の黒色領域を第1画素領域として規定し、白色領域を第2画素領域として規定する。更に、当該市松形状において、第1画素領域と第2画素領域が縦方向に連接する領域を第1連接領域とする(例えば、図4(b)の右側半分の領域)。また、当該第1連接領域における第1画素領域と第2画素領域の間の境界線を第1境界線する。次に、第1連接領域に対してそれぞれ点対称となる第1画素領域と第2画素領域(例えば、図4(b)の左側半分の領域)の間の境界線を第2境界線する。更に、第1境界線と第2境界線に基づいて規定される線分を第1線分とする。ここで、第1線分は、例えば、第1境界線と第2境界線に平行かつ、第1境界線と第2境界線の中点に基づいて規定されれば良い。
 更に、市松形状において、第1画素領域と第2画素領域が横方向に連接する領域を第2連接領域とする(例えば、図4(b)の上側半分の領域)。また、当該第2連接領域における第1画素領域と第2画素領域の間の境界線を第3境界線とする。次に、第2連接領域に対してそれぞれ点対称となる第1画素領域と第2画素領域(例えば、図4(b)の下側半分の領域)の間の境界線を第4境界線とする。更に、第3境界線と第4境界線に基づいて規定される線分を第2線分とする。ここで、第2線分は、例えば、第3境界線と第4境界線に平行かつ、第3境界線と第4境界線の中点に基づいて規定されれば良い。この場合において、市松形状に基づいて規定される交点は、第1線分と第2線分の交点と同様となる。
 図6(a)は、市松形状における第1線分と第2線分の概念図である。図6(a)に示す市松形状においては、第1境界線と第2境界線は、それぞれ量子化誤差や撮像ボケの影響により、本来の境界線よりも、例えば、外側に規定されることになる。しかしながら、第1線分は、第1境界線と第2境界線に平行かつ、第1境界線と第2境界線の中点に基づいて規定される為、第1境界線と第2境界線の量子化誤差や撮像ボケの影響は互いに相殺されることなる。この技術的特徴は、第2線分も同様に発生する。市松形状の交点は、量子化誤差や撮像ボケの影響が相殺された第1線分と第2線分の交点により規定される為、基準位置を正確に規定することが出来る。この為、表示情報が本来の表示されるべき位置に表示される為、表示情報の視認性が向上する。
 実施例1において、上述の第1連接領域における第1境界線、当該第1連接領域に対してそれぞれ点対称となる第1画素領域と第2画素領域の第2境界線、第1境界線と第2境界線に基づいて規定される線分を第1線分ならびに、第2線分に基づいて規定される交点であれば、市松形状である必要はない。図6(b)は、その他の形状における第1線分と第2線分の概念図である。図6(b)には、第1連接領域と第2連接領域が離散している状態が示されている。しかしながら、図6(b)から理解出来る通り、第1線分は、第1境界線と第2境界線に平行かつ、第1境界線と第2境界線の中点に基づいて規定される為、第1境界線と第2境界線の量子化誤差や撮像ボケの影響は互いに相殺されることなる。この技術的特徴は、第2線分も同様に発生する。当該形状の交点は、量子化誤差や撮像ボケの影響が相殺された第1線分と第2線分の交点により規定される為、基準位置を正確に規定することが出来る。この為、表示情報が本来の表示されるべき位置に表示される為、表示情報の視認性が向上するまた、図6(a)においては、第1境界線と第2境界線は交点を基準に近接している為、撮像ボケや量子化誤差の影響を大幅に削減させることが可能になる。
 更に、抽出部6は、入力画像の基準位置を基点にして、入力画像においてサブピクセル精度の補間処理を行うことで、基準位置の検出精度を向上させることが出来る。また、抽出部6は、基準位置に対して補間処理後の位置のずれが大きい座標は、その座標位置近傍の画像画質が悪く、誤差が大きいと判断してこの時点で当該座標排除しても良い。なお、排除する誤差範囲は、予め任意の範囲で定めておけば良い。抽出部6は、市松形状または多角形状がマーカ内部に複数存在する場合において、後述する予め定めた形状特徴毎および形状特徴間の基準から判定した優先順位に基づいて、並進ベクトルまたは回転ベクトルの算出に使用する基準位置を選択しても良い。抽出部6は、選択した基準位置を算出部7へ出力する。
 上述の通り、抽出部6は、市松形状または多角形状がマーカ内部に複数存在する場合に、複数の基準位置に対して優先順位を付与することが出来る。市松形状または多角形状の外縁の輪郭直線を求める場合において、直線が長い方が輪郭直線算出に用いることが出来る画素情報(輪郭点)が増加する為、その検出精度が高くなる特徴を有する。これは、市松形状、多角形状の何れの場合にも共通した事項となる。この為、抽出部6は、それぞれの形状特徴の中での優先順位の決定において、当該特徴を利用することが出来る。具体的には、抽出部6は、市松形状または多角形状を形成する輪郭直線(縁辺と称しても良い)のうち、最も短い輪郭直線の長さを比較し、当該直線(基準辺と称しても良い)が長いものから順に優先順位を高くして使用することで、並進ベクトルまたは回転ベクトルの算出誤差を低減させることが可能となる。なお、4隅形状は、基本的には、多角形状の中で最も短い直線(短辺と称しても良い)の長さが最大になったものと解釈することが可能である。図7は、形状特徴と優先順位を含むテーブルの一例である。図7のテーブル70に示される通り、優先順位は、市松形状、4隅形状、多角形状の順に付与される。なお、4隅形状は、マーカ周辺に存在する他の物体や模様の影響を受け易い場合がある為、マーカ内部の形状(多角形状)よりも誤差が大きくなる場合も発生し得る。この様な場合が想定される場合には、必要に応じて4隅形状の優先順位を多角形状よりも下げても良い。
 市松形状または多角形状を形成する直線において、最も短い直線の長さは原理上1モジュール分の長さとなり、この長さの直線は、マーカの特徴上、比較的多く存在する。この為、1つの市松形状または多角形状を基準にしたのみでは、優先順位を十分に付与することが難しい場合も想定される。この場合には、更に、市松形状または多角形状の各形状を形成する直線の長さの和を用い、この和が大きいものから順に優先順位を高くして使用することで、並進ベクトルまたは、回転ベクトルの算出誤差を低減させることが可能となる。図8は、市松形状における直線の長さを基準とする優先順位を含むテーブルの一例である。図9は、多角形状における直線の長さを基準とする優先順位を含むテーブルの一例である。図8のテーブル80、図9のテーブル90にそれぞれ示される通り、実施例1に例示するマーカにおいては、直線の長さは市松形状の場合で1~5モジュール分の5通りとなり、多角形状の場合で1~6モジュール分の6通りとなり、これらの組み合わせによって優先順位が付与される。なお、多角形状の場合は、直線が少なくとも4本有る為、組み合わせ数が非常に多くなる。この為、テーブル80においては、直線の長さを1モジュール分の長さ、または2モジュール以上の長さの2通りに簡単化した場合について例示をしている。また、テーブル80ならびにテーブル90においては、最短の直線の長さが長い順に優先順位を付与している。更に、最短の直線の長さが等しい場合には、直線の長さの和が長い順に優先順位を付与している。
 ここで、図9のテーブル90において、例えば、No6(直線1=1、直線2=6)よりも、No14(直線1=3、直線2=2)の方が、優先順位が高い技術的な理由について説明する。輪郭直線を形成する輪郭点の検出位置は、撮像ボケや量子化誤差の他に、輪郭直線上(当該輪郭直線は、マーカの両端まで延伸しているものとする)に位置する他の多角形状や市松形状の影響も受けることになる。この為、他の多角形状や市松形状が近くに存在する場合には、輪郭直線自体の検出精度も劣化する可能性が有る。例えば、図9のテーブル90のNo6のモジュール長(1モジュール×6モジュール)の輪郭直線で構成される多角形状の輪郭直線上に、他の多角形状が存在する場合について説明する。この場合、輪郭直線が、1モジュール長しかない場合、他の多角形状の輪郭点に影響を受けて、輪郭点が全体として凸形状に検出されてしまい直線状に並ぶ部分が殆ど無くなってしまう場合がある。この場合、輪郭直線の精度が低下してしまう。一方,6モジュール長の輪郭直線の場合、両端の影響は、1モジュール長の輪郭直線と同等ではあるが、その間に2モジュール長以上の直線状の区間が有る為、この区間の効果によって輪郭直線を1モジュール長の場合よりも高精度に決定することが可能となる。また、6モジュール長の輪郭直線の場合、輪郭点の数が多く、輪郭直線を求める際に余裕が有るため,他の多角形状の影響を受けている輪郭点を排除して輪郭直線を求めるなど処理を行うことも可能である。この様な理由により、最短となる輪郭直線が長い方が、優先順位が高く付与される。
 図3の算出部7は、例えば、ワイヤードロジックによるハードウェア回路である。また、算出部7は、画像処理装置1で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。算出部7は、抽出部6から基準位置を受け取る。算出部7は、例えば、上述の(数1)または(数2)を用いて並進ベクトルならびに回転ベクトルを算出する。算出部7は、算出した並進ベクトルならびに回転ベクトルを表示部8へ出力する。また、算出部7における変形例としてマーカの4隅から規定されるマーカの中心位置を基準位置としても良い。この場合、当該中心位置と、交点、第1頂点または、第2頂点との相対位置を算出し、当該相対位置に基づいて並進ベクトルならびに回転ベクトルを算出しても良い。また、この場合において、交点、第1頂点または、第2頂点が実質的な基準位置と称しても良い。算出部7は、更に、検出誤差に基づいた上述の優先順位を利用し、各基準位置に異なる重み付け係数を付与した上で最小二乗法を用いることが可能である。これにより、誤差の小さい形状特徴の基準座標が優先的に使用されることになり、並進ベクトルまたは回転ベクトルの算出誤差の低減を図ることが可能となる。具体的には、算出部7は、各基準座標に対する重み付けをWnとした場合、次式で表現される誤差Eが最小となる様に並進ベクトルまたは回転ベクトルを算出することが出来る。
  (数3)
   
Figure JPOXMLDOC01-appb-I000003

 上述の(数3)を用いることで、優先順位に応じた並進ベクトルならびに回転ベクトルの算出誤差を低減させることが可能となる。
 図10は、形状特徴、優先順位、ならびに重み付け係数を含むテーブルの一例である。図10のテーブル91においては、図8のテーブル80ならびに図9のテーブル90で付与されている優先順位が高い順に、重み付け係数を高く付与している。また、各形状特徴間においては、基準座標の誤差を最も抑制することが可能となる市松形状を優先して重み付け係数を高く付与し、次に4隅形状の重み付け係数を高く付与している。また、算出部7は、演算処理を軽減させる為に、全ての基準座標を用いるのではなく、優先順位が高い順に選択的に基準座標を用いても良い。算出部7は、例えば、14個の基準座標を用いてに並進ベクトルまたは回転ベクトルを算出することが出来る。
 図3の表示部8は、例えば、液晶ディスプレイまたは有機エレクトロルミネッセンスディスプレイなどの表示デバイスである。表示部8は、表示情報を認識部3から受け取り、並進ベクトルならびに回転ベクトルを算出部7から受け取る。表示部8は、並進ベクトルならびに回転ベクトルに基づいて表示情報を表示する。なお、表示部8は必要に応じて取得部2から画像を受け取り、当該画像に表示情報を重畳させて表示しても良い。
 図11は、画像処理装置1による画像処理のフローチャートである。取得部2は、取得部2は、表示部8が表示する表示情報と、当該表示情報を表示する基準位置を規定するマーカを含む画像(なお、当該画像を入力画像と称しても良い)を取得する(ステップS1101)。取得部2が取得するマーカの形状は、例えば、図2(a)に示す形状のマーカの形状であれば良い。取得部2は、当該画像を、例えば、外部装置の一例となる図示しない撮像素子(カメラと称しても良い)から取得する。取得部2は取得した画像を認識部3に出力する。また、取得部2は取得した画像を必要に応じて表示部8に出力する。
 認識部3は入力画像を取得部2から受け取り、当該入力画像中のマーカの位置を検出する。認識部3は、例えば、入力画像の左上端を原点、横方向をx軸、縦方向をy軸の座標軸における2次元座標系における、マーカの4隅形状の位置の2次元座標を検出する。認識部3は、例えば、マーカの4隅形状の頂点の2次元座標を基準として、マーカに対応するマーカIDを認識する(ステップS1102)。認識部3は、マーカIDを認識出来なかった場合(ステップS1102-No)は、画像処理装置1は画像処理を終了する。認識部3がマーカIDを認識出来た場合(ステップS1102-Yes)は、認識したマーカIDを生成部5に出力する。なお、認識部3は、例えば、記憶部4を参照し、マーカIDに対応する表示情報を認識し、当該表示情報を表示部8へ出力する。
 生成部5は、マーカIDを認識部3から受け取る。生成部5は、マーカID(例えば、マーカID=13)に対応するマーカのマーカパターンを生成する(ステップS1103)。なお、生成部5が生成するマーカパターンは、例えば、図2(a)に示すマーカの形状と同等であれば良い。更に、生成部5は、マーカパターンを生成する際、例えば、マーカの大きさ(例えば、1モジュール=1画素)、または、階調(例えば、黒色領域=0、白色領域=255)を正規化したマーカパターンを生成しても良い。生成部5は、生成したマーカパターンを抽出部6へ出力する。
 抽出部6は基準位置を抽出する(ステップS1104)。具体的には、抽出部6は、生成部5からマーカパターンを受け取る。抽出部6は、マーカパターンから、特定の形状特徴が有する点の位置を、マーカパターン上の基準位置として決定する。なお、特定の形状特徴は、例えば、4隅形状、市松形状、多角形状が該当する。抽出部6は、マーカパターン上の基準位置に対応する、入力画像に含まれるマーカの座標位置を決定する。例えば、抽出部6は、マーカパターンの中心を原点とし、原点を基点するx軸とy軸の座標軸の平面座標系から、入力画像の座標系への写像変換(透視変換と称しても良い)を、マーカの4隅形状の座標(第1頂点)を基準にして求めて、この写像変換を用いて他の基準位置を入力画像の座標系へ投影することで決定することが出来る。これにより、入力画像のマーカの回転や傾きを補正することが出来る。なお、入力画像に含まれるマーカは、必要に応じてマーカ部位のみに対して切り抜き処理が実施されても良い。
 抽出部6は、マーカパターンにおける第1頂点、第2頂点、ならびに交点に対応する、入力画像のマーカにおける第1頂点、第2頂点、交点を抽出する。抽出部6は、入力画像のマーカの第1頂点、第2頂点、交点を抽出する為に、マーカパターンと入力画像のマーカそれぞれの4隅形状、市松形状、多角形状の位置と形状を比較し、対応する入力画像のマーカの4隅形状、市松形状、多角形状を特定する。抽出部6は、入力画像に含まれるマーカから特定した4隅形状、市松形状、多角形状から、入力画像における基準位置となる第1頂点、第2頂点、交点を抽出する。抽出部6は、抽出した基準位置を算出部7へ出力する。
 抽出部6は、ステップS1104において、入力画像の基準位置を基点にして、入力画像においてサブピクセル精度の補間処理を行うことで、基準位置の検出精度を向上させることが出来る。また、抽出部6は、基準位置に対して補間処理後の位置のずれが大きい座標は、その座標位置近傍の画像画質が悪く、誤差が大きいと判断してこの時点で当該座標排除しても良い。なお、排除する誤差範囲は、予め任意の範囲で定めておけば良い
 更に、抽出部6は、ステップS1104において、抽出部6は、市松形状または多角形状がマーカ内部に複数存在する場合において、後述する予め定めた形状特徴毎および形状特徴間の基準から判定した優先順位に基づいて、並進ベクトルまたは回転ベクトルの算出に使用する基準位置を選択しても良い。この場合、抽出部6は、選択した基準位置を算出部7へ出力する。
 算出部7は、抽出部6から基準位置を受け取る。算出部7は、例えば、上述の(数1)、(数2)または(数3)を用いて並進ベクトルまたは回転ベクトルを算出する(ステップS1105)。算出部7は、算出した並進ベクトルならびに回転ベクトルを表示部8へ出力する。
 表示部8は、表示情報を認識部3から受け取り、並進ベクトルならびに回転ベクトルを算出部7から受け取る。表示部8は、並進ベクトルならびに回転ベクトルに基づいて表示情報を表示する(S1106)。なお、表示部8は必要に応じて取得部2から画像を受け取り、当該画像に表示情報を重畳させて表示しても良い。
 画像処理装置1は、例えば、ステップS1101において、取得部2が継続的に画像を取得している場合は、ステップS1101~S1106の処理を繰り返し実行する。ステップS1101において、取得部2が画像を取得しない場合は、図11のフローチャートに示す画像処理を終了する。
 実施例1による画像処理装置1においては、表示情報のユーザに対する視認性が向上させることが可能となる。例えば、マーカからマーカID取り出しに成功した場合には、マーカの幾何形状が既知となることを利用し、マーカの4隅形状以外にも、マーカ内部の座標位置が既知でかつ検出が可能な位置のうちの複数個を選択し、基準座標として並進ベクトルならびに回転ベクトルの算出に利用することで、並進ベクトルならびに回転ベクトルの算出誤差が低減させることが可能になる。これによって、表示情報が本来の表示されるべき位置に表示される為、表示情報の視認性が向上する。更に、サブピクセル精度の補間や、幾何学的特徴から誤差が小さくなる形状特徴に対して優先順位や重み付け係数を付与することで、並進ベクトルならびに回転ベクトルの算出誤差を低減させることが可能となる。
 (実施例2)
 図12は、第2の実施形態による画像処理装置1の機能ブロック図である。画像処理装置1は、取得部2、認識部3、記憶部4、生成部5、抽出部6、算出部7、ならびに規定部9を有する。なお、画像処理装置1は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路で構成しても良い。実施例2における規定部9以外の画像処理装置1の各機能部の機能は実施例1と同様である為、詳細な説明は省略する。
 規定部9は、例えば、ワイヤードロジックによるハードウェア回路である。また、規定部9は、画像処理装置1で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。規定部9は、算出部7から表示位置の算出に用いられた交点、第1頂点、または、第2頂点の数を受け取る。規定部は、当該表示位置の算出に用いられた交点、第1頂点、または、第2頂点の数に基づいて表示情報を表示する並進ベクトルまたは回転ベクトルの信頼度を規定する。
 図13(a)は、第1頂点、第2頂点、交点を示した第1マーカの一例である。図13(b)は、第1頂点、第2頂点、交点を示した第2マーカの一例である。図13(a)、図13(b)に示す通り、マーカのパターンによって第1頂点、第2頂点、交点の数が異なる為、並進ベクトルならびに回転ベクトルの算出精度はマーカIDに依存する。この為、並進ベクトルならびに回転ベクトルの算出精度を示す信頼度を算出することで、重要な表示情報には、並進ベクトルならびに回転ベクトルの算出精度が高いマーカを割り当てるなどの運用が可能となる。図13(c)は、信頼度を含むテーブルの一例である。図13(c)のテーブル93に示す信頼度は、任意の方法で計算することが可能であるが、例えば、並進ベクトル、回転ベクトルの算出に使用する形状特徴の数、優先順位が高い形状特徴の数に基づいて規定することが出来る。図13のテーブル93においては、各形状特徴の個数に対して予め定めた信頼度係数を掛けた値を合計した数値を信頼度として例示いる。図13(a)、図13(b)に示す、2つのマーカでは、4隅形状と多角形状の個数が同一である為、市松形状の個数の差が信頼度の差として表現されている。
 実施例2における画像処理装置1においては、例えば、マーカIDに応じた並進ベクトル・回転ベクトルの信頼度(換言するとマーカの信頼度)を規定することが可能となる。これにより、ユーザに対して重要な表示情報には、並進ベクトルならびに回転ベクトルの算出精度が高いマーカを割り当てることが可能となる。
 (実施例3)
 図14は、一つの実施形態による画像処理装置1として機能するコンピュータのハードウェア構成図である。図14に示す通り、画像処理装置1は、コンピュータ100、およびコンピュータ100に接続する入出力装置(周辺機器)を含んで構成される。
 コンピュータ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。なお、プロセッサ101は、マルチプロセッサであってもよい。また、プロセッサ101は、例えば、CPU、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。更に、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
 RAM102は、コンピュータ100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
 バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
 HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、例えば、コンピュータ100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することも出来る。
 グラフィック処理装置104には、モニタ110が接続されている。グラフィック処理装置104は、プロセッサ101からの命令にしたがって、各種画像をモニタ110の画面に表示させる。モニタ110としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
 入力インタフェース105には、キーボード111とマウス112とが接続されている。入力インタフェース105は、キーボード111やマウス112から送られてくる信号をプロセッサ101に送信する。なお、マウス112は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
 光学ドライブ装置106は、レーザ光などを利用して、光ディスク113に記録されたデータの読み取りを行う。光ディスク113は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク113には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。可搬型の記録媒体となる光ディスク113に格納されたプログラムは光学ドライブ装置106を介して画像処理装置1にインストールされる。インストールされた所定のプログラムは、画像処理装置1より実行可能となる。
 機器接続インタフェース107は、コンピュータ100に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース107には、メモリ装置114やメモリリーダライタ115を接続することが出来る。メモリ装置114は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ115は、メモリカード116へのデータの書き込み、またはメモリカード116からのデータの読み出しを行う装置である。メモリカード116は、カード型の記録媒体である。
 ネットワークインタフェース108は、ネットワーク117に接続されている。ネットワークインタフェース108は、ネットワーク117を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
 コンピュータ100は、たとえば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、上述した画像処理機能を実現する。コンピュータ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことが出来る。上記プログラムは、1つのまたは複数の機能モジュールから構成することが出来る。例えば、図3に記載の取得部2、認識部3、生成部5、抽出部6、算出部7等の処理を実現させた機能モジュールからプログラムを構成することが出来る。なお、コンピュータ100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をRAM102にロードし、プログラムを実行する。また、コンピュータ100に実行させるプログラムを、光ディスク113、メモリ装置114、メモリカード116などの可搬型記録媒体に記録しておくことも出来る。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することも出来る。
 また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することが出来る。
 1  画像処理装置
 2  取得部
 3  認識部
 4  記憶部
 5  生成部
 6  抽出部
 7  算出部
 8  表示部
 9  規定部

Claims (14)

  1.  第1画素領域と第2画素領域を含む画像パターンにより、表示情報と前記表示情報を表示する為の基準位置を規定するマーカを含む画像を取得する取得部と、
       前記第1画素領域と前記第2画素領域が縦方向に連接する第1連接領域における前記第1画素領域と前記第2画素領域の第1境界線と、
       前記第1連接領域に対してそれぞれ点対称となる前記第1画素領域と前記第2画素領域の第2境界線と
      に基づいて規定される第1線分と、
       前記第1画素領域と前記第2画素領域が横方向に連接する第2連接領域における前記第1画素領域と前記第2画素領域の第3境界線と、
       前記第2連接領域に対してそれぞれ点対称となる前記第1画素領域と前記第2画素領域の第4境界線と
      に基づいて規定される第2線分と、
     の交点、
     前記第1画素領域を含む前記マーカの外縁の4隅形状の頂点を示す第1頂点、または、
     複数の前記第1画素領域の頂点、または、複数の前記第2画素領域の頂点を示す第2頂点、
     を抽出する抽出部と、
     前記第1頂点、前記第2頂点または前記交点を前記基準位置として前記表示情報の表示位置を算出する算出部と、
     を備えることを特徴とする画像処理装置。
  2.  前記第1線分は、前記第1境界線と前記第2境界線に平行かつ前記第1境界線と前記第2境界線の中点に基づいて規定され、
     前記第2線分は、前記第3境界線と前記第4境界線に平行かつ前記第3境界線と前記第4境界線の中点に基づいて規定されることを特徴とする請求項1記載の画像処理装置。
  3.  前記第2頂点は、複数の前記第1画素領域が連接、または複数の前記第2画素領域が連接した多角形状の頂点を含むことを特徴とする請求項1または請求項2記載の画像処理装置。
  4.  前記抽出部は、前記交点、前記第1頂点、前記第2頂点の順に優先度を付与し、
     前記算出部は、前記優先度に基づいて前記表示位置を算出することを特徴とする請求項1ないし請求項3記載の何れか一項に記載の画像処理装置。
  5.  前記抽出部は、前記第2頂点を形成する長辺と短辺を抽出し、前記短辺が長い順に複数の前記第2頂点に対して前記優先度を付与することを特徴とする請求項3記載の画像処理装置。
  6.  前記抽出部は、前記短辺が同じ長さの場合、前記長辺が長い順に複数の前記第2頂点に対して前記優先度を付与することを特徴とする請求項5記載の画像処理装置。
  7.  前記抽出部は、複数の前記第1画素領域と、複数の前記第2画素領域同士が互いに対向する市松形状の中心点を前記交点として抽出することを特徴とする請求項1ないし請求項5記載の何れか一項に記載の画像処理装置。
  8.  前記抽出部は、複数の前記市松形状の縁辺を抽出し、前記縁辺が長い順に複数の前記交点に対して前記優先度を付与することを特徴とする請求項3または請求項4記載の画像処理装置。
  9.  前記優先度は重み付け係数を含み、
     前記算出部は、前記重み付け係数を前記交点、前記第1頂点、前記第2頂点に対して適用して、前記基準位置を算出することを特徴とする請求項1記載の画像処理装置。
  10.  前記取得部が取得するマーカからマーカIDを認識する認識部と、
     前記マーカIDから、マーカパターンを生成する生成部と、を更に含み、
     前記抽出部は、
      前記マーカパターンに含まれる前記4隅形状、前記市松形状、または前記多角形状と、
     前記マーカに含まれる前記4隅形状、前記市松形状、または前記多角形状と
     を対応付けて前記前記第1頂点、前記第2頂点、または前記交点を抽出することを特徴とする請求項7記載の画像処理装置。
  11.  前記表示位置の算出に用いられた前記交点、前記第1頂点、または、前記第2頂点の数に基づいて、前記表示情報を表示する並進ベクトルまたは回転ベクトルの信頼度を規定する規定部、
     を更に備えることを特徴とする請求項2ないし請求項10の何れか一項に記載の画像処理装置。
  12.  前記抽出部は、前記基準位置に対して補完処理を実施することを特徴とする請求項1ないし請求項11何れか一項に記載の画像処理装置。
  13.   第1画素領域と第2画素領域を含む画像パターンにより、表示情報と前記表示情報を表示する為の基準位置を規定するマーカを含む画像を取得すること、
       前記第1画素領域と前記第2画素領域が縦方向に連接する第1連接領域における前記第1画素領域と前記第2画素領域の第1境界線と、
       前記第1連接領域に対してそれぞれ点対称となる前記第1画素領域と前記第2画素領域の第2境界線と
      に基づいて規定される第1線分と、
       前記第1画素領域と前記第2画素領域が横方向に連接する第2連接領域における前記第1画素領域と前記第2画素領域の第3境界線と、
       前記第2連接領域に対してそれぞれ点対称となる前記第1画素領域と前記第2画素領域の第4境界線と
      に基づいて規定される第2線分と、
     の交点、
     前記第1画素領域を含む前記マーカの外縁の4隅形状の頂点を示す第1頂点、または、
     複数の前記第1画素領域の頂点、または、複数の前記第2画素領域の頂点を示す第2頂点、
    を抽出すること、
     前記第1頂点、前記第2頂点または前記交点を前記基準位置として前記表示情報の表示位置を算出すること、
     を含むことを特徴とする画像処理方法。
  14.  コンピュータに、
      第1画素領域と第2画素領域を含む画像パターンにより、表示情報と前記表示情報を表示する為の基準位置を規定するマーカを含む画像を取得すること、
       前記第1画素領域と前記第2画素領域が縦方向に連接する第1連接領域における前記第1画素領域と前記第2画素領域の第1境界線と、
       前記第1連接領域に対してそれぞれ点対称となる前記第1画素領域と前記第2画素領域の第2境界線と
      に基づいて規定される第1線分と、
       前記第1画素領域と前記第2画素領域が横方向に連接する第2連接領域における前記第1画素領域と前記第2画素領域の第3境界線と、
       前記第2連接領域に対してそれぞれ点対称となる前記第1画素領域と前記第2画素領域の第4境界線と
      に基づいて規定される第2線分と、
     の交点、
     前記第1画素領域を含む前記マーカの外縁の4隅形状の頂点を示す第1頂点、または、
     複数の前記第1画素領域の頂点、または、複数の前記第2画素領域の頂点を示す第2頂点、
    を抽出すること、
     前記第1頂点、前記第2頂点または前記交点を前記基準位置として前記表示情報の表示位置を算出すること、
     を実行させることを特徴とする画像処理プログラム。
PCT/JP2013/005597 2013-09-20 2013-09-20 画像処理装置、画像処理方法および画像処理プログラム WO2015040657A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP13893691.9A EP3048555B1 (en) 2013-09-20 2013-09-20 Image processing device, image processing method, and image processing program
PCT/JP2013/005597 WO2015040657A1 (ja) 2013-09-20 2013-09-20 画像処理装置、画像処理方法および画像処理プログラム
JP2015537434A JP6256475B2 (ja) 2013-09-20 2013-09-20 画像処理装置、画像処理方法および画像処理プログラム
US15/057,478 US9704246B2 (en) 2013-09-20 2016-03-01 Image processing apparatus, image processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/005597 WO2015040657A1 (ja) 2013-09-20 2013-09-20 画像処理装置、画像処理方法および画像処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/057,478 Continuation US9704246B2 (en) 2013-09-20 2016-03-01 Image processing apparatus, image processing method, and storage medium

Publications (1)

Publication Number Publication Date
WO2015040657A1 true WO2015040657A1 (ja) 2015-03-26

Family

ID=52688346

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/005597 WO2015040657A1 (ja) 2013-09-20 2013-09-20 画像処理装置、画像処理方法および画像処理プログラム

Country Status (4)

Country Link
US (1) US9704246B2 (ja)
EP (1) EP3048555B1 (ja)
JP (1) JP6256475B2 (ja)
WO (1) WO2015040657A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017092947A (ja) * 2015-11-09 2017-05-25 ぺんてる株式会社 学習支援プログラム、学習支援装置、学習ツール生成用帳面および学習ツール生成方法
WO2017144060A1 (en) * 2016-02-24 2017-08-31 Zünd Skandinavien Aps Cnc flatbed cutting machine, its method of operation, and a graphics sheet with a fiducial that indicates the orientation of the graphics sheet
CN107909567A (zh) * 2017-10-31 2018-04-13 华南理工大学 数字图像的细长型连通区域提取方法
CN116957524A (zh) * 2023-09-21 2023-10-27 青岛阿斯顿工程技术转移有限公司 一种技术转移过程中人才信息智能管理方法及系统
CN118135261A (zh) * 2024-05-06 2024-06-04 浙江大学 一种超大规模版图的图形匹配方法及系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005091A (ja) * 2016-07-06 2018-01-11 富士通株式会社 表示制御プログラム、表示制御方法および表示制御装置
CN109344832B (zh) * 2018-09-03 2021-02-02 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
JP7248490B2 (ja) * 2019-04-24 2023-03-29 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、デバイスの位置および姿勢の推定方法
US11151792B2 (en) 2019-04-26 2021-10-19 Google Llc System and method for creating persistent mappings in augmented reality
US11163997B2 (en) 2019-05-05 2021-11-02 Google Llc Methods and apparatus for venue based augmented reality
CN110910409B (zh) * 2019-10-15 2023-10-27 平安科技(深圳)有限公司 一种灰度图像处理方法、装置和计算机可读存储介质
CN111508031B (zh) * 2020-04-10 2023-11-21 中国科学院自动化研究所 特征自识别标定板

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032784A (ja) * 2000-07-19 2002-01-31 Atr Media Integration & Communications Res Lab 仮想対象物操作装置および仮想対象物操作方法
JP2010287174A (ja) * 2009-06-15 2010-12-24 Dainippon Printing Co Ltd 家具シミュレーション方法、装置、プログラム、記録媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4119900A (en) * 1973-12-21 1978-10-10 Ito Patent-Ag Method and system for the automatic orientation and control of a robot
JP2940736B2 (ja) * 1992-03-26 1999-08-25 三洋電機株式会社 画像処理装置及びこの画像処理装置における歪み補正方法
JP4147719B2 (ja) 2000-04-07 2008-09-10 マックス株式会社 釘打ち機のコンタクトアーム
JP2001195597A (ja) 2000-12-11 2001-07-19 Mitsubishi Electric Corp 画像処理装置
JP4532982B2 (ja) 2004-05-14 2010-08-25 キヤノン株式会社 配置情報推定方法および情報処理装置
US20070077987A1 (en) * 2005-05-03 2007-04-05 Tangam Gaming Technology Inc. Gaming object recognition
US9526587B2 (en) * 2008-12-31 2016-12-27 Intuitive Surgical Operations, Inc. Fiducial marker design and detection for locating surgical instrument in images
CA2566260C (en) * 2005-10-31 2013-10-01 National Research Council Of Canada Marker and method for detecting said marker
EP2112817A4 (en) * 2007-08-03 2010-03-24 Univ Keio COMPOSITION ANALYSIS METHOD, IMAGE COMPUTER WITH COMPOSITION ANALYSIS FUNCTION, COMPOSITION ANALYSIS PROGRAM AND COMPUTER READABLE RECORDING MEDIUM
JP2010160056A (ja) 2009-01-08 2010-07-22 Fuji Xerox Co Ltd 位置計測装置およびプログラム
JP5062497B2 (ja) * 2010-03-31 2012-10-31 アイシン・エィ・ダブリュ株式会社 風景画像認識を用いた自車位置検出システム
WO2012001793A1 (ja) * 2010-06-30 2012-01-05 富士通株式会社 画像処理プログラムおよび画像処理装置
JP5573618B2 (ja) * 2010-11-12 2014-08-20 富士通株式会社 画像処理プログラムおよび画像処理装置
JP2011134343A (ja) * 2011-02-24 2011-07-07 Nintendo Co Ltd 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032784A (ja) * 2000-07-19 2002-01-31 Atr Media Integration & Communications Res Lab 仮想対象物操作装置および仮想対象物操作方法
JP2010287174A (ja) * 2009-06-15 2010-12-24 Dainippon Printing Co Ltd 家具シミュレーション方法、装置、プログラム、記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Proposal and Evaluation of Decommissioning Support Method of Nuclear Power Plants using Augmented Reality", COLLECTED PAPERS OF THE VIRTUAL REALITY SOCIETY OF JAPAN, vol. 13, no. 2, 2008, pages 289 - 300
See also references of EP3048555A4

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017092947A (ja) * 2015-11-09 2017-05-25 ぺんてる株式会社 学習支援プログラム、学習支援装置、学習ツール生成用帳面および学習ツール生成方法
WO2017144060A1 (en) * 2016-02-24 2017-08-31 Zünd Skandinavien Aps Cnc flatbed cutting machine, its method of operation, and a graphics sheet with a fiducial that indicates the orientation of the graphics sheet
CN107909567A (zh) * 2017-10-31 2018-04-13 华南理工大学 数字图像的细长型连通区域提取方法
CN116957524A (zh) * 2023-09-21 2023-10-27 青岛阿斯顿工程技术转移有限公司 一种技术转移过程中人才信息智能管理方法及系统
CN116957524B (zh) * 2023-09-21 2024-01-05 青岛阿斯顿工程技术转移有限公司 一种技术转移过程中人才信息智能管理方法及系统
CN118135261A (zh) * 2024-05-06 2024-06-04 浙江大学 一种超大规模版图的图形匹配方法及系统
CN118135261B (zh) * 2024-05-06 2024-08-06 浙江大学 一种超大规模版图的图形匹配方法及系统

Also Published As

Publication number Publication date
US9704246B2 (en) 2017-07-11
EP3048555A4 (en) 2017-03-08
US20160180536A1 (en) 2016-06-23
JP6256475B2 (ja) 2018-01-10
EP3048555B1 (en) 2020-07-15
JPWO2015040657A1 (ja) 2017-03-02
EP3048555A1 (en) 2016-07-27

Similar Documents

Publication Publication Date Title
JP6256475B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6417702B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP5713159B2 (ja) ステレオ画像による3次元位置姿勢計測装置、方法およびプログラム
US7161606B2 (en) Systems and methods for directly generating a view using a layered approach
JP6842039B2 (ja) カメラ位置姿勢推定装置、方法およびプログラム
CN108074267B (zh) 交点检测装置及方法、摄像头校正系统及方法及记录介质
JP6716996B2 (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
JP6089722B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6645151B2 (ja) 投影装置、投影方法及び投影用コンピュータプログラム
EP3633606B1 (en) Information processing device, information processing method, and program
TW201616451A (zh) 點雲套索選取系統及方法
JP6880618B2 (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
JP2007128373A (ja) 画像処理方法、画像処理用のプログラムならびにその記憶媒体、および画像処理装置
JP6031819B2 (ja) 画像処理装置、画像処理方法
JP4649559B2 (ja) 3次元物体認識装置、並びに3次元物体認識プログラム及びこれが記録されたコンピュータ読み取り可能な記録媒体
JP6579659B2 (ja) 光源推定装置及びプログラム
JP2011155412A (ja) 投影システムおよび投影システムにおける歪み修正方法
US10146331B2 (en) Information processing system for transforming coordinates of a position designated by a pointer in a virtual image to world coordinates, information processing apparatus, and method of transforming coordinates
JP7020240B2 (ja) 認識装置、認識システム、プログラムおよび位置座標検出方法
JP7003617B2 (ja) 推定装置、推定方法、及び推定プログラム
CN112446895B (zh) 棋盘格角点自动提取方法、系统、设备及介质
JP2009146150A (ja) 特徴位置検出方法及び特徴位置検出装置
JP7061092B2 (ja) 画像処理装置及びプログラム
JP2016072691A (ja) 画像処理装置及びその制御方法、プログラム
JP6906177B2 (ja) 交点検出装置、カメラ校正システム、交点検出方法、カメラ校正方法、プログラムおよび記録媒体

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015537434

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2013893691

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013893691

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE