by-step the process of creating point clouds based on the two given world
points ${\bf X}_{k},{\bf X}_{k^{\prime}}$ and the parameters $\theta$ and
$\ell$.

##  4 Point Clouds from Correspondences via an experiment

Section 3 proposes the algorithm named CrCP and the theory of _reconstructing
geodesic based on geo-feature_ for this algorithm. New world points in the
point clouds are created based on some given world points found by Algorithm
WPfC and the correspondences. This section will describe an optimal method to
create the point clouds from the correspondences such that these point clouds
would be everywhere in the surface of the reconstructed object. This is the
most important feature of the point clouds we hope to obtain when we discuss
it at the beginning of Section 3. The description is based on a real
experiment in our project of the Buddha statue 3D reconstruction. In this
experiment, we use 116 images of the _front body_ of the Buddha statue to 3D
reconstruct the front body part of this statue. In the front body of the
Buddha statue, we have 27 special points that help us on estimating the
correspondences, reconstructing 3D points of these 27 special points, and
estimating the projection matrices for the 116 images as we done and figured
out in Figure 2.

This section begins with Figure 3 that gives 38 from 116 images we use for
this experiment. In these 38 images, we indicate the key points from the 27
special points by the red dots. These key-points are used to determine the
correspondences. We determine these key-points based on our work in Le and Li
(2022). The average special points captured by each image is 9.4. There are
only two from 116 images capture 17 (maximum) and three images capture 6
(minimum) from 27 special points. Two images capturing 17 special points are
two big images in Figure 3.

Figure 3: Images with key points (_Red dots_) for the front body of Buddha
statue experiment. Thirty eight (38) images from one hundred and sixteen (116)
images of the experiment. Two big images capture seventeen (17) from twenty
seven (27) special points in the surface of the Buddha statue’s front body.

We denote 27 special points by $\\{{\bf X}_{1},{\bf X}_{2},\ldots,{\bf
X}_{27}\\}$ and use Algorithm WPfC together with correspondences from the key
points to estimate them. To fix the ambiguity of the 3D reconstruction under
any projective transformation as presented by Proposition 1, we need to know
exact relative positions of at least four points from these 27 special points.
Indeed, in our 3D reconstruction, we shall determine the relative positions of
four points $\\{{\bf X}_{1},{\bf X}_{2},{\bf X}_{3},{\bf X}_{4}\\}$ by
manually measuring six Euclidean distances $\|{\bf X}_{i}-{\bf
X}_{j}\|_{2},~{}(1\leq i<j\leq 4)$ and then using the _multidimensional
scaling_ (MDS) (Schönemann, 1970) to acquire their relative positions. If we
need to increase an accuracy, we can determine the relative positions of five
special points by measuring ten Euclidean distances or the relative positions
of six special points by measuring fifteen Euclidean distances. Next without
loss of generality, we assume that the 3D positions of ${\bf X}_{1},{\bf
X}_{2},{\bf X}_{3}$ and ${\bf X}_{4}$ are known. We consider all $N$ images
$\\{{\bf Img}_{i_{1}},{\bf Img}_{i_{2}},\ldots,{\bf Img}_{i_{N}}\\}$ such that
there are $N$-view correspondences of $M$ world points and $\\{{\bf
X}_{1},{\bf X}_{2},{\bf X}_{3},{\bf X}_{4}\\}$ are ones of these $M$ world
points. Using Algorithm WPfC with these $N$-view correspondences of $M$ world
points, we reconstruct all other world points to increase the number of known
world points from four to $M$. From the $M$ known world points, we continue
this process until we have a total of 27 estimated world points ${\bf
X}^{\star}_{1},{\bf X}^{\star}_{2},\ldots,{\bf X}^{\star}_{27}$. Of course, we
also derive all projection matrices ${\bf P}^{\star}_{1},{\bf
P}^{\star}_{2},\ldots,{\bf P}^{\star}_{116}$ of 116 images. The 27 estimated
world points and 116 camera positions corresponding to 116 projection matrices
are figured out in Figure 2.

Figure 4: Zoom out of eight example images capturing three world points ${\bf
X}^{\star}_{4},{\bf X}^{\star}_{5},{\bf X}^{\star}_{26}$. Some of geo-features
w.r.t. these three world points and the parameters $\theta=0.3,~{}\ell=L/10$
are the _blue dots_ in each images. Figure 5: Three different views in three-
dimensional space of the old world points ${\bf X}^{\star}_{4},{\bf
X}^{\star}_{5},{\bf X}^{\star}_{26}$ (_red dots_) and 37 new world points
(_green dots_) found based on these three old world points. The _white A_
indicates the world point ${\bf X}^{\star}_{4}$, the _white B_ indicates the
world point ${\bf X}^{\star}_{5}$, and the _white C_ indicates the world point
${\bf X}^{\star}_{26}$.

