WO2014128760A1 - 表示装置、表示方法、表示プログラムおよび位置設定システム - Google Patents

表示装置、表示方法、表示プログラムおよび位置設定システム Download PDF

Info

Publication number
WO2014128760A1
WO2014128760A1 PCT/JP2013/001003 JP2013001003W WO2014128760A1 WO 2014128760 A1 WO2014128760 A1 WO 2014128760A1 JP 2013001003 W JP2013001003 W JP 2013001003W WO 2014128760 A1 WO2014128760 A1 WO 2014128760A1
Authority
WO
WIPO (PCT)
Prior art keywords
display
image
camera
unit
reference object
Prior art date
Application number
PCT/JP2013/001003
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 JP2015501069A priority Critical patent/JP5991423B2/ja
Priority to EP13875830.5A priority patent/EP2960867A4/en
Priority to PCT/JP2013/001003 priority patent/WO2014128760A1/ja
Publication of WO2014128760A1 publication Critical patent/WO2014128760A1/ja
Priority to US14/829,207 priority patent/US9965896B2/en

Links

Images

Classifications

    • 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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • 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

Definitions

  • the present invention relates to a technique for designating a position in a space.
  • the other image is displayed on a part of the captured image obtained by the imaging device.
  • a print sealing machine captures a user with an imaging device, combines a captured image obtained by imaging with a pre-prepared frame image, and prints the combined image on a sticker sheet
  • the user can edit any character or figure (stamp image) with the attached pen on the captured image (so-called graffiti function).
  • the stamp image is drawn at a position where the touch pen is in contact with the touch panel (see, for example, Patent Document 1).
  • an AR object that is model data of a three-dimensional object arranged in a three-dimensional virtual space corresponding to the real space is displayed so as to be superimposed on a captured image captured by the imaging device.
  • This technology is called Augmented Reality (AR) technology and the like in order to expand information collected by human perception (such as vision).
  • a position in the virtual space corresponding to the real space is set for the AR object, a projection image of the AR object is generated based on the positional relationship between the imaging device and the AR object, and the generated projection image is superimposed on the captured image. Displayed.
  • the position of the AR object in the virtual space is set in advance (see, for example, Patent Document 2).
  • An object of one aspect of the present invention is to provide a guideline corresponding to the real space in the position designation in the depth direction with respect to the imaging screen.
  • the display program corresponds to a space in which a camera and a reference object exist in a computer, and includes a figure corresponding to the camera and the reference object.
  • a first position in the plan view serving as a reference is displayed on the display device as a plan view corresponding to a second position in a space where the camera and the reference object exist with respect to the camera and the reference object.
  • FIG. 1 shows the relationship between the camera coordinate system and the marker coordinate system.
  • FIG. 2 shows an example of the AR object E in the camera coordinate system and the marker coordinate system.
  • FIG. 3 shows a transformation matrix M from the marker coordinate system to the camera coordinate system and a rotation matrix R in the transformation matrix M.
  • FIG. 4 shows the rotation matrices R1, R2 and R3.
  • FIG. 5 shows an example of a display screen.
  • FIG. 6 shows an arrangement example of the AR object E.
  • FIG. 7 shows an example of a display screen.
  • FIG. 8 shows an arrangement example of the AR object E.
  • FIG. 9 shows an example of an input screen (overhead model diagram).
  • FIG. 10 shows an example of the input screen (overhead model diagram).
  • FIG. 11 shows an example of the input screen (Zc-Yc plan view).
  • FIG. 12 shows an example of an input screen (captured image).
  • FIG. 13 shows a functional configuration example of the computer 1.
  • FIG. 14 shows the marker management table T1.
  • FIG. 15 shows the definition table T2.
  • FIG. 16 shows the management table T3.
  • FIG. 17 shows the edit table T4.
  • FIG. 18 shows an example of the processing procedure of the position designation program.
  • FIG. 19 shows a processing procedure example of the marker recognition processing.
  • FIG. 20 shows a processing procedure example of the editing process.
  • FIG. 21 shows an example of a processing procedure for generating an overhead model diagram.
  • FIG. 22 shows a processing procedure example of the position specifying process based on the captured image.
  • FIG. 23 shows a processing procedure example of the position specifying process based on the overhead model diagram.
  • FIG. 24 shows a processing procedure example of the editing process.
  • FIG. 25 shows an example of an AR template menu.
  • FIG. 26 shows a hardware configuration example of the computer 1.
  • FIG. 27 shows a configuration example of a program that runs on the computer 1.
  • FIG. 28 shows an example of a system including the computer 1.
  • FIG. 29 shows a functional configuration example of the management server 2.
  • FIG. 30 shows a hardware configuration example of the management server 2.
  • AR object is model data including a plurality of points, for example.
  • a pattern (texture) is set for each of a plurality of surfaces obtained by interpolating a plurality of points with straight lines or curves, and a plurality of surfaces are combined to form a three-dimensional model.
  • the placement of the AR object in the virtual space is performed by determining the coordinates of each point constituting the AR object with reference to a reference object existing in the real space. An object does not exist at the position of the coordinates of each point in the real space, and the coordinates of each point are determined on the virtual space with reference to a reference object.
  • the positional relationship between the camera and the reference object in the real space is obtained based on the appearance (image) of the reference object reflected in the captured image captured by the camera. .
  • the coordinates of the camera and the AR object in the three-dimensional virtual space corresponding to the real space are determined based on the coordinates in the virtual space based on the reference object existing in the real space and the positional relationship between the camera and the reference object in the real space.
  • a positional relationship with the coordinates of each point is obtained. Based on these positional relationships, an image of the AR object obtained when the camera images the AR object in the virtual space is calculated. The calculation for calculating the image of the AR object will be further described with reference to FIGS.
  • Fig. 1 shows the relationship between the camera coordinate system and the marker coordinate system.
  • the marker M shown in FIG. 1 is an example of a reference object used for AR object display.
  • the marker M illustrated in FIG. 1 has a square shape and has a predetermined size (for example, the length of one side is 10 cm).
  • the marker M shown in FIG. 1 has a square shape, other objects having a shape whose relative position and orientation from the camera can be determined based on an image obtained by imaging from any of a plurality of viewpoints. It may be used as a reference object. For example, feature points generated from captured images may be used as reference objects.
  • the camera coordinate system is configured in three dimensions (Xc, Yc, Zc), and the focal point of the camera is the origin (origin Oc), for example.
  • the Xc-Yc plane of the camera coordinate system is a plane parallel to the image sensor surface of the camera, and the Zc axis is an axis perpendicular to the image sensor surface.
  • the marker coordinate system is configured in three dimensions (Xm, Ym, Zm).
  • the center of the marker M is the origin (origin Om).
  • the Xm-Ym plane of the marker coordinate system is a plane parallel to the marker M, and the Zm axis is perpendicular to the plane of the marker M.
  • the origin Om is indicated by coordinates V1c (X1c, Y1c, Z1c) in the camera coordinate system.
  • the rotation angle of the marker coordinate system with respect to the camera coordinate system (Xc, Yc, Zc) is indicated by a rotation coordinate G1c (P1c, Q1c, R1c).
  • P1c is a rotation angle around the Xc axis
  • Q1c is a rotation angle around the Yc axis
  • R1c is a rotation angle around the Zc axis. Since the marker coordinate system illustrated in FIG. 1 rotates only around the Ym axis, P1c and R1c are zero.
  • FIG. 2 shows an example of the AR object E in the camera coordinate system and the marker coordinate system.
  • An AR object E shown in FIG. 2 is a balloon-shaped object, and includes text data “There is a crack!” In the balloon.
  • a black circle at the tip of the balloon of the AR object E indicates a reference point of the AR object E.
  • the coordinates of the AR object E in the marker coordinate system are V2m (X2m, Y2m, Z2m).
  • the direction of the AR object E is determined by the rotational coordinates G2m (P2m, Q2m, R2m), and the size of the AR object E is determined by the magnification D (Jx, Jy, Jz).
  • the coordinates of each point constituting the AR object E are the coordinates of each point defined in the definition data (AR template) which is a template of the AR object E, and the reference point coordinates V2m, the rotation coordinates G2m, and the magnification D Coordinates adjusted based on this.
  • the coordinates of the points defined in the AR template are indicated with the coordinates of the reference point being (0, 0, 0).
  • Each coordinate included in the AR template is rotated based on the set rotation coordinate G2m, scaled by the magnification D, and further translated and adjusted based on the reference point coordinate V2m.
  • the AR object E in FIG. 2 shows a state in which each point defined in the AR template is configured based on points adjusted based on the reference point coordinate V2m, the rotation coordinate G2m, and the magnification D.
  • the coordinates of each point of the AR object E in which the coordinates are set in the marker coordinate system are converted into the camera coordinate system, and the position in the screen is calculated based on the coordinates of the camera coordinate system, whereby the AR object E An image is generated.
  • the coordinates in the camera coordinate system of each point included in the AR object E are calculated by coordinate conversion (model-view conversion) based on the coordinates V1c and the rotation coordinates G1c. For example, by performing model-view conversion on the coordinates V2m, coordinates V2c (X2c, Y2c, Z2c) in the camera coordinate system of the reference point are obtained.
  • FIG. 3 shows a transformation matrix M from the marker coordinate system to the camera coordinate system and a rotation matrix R in the transformation matrix M.
  • the transformation matrix M is a 4 ⁇ 4 matrix.
  • the column vector (Xc, Yc, Zc, 1) is obtained by the product of the transformation matrix M and the column vector (Xm, Ym, Zm, 1). That is, the point coordinates of the camera coordinate system are included by substituting the point coordinates of the marker coordinate system subject to coordinate transformation (model-view transformation) into the column vector (Xm, Ym, Zm, 1) and performing matrix calculation.
  • a column vector (Xc, Yc, Zc, 1) is obtained.
  • the sub-matrix (rotation matrix R) of the first to third rows and the first to third columns of the transformation matrix M acts on the coordinates of the marker coordinate system, so that the orientation of the marker coordinate system and the camera coordinate system are matched.
  • a rotation operation is performed.
  • a translation operation for aligning the orientation of the marker coordinate system and the position of the camera coordinate system is performed.
  • FIG. 4 shows the rotation matrices R1, R2 and R3.
  • the rotation matrix R shown in FIG. 3 is calculated by the product of the rotation matrices R1, R2, and R3 (R1, R2, R3).
  • the coordinates (Xm, Ym, Zm) of the marker coordinate system of each point constituting the AR object E are converted into the coordinates (Xc, Yc, Zc) of the camera coordinate system by model-view conversion based on the conversion matrix M. .
  • the coordinate V2m is converted to the coordinate V2c by model-view conversion.
  • the coordinates (Xc, Yc, Zc) obtained by the model-view conversion indicate a relative position from the camera when the camera exists in a virtual space where the AR object E exists.
  • the screen coordinate system is configured in two dimensions (Xs, Ys), and for example, the center of the captured image obtained by the imaging process of the camera is the origin (origin Os).
  • the coordinates in the camera coordinate system of each point of the AR object E are converted into the screen coordinate system.
  • An image of the AR object E is generated based on the coordinates in the screen coordinate system of each point obtained by this coordinate transformation (perspective transformation).
  • the coordinate transformation (perspective transformation) from the camera coordinate system to the screen coordinate system is performed based on the focal length f of the camera, for example.
  • An image of the AR object E is generated based on coordinates (screen coordinate system) obtained by perspective-transforming the coordinates (camera coordinate system) of each point constituting the AR object E.
  • the AR object E is generated by mapping a texture onto a surface obtained by interpolating a plurality of points constituting the AR object E.
  • the AR template that is the basis of the AR object E, it is defined which point is interpolated to form a surface and which surface is mapped to the texture.
  • the coordinates on the captured image corresponding to the coordinates of the marker coordinate system are calculated, and an image of the AR object E corresponding to the viewpoint of the camera is generated by using the coordinates.
  • the generated image of the AR object E is called a projected image of the AR object E.
  • the projection image of the AR object E is displayed on the transmissive display. Also in this aspect, since the image of the real space obtained by the user passing through the display matches the projection image of the AR object, the visual information provided to the user is expanded.
  • the computer 1 having a camera function and a display function designates the position and orientation of the AR object E to which the AR technology is applied.
  • the computer 1 designates the position and orientation of the AR object E according to the input from the user.
  • FIG. 5 shows an example of the display screen.
  • the display screen S1 of FIG. 5 is an example of a screen that is displayed by combining the captured image including the image of the marker M and the image of the object H with the projected image of the AR object E.
  • the captured image is an image acquired by the camera function of the computer 1, for example.
  • the captured image exemplified in the display screen S1 is an image captured in the factory, and the object H reflected in the captured image is a curved pipe. Cracks occur in the curved portion of the object H. In factory maintenance work, etc., if a crack or the like occurs, the indication of the cracked part is recorded as a report item.
  • a balloon-shaped AR object E including a message “There is a crack!” Is set at a position aligned with the cracked portion, whereby the notification item is recorded.
  • the set AR object E data is uploaded to the management server, for example, and a computer operated by a user who visits the site later downloads the AR object E data from the management server before going to the site or at the site. Obtain.
  • the computer 1 Based on the image (shape and size) of the marker M included in the captured image, the computer 1 obtains the position coordinate V1c and the rotation coordinate G1c of the marker M with respect to the camera included in the computer 1. Further, based on the pattern of the marker M, information such as marker identification information (marker ID) is read by the computer 1.
  • marker ID marker identification information
  • the computer 1 associates the feature point information with the marker ID in advance, and acquires the marker ID based on the correspondence relationship.
  • the marker M in this embodiment has a fixed position and orientation in the real space.
  • the coordinates (camera coordinate system) of the AR object E are obtained by performing model-view conversion on the coordinates (marker coordinate system) of each point set in the AR object E based on the position coordinates V1c and the rotation coordinates G1c.
  • the computer 1 generates a projection image of the AR object E based on the coordinates of the screen coordinate system obtained by perspective-transforming the coordinates (camera coordinate system) of each point of the AR object E.
  • the coordinate conversion is as described above.
  • the computer 1 generates an image (projected image) of the AR object in a virtual situation in which the AR object E is viewed from the viewpoint of the camera of the computer 1 by the coordinate conversion described above. Furthermore, the computer 1 can make the AR object appear as if it exists in the real space by combining the generated projection image with the captured image.
  • the AR technology that displays a projection image of the AR object E in combination with a captured image is used to expand information collected by human perception.
  • the AR object E adds information to an object existing in the real space by adding a “cracked!” Balloon to the cracked portion of the pipe.
  • the information addition target by the projected image of the AR object is not shown, so the purpose of adding information to the object existing in the real space is achieved. Disappear.
  • the AR object E is arranged at a position different from the crack, there is a possibility that the user who receives the notification by the AR object E cannot find the crack.
  • the AR object E is designated at a position of an object different from the object to which information is added, incorrect information will be provided. For example, if the AR object E is placed at a position of another pipe, an extra work of confirming whether or not there is a crack occurs in a portion where there is no crack when the AR object E is sent. .
  • the setting of the position and orientation of the AR object E is consistent with the real space to the extent that the user receiving the notification by the AR object E can grasp the correspondence between the AR object E and the object in the real space (for example, a cracked portion). It is required to do.
  • the position of the projected image of the AR object E is set by designating the position in the display screen S1.
  • the user can confirm the positional relationship in the display screen S1 between the projected image of the AR object E and the cracked portion of the object H. Therefore, when the user designates the position while checking the screen, the projected image of the AR object E is arranged at a position that matches the cracked portion of the object H on the display screen S1.
  • FIG. 6 shows an arrangement example of the AR object E.
  • the arrangement example of FIG. 6 shows the positional relationship in a state where the computer 1, the marker M, the object H, and the AR object E illustrated in FIG.
  • FIG. 6 is a diagram showing the computer 1, the marker M, the object H, and the AR object E projected onto a two-dimensional space of the Xc axis and the Zc axis of the camera coordinate system.
  • FIG. 6 shows two examples of the arrangement of the AR object E illustrated in FIG.
  • an AR object E (E1) when placed in front of the computer 1 is shown in FIG.
  • an AR object E (E2) when arranged in the back is shown.
  • the projection image generated by the computer 1 at the position shown in FIG. 6 is the same.
  • the projected image in the display screen S1 cannot be determined. That is, even if the position of the AR object E is set in the display screen S1 illustrated using FIG. 5, the AR object E is arranged as the AR object E (E1) or the object E (E2).
  • the AR object E is set at a position aligned with the crack of the pipe.
  • the AR object E is set at a position that does not match the pipe (substantially distant position).
  • FIG. 7 shows an example of the display screen.
  • the display screen S2 illustrated in FIG. 7 is a screen on which the captured image captured by the camera function of the computer 1 and the projection image of the AR object E are combined and displayed.
  • the images of the AR object E (E1) and the AR object E (E1) in the display screen S2 are projection images corresponding to the AR object E (E1) and the AR object E (E2) illustrated in FIG.
  • the captured image on the display screen S2 is a captured image captured at a position different from the captured image on the display screen S1. For example, a user who visits the site after the AR object E is set may check the AR object E with an angle of view such as the display screen S2.
  • FIG. 8 shows an arrangement example of the AR object E.
  • FIG. 8 shows the positional relationship in a state where the computer 1, the marker M, the object H, and the AR object E are looked down like FIG.
  • the captured image of the display screen S2 illustrated in FIG. 7 is a captured image captured by the computer 1 arranged at the position illustrated in FIG.
  • the projected image of the AR object E is aligned with the object H like the AR object E (E1) on the display screen S2. Is displayed.
  • the position of the AR object E is set to the position of the AR object E (E2) in FIG. 6
  • the projected image of the AR object E is the object, like the AR object E (E2) of the display screen S2. It is displayed at a position different from H. If it is displayed like the AR object E (E2), since there is no crack at the position where the information “cracked!” Is added, the purpose of adding the information “cracked!” Is fulfilled. Not.
  • the position of the AR object E in the Zc direction is specified. Is not specified. Therefore, on the display screen S2 imaged from other angles, the image of the AR object E displayed at the position aligned with the object H on the display screen S1 is displayed at the position not aligned with the object H on the display screen S2. Will happen.
  • the depth of the AR object E is simply specified numerically, work such as surveying will occur in setting the position of the AR object E.
  • the position is set based on the eye measurement or the like, it is necessary to have the ability that the user has mastered.
  • a screen capable of confirming the position of the captured image in the depth direction is used for specifying the position of the AR object.
  • FIG. 9 shows an example of an input screen (overhead view model diagram).
  • the bird's-eye view model diagram shown on the display screen S3 includes a graphic F1 corresponding to the computer 1 and a graphic F2 corresponding to the marker M.
  • the display screen S3 further shows a scale display and menu groups B1 to B9.
  • the menu groups B1 to B9 include an edit end button B1, a view point switching button B2, a retrieval button B3, a re-execution button B4, an enlargement button B5, a reduction button B6, an enlargement / reduction movement mode button B7, a rotation mode button B8, and a numerical designation mode button B9.
  • the scale display is based on the coordinate axes (Xc axis and Yc axis) of the plane indicated by the overhead view model diagram and the distance in the real space corresponding to the unit distance in the screen (in FIG. 9, one side of the square indicated by the dotted line is the camera coordinate system). Is shown).
  • the edit end button B1 is a display element indicating an input position of an operation instruction for confirming the setting of the position coordinates of the AR object E.
  • the viewpoint switching button B2 is a display element that indicates an input position of an operation instruction for switching between an input screen using a bird's-eye view model diagram and an input screen using a captured image.
  • the recovery button B3 is a display element indicating the input position of the operation instruction for returning to the state before the previous operation performed on the display screen S3 (or the display screen when the input to the recovery button is obtained).
  • the re-execution button B4 is a display element that is displayed when an operation is performed on the recovery button B4 and that indicates an input position of an operation instruction for executing the recovered operation again.
  • the enlargement button B5 is a display element indicating an input position of an operation instruction for adjusting the scale of the overhead view model diagram. When an input to the display position of the enlargement button B5 is performed, the overhead view model diagram is enlarged.
  • the reduction button B6 is a display element indicating an input position of an operation instruction for adjusting the scale of the overhead model diagram.
  • the enlargement / reduction movement mode button B7 is a display element indicating an input position of an operation instruction for designating an operation mode.
  • the rotation mode button B8 is a display element that indicates an input position of an operation instruction that specifies an operation mode.
  • the numerical designation mode button B9 is a display element indicating the input position of the operation instruction for designating the operation mode. When the input to the display position of the numerical designation mode button B9 is performed, the operation mode is switched to the numerical designation mode.
  • the position coordinates and magnification of the AR object E are adjusted according to the input operation.
  • the enlargement / reduction movement mode is automatically set as the operation mode at the start of the position designation of the AR object E.
  • the rotation mode the rotation coordinates of the AR object E are adjusted according to the input operation. The rotational coordinates are used when determining the position coordinates of each point constituting the AR object E based on the reference point.
  • a numerical input screen is displayed. The position, rotation coordinates, and magnification of the reference point of the AR object are determined by the numerical values input on the numerical value input screen.
  • the figure F1 and the figure F2 are displayed based on the coordinates of the camera (computer 1) and the marker M in the camera coordinate system.
  • the figure F1 is arranged based on the origin Oc of the camera coordinate system.
  • the figure F2 is based on the coordinate V1c (X1c, Y1c, Z1c) of the origin Om of the marker coordinate system in the camera coordinate system and the rotation coordinate U1c (P1c, Q1c, R1c) of the marker coordinate system with respect to the camera coordinate system.
  • the display position and orientation are determined.
  • an overhead model diagram is generated.
  • the figure F1 is arranged at the position (X1s, Y1s).
  • the coordinate X1s is the center of the display screen S3 in the Xs direction
  • the coordinate Y1s is a position shifted downward by a predetermined amount from the center of the display screen S3.
  • the orientation of the computer 1 is indicated by the shape of the figure F1, and the figure F1 in the display screen S3 shows a state in which the camera lens of the computer 1 faces upward.
  • the figure F2 is shown at the position (X2s, Y2s).
  • the coordinate X2s is set according to the coordinate X1c and the scale.
  • the coordinate Y2s is set according to the coordinate Z1c and the scale.
  • the user can confirm the overhead model diagram in which the figure F2 is within the display screen by reducing the overhead model diagram using the reduction button B6.
  • the initial value of the coordinate Y2s is set in advance, and the coordinate X1c is adjusted according to the ratio between the distance (Y2s ⁇ Y1s) in the screen between the graphic F1 and the graphic F2 and the coordinate Z1c.
  • the coordinate X2s may be set. That is, the scale is determined according to the ratio between the distance (Y2s ⁇ Y1s) and the coordinate Z1c.
  • the figure 2 of the coordinates (X2s, Y2s) is displayed on the display screen S3 in a state of being rotated based on the rotation coordinates (P1c, Q1c, R1c), for example.
  • the figure F2 may be shown on the display screen S3 in a state where the figure F2 is rotated based only on Q1c.
  • the position coordinates of the AR object are set based on the designation.
  • the display screen S3 is displayed on the screen of the touch screen, and the position in the display screen S3 is designated according to the user input to the touch screen.
  • the user can confirm the positional relationship between the computer 1 and the marker M in the Zc direction (depth direction) of the camera coordinate system.
  • the user registers the position of the AR object E with respect to the computer 1 and the marker M shown in the display screen S3 based on the positional relationship between the computer 1, the marker M, and the object H in the real space. You can turn on.
  • the depth Z2c of the AR object E is determined based on the difference between the coordinate Y3s and the coordinate Y1s and the scale. Further, the figure F3 (d3) corresponding to the AR object E is displayed at the designated position.
  • An arbitrary shape may be used for the figure F3, and a projected image of the AR object may be used.
  • FIG. 10 shows an example of an input screen (overhead model diagram).
  • the bird's-eye view model diagram of the display screen S4 shown in FIG. 10 includes a figure F1 corresponding to the computer 1 and a figure F2 corresponding to the marker M, similarly to the bird's-eye view model diagram of the display screen S3.
  • the display screen S4 further shows a scale display and menu groups B1 to B9.
  • the figure F2 is fixed at the position (X2s, Y2s).
  • the coordinate X2s indicates the center of the display screen S4
  • the coordinate Y2s is a position shifted upward by a predetermined amount from the center in the display screen S3.
  • the figure F1 is displayed based on the coordinates V1c (X1c, Y1c, Z1c) of the origin Om of the marker coordinate system in the camera coordinate system and the rotation coordinates G1c (P1c, Q1c, R1c) of the marker coordinate system with respect to the camera coordinate system.
  • the position (X1s, Y1s) and orientation are determined.
  • the user compares the positional relationship between the computer 1 and the marker M in the real space, including the depth direction, and the positional relationship between the graphic F1 and the graphic F2 in the display screen S4. be able to. Therefore, based on the positional relationship between the computer 1 and the marker M in the real space, the user can make a location designation including depth in the display screen S4 for the AR object E.
  • FIG. 11 shows an example of the input screen (Zc-Yc plan view).
  • the bird's-eye view model diagram of the display screen S5 shown in FIG. 11 includes a figure F1 corresponding to the computer 1 and a figure F2 corresponding to the marker M, similarly to the bird's-eye view model diagram of the display screen S3.
  • the display screen S4 further shows a scale display and menu groups B1 to B9.
  • the bird's-eye view model diagram of the display screen S5 shows the positional relationship between the computer 1, the marker M, and the AR object E in the two-dimensional space by the Yc axis and the Zc axis of the camera coordinate system. Also on the display screen S5, the user can check the positional relationship between the computer 1 and the marker M in the real space, including the depth direction, and the positional relationship between the graphic F1 and the graphic F2 in the display screen S5. . Therefore, based on the positional relationship between the computer 1 and the marker M in the real space, the user can make a location designation including depth in the display screen S5 for the AR object E.
  • the initial position d4 of the figure corresponding to the AR object is set in the overhead view model diagram.
  • the initial value of the coordinate Z2c may be the coordinate Z1c of the marker M, for example.
  • a point on the plane including the marker M (the plane of (Xm, Ym, 0) in the marker coordinate system) may be set as the initial value.
  • the projected image or figure F3 indicating the position of the AR object E is adjusted in position on the screen by, for example, a drag operation.
  • the position in the screen of the figure F3 is shown by moving the figure F3 to the position in the screen just tapped.
  • the figure F3 displayed at the position d4 may be moved to the position d3 by a drag operation, or the figure F3 displayed at the position d4 is moved to the position d3 in response to designation of the position d3 (for example, a tap operation). It is good.
  • a reference for specifying the position including the depth direction is provided for the AR object E. Further, the position designation including the depth direction is performed by the input of the user who is provided with the reference.
  • the computer 1 switches from the input screen using the overhead model diagram to the input screen using the captured image.
  • FIG. 12 shows an example of the input screen (captured image).
  • the captured image on the display screen S6 illustrated in FIG. 12 includes an image of the marker M and the object H.
  • the display screen S6 further shows a projected image of the AR object E and menu groups B1 to B4 and B7 to B9.
  • the position in the display screen S6 is designated by the user input in the display screen S6.
  • the coordinates of the AR object E are calculated based on the designated position d5 (X5s, Y5s) in the screen.
  • d5 X5s, Y5s
  • coordinates X2c and coordinates Y2c of the camera coordinate system of AR object E are calculated.
  • the coordinates of the AR object E are updated to the calculated coordinates X2c and Y2c.
  • the computer 1 switches again from the input screen using the captured image to the input screen using the overhead model diagram. Both the position designation on the input screen using the captured image and the position designation on the input screen using the bird's eye model diagram are possible, and when the user inputs to the edit end button B1, the AR object The coordinates (X2c, Y2c, Z2c) of the camera coordinate system of E are determined.
  • the AR object E 3 is designated by position designation using both the input screen using the captured image (such as the display screen S6) and the display screen using the overhead view model diagram (such as the display screens S3 to S5).
  • a dimensional position is specified.
  • the user can adjust the position of the AR object while confirming the position in three dimensions.
  • the AR object is set in a state where it is matched with the target object to which the AR object is added.
  • the position coordinates (camera coordinate system) of each point of the AR object E are converted into the coordinates of the marker coordinate system by the inverse conversion of the above-described model-view conversion. .
  • the coordinates of each point of the converted AR object are registered in association with the marker ID of the marker M. Adjustment may be performed on the registered AR object E based on a captured image captured again at a different angle of view. For example, after the coordinates of each point of the AR object E are set on the input screen based on the captured image on the display screen S1, the input screen based on the captured image on the display screen S2 (overhead model diagram and captured image) is further displayed. It can also be done.
  • FIG. 13 shows a functional configuration example of the computer 1.
  • the computer 1 includes a processing unit 11, a storage unit 12, an imaging unit 13, a display unit 14, an input unit 15, and a communication unit 16.
  • the processing unit 11 includes a control unit 111, a recognition unit 112, a generation unit 113, and a calculation unit 114.
  • the processing unit 11 executes a process for specifying the position of the object E. Further, the processing unit 11 controls the storage unit 12, the imaging unit 13, the display unit 14, the input unit 15, and the communication unit 16 in executing the processing.
  • the storage unit 12 stores information used in other functional blocks. For example, a marker management table T1, an edit table T4, a definition table T2, a management table T3, etc., which will be described later, are stored.
  • the imaging unit 13 performs an imaging process. The captured image obtained by the imaging process of the imaging unit 13 is stored in the storage unit 12.
  • the display unit 14 displays an image according to the control of the processing unit 11.
  • the input unit 15 detects the operation of the operator of the computer 1 and transmits a signal corresponding to the detection to the processing unit 11.
  • the communication unit 16 performs data communication with other devices in accordance with instructions from the processing unit 11.
  • the control unit 111 controls each functional block according to information obtained from the input unit 15 or the communication unit 16 or processing results of the recognition unit 112, the generation unit 113, and the calculation unit 114.
  • the recognition unit 112 recognizes the image of the marker M from the captured image, and calculates the coordinates (camera coordinate system) of the marker M with respect to the computer 1 from the recognized image.
  • the recognition unit 112 further reads the marker ID based on the image of the marker M.
  • the control unit 111 stores the recognition result (such as coordinates and marker ID) of the marker M by the recognition unit 112 in the storage unit 12.
  • the generation unit 113 generates an image to be displayed on the display unit 14.
  • the generation unit 113 generates a projection image of the AR object, and synthesizes the generated projection image with the captured image obtained by the imaging unit 13. Further, for example, graphics corresponding to the computer 1, the marker M, and the AR object are generated, and an overhead model diagram in which the generated graphics are arranged is generated.
  • the calculation unit 114 calculates the set value of the AR object E based on the information of the marker management table T1, the information obtained from the input unit 15 or the communication unit 16, the definition of the AR object E, and the like.
  • the control unit 111 stores the setting value obtained by the calculation in the management table T3.
  • FIG. 14 to 17 show a data structure of data used for setting the coordinates of the AR object E.
  • FIG. 14 to 17 show a data structure of data used for setting the coordinates of the AR object E.
  • FIG. 14 shows the marker management table T1.
  • the recognition unit 112 stores the recognition result obtained from the image of the marker M in the marker management table T1 when the captured image captured by the imaging unit 13 includes the image of the marker M.
  • the marker management table T1 includes information such as a marker ID, coordinates (Xc, Yc, Zc, Pc, Qc, Rc) in the camera coordinate system, and an object addition flag for each of the markers recognized by the recognition unit 112.
  • the marker ID of the marker M in this embodiment is “100”
  • the position coordinates are (X1c, Y1c, Z1c)
  • the rotation coordinates are (P1c, Q1c, R1c).
  • the object addition flag is a flag indicating to which marker the AR object on which the position specifying process is being performed is associated.
  • the information stored in the marker management table T1 is updated every time a captured image is acquired.
  • FIG. 15 shows the definition table T2.
  • the definition table T2 shows AR template definition information.
  • the AR template definition information includes AR template identification information (template ID), coordinate information T21 of each vertex constituting the AR template, and configuration information T22 of each face constituting the AR template (designation of vertex order and texture ID). including.
  • the vertex order indicates the order of the vertices constituting the face.
  • the texture ID indicates the identification information of the texture mapped to the surface.
  • the reference point of the AR template is, for example, the 0th vertex.
  • the shape and pattern of the three-dimensional model are determined by the information shown in the definition table T2.
  • FIG. 16 shows the management table T3.
  • the management table T3 shows setting information of the AR object E set using the AR template.
  • the management table T3 is based on the object ID of the AR object E, the position coordinates (Xm, Ym, Zm) of the reference point in the marker coordinate system, the rotational coordinates (Pm, Qm, Rm) in the marker coordinate system, and the AR template.
  • the magnification D (Jx, Jy, Jz), the template ID of the AR template, the marker ID, and additional information are stored.
  • the coordinates stored in the management table T3 are coordinates in the marker coordinate system based on the marker indicated by the marker ID stored in the same record.
  • the 15 is adjusted based on the setting information (position, orientation, and size) of the management table T3. That is, designation of the position, orientation, and size of the AR object E is performed by setting information managed by the management table T3.
  • the additional information is information added to the AR object E. As additional information, text, access information to Web pages and files, and the like are used.
  • each vertex coordinate defined in the AR template “10” is multiplied by 1 in each of the Xm, Ym, and Zm directions, and the rotational coordinates (0 , 0, 0), and each vertex is obtained by translation according to the position coordinates (121.5, 510.0, 860.5).
  • the AR object E further maps additional information on the surfaces constituting the AR object E.
  • FIG. 17 shows the edit table T4.
  • an edit table T4 is provided in the storage unit 12.
  • the object ID for the AR object E, the object ID, template ID, reference point position coordinates (marker coordinate system), rotation coordinates (marker coordinate system), magnification D, reference point position coordinates (camera coordinate system), Includes rotation coordinates (camera coordinate system) and flag ⁇ .
  • the flag ⁇ indicates switching of the input screen for position designation. For example, the flag ⁇ is “1” when an input screen based on an overhead model diagram is displayed, and is “0” when an input screen based on a captured image is displayed.
  • management information T41 When the object ID is designated, information in the management table T3 regarding the designated object ID is stored in the editing table (management information T41).
  • the management information T41 includes the position coordinate, the rotation coordinate, and the magnification of the AR object E in the marker coordinate system.
  • Edit information T42 is generated based on the management information T41 using the information of the marker management table T1.
  • the edit information T42 includes the position coordinates, the rotation coordinates, and the magnification Dx of the AR object E in the camera coordinate system.
  • the editing information T42 In specifying the position of the AR object E, the editing information T42 is updated until the position is determined.
  • the calculation information is calculated by the calculation unit 114 based on the editing information T42, and the contents of the management information T41 are reflected in the management table T3.
  • FIG. 18 shows a processing procedure example of the position designation program.
  • the position designation program is a program in which a procedure of position designation processing executed by the processing unit 11 is defined.
  • the control unit 111 performs position designation preprocessing (S101).
  • S101 position designation preprocessing
  • the definition table T2 the management table T3, and the like are read, and storage areas such as the marker management table T1 and the edit table T4 are secured.
  • the control unit 111 issues an AR display mode activation instruction (S102).
  • S102 for example, the control unit 111 causes the imaging unit 13 to start imaging at predetermined time intervals, and causes the recognition unit 112 to start marker detection processing for the captured image. Furthermore, the control unit 111 causes the display unit 14 to display an image captured by the imaging unit 13.
  • the imaging unit 13 When the imaging unit 13 is instructed to perform imaging, the imaging unit 13 acquires images generated by the imaging device at predetermined time intervals, and stores the acquired images in the storage unit 12.
  • the storage unit 12 is provided with a buffer for storing a plurality of images, and the image captured by the imaging unit 13 is stored in the buffer.
  • the buffer provided in the storage unit 12 is a display buffer in which an image to be displayed by the display unit 14 is stored. The images stored in the display buffer are sequentially displayed on the display unit 14.
  • the recognition unit 112 acquires an image stored in a buffer provided in the storage unit 12 and determines whether or not the acquired image includes the image of the marker M.
  • the recognizing unit 112 may perform detection processing for one image among a predetermined number of images stored in the buffer.
  • the criterion for determining whether or not the image of the marker M is included in the image is determined according to the shape and pattern of the marker.
  • the marker M shown in FIG. 1 is a square, and the pattern includes a black edge. Therefore, whether or not the marker M is included in the image is determined, for example, depending on whether or not the image has a rectangular frame-like region with a luminance less than a predetermined value.
  • the recognition unit 112 reads the marker ID of the marker M.
  • the marker ID is read based on, for example, luminance information in a rectangular frame. For example, for each area obtained by dividing the rectangular frame, an area where the luminance is greater than or equal to a predetermined value is “1”, an area where the luminance is less than the predetermined value is “0”, and each area is “1” or “0” in a predetermined order And a column of information obtained by the determination is set as a marker ID.
  • the arrangement of a region where the luminance is equal to or higher than a predetermined value and a region where the luminance is lower than the predetermined value within a rectangular frame may be patterned, and a marker ID corresponding to the pattern may be used.
  • a numerical value range assigned to the marker ID is determined in advance, and when the read marker ID is not within the numerical value range, it may be determined that the marker ID has not been read.
  • the recognition unit 112 stores the read marker ID in the marker management table T1 stored in the storage unit 12. Furthermore, the recognition unit 112 notifies the control unit 111 of the position coordinates (screen coordinate system) of the image of the marker M.
  • the recognition unit 112 notifies the control unit 111 of the determination result as to whether or not the acquired image includes the image of the marker M.
  • the control unit 111 determines whether or not the marker M is detected based on the notification result from the recognition unit 112 (S103). Alternatively, the recognition unit 112 does not notify the control unit 111, and the control unit 111 detects that the recognition unit 112 stores the marker ID in the marker management table T1, and determines that the marker M is detected. May be.
  • the controller 111 executes a marker recognition process (S104).
  • the control unit 111 determines whether an instruction to end the program is given (S108). If termination is not instructed (S108: NO), the control unit 111 determines whether or not a marker has been detected (S103).
  • FIG. 19 shows an example of the procedure of marker recognition processing.
  • the control unit 111 performs highlighting (highlight display) indicating the presence of the marker at a position where the recognized marker M is displayed in the display screen of the display unit 14 (S201). ).
  • the highlighting is performed, for example, by displaying a square frame at the display position of the marker M, and serves to notify the user that the marker M has been detected.
  • the control unit 111 notifies the generation unit 113 of the position coordinates (screen coordinate system) of the marker M.
  • the generation unit 113 synthesizes the highlighted graphic at the position corresponding to the notification from the control unit 111 with respect to the image to be displayed on the display unit 14 (image in the display buffer).
  • the highlighted graphic is a display element such as a square red frame.
  • the control unit 111 causes the recognition unit 112 to calculate the position / rotation coordinates of the marker M (S202).
  • the recognition unit 112 calculates the position / rotation coordinates (camera coordinate system) of the marker M based on the image of the marker M detected in S103.
  • the position / rotation coordinates (camera coordinate system) of the marker M are calculated based on, for example, the shape of the image of the marker M and the position in the image.
  • the calculated position / rotation coordinates (camera coordinate system) are stored in the marker management table T1.
  • control unit 111 When the processing of S202 is performed, the control unit 111 performs display processing of the AR object associated with the marker registered in the marker management table T1 (S203 to S205).
  • the display process of S203 to S205 is an additional procedure. Further, when there is no AR object associated with the marker registered in the marker management table T1, the AR object display process is not executed.
  • the control unit 111 searches the AR object data registered in the management table T2 for data including the marker ID of each marker registered in the marker management table T1. If the corresponding AR object exists, the control unit 111 acquires the data of the AR object from the management table, and reads the definition table corresponding to the template ID included in the acquired data (S203). The control unit 111 causes the generation unit 113 to generate a projection image for each AR object whose data has been acquired in S203 (S204).
  • the generation unit 113 causes the calculation unit 114 to perform model-view conversion from the marker coordinate system to the camera coordinate system for each coordinate included in the acquired definition table, and further from the camera coordinate system to the screen coordinate system.
  • the transformation matrix M used for model-view transformation is obtained based on the position / rotation coordinates (camera coordinate system) of the marker coordinate system stored in the marker management table T1.
  • the generation unit 113 further generates an element graphic (surface element) corresponding to each surface configured by combining points based on each point coordinate obtained by the coordinate conversion.
  • Each surface element defined in the definition table T2 is generated by synthesizing the defined texture in an area surrounded by each point constituting the surface element.
  • the generation unit 113 generates a projection figure corresponding to the AR object by synthesizing the surface elements for the same AR object.
  • the texture of each surface element may be corrected (for example, the surface elements hidden by other surface elements are not displayed) according to the front-rear relationship between the generated surface elements.
  • the control unit 111 causes the generation unit 113 to combine the generated image with the captured image in the display buffer (S205).
  • the display unit 14 displays an image obtained by combining the projected image of the AR object with the captured image captured by the imaging unit 13.
  • control unit 111 displays an edit start button on the display unit 14 (S206).
  • the control unit 111 ends the marker recognition process shown in FIG. 19 and returns to the flowchart of the position designation process shown in FIG.
  • control unit 111 determines whether or not an input to the edit start button is detected within a predetermined time after the edit start button is displayed in S206 (S105).
  • S105: YES When an input to the edit start button is detected (S105: YES), the control unit 111 executes an editing process shown in FIG. 20 (S106).
  • S105: NO When the input to the edit start button is not detected within the predetermined time (S105: NO), the control unit 111 determines whether an instruction to end the program is given (S108).
  • FIG. 20 shows a processing procedure example of the editing process.
  • the control unit 111 switches the display on the display unit 14 to still image display (S301). For example, when a plurality of markers are recognized in the captured image, one of the plurality of markers (marker M) is selected by a user operation in S301.
  • the control unit 111 receives information for selecting the marker M from the input unit 15, the control unit 111 sets the object addition flag of the marker management table T1 for the selected marker M to ON.
  • control unit 111 causes the generation unit 113 to generate an overhead model diagram (S302).
  • FIG. 21 shows an example of a processing procedure for generating an overhead model diagram.
  • the generation unit 113 acquires the overhead view model diagram template stored in the storage unit 12 (S401).
  • the bird's-eye view model diagram template is an image having a size that matches the display screen of the display unit 14, and for example, the figure F1 is shown at a predetermined position (X1s, Y1s). That is, the figure F1 is shown as a display screen S3 in FIG.
  • the overhead view model diagram template may include menu groups B1 to 9 as in the display screen S3 of FIG.
  • the generation unit 113 acquires the position / rotation coordinates (camera coordinate system) for the selected marker M from the marker management table (S402). Furthermore, the generation unit 113 causes the calculation unit 114 to calculate the position coordinates (screen coordinate system) of the marker M (S403). As described using the display screen S3 shown in FIG. 9, the calculation unit 114 determines the position (X2s, Y2s) of the marker M based on the scale of the overhead model diagram and the coordinates X1c and Z1c of the marker M in the camera coordinate system. calculate. For example, a predetermined initial value is set as the scale. Furthermore, the generation unit 113 causes the calculation unit 114 to calculate the rotation angle (screen coordinate system) of the marker M (S404). The calculated rotation angle may be calculated based on the rotation coordinates (P1c, Q1c, R1c) of the marker M as described using the display screen S3 shown in FIG. 9, or based only on the rotation coordinates Q1c. It may be calculated.
  • the generation unit 113 synthesizes the figure F2 with the overhead model diagram template based on the calculation results of S403 and S404 (S405).
  • the control unit 111 stores the overhead model diagram obtained by the synthesis in S405 of the generation unit 113 in the storage unit 12 (S406). When the process of S406 is executed, the control unit 111 returns to the process procedure of FIG.
  • the control unit 111 executes an AR template selection process (S303).
  • S303 for example, the control unit 111 displays the AR template menu shown in FIG. 25 on the display unit 14, and determines which template in the AR template menu is selected according to the user input received from the input unit 15. To do.
  • the control unit 111 generates an object ID and stores the template ID and object ID of the selected AR template in the management table T3. Predetermined initial values are stored for other items (position / rotation coordinates and size) in the management table T3.
  • the control unit 111 further stores information stored in the management table T3 in the editing table T4. Further, the control unit 111 causes the calculation unit 114 to calculate the editing information T42 based on the management information T41 stored in the editing table T4, and stores the editing information T42 in the editing table T4.
  • the control unit 111 determines which of the AR objects displayed in S203 to S205 has been selected according to the user input received from the input unit 15. In this case, the control unit 111 stores information in the management table of the selected AR object in the editing table T4. Further, the control unit 111 causes the calculation unit 114 to calculate the editing information T42 based on the management information T41 stored in the editing table T4, and stores the editing information T42 in the editing table T4.
  • the AR object whose information is stored in the edit table T4 is an AR object (AR object E) whose position is to be specified.
  • AR object E an AR object whose position is to be specified.
  • the control unit 111 executes position specifying processing for the selected AR object E (S304 and S305).
  • FIG. 22 shows an example of a processing procedure for position designation processing based on a captured image.
  • the control unit 111 causes the display unit 14 to display the captured image and the menu groups B1 to B9 (S501). Further, the control unit 111 sets the flag ⁇ of the edit table T4 to “0”. Subsequently, the control unit 111 causes the generation unit 113 to generate a projection image of the selected AR object E (S502). Further, the control unit 111 causes the generation unit 113 to combine the generated projection image with the captured image stored in the display buffer, and further causes the display unit 14 to display the combined image (S503).
  • the processing of S502 and S503 is performed by the same procedure as S203 to S205 shown in FIG.
  • the control unit 111 determines whether or not a position determination input has been received from the input unit 15 (S504). When the position determination input is not received (S504: NO), the control unit 111 determines whether the viewpoint switching input is received from the input unit 15 (S505). If the viewpoint switching input has not been received (S505: NO), the control unit 111 determines whether or not a position designation within the screen has been received from the input unit 15 (S506).
  • the input from the input unit 15 used for the determination processing in S504 to S506 is, for example, position coordinates (screen coordinate system) on the display screen of the display unit 14.
  • the control unit 111 performs the determinations in S504 and S505 based on the position coordinates received from the input unit 15 and the positions of the edit end button B1 and the viewpoint switching button B2 displayed on the display screen.
  • the control unit 111 When receiving a position designation within the screen from the input unit 15 (S506: YES), the control unit 111 causes the calculation unit 114 to convert the designated position coordinate (screen coordinate system) to the camera coordinate system (S507). ). As described above, in this coordinate conversion, for example, the coordinate Z1c is used as the coordinate Z2c in the camera coordinate system.
  • the control unit 111 updates the coordinates stored in the editing table T4 based on the coordinates of the camera coordinate system calculated in S507 (S508).
  • the update in S508 is performed based on the flag ⁇ . For example, when the flag ⁇ is “0”, X2c and Y2c are updated.
  • the control unit 111 returns to the process of S502.
  • the control unit 111 ends the position designation process (S304) based on the captured image.
  • FIG. 23 shows a processing procedure example of the position designation processing based on the overhead view model diagram.
  • the control unit 111 causes the display unit 14 to display the bird's-eye view model diagram and menu groups B1 to B9 stored in the storage unit 12 (S601). Further, the control unit 111 sets the flag ⁇ of the editing table T4 to “1”. Subsequently, the control unit 111 causes the generation unit 113 to generate a graphic F3 corresponding to the selected AR object E (S602). Further, the control unit 111 causes the generation unit 113 to combine the generated figure F3 with the overhead model diagram stored in the storage unit 12, and further causes the display unit 14 to display the combined image (S603).
  • the overhead model diagram stored in the storage unit 12 is the overhead model diagram generated by the process of S302.
  • an update to the bird's-eye view model with the figure layout adjusted is appropriately performed according to the input to the enlargement button B5 and the reduction button B6.
  • the control unit 111 determines whether or not a position determination input has been received from the input unit 15 (S604). When the position determination input is not received (S604: NO), the control unit 111 determines whether the viewpoint switching input is received from the input unit 15 (S605). If the viewpoint switching input has not been received (S605: NO), the control unit 111 determines whether or not a position designation within the screen has been received from the input unit 15 (S606).
  • the input from the input unit 15 used for the determination processing of S604 to S606 is, for example, position coordinates (screen coordinate system) on the display screen of the display unit 14 as in the processing of S504 to S506.
  • the control unit 111 performs the determinations in S604 and S605 based on the position coordinates received from the input unit 15 and the positions of the edit end button B1 and the viewpoint switching button B2 displayed on the display screen.
  • control unit 111 When the control unit 111 receives a position designation within the screen from the input unit 15 (S606: YES), the control unit 111 converts the figure F3 into the position coordinate (screen coordinate system) camera coordinate system (S607). The control unit 111 updates the coordinates stored in the edit table T4 based on the coordinates calculated in S607 (S608). The update in S608 is performed based on the flag ⁇ . For example, when the flag ⁇ is “1”, X2c and Z2c are updated. When the update process of S608 is performed, the control unit 111 returns to the process of S602.
  • control unit 111 ends the position designation process (S305) based on the overhead view model diagram.
  • control unit 111 executes a position designation process (S304) based on the captured image.
  • FIG. 24 shows a processing procedure example of the editing process.
  • the control unit 111 causes the calculation unit 14 to convert the coordinates of the camera coordinate system designated for the AR object E into the coordinates of the marker coordinate system (S306).
  • the transformation matrix used in S306 is an inverse matrix of the transformation coordinates M shown in FIG.
  • the control unit 111 determines whether to end editing (S307). For example, the control unit 111 causes the display unit 14 to execute a display for requesting whether or not to end editing, and performs the determination of S307 according to the input content obtained as a result of the input unit 15. When the editing is not finished (S307: NO), the control unit 111 returns to the processing procedure of S303.
  • the control unit 111 uploads the edited management table T3 to the AR data management server (S107).
  • the edited AR object is managed by using the object ID included in the received management table T3 and the identification information for identifying the user or the computer 1.
  • the control unit 111 performs definition data transmission processing and switches from the still image display mode to the marker detection mode, and the display unit 14 updates the display of the captured image accordingly.
  • the control unit 111 determines whether an instruction to end the program is given (S108). If the end of the program is instructed in the process of S108 (S108: YES), the control unit 111 ends the process of the position specifying program. If the end of the program is not instructed in the process of S108 (S108: NO), the control unit 111 returns to the process of S103.
  • the magnification data in the edit table T4 is updated by the designated two-point motion.
  • the magnification is increased when the designated two points are moved away from each other, and the magnification is reduced when the designated two points are moved closer to each other.
  • the display unit 14 displays a numerical designation screen.
  • the control unit 111 displays the coordinates of the camera coordinate system in the editing table T4 in the numerical value designation screen, directly inputs a numerical value for the displayed coordinate value, and sets the input numerical value to the coordinate value in the editing table T4. Update.
  • a plurality of positions may be set for the AR object E that is the position designation target in S303. Even when there is an input to the edit end button B1, a plurality of positions are set for one AR object by control such as returning to S304 a predetermined number of times.
  • the management table T3 is configured so that a plurality of positions can be set.
  • the display of the AR object set with a plurality of positions is performed by sequentially switching a plurality of projection images based on the settings of the plurality of positions. Thereby, the AR object can be displayed while being moved.
  • FIG. 25 shows an example of an AR template menu.
  • the AR template menu is displayed.
  • a display screen S7 illustrated in FIG. 25 is a display screen in a state where the AR template menu is called.
  • a group of buttons (button 1 to button 9) capable of selecting an AR template type is displayed.
  • the buttons are identified and explained based on the numbers shown in the button area. For example, a square button with a number “1” is “button 1”.
  • the AR template menu includes a selectable button group other than the button group shown in FIG. 25, and includes a scroll button B11 for performing a scroll operation for displaying the button group. Further, the AR template menu includes a menu close button B12 for ending selection of the AR template.
  • Buttons 1 to 9 correspond to individual template IDs. That is, a definition table corresponding to each button is provided. When an input is made for any button, a template ID corresponding to the button is selected, and the definition table is called based on the selected template ID.
  • the button 1 is associated with a balloon type AR template.
  • text information is added in a balloon-shaped figure.
  • Button 2 is associated with a drawer box type AR template.
  • the drawer box type AR template includes a leader line and a square figure joined to the tip of the leader line, and text information is added to the square figure.
  • the button 3 is associated with a text box type AR template.
  • text box type AR template text information is added to a rectangular frame-shaped figure.
  • the button 4 is associated with a photo type AR template. In the photo type AR template, image data is mapped in a rectangular frame-like figure. As this image data, an image file stored in the storage unit 12 is used.
  • the button 5 is associated with an imaging type AR template.
  • the imaging type AR template is also the same AR template as the photo type AR template, but the acquisition source of the image data is different.
  • the imaging mode is called and imaging processing by the imaging unit 13 is performed.
  • the imaging type AR template is used, the image data captured by the imaging process is mapped in a rectangular frame shape.
  • the image data mapped by the photo type or the imaging type may be a still image or a moving image.
  • the button 6 is a handwritten type AR template.
  • the handwritten type AR template is a transparent and rectangular figure, and the pattern of the figure is edited by a handwriting operation.
  • the button 7 is a link type AR template, which is the same template as the text box type AR template.
  • the button 8 is associated with a graphic type AR template.
  • a three-dimensional solid model graphic is defined.
  • a screen display for selecting the shape of the three-dimensional model figure in accordance with an input to the button 8 may be performed.
  • the shape of the three-dimensional model figure is, for example, a cube, a rectangular parallelepiped, a cylinder, a sphere, a cone, a triangular prism, or the like.
  • CAD data may be called in response to an input to the button 8.
  • a CAD data file stored in the storage unit 12 is selected.
  • the button 9 is associated with a file type AR template.
  • the file type AR template is a rectangular figure to which an icon image indicating a file is mapped.
  • a file in the storage unit 12 is selected, and a link to the selected file is added to the AR template.
  • FIG. 26 shows a hardware configuration example of the computer 1.
  • the computer 1 includes, for example, a processor 301, a RAM (Random Access Memory) 302, a ROM (Read Only Memory) 303, a drive device 304, a storage medium 305, an input interface (input I / F) 306, an input device 307, an output interface ( Output I / F) 308, output device 309, communication interface (communication I / F) 310, camera module 311, acceleration sensor 312, angular velocity sensor 313, display interface 314, display device 315, bus 316, and the like.
  • Each piece of hardware is connected via a bus 316.
  • the communication interface 310 controls communication via the network 3.
  • the communication controlled by the communication interface 310 may have a mode of accessing the network 3 via the wireless base station 4 (see FIG. 28) using wireless communication.
  • the input interface 306 is connected to the input device 307 and transmits an input signal received from the input device 307 to the processor 301.
  • the output interface 308 is connected to the output device 309 and causes the output device 309 to execute output in accordance with an instruction from the processor 301.
  • the input device 307 is a device that transmits an input signal according to an operation.
  • the input signal is, for example, a key device such as a keyboard or a button attached to the main body of the computer 1, or a pointing device such as a mouse or a touch panel.
  • the output device 309 is a device that outputs information according to the control of the processor 301.
  • the output device 309 is, for example, an audio output device such as a speaker.
  • the display interface 314 is connected to the display device 315.
  • the display interface 314 causes the display device 315 to display the image information written by the processor 301 in the display buffer provided in the display interface 314.
  • the display device 315 is a device that outputs information according to the control of the processor 301.
  • an image output device such as a display, a transmissive display, or the like is used. When a transmissive display is used, the projected image of the AR object is not synthesized with the captured image, but may be controlled to be displayed at an appropriate position in the transmissive display, for example.
  • the user can obtain a vision in which the real space and the AR object are aligned.
  • an input / output device such as a touch screen is used as the input device 307 and the display device 315.
  • the input device 307 and the display device 315 may be connected to the computer 1 from the outside.
  • the RAM 302 is a readable / writable memory device.
  • a semiconductor memory such as SRAM (Static RAM) or DRAM (Dynamic RAM), or a flash memory other than the RAM may be used.
  • the ROM 303 includes a PROM (Programmable ROM).
  • the drive device 304 is a device that performs at least one of reading and writing of information stored in the storage medium 305.
  • the storage medium 305 stores information written by the drive device 304.
  • the storage medium 305 is at least one of various types of storage media such as a hard disk, SSD (Solid State Drive), CD (Compact Disc), DVD (Digital Versatile Disc), and Blu-ray Disc.
  • the computer 1 includes a drive device 304 corresponding to the type of the storage medium 305 in the computer 1.
  • the camera module 311 includes an image sensor (image sensor). For example, the camera module 311 reads a value measured by the image sensor and writes it in an image buffer for an input image included in the camera module 311.
  • the acceleration sensor 312 measures acceleration acting on the acceleration sensor 312.
  • the angular velocity sensor 313 measures the angular velocity of the operation by the angular velocity sensor 313.
  • the processor 301 reads a program (eg, a program illustrated in FIG. 27) stored in the ROM 303 or the storage medium 305 to the RAM 302, and performs processing according to the read program procedure.
  • a program eg, a program illustrated in FIG. 27
  • the function of the processing unit 11 is realized by the processor 301 performing a process based on a position specifying program which is a part of the program shown in FIG.
  • the control unit 111 is realized by the processor 301 accessing the RAM 302 according to the procedure indicated in the position designation program and the result of the arithmetic processing of the processor 301.
  • the recognition unit 112 is realized by the processor 301 performing arithmetic processing based on the image data stored in the image buffer for the input image of the camera module 311.
  • the generation unit 113 is realized by writing image data generated by the processor 301 performing arithmetic processing based on data (including image data) stored in the RAM 302 into the display buffer.
  • the calculation unit 114 is realized by the processor 301 performing arithmetic processing based on data such as coordinates stored in the RAM 302 and data such as a transformation matrix. At that time, the RAM 302 is used as a work area of the processor 301.
  • the functions of the storage unit 12 are realized by the ROM 303 and the storage medium 305 storing program files and data files, or by using the RAM 302 as a work area of the processor 301. For example, a marker management table T1, a definition table T2, a management table T3, an edit table T4, and the like are stored in the RAM 302.
  • the camera module 311 writes the image data into the input image buffer, and the processor 301 reads out the image data in the input image buffer, thereby realizing the function of the imaging unit 13.
  • the image data is written in the image buffer for the input image and is written in parallel in the display buffer of the display device 315.
  • the image data generated by the processor 301 is written into a display buffer provided in the display interface 314, and the display device 315 displays the image data in the display buffer, thereby realizing the function of the display unit 14.
  • FIG. 27 shows a configuration example of a program operating on the computer 1.
  • an OS Operating System
  • the processor 301 operates in accordance with the procedure in accordance with the OS 502, and the hardware 501 is controlled and managed, whereby processing by the application program 504 and the middleware 503 is executed on the hardware 501.
  • programs such as the OS 502, middleware 503, and application program 504 are read into the RAM 302 and executed by the processor 301, for example.
  • the position designation program is a program called from the application program 504 as the middleware 503, for example.
  • the position designation program is a program that executes position designation processing as the application program 504.
  • the position designation program is stored in the storage medium 305.
  • the storage medium 305 can be distributed separately from the computer 1 main body in a state where the position designation program is stored.
  • FIG. 28 shows an example of a system including the computer 1.
  • the system shown in FIG. 28 includes a computer 1, a management server 2, a management database 2a, a network 3, and a radio base station 4.
  • the computer 1 and the management server 2 can communicate with each other by at least one of wired or wireless communication methods.
  • the management server 2 includes a management database 2a.
  • FIG. 29 shows a functional configuration example of the management server 2.
  • the management server 2 includes a processing unit 21, a storage unit 22, and a communication unit 23.
  • the processing unit 21 controls the storage unit 22 and the communication unit 23.
  • the communication unit 23 communicates with the communication unit 16 of the computer 1.
  • the storage unit 22 stores information on the AR object (management table T3) acquired through communication of the communication unit 23. Further, when AR information is requested from the computer 1, the processing unit 21 causes the communication unit 23 to execute processing for transmitting information (management table T ⁇ b> 3) stored in the storage unit 22.
  • FIG. 30 shows a hardware configuration example of the management server 2.
  • the management server 2 includes, for example, a processor 401, a RAM 402, a ROM 403, a drive device 404, a storage medium 405, an input interface (input I / F) 406, an input device 407, an output interface (output I / F) 408, an output device 409, A communication interface (communication I / F) 410, a SAN (Storage Area Network) interface (SAN I / F), a bus 412 and the like are included. Each piece of hardware is connected via a bus 412.
  • the processor 401 is the same hardware as the processor 301.
  • the RAM 402 is hardware similar to the RAM 302, for example.
  • the ROM 403 is hardware similar to the ROM 303, for example.
  • the drive device 404 is hardware similar to the drive device 304, for example.
  • the storage medium 405 is hardware similar to the storage medium 305, for example.
  • the input interface (input I / F) 406 is hardware similar to the input interface 306, for example.
  • the input device 407 is hardware similar to the input device 307, for example.
  • the output interface (output I / F) 408 is hardware similar to the output interface 308, for example.
  • the output device 409 is hardware similar to the output device 309, for example.
  • the communication interface (communication I / F) 410 is hardware similar to the communication interface 310, for example.
  • the SAN (Storage Area Network) interface (SAN I / F) is an interface for connecting the management server 2 to the SAN, and includes an HBA (Host Bus Adapter).
  • HBA Hypervisor Adapter
  • the processor 401 reads the management program stored in the ROM 403 or the storage medium 405 to the RAM 402, and performs the processing of the processing unit 21 according to the procedure of the read management program. At that time, the RAM 402 is used as a work area of the processor 401.
  • the function of the storage unit 22 is realized by the ROM 403 and the storage medium 405 storing program files and data files (such as the management table T3), or by using the RAM 402 as a work area of the processor 401. Further, the function of the communication unit 23 is realized by the processor 401 controlling the communication interface 410 to perform communication processing.

