U.S. patent application number 10/032875 was filed with the patent office on 2003-01-09 for image synthesizing apparatus and method, position detecting apparatus and method, and supply medium.
Invention is credited to Ohki, Mitsuharu.
Application Number | 20030007679 10/032875 |
Document ID | / |
Family ID | 13145265 |
Filed Date | 2003-01-09 |
United States Patent
Application |
20030007679 |
Kind Code |
A1 |
Ohki, Mitsuharu |
January 9, 2003 |
Image synthesizing apparatus and method, position detecting
apparatus and method, and supply medium
Abstract
When a CG image is synthesized with an actually photographic
image (dynamic image), it is controlled that the synthesized image
becomes unnatural. An image pickup section 2 picks up a plate 1
while moving. When synthesizing a ball formed through CG with a
continuous image picked up by the image pickup section 2, how 12
patterns (in the portion enclosed by a frame 21) Aj (j=1, . . . ,
12) present nearby a ball 5 are transformed in the continuous image
picked up by the image pickup section 2 is shown by a rotational
transform function and a rectilinear transform function to obtain
the synthesis position of the projected image of the ball 5 in each
image by using the rotational transform function and rectilinear
transform function.
Inventors: |
Ohki, Mitsuharu; (Tokyo,
JP) |
Correspondence
Address: |
BELL, BOYD & LLOYD, LLC
P. O. BOX 1135
CHICAGO
IL
60690-1135
US
|
Family ID: |
13145265 |
Appl. No.: |
10/032875 |
Filed: |
December 27, 2001 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10032875 |
Dec 27, 2001 |
|
|
|
09178092 |
Oct 23, 1998 |
|
|
|
6404913 |
|
|
|
|
09178092 |
Oct 23, 1998 |
|
|
|
PCT/JP98/01053 |
Mar 13, 1998 |
|
|
|
Current U.S.
Class: |
382/154 |
Current CPC
Class: |
G06T 15/20 20130101;
G06T 15/00 20130101 |
Class at
Publication: |
382/154 |
International
Class: |
G06K 009/00 |
Foreign Application Data
Date |
Code |
Application Number |
Mar 14, 1997 |
JP |
P09-060541 |
Claims
1. An image synthesizing apparatus for synthesizing the projected
image of an object with at least first and second images, the
apparatus comprising: first means for obtaining a first
characteristic point nearby a synthesis position for synthesizing
said object among the characteristic points projected onto said
first image; second means for obtaining first coordinates of said
first characteristic point on a three-dimensional coordinate system
corresponding to said first image; third means for obtaining second
coordinates of a second characteristic point corresponding to said
first characteristic point on a three-dimensional coordinate system
corresponding to said second image among the characteristics points
projected onto said second image; fourth means for obtaining
coordinate transform functions of said first coordinates and said
second coordinates; fifth means for obtaining third coordinates on
the three-dimensional coordinate system of said synthesis position
for synthesizing said object with said first image corresponding to
said first image; sixth means for obtaining fourth coordinates on a
three-dimensional coordinate system corresponding to said second
image by applying said coordinate transform functions to said third
coordinates; and seventh means for synthesizing the projected image
of said object at a position corresponding to said fourth
coordinates of said second image.
2. The image synthesizing apparatus according to claim 1, wherein
said coordinate transform functions are functions related to
rotational transform and rectilinear transform.
3. The image synthesizing apparatus according to claim 1, wherein
said sixth means obtains said fourth coordinates in accordance with
values obtained by adding first three-dimensional vector to said
third coordinates, said seventh means synthesizes the projected
image of said object at a position corresponding to values obtained
by adding second three-dimensional vector to said fourth
coordinates.
4. The image synthesizing apparatus according to claim 3, wherein
at least one of said first and second three-dimensional vectors is
zero vector.
5. The image synthesizing apparatus according to claim 1, wherein
said fourth means provides a weight larger than that of a fourth
characteristic point farther from a synthesis position for
synthesizing said object for a third characteristic point closer to
the synthesis position out of said first characteristic points and
thereby, obtains coordinate transform functions of said first and
second coordinates.
6. The image synthesizing apparatus according to claim 1, wherein
said first characteristic points are obtained from points in which
at least one of a brightness signal and a color difference signal
greatly changes compared to adjacent points.
7. The image synthesizing apparatus according to claim 1, wherein
said first image is an image obtained by actually photographing a
predetermined object at the first time, said second image is an
image obtained by actually photographing said object at the second
time later than said first time, and said object is formed through
computer graphics.
8. An image synthesizing method for synthesizing the projected
image of an object with first and second images, the method
comprising: the first step of obtaining a first characteristic
point nearby a synthesis position for synthesizing said object
among the characteristic points projected onto said first image;
the second step of obtaining first coordinates on the
three-dimensional coordinate system of said first characteristic
point corresponding to said first image; the third step of
obtaining second coordinates of a second characteristic point
corresponding to said first characteristic point on a
three-dimensional coordinate system corresponding to said second
image among the characteristic points projected onto said second
image; the fourth step of obtaining coordinate transform functions
of said first and second coordinates; the fifth step of obtaining
third coordinates on the three-dimensional coordinate system of
said synthesis position for synthesizing said object with said
first image corresponding to said first image; the sixth step of
obtaining fourth coordinates on a three-dimensional coordinate
system corresponding to said second image by applying said
coordinate transform functions to said third coordinates; and the
seventh step of synthesizing the projected image of said object at
a position corresponding to the fourth coordinates of said second
image.
9. The image synthesizing method according to claim 8, wherein said
coordinate transform functions are functions related to rotational
transform and rectilinear transform.
10. The image synthesizing method according to claim 8, wherein
said fourth coordinates are obtained in accordance with values
obtained by adding first three-dimensional vector to said third
coordinates in said sixth step, and the projected image of said
object is synthesized at a position corresponding to values
obtained by adding second three-dimensional vector to said fourth
coordinates in said seventh step.
11. The image synthesizing method according to claim 10, wherein at
least one of said first and second three-dimensional vectors is
zero vector.
12. The image synthesizing method according to claim 8, wherein
coordinate transform functions of said first and second coordinates
are obtained by providing a weight larger than that of fourth
characteristic points farther from a synthesis position for
synthesizing said object for third characteristic points closer to
the synthesis position among said first characteristic points in
said fourth step.
13. The image synthesizing method according to claim 8, wherein
said first characteristic points are obtained from points in which
at least one of a brightness signal and a color difference signal
greatly changes compared to adjacent points.
14. The image synthesizing method according to claim 8, wherein
said first image is an image obtained by actually photographing a
predetermined object at the first time, said second image is an
image obtained by actually photographing said object at the second
time later than said first time; and said object is an object
formed through computer graphics.
15. A supply medium for supplying a computer program used for an
image synthesizing apparatus for synthesizing the projected image
of an object with at least first and second images, the computer
program comprising: the first step of obtaining first
characteristic points nearby a synthesis position for synthesizing
said object among the characteristic points projected onto said
first image; the second step of obtaining first coordinates of said
first characteristic point on a three-dimensional coordinate system
corresponding to said first image; the third step of obtaining
second coordinates of a second characteristic point corresponding
to said first characteristic point on a three-dimensional
coordinate system corresponding to said second image among the
characteristic points projected onto said second image; the fourth
step of obtaining coordinate transform functions of said first
coordinates and said second coordinates; the fifth step of
obtaining third coordinates of said synthesis position for
synthesizing said object with said first image on a
three-dimensional coordinate system corresponding to said first
image; the sixth step of obtaining fourth coordinates on a
three-dimensional coordinate system corresponding to said second
image by applying said coordinate transform functions to said third
coordinates; and the seventh step of synthesizing the projected
image of said object at a position corresponding to said fourth
coordinates of said second image.
16. A position detecting apparatus for detecting the positional
relation between objects projected onto a first image and a second
image, the apparatus comprising: first means for obtaining a first
characteristic point nearby said object among the characteristic
points projected onto said first image; second means for obtaining
first coordinates of said first characteristic point on a
three-dimensional coordinate system corresponding to said first
image; third means for obtaining second coordinates of a second
characteristic point corresponding to said first characteristic
point on a three-dimensional coordinate system corresponding to
said second image among the characteristic points projected onto
said second image; fourth means for obtaining third coordinates of
said object on a three-dimensional coordinate system corresponding
to said first image; fifth means for obtaining fourth coordinates
of said object on a three-dimensional coordinate system
corresponding to said second image; sixth means for obtaining
coordinate transform functions of said first coordinates and said
second coordinates; seventh means for obtaining fifth coordinates
on a three-dimensional coordinate system corresponding to said
second image by applying said coordinate transform functions to
said third coordinates; and eighth means for detecting the
difference between said fourth coordinates and said fifth
coordinates.
17. A position detecting method for detecting the positional
relation between objects projected onto a first image and a second
image, the method comprising; the first step of obtaining a first
characteristic point nearby said object among the characteristic
points projected onto said first image; the second step of
obtaining first coordinates of said first characteristic point on a
three-dimensional coordinate system corresponding to said first
image; the third step of obtaining second coordinates of a second
characteristic point corresponding to said first characteristic
point on a three-dimensional coordinate system corresponding to
said second image among the characteristic points projected onto
said second image; the fourth step of obtaining third coordinates
of said object on a three-dimensional coordinate system
corresponding to said first image; the fifth step of obtaining
fourth coordinates of said object on a three-dimensional coordinate
system corresponding to said second image; the sixth step of
obtaining coordinate transform functions of said first coordinates
and said second coordinates; the seventh step of obtaining fifth
coordinates on a three-dimensional coordinate system corresponding
to said second image by applying said coordinate transform
functions to said third coordinates; and the eighth step of
detecting the difference between said fourth coordinates and said
fifth coordinates.
18. A supply medium for supplying a computer program used for a
position detecting apparatus for detecting the positional relation
between objects projected onto a first image and a second image,
the computer program comprising: the first step of obtaining a
first characteristic point nearby said object among the
characteristic points projected onto said first image; the second
step of obtaining first coordinates of said first characteristic
point on a three-dimensional coordinate system corresponding to
said first image; the third step of obtaining second coordinates of
a second characteristic point corresponding to said first
characteristic point on a three-dimensional coordinate system
corresponding to said second image among the characteristic points
projected onto said second image; the fourth step of obtaining
third coordinates of said object on a three-dimensional coordinate
system corresponding to said first image; the fifth step of
obtaining fourth coordinates of said object on a three-dimensional
coordinate system corresponding to said second image; the sixth
step of obtaining coordinate transform functions of said first
coordinates and said second coordinates; the seventh step of
obtaining fifth coordinates on a three-dimensional coordinate
system corresponding to said second image by applying said
coordinate transform functions to said third coordinates; and the
eighth step of detecting the difference between said fourth
coordinates and said fifth coordinates.
19. An image synthesizing apparatus for synthesizing the projected
image of a second object by assuming that said second object is
present at a predetermined position of each of a plurality of
photographic images on which a first object photographed by an
image pickup device is photographed, the apparatus comprising:
image-pickup-device-position computing means for computing the
most-probable position of said image pickup device when
photographing each of said photographic images; characteristic
point position computing means for computing the most-probable
position of a characteristic point of said first object; virtual
projected position computing means for computing a virtual
projected position on which the most-probable position of said
characteristic point is projected when performing photography by
using said image pickup device present at said most-probable
position; distortion value computing means for computing a
distortion value in accordance with the difference between said
virtual projected position and the position of the projected image
of said characteristic point actually photographed on each of said
photographic images; correcting means for correcting a position to
which the projected image of said second object is set in
accordance with the distortion value computed by said distortion
value computing means; projected image computing means for
computing the projected image of said second object when
photographing said second object from said image pickup device at
the most-probable position by assuming that said second object is
present at the position corrected by said correcting means; and
synthesizing means for synthesizing the projected image of said
second object computed by said projected image computing means with
each of said photographic images.
20. The image synthesizing apparatus according to claim 19, wherein
said distortion value computing means computes said distortion
value through interpolation in accordance with said characteristic
point.
21. An image synthesizing method for synthesizing the projected
image of said second object with each of a plurality of
photographic images on which a first object is photographed by an
image pickup device by assuming that a second object is present at
a predetermined position, the method comprising: the
image-pickup-device-position computing step for computing the
most-probable position of said image pickup device when
photographing each of said photographic images; the characteristic
point position computing step of computing the most-probable
position of a characteristic point of said first object; the
virtual projected position computing step for computing a virtual
projected position on which the most-probable position of said
characteristic point is projected when performing photography by
using said image pickup device set at said most-probable position;
the distortion value computing step of computing a distortion value
in accordance with the difference between said virtual projected
position and the position of the projected image of said
characteristic point actually photographed on each of said
photographic images; the correcting step of correcting a position
to which the projected image of said second object is set in
accordance with the distortion value computed by said distortion
value computing step; the projected image computing step for
computing the projected image of said second object when
photographing said second object from said image pickup device at
the most-probable position by assuming that said second object is
located at the position corrected in said correcting step; and the
synthesizing step of synthesizing the projected image of said
second object computed in said projected image computing step with
each of said photographic images.
22. The image synthesizing method according to claim 21, wherein
said distortion value is computed through interpolation in
accordance with said characteristic point in said distortion value
computing step.
23. A supply medium for supplying a computer program used for an
image synthesizing apparatus for synthesizing the projected image
of a second object with each of a plurality of photographic images
on which a first object photographed by an image pickup device is
photographed by assuming that the second object is present at a
predetermined position, the computer program comprising: the
image-pickup-device-position computing step of computing the
most-probable position of said image pickup device when
photographing each of said photographic images; characteristic
point position computing step of computing the most-probable
position of a characteristic point of said first object; virtual
projected position computing step of computing a virtual projected
position to which the most-probable position of said characteristic
point is projected when performing photography by using said image
pickup device set at the most-probable position; the distortion
value computing step of computing a distortion value in accordance
with the difference between said virtual projected position and the
position of the projected image of said characteristic point
actually photographed on each of said photographic images; the
correcting step of correcting a position to which the projected
image of said second object is set in accordance with the
distortion value computed in said distortion value computing step;
the projected image computing step of computing the projected image
of said second object when photographing said second object from
said image pickup device at the most-probable position by assuming
that said second object is present at the position corrected in
said correcting step; and synthesizing step of synthesizing the
projected image of said second object computed in said projected
image computing step with each of said photographic images.
Description
TECHNICAL FIELD
[0001] The present invention relates to image synthesizing
apparatus and method, position detecting apparatus and method, and
a supply medium, particularly to image synthesizing apparatus and
method, position detecting apparatus and method, and a supply
medium for making it possible that the projected image of a
predetermined object seems to be natural in continuous photographic
images by synthesizing the projected image of the predetermined
object with a plurality of continuous photographic images.
BACKGROUND ART
[0002] Because the computer graphics (CG) art has been advanced in
recent years, it is possible to form a real image almost same as an
actually photographed image (taken on the spot) though the real
image is artificially formed. In this case, the processing is
frequently performed in which a predetermined object is
continuously photographed (as a dynamic image) by a video camera
and then, the CG image of the predetermined object is synthesized
every image taken on the spot.
[0003] FIG. 1 shows a conventional image synthesizing method. In
this case, it is assumed that an existent plate 1 is picked up by
an image pickup section 2 and balls 5 and 6 formed through CG are
synthesized with the image of the plate 1 so that the balls 5 and 6
seem to be stationary. In this case, the plate 1 on which patterns
are drawn is first actually picked up by an image pickup section 2.
In this case, the i-th pattern formed on the plate 1 is assumed as
ai. In this case, symbol i denotes an integer and also an
identification number attached to each pattern ai. The patterns ai
are different from each other in color and shape and therefore,
they can be distinguished between them. The image pickup section 2
uses a stereophonic video camera constituted with a main video
camera and a sub-video camera and is constituted so that
three-dimensional information can be obtained from the parallax
between an image picked up by the main video camera and an image
picked up by the sub-video camera. The plate 1 is picked up while
moving the image pickup section 2.
[0004] In this case, the time for the image pickup section 2 to
start pickup is assumed as a first time and a predetermined time
after the first time in the pickup time is assumed as a second
time. FIG. 1 shows the image pickup section 2 at the first time and
the second time.
[0005] As shown in FIG. 2, a frame image 1A.sub.1 obtained by
picking up the plate 1 from a predetermined angle is obtained from
the image pickup section 2 at the first time. Similarly, as shown
in FIG. 3, a frame image 1A.sub.2 different from the frame image
1A.sub.1 obtained at the first time is obtained at the second
time.
[0006] Then, as shown in FIG. 4, projected images 5A.sub.1 and
6B.sub.1 of the balls 5 and 6 are synthesized with the image (image
in FIG. 18) 1A.sub.1 picked up by the image pickup section 2 at the
first time. Then, as shown in FIG. 5, projected images 5A.sub.2 and
6B.sub.2 of the balls 5 and 6 are synthesized with the image (image
in FIG. 19) 1A.sub.2 picked up by the image pickup section 2 at the
second time at positions where the balls 5 and 6 seem to be
stationary on the plate 1.
[0007] In this case, a method of synthesizing the balls 5 and 6
formed through CG so that they seem to be stationary on the plate 1
is described below by referring to FIGS. 6 and 7.
[0008] Though positions for finally synthesizing projected images
5A and 6B are on the two-dimensional images 1A.sub.1 and 1A.sub.2,
the synthesis positions are easily understood by considering them
in a three-dimensional space. Therefore, three-dimensional data
(coordinates) is restored from a two-dimensional frame image.
Because the frame image is obtained by the stereophonic video
camera, the above restoration is realized.
[0009] That is, as shown in FIG. 6, three-dimensional coordinates
are assumed in which the position of the image pickup section 2 at
the first time is an origin O1 and the horizontal, vertical, and
depth directions of the image pickup section 2 are X-axis, Y-axis,
and Z-axis. Then, the three-dimensional position (X1i, Y1i, Z1i) of
every pattern ai of the plate 1 is first obtained from the
two-dimensional frame image 1A.sub.1. Then, a user designates a
three-dimensional position (three-dimensional synthesis
position)(X1A, Y1A, Z1A) on which the ball 5 is put and a
three-dimensional position (three-dimensional synthesis
position)(X1B, Y1B, Z1B) on which the ball 6 is put.
[0010] Then, a synthesis position (two-dimensional position) on the
image 1A.sub.1 corresponding to a three-dimensional synthesis
position is obtained. The two-dimensional position is obtained as a
position obtained through perspective projection transform of the
three-dimensional position. That is, when assuming the focal
distance of the image pickup section 2 as f, the two-dimensional
synthesis position of a projected image 5A.sub.1 on the image
1A.sub.1 at the first time corresponding to the three-dimensional
synthesis position (X1A, Y1A, Z1A) is obtained as (X1A.times.f/Z1A,
Y1A.times.f/Z1A). Similarly, the two-dimensional synthesis position
of a projected image 6B.sub.1 on the image 1A.sub.1 at the first
time corresponding to the three-dimensional synthesis position
(X1B, Y1B, Z1B) is obtained as (X1B.times.f/Z1B,
Y1B.times.f/Z1B).
[0011] Similarly, as shown in FIG. 7, the position of the image
pickup section 2 at the second time is assumed as an origin O2 and
the horizontal, vertical, and depth directions of the image pickup
section 2 are assumed as X-axis, Y-axis, and Z-axis. Then, the
three-dimensional position (X2i, Y2i, Z2i) of every pattern ai of
the plate 1 is obtained from the two-dimensional image
1A.sub.2.
[0012] As described above, because the patterns ai on the plate 1
can be distinguished between them, it is possible to identify that
the i-th pattern ai in the first three-dimensional coordinate
system restored from the image 1A.sub.1 at the first time
corresponds to which pattern ai in the second three-dimensional
system restored from the image 1A.sub.2 at the second time.
Therefore, it is possible to make the coordinates (X1i, Y1i, Z1i)
of the pattern ai at the first time correspond to the coordinates
(X2i, Y2i, Z2i) of the pattern ai at the second time. Because these
two coordinate systems view the same pattern ai from different
angles, the second three-dimensional coordinate system can be
obtained by applying predetermined rotational transform (hereafter,
the function of the transform is assumed as R.sub.1) and
predetermined rectilinear transform (hereafter, the function of the
transform is assumed as S.sub.1) to the first three-dimensional
coordinate system (though the function of the rectilinear transform
is normally shown by T, it is shown by S because T is used as a
variable showing time in this specification). Therefore, the
relation shown by the following Equation is effected for each
pattern ai.
(X2i, Y2i, Z2i)=(X1i, Y1i, Z1i).multidot.R.sub.1+S.sub.1
[0013] (Though the function of the rectilinear transform is
normally shown by T, it is shown by S because T is used as a
variable showing time in this specification.)
[0014] Therefore, the coordinate transform functions R.sub.1 and
S.sub.1 can be obtained by substituting (X1i, Y1i, Z1i) and (X2i,
Y2i, Z2i) of each pattern ai for the above Equation.
[0015] However, when restoring the position (three-dimensional
coordinates) of the pattern ai in a three-dimensional space from
image data (image data for the images 1A.sub.1 and 1A.sub.2) in a
two-dimensional space picked up at a certain time, the restored
position includes any error. Therefore, when using, for example,
the first three-dimensional coordinate system as a criterion, the
position of the i-th pattern ai is not exactly present at (X1i,
Y1i, Z1i). Similarly, when using the second three-dimensional
coordinate system as a criterion, the position of the i-th pattern
ai is not exactly present at (X2i, Y2i, Z2i).
[0016] Therefore, values obtained by squaring the magnitude of the
three-dimensional vector (x1, y1, z1) in the following Equation (1)
on every pattern ai by the least-squares method are totalized to
obtain the (most-probable) transform functions R.sub.1 and S.sub.1
for minimizing the total.
(x1,y1,z1)=(X2i,Y2i,Z2i)-{(X1i,Y1i,Z1i).multidot.R.sub.1+S.sub.1}
(1)
[0017] By using the transform functions R.sub.1 and S.sub.1
obtained as described above, the three-dimensional position (X2A,
Y2A, Z2A) of the ball 5 at the second time corresponding to the
three-dimensional position (X1A, Y1A, Z1A) of the ball 5 at the
first time is obtained by the following Equation (2).
(X2A,Y2A,Z2A)=(X1A,Y1A,Z1A).multidot.R.sub.1+S.sub.1 (2)
[0018] Similarly, the position (X2B, Y2B, Z2B) of the ball 6 at the
second time corresponding to the three-dimensional position (X1B,
Y1B, Z1B) of the ball 6 at the first time is obtained by the
following Equation (3).
(X2B,Y2B,Z2B)=(X1B,Y1B,Z1B)-R.sub.1+S.sub.1 (3)
[0019] Then, by applying the relation of the perspective projection
transform to the three-dimensional coordinates (X2A, Y2A, Z2A) and
(X2B, Y2B, Z2B), the coordinates (X2AX f/Z2A, Y2A.times.f/Z2A) of
the projected image 5A.sub.2 and the coordinates (X2B.times.f/Z2B,
Y2B.times.f/Z2B) of the projected image 6B.sub.2 on the
two-dimensional image 1A.sub.2 picked up by the image pickup
section 2 at the second time are obtained. By synthesizing the
projected images 5A.sub.2 and 6B.sub.2 with the coordinate
positions, a synthesized image must be seen so that the balls 5 and
6 are stationary for the plate 1 because the coordinate positions
correspond to the coordinate positions of the projected images
5A.sub.1 and 6B.sub.1.
[0020] The position of the i-th pattern ai and the positions of the
balls 5 and 6 at the first time are shown as (X1i, Y1i, Z1i), (X1A,
Y1A, Z1A), and (X1B, Y1B, Z1B) in the first three-dimensional
coordinate system. Moreover, the position of the i-th pattern ai
and the positions of the balls 5 and 6 at the second time are shown
as (X2i, Y2i, Z2i), (X2A, Y2A, Z2A), and (X2B, Y2B, Z2B) in the
second three-dimensional coordinate system. In this case, the
relation between the positions of the i-th patterns ai and the
positions of the balls 5 and 6 in these two coordinate systems can
be shown by the following Equations (4), (5), and (6).
(X2i,Y2i,Z2i).noteq.(X1i,Y1i,Z1i).multidot.R.sub.1+S.sub.1 (4)
(X2A,Y2A,Z2A)=(X1A,Y1A,Z1A).multidot.R.sub.1+S.sub.1 (5)
(X2B,Y2B,Z2B)=(X1B,Y1B,Z1B).multidot.R.sub.1+S.sub.1 (6)
[0021] That is, in the case of middle and bottom Equations among
the above three Equations, because the left-side terms are obtained
by operations of the right-side terms, the right and left terms are
equal. However, as described above, the transform functions R.sub.1
and S.sub.1 are obtained by using the least-squares method and
therefore, the functions include errors. As a result, as shown in
the top Equation, the three-dimensional coordinates (obtained from
a second image 1A.sub.2) of the pattern ai of the second image
1A.sub.2 do not accurately coincide with the coordinates obtained
by applying the transform functions R.sub.1 and S.sub.1 to the
three-dimensional coordinates (X1A, Y1A, Z1A) of a first image
1A.sub.3.
[0022] Therefore, the relation of projected images 5A.sub.1 and
6B.sub.1 to the pattern ai of the first image 1A.sub.1 at the first
time is different from the relation of the projected images
5A.sub.2 and 6B.sub.2 to each pattern ai of the second image
1A.sub.2 at the second time. When reproducing this image string,
there is a problem that the balls 5 and 6 seem to be unnatural
because the balls 5 and 6 are lifted from the plate 1 on which the
patterns ai are drawn.
DISCLOSURE OF THE INVENTION
[0023] The present invention is made to solve the above problems
and its object is to provide an image synthesizing apparatus and
method and a supply medium for making it possible that, when
synthesizing the projected image of a predetermined object with a
plurality of photographic images, a synthesized image seems to be
natural by synthesizing the projected image of the predetermined
object in accordance with a characteristic point nearby the
synthesis position.
[0024] Moreover, it is another object of the present invention to
provide position detecting apparatus and method and a supply medium
capable of correctly calculating the positional relation of a third
image to first and second images.
[0025] Furthermore, it is still another object of the present
invention to provide image synthesizing apparatus and method and a
supply medium capable of controlling the fluctuation of a
synthesized image by correcting the position of the projected image
of a predetermined object in accordance with a distortion value
when synthesizing the projected image of the object with a
plurality of photographic images.
[0026] The image synthesizing apparatus of claim 1 comprises first
means for obtaining a first characteristic point nearby a synthesis
position for synthesizing an object among the characteristic points
projected onto a first image, second means for obtaining first
coordinates of a first characteristic point on a three-dimensional
coordinate system corresponding to the first image, third means for
obtaining second coordinates of a second characteristic point
corresponding to the first characteristic point on a
three-dimensional coordinate system corresponding to a second image
among the characteristic points projected onto the second image,
fourth means for obtaining coordinate transform functions of the
first and second coordinates, fifth means for obtaining third
coordinates on a three-dimensional coordinate system corresponding
to the first image at a synthesis position for synthesizing an
object with the first image, sixth means for obtaining fourth
coordinates on a three-dimensional coordinate system corresponding
to the second image by applying the coordinate transform functions
to the third coordinates, and seventh means for synthesizing the
projected image of the object at a position corresponding to the
fourth coordinates of the second image.
[0027] The image synthesizing method of claim 8 comprises the first
step of obtaining a first characteristic point nearby a synthesis
position for synthesizing an object among the characteristic points
projected onto a first image, the second step of obtaining first
coordinates on the three-dimensional coordinate system of a first
characteristic point corresponding to the first image, the third
step of obtaining second coordinates of a second characteristic
point corresponding to the first characteristic point on a
three-dimensional coordinate system corresponding to a second image
among the characteristic points projected onto the second image,
the fourth step of obtaining coordinate transform functions of the
first coordinates and the second coordinates, the fifth step of
obtaining third coordinates on a three-dimensional coordinate
system corresponding to the first image at a synthesis position for
synthesizing an object with the first image, the sixth step of
obtaining fourth coordinates on a three-dimensional coordinate
system corresponding to the second image by applying the coordinate
transform functions to the third coordinates, and the seventh step
of synthesizing the projected image of an object at a position
corresponding to the fourth coordinates of the second image.
[0028] The supply medium of claim 15 provides a computer program
used for an image synthesizing apparatus for synthesizing the
projected image of an object with at least first and second images
and comprising the first step of obtaining a first characteristic
point nearby a synthesis position for synthesizing an object among
the characteristic points projected onto the first image, the
second step of obtaining first coordinates of a first
characteristic point on a three-dimensional coordinate system
corresponding to the first image, the third step of obtaining
second coordinates of a second characteristic point corresponding
to the first characteristic point on a three-dimensional coordinate
system corresponding to the second image among the characteristic
points projected onto the second image, the fourth step of
obtaining coordinate transform functions of the first and second
coordinates, the fifth step of obtaining third coordinates on a
three-dimensional coordinate system corresponding to the first
image at a synthesis position for synthesizing an object with the
first image, the sixth step of obtaining fourth coordinates on a
three-dimensional coordinate system corresponding to the second
image by applying the coordinate transform functions to the third
coordinates, and the seventh step of synthesizing the projected
image of an object at a position corresponding to the fourth
coordinates of the second image.
[0029] The position detecting apparatus of claim 16 comprises first
means for obtaining a first characteristic point nearby an object
among the characteristic points projected onto a first image,
second means for obtaining first coordinates of the first
characteristic point on a three-dimensional coordinate system
corresponding to the first image, third means for obtaining second
coordinates of a second characteristic point corresponding to the
first characteristic point on a three-dimensional coordinate system
corresponding to the second image among the characteristic points
projected onto the second image, fourth means for obtaining third
coordinates of the object on a three-dimensional coordinate system
corresponding to the first image, fifth means for obtaining fourth
coordinates of the object on a three-dimensional coordinate system
corresponding to the second image, sixth means for obtaining
coordinate transform functions of the first and second coordinates,
seventh means for obtaining fifth coordinates on a
three-dimensional coordinate system corresponding to the second
image by applying the coordinate transform functions to the third
coordinates, and eighth means for detecting the difference between
the fourth coordinates and the fifth coordinates.
[0030] The position detecting method of claim 17 comprises the
first step of obtaining a first characteristic point nearby an
object among the characteristic points projected onto a first
image, the second step of obtaining first coordinates of the first
characteristic point on a three-dimensional coordinate system
corresponding to the first image, the third step of obtaining
second coordinates of a second characteristic point corresponding
to the first characteristic point on a three-dimensional coordinate
system corresponding to the second image among the characteristic
points projected-onto the second image, the fourth step of
obtaining third coordinates of the object on a three-dimensional
coordinate system corresponding to the first image, the fifth step
of obtaining fourth coordinates of the object on a
three-dimensional coordinate system corresponding to the second
image, the sixth step of obtaining coordinate transform functions
of the first and second coordinates, the seventh step of obtaining
fifth coordinates on a three-dimensional coordinate system
corresponding to the second image by applying the coordinate
transform functions to the third coordinates, and the eighth step
of detecting the difference between the fourth and fifth
coordinates.
[0031] The supply medium of claim 18 provides a computer program
used for a position detecting apparatus for detecting the
positional relation of an object projected onto first and second
images and comprising the first step of obtaining a first
characteristic point nearby the object among the characteristic
points projected onto the first image, the second step of obtaining
first coordinates of the first characteristic point on a
three-dimensional coordinate system corresponding to the first
image, the third step of obtaining second coordinates of a second
characteristic point corresponding to the first characteristic
point on a three-dimensional coordinate system corresponding to the
second image among the characteristic points projected onto the
second image, the fourth step of obtaining third coordinates of the
object on a three-dimensional coordinate system corresponding to
the first image, the fifth step of obtaining fourth coordinates of
the object on a three-dimensional coordinate system corresponding
to the second image, the sixth step of obtaining coordinate
transform functions of the first and second coordinates, the
seventh step of obtaining fifth coordinates on a three-dimensional
coordinate system corresponding to the second image by applying the
coordinate transform functions to the third coordinates, and the
eighth step of detecting the difference between the fourth and
fifth coordinates.
[0032] The image synthesizing apparatus of claim 19 comprises
image-pickup-device-position computing means for computing the
most-probable position of an image pickup device when photographing
each of a plurality of photographic images, characteristic point
position computing means for computing the most-probable position
of the characteristic point of a first object, virtual projected
position computing means for computing a virtual projected position
to which the most-probable position of a characteristic point is
projected when performing photography by using an image pickup
device present at the most-probable position, distortion value
computing means for computing a distortion value in accordance with
the difference between a virtual projected position and the
position of a projected image of a characteristic point actually
photographed on each of a plurality of photographic images,
correcting means for correcting a position to which the projected
image of a second object is set in accordance with the distortion
value computed by the distortion value computing means, projected
image computing means for computing the projected image of the
second object when photographing the second object from an image
pickup device at the most-probable position by assuming that the
second object is located at the corrected position by the
correcting means, and synthesizing means for synthesizing the
projected image of the second object computed by the projected
image computing means with each photographic image.
[0033] The image synthesizing method of claim 21 comprises the
image-pickup-device-position computing step of computing the
most-probable position of an image pickup device when photographing
each of a plurality of photographic images, the characteristic
point position computing step of computing the most-probable
position of the characteristic point of a first object, the virtual
projected position computing step of computing a virtual projected
position to which the most-probable position of a characteristic
point is projected when performing photography by using an image
pickup device present at the most-probable position, distortion
value computing step of computing a distortion value in accordance
with the difference between a virtual projected position and the
position of the projected image of a characteristic point actually
photographed on each of a plurality of photographic images, the
correcting step of correcting a position to which the projected
image of a second object is set in accordance with the distortion
value computed in the distortion value computing step, the
projected image computing step of computing the projected image of
the second object when photographing the second object from an
image pickup device at the most-probable position by assuming that
the second object is located at the position corrected in the
correcting step, and the synthesizing step of synthesizing the
projected image of the second object computed in the projected
image computing step with each photographic image.
[0034] The supply medium of claim 23 provides a computer program
used for an image synthesizing apparatus for synthesizing the
projected image of a second object with each of a plurality of
photographic images on which a first object photographed by an
image pickup device is photographed by assuming that the second
object is located at a predetermined position and comprising the
image-pickup-device-position computing step of computing the
most-probable position of the image pickup device when
photographing each of a plurality of photographic images, the
characteristic point position computing step of computing the
most-probable position of the characteristic point of the first
object, virtual projected position computing step of computing a
virtual projected position to which the most-probable position of a
characteristic point is projected when performing photography by
using an image pickup device present at the most-probable position,
the distortion value computing step of computing a distortion value
in accordance with the difference between a virtual projected
position and the position of the projected image of the
characteristic point actually photographed on each of a plurality
of photographic images, the correcting step of correcting a
position to which the projected image of a second object is set in
accordance with the distortion value computed in the distortion
value computing step, projected image computing step of computing
the projected image of the second object when photographing the
second object from an image pickup device at the most-probable
position by assuming that the second object is located at the
position corrected in the correcting step, and the synthesizing
step of synthesizing the projected image of the second object
computed in the projected image computing step with each
photographic image.
[0035] In the case of the image synthesizing apparatus of claim 1,
first means obtains a first characteristic point nearby a synthesis
position for synthesizing the image of an object among the
characteristic points projected onto a first image, second means
obtains first coordinates of a first characteristic point on a
three-dimensional coordinate system corresponding to the first
image, third means obtains second coordinates of a second
characteristic point corresponding to the first characteristic
point on a three-dimensional coordinate system corresponding to a
second image among the characteristic points projected onto the
second image, fourth means obtains coordinate transform functions
of the first and second coordinates, fifth means obtains third
coordinates on a three-dimensional coordinate system corresponding
to the first image at a synthesis position for synthesizing the
object with the first image, sixth means obtains fourth coordinates
on a three-dimensional coordinate system corresponding to the
second image by applying the coordinate transform functions to the
third coordinates, and seventh means synthesizes the projected
image of the object at a position corresponding to the fourth
coordinates of the second image.
[0036] In the case of the image synthesizing method of claim 8 and
the supply medium of claim 15, a first characteristic point nearby
a synthesis position for synthesizing an object is obtained among
the characteristic points projected onto a first image, first
coordinates of the first characteristic point on a
three-dimensional coordinate system corresponding to the first
image are obtained, second coordinates of a second characteristic
point corresponding to the first characteristic point on a
three-dimensional coordinate system corresponding to the second
image among the characteristic points projected onto the second
image are obtained, coordinate transform functions of the first and
second coordinates are obtained, third coordinates on a
three-dimensional coordinate system corresponding to the first
image at a synthesis position for synthesizing the object with the
first image are obtained, and fourth coordinates on a
three-dimensional coordinate system corresponding to the second
image are obtained by applying the coordinate transform functions
to the third coordinates to synthesize the projected image of the
object at a position corresponding to the fourth coordinates of the
second image.
[0037] In the case of the position detecting apparatus of claim 16,
first means obtains a first characteristic point nearby an object
among the characteristic points projected onto a first image,
second means obtains first coordinates of the first characteristic
point on a three-dimensional coordinate system corresponding to the
first image, third means obtains second coordinates of a second
characteristic point corresponding to the first characteristic
point on a three-dimensional coordinate system corresponding to the
second image among the characteristic points projected onto the
second image, fourth means obtains third coordinates of the object
on a three-dimensional coordinate system corresponding to the first
image, fifth means obtains fourth coordinates of the object on a
three-dimensional coordinate system corresponding to the second
image, sixth means obtains coordinate transform functions of the
first and second coordinates, seventh means obtains fifth
coordinates on a three-dimensional coordinate system corresponding
to the second image by applying the coordinate transform functions
to the third coordinates, and eighth means detects the difference
between the fourth and fifth coordinates.
[0038] In the case of the position detecting method of claim 17 and
the supply medium of claim 18, a first characteristic point nearby
an object is obtained among the characteristic points projected
onto a first image, first coordinates of the first characteristic
point on a three-dimensional coordinate system corresponding to the
first image are obtained, second coordinates of a second
characteristic point corresponding to the first characteristic
point on a three-dimensional coordinate system corresponding to the
second image are obtained among the characteristic points projected
onto the second image, third coordinates of the object on a
three-dimensional coordinate system corresponding to the first
image are obtained, fourth coordinates of the object on a
three-dimensional coordinate system corresponding to the second
image are obtained, coordinate transform functions of the first and
second coordinates are obtained, and fifth coordinates on a
three-dimensional coordinate system corresponding to the second
image are obtained by applying the coordinate transform functions
to the third coordinates to detect the difference between the
fourth and fifth coordinates.
[0039] In the case of the image synthesizing apparatus of claim 19,
image-pickup-device-position computing means computes the
most-probable position of an image pickup device when photographing
each of a plurality of photographic images, characteristic point
position computing means computes the most-probable position of the
characteristic point of a first object, virtual projected position
computing means computes a virtual projected position to which the
most-probable position of a characteristic point is projected when
performing photography by using an image pickup device present at
the most-probable position, distortion value computing means
computes a distortion value in accordance with the difference
between a virtual projected position and the position of the
projected image of the characteristic point actually photographed
on each of a plurality of photographic images, correcting means
corrects a position to which the projected image of a second object
is set in accordance with the distortion value computed by the
distortion value computing means, projected image computing means
computes the projected image of the second object when
photographing the second object from an image pickup device present
at the most-probable position by assuming that a second object is
located at the position corrected by the correcting means, and
synthesizing means synthesizes the projected image of the second
object computed by the projected image computing means with each
photographic image.
[0040] In the case of the image synthesizing method of claim 21 and
the supply medium of claim 23, the most-probable position of an
image pickup device when photographing each of a plurality of
photographic images is computed, the most-probable position of a
characteristic point of a first object is computed, a virtual
projected position to which the most-probable position of a
characteristic point is projected when performing photography by
using an image pickup device set to the most-probable position is
computed, a distortion value is computed in accordance with the
difference between a virtual projected position and the position of
the projected image of the characteristic point actually
photographed on each of a plurality of photographic images, a
position to which the projected image of a second object is set in
accordance with the computed distortion value is corrected, and the
projected image of the second object when photographing the second
object from an image pickup device present at the most-probable
position is computed by assuming that the second object is located
at a corrected position to synthesize the projected image of the
computed second object with each photographic image.
BRIEF DESCRIPTION OF THE DRAWINGS
[0041] FIG. 1 is an illustration showing a positional relation
between the image pickup section 2 and the plate 1 of a
conventional image synthesizing method;
[0042] FIG. 2 is an illustration showing an image pickup example of
the plate 1 of the image pickup section 2 in FIG. 1;
[0043] FIG. 3 is an illustration of another image pickup example of
the plate 1 of the image pickup section 2 in FIG. 1;
[0044] FIG. 4 is an illustration showing a synthesizing example of
the balls 5 and 6 in FIG. 1;
[0045] FIG. 5 is an illustration showing another synthesizing
example of the balls 5 and 6 in FIG. 1;
[0046] FIG. 6 is an illustration showing a positional relation
between the image pickup section 2 and the plate 1 in FIG. 1;
[0047] FIG. 7 is an illustration showing another positional
relation between the image pickup section 2 and the plate 1 in FIG.
1;
[0048] FIG. 8 is a block diagram showing the structure of the first
embodiment of an image synthesizing apparatus of the present
invention;
[0049] FIG. 9 is a flowchart for explaining an operation of the
embodiment in FIG. 8;
[0050] FIG. 10 is an illustration showing a positional relation
between the image pickup section 2 and the plate 1 of the
embodiment in FIG. 8;
[0051] FIG. 11 is an illustration showing another positional
relation between the image pickup section 2 and the plate 1 of the
embodiment in FIG. 8;
[0052] FIG. 12 is a flowchart for explaining another operation of
the embodiment in FIG. 8;
[0053] FIG. 13 is an illustration showing a positional relation
between the image pickup section 2 and the plate 1 of the
embodiment in FIG. 8;
[0054] FIG. 14 is an illustration showing another positional
relation between the image pickup section 2 and the plate 1 of the
embodiment in FIG. 8;
[0055] FIG. 15 is an illustration for explaining a relation between
an image pickup device and a world coordinate system;
[0056] FIG. 16 is an illustration for explaining the projected
image of a point based on world coordinates;
[0057] FIG. 17 is a block diagram showing the structure of the
second embodiment of an image synthesizing apparatus of the present
invention;
[0058] FIG. 18 is a flowchart for explaining an operation of the
embodiment in FIG. 17;
[0059] FIG. 19 is an illustration for explaining the processing for
picking up an object with an image pickup device;
[0060] FIG. 20 is an illustration showing an example of
synthesizing a CG image with an actually picked-up image;
[0061] FIG. 21 is an illustration for explaining the change of an
actually picked-up image;
[0062] FIG. 22 is an illustration for explaining the change of CG
images; and
[0063] FIG. 23 is an illustration for explaining the change of a
synthesized image of a picked-up image with a CG image.
BEST MODE FOR CARRYING OUT THE INVENTION
[0064] An embodiment of the present invention is described below by
referring to the accompanying drawings.
[0065] To clarify the corresponding relation between each means of
the inventions of claims and the following embodiment, features of
the present invention are described below by adding a corresponding
embodiment (one example) into the parentheses after each means.
[0066] That is, the image synthesizing apparatus of claim 1
comprises first means (e.g. step S3 in FIG. 9) for obtaining a
first characteristic point nearby a synthesis position for
synthesizing an object among the characteristic points projected
onto a first image, second means (e.g. step S2 in FIG. 9) for
obtaining first coordinates of the first characteristic point on a
three-dimensional coordinate system corresponding to the first
image, third means (e.g. step S6 in FIG. 9) for obtaining second
coordinates of a second characteristic point corresponding to the
first characteristic point on a three-dimensional coordinate system
corresponding to the second image among the characteristic points
projected onto the second image, fourth means (e.g. step S7 in FIG.
9) for obtaining coordinate transform functions of the first and
second coordinates, fifth means (e.g. step S3 in FIG. 9) for
obtaining third coordinates on a three-dimensional coordinate
system corresponding to the first image at a synthesis position for
synthesizing the object with the first image, sixth means (e.g.
step SB in FIG. 9) for obtaining fourth coordinates on a
three-dimensional coordinate system corresponding to the second
image by applying a coordinate transform function to the third
coordinates, and seventh means (e.g. step S10 in FIG. 9) for
synthesizing the projected image of the object at a position
corresponding to the fourth coordinates of the second image.
[0067] The position detecting apparatus of claim 16 comprises first
means (e.g. step S34 in FIG. 12) for obtaining a first
characteristic point nearby an object among the characteristic
points projected onto a first image, second means (e.g. step S32 in
FIG. 12) for obtaining first coordinates of a first characteristic
point on a three-dimensional coordinate system corresponding to the
first image, third means (e.g. step S36 in FIG. 12) for obtaining
second coordinates of a second characteristic point corresponding
to the first characteristic point on a three-dimensional coordinate
system corresponding to the second image among the characteristic
points projected onto the second image, fourth means (e.g. step S33
in FIG. 12) for obtaining third coordinates of the object on a
three-dimensional coordinate system corresponding to the first
image, fifth means (e.g. step S37 in FIG. 12) for obtaining fourth
coordinates of the object on a three-dimensional coordinate system
corresponding to the second image, sixth means (e.g. step S38 in
FIG. 12) for obtaining coordinate transform functions of the first
and second coordinates, seventh means (e.g. step S39 in FIG. 12)
for obtaining fifth coordinates on a three-dimensional coordinate
system corresponding to the second image by applying the coordinate
transform functions to the third coordinates, and eighth means
(e.g. step S40 in FIG. 12) for detecting the difference between the
fourth and fifth coordinates.
[0068] The image synthesizing apparatus of claim 19 comprises
image-pickup-device-position computing means (e.g. step S61 in FIG.
18) for computing the most-probable position of an image pickup
device when photographing each of a plurality of photographic
images, characteristic point position computing means (e.g. step
S61 in FIG. 18) for computing the most-probable position of the
characteristic point of a first object, virtual projected position
computing means (e.g. step S61 in FIG. 18) for computing a virtual
projected position on which the most-probable position of a
characteristic point is projected when performing photography by
using an image pickup device set at the most-probable position,
distortion value computing means (e.g. step S63 in FIG. 18) for
computing a distortion value in accordance with the difference
between a virtual projected position and the position of the
projected image of a characteristic point actually photographed on
each of a plurality of photographic images, correcting means (e.g.
step S66 in FIG. 18) for correcting a position to which the
projected image of a second object is set in accordance with the
distortion value computed by the distortion value computing means,
projected image computing means (e.g. step S67 in FIG. 18) for
computing the projected image of the second object when
photographing the second object from an image pickup device present
at the most-probable position by assuming that the second object is
located at the position corrected by the correcting means, and
synthesizing means (e.g. step S67 in FIG. 18) for synthesizing the
projected image of the second object computed by the projected
image computing means with each photographic image.
[0069] Of course, the above description does not mean that it is
restricted to the description of each means.
[0070] An embodiment of an image synthesizing apparatus of the
present invention is described below by referring to FIG. 8.
[0071] As shown in FIG. 8, the image synthesizing apparatus of the
present invention has an input section 11 to be operated by a user
when the user inputs the synthesis position of a CG image (image of
the ball 5 or 6). The input section 11 is constituted with, for
example, a keyboard, a touch panel, a mouse, and a remote
controller.
[0072] A control section 12 controls each section in order to
synthesize CG data. Moreover, the control section 12 has a memory
12A in which a program for synthesizing the CG data is stored. A
computing section 13 performs various operations for synthesizing
the CG data input from a CG data storing section 16 with the image
data input from an image data accumulating section 14. Moreover,
the computing section 13 is constituted so as to output an image
synthesized with the CG data to a reproducing section 18. The
control section 12 and the computing section 13 are realized by,
for example, a microcomputer.
[0073] An image pickup section 2 uses, for example, a stereophonic
video camera constituted with a main video camera 2A and a
sub-video camera 2B and is constituted so as to pickup a plate 1
with the main video camera 2A and sub-video camera 2B and output
the picked-up image data to the image data accumulating section 14.
The image data accumulating section 14 is controlled by the control
section 12, which accumulates the image data input from the image
pickup section 2 and outputs the data to the computing section
13.
[0074] The CG data storing section 16 is controlled by the control
section 12, which stores CG data (image data of the balls 5 and 6)
to be synthesized with the image data picked up by the image pickup
section 2 and outputs the CG data to the computing section 13. A
display section 17 displays the image data picked up by the image
pickup section 2 or the positional information of the plate 1
output from the computing section 13. A reproducing section 18
reproduces image data with which the CG data input from the
computing section 13 is synthesized.
[0075] Then, operations of the embodiment thus constituted are
described below by referring to the flowchart in FIG. 9.
[0076] In step S1, a user operates the input section 11 to command
it to start pickup of the plate 1. The input section 11 outputs a
signal corresponding to the command to the control section 12. The
control section 12 makes the image data accumulating section 14
accumulate the image data sent from the image pickup section 2 in
accordance with the signal.
[0077] The image pickup section 2 (the main video camera 2A and
sub-video camera 2B) picks up the plate 1 while being moved by the
user and outputs the picked-up image data to the image data
accumulating section 14, and the image data is stored in the image
data accumulating section 14. In this case, it is assumed that the
number of images picked up by the image pickup section 2 is N.
Moreover, it is assumed that the identification numbers k from 1 to
N are provided for these images in time series and the time when
the k-th (k=1, . . . , N) image 1A.sub.k is formed is the k-th
time. Furthermore, the control section 12 makes the memory 12A
store the identification numbers k to use the memory 12A as a
counter for synthesis processing.
[0078] When pickup is completed, the control section 12 controls
the image data accumulating section 14 in step S2 to make the
section 14 output the image data accumulated in the section 14 to
the computing section 13. The computing section 13 obtains a
characteristic point (e.g. pattern on the plate 1, defect on the
plate 1, or other pattern) which extremely changes compared to a
point to which a brightness signal or color-difference signal of
the image data input from the image data accumulating section 14 is
adjacent and therefore, the characteristic point can be separated
from other part of the image data. In this case, the i-th
characteristic point (pattern) is assumed as ai. In this case,
symbol i denotes an integer which is an identification number
provided for each pattern ai. Moreover, the computing section 13
compares the same patterns ai out of the image data input from the
main video camera 2A and the sub-video camera 2B at the same time,
calculates the parallax between the patterns, and obtains the
three-dimensional position (coordinates) of every pattern
(characteristic point) ai. Because the three-dimensional position
is obtained by using the parallax between the cameras, this
position is a position on three-dimensional coordinates using the
camera (image pickup section 2) as an origin. That is, for example,
the position in the three-dimensional coordinates shown in FIG. 10
to be described later is obtained.
[0079] For example, as shown in FIG. 10, it is assumed that the
position of the image pickup section 2 at the first time is an
origin O1 and the horizontal direction, vertical direction, and
depth direction of the image pickup section 2 are X-axis, Y-axis,
and Z-axis. The computing section 13 obtains the three-dimensional
position (X1i, Y1i, Z1i) of the every pattern ai on the image
1A.sub.1 of the plate 1 at the first time.
[0080] Then, in step S3, the computing section 13 outputs the
position of every pattern ai and the first image 1A.sub.1 to the
display section 17 to make the section 17 display the position of
every pattern ai and the position of the first image 1A.sub.1. The
user operates the input section 11, and designates and inputs the
three-dimensional position (X1A, Y1A, Z1A) of the ball 5 for
synthesizing the projected image 5A.sub.1 of the ball 5 with the
first image 1A.sub.1 and the three-dimensional position (X1B, Y1B,
Z1B) of the ball 6 for synthesizing the projected image 6B.sub.1 of
the ball 6 with the first image 1A.sub.1 based on the position
information at the first time displayed in the display section
17.
[0081] Then, the computing section 13 obtains the three-dimensional
vector (x2, y2, z2) between the ball 5 and the pattern ai on every
pattern ai in accordance with the following Equation (7) and
selects a predetermined number of patterns (e.g. 12 patterns) (in
the portion enclosed by the frame 21 in FIG. 10) Aj (j=1, . . . ,
12) in order of magnitudes of the vectors starting with a vector
having the smallest magnitude (starting with a vector closest to
the ball 5).
(x2,y2,z2)=(X1i,Y1i,Z1i)-(X1A,Y1A,Z1A) (7)
[0082] Then, the positions of the 12 selected patterns Aj (j=1, . .
. , 12) are assumed as (X1Aj, Y1Aj, Z1Aj) (j=1, . . . , 12).
[0083] Similarly, the computing section 13 obtains
three-dimensional vectors (x3, y3, z3) between the ball 6 and the
pattern ai on all patterns ai in accordance with the following
Equation (8) and selects 12 patterns (in the portion enclosed by
the frame 22 in FIG. 10) Bj (j=1, . . . , 12) in order of
magnitudes of the vectors starting with a vector having the
smallest magnitude (starting with a vector closest to the ball
6).
(x3,y3,z3)=(X1i,Y1i,Z1i)-(X1B,Y1B,Z1B) (8)
[0084] Then, the positions of the 12 selected patterns Bj (j=1, . .
. , 12) are assumed as (X1Bj, Y1Bj, Z1Bj) (j=Thus, a characteristic
point nearby a synthesis position is obtained and then, step 64 is
started to perform image synthesis processing. That is, the
computing section 13 obtains a two-dimensional synthesis position
on the first image 1A.sub.1 corresponding to a three-dimensional
synthesis position. The two-dimensional synthesis position is
obtained by perspective-projection-- transforming the
three-dimensional synthesis position. That is, when assuming the
focal distance of the image pickup section 2 as f, the
two-dimensional position of the projected image 5A.sub.1 of the
ball 5 on the image 1A.sub.1 at the first time corresponding to the
three-dimensional position (X1A, Y1A, Z1A) is shown as
(X1A.times.f/Z1A, Y1A.times.f/Z1A). Similarly, the position of the
projected image 6B.sub.1 of the ball 6 on the two-dimensional image
1A.sub.1 at the first time corresponding to the three-dimensional
position (X1B, Y1B, Z1B) is shown as (X1B.times.f/Z1B,
Y1B.times.f/Z1B).
[0085] The control section 12 controls the CG data storing section
16 to output the CG data (image data for the balls 5 and 6) stored
in the CG data storing section 16 to the computing section 13.
Then, the computing section 13 synthesizes the CG data at the
obtained synthesis position.
[0086] Then, in step S5, the control section 12 sets an image
identification number k to 2.
[0087] As shown in FIG. 11, it is assumed that the position of the
image pickup section 2 at the k-th time is an origin O.sub.k, and
the horizontal direction, vertical direction, and depth direction
of the image pickup section 2 are X-axis, Y-axis, and Z-axis. In
step S6, the computing section 13 obtains the three-dimensional
position (Xki, Yki, Zki) of the pattern ai (characteristic point)
at the k-th (in this case, k=2) image 1A.sub.k. The method for
obtaining the position of the pattern ai is the same as the method
for obtaining the position of the pattern ai of the first image
1A.sub.1.
[0088] As described above, because the patterns ai on the plate 1
can be separated from each other, it is possible to identify that
patterns (nearby patterns) Aj and Bj (j=1, . . . , 12) in the
(k-1)-th three-dimensional coordinate system restored by the
(k-1)-th (in this case, 1st) image 1A.sub.k-1 correspond to which
patterns Aj and Bj (j=1, . . . , 12) in the k-th three-dimensional
coordinate system restored by the k-th image 1A.sub.k. In this
case, it is assumed that the positions of the patterns Aj and Bj
(j=1, . . . , 12) in the k-th three-dimensional coordinate system
are (XkAj, YkAj, ZkAj) and (XkBj, YkBj, ZkBj) (j=1, . . . ,
12).
[0089] The above two coordinate systems view the same patterns Aj
and Bj from different angles. Therefore, in the (k-1)-th
three-dimensional coordinate system, by applying predetermined
rotational transform (hereafter, the transform function of the
rotational transform is assumed as R.sub.2) and predetermined
rectilinear transform (hereafter, the transform function of the
rectilinear transform is assumed as S.sub.2) to each pattern Aj in
the (k-1)-th three-dimensional coordinate system, it is possible to
obtain the k-th three-dimensional coordinate system. Therefore, the
following Equation (9) is effected for each pattern Aj.
(XkAj,YkAj,ZkAj)=(X(k-1)Aj,Y(k-1)Aj,Z(k-1)Aj).multidot.R.sub.2+S.sub.2
(9)
[0090] Therefore, in step S7, the computing section 13 obtains the
transform functions R.sub.2 and S.sub.2 by substituting (X(k-1)Aj,
Y(k-1)Aj, Z(k-1)Aj) and (XkAj, YkAj, ZkAj) for the above Equation
(9) on each pattern Aj.
[0091] Similarly, by applying predetermined rotational transform
(hereafter, the transform function of the rotational transform is
assumed as R.sub.3) and predetermined rectilinear transform
(hereafter, the transform function of the rectilinear transform is
assumed as S.sub.3) to each pattern Bj in the (k-1)-th
three-dimensional coordinate system, it is possible to obtain the
k-th three-dimensional coordinate system. Therefore, the following
Equation (10) is effected for each pattern Bj.
(XkBj,YkBj,ZkBj)=(X(k-1)Bj,Y(k-1)Bj,Z(k-1)Bj)R.sub.3+S.sub.3
(10)
[0092] Therefore, the computing section 13 obtains the transform
functions R.sub.3 and S.sub.3 by substituting (X(k-1)Bj, Y(k-1)Bj,
Z(k-1)Bj) and (XkBj, YkBj, ZkBj) for the above Equation (10) on
each pattern Bj.
[0093] As described above, when restoring the positions of the
patterns Aj and Bj in a three-dimensional space from
two-dimensional image data picked up at a certain time, the
restored position includes any error. Therefore, when using, for
example, the (k-1)-th three-dimensional coordinate system as a
criterion, the positions of the j-th patterns Aj and Bj are not
accurately present at (X(k-1)Aj, Y(k-1)Aj, Z(k-1)Aj) and (X(k-1)Bj,
Y(k-1)Bj, Z(k-1)Bj). Moreover, when using the k-th
three-dimensional coordinate system as a criterion, the positions
of the j-th patterns Aj and Bj are not accurately present at (XkAj,
YkAj, ZkAj) and (XkBj, YkBj, ZkBj).
[0094] Therefore, the computing section 13 totalizes values
obtained by squaring the magnitude of the three-dimensional vector
(x4, y4, z4) in the following Equation (11) on all patterns Aj in
accordance with the least-squares method to obtain (most-probable)
transform functions R.sub.2 and S.sub.2 for minimizing the total
value.
(x4,y4,z4)=(XkAj,YkAj,ZkAj)-{(X(k-1)Aj,Y(k-1)Aj,Z(k-1)Aj).multidot.R.sub.2-
+S.sub.2} (11)
[0095] By using the transform functions R.sub.2 and S.sub.2
obtained as described above, in step S8, the computing section 13
obtains the three-dimensional position (XkA, YkA, ZkA) of the ball
5 at the k-th time in accordance with the following Equation (12).
This position is the position in the three-dimensional coordinate
system shown in FIG. 11.
(XkA,YkA,ZkA) (X(k-1)A,Y(k-1)A,Z(k-1)A).multidot.R.sub.2+S.sub.2
(12)
[0096] Similarly, the computing section 13 totalizes values
obtained by squaring three-dimensional vector (x5, y5, z5) on all
patterns Bj in accordance with the least-squares method to obtain
(most-probable) transform functions R.sub.3 and S.sub.3 for
minimizing the totalized value as shown by the following Equation
(13).
(x5,y5,z5)=(XkBj,YkBj,ZkBj)-{(X(k-1)Bj,Y(k-1)Bj,Z(k-1)Bj).multidot.R.sub.3-
+S.sub.3} (13)
[0097] By using the transform functions R.sub.3 and S.sub.3
obtained as described above, in step S8, the computing section 13
obtains the position (XkB, YkB, ZkB) of the projected image
6B.sub.k of the ball 6 at the k-th time from the following Equation
(14). This position is the position in the three-dimensional
coordinate system shown in FIG. 11.
(XkB,YkB,ZkB)=(X(k-1)B,Y(k-1)B,Z(k-1)B).multidot.R.sub.3+S.sub.3
(14)
[0098] In this connection, R.sub.2, S.sub.2, R.sub.3, and S.sub.3
depend on the positional relation between the image pickup sections
2 at the (k-1)-th time and the k-th time. That is, R.sub.2,
S.sub.2/R.sub.3, and S.sub.3 are functions of k, and R.sub.2 equals
R.sub.2(k), S.sub.2 equals S.sub.2(k), R.sub.3 equals R.sub.3(k),
and S.sub.3 equals S.sub.3(k).
[0099] Moreover, in step S9, the computing section 13 obtains
three-dimensional vectors (x6, y6, z6) between the ball 5 and the
pattern ai on all patterns ai in accordance with the following
Equation (15) and selects 12 patterns (in the portion enclosed by
the frame 21 in FIG. 11) Aj in the k-th three-dimensional
coordinate system in order of magnitudes of the vectors starting
with a vector having the smallest magnitude (starting with a vector
closest to the ball 5) as shown by the following Equation (15).
(x6,y6,z6)=(Xki,Yki,Zki)-(XkA,YkA,ZkA) (15)
[0100] Moreover, the computing section 13 obtains three-dimensional
vectors (x7, y7, z7) between the ball 6 and the pattern ai on all
patterns ai in accordance with the following Equation (16) and
selects 12 patterns (in the portion enclosed by the frame 22 in
FIG. 11) Bj in the k-th three-dimensional coordinate system in
order of magnitudes of the vectors starting with a vector having
the smallest magnitude (starting with a vector closest to the ball
6). 1 ( x7 , y7 , z7 ) = ( Xki , Yki , Zki ) - ( XkB , YkB , ZkB )
( 16 )
[0101] Then, in step S10, the computing section 13 synthesizes the
projected image 5A.sub.k of the ball 5 at the position of
(XkA.times.f/ZkA, YkA.times.f/ZkA) by using the relation of the
perspective projection transform in the k-th image 1A.sub.k.
Moreover, when there is any object other than the projected image
5A.sub.k in the k-th image 1A.sub.k at the image pickup section-2
side, the computing section does not synthesize the projected image
5A.sub.k if it is behind the object.
[0102] Similarly, the computing section 13 synthesizes the
projected image 6B.sub.k of the ball 6 at the position of
(XkB.times.f/ZkB, YkB.times.f/ZkB) by using the relation of the
perspective projection transform in the k-th image 1A.sub.k. Also
in this case, when there is any object other than the projected
image 6B.sub.k in the k-th image 1A.sub.k at the image pickup
section-2 side, the computing section 13 does not synthesize the
projected image 6B.sub.k if it is behind the object.
[0103] Then, in step S11, the control section 12 decides whether
synthesis processing is completed on the whole image data picked up
by the image pickup section 2. Unless the processing is completed
(for k . . . N), the control section 12 starts step S12 to
increment the identification number k of an image by 1 (k=k+1), and
returns to step S4 to continue the synthesis processing. When the
processing is completed (for k=N), the control section 12 starts
step S13 and the computing section 13 outputs the image data
undergoing the synthesis processing to the reproducing section 18
to make the section 18 reproduce the data (display the data).
[0104] For example, when positional relation between the patterns
ai nearby the balls 5 and 6 (for example, 10 cm separate from the
balls 5 and 6) is always the same, a person senses that the balls 5
and 6 are stationary. However, even if the positional relation
between the patterns ai present far from the balls 5 and 6 (for
example, 100 m separate from the balls 5 and 6) changes, the person
does not sense the change of the positional relation.
[0105] In the case of the present invention, a pattern nearby a
synthesis position is selected without considering a pattern
present far from the synthesis position (that is, a pattern not to
be sensed by a person) to obtain the rotational transform and
rectilinear transform for the pattern. Therefore, it is possible to
synthesize an image so that the balls 5 and 6 seem to be stationary
on the plate 1.
[0106] In the case of the above embodiment, the stationary balls 5
and 6 are synthesized with the plate 1. However, it is also
possible to synthesize the moving balls 5 and 6 with the plate 1.
In this case, it is necessary to synthesize the projected images of
the balls 5 and 6 at the synthesis position of the balls 5 and 6 to
be synthesized in the k-th three-dimensional coordinate system
obtained in step S8 in FIG. 9 by using values obtained by adding
the three-dimensional vector showing each movement at the synthesis
position as new positions of the balls 5 and 6.
[0107] Moreover, in the case of the above embodiment, relatively
small objects such as the balls 5 and 6 are synthesized. However,
it is also possible to synthesize a large object. For example, to
synthesize a large rectangular parallelepiped, by designating eight
vertexes of the rectangular parallelepiped, it is possible to
obtain the sides for connecting the vertexes and a plane enclosed
by the sides. The rectangular parallelepiped is synthesized by
assuming these eight vertexes as independent objects. Because eight
points are determined in each continuous image, it is possible to
synthesize the rectangular parallelepiped by connecting these
points by straight lines and using the points connected by the
straight lines as sides and moreover, using the range enclosed by
the sides as a plane.
[0108] In the case of the above embodiment, images of the balls 5
and 6 formed through CG are synthesized. However, it is also
possible to obtain the positional relation between objects (objects
to be actually photographed) actually present on the plate 1. Then,
the operation is described below by referring to the flowchart in
FIG. 12.
[0109] As shown in FIG. 13, it is assumed that the position of the
image pickup section 2 at the first time is an origin O1 and the
horizontal direction, vertical direction, and depth direction of
the image pickup section 2 are X-axis, Y-axis, and Z-axis. Existent
balls 31 and 32 move on the plate 1. In step S31, the image pickup
section 2 picks up the plate 1 while being moved by, for example, a
user. Similarly to the case of the above embodiment, it is assumed
that the number of images picked up by the image pickup section 2
within a pickup time is N. Moreover, identification numbers k from
1 to N are provided for these images in time series and it is
assumed that the time when the k-th (k=1, . . . , N) image 1A.sub.k
is formed is the k-th time. Moreover, the control section 12 makes
a memory 12A store the identification numbers k and uses the memory
12 as a synthesis-processing counter.
[0110] When image pickup by the image pickup section 2 is
completed, the computing section 13 obtains the three-dimensional
position (X1i, Y1i, Z1i) of every pattern (characteristic point) ai
on the plate 1 at the first time in step S32. Moreover, the
computing section 13 obtains the three-dimensional position (X1C,
Y1C, Z1C) of the ball 31 and the three-dimensional position (X1D,
Y1D, Z1D) of the ball 32 at the first time in step S33.
[0111] The computing section 13 obtains three-dimensional vectors
(x8, y8, z8) between the ball 31 and the pattern ai on all patterns
ai in step S34 in accordance with the following Equation (17) and
selects 12 patterns (in the portion enclosed by the frame 41 in
FIG. 13) Cj in the first three-dimensional coordinate system in
order of magnitudes of the vectors starting with a vector having
the smallest magnitude (starting with a vector closest to the ball
31).
(x8,y8,z8)=(X1i,Y1i,Z1i)-(X1C,Y1C,Z1C) (17)
[0112] Moreover, the positions of the 12 selected patterns Cj (j=1,
. . . , 12) are assumed as (X1Cj, Y1Cj, Z1Cj) (j=1, . . . ,
12).
[0113] Similarly, the computing section 13 obtains
three-dimensional vectors (x9, y9, z9) between the ball 32 and the
pattern ai on all patterns ai in accordance with the following
Equation (18) and selects 12 patterns (in the portion enclosed by
the frame 42 in FIG. 13) Dj in the first three-dimensional
coordinate system in order of magnitudes of the vector starting
with a vector having the smallest magnitude (starting with a vector
closest to the ball 32).
(x9,y9,z9)=(X1i,Y1i,Z1i)-(X1D,Y1D,Z1D) (18)
[0114] Then, positions of the 12 selected patterns Dj (j=1, . . . ,
12) are assumed as (X1Dj, Y1Dj, Z1Dj) (j=1, . . . , 12).
[0115] Then, in step S35, the control section 12 sets the
identification number k of image data to 2.
[0116] Similarly, as shown in FIG. 14, it is assumed that the
position of the image pickup section 2 at the k-th time (in this
case, k=2) is an origin Ok, and the horizontal direction, vertical
direction, and depth direction of the image pickup section 2 are
X-axis, Y-axis, and Z-axis. Moreover, the computing section 13
obtains the three-dimensional position (Xki, Yki, Zki) of the
pattern ai in the k-th image 1A.sub.k in step S36.
[0117] As described above, the patterns ai on the plate 1 can be
separated from each other, it is possible to identify that the
patterns Cj and Dj (j=1, . . . , 12) in the (k-1)-th
three-dimensional coordinate system restored from the (k-1)-th
image 1A.sub.k-1 correspond to which patterns Cj and Dj (j=1, . . .
, 12) in the k-th three-dimensional coordinate system restored from
the k-th image 1A.sub.k. In this case, positions of the patterns Cj
and Dj (j=1, . . . , 12) in the k-th three-dimensional coordinate
system are assumed as (XkCj, YkCj, ZkCj) and (XkDj, YkDj, ZkDj)
(j=1, . . . , 12).
[0118] The computing section 13 obtains the position (XkC, YkC,
ZkC) of the ball 31 and the position (XkD, YkD, ZkD) of the ball 32
at the k-th time in step S37.
[0119] By applying predetermined rotational transform (hereafter,
the transform function of the rotational transform is assumed as
R.sub.4) and predetermined rectilinear transform (hereafter, the
transform function of the rectilinear transform is assumed as
S.sub.4) to the pattern Cj in the (k-1)-th three-dimensional
coordinate system, it is possible to obtain the k-th
three-dimensional coordinate system. Moreover, to restore the
position of the pattern Cj in a three-dimensional space, the
computing section 13 totalizes values obtained by squaring the
magnitude of three-dimensional vector (x12, y12, z12) on all
patterns Cj by the least-squares method in accordance with the
following Equation (19) to obtain (most-probable) transform
functions R.sub.4 and S.sub.4 for minimizing the total value in
step S38 by considering that the restored position includes any
error.
(x12,y12,z12)=(XkCj,YkCj,ZkCj)-{(X(k-1)Cj,Y(k-1)Cj,Z(k-1)Cj).multidot.R.su-
b.4+S.sub.4} (19)
[0120] The computing section 13 obtains a position (XkC', YkC',
ZkC') when the ball 32 is stationary in accordance with the
following Equation (20) in step S39 by using the transform
functions R.sub.4 and S.sub.4 thus obtained.
(XkC',YkC',ZkC') (X(k-1)C,Y(k-1)C,Z(k-1)C).multidot.R.sub.4+S.sub.4
(20)
[0121] Therefore, the three-dimensional vector (xkc, ykc, zkc) in
the following Equation (21) shows the movement of the ball 31
between the (k-1)-th time and the k-th time. This operation is
performed in step S40.
(xkc,ykc,zkc)=(XkC,YkC,ZkC)-(XkC',YkC',ZkC') (21)
[0122] Similarly, by applying predetermined rotational transform
(hereafter, the transform function is assumed as R.sub.5) and
predetermined rectilinear transform (hereafter, the transform
function is assumed as S.sub.5) to the pattern Dj in the (k-1)-th
three-dimensional coordinate system, it is possible to obtain the
k-th three-dimensional coordinate system. To restore the position
of the pattern Dj in a three-dimensional space, the computing
section 13 totalizes values obtained by squaring the magnitude of
the three-dimensional vector (x13, y13, z13) in the following
Equation (22) on all patterns Dj by the least-squares method to
obtain (most-probable) transform functions R.sub.5 and S.sub.5 for
minimizing the total value by considering that the restored
position includes any error.
(x13,y13,z13)=(XkDj,YkDj,ZkDj)-{(X(k-1)Dj,Y(k-1)Dj,Z(k-1)Dj).multidot.R.su-
b.5+S.sub.5} (22)
[0123] The computing section 13 obtains a position (XkD', YkD',
ZkD') when the ball 32 is stationary in accordance with the
following Equation (23) by using the transform functions R.sub.5
and S.sub.5 thus obtained.
(XkD',YkD',ZkD')=(X(k-1)D,Y(k-1)D,Z(k-1)D).multidot.R.sub.5+S.sub.5
(23)
[0124] Therefore, it is possible to obtain the three-dimensional
vector (xkd, ykd, zkd) in the following Equation (24), that is, the
movement of the ball 32 between the (k-1)-th time and the k-th
time.
(xkd,ykd,zkd)=(XkD,YkD,ZkD)-(XkD',YkD',ZkD') (24)
[0125] Then, the computing section 13 obtains three-dimensional
vectors (x10, y10, z10) between the ball 31 and the pattern ai on
all patterns ai in step S41 as shown by the following Equation (25)
and selects 12 patterns (in the portion enclosed by the frame 41 in
FIG. 14) Cj in the k-th three-dimensional coordinate system in
order of magnitudes of the vectors starting with a vector having
the smallest magnitude (starting with a vector closest to the ball
31).
(x10,y10,z10)=(Xki,Yki,Zki)-(XkC,YkC,ZkC) (25)
[0126] Moreover, the computing section 13 obtains three-dimensional
vectors (x11, y11, z11) between the ball 32 and the pattern ai on
all patterns ai as shown by the following Equation (26) and selects
12 patterns (in the portion enclosed by the frame 42 in FIG. 14) Dj
in the k-th three-dimensional coordinate system in order of
magnitudes of the vectors starting with a vector having the
smallest magnitude (starting with a vector closest to the ball
32).
(x11,y11,z11)=(Xki,Yki,Zki)-(XkD,YkD,ZkD) (26)
[0127] Then, in step S42, the control section 12 decides whether
synthesis processing is completed on the whole image data picked up
by the image pickup section 2. When the processing is not completed
(for k . . . N), the control section 12 starts step S43 to
increment the identification number k of an image by 1 (k=k +1),
and returns to step S36 to continue the synthesis processing. When
the processing is completed (for k=N), the computing section 13
starts step S44 to make the display section 17 display movement
values (xkc, ykc, zkc) and (xkd, ykd, zkd) at each time.
[0128] In the case of the above first embodiment, a characteristic
point uses a two-dimensional object such as the pattern ai on the
plate 1. However, it is also possible to use, for example, a side
of a rectangular parallelepiped three-dimensionally arranged.
[0129] Moreover, in the case of the first embodiment, a
characteristic point is selected through the operation by the
computing section 13. However, it is also possible that, for
example, a user selects the characteristic point by operating the
input section 11 during processing.
[0130] Furthermore, in the case of the first embodiment, 12
patterns (characteristic points) Aj and Bj nearby a synthesis
position are selected. However, for example, it is also possible to
obtain a rotational transform function and a rectilinear transform
function by selecting 20 patterns close to a synthesis position,
providing a weight larger than that of 8 remaining patterns for 12
patterns closer to the synthesis position out of 20 patterns, and
using the least-squares method.
[0131] The obtained rotational transform function and rectilinear
transform function serve as a rotational transform function and a
rectilinear transform function having a relatively large error for
8 relatively remote patterns and serve as a rotational transform
function and a rectilinear transform function having a completely
controlled error for the 12 patterns close enough. This is
favorable because this corresponds to the human-eye characteristic
of recognizing the positional relation between characteristic
points separate from each other to a certain extent (the above 8
patterns) at a relatively rough accuracy and recognizing the
positional relation between characteristic points close enough to
each other (the above 12 patterns) at a high accuracy. Of course,
the present invention does not restrict the number of
characteristic points to 12 or 20.
[0132] In the case of the first embodiment, the picked up plate 1
is synthesized with CG data so as to simplify the description.
Actually, however, the plate 1 is a real image photographed by a
camera and a characteristic point in the plate 1 corresponds to a
characteristic point such as an edge in the real image. For
example, when there is a desk or wall in a photographic image, a
corner of the desk or stain (dust or the like) on the wall serves
as a characteristic point.
[0133] For example, it is assumed to put a vase formed through CG
on a real-image desk obtained by photographing an actual room in
which a real desk is present by a camera. First, it is possible to
obtain three-dimensional information (characteristic point) from a
corner of the desk. Moreover, a corner of a window frame of the
room or a corner of a fluorescent lamp on the ceiling of the room
is detected as three-dimensional information (characteristic
point). Furthermore, when putting the vase formed through CG on the
desk, the vase formed through CG is synthesized with the real image
in accordance with the three-dimensional information obtained from
a characteristic point (e.g. the corner of the desk or the like)
present nearby the position where the vase is put. In this case,
however, the three-dimensional information obtained from a remote
characteristic point (e.g. the corner of the window frame of the
room or the corner of the fluorescent lamp on the ceiling of the
room) is ignored.
[0134] In the case of the above embodiment, a small ball formed
through CG is synthesized with a photographic image. Moreover, to
synthesize a large rectangular parallelepiped, eight vertexes of
the rectangular parallelepiped are assumed as independent objects,
each vertex is synthesized with a characteristic point nearby the
vertex so that the positions coincide with each other, and sides
and planes are synthesized at positions where these vertexes are
connected by straight lines. That is, because vertexes are
positioned, a person does not sense that the vertexes of the
rectangular parallelepiped are displaced. However, sides and planes
are not accurately positioned.
[0135] As a result, when processing a photographic image string
obtained by continuously photographing a first object and thereby,
generating a new photographic image string showing as if a second
object is present at the string, that is, when synthesizing the
second object with the original photographic image string and
thereby, generating a synthesized image string, the synthesized
image string may be unnatural because a synthesis position is
slightly displaced in each synthesized image.
[0136] That is, when obtaining the position and attitude
(direction) of an image pickup device in a three-dimensional real
space and the position of a characteristic point in a
three-dimensional real space at each time, these obtained values do
not show true values but they include errors.
[0137] A projected image at a certain time Th is noticed. The
projected position of a characteristic point when photographing the
characteristic point from the obtained position and attitude
(direction) of the image pickup device including errors but not
showing true values at the time Th by assuming that the
characteristic point is present at the position of the obtained
characteristic point including errors but not showing a true value
is referred to as a virtual projected position.
[0138] In fact, the position of the characteristic point appearing
on a photographic image Ph photographed at the time Th is slightly
displaced from the virtual projected position.
[0139] Therefore, in the case of the second embodiment to be
described below, the displacement value (distortion value) is
obtained. The distortion value depends on the position. Moreover,
because the distortion value depends on time, it is obtained for
each time. In other words, the distortion value is the function of
position and time.
[0140] The position (virtual position) of the object (second
object) to be synthesized is determined by an operator in
accordance with the relation between the position of the second
object and the position of the above obtained characteristic
point.
[0141] Similarly to the case of the first embodiment, when
obtaining the projected image of the second object from the
obtained position and attitude (direction) of the image pickup
device at the time when assuming that the second object is present
at this virtual position, it is displaced from the projected
position of a characteristic point in the actually-photographed
photographic image Ph.
[0142] In the case of the second embodiment, the virtual position
of the second object determined by the operator is distorted by a
value equal to the distortion value obtained above. Moreover, the
projected image of the second object is obtained by assuming that
the second object is present at the distorted position. Thus, the
position of the projected image of the second object coincides with
that of the projected image of the characteristic point in the
actually-photographed photographic image Ph.
[0143] Then, geometry about general computer vision is described
below before specifically describing the second embodiment.
[0144] It is assumed that the position and attitude (direction) of
an image pickup device (corresponding to the image pickup section 2
in FIG. 8) is present at a position moved from the origin of world
coordinates due to the rotation of a matrix R and the translation
of a vector S. In this case, a point at a position (X, Y, Z) on the
basis of the world coordinates has coordinates (XX, YY, ZZ) shown
in the following Equation (27) in the case of a coordinate system
based on the above image pickup device. This state is shown in FIG.
15. 2 [ XX YY ZZ ] = R [ X Y Z ] - RS = [ R11 R12 R13 R21 R22 R23
R31 R32 R33 ] [ X Y Z ] - [ R11 R12 R13 R21 R22 R23 R31 R32 R33 ] [
S1 S2 S3 ] ( 27 )
[0145] Therefore, the position (U, V) of the projected image of the
above point in the photographic image photographed by the above
image pickup device is shown by the following Equations (28) and
(29). This state is shown in FIG. 16. 3 U = f XX YY = f R11 X + R12
Y + R13 Z + S1 ' R31 X + R32 Y + R33 Z + S3 ' ( 28 ) V = f YY ZZ =
f R21 X + R22 Y + R23 Z + S2 ' R31 X + R32 Y + R33 Z + S3 ' Where ,
[ S1 ' S2 ' S3 ' ] = - RS ( 29 )
[0146] Symbol f in the Equations (28) and (29) denotes the focal
distance of the image pickup device.
[0147] Then, points in a plurality of photographic images and
points in the three-dimensional real spaces are assumed.
[0148] A plurality of photographic images are obtained by
performing photography while moving the image pickup device. It is
assumed that photography is performed at H times such as T1, T2,
T3, . . . , TH. Moreover, it is assumed that a photographic image
photographed at the time Th is Ph. Furthermore, it is assumed that
the position and attitude (direction) of the image pickup device at
the time Th is moved from the origin of the world coordinates due
to rotation matrix Rh and parallel displacement vector Sh. In this
case, h=1, . . . , H.
[0149] Furthermore, it is assumed that each of the positions of the
points (J points) in the three-dimensional real spaces is (Xj, Yj,
Zj) on the basis of the world coordinates. That is, it is assumed
that the position of the j-th point is (Xj, Yj, Zj). In this case,
j=Furthermore, it is assumed that each point is stationary in a
three-dimensional real space.
[0150] Furthermore, it is assumed that the position of the
projected image of the j-th point appearing on the photographic
image Ph is (Uhj, Vhj).
[0151] Because of the same as the case of the Equations (27) to
(29), the following Equations (30) to (32) are derived. 4 [ XXhj
YYhj ZZhj ] = Rh [ Xj Yj Zj ] - Rh Sh = [ Rh11 Rh12 Rh13 Rh21 Rh22
Rh23 Rh31 Rh32 Rh33 ] [ Xj Yj Zj ] - [ R11 R12 R13 R21 R22 R23 R31
R32 R33 ] [ Sh1 Sh2 Sh3 ] Where , j = 1 , , J , and h = 1 , , H . (
30 ) Uhj = f Rh11 Xj + Rh12 Yj + Rh13 Zj + Sh1 ' Rh31 Xj + Rh32 Yj
+ Rh33 Zj + Sh3 ' ( 31 ) Vhj = f Rh21 Xj + Rh22 Yj + Rh23 Zj + Sh2
' Rh31 Xj + Rh32 Yj + Rh33 Zj + Sh3 ' Where , [ Sh1 ' Sh2 ' Sh3 ' ]
= - Rh Sh , j = 1 , , J , and h = 1 , , H . ( 32 )
[0152] In this case, (XXhj, YYhj, ZZhj) denotes the position of the
j-th point on a coordinate system based on the image pickup device
at the time Th.
[0153] It is assumed that the position and attitude (direction) of
the image pickup device and the position (Xj, Yj, Zj) of the above
point in a three-dimensional real space at each time are unknown.
In this case, it is possible to obtain these unknown values from
the photographic image Ph (h=1,. . . , H) at each time. That is,
the position (Uhj, Vhj) of the projected image of the j-th point
appearing on the photographic image Ph can be obtained by checking
the image Ph. It is possible to obtain unknown parameters (rotation
matrix Rh, parallel displacement vector Sh, and Xj, Yj, Zj) by
substituting the obtained position (Uhj, Vhj) for the Equations
(31) and (32). Where, h=1, . . . , H, j=1, . . . , J.
[0154] When solving the Equations (31) and (32) by substituting the
value of (Uhj, Vhj) for the Equations (31) and (32), the
indeterminacy of how to put the world coordinates remains. However,
this is not important. For example, it is possible to make the
position and attitude (direction) of the image pickup device at the
first time T1 coincide with the world coordinates. In other words,
it is possible to solve the Equations (31) and (32) under the
condition that R.sub.1 is a zero matrix and S.sub.1 is a zero
vector.
[0155] Moreover, in the case of an image pickup device using a wide
angle lens (fish-eye lens), a photographic image taken by the
device may be distorted. In this case, it is necessary to
previously measure a distortion value (to previously calibrate a
camera). By multiplying a distorted photographic image by the
inverse number of the distortion value, it is possible to form an
undistorted photographic image. Moreover, by using the above method
for the undistorted photographic image, it is possible to obtain
the position and attitude (direction) of the image pickup device
and the position (Xj, Yj, Zj) of the above point in a
three-dimensional real space at each time from the Equations (31)
and (32).
[0156] By solving the Equations (31) and (32), it is possible to
obtain the position and attitude (direction) of the image pickup
device in a three-dimensional real space and the position of the
above point in the three-dimensional real space at each time.
However, these obtained values do not show true values. As
described above, errors are always included in measured data in
general. The position and attitude (direction) of the image pickup
device and the position (Xj, Yj, Zj) of the j-th point at each time
(Th) are used as unknown parameters and these unknown parameters
are obtained from observed data (Uhj, Vhj) in accordance with the
Equations (31) and (32). In this case, because errors are included
in the observed data (Uhj, Vhj), errors are also included in the
position and attitude (direction) of the image pickup device in a
three-dimensional real space and the position of the above point in
the three-dimensional real space obtained by solving the Equations
(31) and (32).
[0157] FIG. 17 shows an example of the structure of the image
synthesizing apparatus of the second embodiment. In FIG. 17, a
processing circuit 32 performs various types of operations in
accordance with a program stored in a program memory 31. A data
memory 33 is a memory for storing the data currently processed by
the processing circuit 32. A frame memory 34 stores the image data
to be displayed on an image display unit 35. An input unit 36 is
constituted with, for example, a keyboard and a mouse and operated
to input various commands. An input/output terminal 37 is connected
with a not-illustrated external unit to transfer data. A bus line
38 is a bus for connecting these units each other.
[0158] Then, operations of the image synthesizing apparatus of the
second embodiment are described below by referring to the flowchart
in FIG. 18. The processing in FIG. 18 is mainly performed by the
processing circuit 32.
[0159] It is assumed to put (synthesize) a building (second object:
shown as a building 91 in FIG. 20) formed through CG between two
real buildings (first objects: shown as a building 71 and a
building 81 in FIG. 19). Then, in step S61, the above two real
buildings (first objects) are photographed while moving a video
camera (image pickup device). The image data for the two buildings
is stored in the data memory 33 through the bus line 38 from the
input/output terminal 37. In this case, because the position of the
projected image of a building in each photographic image moves with
passage of time, it is also necessary to displace the position of
the projected image of the building (second object) to be
synthesized in the photographic image. This state is shown in FIGS.
19 to 23.
[0160] That is, as shown in FIG. 19, it is assumed that the
position of the video camera (image pickup device) is 61-1 at the
first time T1. At the next time T2, the video camera moves to the
position 61-2. Similarly, at the time Th (h=3, 4, . . . , H), the
position of the video camera moves to 61-h. Thereby, the above two
real buildings (first objects) 71 and 81 are picked up. It is the
final object to synthesize the second object (building 91) between
the buildings 71 and 81, that is, obtain the same synthesized image
as the photographic image just obtained by photographing the three
buildings 71, 91, and 81 shown in FIG. 20 while moving the video
camera from the position 61-1 to the position 61-H.
[0161] FIG. 21 shows photographic images P1, P2, . . . , Ph, . . .
, PH taken by the video camera at the times T1, T2, . . . , Th, . .
. , TH. Symbols 71-1, 71-2, . . . , 71-h, . . . , 71-H denote
projected images of the above real building 71 at various times.
Symbols 81-1, 81-2, . . . , 81-h, . . . , 81-H denote projected
images of the above real building 81 at various times.
[0162] Then, the position and attitude (direction) of the video
camera in a three-dimensional real space and positions of J
characteristic points (first characteristic points) of the first
objects 71 and 81 in the three-dimensional real space when
photographing each photographic image Ph (FIG. 21) at each time are
obtained. As described above, a characteristic point is a point at
which brightness or color suddenly changes. For example, a
characteristic point is a corner of a rectangular parallelepiped
(e.g. building) or black point on a white plane (e.g. black dust
attached to white wall). Specifically, corners 72 to 75 and 82 to
85 of the buildings 71 and 81 in FIG. 19 are first characteristic
points. In this connection, the plane enclosed by the corners 72 to
75 is the front of the building 71 and the plane enclosed by the
corners 82 to 85 is the front of the building 81.
[0163] That is, the position (U1j, V1j) of the projected image of
the j-th characteristic point is obtained out of the first
characteristic points (total of J characteristic points) appearing
on the photographic image P1 at the time T1. Moreover, the position
(U2j, V2j) of the projected image of the j-th characteristic point
is obtained out of the first characteristic points appearing on the
photographic image P2 at the time T2. Similarly, the position (Uhj,
Vhj) of the projected image of the j-th characteristic point is
obtained out of the first characteristic points appearing on the
photographic image Ph at the time Th (h=3, . . . , H).
[0164] Furthermore, rotation matrix Rh, parallel displacement
vector Sh, and (Xj, Yj, Zj) are obtained for h=1, . . . , H and
j=1, . . . , J by substituting the position (Uhj, Vhj) for the
following Equation (33). The obtained data is stored in the data
memory 33.
[0165] [Equation 33] 5 h = 1 H j = 1 J { [ Uhj - f Rh11 Xj + Rh12
Yj + Rh13 Zj + Sh1 ' Rh31 Xj + Rh32 Yj + Rh33 Zj + Sh3 ' ] 2 + [
Vhj - f Rh21 Xj + Rh22 Yj + Rh23 Zj + Sh2 ' Rh31 Xj + Rh32 Yj +
Rh33 Zj + Sh3 ' ] 2 } Where , [ R11 R12 R13 R21 R22 R23 R31 R32 R33
] = Rh , [ Sh1 ' Sh2 ' Sh3 ' ] = - Rh Sh ( 33 )
[0166] The obtained rotation matrix Rh and parallel displacement
vector Sh show the position and attitude (direction) of the video
camera at the time Th based on the world coordinates. The obtained
(Xj, Yj, Zj) shows the position of the j-th characteristic point
based on the world coordinates.
[0167] Thus, it is possible to obtain the position and attitude
(direction) of the video camera in a three-dimensional real space
and positions of the characteristic points (first characteristic
points) of the buildings 71 and 81 serving as first object in the
three-dimensional real space when photographing each of the
photographic images Ph (FIG. 21) at each time Th.
[0168] It is assumed that the corner 75 (FIG. 19) which is one of
the first characteristic points corresponds to the k-th
characteristic point. Symbol k denotes any numerical value of 1 to
J. In accordance with the processing in step S61, the position (Xk,
Yk, Zk) of the k-th characteristic point based on the world
coordinates is obtained. Of course, the position does not show a
true value but errors are included. In this connection, the corner
75 is the corner at the front top right of the real building
71.
[0169] Moreover, the photographic image Ph at the time Th is a
photographic image photographed when the video camera is moved from
the origin of the world coordinates due to the rotation of the
matrix Rh and the translation of the vector Sh. Therefore, the
matrix Rh and the vector Sh are also obtained. Of course, the above
states {position and attitude (direction) shown by the rotation
matrix Rh and parallel displacement vector Sh} do not show true
values but errors are included.
[0170] Thus, because the positions of the two real buildings (first
objects) 71 and 81 in a three-dimensional real space are obtained
through the processing in step S61, the data for the position (Xj,
Yj, Zj) is supplied to an image display unit 35 through the frame
memory 34 and displayed in step S62. By viewing the indication, an
operator (person performing the synthesis operation) designates a
position to which the building (second object) 91 formed through CG
(position in a virtual three-dimensional real space) is set by
operating the input unit 36. The operator determines the above
operation while considering the positions of the two real buildings
(first objects) 71 and 81 in a three-dimensional real space. The
determined positions are stored in the data memory 33.
[0171] Specifically, as shown in FIG. 20, because the positions of
the corners 72 to 75 and the corners 82 to 85 serving as first
characteristic points are obtained in the world coordinates, the
building (second object) 91 formed through CG is put between the
positions. That is, it is necessary to set the building (second
object) 91 formed through CG so that the plane enclosed by the
corners 75, 74, 83, and 82 serves as the front of the building
(second object) 91 formed through CG (so that the top left corner
92 and the bottom left corner 93 of the building 91 correspond to
the top right corner 75 and the bottom right corner 74 of the
building 71 and the top right corner 95 and bottom right corner 94
of the building 91 correspond to the top left corner 82 and the
bottom left corner 83 of the building 81). Thus, the position of
the building (second object) 91 formed through CG is
determined.
[0172] That is, the building (second object) 91 formed through CG
is virtually set so that the front top left of the building (second
object) 91 formed through CG is brought to the position (Xk, Yk,
Zk) based on the world coordinates (FIG. 20). In other words, the
front top left position of the building (second object) 91 formed
through CG is (Xk, Yk, Zk). In this connection, the position (Xk,
Yk, Zk) is the position of the corner 75 serving as the k-th
characteristic point. Thereby, the real building 71 and the
building (second object) 91 formed through CG are set so that the
front top right of the building 71 contacts the front top left of
the building 91.
[0173] Then, the corner 75 (k-th characteristic point) which is one
of the first characteristic points is considered below. The
photographic image Ph at the time Th includes the projected image
of the corner 75 which is the k-th characteristic point. The
position of the projected image is shown as (Uhk, Vhk). Therefore,
the following Equations (34) and (35) are effected.
Uhk.noteq.f(Rh11.multidot.Xk+Rh12.multidot.Yk+Rh13.multidot.Zk+Sh1')/(Rh31-
.multidot.Xk+Rh32.multidot.Yk+Rh33.multidot.Zk+Sh3') (34)
Vhk.noteq.f(Rh21.multidot.Xk+Rh22.multidot.Yk+Rh23.multidot.Zk+Sh2')/(Rh31-
.multidot.Xk+Rh32+Yk+Rh33.multidot.Zk+Sh3') (35)
[0174] In this case, Rh, Sh, Xk, Yk, and Zk are values obtained by
minimizing the Equation (33). The right and left sides of the
Equations (34) and (35) have almost equal values. As previously
described, however, they are not strictly equal to each other.
However, the position (UUhk, VVhk) of the projected image at the
front top left of the building 91 completely meets the following
Equations (36) and (37). 6 UUhk = f Rh11 Xk + Rh12 Yk + Rh13 Zk +
Sh1 ' Rh31 Xk + Rh32 Yk + Rh33 Zk + Sh3 ' ( 36 ) VVhk = f Rh21 Xk +
Rh22 Yk + Rh23 Zk + Sh2 ' Rh31 Xk + Rh32 Yk + Rh33 Zk + Sh3 ' Where
, [ R11 R12 R13 R21 R22 R23 R31 R32 R33 ] = Rh , [ Sh1 ' Sh2 ' Sh3
' ] = - Rh Sh ( 37 )
[0175] That is, as shown in FIG. 22, it is considered to photograph
the building (second object) 91 formed through CG with the video
camera by assuming that the front top left of the building 91 is
present at the position (Xk, Yk, Zk) based on the world
coordinates. The position and attitude (direction) of the video
camera are shown by the rotation matrix Rh and parallel
displacement vector Sh at the time Th. Therefore, the position of
the projected image at the front top left of the building 91
results in the position (UUhk, VVhk) in the photographic image at
the time Th shown by the Equations (36) and (37). Where, h=1, . . .
, H.
[0176] As a result, (Uhk, Vhk) is not equal to (UUhk, VVhk). This
Equation represents the following.
[0177] It is assumed that an operator arranges the real building 71
and the building 91 formed through CG so that the front top right
of the building 71 contacts the front top left of the building 91,
forms the projected image of the virtual building 91, and
synthesizes an actually-photographed photographic image. The
projected image at the front top right of the building 71 at the
time Th is located at (Uhk, Vhk) (FIG. 21). Moreover, the projected
image at the front top left of the artificially-formed building 91
is located at (UUhk, VVhk) (FIG. 22). Therefore, the projected
image at the front top right of the real building 71 at the time Th
does not coincide with the projected image at the front top left of
the virtual building 91. When a person views the synthesized image
of them, he does not sense that the state is photographed in which
the front top right of the real building 71 contacts the front top
left of the building 91 formed through CG.
[0178] Moreover, it is not guaranteed that the difference between
the right and left sides of the Equations (34) and (35) is constant
every time Th. Therefore, when a person continuously views an image
synthesized every time, he feels as if the interval between the
front top right of the real building 71 and the front top left of
the building 91 formed through CG swings.
[0179] Because FIG. 23 shows synthesized images under an ideal
state free from errors, (Uhk, Vhk) is equal to (UUhk, VVhk). In
fact, however, (Uhk, Vhk) is not equal to (UUhk, VVhk).
[0180] Therefore, the Rh, Sh, Xj, Yj, and Zj obtained in step S61
and the position (Uhj, Vhj) of the projected image of the j-th
characteristic point in the photographic image Ph do not completely
meet the Equations (31) and (32). That is, the following Equations
(38) and (39) are effected. Where, h=1, . . . , H, j=1, . . . , J.
7 Uhj f Rh11 Xj + Rh12 Yj + Rh13 Zj + Sh1 ' Rh31 Xj + Rh32 Yj +
Rh33 Zj + Sh3 ' ( 38 ) Vhj f Rh21 Xj + Rh22 Yj + Rh23 Zj + Sh2 '
Rh31 Xj + Rh32 Yj + Rh33 Zj + Sh3 ' ( 39 ) 8 Where , [ R11 R12 R13
R21 R22 R23 R31 R32 R33 ] = Rh , [ Sh1 ' Sh2 ' Sh3 ' ] = - Rh
Sh
[0181] Thus, the processing circuit 32 reads each time Th and the
data for characteristic points from the data memory 33 in step S63,
computes the following Equations (40) to (44) for the time Th and
the characteristic point data, obtains the coordinates (XXhj, YYhj,
ZZhj) and the displacement value (.delta.XXhj, .delta.YYhj) of each
characteristic point based on the video camera, and stores the
coordinates and displacement value in the data memory 33.
XXhj=Rh11.multidot.Xj+Rh12.multidot.Yj+Rh13.multidot.Zj+Sh1'
(40)
YYhj=Rh21.multidot.Xj+Rh22.multidot.Yj+Rh23.multidot.Zj+Sh2'
(41)
ZZhj=Rh31.multidot.Xj+Rh32.multidot.Yj+Rh33.multidot.Zj+Sh3' (42) 9
Where , [ R11 R12 R13 R21 R22 R23 R31 R32 R33 ] = Rh , [ Sh1 ' Sh2
' Sh3 ' ] = - Rh Sh
.delta.XXhj=(Uhj-ZZhj)/f-XXhj (43)
.delta.YYhj=(Vhj-ZZhj)/f-YYhj (44)
[0182] That is, the position (X, Y, Z) based on the world
coordinates is transformed into the position (XXh, YYh, ZZh) in a
coordinate system based on the video camera at the time Th in
accordance with the transform formulas shown in the following
Equations (45) to (47).
XXh=Rh11.multidot.X+Rh12.multidot.Y+Rh13-Z+Sh1' (45)
YYh=Rh21.multidot.X+Rh22.multidot.Y+Rh23.multidot.Z+Sh2' (46)
ZZh=Rh31.multidot.X+Rh32.multidot.Y+Rh33.multidot.Z+Sh3' (47)
[0183] The point located at (XXh, YYh, ZZh) is projected on the
position (f.multidot.XXh/ZZh, f.multidot.YYh/ZZh) in the
photographic image Ph.
[0184] The corner 75 (k-th characteristic point) shown in FIG. 12
is considered below. The position of the characteristic point
becomes the position (XXhk, YYhk, ZZhk) shown by the following
Equations (48) to (50) in the coordinate system based on the video
camera at the time Th.
XXhk=Rh11.multidot.Xk+Rh12.multidot.Yk+Rh13.multidot.Zk+Sh1'
(48)
YYhk=Rh21.multidot.Xk+Rh22.multidot.Yk+Rh23.multidot.Zk+Sh2'
(49)
ZZhk=Rh31.multidot.Xk+Rh32.multidot.Yk+Rh33.multidot.Zk+Sh3'
(50)
[0185] Therefore, if an ideal photographing state free from errors
is set, the position (XXhk, YYhk, ZZhk) and the position (Uhk, Vhk)
of the projected image of the k-th characteristic point in the
photographic image Ph have the relation between the following
Equations (51) and (52).
Uhk=f(XXhk/ZZhk) (51)
Vhk=f(YYhk/ZZhk) (52)
[0186] However, because errors are actually present, the equal
signs shown in the Equations (51) and (52) are not effected. That
is, errors equivalent to (.delta.XX, .delta.YY) shown in the
following Equations (53) and (54) are produced.
.delta.XX=(Uhk.multidot.ZZhk)/f-XXhk (53)
.delta.YY=(Vhk.multidot.ZZhk)/f-YYhk (54)
[0187] Therefore, the errors (.delta.XX, .delta.YY) are computed in
accordance with the Rh, Sh, Xk, Yk, and Zk obtained in step S61,
measured values (Uhk, Vhk), and the Equations (48) to (50) and the
Equations (53) and (54).
[0188] It is determined in step S62 to imaginarily set the corner
92 at the front top left of the building (second object) 91 formed
through CG to the position (Xk, Yk, Zk) based on the world
coordinates. That is, the corner 92 is set to the position (XXhk,
YYhk, ZZhk) shown by the Equations (48) to (50) in the coordinate
system based on the video camera at the time Th. The corner 92 is
projected on the position (UUhk, VVhk) shown by the following
Equations (55) and (56) in the photographic image at the time
Th.
UUhk=f(XXhk/ZZhk) (55)
VVhk=f(YYhk/ZZhk) (56)
[0189] In this connection, the Equations (48) to (50) and the
Equations (55) and (56) are equivalent to the Equations (36) and
(37). The position (UUhk, Whk) shown by the Equations (55) and (56)
is different from the position (Uhk, Vhk) of the projected image of
the k-th actual characteristic point. This is a positional
displacement becoming a problem.
[0190] Therefore, in the case of the second embodiment, the portion
of the building (second object) 91 formed through the CG shown by
the position (XXhk, YYhk, ZZhk) in the coordinate system based on
the video camera at the time Th is displaced by the value shown by
the Equations (53) and (54) before forming the projected image of
the second object. That is, it is determined in step S62 to set the
corner 92 at the front top left of the building 91 to the position
(XXhk, YYhk, ZZhk) in the coordinate system based on the video
camera at the time Th. However, the position is displaced by the
value shown by the Equations (53) and (54) so that it is brought to
(XXhk+.delta.XX, YYhk+.delta.YY, ZZhk). Thus, by displacing the
position of the corner 92 at the front top left of the building 91,
the position of the projected image of the corner 92 at the front
top left of the artificially-formed building 91 at the time Th is
brought to the position shown by the following Equations (57) and
(58).
UUhk=f(XXhk+.delta.XX)/ZZhk (57)
VVhk=f(YYhk+.delta.YY)/ZZhk (58)
[0191] The position (UUhk, VVhk) is just the same as the position
(Uhk, Vhk) of the projected image of the corner 75 (k-th
characteristic point) because the following Equations (59) and (60)
are effected. 10 UUhk = f ( XXhk + XX ) / ZZhk ) = f { XXhk + ( Uhk
ZZhk / f ) - XXhk } / ZZhk = Uhk ( 59 ) VVhk = f ( YYhk + YY ) /
ZZhk ) = f { YYhk + ( Vhk ZZhk / f ) - YYhk } / ZZhk = Vhk ( 60
)
[0192] In short, it is decided in step S61 that the k-th
characteristic point is present at the position (Xk, Yk, Zk) based
on the world coordinates. This position is the position (XXhk,
YYhk, ZZhk) shown by the Equations (48) to (50) in the coordinate
system based on the video camera at the time Th. This value is
displaced by (.delta.XX, .delta.YY) shown by the Equations (53) and
(54) from the position (Uhk, Vhk) of the projected image of the
k-th characteristic point projected on the photographic image Ph at
the time Th in a three-dimensional real space. Therefore, to set
the object (corner 92 at the front top left of the building 91) to
be synthesized to the position (XXhk, YYhk, ZZhk) in the coordinate
system based on the video camera at the time Th, a projected image
is formed by assuming that the projected image is present at a
position displaced by (.delta.XX, .delta.YY). Thereby, the position
of the projected image coincides with that of the projected image
of the actually-photographed object (corner 75 at the front top
right of the building 71).
[0193] In the case of the above specific example, the corner 75
(k-th characteristic point) is described. The same is true for
characteristic points other than the k-th characteristic point. In
the case of an object (or a part of the object) to be synthesized
present at a position just coinciding with the first characteristic
points (first, . . . , j-th characteristic points), it is necessary
to compute (.delta.XX, .delta.YY) which is the displacement value
(distortion value) of a corresponding characteristic point and form
the projected image of the object by assuming that the projected
image is present at a position displaced by (.delta.XX, .delta.YY),
as described above.
[0194] However, when the first characteristic points are not
present at the position of the object (or a part of the object) to
be synthesized, it is necessary to obtain the displacement value
(distortion value) (.delta.XX, .delta.YY) through interpolation
from a nearby first characteristic point.
[0195] Therefore, in step S64, the processing circuit 32 reads the
characteristic point (XXhj, YYhj, ZZhj) at each time Th from the
data memory 33, performs Delaunay division by using the
characteristic point as a mother point, obtains a Delaunay convex
polygon, and stores the polygon in the data memory 33. That is, the
position of the j-th characteristic point in the coordinate system
based on the video camera at the time Th is assumed as (XXhj, YYhj,
ZZhj). This position can be obtained from the Equations (40) to
(42) by using the Rh, Sh, Xj, Yj, and Zj obtained in step S61.
[0196] Then, the displacement value (distortion value)
(.delta.XXhj, .delta.YYhj) at (XXhj, YYhj, ZZhj) is obtained by
using the Equations (43) and (44). In this case, the suffix h and j
are attached to clarify that XX, YY, and ZZ depend on the time Th
and the j-th characteristic point out of the first characteristic
points. Computation of the Equations (43) and (44) is performed by
substituting values obtained from the Equations (40) to (42) for
XXhj, YYhj, and ZZhj and moreover, substituting a value measured
from the actual photographic image Ph for Uhj and Vhj.
[0197] Obtaining the displacement value (distortion value)
(.delta.XX, .delta.YY) at every position (XX, YY, ZZ) through
interpolation represents the fact of obtaining the displacement
value (distortion value) at any position under the condition that
the displacement value (distortion value) at (XXhj, YYhj, ZZhj)
which is the position of the j-th characteristic point is
(.delta.XXhj, .delta.YYhj). In this case, j=1, . . . , J. Moreover,
the position in the three-dimensional real space described here
represents a coordinate system based on the video camera at the
time Th.
[0198] To perform interpolation, the Delaunay division is first
performed in a three-dimensional real space. That is, division of
Voronoi region is performed by assuming J characteristic points as
mother points to perform the Delaunay division having a dual
relation with the division of the Voronoi region. Each
Delaunay-divided region forms a convex polygon using mother points
(that is, first characteristic points) as vertexes. Because an
optional point (XX, YY, ZZ) in a three-dimensional real space is
included in a Delaunay convex polygon (Delaunay-divided region),
values obtained by weighting and averaging the displacement values
(distortion value) (.delta.XXhj, .delta.YYhj) of the vertexes of
the Delaunay convex polygon (first characteristic points in which
the displacement values (distortion values) are already obtained)
so as to be inversely proportional to the distance from the point
(XX, YY, ZZ) up to each vertex of the polygon is used as the
displacement value (distortion value) of the point (XX, YY, ZZ).
Thus, it is possible to obtain the displacement value (distortion
value) at a position other than J first characteristic points.
[0199] The Voronoi region and Delaunay division are described in
detail in the description part (p. 1064) of computation geometry of
"GENDAI SURIKAGAKU JITEN (transliterated)(issued by Maruzen Co.,
Ltd.)." Thus, in steps S63 and S64, the displacement value
(distortion value) at each of J first characteristic points is
first obtained in accordance with the Equations (40) to (44) by
using the Rh, Sh, Xj, Yj, and Zj obtained in step S61 and the
measured values (Uhk, Vhk). Then, the Delaunay convex polygon is
obtained by assuming J characteristic points as mother points. For
each position in each Delaunay convex polygon, the displacement
value (distortion value) is obtained by weighting and averaging the
above-obtained displacement values (distortion values) of vertexes
(that is, first characteristic points).
[0200] In this connection, the displacement value (distortion
value) depends on the time Th and moreover, depends on a position
in a three-dimensional real space. That is, the displacement value
(distortion value) is the function of Th and also, the function of
the position (XX, YY, ZZ) in the coordinate system based on the
video camera. The relation of the displacement value (distortion
value) between the Th and (XX, YY, ZZ) is obtained in steps S63 and
S64. Steps S63 and S64 are computation steps for obtaining the
displacement value (distortion value) of each point in a
three-dimensional real space at each time.
[0201] It is important for the computation steps for obtaining the
displacement value (distortion value) of each point to obtain the
displacement value (distortion value) at an optional point under
the condition that the displacement value (distortion value) at
(XXhj, YYhj, ZZhj) which is the position of the j-th characteristic
point is equal to (.delta.XXhj, .delta.YYhj). It is also possible
to use other method instead of the Delaunay division under the
above condition.
[0202] In step S62, a position (virtual position based on world
coordinates) to which the building (second object) 91 formed
through CG is set is obtained. Moreover, in step S61, the rotation
matrix Rh and parallel displacement vector Sh showing the position
and attitude (direction) of the video camera at each time Th (h=1,
. . . , H) are obtained.
[0203] Therefore, in step S65, the processing circuit 32 reads
world-coordinates-based virtual positions (Xm, Ym, Zm) of all the
points (assumed as M points) constituting the building (second
object) 91 formed through CG from the data memory 3, applies the
rotation matrix Rh and parallel displacement vector Sh also read
from the data memory 33 to the virtual positions, obtains the
position (XXhm, YYhm, ZZhm) shown by the coordinate system based on
the video camera at the time Th, and stores the position (XXhm,
YYhm, ZZhm) in the data memory 33. In this case, m=1, . . . , M.
That is, the following Equations (61) to (63) are computed.
XXhm=Rh11.multidot.Xm+Rh12.multidot.Ym+Rh13.multidot.Zm+Sh1'
(61)
YYhm=Rh21.multidot.Xm+Rh22.multidot.Ym+Rh23.multidot.Zm+Sh2'
(62)
ZZhm=Rh31.multidot.Xm+Rh32.multidot.Ym+Rh33.multidot.Zm+Sh3'
(63)
[0204] Then, in step S66, the processing circuit 32 obtains the
displacement value (distortion value) (.delta.XXhm, .delta.YYhm)
obtained in steps S63 and S64 and corresponding to the position
(XXhm, YYhm, ZZhm) obtained from the Equations (61) to (63) in
accordance with the following Equations (64) and (65). 11 XXhm = j
XXhj DISTANCE BETWEEN ( XXhm , YYhm , ZZhm ) AND ( XXhj , YYhj ,
ZZhj ) j 1 DISTANCE BETWEEN ( XXhm , YYhm , ZZhm ) AND ( XXhj ,
YYhj , ZZhj ) ( 64 ) YYhm = j YYhj DISTANCE BETWEEN ( XXhm , YYhm ,
ZZhm ) AND ( XXhj , YYhj , ZZhj ) j 1 DISTANCE BETWEEN ( XXhm ,
YYhm , ZZhm ) AND ( XXhj , YYhj , ZZhj ) ( 65 )
[0205] Then, the (.delta.XXhm, .delta.YYhm) is added to (XXhm,
YYhm, ZZhm). The added position (XXhm+.delta.XXhm,
YYhm+.delta.YYhm, ZZhm) serves as the final position of the m-th
point constituting the building (second object) 91 formed through
CG. Of course, the position is the coordinate system based on the
video camera at the time Th.
[0206] Then, the position (UUhm, VVhm) of the projected image of
the m-th point constituting the building(second object) 91 formed
through CG is obtained. That is, the following Equations (66) and
(67) are computed.
UUhm=f(XXhm+.delta.XXhm)/ZZhm) (66)
VVhm=f(YYhm+.delta.YYhm)/ZZhm) (67)
[0207] The Equations (61) to (63) and the Equations (66) and (67)
are computed on every m=1, . . . , M. Thereby, it is possible to
compute the projected image of the building (second object) 91
formed through CG.
[0208] In the case of this embodiment, the displacement value
(.delta.XXhj, .delta.YYhj) is obtained in accordance with the
Equations (40) to (44) by assuming that a displacement value is
present only in the directions of a two-dimensional plane (X, Y)
based on the video camera. However, it is also possible to assume
that a displacement value is present in Z direction. That is, it is
possible to assume the minimum value of (.delta.XXhj, .delta.YYhj,
.delta.ZZhj) meeting the following Equations (68) and (69) as a
displacement value.
Uhj=f(XXhj+.delta.XXhj)/(ZZhj+.delta.ZZhj) (68)
Vhj=f(YYhj+.delta.YYhj)/(ZZhj+.delta.ZZhj) (69)
[0209] However, (XXhj, YYhj, ZZhj) in the above Equations can be
obtained from the Equations (40) to (42). In this case, by
obtaining the displacement value of an optional position under the
condition that the displacement value (distortion value) at (XXhj,
YYhj, ZZhj) which is the position of the j-th characteristic point
is equal to (.delta.XXhj, .delta.YYhj, .delta.ZZhj), it is possible
to obtain the displacement value at each position. The position
(UUhm, VVhm) of the projected image of the m-th point constituting
the building (second object) 91 formed through CG is shown by the
following Equations (70) and (71) instead of the Equations (66) and
(67).
UUhm=f(XXhm+.delta.XXhm)/(ZZhm+.delta.ZZhm) (70)
VVhm=f(YYhm+.delta.YYhm)/(ZZhm+.delta.ZZhm) (71)
[0210] In the above Equations, (.delta.XXhm, .delta.YYhm,
.delta.ZZhm) denotes the displacement value (distortion value) at
the position (XXhm, YYhm, ZZhm) obtained by the Equations (61) to
(63).
[0211] Finally, by synthesizing the projected image of the building
(second object) 91 formed through CG with the photographic image
Ph, it is possible to obtain a synthesized image to be finally
obtained at the time Th. By performing the above operation for all
times of h=1, . . . , H, it is possible to obtain synthesized
images from the time T1 up to the time TH.
[0212] By using the technique of the second embodiment, a
displacement value (distortion value) is added so that the virtual
position of an object (second object) to be synthesized designated
by an operator coincides with the position of a characteristic
point of a photographic image actually photographed at the time for
each time and each position in a three-dimensional real space.
Therefore, the position of a synthesized image is not
displaced.
[0213] Moreover, it is possible to determine the displacement value
(distortion value) at every position in a three-dimensional space
and a displacement value (distortion value) is added to every
portion constituting a second object without distinguishing between
vertexes, sides, planes of an object (second object) to be
synthesized. Therefore, there is no problem on alignment of sides
and planes described in the first embodiment.
[0214] Moreover, various modifications and applications can be
considered other than the above description as long as they are not
deviated from the gist of the present invention. Therefore, the
gist of the present invention is not restricted to synthesis of a
CG image formed through CG with a plate having characteristic
points but the gist includes every case related to synthesis of a
CG image formed through CG with a real image.
[0215] As supply media for supplying a computer program for
performing the above processing to users, it is possible to use not
only recording media such as a magnetic disk, CD-ROM, and solid
state memory but also communication media such as a network and
satellite.
[0216] As described above, according to the image synthesizing
apparatus of claim 1, the image synthesizing method of claim 8, and
the supply medium of claim 15, a coordinate transform function is
obtained in accordance with a first characteristic point nearby a
synthesis position for synthesizing an object and fourth
coordinates on a three-dimensional coordinate system corresponding
to a second image are obtained by applying the coordinate transform
function to third coordinates so as to synthesize the projected
image of the object at a position corresponding to the fourth
coordinates of the second image. Therefore, it is possible that the
projected image of the object seem to be natural in first and
second images.
[0217] According to the position detecting apparatus of claim 16,
the position detecting method of claim 17, and the supply medium of
claim 18, a coordinate transform function is obtained in accordance
with a first characteristic point nearby an object and fifth
coordinates on a three-dimensional coordinate system corresponding
to a second image are obtained by applying the coordinate transform
function to third coordinates so as to detect the difference
between the fourth and fifth coordinates. Therefore, it is possible
to accurately compute the positional relation of a third image in
the first and second images.
[0218] According to the image synthesizing apparatus of claim 19,
the image synthesizing method of claim 21, and the supply medium of
claim 23, a position to which the projected image of a second
object is set is corrected in accordance with a distortion value.
Therefore, it is possible to control swinging of a synthesized
image.
INDUSTRIAL APPLICABILITY
[0219] An image synthesizing apparatus can be applied to the case
of synthesizing a computer-graphics (CG) image with a real image
photographed by a video camera.
* * * * *