To generate the point clouds, we take two arbitrary world points ${\bf
X}^{\star}_{k}$ and ${\bf X}^{\star}_{k^{\prime}}$ from the 27 estimated world
points and find all candidates for the geo-features w.r.t. $\\{{\bf
X}^{\star}_{k}\,,\,{\bf
X}^{\star}_{k^{\prime}}\,,\,\theta=0.3\,,\,\ell=L/10\\}$. For example, with a
couple $\\{{\bf X}^{\star}_{4}\,,\,{\bf X}^{\star}_{5}\\}$, there are 48
images capturing this couple and from them we find a total 12 geo-features.
Note that there are some of 48 images capture 10 but some others capture only
3 from these 12 geo-features. Let us consider other examples with two couples
$\\{{\bf X}^{\star}_{4}\,,\,{\bf X}^{\star}_{26}\\}$ and $\\{{\bf
X}^{\star}_{5}\,,\,{\bf X}^{\star}_{26}\\}$. There are 42 images capturing the
first couple and 22 images capturing the second one. We find 26 new geo-
features w.r.t. the first couple but only 8 new geo-features w.r.t. the second
couple. Eight example images that capture all three world points ${\bf
X}^{\star}_{4},{\bf X}^{\star}_{5},{\bf X}^{\star}_{26}$ together with some
new geo-features (_blue dots_) found from these three world points are in
Figure 4. Normally, from these (12 + 26 + 8 =) 46 geo-features w.r.t. three
world points $\\{{\bf X}^{\star}_{4},{\bf X}^{\star}_{5},{\bf
X}^{\star}_{26}\\}$, we shall have 46 new world points. However, since we use
the constraints that $\mathcal{E}_{d}(\text{new world point})\leq 40$ and
$\mathcal{E}_{i}(\text{new world point})\geq 7$ to recognize good world
points, we only have 37 new world points from these 46 geo-features. The new
world points (_green dots_), together with three old world points ${\bf
X}^{\star}_{4},{\bf X}^{\star}_{5},{\bf X}^{\star}_{26}$ (_red dots_) are
plotted by Figure 5.

Figure 6: A process of creating point clouds from given world points: (A) _Red
dots_ are some given world points (called _level 0_), (B) _Green dots_ are
point clouds (called _level 1_) creating from level 0, (C) _Purple dots_ are
point clouds (called _level 2_) generating from level 1, and (E) _Green dots_
are point clouds (called _level 3_) creating from the point clouds in (D) that
refined by level 2, (F) and so on. The process is simulated by an experiment
of reconstructing the front body of the Buddha statue.

The above paragraph explains a process of creating new world points from old
world points. Figure 6 gives a sufficient description of a process of
generating point clouds. In this figure, sub-figures (A) are the 27 estimated
world points $\\{{\bf X}^{\star}_{1},{\bf X}^{\star}_{2},\ldots,{\bf
X}^{\star}_{27}\\}$ (_red circles_) in two different views. From these given
27 world points, we generate 785 new world points as we do with three world
points $\\{{\bf X}^{\star}_{4},{\bf X}^{\star}_{5},{\bf X}^{\star}_{26}\\}$ in
the previous paragraph. The old 27 world points (_red circles_) and 785 new
world points (_green circles_) are plotted in the sub-figures (B). We continue
this process with (27 + 785 =) 812 given world points to create more than
400,000 new world points as _purple circles_ in the sub-figures (C). Although
a huge number of world points are generated, there are some areas in the
surface that cannot reconstruct. In another word, our point clouds are not
everywhere of the object’s surface. Indeed, we continue our process of
creating the point clouds by collecting the best world points in the current
point clouds to generate new world points. Specifically, we choose the best
world points such that they have minimal values of $\mathcal{E}_{d}$ and no
two points in them are closer than 0.5 centimeter. There are 522 world points
chosen based on this algorithm. These 522 world points (_green circles_) and
27 initialization (_red circles_) are given in the sub-figures (D). Comparing
with 785 world points in the sub-figures (B), the new 522 world points cover
the surface better. With these 522 world points, Algorithm CrPC, together with
the constraints $\mathcal{E}_{d}(\cdot)\leq 40$ and
$\mathcal{E}_{i}(\cdot)\geq 7$, generates more than 2 millions new world
points. From the new world points, we choose around the 600,000 best ones such
that no two points in them are closer than 0.05 centimeter. The 600,000 best
ones are plotted in the sub-figures (E) as the _green dots_. To see how the
final point clouds cover the area between the hands and the front body, we add
another view of these point clouds (the middle sub-figure (E)).

There is one interesting point we can see in Figure 6 to evaluate how is
efficient of Algorithm CrPC in reconstructing the front body of Buddha statue.
From the initialization with 27 world points, there are two world points in
the neck of the statue that only have twelve images capture them. Indeed,
first we guess Algorithm CrPC cannot help us to reconstruct the area in the
neck. It is still correct when we see results in the sub-figures (B), (C) and
(D). However, the results in the sub-figures (E) show that there are some new
world points in the neck area that means Algorithm CrPC can reconstruct this
area. This result also yields that the 522 world points in the sub-figures (D)
is really better than the 783 world points in the sub-figures (B). Therefore,
we believe that from the point clouds in the sub-figures (E), we find the best
ones as we do with 522 world points in the sub-figures (D) from the point
clouds in the sub-figures (C), then the new world points may be better than
the 522 world points. Thus, we can have better point clouds than the point
clouds given in the sub-figures (E).

##  5 Evaluation: The Buddha statue 3D reconstruction

###  5.1 The Buddha statue experiments

Figure 7: Thirteen example images from 160 images of the _face experiment_ and
eight example images from 68 images of the _right hand experiment_.