Abstract

 一側面においては、撮像画面に対して奥行き方向の位置指定において、現実空間と対応する目安を提供することを目的とする。 一態様によれば、表示プログラムは、コンピュータに、カメラおよび基準物が存在する空間に対応し、前記カメラおよび前記基準物に対応する図形を含む、平面図であって、前記図形の表示位置を基準とする前記平面図内の第1の位置が、前記カメラおよび前記基準物を基準とする前記カメラおよび前記基準物が存在する空間における第2の位置に対応する平面図を、表示装置に表示させる処理を実行させる。

Description

表示装置、表示方法、表示プログラムおよび位置設定システム
 本発明は、空間内の位置を指定する技術に関する。
 撮像装置により得られた撮像画像の一部分に他の画像を重ねて表示させることが行なわれる。例えば、プリントシール機は、撮像装置でユーザを撮像し、撮像により得られた撮像画像を予め用意されたフレーム画像と合成して、合成して得られた画像をシール紙などに印刷して提供する画像印刷装置である。そして、このプリントシール機では、ユーザが、撮像画像上に付属のペンで任意の文字や図形(スタンプ画像)などを編集することができるようになされている(いわゆる落書き機能)。スタンプ画像は、タッチペンがタッチパネルに接触している位置に描画される(例えば特許文献1参照)。
 また、現実空間に対応する3次元の仮想空間上に配置された3次元物体のモデルデータであるARオブジェクトを、撮像装置が撮像する撮像画像に重ねて表示することが行なわれる。この技術は、人間の知覚(視覚など)により収集される情報を拡張させるため、拡張現実(Augmented Reality:AR)技術などと呼ばれる。ARオブジェクトは現実空間に対応する仮想空間上の位置が設定されており、撮像装置とARオブジェクトとの位置関係に基づいてARオブジェクトの投影画像が生成され、生成された投影画像が撮像画像に重ねて表示される。ARオブジェクトの仮想空間内での位置は予め設定される(例えば特許文献2参照)。
