International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XXXIX-B4, 2012
XXII ISPRS Congress, 25 August — 01 September 2012, Melbourne, Australia
Based on this spherical panorama, the range data are generated
using the point cloud with a translated viewpoint, as shown in
Figure 4. When the points from P1 to P10 are projected into a
panorama space generated from a viewpoint Xo, these points
are arranged continuously from P1 to P10 in the range data. The
azimuth or elevation angle from viewpoint Xo to measured
point Pl is denoted by Ro. When the same scene is captured
from a different viewpoint Xt, the angle from the viewpoint Xt
to the measured point P1 is denoted by Rt. The position of the
projected point in the range data moves according to the change
in angle from Ro to Rt.
Real surface
[/ Overwrite Pl |
PI + Occluded point
2
4P3 , «—— No-data space
OP
Figure 4. Point distribution calculated by viewpoint translation
in the range data, occlusion detection using the point cloud, and
point-cloud interpolation using distance information
Filtering using distance values between a viewpoint and
measured points
Three types of filtering are executed after the viewpoint
translation, as shown in Figure 3. The first filtering is an
overwriting of occluded points. When the viewpoint is
translated to Xt, the projected point Pl becomes an occluded
point behind P2. Therefore, P1 is overwritten by P2.
The second filtering is the generation of new points in no-data
space. This occurs when the viewpoint is translated to Xt and a
no-data space exists between the projected points P3 and P4.
For exampl, Figure 2 shows P, being generated.
The third filtering is the detection of occluded points and the
generation of new points instead of detected occluded points.
When the viewpoint is translated to Xt, the point P8 exists
between P9 and P10 after the first filtering. However, the actual
point P8 should be occluded because the point P8 exists behind
the real surface. Therefore, the occluded point P8 should be
given a new distance value Py», calculated by interpolation
processing using the distance values of points P9 and P10. In
addition, new points are generated using a pixel-selectable
averaging filter developed in our research as follows.
Pixel-selectable averaging filter
In general, when an image is transformed, each pixel in the
image has its color data resampled by using the pixel values
around it. Points projected into the panorama space are also
processed using a similar technique to improve the quality of
the range data. However, general resampling techniques such as
nearest interpolation reduce the quality of the range data
because valid, erroneous, and missing data are blended in the
resampling. Therefore, a focused pixel-selectable averaging
filter is applied to this problem. The filter processing uses only
valid pixels around a pixel in the resampling. This processing is
equivalent to missing-point regeneration, without reducing
geometrical accuracy, to give a uniform smoothing effect.
The process flow for the pixel-selectable averaging filter is
described as follows. First, the data are checked to see whether
valid points exist. Second, the number of valid pixels in the
block is counted. Third, after these point-extraction steps, a
search range for distances is given to extract valid points. The
start value of the search range is the distance from the
viewpoint to the nearest point found among the extracted points,
with the end value being the start value plus a defined distance
parameter. All valid points in the block within the search range
are then extracted. The defined distance parameter depends on
the continuity of the points in the point cloud. Finally, an
average distance value from the viewpoint to the valid points is
calculated. The focus point value is then overwritten by the
average value. However, if the focus point has a distance value
within the search range, the point is defined approximately as
the nearest surface point, and the overwriting processing is not
performed in this case. This processing sequence is applied to
all points.
2.2 Camera image projection onto the point-cloud image
Azimuth and elevation angles are used as coordinate values in
the panoramic image generated from the point cloud. Azimuth
and elevation angles for the camera image can be calculated
directory, based on the projection from camera coordinates to
panorama coordinates using the rectified camera image after
camera calibration. However, in general, the spatial resolution
of a camera is higher than that for laser data. Therefore, a
procedure based on the projection from panorama coordinates
to camera coordinates can reduce the processing time. Image
coordinates in a camera image are converted to azimuth and
elevation angles, as shown in Figure 5.
777 Rectified camera image plane
X
2
^ Principal point
VI Spherical surface
X————————3À
{Focal length of camera
Figure 5. Camera image projection onto a spherical surface
In addition, the spherical surface coordinates can be expressed
as
T cosA —sinA O0 cop 0 sing T
yls| snà. cosA 0 0 1 0 0) (1)
x] 0 0 1 —sinp 0 cosg J| 0
where f= focal length,
J= azimuth angle,
¢= elevation angle, and
X, y, z= spherical surface coordinates
Moreover, y and z in these spherical surface coordinates are
multiplied by a ratio of x and the focal length of the camera.
The calculated y and z are then converted to image coordinates
in the panoramic image using camera rotation angles and à
principal point taken from the camera calibration parameters.
Interi
We conduc
camera anc
large indoo
as input d:
reference m
three-degre
parameter
Because ho
parameters
focused on
camera azin
31 Data a
We used a
detection an
Digital cam
We acquirec
SONY DSC
(SOKKIA S
intervals 30*
Dig
(SC
Tota
(SO
Figur
The 12 ima;
space with a
giving 12 im
Image 01
Terrestrial la
We prepared :
(RIEGL VZ.4
data and corr
Scanner was p
Points was ap
total station w
shown in Fig,
7,000,000 poit