Our research on creating 3D point clouds from a few accurate 2D
correspondences is validated by the 3D Buddha statue reconstruction project as
we describe in Section 1 by Figure 1. We study to 3D reconstruct the Buddha
statue using 402 images of this statue. First, we mark on the surface of the
Buddha statue 112 special small points. These special points are around the
surface. For instance, there are 27 points on the front body of Buddha statue
as we see in the _front body experiment_ described in Section 4. Second, the
402 images of the Buddha statue were taken such that each image captures at
least six and at most 20 special points. From these 402 images, we divide our
project into twelve experiments corresponding to 3D reconstructions of twelve
areas of the Buddha statue. The first experiment is the _front body
experiment_ with 116 images capturing 27 special world points. A task of this
experiment is reconstructing the front body surface of the Buddha statue as
sub-figures (E) of Figure 6 show. The second experiment, named the _face
experiment_ , has 119 images that capture 15 special world points, and other
experiments like the _head experiment_ , the _back experiment_ , the _left
hand experiment_ , the _right hand experiment_ , etc. Figure 7 gives 13
example images from 119 images of the face experiment and 8 example images
from 68 images of the right hand experiment.

Figure 8: The 3D Buddha statue reconstruction along with two similar view
images: (A) The refinement point clouds corresponding to $\epsilon=7$ pixels.
(B) The refinement point clouds corresponding to distance $\delta=0.05$
centimeter. _Blue dots_ are points in the point clouds.

Thanks to the special points on the surface of the statue and also on the
images, we derive accurate correspondences by using the works from Lowe
(1999); Bay et al. (2006); Le and Li (2022). Next we use Algorithms WPfC and
CrPC to estimate the world points, the projection matrices and create the
point clouds. The 3D reconstruction of the Buddha statue are the point clouds
from the twelve experiments. From the huge point clouds that are everywhere in
the surface of the Buddha statue, we can refine them to get better a 3D Buddha
statue reconstruction by the following process: Given the huge original point
clouds $\mathcal{PC}$ and a threshold $\delta>0$, a refined point clouds
$\mathcal{PC}_{\delta}$ is called a _refinement of $\mathcal{PC}$
corresponding to distance $\delta$_ if

  1. 1.

$\mathcal{PC}_{\delta}$ is a subset of $\mathcal{PC}$, i.e.,
$\mathcal{PC}_{\delta}\subset\mathcal{PC}$,

  2. 2.

for all refined point ${\bf X}_{\delta}\in\mathcal{PC}_{\delta}$, we always
have $\mathcal{E}_{d}({\bf X}_{\delta})\leq\mathcal{E}_{d}({\bf
X}),~{}\forall\,{\bf X}\in\mathcal{PC}$ and $\|{\bf X}-{\bf
X}_{\delta}\|_{2}\leq\delta$,

  3. 3.

for all ${\bf X}_{\delta},{\bf
X}^{\prime}_{\delta}\in\mathcal{PC}_{\delta},~{}\|{\bf X}_{\delta}-{\bf
X}^{\prime}_{\delta}\|_{2}\geq\delta$.

Examples of the refinement of point clouds corresponding to $\delta$ are in
Figure 6 that the point clouds in sub-figures (D) is the refinement of the
point clouds in sub-figures (C) corresponding to $\delta=0.5$ centimeter, and
the point clouds in sub-figures (E) is the refinement of the final point
clouds we find from the front body experiment corresponding $\delta=0.05$
centimeter. Note that the refinement of the point clouds corresponding to
distance $\delta$ maintains the _everywhere_ property of the original point
clouds. However, we do not guarantee all the points in the refined point
clouds $\mathcal{PC}_{\delta}$ are good. If some applications on 3D
reconstruction require all good points in the point clouds, we can refine the
point clouds $\mathcal{PC}$ by $\mathcal{PC}_{\epsilon}$, the _refinement of
$\mathcal{PC}$ corresponding to pixel $\epsilon$_ that is defined as follows.
Given a small positive real number $\epsilon$, the refined point clouds
$\mathcal{PC}_{\epsilon}$ is a subset of $\mathcal{PC}$ such that for all
${\bf X}_{\epsilon}\in\mathcal{PC}_{\epsilon}$, we always get
$\mathcal{E}_{d}({\bf X}_{\epsilon})\leq\epsilon$. Figure 8 gives examples of
the refinement point clouds corresponding to distance $\delta=0.1$ centimeter
and the refinement point clouds corresponding to $\epsilon=5$ pixels of our
point clouds for the 3D Buddha statue reconstruction.

###  5.2 Evaluations

There are two obvious steps in our research. The first is the estimate of the
world points and projection matrices from the correspondences, and the second
is the estimate of the point clouds from the estimated world points and
estimated projection matrices obtained in the first step. Thus, the evaluation
of our work will be based on the estimates of the world points, the projection
matrices and the point clouds. Note that the estimate in the second step
depends on the estimate in the first step. In addition, since the point clouds
are created based on the estimate of the geo-features, the second step
evaluation can be studied from the estimate of the geo-features.

In general, a correct evaluation of any estimator will be based on differences
between ground-truths and their estimations by this estimator. However, in the
3D reconstruction study, it is difficult to acquire ground-truths for world
points, projection matrices and point clouds. For example, to have the ground-
truths for 27 world points in the front body experiment of the Buddha statue
as we discuss in Section 4, we need to measure carefully the Euclidean
distances of at least one hundred pairs of 3D points from these 27 world
points, and the errors on these manual measurements would be less than 0.1
centimeter. It is a hard work. When the number of world points is the
hundreds, it is not possible to obtain their good ground-truths by manually
measuring the Euclidean distances. There are similar situations for acquiring
the ground-truths of projection matrices, point clouds and geo-features. Since
our research faces on the hundreds world points, the hundreds projection
matrices, the millions point clouds and geo-features, we do not have the
ground-truths for the world points, projection matrices, point clouds and geo-
features. Therefore, we replace the traditional error by the _relative error_
to valuate our research. An relative error for the output of Algorithm WPfC is
the objective value of the optimization (20), and an relative error for the
new world point from Algorithm CrPC is computed based on two metrics
$\mathcal{E}_{d}$ and $\mathcal{E}_{i}$ of this world point. Concretely,
assuming that a group $\\{{\bf X}^{\star}_{m},{\bf P}^{\star}_{n}\\}$ of $M$
estimated world points and $N$ estimated projection matrices is an output of
Algorithm WPfC with respect to an input the correspondences $\\{\hat{\bf
x}^{\text{\tiny(1)}}_{m}\leftrightarrow\hat{\bf
x}^{\text{\tiny(2)}}_{m}\leftrightarrow\cdots\leftrightarrow\hat{\bf
x}^{\text{\tiny(N)}}_{m}\\}^{M}_{m=1}$, then its relative error is given by

$\text{Error}_{\text{Rel}}\big{(}\\{{\bf X}^{\star}_{m},{\bf
P}^{\star}_{n}\\}\big{)}~{}=~{}\frac{1}{MN}\sum^{M}_{m=1}\sum^{N}_{n=1}\left\|\hat{\bf
x}^{\text{\tiny(n)}}_{m}\,-\,\left[\frac{{\bf p}^{\star}_{1,n}\big{[}{\bf
X}^{\star T}_{m}\,,\,1\big{]}^{T}}{{\bf p}^{\star}_{3,n}\big{[}{\bf X}^{\star
T}_{m}\,,\,1\big{]}^{T}}~{},~{}\frac{{\bf p}^{\star}_{2,n}\big{[}{\bf
X}^{\star T}_{m}\,,\,1\big{]}^{T}}{{\bf p}^{\star}_{3,n}\big{[}{\bf X}^{\star
T}_{m}\,,\,1\big{]}^{T}}\right]^{T}\right\|_{2}$ (55)

the mean differences between the correspondences used to estimated $\\{{\bf
X}^{\star}_{m},{\bf P}^{\star}_{n}\\}$ and other correspondences computed by
$\\{{\bf X}^{\star}_{m},{\bf P}^{\star}_{n}\\}$. Given a new world point ${\bf
X}$ in the point clouds that is acquired by Algorithm CrPC corresponding to a
geo-feature $\\{\bar{\bf
x}^{\text{\tiny$(n_{1})$}}_{h_{1}}\leftrightarrow\bar{\bf
x}^{\text{\tiny$(n_{2})$}}_{h_{2}}\leftrightarrow\cdots\leftrightarrow\bar{\bf
x}^{\text{\tiny$(n_{J})$}}_{h_{J}}\\}$, its relative error is given by

$\begin{split}\text{Error}_{\text{Rel}}\big{(}{\bf
X}\big{)}~{}&=~{}\bigg{[}\frac{\mathcal{E}_{d}({\bf
X})}{\sqrt{H^{2}+W^{2}}}\bigg{]}^{\mathcal{E}_{i}({\bf X})}\\\
&=~{}\left[\frac{1}{J\sqrt{H^{2}+W^{2}}}\sum^{J}_{j=1}\left\|\bar{\bf
x}^{\text{\tiny$(n_{j})$}}_{h_{j}}-\left[\frac{{\bf
p}^{\star}_{1,n_{j}}\big{[}{\bf X}^{T}\,,\,1\big{]}^{T}}{{\bf
p}^{\star}_{3,n_{j}}\big{[}{\bf X}^{T}\,,\,1\big{]}^{T}}~{},~{}\frac{{\bf
p}^{\star}_{2,n_{j}}\big{[}{\bf X}^{T}\,,\,1\big{]}^{T}}{{\bf
p}^{\star}_{3,n_{j}}\big{[}{\bf
X}^{T}\,,\,1\big{]}^{T}}\right]^{T}\right\|_{2}\right]^{J}\,,\end{split}$ (56)

where $H,W$ are two side of images. The value $\sqrt{H^{2}+W^{2}}$ is used in
the relative error of ${\bf X}$ to ensure that the error $\mathcal{E}_{d}({\bf
X})/\sqrt{H^{2}+W^{2}}$ is always less than one. Then, the relative error of
${\bf X}$ will be smaller as $\mathcal{E}_{i}({\bf X})$ is larger. Thus, two
points have the same $\mathcal{E}_{d}$ errors, the one with larger
$\mathcal{E}_{i}$ value will be better.

Figure 9: Twelve histograms of _differences between before & after key points_
from twelve experiments in our 3D Buddha statue reconstruction project. The
_red bar_ are used to indicate the _mean_ values. Two real numbers in each
sub-figure are the mean and 95%-percentile values (mean value $<$
95%-percentile value).

Regarding the relative errors, we hope that the smaller this relative error,
the smaller its ground-truth-based error (denoted by
$\text{Error}_{\text{GT}}$). More precisely, we expect to find a function $f$
such that

$\begin{split}&\text{Error}_{\text{GT}}\big{(}\\{{\bf X}^{\star}_{m},{\bf
P}^{\star}_{n}\\}\big{)}~{}\leq~{}f\big{[}\text{Error}_{\text{Rel}}(\\{{\bf
X}^{\star}_{m},{\bf P}^{\star}_{n}\\})\big{]}\\\\[5.69054pt]
&f\big{[}\text{Error}_{\text{Rel}}(\\{{\bf X}^{\star}_{m},{\bf
P}^{\star}_{n}\\})\big{]}~{}\longrightarrow~{}0\quad\text{as}\quad\text{Error}_{\text{Rel}}(\\{{\bf
X}^{\star}_{m},{\bf P}^{\star}_{n}\\})~{}\longrightarrow~{}0\,,\end{split}$
(57)

for all estimated groups $\\{{\bf X}^{\star}_{m},{\bf P}^{\star}_{n}\\}$, and
another function $g$ such that

$\begin{split}&\text{Error}_{\text{GT}}({\bf
X})~{}\leq~{}g\big{[}\text{Error}_{\text{Rel}}({\bf X})\big{]}\\\\[5.69054pt]
&g\big{[}\text{Error}_{\text{Rel}}({\bf
X})\big{]}~{}\longrightarrow~{}0\quad\text{as}\quad\text{Error}_{\text{Rel}}({\bf
X})~{}\longrightarrow~{}0\,,\end{split}$ (58)

for all the point ${\bf X}$ in the point clouds. When $f$ and $g$ are derived,
the study of 3D reconstruction can be evaluated without the ground-truths for
world points, projection matrices and point clouds. Unfortunately, to the best
of our knowledge, these two functions have yet to be found. Finding these two
functions will be our next work.

Figure 10: Histogram of _differences between before & after key points_ from
all key points in our 3D Buddha statue reconstruction project. The _red bar_
and _green bar_ , together with two real numbers, are used to indicate the
_mean_ and 95%_-percentile_ values. Figure 11: Histograms of _differences
between before & after image points_ from the point clouds simulated by sub-
figures (C) and the others simulated by sub-figures (E) in the front body
experiment in Figure 6. Figure 12: The 3D Buddha statue reconstruction along
with six similar view images. _Blue dots_ are the refinement point clouds
corresponding to distance $\delta=0.05$ centimeter. _Red dots_ are these
refinement point clouds but only from the _front body experiment_.

If each Euclidean distance in (55) is called by a _difference between before &
after key points_ corresponding to the world point ${\bf X}^{\star}_{m}$ and
the projection matrix ${\bf P}^{\star}_{n}$, the small or large of
$\text{Error}_{\text{Rel}}(\\{{\bf X}^{\star}_{m},{\bf P}^{\star}_{n}\\})$ can
be seen from all the differences between before & after key points. Figure 9
presents twelve histograms of the differences between before & after key
points from twelve experiments. For the (1,1)th sub-figure of Figure 9
corresponding to the front body experiment, we can conclude that most $\\{{\bf
X}^{\star}_{m},{\bf P}^{\star}_{n}\\}$ derived by this experiment will have
relative error close to 17.0 pixels and less than 37.3 pixels. Similarly,
relative errors of most $\\{{\bf X}^{\star}_{m},{\bf P}^{\star}_{n}\\}$ from
the face experiment will be close to 18.8 pixels and less than 41.4 pixels.
Figure 10 plots the similar histogram for all the key points in our project.
This histogram claims that the average of differences between before & after
key points is 20.5 pixels, and 95% of them are less than 48.9 pixels. Other
than that, there’s no difference greater than 100 pixels. Our images have the
size $3024\times 4032$ ($\text{pixel}^{2}$). Indeed, a difference of 20-pixels
is very small and we hardly notice this difference with the naked eyes. This
achievement validates not only a successful of the proposed algorithm WPfC on
estimating the world points and projection matrices based on their
correspondences, but also a successful of works on Lowe (1999); Bay et al.
(2006); Le and Li (2022) on detecting the key-points and the correspondences.

Figure 13: The _face_ of Buddha statue with four different views of the point
clouds. The point clouds are a combine of the refinement corresponding to
distance $\delta=0.05$ centimeter and the refinement corresponding to
$\epsilon=5$ pixels.

We use a histogram of all Euclidean distances in (56) as we do with (55) to
evaluate both the relative errors $\text{Error}_{\text{Rel}}({\bf X})$ and
Algorithm CrPC. Considering the front body experiment, Figure 11 presents two
histograms of these Euclidean distances corresponding to the point clouds in
the sub-figures (C) and the point clouds in the sub-figures (E). Note that
since we do not add a new point with an $\mathcal{E}_{d}$ value greater than
40 to our point clouds, most points in the point clouds have differences
before & after image points less than 40 pixels. Indeed, although the average
value of the differences before & after image points (15.5 pixels) is smaller
than the average value of the differences before & after key points (17.0
pixels), while the errors of key points effect to the errors of image points,
we cannot conclude anything. However, there is an interesting point that we
would like to discuss. Since there are lots of key points where their errors
are more than 20 pixels as we see in Figure 10, we were worried at first that
the constraint $\mathcal{E}_{d}(\cdot)\leq 40$ would limit the number of
points in the point clouds, and the point clouds cannot cover everywhere of
the object’s surface. In spite of that the size of our point clouds is very
large and they are everywhere the the surface as simulated by the sub-figures
(E) in Figure 6. Furthermore, since there are more good points
($\mathcal{E}_{d}$-values are less than 10) in the sub-figures (D) than in the
sub-figures (B), the number of good points in (E) is very large (20.4% of two
millions points) compared to (C) (18.1% of one million points) (see in Figure
11). This fact allows us to believe that the Buddha statue can be
reconstructed by good point clouds. In another word, we can achieve an
accurate 3D Buddha statue reconstruction. Histograms of differences between
before & after image points from other experiments are similar as two
histograms given by Figure 11 from the front body experiment that warrants our
conclusion on the proposed algorithm of creating point clouds.

Finally, because we do not have any theoretical tool as (57) and (58) to
evaluate the 3D reconstruction work without ground-truths, the best way to
evaluate our point clouds for the 3D Buddha statue reconstruction is bring out
some figures like Figure 8. Figure 12 gives six different views of the
refinement point clouds corresponding to distance $\delta=0.05$ centimeter
along with similar view images. The part reconstructed by the _front body
experiment_ is highlighted by red. From these six views, we strongly confirm
that the 3D shape of the Buddha statue can be modeled with a high accuracy.
The dense clouds rendered by these point clouds after applying some bundle
adjustment techniques would be a realistic and natural model of the Buddha
statue. Figure 13 shows more detail as it gives four different views of just
the head. We hope the readers can see the beautiful and gentle face of the
Buddha statue through these point clouds. The point clouds used in Figure 13
are a combine of the refinement corresponding to distance $\delta=0.05$
centimeter and the other corresponding to $\epsilon=5$ pixels. To finish this
section, we emphasize that these point clouds are not final, and we will work
to get better point clouds.

##  6 Conclusion

Beginning with a simple work that marks 112 special points on the Buddha
statue surface and takes 402 images of this statue such that each image
captures at least these six special points, the study from this article builds
the point clouds with millions points to 3D reconstruct this Buddha statue.
The point clouds cover the entire surface of the statue with most their
relative errors are less than 30 pixels. To our experience on image-based 3D
reconstruction, this achievement will give the statue a realistic and natural
look when these point clouds are rendered. Our point clouds building process
is based on three steps. First, we detect the special points on images that we
call key points, and accurately estimate the correspondences from these key
points. Second, we estimate both the 3D coordinates for the initial special
points and the projection matrices for all images. Third, based on the
estimated special points and the estimated projection matrices from the second
step, we find as many geo-feature correspondences as possible and create the
point clouds. The first step is studies by our previous work in Le and Li
(2022), the second and third steps are presented by Sections 2 and 3,
respectively. Concretely, algorithm WPfC solves the second step and algorithm
CrPC solves the third step.

As we discuss the protocol to create the point clouds simulated by Figure 6 in
Section 4, it seems that our method is not limited to the point clouds with
millions points and their relative errors less than 30 pixels. It can help us
to obtain the better point clouds with tens or hundreds million points and
their relative errors less than 20 pixels. Indeed, if this discussion is
correct, we hope our proposed method succeeds not only in 3D reconstruction of
Buddha statues but also other objects such as human face or human body.
Imagining that how much fun it is when we success to create the point clouds
for human faces and we are able to recognize people from these point clouds.
We believe that this is a huge challenge. However, the results we obtained in
Figure 13 will give us a strong incentive to study and address this challenge
in the future.

Finally, our results on the projection matrix estimation and the point clouds
creation differ from other existing results. For instance, we estimate the
projection matrices not through the fundamental matrix estimation, but through
the assignment of the first five world points and create a new point for the
point clouds based on the new feature named the geodesic feature or the geo-
feature. Therefore, we believe that there are better 3D reconstructions than
currently available if we combine our methods with other existing methods.

## References

  * Agarwal et al. [2010] Sameer Agarwal, Noah Snavely, Steven M. Seitz, and Richard Szeliski.  Bundle adjustment in the large.  In _Proceedings of the 11th European Conference on Computer Vision (ECCV), Part II_ , pages 29–42, Crete, Greece, 2010.
  * Alhichri and Kamel [2003] Haikel Salem Alhichri and Mohamed Kamel.  Virtual circles: a new set of features for fast image registration.  _Pattern Recognit. Lett._ , 24(9-10):1181–1190, 2003.
  * Barath [2018] Daniel Barath.  Five-point fundamental matrix estimation for uncalibrated cameras.  In _Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)_ , pages 235–243, Salt Lake City, UT, 2018.
  * Bay et al. [2006] Herbert Bay, Tinne Tuytelaars, and Luc Van Gool.  SURF: speeded up robust features.  In _Proceedings of the 9th European Conference on Computer Vision (ECCV), Part I_ , pages 404–417, Graz, Austria, 2006.
  * Bresson et al. [2017] Guillaume Bresson, Zayed Alsayed, Li Yu, and Sebastien Glaser.  Simultaneous localization and mapping: A survey of current trends in autonomous driving.  _IEEE Trans. Intell. Veh._ , 2(3):194–220, 2017\.
  * Bruno et al. [2010] Fabio Bruno, Stefano Bruno, Giovanna De Sensi, Maria-Laura Luchi, Stefania Mancuso, and Maurizio Muzzupappa.  From 3d reconstruction to virtual reality: A complete methodology for digital archaeological exhibition.  _Journal of Cultural Heritage_ , 11:42–49, 03 2010.
  * Busemann [2012] Herbert Busemann.  _The geometry of geodesics_.  Courier Corporation, 2012.
  * Cadena et al. [2016] Cesar Cadena, Luca Carlone, Henry Carrillo, Yasir Latif, Davide Scaramuzza, José Neira, Ian Reid, and John J. Leonard.  Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age.  _IEEE Trans. Robotics_ , 32(6):1309–1332, 2016\.
  * Carpo [2001] Mario Carpo.  _Architecture in the age of printing: orality, writing, typography, and printed images in the history of architectural theory_.  MIT Press, 2001.
  * Choi et al. [2022] Gary Choi, Yechen Liu, and Lok Ming Lui.  Free-boundary conformal parameterization of point clouds.  _Journal of Scientific Computing_ , 90(1):1–26, 2022.
  * Chuang et al. [2021] Jen-Hui Chuang, Chih-Hui Ho, Ardian Umam, HsinYi Chen, Jenq-Neng Hwang, and Tai-An Chen.  Geometry-based camera calibration using closed-form solution of principal line.  _IEEE Trans. Image Process._ , 30:2599–2610, 2021.
  * Dionisio et al. [2013] John David N. Dionisio, William G. Burns III, and Richard Gilbert.  3D Virtual Worlds and the Metaverse: Current status and future possibilities.  _ACM Comput. Surv._ , 45(3):1–38, Jul 2013.
  * Dollár and Zitnick [2013] Piotr Dollár and C. Lawrence Zitnick.  Structured forests for fast edge detection.  In _Proceedings of the IEEE International Conference on Computer Vision (ICCV)_ , pages 1841–1848, Sydney, Australia, 2013.
  * Harltey and Zisserman [2006] Richard I. Harltey and Andrew Zisserman.  _Multiple view geometry in computer vision (2. ed.)_.  Cambridge University Press, 2006.
  * Hartigan and Wong [1979] John A Hartigan and Manchek A Wong.  Algorithm as 136: A k-means clustering algorithm.  _Journal of the royal statistical society. series c (applied statistics)_ , 28(1):100–108, 1979.
  * Hartley and Kahl [2007] Richard I. Hartley and Fredrik Kahl.  Optimal algorithms in multiview geometry.  In _Proc. Eighth Asian Conference on Computer Vision, Part I, (ACCV)_ , pages 13–34, 2007.
  * Heimann and Meinzer [2009] Tobias Heimann and Hans-Peter Meinzer.  Statistical shape models for 3D medical image segmentation: A review.  _Medical Image Anal._ , 13(4):543–563, 2009.
  * Hermon [2008] Sorin Hermon.  Reasoning in 3D: A critical appraisal of the role of 3D modelling and virtual reconstructions in archaeology.  _Beyond illustration: 2D and 3D digital technologies as tools for discovery in archaeology_ , 1805:36–45, 2008.
  * Horn [1987] Berthold K. P. Horn.  Closed-form solution of absolute orientation using unit quaternions.  _J. Opt. Soc. Am. A_ , 4(4):629–642, Apr 1987\.
  * Horst and Tuy [1996] Reiner Horst and Hoang Tuy.  _Global optimization - deterministic approaches_.  Berlin: Springer, 1996.
  * Hsieh et al. [1996] Jun-Wei Hsieh, Hong-Yuan Mark Liao, Kuo-Chin Fan, and Ming-Tak Ko.  A fast algorithm for image registration without predetermining correspondences.  In _Proceedings of the 13th International Conference on Pattern Recognition (ICPR)_ , pages 765–769, Vienna, Austria, 1996.
  * Jenks [1967] George F Jenks.  The data model concept in statistical mapping.  _International yearbook of cartography_ , 7:186–190, 1967\.
  * Kemp and Livingstone [2006] Jeremy Kemp and Daniel Livingstone.  Putting a Second Life “metaverse” skin on learning management systems.  In _Proceedings of the Second Life education workshop at the Second Life community convention_ , volume 20. The University of Paisley CA, San Francisco, 2006.
  * Lawler [1963] Eugene L Lawler.  The quadratic assignment problem.  _Management science_ , 9(4):586–599, 1963.
  * Le and Ho [2020a] Trung-Kien Le and King Choi Ho.  Algebraic complete solution for joint source and sensor localization using time of flight measurements.  _IEEE Trans. Signal Process._ , 68:1853–1869, 2020a.
  * Le and Ho [2020b] Trung-Kien Le and King Choi Ho.  Joint source and sensor localization by angles of arrival.  _IEEE Trans. Signal Process._ , 68:6521–6534, 2020b.
  * Le and Li [2022] Trung-Kien Le and Ping Li.  Multi-view geometry: Correspondences refinement based on algebraic properties.  _arXiv preprint arXiv:2205.01634_ , 2022.
  * Le and Ono [2016] Trung-Kien Le and Nobutaka Ono.  Closed-form and near closed-form solutions for toa-based joint source and sensor localization.  _IEEE Trans. Signal Process._ , 64(18):4751–4766, 2016.
  * Lowe [1999] David G. Lowe.  Object recognition from local scale-invariant features.  In _Proceedings of the International Conference on Computer Vision (ICCV)_ , pages 1150–1157, Kerkyra, Corfu, Greece, 1999.
  * Luong and Faugeras [1996] Quang-Tuan Luong and Olivier D. Faugeras.  The fundamental matrix: Theory, algorithms, and stability analysis.  _Int. J. Comput. Vis._ , 17(1):43–75, 1996.
  * McInerney and Terzopoulos [1996] Tim McInerney and Demetri Terzopoulos.  Deformable models in medical image analysis: A survey.  _Medical Image Anal._ , 1(2):91–108, 1996.
  * Mikolajczyk and Schmid [2005] Krystian Mikolajczyk and Cordelia Schmid.  A performance evaluation of local descriptors.  _IEEE Trans. Pattern Anal. Mach. Intell._ , 27(10):1615–1630, 2005.
  * Munkres [1957] James Munkres.  Algorithms for the assignment and transportation problems.  _Journal of the society for industrial and applied mathematics_ , 5(1):32–38, 1957.
  * Myronenko and Song [2010] Andriy Myronenko and Xubo Song.  Point set registration: Coherent point drift.  _IEEE Trans. Pattern Anal. Mach. Intell._ , 32(12):2262–2275, 2010.
  * Nistér [2004] David Nistér.  An efficient solution to the five-point relative pose problem.  _IEEE Trans. Pattern Anal. Mach. Intell._ , 26(6):756–777, 2004.
  * Oliveira and Tavares [2014] Francisco P.M. Oliveira and João Manuel R.S. Tavares.  Medical image registration: A review.  _Comput Methods Biomech Biomed Engin ._ , 17(2):73–93, 2014.
  * Remondino and Fraser [2006] Fabio Remondino and Clive Fraser.  Digital camera calibration methods: Considerations and comparisons.  _Int. Arch. Photogramm. Remote Sens._ , 36(5):266–272, 2006.
  * Rosten and Drummond [2006] Edward Rosten and Tom Drummond.  Machine learning for high-speed corner detection.  In _Proceedings of the 9th European Conference on Computer Vision (ECCV), Part I_ , pages 430–443, Graz, Austria, 2006.
  * Schönemann [1970] Peter H. Schönemann.  On metric multidimensional unfolding.  _Psychometrika_ , 35(3):349–366, 1970.
  * Sharp and Ovsjanikov [2020] Nicholas Sharp and Maks Ovsjanikov.  PointTriNet: Learned Triangulation of 3D point sets.  In _Proceedings of the 16th European Conference on Computer Vision (ECCV), Part XXIII_ , pages 762–778, Glasgow, UK, 2020.
  * Smith et al. [2016] Mark William Smith, Jonathan L. Carrivick, and Duncan J. Quincey.  Structure from Motion Photogrammetry in Physical Geography.  _Progress in Physical Geography_ , 40(2):247–275, 2016.
  * Stewénius et al. [2005] Henrik Stewénius, Frederik Schaffalitzky, and David Nistér.  How hard is 3-view triangulation really?  In _Proceedings of the 10th IEEE International Conference on Computer Vision (ICCV)_ , pages 686–693, Beijing, China, 2005.
  * Swoboda et al. [2019] Paul Swoboda, Dagmar Kainmüller, Ashkan Mokarian, Christian Theobalt, and Florian Bernard.  A convex relaxation for multi-graph matching.  In _Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)_ , pages 11156–11165, Long Beach, CA, 2019.
  * Torresani et al. [2012] Lorenzo Torresani, Vladimir Kolmogorov, and Carsten Rother.  A dual decomposition approach to feature correspondence.  _IEEE Trans. Pattern Anal. Mach. Intell._ , 35(2):259–271, 2012.
  * Triggs et al. [1999] Bill Triggs, Philip F. McLauchlan, Richard I. Hartley, and Andrew W. Fitzgibbon.  Bundle adjustment - A modern synthesis.  In _Proceedings of the International Workshop on Vision Algorithms (ICCV)_ , pages 298–372, Corfu, Greece, 1999.
  * Wang et al. [2007] Chieh-Chih Wang, Charles E. Thorpe, Sebastian Thrun, Martial Hebert, and Hugh F. Durrant-Whyte.  Simultaneous Localization, Mapping and Moving Object Tracking.  _Int. J. Robotics Res._ , 26(9):889–916, 2007\.
  * Wei and Ma [1994] Guo-Qing Wei and Song De Ma.  Implicit and explicit camera calibration: theory and experiments.  _IEEE Trans. Pattern Anal. Mach. Intell._ , 16(5):469–480, 1994.
  * Weng et al. [1992] Juyang Weng, Paul R. Cohen, and Marc Herniou.  Camera calibration with distortion models and accuracy evaluation.  _IEEE Trans. Pattern Anal. Mach. Intell._ , 14(10):965–980, 1992.
  * Wu and Yau [2020] Tianqi Wu and Shing-Tung Yau.  Computing Harmonic Maps and Conformal Maps on Point Clouds.  _arXiv preprint arXiv:2009.09383_ , 2020.
  * Yan et al. [2016] Junchi Yan, Minsu Cho, Hongyuan Zha, Xiaokang Yang, and Stephen M. Chu.  Multi-graph matching via affinity optimization with graduated consistency regularization.  _IEEE Trans. Pattern Anal. Mach. Intell._ , 38(6):1228–1242, 2016.
  * Yang et al. [2019] Kui Yang, Wei Fang, Yan Zhao, and Nianmao Deng.  Iteratively reweighted midpoint method for fast multiple view triangulation.  _IEEE Robot. Autom. Lett._ , 4(2):708–715, 2019\.
  * Zach [2014] Christopher Zach.  Robust bundle adjustment revisited.  In _Proceedings of the 13th European Conference on Computer Vision (ECCV), Part V_ , pages 772–787, Zurich, Switzerland, 2014.
  * Zhang [2000] Zhengyou Zhang.  A flexible new technique for camera calibration.  _IEEE Trans. Pattern Anal. Mach. Intell._ , 22(11):1330–1334, 2000.
  * Zheng et al. [1999] Zhiqiang Zheng, Han Wang, and Eam Khwang Teoh.  Analysis of gray level corner detection.  _Pattern Recognit. Lett._ , 20(2):149–162, 1999\.
  * Ziou and Tabbone [1998] Djemel Ziou and Salvatore Tabbone.  Edge detection techniques - an overview.  _Pattern Recognition and Image Analysis_ , 8:537–559, 1998\.