特開2003-141558号公報 特開2002-092647号公報
解決しようとする課題
 現実空間に存在する物体と整合させて表示させるARオブジェクトを設定する場合には、ARオブジェクトの位置を指定する座標の測量作業が行なわれる。また、測量作業を行なったとしても、位置指定にズレが生じている場合には、ARオブジェクトと整合させて表示させる対象である物体とARオブジェクトとがずれた状態で表示されてしまう。位置指定のズレが生じた場合には、正しい位置を指定するために再度測量作業が行なわれる。
 本発明の一側面においては、撮像画面に対して奥行き方向の位置指定において、現実空間と対応する目安を提供することを目的とする。
 一態様によれば、表示プログラムは、コンピュータに、カメラおよび基準物が存在する空間に対応し、前記カメラおよび前記基準物に対応する図形を含む、平面図であって、前記図形の表示位置を基準とする前記平面図内の第1の位置が、前記カメラおよび前記基準物を基準とする前記カメラおよび前記基準物が存在する空間における第2の位置に対応する平面図を、表示装置に表示させる処理を実行させる。
 一側面によれば、撮像画面に対して奥行き方向の位置指定において、現実空間と対応する目安を提供することができる。
図1は、カメラ座標系とマーカー座標系との関係を示す。 図2は、カメラ座標系とマーカー座標系とにおけるARオブジェクトEの例を示す。 図3は、マーカー座標系からカメラ座標系への変換行列Mと、変換行列M内の回転行列Rを示す。 図4は、回転行列R1、R2およびR3を示す。 図5は、表示画面の例を示す。 図6は、ARオブジェクトEの配置例を示す。 図7は、表示画面の例を示す。 図8は、ARオブジェクトEの配置例を示す。 図9は、入力画面(俯瞰モデル図)の例を示す。 図10は、入力画面(俯瞰モデル図)の例を示す。 図11は、入力画面(Zc-Yc平面図)の例を示す。 図12は、入力画面(撮像画像)の例を示す。 図13は、コンピュータ1の機能構成例を示す。 図14は、マーカー管理テーブルT1を示す。 図15は、定義テーブルT2を示す。 図16は、管理テーブルT3を示す。 図17は、編集テーブルT4を示す。 図18は、位置指定プログラムの処理手順例を示す。 図19は、マーカー認識処理の処理手順例を示す。 図20は、編集処理の処理手順例を示す。 図21は、俯瞰モデル図生成の処理手順例を示す 図22は、撮像画像に基づく位置指定処理の処理手順例を示す。 図23は、俯瞰モデル図に基づく位置指定処理の処理手順例を示す。 図24は、編集処理の処理手順例を示す。 図25は、ARテンプレートメニュー例を示す。 図26は、コンピュータ1のハードウェア構成例を示す。 図27は、コンピュータ1で動作するプログラムの構成例を示す。 図28は、コンピュータ1を含むシステムの例を示す。 図29は、管理サーバ2の機能構成例を示す。 図30は、管理サーバ2のハードウェア構成例を示す。
 まず、現実空間に対応する3次元の仮想空間上に配置されたARオブジェクトを、カメラが撮像する撮像画像に重ねて表示させるAR技術について説明する。
 ARオブジェクトは、例えば、複数の点を含むモデルデータである。複数の点を直線や曲線で補間して得られる複数の面ごとに模様(テクスチャ)が設定され、複数の面が合成されることで3次元のモデルが形成される。ARオブジェクトの仮想空間上での配置は、ARオブジェクトを構成する各点の座標が現実空間内に存在する基準物を基準として定められることで行なわれる。現実空間において各点の座標の位置にオブジェクトが存在するわけではなく、各点の座標は基準物を基準として仮想空間上に定められるものである。
 ARオブジェクトが仮想空間上に配置される一方で、カメラが撮像した撮像画像内に写り込んだ基準物の見え方(像)に基づいて、カメラと基準物との現実空間における位置関係が求められる。現実空間内に存在する基準物を基準とする仮想空間上の座標と、現実空間におけるカメラと基準物との位置関係により、現実空間に対応する3次元の仮想空間上でのカメラとARオブジェクトの各点の座標との位置関係が求められる。これらの位置関係に基づいて、仮想空間上でカメラがARオブジェクトを撮像した場合に得られるARオブジェクトの像が算出される。ARオブジェクトの像を算出するための演算について、図1~図4に基づいてさらに説明する。
 図1は、カメラ座標系とマーカー座標系との関係を示す。図1に示されるマーカーMは、ARオブジェクト表示に用いられる基準物の一例である。図1に例示されるマーカーMは、正方形形状をしており、予めサイズが定められている(例えば1辺の長さが10cmなど)。図1に示されるマーカーMは正方形形状であるが、複数の視点のいずれから撮像して得られる像に基づいても、カメラからの相対的な位置および向きが判別可能な形状の他の物体が基準物に用いられてもよい。例えば、撮像画像から生成される特徴点などを基準物として用いてもよい。
 カメラ座標系は、(Xc,Yc,Zc)の3次元で構成され、例えばカメラの焦点を原点(原点Oc)とする。例えば、カメラ座標系のXc-Yc平面はカメラの撮像素子面と平行な面であり、Zc軸は撮像素子面に垂直な軸である。
 マーカー座標系は、(Xm,Ym,Zm)の3次元で構成され、例えばマーカーMの中心を原点(原点Om)とする。例えば、マーカー座標系のXm-Ym平面はマーカーMと平行な面であり、Zm軸はマーカーMの面と垂直である。原点Omは、カメラ座標系において座標V1c(X1c,Y1c,Z1c)で示される。また、カメラ座標系(Xc,Yc,Zc)に対するマーカー座標系の回転角は、回転座標G1c(P1c,Q1c,R1c)で示される。P1cはXc軸回りの回転角であり、Q1cはYc軸回りの回転角であり、R1cはZc軸回りの回転角である。図1に例示されるマーカー座標系は、Ym軸回りにのみ回転しているため、P1cおよびR1cは0である。
 図2は、カメラ座標系とマーカー座標系とにおけるARオブジェクトEの例を示す。図2に示すARオブジェクトEは、吹き出し形状のオブジェクトであり、吹き出し内に「ヒビあり!」というテキストデータを含む。ARオブジェクトEの吹き出しの先に黒丸は、ARオブジェクトEの基準点を示す。ARオブジェクトEのマーカー座標系における座標は、V2m(X2m,Y2m,Z2m)とする。さらにARオブジェクトEの向きは回転座標G2m(P2m,Q2m,R2m)で定められ、ARオブジェクトEのサイズは倍率D(Jx,Jy,Jz)で定められる。
 ARオブジェクトEを構成する各点の座標は、ARオブジェクトEの雛型である定義データ(ARテンプレート)に定義されている各点の座標が、基準点の座標V2m、回転座標G2mおよび倍率Dに基づいて調整された座標である。ARテンプレートに定義される点の座標は、基準点の座標が(0,0,0)の状態で示される。ARテンプレートに含まれる各座標は、設定された回転座標G2mに基づいて回転され、倍率Dで拡縮され、さらに基準点の座標V2mに基づいて平行移動されて調整される。図2のARオブジェクトEは、ARテンプレートに定義された各点が、基準点の座標V2m、回転座標G2mおよび倍率Dに基づいて調整された点に基づいて構成された状態を示している。
 マーカー座標系で座標が設定されたARオブジェクトEの各点の座標が、カメラ座標系に変換され、さらにカメラ座標系の座標に基づいて画面内の位置が算出されることにより、ARオブジェクトEの像が生成される。
 ARオブジェクトEに含まれる各点のカメラ座標系における座標は、マーカー座標系における各点の座標を座標V1cおよび回転座標G1cに基づく座標変換(モデル-ビュー変換)により算出される。例えば、モデル-ビュー変換が座標V2mに対して行なわれることにより、基準点のカメラ座標系における座標V2c(X2c,Y2c,Z2c)が求められる。
 図3は、マーカー座標系からカメラ座標系への変換行列Mと、変換行列M内の回転行列Rを示す。変換行列Mは、4×4の行列である。変換行列Mと列ベクトル(Xm,Ym,Zm,1)との積により、列ベクトル(Xc,Yc,Zc,1)が得られる。すなわち、列ベクトル(Xm,Ym,Zm,1)に座標変換(モデル-ビュー変換)対象のマーカー座標系の点座標を代入して、行列演算を行なうことにより、カメラ座標系の点座標を含む列ベクトル(Xc,Yc,Zc,1)が得られる。変換行列Mの1~3行目且つ1~3列の部分行列(回転行列R)がマーカー座標系の座標に作用することにより、マーカー座標系の向きとカメラ座標系との向きを合わせるための回転操作が行なわれる。変換行列Mの1~3行目且つ4列目の部分行列が作用することにより、マーカー座標系の向きとカメラ座標系との位置を合わせるための並進操作が行なわれる。
 図4は、回転行列R1、R2およびR3を示す。図3に示す回転行列Rは、回転行列R1、R2およびR3の積(R1・R2・R3)により算出される。
 ARオブジェクトEを構成する各点のマーカー座標系の座標(Xm,Ym,Zm)は、変換行列Mに基づくモデル-ビュー変換により、カメラ座標系の座標(Xc,Yc,Zc)に変換される。上述の通り、座標V2mはモデル-ビュー変換により座標V2cに変換される。モデル-ビュー変換により得られた座標(Xc,Yc,Zc)は、ARオブジェクトEが存在する仮想的な空間にカメラが存在するとした場合のカメラからの相対的な位置を示す。
 スクリーン座標系は、(Xs,Ys)の2次元で構成され、例えばカメラの撮像処理により得られる撮像画像の中心を原点(原点Os)とする。ARオブジェクトEの各点のカメラ座標系の座標は、スクリーン座標系に変換される。この座標変換(透視変換)により得られる各点のスクリーン座標系の座標に基づいて、ARオブジェクトEの像が生成される。
 カメラ座標系からスクリーン座標系への座標変換(透視変換)は、例えば、カメラの焦点距離fに基づいて行なわれる。カメラ座標系における座標(Xc,Yc,Zc)に対応するスクリーン座標系の座標のXs座標は、Xs=f・Xc/Zcで求められる。また、カメラ座標系における座標(Xc,Yc,Zc)に対応するスクリーン座標系の座標のYs座標は、Ys=f・Yc/Zcで求められる。
 ARオブジェクトEを構成する各点の座標(カメラ座標系)が透視変換されて得られる座標(スクリーン座標系)に基づいて、ARオブジェクトEの像が生成される。ARオブジェクトEは、ARオブジェクトEを構成する複数の点を補間して得られる面にテクスチャをマッピングすることにより生成される。ARオブジェクトEの元になるARテンプレートには、どの点を補間して面を形成するか、どの面に殿テクスチャをマッピングするかが定義される。
 上述のモデル-ビュー変換および透視変換により、マーカー座標系の座標に対応する撮像画像上の座標が算出され、その座標を利用することで、カメラの視点に応じたARオブジェクトEの像が生成される。生成されるARオブジェクトEの像は、ARオブジェクトEの投影画像と呼ばれる。ARオブジェクトEの投影画像が撮像画像に合成されることで、ユーザに提供される視覚的な情報が拡張される。また、他の態様では、透過型ディスプレイにARオブジェクトEの投影画像が表示される。この態様においても、ユーザがディスプレイを透過して得られる現実空間の像と、ARオブジェクトの投影画像とが整合するので、ユーザに提供される視覚的な情報が拡張される。
 本実施例では、カメラ機能および表示機能を有するコンピュータ1により、上述のAR技術の適用対象であるARオブジェクトEの位置や向きの指定が行なわれる。コンピュータ1は、ユーザからの入力に応じてARオブジェクトEの位置や向きの指定を行なう。
 図5は、表示画面の例を示す。図5の表示画面S1は、マーカーMの像および物体Hの像を含む撮像画像に、ARオブジェクトEの投影画像が合成されて表示された画面の例である。撮像画像は、例えばコンピュータ1のカメラ機能により取得された画像である。
 表示画面S1で例示される撮像画像は工場内で撮像された画像であり、撮像画像内に写り込んだ物体Hはカーブしたパイプである。物体Hのカーブした部分にひび割れが生じている。工場の保守点検の作業などにおいては、ひび割れなどが生じていた場合に、ひび割れ箇所の指摘を申し送り事項として記録することが行なわれる。ひび割れ箇所と整合する位置に「ヒビあり!」というメッセージを含む吹き出し形状のARオブジェクトEが設定されることで、申し送り事項の記録が行なわれる。後から現場に訪れたユーザは、マーカーMおよび物体Hの像を含む撮像画像に、前の作業者により設定されたARオブジェクトEの投影画像が合成されて表示された画面を見ることにより、ひび割れ箇所の指摘を受けることができる。設定されたARオブジェクトEのデータは例えば管理サーバにアップロードされており、後から現場に訪れるユーザが操作するコンピュータは、現場に向かう前かもしくは現場で管理サーバからARオブジェクトEのデータをダウンロードして入手する。
 撮像画像に含まれるマーカーMの像(形状およびサイズ)に基づいて、コンピュータ1は、コンピュータ1が有するカメラに対するマーカーMの位置座標V1cおよび回転座標G1cを求める。また、マーカーMの模様に基づいて、マーカーの識別情報(マーカーID)などの情報がコンピュータ1に読みとられる。基準物として画像の特徴点を用いる場合には、例えば、コンピュータ1が、特徴点の情報とマーカーIDとを予め対応づけておき、その対応関係に基づいてマーカーIDを取得する。本実施例におけるマーカーMは、現実空間内での位置および向きが固定されている。
 ARオブジェクトEの座標(カメラ座標系)は、ARオブジェクトEに設定された各点の座標(マーカー座標系)を位置座標V1cおよび回転座標G1cに基づきモデル-ビュー変換することにより得られる。コンピュータ1は、ARオブジェクトEの各点の座標(カメラ座標系)を透視変換して得られるスクリーン座標系の座標に基づいて、ARオブジェクトEの投影画像を生成する。座標変換については前述の通りである。コンピュータ1は、前述の座標変換により、ARオブジェクトEをコンピュータ1のカメラの視点から眺めるという仮想的な状況におけるARオブジェクトの像(投影画像)を生成する。さらに、コンピュータ1は、生成した投影画像を撮像画像に合成することで、ARオブジェクトがあたかも現実空間に存在するかのように見せることができる。
 上述の通り、ARオブジェクトEの投影画像を撮像画像と合成して表示させるAR技術は、人間の知覚により収集される情報の拡張に用いられる。図5に例示される表示画面S1では、ARオブジェクトEがパイプのひび割れ部分に「ヒビあり!」の吹き出しが付加されることで、現実空間に存在する物体に対して情報が付加されている。
 しかしながら、ARオブジェクトEに対する位置指定にズレが生じてしまうと、ARオブジェクトの投影画像による情報の付加対象が示されなくなってしまうので、現実空間に存在する物体に対する情報の付加という目的が果たされなくなる。例えば、ARオブジェクトEがひび割れと異なる位置に配置されてしまうと、ARオブジェクトEによる申し送りを受けるユーザがひび割れを発見できない可能性がある。さらには、ARオブジェクトEが情報の付加対象の物体とは異なる物体の位置に指定されてしまうと、誤った情報が提供されることとなってしまう。例えば、ARオブジェクトEが別のパイプの位置に配置されてしまうと、ARオブジェクトEよる申し送りを受けた場合に、ひび割れが無い箇所に対してひび割れの存否の確認を行なうという余分な作業が発生する。そのため、ARオブジェクトEの位置および向きの設定は、ARオブジェクトEによる申し送りを受けるユーザがARオブジェクトEと現実空間内の物体(例えばひび割れ箇所)との対応関係を把握可能な程度に現実空間と整合することが求められる。
 例えば、表示画面S1内の位置を指定することによりARオブジェクトEの投影画像の位置の設定が行なわれるとする。そのような指定方法ならば、ユーザはARオブジェクトEの投影画像と物体Hのひび割れ箇所との表示画面S1内での位置関係を確認できる。そのため、ユーザが画面を確認しながら位置指定を行なうことより、ARオブジェクトEの投影画像が表示画面S1において物体Hのひび割れ箇所と整合する位置に配置される。
 図6は、ARオブジェクトEの配置例を示す。図6の配置例は、図5に例示されたコンピュータ1、マーカーM、物体HおよびARオブジェクトEを俯瞰した状態の位置関係を示す。例えば、図6は、コンピュータ1、マーカーM、物体HおよびARオブジェクトEをカメラ座標系のXc軸およびZc軸の2次元空間に投影して示した図である。
 図6は、図5に例示されるARオブジェクトEの配置として、2通りの例を示す。図5に示す投影画像となるARオブジェクトEの一例として、コンピュータ1に対して手前に配置された場合のARオブジェクトE(E1)が図6に示される。また、もうひとつの例として、奥に配置された場合のARオブジェクトE(E2)が示される。いずれの配置のARオブジェクトEであっても、図6で示す位置のコンピュータ1により生成される投影画像は同じとなる。そのため、ARオブジェクトの位置指定がいずれであっても、表示画面S1内の投影画像では判別できない状態である。すなわち、図5を用いて例示された表示画面S1内でARオブジェクトEの位置を設定したとしても、ARオブジェクトE(E1)のように配置されるか、オブジェクトE(E2)のように配置されるかは定められない。ARオブジェクトE(E1)ように配置されれば、ARオブジェクトEはパイプのひび割れと整合した位置に設定されている。その一方で、ARオブジェクトE(E2)のように配置されると、ARオブジェクトEはパイプと整合しない位置(実質的に離れた位置)に設定されたことになる。
 図7は、表示画面の例を示す。図7に例示される表示画面S2も、表示画面S1と同様に、コンピュータ1のカメラ機能により撮像された撮像画像と、ARオブジェクトEの投影画像とが合成されて表示された画面である。表示画面S2内のARオブジェクトE(E1)およびARオブジェクトE(E1)の像は、図6に例示されるARオブジェクトE(E1)およびARオブジェクトE(E2)に対応する投影画像である。表示画面S2の撮像画像は、表示画面S1の撮像画像とは異なる位置で撮像された撮像画像である。例えば、ARオブジェクトEが設定された後に現場を訪れたユーザは、表示画面S2のような画角でARオブジェクトEを確認する可能性がある。
 図8は、ARオブジェクトEの配置例を示す。図8は、図6と同様にコンピュータ1、マーカーM、物体HおよびARオブジェクトEを俯瞰した状態の位置関係を示す。図7に例示される表示画面S2の撮像画像は、図8に示す位置に配置されたコンピュータ1により撮像された撮像画像である。
 ARオブジェクトEの位置が図6におけるARオブジェクトE(E1)の位置に設定されると、表示画面S2のARオブジェクトE(E1)のように、ARオブジェクトEの投影画像は物体Hと整合した位置に表示される。その一方で、ARオブジェクトEの位置が図6におけるARオブジェクトE(E2)の位置に設定されると、表示画面S2のARオブジェクトE(E2)のように、ARオブジェクトEの投影画像は、物体Hとは異なる位置に表示される。ARオブジェクトE(E2)のように表示されてしまうと、「ヒビあり!」と情報が付加された位置にはひび割れが存在しないため、「ヒビあり!」という情報の付加という目的が果たされていない。また、ARオブジェクトE(E2)に示される位置にひび割れがあるかのようにユーザに誤解され得る。すなわち、ARオブジェクトEがE2の位置に設定されることにより、必要な情報の提供に漏れが生じるとともに、不要な情報の提供が行なわれてしまう。
 上述のように、表示画面S1に表示される物体Hの像とARオブジェクトEの投影画像とを確認しながらARオブジェクトEの投影画像の位置を指定したとしても、ARオブジェクトEのZc方向の位置が指定されない。そのため、他の角度から撮像した表示画面S2など)には、表示画面S1では物体Hと整合する位置に表示されたARオブジェクトEの像が、表示画面S2では物体Hと整合しない位置に表示される事態が生じる。
 一方で、ARオブジェクトEの奥行きを単純に数値的に指定するなどとすると、ARオブジェクトEの位置設定に、測量などの作業が発生してしまう。また、目測などに基づいて位置設定を行なう場合には、ユーザの習熟した能力を要することとなる。
 本実施例においては、ARオブジェククトの位置指定に撮像画像の奥行き方向の位置を確認可能な画面が用いられる。
 図9は、入力画面(俯瞰モデル図)の例を示す。表示画面S3に示される俯瞰モデル図は、コンピュータ1に対応する図形F1およびマーカーMに対応する図形F2を含む。表示画面S3には、さらに、縮尺表示と、メニュー群B1~B9が示される。メニュー群B1~B9は、編集終了ボタンB1、視点切替ボタンB2、取り戻しボタンB3、再実行ボタンB4、拡大ボタンB5、縮小ボタンB6、拡縮移動モードボタンB7、回転モードボタンB8および数値指定モードボタンB9などを含む。
 縮尺表示は、俯瞰モデル図が示す平面の座標軸(Xc軸およびYc軸)と、画面内の単位距離に対応する現実空間における距離(図9においては点線で示される正方形の1辺がカメラ座標系における50cmの距離であることが示される)の表示を含む。編集終了ボタンB1は、ARオブジェクトEの位置座標の設定を確定させる操作指示の入力位置を示す表示要素である。視点切替ボタンB2は、俯瞰モデル図を用いた入力画面と撮像画像を用いた入力画面とを切り替えさせる操作指示の入力位置を示す表示要素である。取り戻しボタンB3は、表示画面S3(または取り戻しボタンへの入力が得られた際の表示画面)に対して行なわれた直前の操作の前の状態に戻す操作指示の入力位置を示す表示要素である。再実行ボタンB4は、取り戻しボタンB4への操作が行なわれた場合に表示され、取り戻された操作を再度実行させる操作指示の入力位置を示す表示要素である。拡大ボタンB5は、俯瞰モデル図の縮尺を調整させる操作指示の入力位置を示す表示要素であり、拡大ボタンB5の表示位置への入力が行なわれると俯瞰モデル図の拡大を行なう。縮小ボタンB6は、俯瞰モデル図の縮尺を調整させる操作指示の入力位置を示す表示要素であり、縮小ボタンB6の表示位置への入力が行なわれると俯瞰モデル図の縮小を行なう。拡縮移動モードボタンB7は、操作モードを指定する操作指示の入力位置を示す表示要素であり、拡縮移動モードボタンB7の表示位置への入力が行なわれると、拡縮移動モードに操作モードが切り換えられる。回転モードボタンB8は、操作モードを指定する操作指示の入力位置を示す表示要素であり、回転モードボタンB8の表示位置への入力が行なわれると、回転モードに操作モードが切り換えられる。数値指定モードボタンB9は、操作モードを指定する操作指示の入力位置を示す表示要素であり、数値指定モードボタンB9の表示位置への入力が行なわれると、数値指定モードに操作モードが切り換えられる。
 拡縮移動モードでは、入力操作に応じてARオブジェクトEの位置座標および倍率が調整される。例えば、ARオブジェクトEの位置指定の開始時の操作モードに、拡縮移動モードが自動設定される。回転モードでは、入力操作に応じてARオブジェクトEの回転座標が調整される。回転座標は、ARオブジェクトEを構成する各点の位置座標を、基準点に基づいて定める際に用いられる。数値指定モードでは、数値入力画面が表示される。数値入力画面に対して入力された数値で、ARオブジェクトの基準点の位置、回転座標および倍率が定められる。
 表示画面S3の俯瞰モデル図には、図形F1および図形F2が、カメラ(コンピュータ1)およびマーカーMのカメラ座標系の座標に基づいて表示される。例えば、図形F1は、カメラ座標系の原点Ocに基づいて配置される。また、図形F2は、カメラ座標系におけるマーカー座標系の原点Omの座標V1c(X1c,Y1c,Z1c)と、カメラ座標系に対するマーカー座標系の回転座標U1c(P1c,Q1c,R1c)とに基づいて、表示位置および向きが決定される。
 例えば、カメラ座標系の原点Ocをスクリーン座標系(Xs,Ys)におけるある位置(X1s,Y1s)に配置し、図形F2の位置を縮尺に基づいて設定することにより俯瞰モデル図が生成される。その場合、図形F1は位置(X1s,Y1s)に配置される。例えば、座標X1sは表示画面S3のXs方向の中心であり、座標Y1sは表示画面内S3の中心から下方に所定量ずらした位置である。また、図形F1の形状によりコンピュータ1の向きが示され、表示画面S3内の図形F1はコンピュータ1が備えるカメラのレンズが画面上方を向いた状態を示す。また、図形F2は、位置(X2s,Y2s)に示される。座標X2sは座標X1cおよび縮尺に応じて設定される。座標Y2sは座標Z1cおよび縮尺に応じて設定される。縮尺の設定によっては、マーカーMがカメラに対して遠い位置にあると表示画面S3内に配置されない場合がある。その場合には、ユーザは、縮小ボタンB6用いて俯瞰モデル図を縮小させることにより、図形F2が表示画面内に収まった俯瞰モデル図を確認できる。
 他の態様として、座標Y2sの初期値は予め設定しておき、図形F1と図形F2と間のスクリーン内の距離(Y2s-Y1s)と、座標Z1cとの比に応じて座標X1cが調整されることで、座標X2sが設定されてもよい。すなわち、距離(Y2s-Y1s)と座標Z1cとの比に応じて縮尺が求められる。
 さらに、座標(X2s,Y2s)の図形2は、例えば、回転座標(P1c,Q1c,R1c)に基づいて回転された状態で表示画面S3に表示される。また、例えば、図形F2がQ1cのみに基づいて回転された状態で表示画面S3に示されてもよい。
 表示画面S3が表示された状態で表示画面S3内の位置をユーザの操作により指定されると、その指定に基づいてARオブジェクトの位置座標の設定が行なわれる。例えば、タッチスクリーンの画面に表示画面S3を表示させ、タッチスクリーンに対するユーザ入力に応じて表示画面S3内の位置が指定される。
 表示画面S3の俯瞰モデル図によれば、カメラ座標系のZc方向(奥行き方向)についてのコンピュータ1とマーカーMとの位置関係をユーザに確認させることができる。表示画面S3が提供されると、ユーザは、現実空間におけるコンピュータ1、マーカーMおよび物体Hの位置関係に基づいて、表示画面S3内に示されるコンピュータ1およびマーカーMに対するARオブジェクトEの位置の見当をつけることができる。
 例えば、表示画面S3内の位置d3(X3s,Y3s)が指定されると、座標Y3sと座標Y1sとの差および縮尺に基づいて、ARオブジェクトEの奥行きZ2cが定められる。また、指定された位置にARオブジェクトEに対応する図形F3(d3)を表示させる。図形F3に任意の形状を用いてもよいし、ARオブジェクトの投影画像を用いてもよい。
 図10は、入力画面(俯瞰モデル図)の例を示す。図10に示す表示画面S4の俯瞰モデル図は、表示画面S3の俯瞰モデル図と同様に、コンピュータ1に対応する図形F1、マーカーMに対応する図形F2を含む。また、表示画面S4には、さらに、縮尺表示と、メニュー群B1~B9が示される。
 表示画面S4の俯瞰モデル図においては、図形F2が位置(X2s,Y2s)に固定される。例えば、座標X2sは表示画面S4の中心を示し、座標Y2sは表示画面S3内の中心から上方に所定量ずらした位置である。図形F1は、カメラ座標系におけるマーカー座標系の原点Omの座標V1c(X1c,Y1c,Z1c)と、カメラ座標系に対するマーカー座標系の回転座標G1c(P1c,Q1c,R1c)とに基づいて、表示位置(X1s,Y1s)および向きが決定される。
 表示画面S4が提供されると、ユーザは奥行き方向を含めて、コンピュータ1とマーカーMとの現実空間での位置関係と、表示画面S4内の図形F1と図形F2との位置関係とを照らし合わせることができる。そのため、ユーザは、コンピュータ1とマーカーMとの現実空間での位置関係に基づいて、ARオブジェクトEについて、表示画面S4内に奥行きを含む位置指定の見当をつけることができる。
 図11は、入力画面(Zc-Yc平面図)の例を示す。図11に示す表示画面S5の俯瞰モデル図は、表示画面S3の俯瞰モデル図と同様に、コンピュータ1に対応する図形F1、マーカーMに対応する図形F2を含む。また、表示画面S4には、さらに、縮尺表示と、メニュー群B1~B9が示される。
 表示画面S5の俯瞰モデル図は、カメラ座標系のYc軸およびZc軸による2次元空間内のコンピュータ1、マーカーMおよびARオブジェクトEの位置関係を示す。表示画面S5においても、ユーザは奥行き方向を含めて、コンピュータ1とマーカーMとの現実空間での位置関係と、表示画面S5内の図形F1と図形F2との位置関係とを照らし合わせることができる。そのため、ユーザは、コンピュータ1とマーカーMとの現実空間での位置関係に基づいて、ARオブジェクトEについて、表示画面S5内に奥行きを含む位置指定の見当をつけることができる。
 表示画面S3~S5の入力画面を初回に表示させる場合には、俯瞰モデル図内でARオブジェクトに対応する図形の初期位置d4が設定される。しかしながら、カメラ座標系の奥行き方向の座標Z2cは、撮像画像を用いた位置指定では定められないので、例えば任意の値に初期設定される。座標Z2cの初期値は、例えば、マーカーMの座標Z1cでもよい。また、マーカーMを含む平面(マーカー座標系で(Xm,Ym,0)の平面)上の点を初期値としてもよい。ARオブジェクトEの位置を示す投影画像または図形F3は、例えば、ドラッグ操作などにより画面内の位置を調整される。もしくは、単にタップされた画面内の位置に図形F3を移動させることにより、図形F3の画面内の位置が示される。位置d4に表示された図形F3がドラッグ操作で位置d3に移動されてもよいし、位置d3の指定(例えばタップ操作)に応じて位置d4に表示されていた図形F3が位置d3に移動することとしてもよい。
 表示画面S3~S5によれば、ARオブジェクトEについて奥行き方向を含む位置指定の基準が提供される。また、基準を提供されたユーザの入力により、奥行き方向を含む位置指定が行なわれる。視点切替ボタンB2へのユーザの入力が行なわれると、コンピュータ1は、俯瞰モデル図を用いた入力画面から、撮像画像を用いた入力画面に切り替える。
 図12は、入力画面(撮像画像)の例を示す。図12に示す表示画面S6の撮像画像は、マーカーMおよび物体Hの像を含む。また、表示画面S6には、さらに、ARオブジェクトEの投影画像と、メニュー群B1~B4およびB7~B9が示される。
 表示画面S6内へのユーザの入力により、表示画面S6内への位置指定が行なわれる。指定された画面内の位置d5(X5s,Y5s)に基づいてARオブジェクトEの座標が算出される。d5(X5s,Y5s)に対して上述の透視変換の逆変換が行なわれることにより、ARオブジェクトEのカメラ座標系の座標X2cおよび座標Y2cが算出される。算出された座標X2cおよびY2cにARオブジェクトEの座標が更新される。
 また、視点切替ボタンB2へのユーザの入力が行なわれると、コンピュータ1は、撮像画像を用いた入力画面から、俯瞰モデル図を用いた入力画面に再度切り替える。撮像画像を用いた入力画面での位置指定と、俯瞰モデル図を用いた入力画面での位置指定の双方が可能であり、編集終了ボタンB1へのユーザの入力が行なわれた時点で、ARオブジェクトEのカメラ座標系の座標(X2c,Y2c,Z2c)が確定される。
 上述の通り、撮像画像を用いた入力画面(表示画面S6など)と、俯瞰モデル図を用いた表示画面(表示画面S3~S5など)との双方を用いた位置指定により、ARオブジェクトEの3次元的な位置が指定される。撮像画像を用いた表示画面と、俯瞰モデル図を用いた表示画面との双方が提供されると、ユーザは、ARオブジェクトの位置を3次元的に確認しながら調整することができる。これにより、ARオブジェクトを付加させる対象の物体と整合させた状態でARオブジェクトが設定される。
 ARオブジェクトEのカメラ座標系の座標が確定されると、ARオブジェクトEの各点の位置座標(カメラ座標系)は、上述のモデル-ビュー変換の逆変換によりマーカー座標系の座標に変換される。変換されたARオブジェクトの各点の座標は、マーカーMのマーカーIDと対応付けて登録される。登録されたARオブジェクトEに対して、再度別の画角で撮像された撮像画像に基づいて調整が行なわれてもよい。例えば、ARオブジェクトEの各点の座標の設定が、表示画面S1の撮像画像に基づく入力画面で行なわれたあと、さらに表示画面S2の撮像画像に基づく入力画面(俯瞰モデル図および撮像画像)で行なわれることも可能である。
 以下に、上述の表示画面(俯瞰モデル図および撮像画像)を用いたARオブジェクトEの位置指定を実行するコンピュータ1の構成や動作などを説明する。
 図13は、コンピュータ1の機能構成例を示す。コンピュータ1は、処理部11、記憶部12、撮像部13、表示部14、入力部15および通信部16を含む。処理部11は、制御部111、認識部112、生成部113および算出部114を含む。
 処理部11は、オブジェクトEの位置指定の処理を実行する。また、処理部11は、処理の実行において、記憶部12、撮像部13、表示部14、入力部15および通信部16の制御を行なう。記憶部12は、他の機能ブロックにおいて用いられる情報を記憶する。例えば、後述のマーカー管理テーブルT1、編集テーブルT4、定義テーブルT2および管理テーブルT3などを記憶する。撮像部13は、撮像処理を行なう。撮像部13の撮像処理により得られる撮像画像は記憶部12に記憶される。表示部14は、処理部11の制御に応じて画像の表示を行なう。入力部15は、コンピュータ1の操作者の操作の検知を行ない、検知に応じた信号を処理部11に伝達する。通信部16は、処理部11の指示に応じて他の装置とデータ通信を行なう。
 制御部111は、入力部15または通信部16から得られる情報、または認識部112、生成部113および算出部114の処理結果に応じて、各機能ブロックの制御を行なう。認識部112は、撮像画像からマーカーMの像を認識し、認識した像からコンピュータ1に対するマーカーMの座標(カメラ座標系)を算出する。認識部112は、さらにマーカーMの像に基づいてマーカーIDを読み取る。制御部111は、認識部112によるマーカーMの認識結果(座標およびマーカーIDなど)を記憶部12に記憶する。生成部113は、表示部14に表示させる画像を生成する。例えば、生成部113は、ARオブジェクトの投影画像を生成し、生成した投影画像を撮像部13により得られた撮像画像に合成する。また、例えば、コンピュータ1、マーカーMおよびARオブジェクトに対応する図形を生成し、生成した図形が配置された俯瞰モデル図を生成する。算出部114は、マーカー管理テーブルT1の情報、入力部15または通信部16から得られる情報、およびARオブジェクトEの定義などに基づいて、ARオブジェクトEの設定値を算出する。制御部111は、演算により得られた設定値を管理テーブルT3に記憶する。
 図14~図17は、ARオブジェクトEの座標設定に用いられるデータのデータ構造を示す。
 図14は、マーカー管理テーブルT1を示す。認識部112は、撮像部13が撮像した撮像画像にマーカーMの像が含まれている場合に、マーカーMの像から得られた認識結果をマーカー管理テーブルT1に格納する。マーカー管理テーブルT1は、認識部112が認識したマーカーのそれぞれについて、マーカーID、カメラ座標系での座標(Xc,Yc,Zc,Pc,Qc,Rc)、およびオブジェクト追加フラグなどの情報を含む。マーカー管理テーブルT1に格納された情報によれば、本実施例におけるマーカーMのマーカーIDは「100」であり、位置座標は(X1c,Y1c,Z1c)であり、回転座標は(P1c,Q1c,R1c)である。オブジェクト追加フラグは、位置指定処理が行なわれているARオブジェクトがいずれのマーカーに対応づけられるのかを示すフラグである。例えば、マーカー管理テーブルT1に格納される情報は撮像画像が取得されるたびに更新される。
 図15は、定義テーブルT2を示す。定義テーブルT2には、ARテンプレートの定義情報が示される。ARテンプレートの定義情報は、ARテンプレートの識別情報(テンプレートID)、ARテンプレートを構成する各頂点の座標情報T21、およびARテンプレートを構成する各面の構成情報T22(頂点順序およびテクスチャIDの指定)を含む。頂点順序は、面を構成する頂点の順序を示す。テクスチャIDは、面にマッピングされるテクスチャの識別情報を示す。ARテンプレートの基準点は例えば0番目の頂点である。定義テーブルT2に示される情報により、3次元モデルの形状および模様が定められる。
 図16は、管理テーブルT3を示す。管理テーブルT3は、ARテンプレートを利用して設定されるARオブジェクトEの設定情報を示す。管理テーブルT3には、ARオブジェクトEのオブジェクトID、基準点のマーカー座標系における位置座標(Xm,Ym,Zm)、マーカー座標系における回転座標(Pm,Qm,Rm)、ARテンプレートを基準とする倍率D(Jx,Jy,Jz)、ARテンプレートのテンプレートID、マーカーIDおよび追加情報が格納される。管理テーブルT3に格納される座標は、同じレコードに格納されたマーカーIDに示されるマーカーを基準とするマーカー座標系での座標である。ARオブジェクトEは、図15に示されるARテンプレートが管理テーブルT3の設定情報(位置、向きおよびサイズ)に基づいて調整される。すなわちARオブジェクトEの位置・向き・サイズの指定は、管理テーブルT3で管理される情報の設定により行なわれる。追加情報は、ARオブジェクトEに追加される情報である。追加情報として、テキストや、Webページやファイルへのアクセス情報などが用いられる。
 例えば、図16に示されるオブジェクトIDが「1000」のARオブジェクトEは、ARテンプレート「10」に定義される各頂点座標が、Xm、Ym、Zm方向のそれぞれに1倍され、回転座標(0,0,0)で回転され、位置座標(121.5,510.0,860.5)に応じて並進されて得られる各頂点により構成される。ARオブジェクトEは、さらにARオブジェクトEを構成する面に追加情報のマッピングを行なう。
 図17は、編集テーブルT4を示す。位置指定を行なう対象のARオブジェクトEが決定され、オブジェクトIDが指定されると、記憶部12に編集テーブルT4が設けられる。編集テーブルT4には、ARオブジェクトEについて、オブジェクトID、テンプレートID、基準点の位置座標(マーカー座標系)、回転座標(マーカー座標系)、倍率D、基準点の位置座標(カメラ座標系)、回転座標(カメラ座標系)およびフラグαを含む。フラグαは、位置指定の入力画面の切り換えを示す。フラグαは、例えば、俯瞰モデル図に基づく入力画面が表示される場合には「1」であり、撮像画像に基づく入力画面が表示される場合には「0」である。
 オブジェクトIDが指定されると、指定されたオブジェクトIDに関する管理テーブルT3内の情報が、編集テーブル内に格納される(管理情報T41)。管理情報T41には、マーカー座標系におけるARオブジェクトEの位置座標、回転座標および倍率が含まれる。マーカー管理テーブルT1の情報を用いて管理情報T41に基づいて編集情報T42が生成される。編集情報T42は、カメラ座標系におけるARオブジェクトEの位置座標、回転座標および倍率Dxを含む。ARオブジェクトEの位置指定においては、位置が確定されるまで編集情報T42に対して更新が行なわれる。ARオブジェクトEの位置が確定された場合に、算出部114により編集情報T42に基づいて管理情報T41算出され、管理情報T41の内容が管理テーブルT3に反映される。
 図18は、位置指定プログラムの処理手順例を示す。位置指定プログラムは、処理部11により実行される位置指定処理の手順が定義されたプログラムである。制御部111は、位置指定プログラムが起動されると、位置指定の前処理を行なう(S101)。S101の処理においては、定義テーブルT2や管理テーブルT3などが読み出され、マーカー管理テーブルT1や編集テーブルT4などの格納領域が確保される。
 S101の前処理が行なわれると、制御部111は、AR表示モードの起動指示を行なう(S102)。S102において、制御部111は、例えば撮像部13に所定時間間隔での撮像を開始させ、撮像された画像について認識部112にマーカー検知処理を開始させる。さらに、制御部111は、表示部14に撮像部13により撮像された画像を表示させる。
 撮像部13は、制御部111の撮像を指示されると、撮像素子により生成される画像を所定の時間間隔で取得し、取得した画像を記憶部12に記憶する。記憶部12には、複数枚の画像を格納するバッファが設けられ、撮像部13により撮像された画像は、そのバッファに格納される。例えば、記憶部12に設けられるバッファは、表示部14が表示させる画像が格納される表示用バッファである。表示用バッファに格納される画像は、順次表示部14に表示される。
 認識部112は、記憶部12に設けられたバッファに格納された画像を取得し、取得した画像にマーカーMの像が含まれているか否か判定する。認識部112は、バッファに格納される所定枚数のうちの1枚の画像について検知処理を行なうこととしてもよい。
 画像にマーカーMの像が含まれているか否かの判定基準は、マーカーの形状および模様に応じて定められる。図1に示すマーカーMは、正方形であり、その模様は黒い縁を含む。そのため、マーカーMが画像に含まれているか否かは、例えば、画像内に、輝度が所定値未満で四角形の枠状の領域が存在するか否かに応じて判定される。
 また、認識部112は、マーカーMのマーカーIDの読みとりを行なう。マーカーIDの読みとりは、例えば、四角形の枠内の輝度の情報に基づいて行なわれる。例えば、四角形枠を分割した各領域について、輝度が所定値以上の領域を「1」とし、輝度が所定値未満の領域を「0」として、各領域を所定の順序で「1」か「0」かを判定し、判定して得られた情報の列をマーカーIDとする。また、例えば、輝度が所定値以上の領域と所定値未満の領域の四角形枠内での配置をパターン化しておき、パターンに対応するマーカーIDを用いることとしてもよい。さらに、マーカーIDに割り当てられる数値範囲が予め定められており、読みとったマーカーIDがその数値範囲内でない場合には、マーカーIDが読みとれなかったと判定することとしてもよい。認識部112は読みとったマーカーIDを、記憶部12に記憶されたマーカー管理テーブルT1に格納する。さらに、認識部112は、マーカーMの像の位置座標(スクリーン座標系)を制御部111に通知する。
 認識部112は、取得した画像にマーカーMの像が含まれているか否かの判定結果を制御部111に通知する。制御部111は、認識部112からの通知結果に基づいてマーカーMが検知されたか否かを判定する(S103)。もしくは、認識部112が制御部111に対して通知を行なわずに、認識部112がマーカー管理テーブルT1にマーカーIDを格納することを制御部111が検知して、マーカーMが検知されたと判断してもよい。制御部111は、マーカーMが検知されると(S103:YES)、マーカー認識処理を実行する(S104)。制御部111は、マーカーMが検知されなかった場合(S103:NO)には、プログラムの終了を指示されたか否かを判定する(S108)。終了を指示されていなければ(S108:NO)、制御部111は、マーカーを検知したか否かの判定(S103)を行なう。
 図19は、マーカー認識処理の処理手順例を示す。マーカー認識処理が開始されると、制御部111は、認識されたマーカーMが表示部14の表示画面内で表示される位置に、マーカーの存在を示す強調表示(ハイライト表示)を行なう(S201)。強調表示は、例えば、マーカーMの表示位置に四角い枠を表示するなどにより行なわれ、マーカーMが検知されたことをユーザに通知する役割を果たす。制御部111は、生成部113に、マーカーMの位置座標(スクリーン座標系)を通知する。生成部113は、表示部14に表示させる画像(表示用バッファ内の画像)に対し、制御部111からの通知に応じた位置に強調表示図形を合成する。強調表示図形は、例えば四角い赤枠などの表示要素である。
 S201の処理が行なわれると、制御部111は、認識部112にマーカーMの位置・回転座標を算出させる(S202)。認識部112は、制御部111から指示を受けると、S103で検知されたマーカーMの像に基づき、マーカーMの位置・回転座標(カメラ座標系)を算出する。マーカーMの位置・回転座標(カメラ座標系)は、例えば、マーカーMの像の形状および画像内の位置に基づいて算出される。算出された位置・回転座標(カメラ座標系)は、マーカー管理テーブルT1に格納される。
 S202の処理が行なわれると、制御部111は、マーカー管理テーブルT1に登録されたマーカーと対応付けられたARオブジェクトの表示処理を行なう(S203~S205)。S203~S205の表示処理は、付加的手順である。また、マーカー管理テーブルT1に登録されたマーカーに対応づけられたARオブジェクトが存在しない場合には、ARオブジェクトの表示処理は実行されない。
 制御部111は、管理テーブルT2に登録されたARオブジェクトのデータのうち、マーカー管理テーブルT1に登録された各マーカーのマーカーIDを含むものを探索する。該当するARオブジェクトが存在する場合には、制御部111は、そのARオブジェクトのデータを管理テーブルから取得し、取得したデータに含まれるテンプレートIDに対応する定義テーブルを読みだす(S203)。制御部111は、S203でデータを取得した各ARオブジェクトについて、生成部113に投影画像を生成させる(S204)。
 S204において、生成部113は、取得した定義テーブルに含まれる各座標について、算出部114に、マーカー座標系からカメラ座標系へのモデル-ビュー変換を実行させ、さらにカメラ座標系からスクリーン座標系への透視変換を実行させる。モデル-ビュー変換に用いられる変換行列Mは、マーカー管理テーブルT1に格納されたマーカー座標系の位置・回転座標(カメラ座標系)に基づいて求められる。算出部114が座標変換を行なうと、さらに、生成部113は、座標変換して得られた各点座標に基づいて、点を組み合わせて構成される各面に対応する要素図形(面要素)を生成する。定義テーブルT2に定義される各面要素は、面要素を構成する各点に囲まれた領域に、定義されたテクスチャを合成することにより生成される。さらに、生成部113は、同じARオブジェクトについての面要素を合成することにより、ARオブジェクトに対応する投影図形を生成する。面要素の合成において、生成された面要素間の前後関係に応じた各面要素のテクスチャを補正(他の面要素に隠れる面要素は表示しないなど)が行なわれてもよい。
 制御部111は、各ARオブジェクトについて投影画像が生成されると、生成部113に、生成された画像を表示用バッファ内の撮像画像に合成させる(S205)。S205の処理により表示部14には、撮像部13により撮像された撮像画像にARオブジェクトの投影画像が合成された画像が表示される。
 S205の処理が行なわれると、制御部111は、表示部14に編集開始ボタンを表示させる(S206)。S206の処理が行なわれると、制御部111は、図19に示すマーカー認識処理を終了し、図18に示す位置指定処理のフローチャートに戻る。
 続いて制御部111は、S206で編集開始ボタンが表示されてから所定時間内に編集開始ボタンへの入力が検知されるか否かの判定を行なう(S105)。編集開始ボタンへの入力が検知される(S105:YES)と、制御部111は図20に示す編集処理を実行する(S106)。所定時間内に編集開始ボタンへの入力が検知されない場合(S105:NO)には、制御部111は、プログラムの終了を指示されたか否かを判定する(S108)。
 図20は、編集処理の処理手順例を示す。編集処理が開始されると、制御部111は、表示部14による表示を静止画表示に切り替える(S301)。例えば、複数のマーカーが撮像画像内で認識されている場合には、S301において複数のマーカーのいずれか(マーカーM)がユーザの操作により選択される。制御部111は、マーカーMを選択する情報を入力部15から受けると、選択されたマーカーMについて、マーカー管理テーブルT1のオブジェクト追加フラグをONにする。
 S301の処理が行なわれると、制御部111は、生成部113に俯瞰モデル図を生成させる(S302)。
 図21は、俯瞰モデル図生成の処理手順例を示す。俯瞰モデル図の生成処理が開始されると、生成部113は、記憶部12に記憶された俯瞰モデル図テンプレートを取得する(S401)。俯瞰モデル図テンプレートは、表示部14の表示画面に合わせたサイズの画像であり、例えば、図形F1を所定の位置(X1s,Y1s)に示す。すなわち、図形F1は、図9の表示画面S3のように示される。俯瞰モデル図テンプレートは、図9の表示画面S3のように、メニュー群B1~9などを含んでもよい。
 S401の処理が行なわれると、生成部113は、選択されたマーカーMについて、マーカー管理テーブルから位置・回転座標(カメラ座標系)を取得する(S402)。さらに、生成部113は、算出部114にマーカーMの位置座標(スクリーン座標系)を算出させる(S403)。算出部114は、図9に示す表示画面S3を用いて説明した通り、マーカーMの位置(X2s,Y2s)を、俯瞰モデル図の縮尺、カメラ座標系におけるマーカーMの座標X1cおよびZ1cに基づいて算出する。縮尺は、例えば所定の初期値が設定されている。さらに、生成部113は、算出部114にマーカーMの回転角(スクリーン座標系)を算出させる(S404)。算出される回転角は、図9に示す表示画面S3を用いて説明した通り、マーカーMの回転座標(P1c,Q1c,R1c)に基づいて算出されてもよいし、回転座標Q1cのみに基づいて算出されてもよい。
 生成部113は、S403およびS404の算出結果に基づいて俯瞰モデル図テンプレートに図形F2を合成させる(S405)。制御部111は、生成部113のS405の合成により得られた俯瞰モデル図を、記憶部12に記憶する(S406)。S406の処理が実行されると、制御部111は、図20の処理手順に戻る。
 制御部111は、俯瞰モデル図の生成処理(S302)が行なわれると、ARテンプレートの選択処理を実行する(S303)。S303において、例えば、制御部111が、図25に示すARテンプレートメニューを表示部14に表示させ、入力部15から受けるユーザの入力応じて、ARテンプレートメニュー内のいずれのテンプレートが選択されたかを判断する。制御部111は、オブジェクトIDを生成し、選択されたARテンプレートのテンプレートIDおよびオブジェクトIDを管理テーブルT3に格納する。管理テーブルT3内の他の項目(位置・回転座標およびサイズ)については所定の初期値を格納する。また、制御部111は、mさらに、管理テーブルT3に格納した情報を、編集テーブルT4に格納する。さらに、制御部111は、編集テーブルT4に格納された管理情報T41に基づいて算出部114に編集情報T42を算出させ、編集情報T42を編集テーブルT4に格納する。
 もしくは、S303において、例えば、制御部111が、入力部15から受けるユーザの入力に応じて、S203~S205により表示されたARオブジェクトのいずれが選択されたかを判断する。この場合には、制御部111は、選択されたARオブジェクトの管理テーブル内の情報を編集テーブルT4に格納する。さらに、制御部111は、編集テーブルT4に格納された管理情報T41に基づいて算出部114に編集情報T42を算出させ、編集情報T42を編集テーブルT4に格納する。
 編集テーブルT4に情報が格納されたARオブジェクトが、位置指定の対象となるARオブジェクト(ARオブジェクトE)である。ARオブジェクトEが選択されると、制御部111は、選択されたARオブジェクトEについて位置指定処理を実行する(S304およびS305)。
 図22は、撮像画像に基づく位置指定処理の処理手順例を示す。撮像画像に基づく位置指定処理(S304)が開始されると、制御部111は、表示部14に撮像画像およびメニュー群B1~B9を表示させる(S501)。さらに、制御部111は、編集テーブルT4のフラグαを「0」にセットする。続いて、制御部111は、生成部113に、選択されたARオブジェクトEの投影画像を生成させる(S502)。さらに、制御部111は、生成部113に、生成された投影画像を表示用バッファに格納された撮像画像に合成させ、さらに、表示部14に合成された画像を表示させる(S503)。S502およびS503の処理は、図19に示すS203~S205と同様の手順により行なわれる。
 続いて、制御部111は、入力部15から位置決定の入力を受けたか否かを判定する(S504)。位置決定の入力を受けていない場合(S504:NO)には、制御部111は、入力部15から視点切替の入力を受けたか否かを判定する(S505)。視点切替の入力を受けていない場合(S505:NO)には、制御部111は、入力部15から画面内の位置指定を受けたか否かを判定する(S506)。
 S504~S506の判定処理に用いられる入力部15からの入力は、例えば、表示部14の表示画面における位置座標(スクリーン座標系)である。制御部111は、入力部15から受けた位置座標と、表示画面に表示させた編集終了ボタンB1および視点切替ボタンB2の位置に基づいてS504およびS505の判定を行なう。
 制御部111は、入力部15から画面内の位置指定を受けた場合(S506:YES)には、算出部114に、指定された位置座標(スクリーン座標系)をカメラ座標系に変換させる(S507)。前述の通り、この座標変換において、カメラ座標系の座標Z2cには、例えば座標Z1cを用いる。制御部111は、S507で算出されたカメラ座標系の座標に基づいて、編集テーブルT4に格納される座標を更新する(S508)。S508の更新はフラグαに基づいて行なわれ、例えばフラグαが「0」のときにはX2cおよびY2cの更新が行なわれる。S508の更新処理が行なわれると、制御部111は、S502の処理に戻る。
 S504において、位置決定の入力を受けた場合(S504:YES)には、制御部111は、図24に示すS306の処理を実行する。
 S505において、視点切替の入力を受けた場合(S505:YES)には、制御部111は、撮像画像に基づく位置指定処理(S304)を終了する。
 図23は、俯瞰モデル図に基づく位置指定処理の処理手順例を示す。俯瞰モデル図に基づく位置指定処理(S305)が開始されると、制御部111は、記憶部12に記憶された俯瞰モデル図およびメニュー群B1~B9を表示部14に表示させる(S601)。さらに、制御部111は、編集テーブルT4のフラグαを「1」にセットする。続いて、制御部111は、生成部113に、選択されたARオブジェクトEに対応する図形F3を生成させる(S602)。さらに、制御部111は、生成部113に、生成された図形F3を記憶部12に格納された俯瞰モデル図に合成させ、さらに、表示部14に合成された画像を表示させる(S603)。記憶部12に記憶される俯瞰モデル図は、S302の処理で生成された俯瞰モデル図である。S304の処理においては、拡大ボタンB5や縮小ボタンB6への入力に応じて、図形配置が調整された俯瞰モデル図への更新が適宜行なわれる。
 続いて、制御部111は、入力部15から位置決定の入力を受けたか否かを判定する(S604)。位置決定の入力を受けていない場合(S604:NO)には、制御部111は、入力部15から視点切替の入力を受けたか否かを判定する(S605)。視点切替の入力を受けていない場合(S605:NO)には、制御部111は、入力部15から画面内の位置指定を受けたか否かを判定する(S606)。
 S604~S606の判定処理に用いられる入力部15からの入力は、S504~S506の処理と同様に、例えば、表示部14の表示画面における位置座標(スクリーン座標系)である。制御部111は、入力部15から受けた位置座標と、表示画面に表示させた編集終了ボタンB1および視点切替ボタンB2の位置に基づいてS604およびS605の判定を行なう。
 制御部111は、入力部15から画面内の位置指定を受けた場合(S606:YES)には、図形F3の位置座標(スクリーン座標系)カメラ座標系に変換させる(S607)。制御部111は、S607で算出された座標に基づいて編集テーブルT4に格納する座標を更新する(S608)。S608の更新はフラグαに基づいて行なわれ、例えばフラグαが「1」の時にはX2cおよびZ2cの更新が行なわれる。S608の更新処理が行なわれると、制御部111は、S602の処理に戻る。
 S604において、位置決定の入力を受けた場合(S604:YES)には、制御部111は、図24に示すS306の処理を実行する。
 S605において、視点切替の入力を受けた場合(S605:YES)には、制御部111は、俯瞰モデル図に基づく位置指定処理(S305)を終了する。S305の処理が終了すると、制御部111は、撮像画像に基づく位置指定処理(S304)を実行する。
 図24は、編集処理の処理手順例を示す。制御部111は、S306の手順において、算出部14に、ARオブジェクトEに対して指定されたカメラ座標系の座標を、マーカー座標系の座標に座標変換させる(S306)。S306において用いられる変換行列は、図3に示す変換座標Mの逆行列である。
 S306の処理が行なわれると、制御部111は、編集を終了するか否かを判定する(S307)。例えば、制御部111は、編集を終了させるか否か指示を求める表示を表示部14に実行させ、その結果入力部15により得られた入力内容に応じてS307の判定を行なう。編集を終了しない場合(S307:NO)には、制御部111は、S303の処理手順に戻る。
 S307で編集終了と判定される(S307:YES)と、制御部111は、編集された管理テーブルT3を、ARデータの管理サーバにアップロードする(S107)。管理サーバ側では受信した管理テーブルT3に含まれるオブジェクトIDと、ユーザまたはコンピュータ1を識別する識別情報とを用いて、編集されたARオブジェクトを管理する。制御部111は、定義データの送信処理を行なうとともに、静止画表示モードからマーカー検知モードに切り替え、表示部14はそれに応じて撮像画像の表示を随時更新する。次に、制御部111は、プログラムの終了を指示されたか否かを判定する(S108)。S108の処理において、プログラムの終了が指示されている場合(S108:YES)には、制御部111は、位置指定プログラムの処理を終了する。S108の処理において、プログラムの終了が指示されていない場合(S108:NO)には、制御部111は、S103の処理に戻る。
 図22において、画面内で2点位置指定を行なわれた場合には、指定された2点のモーションにより、編集テーブルT4内の倍率のデータを更新する。指定された2点が離れる方向に動作した場合には倍率を増大し、指定された2点が近付く方向に動作した場合には倍率を低減させる。
 図22および図23において、回転モードボタンB8への入力を検知した場合には、画面内位置指定に応じて、編集テーブルT4の回転座標を更新する。
 図22および図23において、数値指定モードボタンB9への入力を検知した場合には、表示部14は、数値指定画面を表示する。制御部111は、数値指定画面内に編集テーブルT4内のカメラ座標系の座標を表示させ、表示された座標値に対して直接数値を入力させ、入力された数値に編集テーブルT4内の座標値を更新する。
 S303で位置指定の対象となったARオブジェクトEに対して、複数の位置を設定させるようにしてもよい。編集終了ボタンB1への入力があった場合であっても所定回数はS304に戻るなどの制御により、1つのARオブジェクトに対して複数の位置の設定が行なわれる。管理テーブルT3は、複数の位置設定が可能な様に構成される。
 複数の位置が設定されたARオブジェクトの表示は、複数の位置それぞれの設定に基づく複数の投影画像を順次切り替えながら表示させて行なわれる。これにより、ARオブジェクトを動かしながら表示させることができる。
 図25は、ARテンプレートメニュー例を示す。図20に示すS303の処理において、ARテンプレートメニューが表示される。図25に例示される表示画面S7は、ARテンプレートメニューが呼び出された状態の表示画面である。図25に例示されるARテンプレートメニューには、ARテンプレートのタイプを選択可能なボタン群(ボタン1~ボタン9)が表示される。ARテンプレートメニューの説明において、ボタン領域内に示される番号に基づいてボタンを識別して説明する。例えば、「1」という番号が示される四角いボタンが「ボタン1」である。また、ARテンプレートメニューは、図25に示したボタン群以外にも選択可能なボタン群を含み、それらのボタン群を表示させるためのスクロール操作をさせるためのスクロールボタンB11を含む。また、ARテンプレートメニューは、ARテンプレートの選択を終了させるメニュークローズボタンB12を含む。
 ボタン1~ボタン9は、それぞれ個別のテンプレートIDに対応する。すなわち、それぞれのボタンに対応する定義テーブルが設けられている。いずれかのボタンに対して入力が行なわれると、そのボタンに対応するテンプレートIDが選択され、選択されたテンプレートIDに基づいて定義テーブルが呼び出される。
 ボタン1には、吹き出しタイプのARテンプレートが対応付けられている。吹き出しタイプのARテンプレートでは、吹き出し形状の図形内にテキスト情報が追加される。ボタン2は、引き出しボックスタイプのARテンプレートが対応付けられている。引き出しボックスタイプのARテンプレートでは、引き出し線と、引き出し線の先に接合する四角形の図形とを含み、四角形の図形内にテキスト情報が追加される。ボタン3は、テキストボックスタイプのARテンプレートが対応付けられている。テキストボックスタイプのARテンプレートでは、四角形の枠状の図形に対してテキスト情報が追加される。ボタン4は、写真タイプのARテンプレートが対応付けられている。写真タイプのARテンプレートでは、四角形の枠状の図形内に画像データがマッピングされる。この画像データは、記憶部12に記憶された画像ファイルが用いられる。ボタン5は、撮像タイプのARテンプレートが対応付けられている。撮像タイプのARテンプレートも写真タイプのARテンプレートと同様のARテンプレートであるが、画像データの取得先が異なる。撮像タイプのARテンプレートが使用されると、撮像モードが呼び出され、撮像部13による撮像処理が行なわれる。撮像タイプのARテンプレートを使用すると、四角形の枠状の図形内に、撮像処理により撮像された画像データがマッピングされる。写真タイプや撮像タイプでマッピングされる画像データは、静止画でも動画でもよい。ボタン6は、手書きタイプのARテンプレートである。手書きタイプのARテンプレートは、透明で四角形の図形であり、さらに図形の模様が手書き操作により編集される。ボタン7は、リンクタイプのARテンプレートであり、テキストボックスタイプのARテンプレートと同様のテンプレートである。リンクタイプのARテンプレートが選択されると、Webページのリストが表示され、リスト内から選択されたWebページへのアクセス情報がARテンプレートに付加される。Webページのリストは、例えば、Webブラウザのブックマークやアクセス履歴から取得される。ボタン8は、図形タイプのARテンプレートと対応付けられている。図形タイプのARテンプレートは、3次元の立体モデル図形が定義されている。例えば、ボタン8への入力に応じて、立体モデル図形の形状を選択させる画面表示を行なうこととしてもよい。立体モデル図形の形状は、例えば、立方体、直方体、円柱、球、円錐および三角柱などである。また、ボタン8への入力に応じて、CADデータの呼び出しを行なうこととしてもよい。CADデータは、例えば、記憶部12に格納されたCADデータのファイルが選択される。ボタン9は、ファイルタイプのARテンプレートと対応づけられている。ファイルタイプのARテンプレートは、ファイルを示すアイコン画像がマッピングされた四角形の図形である。ファイルタイプのARテンプレートが選択されると、記憶部12内のファイルを選択させ、選択されたファイルへのリンクをARテンプレートに付加させる。
 図26は、コンピュータ1のハードウェア構成例を示す。図13に示す各機能ブロックは、例えば、図26に示すハードウェア構成により実現される。コンピュータ1は、例えば、プロセッサ301、RAM(Random Access Memory)302、ROM(Read Only Memory)303、ドライブ装置304、記憶媒体305、入力インターフェース(入力I/F)306、入力デバイス307、出力インターフェース(出力I/F)308、出力デバイス309、通信インターフェース(通信I/F)310、カメラモジュール311、加速度センサ312、角速度センサ313、表示インターフェース314、表示デバイス315およびバス316などを含む。それぞれのハードウェアはバス316を介して接続されている。
 通信インターフェース310はネットワーク3を介した通信の制御を行なう。通信インターフェース310が制御する通信は、無線通信を利用して、無線基地局4(図28参照)を介してネットワーク3にアクセスする態様もあり得る。入力インターフェース306は、入力デバイス307と接続されており、入力デバイス307から受信した入力信号をプロセッサ301に伝達する。出力インターフェース308は、出力デバイス309と接続されており、出力デバイス309に、プロセッサ301の指示に応じた出力を実行させる。入力デバイス307は、操作に応じて入力信号を送信する装置である。入力信号は、例えば、キーボードやコンピュータ1の本体に取り付けられたボタンなどのキー装置や、マウスやタッチパネルなどのポインティングデバイスである。出力デバイス309は、プロセッサ301の制御に応じて情報を出力する装置である。出力デバイス309は、例えば、スピーカーなどの音声出力装置などである。表示インターフェース314は、表示デバイス315と接続されている。表示インターフェース314は、表示インターフェース314に設けられた表示用バッファにプロセッサ301により書き込まれた画像情報を、表示デバイス315に表示させる。表示デバイス315は、プロセッサ301の制御に応じて情報を出力する装置である。表示デバイス315は、ディスプレイなどの画像出力装置や、透過型ディスプレイなどが用いられる。透過型ディスプレイが用いられる場合には、ARオブジェクトの投影画像は、撮像画像と合成されるのではなく、例えば透過型ディスプレイ内の適切な位置に表示されるように制御されてもよい。これにより、ユーザは、現実空間とARオブジェクトが整合した状態の視覚が得られる。また、例えば、タッチスクリーンなどの入出力装置が、入力デバイス307及び表示デバイス315として用いられる。また、入力デバイス307及び表示デバイス315がコンピュータ1内部に組み込まれる代わりに、例えば、入力デバイス307及び表示デバイス315がコンピュータ1に外部から接続されてもよい。
 RAM302は読み書き可能なメモリ装置であって、例えば、SRAM(Static RAM)やDRAM(Dynamic RAM)などの半導体メモリ、またはRAM以外にもフラッシュメモリなどが用いられてもよい。ROM303は、PROM(Programmable ROM)なども含む。ドライブ装置304は、記憶媒体305に記憶された情報の読み出しか書き込みかの少なくともいずれか一方を行なう装置である。記憶媒体305は、ドライブ装置304によって書き込まれた情報を記憶する。記憶媒体305は、例えば、ハードディスク、SSD(Solid State Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスクなどの種類の記憶媒体うちの少なくとも1つである。また、例えば、コンピュータ1は、コンピュータ1内の記憶媒体305の種類に対応したドライブ装置304を含む。
 カメラモジュール311は、撮像素子(イメージセンサ)を含み、例えば、撮像素子が測定した値を読み出し、カメラモジュール311に含まれる入力画像用の画像バッファに書き込む。加速度センサ312は、加速度センサ312に対して作用する加速度を計測する。角速度センサ313は、角速度センサ313による動作の角速度を計測する。
 プロセッサ301は、ROM303や記憶媒体305に記憶されたプログラム(例えば図27などに例示するプログラム)をRAM302に読み出し、読み出されたプログラムの手順に従って処理を行なう。
 例えば、図27に示されるプログラムの一部である位置指定プログラムに基づいた処理をプロセッサ301が行なうことにより、処理部11の機能が実現される。制御部111は、プロセッサ301が位置指定プログラムに示される手順とプロセッサ301の演算処理の結果とに応じて、RAM302へのアクセスを行なうことにより実現される。認識部112は、カメラモジュール311の入力画像用の画像バッファに格納された画像データに基づいて、プロセッサ301が演算処理を行なうことにより実現される。生成部113は、プロセッサ301がRAM302に格納されたデータ(画像データを含む)に基づき演算処理を行なうことにより生成した画像データを表示用バッファに書き込むことにより実現される。算出部114は、プロセッサ301がRAM302に格納された座標などのデータと変換行列などのデータに基づいて演算処理を行なうことにより実現される。その際にRAM302はプロセッサ301のワークエリアとして用いられる。記憶部12の機能は、ROM303および記憶媒体305がプログラムファイルやデータファイルを記憶すること、もしくは、RAM302がプロセッサ301のワークエリアとして用いられることによって実現される。例えば、マーカー管理テーブルT1、定義テーブルT2、管理テーブルT3および編集テーブルT4などがRAM302に格納される。
 また、カメラモジュール311が入力画像用の画像バッファに画像データを書込み、入力画像用の画像バッファ内の画像データをプロセッサ301が読み出すことにより、撮像部13の機能が実現される。画像データは、モニタリングモードにおいては、例えば、入力画像用の画像バッファに書き込まれるとともに、表示デバイス315の表示用バッファに並行して書き込まれる。さらに、プロセッサ301により生成された画像データが表示インターフェース314に備えられた表示用バッファに書き込まれ、表示デバイス315が表示用バッファ内の画像データの表示を行なうことで表示部14の機能が実現される。
 図27は、コンピュータ1で動作するプログラムの構成例を示す。コンピュータ1において、ハードウェア群501(図26に示されるハードウェア)の制御を行なうOS(オペレーティング・システム)502が動作する。OS502に従った手順でプロセッサ301が動作して、ハードウェア501の制御・管理が行なわれることで、アプリケーションプログラム504やミドルウェア503による処理がハードウェア501上で実行される。コンピュータ1において、OS502、ミドルウェア503及びアプリケーションプログラム504などのプログラムは、例えば、RAM302に読み出されてプロセッサ301により実行される。また、位置指定プログラムは、例えば、ミドルウェア503としてアプリケーションプログラム504から呼び出されるプログラムである。または、例えば、位置指定プログラムは、アプリケーションプログラム504として位置指定処理を実行させるプログラムである。位置指定プログラムは、記憶媒体305に記憶される。記憶媒体305は、位置指定プログラムを記憶した状態でコンピュータ1本体と切り離して流通され得る。
 図28は、コンピュータ1を含むシステムの例を示す。図28に示すシステムは、コンピュータ1、管理サーバ2、管理データベース2a、ネットワーク3及び無線基地局4を含む。コンピュータ1と管理サーバ2とは、有線または無線のいずれか少なくとも一方の通信方法により通信可能である。管理サーバ2は、管理データベース2aを含む。
 図29は、管理サーバ2の機能構成例を示す。管理サーバ2は、処理部21、記憶部22および通信部23を含む。処理部21は、記憶部22および通信部23の制御を行なう。通信部23は、コンピュータ1の通信部16との通信を行なう。記憶部22は、通信部23の通信により取得したARオブジェクトの情報(管理テーブルT3)を記憶する。また、コンピュータ1からARオブジェクトの情報を要求された場合には、処理部21は、記憶部22に記憶された情報(管理テーブルT3)を送信させる処理を通信部23に実行させる。
 図30は、管理サーバ2のハードウェア構成例を示す。図29に示す各機能ブロックは、例えば、図30に示すハードウェア構成により実現される。管理サーバ2は、例えば、プロセッサ401、RAM402、ROM403、ドライブ装置404、記憶媒体405、入力インターフェース(入力I/F)406、入力デバイス407、出力インターフェース(出力I/F)408、出力デバイス409、通信インターフェース(通信I/F)410、SAN(Storage Area Network)インターフェース(SAN I/F)及びバス412などを含む。それぞれのハードウェアはバス412を介して接続されている。
 例えば、プロセッサ401はプロセッサ301と同様なハードウェアである。RAM402は、例えばRAM302と同様なハードウェアである。ROM403は、例えばROM303と同様なハードウェアである。ドライブ装置404は、例えばドライブ装置304と同様なハードウェアである。記憶媒体405は、例えば記憶媒体305と同様なハードウェアである。入力インターフェース(入力I/F)406は、例えば入力インターフェース306と同様なハードウェアである。入力デバイス407は、例えば入力デバイス307と同様なハードウェアである。出力インターフェース(出力I/F)408は、例えば出力インターフェース308と同様なハードウェアである。出力デバイス409は、例えば出力デバイス309と同様なハードウェアである。通信インターフェース(通信I/F)410は、例えば通信インターフェース310と同様なハードウェアである。SAN(Storage Area Network)インターフェース(SAN I/F)は、管理サーバ2をSANに接続するためのインターフェースであり、HBA(Host Bus Adapter)を含む。
 プロセッサ401は、ROM403や記憶媒体405に記憶された管理プログラムをRAM402に読み出し、読み出された管理プログラムの手順に従って処理部21の処理を行なう。その際にRAM402はプロセッサ401のワークエリアとして用いられる。記憶部22の機能は、ROM403および記憶媒体405がプログラムファイルやデータファイル(管理テーブルT3など)を記憶すること、もしくは、RAM402がプロセッサ401のワークエリアとして用いられることによって実現される。また、プロセッサ401が通信インターフェース410を制御して通信処理を行なうことにより、通信部23の機能が実現される。
 上述の実施形態は本発明の一態様であり、本発明の本旨を逸脱しない範囲の設計変更が適宜行われうる。
 1   コンピュータ
 11  処理部
 12  記憶部
 13  撮像部
 14  表示部
 15  入力部
 16  通信部
 111 制御部
 112 認識部
 113 生成部
 114 算出部

Claims (10)

  1.  コンピュータに、
     カメラおよび基準物が存在する空間に対応し、前記カメラおよび前記基準物に対応する図形を含む、平面図であって、前記図形の表示位置を基準とする前記平面図内の第1の位置が、前記カメラおよび前記基準物を基準とする前記カメラおよび前記基準物が存在する空間における第2の位置に対応する平面図を、表示装置に表示させる、
     処理を実行させることを特徴とする表示プログラム。
  2.  前記コンピュータに、さらに、
     前記撮像処理により得られる撮像画像に含まれる前記基準物の像に基づいて、前記空間内における前記基準物と前記カメラとの間の相対位置を算出する処理を実行させ、
     前記図形は、前記カメラおよび前記基準物を、算出した前記相対位置に応じた位置関係で示す、
     ことを特徴とする請求項1に記載の表示プログラム。
  3.  前記コンピュータに、さらに、
     前記撮像処理により得られる撮像画像に含まれる前記基準物の像に基づいて、前記空間内における前記基準物と前記カメラとの間の相対位置を算出する処理を実行させ、
     前記平面図内の前記第1の位置が指定された場合に、前記第2の位置を示す位置情報を、前記第1の位置および前記相対位置に基づいて算出する、
     処理を実行させることを特徴とする請求項1に記載の表示プログラム。
  4.  前記コンピュータに、さらに、
     3次元の座標で形状が定められたオブジェクトデータを保持し、
     生成された前記位置情報に基づいて前記空間内に配置された前記オブジェクトデータが前記カメラに向けて投影された状態を示す画像である投影画像を生成し、
     生成された前記投影画像を、前記撮像画像に重ねて表示させる、
     処理を実行させることを特徴とする請求項3項に記載の表示プログラム。
  5.  前記第1の位置は、前記平面図が表示された表示画面内の位置指定に応じて指定されること、
     を特徴とする請求項3または請求項4に記載の表示プログラム。
  6.  前記コンピュータに、
     前記第1の位置が指定されると、前記平面図内の前記第1の位置に前記オブジェクトデータに対応する図形を表示させ、
     前記平面図内の第3の位置が指定されると、前記第1の位置に表示された前記オブジェクトデータに対応する図形を前記第3の位置に表示させる、
     処理を実行させることを特徴とする請求項3~5のいずれか1項に記載の表示プログラム。
  7.  前記撮像画像内の位置指定に基づく前記第2の位置の指定が行なわれる場合に、前記平面図が表示される、
     ことを特徴とする請求項1~6のいずれか1項に記載の表示プログラム。
  8.  コンピュータに、
     カメラおよび基準物が存在する空間に対応し、前記カメラおよび前記基準物に対応する図形を含む、平面図であって、前記図形の表示位置を基準とする前記平面図内の第1の位置が、前記カメラおよび前記基準物を基準とする前記カメラおよび前記基準物が存在する空間における第2の位置に対応する平面図を、表示装置に表示させる、
     ことを実行させることを特徴とする表示方法。
  9.  撮像部と、
     前記撮像部および基準物が存在する空間に対応し、前記撮像部および前記基準物に対応する図形を含む平面図であって、前記図形の表示位置を基準とする前記平面図内の第1の位置が、前記撮像部および前記基準物を基準とする前記撮像部および前記基準物が存在する空間における第2の位置に対応する平面図を、表示する表示部と、
     を含むことを特徴とする表示装置。
  10.  第1のコンピュータおよび第2のコンピュータを含む位置設定システムであって、
     前記第1のコンピュータは、
      撮像部と、
      前記撮像部の撮影処理により基準物の像が撮影された場合に、前記像に基づいて、前記空間内における前記基準物と前記カメラとの間の相対位置を算出する第1の算出部と、
      前記撮像部および前記基準物に対応する図形を含む平面図であって、前記図形の表示位置を基準とする前記平面図内の第1の位置が、前記撮像部および前記基準物を基準とする前記撮像部および前記基準物が存在する空間における第2の位置に対応する平面図を、を表示する表示部と、
      前記平面図内の前記第1の位置が指定された場合に、前記第2の位置を示す位置情報を、前記第1の位置および前記相対位置に基づいて算出する第2の算出部と、
      算出された前記位置情報を前記第2のコンピュータに送信する送信部と、を含み、
     前記第2のコンピュータは、
      前記送信部から送信された前記位置情報を受信する受信部と、
      受信した前記位置情報を記憶する記憶部と、を含む、
     ことを特徴とする位置設定システム。
     
PCT/JP2013/001003 2013-02-21 2013-02-21 表示装置、表示方法、表示プログラムおよび位置設定システム WO2014128760A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015501069A JP5991423B2 (ja) 2013-02-21 2013-02-21 表示装置、表示方法、表示プログラムおよび位置設定システム
EP13875830.5A EP2960867A4 (en) 2013-02-21 2013-02-21 DISPLAY DEVICE, DISPLAY PROCEDURE, DISPLAY PROGRAM AND POSITION SETTING SYSTEM
PCT/JP2013/001003 WO2014128760A1 (ja) 2013-02-21 2013-02-21 表示装置、表示方法、表示プログラムおよび位置設定システム
US14/829,207 US9965896B2 (en) 2013-02-21 2015-08-18 Display device and display method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/001003 WO2014128760A1 (ja) 2013-02-21 2013-02-21 表示装置、表示方法、表示プログラムおよび位置設定システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/829,207 Continuation US9965896B2 (en) 2013-02-21 2015-08-18 Display device and display method

Publications (1)

Publication Number Publication Date
WO2014128760A1 true WO2014128760A1 (ja) 2014-08-28

Family

ID=51390606

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/001003 WO2014128760A1 (ja) 2013-02-21 2013-02-21 表示装置、表示方法、表示プログラムおよび位置設定システム

Country Status (4)

Country Link
US (1) US9965896B2 (ja)
EP (1) EP2960867A4 (ja)
JP (1) JP5991423B2 (ja)
WO (1) WO2014128760A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015060071A (ja) * 2013-09-18 2015-03-30 コニカミノルタ株式会社 画像表示装置、画像表示方法、および画像表示プログラム

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US10222301B2 (en) * 2016-05-04 2019-03-05 Embraer S.A. Structural health monitoring system with the identification of the damage through a device based in augmented reality technology
JP2018005091A (ja) * 2016-07-06 2018-01-11 富士通株式会社 表示制御プログラム、表示制御方法および表示制御装置
CN106503810A (zh) * 2016-10-21 2017-03-15 国网山东省电力公司泰安供电公司 一种暖通设备巡检装置和方法
US11468209B2 (en) 2017-02-22 2022-10-11 Middle Chart, LLC Method and apparatus for display of digital content associated with a location in a wireless communications area
US10268782B1 (en) 2017-02-22 2019-04-23 Middle Chart, LLC System for conducting a service call with orienteering
US10949579B2 (en) 2017-02-22 2021-03-16 Middle Chart, LLC Method and apparatus for enhanced position and orientation determination
US11625510B2 (en) 2017-02-22 2023-04-11 Middle Chart, LLC Method and apparatus for presentation of digital content
US10831945B2 (en) 2017-02-22 2020-11-10 Middle Chart, LLC Apparatus for operation of connected infrastructure
US11900021B2 (en) 2017-02-22 2024-02-13 Middle Chart, LLC Provision of digital content via a wearable eye covering
WO2020068177A1 (en) 2018-09-26 2020-04-02 Middle Chart, LLC Method and apparatus for augmented virtual models and orienteering
US10733334B2 (en) 2017-02-22 2020-08-04 Middle Chart, LLC Building vital conditions monitoring
US10740503B1 (en) 2019-01-17 2020-08-11 Middle Chart, LLC Spatial self-verifying array of nodes
US11475177B2 (en) 2017-02-22 2022-10-18 Middle Chart, LLC Method and apparatus for improved position and orientation based information display
US10824774B2 (en) 2019-01-17 2020-11-03 Middle Chart, LLC Methods and apparatus for healthcare facility optimization
US10620084B2 (en) 2017-02-22 2020-04-14 Middle Chart, LLC System for hierarchical actions based upon monitored building conditions
US10762251B2 (en) 2017-02-22 2020-09-01 Middle Chart, LLC System for conducting a service call with orienteering
US10902160B2 (en) 2017-02-22 2021-01-26 Middle Chart, LLC Cold storage environmental control and product tracking
US10872179B2 (en) 2017-02-22 2020-12-22 Middle Chart, LLC Method and apparatus for automated site augmentation
US10467353B2 (en) 2017-02-22 2019-11-05 Middle Chart, LLC Building model with capture of as built features and experiential data
US11481527B2 (en) 2017-02-22 2022-10-25 Middle Chart, LLC Apparatus for displaying information about an item of equipment in a direction of interest
US10671767B2 (en) 2017-02-22 2020-06-02 Middle Chart, LLC Smart construction with automated detection of adverse structure conditions and remediation
US11900022B2 (en) 2017-02-22 2024-02-13 Middle Chart, LLC Apparatus for determining a position relative to a reference transceiver
US10628617B1 (en) 2017-02-22 2020-04-21 Middle Chart, LLC Method and apparatus for wireless determination of position and orientation of a smart device
US10740502B2 (en) 2017-02-22 2020-08-11 Middle Chart, LLC Method and apparatus for position based query with augmented reality headgear
US20180268614A1 (en) * 2017-03-16 2018-09-20 General Electric Company Systems and methods for aligning pmi object on a model
CN108629800A (zh) * 2017-03-20 2018-10-09 北京三星通信技术研究有限公司 平面确定方法及增强现实显示信息的显示方法、相应装置
US10796477B2 (en) * 2017-06-20 2020-10-06 Edx Technologies, Inc. Methods, devices, and systems for determining field of view and producing augmented reality
CN107576731A (zh) * 2017-08-30 2018-01-12 天津大学 基于混合现实的模型实验结构裂纹扩展过程实时透视方法
TWI642903B (zh) * 2017-10-13 2018-12-01 緯創資通股份有限公司 用於頭戴式顯示裝置的定位方法、定位器以及定位系統
US10262432B1 (en) * 2017-12-30 2019-04-16 Gabriel Keilholz System and method for measuring and comparing items using computer vision
US11127193B2 (en) * 2018-05-11 2021-09-21 Resight Ltd. System and method for determining an approximate transformation between coordinate systems
US20200050857A1 (en) * 2018-08-08 2020-02-13 Verascan, Inc. Methods and systems of providing augmented reality
JP7242229B2 (ja) * 2018-09-27 2023-03-20 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
US10929670B1 (en) * 2019-10-21 2021-02-23 The Boeing Company Marker-to-model location pairing and registration for augmented reality applications

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123983A (ja) * 1994-10-26 1996-05-17 Oki Electric Ind Co Ltd 投影面連動表示装置
JP2001209826A (ja) * 2000-01-24 2001-08-03 Mixed Reality Systems Laboratory Inc 仮想空間の編集方法、仮想空間の編集装置、コンピュータプログラム記憶媒体および仮想現実感提示装置
JP2002092647A (ja) 2000-09-19 2002-03-29 Olympus Optical Co Ltd 情報呈示システム及びモデル誤差検出システム
JP2003141558A (ja) 2001-08-24 2003-05-16 Omron Corp 写真シール自動販売機、写真シール作成方法、並びにプログラム
JP2005010998A (ja) * 2003-06-18 2005-01-13 Olympus Corp 情報呈示装置及び情報呈示方法
JP2005135355A (ja) * 2003-03-28 2005-05-26 Olympus Corp データオーサリング処理装置
JP2005339127A (ja) * 2004-05-26 2005-12-08 Olympus Corp 画像情報表示装置及び画像情報表示方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001264954A1 (en) * 2000-05-25 2001-12-03 Realitybuy, Inc. A real time, three-dimensional, configurable, interactive product display systemand method
US6697761B2 (en) 2000-09-19 2004-02-24 Olympus Optical Co., Ltd. Three-dimensional position/orientation sensing apparatus, information presenting system, and model error detecting system
US6956503B2 (en) 2002-09-13 2005-10-18 Canon Kabushiki Kaisha Image display apparatus, image display method, measurement apparatus, measurement method, information processing method, information processing apparatus, and identification method
JP4307189B2 (ja) 2003-09-05 2009-08-05 キヤノン株式会社 情報処理方法、情報処理装置、識別方法
JP4926817B2 (ja) 2006-08-11 2012-05-09 キヤノン株式会社 指標配置情報計測装置および方法
JP5474641B2 (ja) 2009-04-17 2014-04-16 トモデータサービス有限会社 位置検出装置、位置検出方法、位置検出プログラム
DE102009049073A1 (de) 2009-10-12 2011-04-21 Metaio Gmbh Verfahren zur Darstellung von virtueller Information in einer Ansicht einer realen Umgebung
US9488488B2 (en) * 2010-02-12 2016-11-08 Apple Inc. Augmented reality maps
JP5643549B2 (ja) 2010-06-11 2014-12-17 任天堂株式会社 画像処理システム、画像処理プログラム、画像処理装置および画像処理方法
US20110313779A1 (en) * 2010-06-17 2011-12-22 Microsoft Corporation Augmentation and correction of location based data through user feedback
JP5256330B2 (ja) * 2011-07-20 2013-08-07 独立行政法人日本原子力研究開発機構 現場作業支援システムにおけるマーカ配置方法
JP2014531662A (ja) * 2011-09-19 2014-11-27 アイサイト モバイル テクノロジーズ リミテッド 拡張現実システムのためのタッチフリーインターフェース

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123983A (ja) * 1994-10-26 1996-05-17 Oki Electric Ind Co Ltd 投影面連動表示装置
JP2001209826A (ja) * 2000-01-24 2001-08-03 Mixed Reality Systems Laboratory Inc 仮想空間の編集方法、仮想空間の編集装置、コンピュータプログラム記憶媒体および仮想現実感提示装置
JP2002092647A (ja) 2000-09-19 2002-03-29 Olympus Optical Co Ltd 情報呈示システム及びモデル誤差検出システム
JP2003141558A (ja) 2001-08-24 2003-05-16 Omron Corp 写真シール自動販売機、写真シール作成方法、並びにプログラム
JP2005135355A (ja) * 2003-03-28 2005-05-26 Olympus Corp データオーサリング処理装置
JP2005010998A (ja) * 2003-06-18 2005-01-13 Olympus Corp 情報呈示装置及び情報呈示方法
JP2005339127A (ja) * 2004-05-26 2005-12-08 Olympus Corp 画像情報表示装置及び画像情報表示方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2960867A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015060071A (ja) * 2013-09-18 2015-03-30 コニカミノルタ株式会社 画像表示装置、画像表示方法、および画像表示プログラム

Also Published As

Publication number Publication date
EP2960867A1 (en) 2015-12-30
EP2960867A4 (en) 2016-08-03
US20150356789A1 (en) 2015-12-10
JPWO2014128760A1 (ja) 2017-02-02
JP5991423B2 (ja) 2016-09-14
US9965896B2 (en) 2018-05-08

Similar Documents

Publication Publication Date Title
JP5991423B2 (ja) 表示装置、表示方法、表示プログラムおよび位置設定システム
US9710971B2 (en) Information processing device, position designation method and storage medium
JP6314394B2 (ja) 情報処理装置、設定方法、設定プログラム、システムおよび管理装置
JP6265027B2 (ja) 表示装置、位置特定プログラム、および位置特定方法
US9792731B2 (en) System and method for controlling a display
JP6264834B2 (ja) ガイド方法、情報処理装置およびガイドプログラム
JP6264972B2 (ja) 表示装置、表示制御プログラム、および表示制御方法
JP6225538B2 (ja) 情報処理装置、システム、情報提供方法および情報提供プログラム
JP6500355B2 (ja) 表示装置、表示プログラム、および表示方法
JP6318542B2 (ja) 表示制御方法、表示制御プログラムおよび情報処理装置
JP6160290B2 (ja) 情報処理装置、判定方法および判定プログラム
JP6096634B2 (ja) 仮想現実を用いた3次元地図表示システム
JP6394107B2 (ja) キャリブレーション装置、キャリブレーション方法、表示制御装置および表示制御方法
JP6350640B2 (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: 13875830

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015501069

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2013875830

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE