FEATURE POSITIONING ON GOOGLE STREET VIEW PANORAMAS

Page created by Rick Barton
 
CONTINUE READING
FEATURE POSITIONING ON GOOGLE STREET VIEW PANORAMAS
ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume I-4, 2012
                          XXII ISPRS Congress, 25 August – 01 September 2012, Melbourne, Australia

             FEATURE POSITIONING ON GOOGLE STREET VIEW PANORAMAS

                                                Victor J. D. Tsai and Chun-Ting Chang

            Dept. of Civil Engineering, National Chung Hsing University, Taichung 40227, Taiwan - jdtsai@nchu.edu.tw

                                     Commissions IV, II, VI, WG II/6, IV/5,4,1,8, II/6, VI/1,2

KEY WORDS: Google Maps API, Google Street View, 3D Positioning, Intersection, Points of Interest (POI)

ABSTRACT:

Location-based services (LBS) on web-based maps and images have come into real-time since Google launched its Street View
imaging services in 2007. This research employs Google Maps API and Web Service, GAE for JAVA, AJAX, Proj4js, CSS and HTML
in developing an internet platform for accessing the orientation parameters of Google Street View (GSV) panoramas in order to
determine the three dimensional position of interest features that appear on two overlapping panoramas by geometric intersection. A
pair of GSV panoramas was examined using known points located on the Library Building of National Chung Hsing University
(NCHU) with the root-mean-squared errors of ±0.522m, ±1.230m, and ±5.779m for intersection and ±0.142m, ±1.558m, and ±5.733m
for resection in X, Y, and h (elevation), respectively. Potential error sources in GSV positioning were analyzed and illustrated that the
errors in Google provided GSV positional parameters dominate the errors in geometric intersection. The developed system is suitable
for data collection in establishing LBS applications integrated with Google Maps and Google Earth in traffic sign and infrastructure
inventory by adding automatic extraction and matching techniques for points of interest (POI) from GSV panoramas.

                    1.   INTRODUCTION

The emerging development in microelectronic industry has
raised the productivity and performance in mobile mapping
devices and the demands in consequent value-added services.
Among them the location-based services (LBS) on web-based
maps and images have come into real-time since Google
launched its Street View imaging services in 2007 (Vincent,
2007). GSV images were taken from a ring of eight cameras plus
a fish-eye lens on top for producing the most popular 360-degree
panoramic views (Anguelov et al., 2010). As shown in Figure 1,
the 4th generation Street View car was equipped with a R5 system
at a height of about 2.5 meters, Global Positioning Systems (GPS)           Figure 1. Devices adapted on the 4th generation GSV car
units for vehicle positioning, three laser range scanners for the           (Center image edited from http://en.wikipedia.org/wiki/
measuring distances of objects up to 50 meters 180° around the                  File:Google_Street_View_car_Switzerland.jpg)
vehicle, and network antennas for scanning 3G/GSM and Wi-Fi
hotspots. Each available GSV panorama can be requested in an
HTTP URL form using Google Maps Application Programming                       2.   GOOGLE STREET VIEW AND MAPS API
Interface (Google Maps API), along with the projection type, the
geodetic position of the Street View car and its moving direction       2.1 Basics for Google Street View Panorama
with respect to the North at the time of image capture. Hence, it
provides the user opportunities to determine the spatial position       Though with composing techniques in veiled, a GSV panorama
of features that appear on the GSV panoramas.                           is a 360° surrounding image generated from mosaicking the eight
This research employs Google Maps JavaScript API, Google                original images captured by the eight horizontal cameras in the
App Engine (GAE) for JAVA, Asynchronous JavaScript And                  sequences as shown in Figure 2. The percentage of horizontal
XML (AJAX), and Proj4js (Evenden, 2003) in developing an                overlap between adjacent original images is about 28.8% for
internet platform for accessing the orientation parameters of           removing the most distorted outside portion of an original image
GSV panoramas in order to determine the geographic position of          caused by camera lens. Meanwhile, the panorama was aligned
any interest features that appear on two overlapping images by          with the heading direction of the vehicle at the center.
intersection, and to determine the position of the exposure center      Each GSV panorama was tile-indexed in a 6 zoom-level image
of a panorama from at least three known control points by               pyramid with the size of 416*208 pixels in level 0, with a scale
resection. Extracted 3D positional information of the features          factor of 2, to 13312*6656 in level 5 for covering the field of
from intersection can be packed in Keyhole Markup Language              view of 360° in horizontal and 180° in vertical. Thus, it is
(KML) format and stored in GAE Servlet for future LBS                   convenient to convert the rectangular image coordinates (row,
applications integrated with Google Maps and Google Earth. Key          column) in the developed panorama plane into spherical
elements of the developed platform were introduced in the next          coordinates (latitude, longitude), and vice versa, in the following
section, followed by the results and error analyses from                equivalent as in the level 5 zooming image:
examining known points appeared on the GSV panoramas, and
conclusions.
                                                                              360o / 13312pixels  0o1'37.35577" / pixel              (1).

                                                                  305
FEATURE POSITIONING ON GOOGLE STREET VIEW PANORAMAS
ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume I-4, 2012
                            XXII ISPRS Congress, 25 August – 01 September 2012, Melbourne, Australia

                                                                                     4js Track and Wiki, 2012) along with EPSG
                                                                                 Proj4                                          E       geodeticc
                                                                                 param
                                                                                     meters (OGP Geomatics,
                                                                                                 G          20122) in a JavaScrip
                                                                                                                                pt environment..

                                                                                 3.2 Intersection
                                                                                     I

                                                                                 As shhown in Figure 3, computationns of the POI’s coordinates
                                                                                                                                    c           in a
                                                                                 3D rectangular
                                                                                      r            coo
                                                                                                     ordinate system m from two kn  nown exposuree
                                                                                 statio
                                                                                      ons with angullar observationns are feasible in overlappedd
                                                                                 GSV V panoramas, whose
                                                                                                     w       parametters are accessed via Googlee
                                                                                 Maps API as descriibed in Sectionn 2.2. Let (X, Y,
                                                                                                                                  Y Z)P representt
                                                                                 the coordinates
                                                                                      c           of a POI, and (X, Y, Z)L and (X,, Y, Z)R for thee
                                                                                 expoosure centers for the left aand right GS     SV panoramas,,
                                                                                 respeectively. The coordinates of tthe POI can bee computed byy
                                                                                 applyying intersection of two lines w
                                                                                                                     with known direections (Ghilanii
                                                                                 & Wolf,
                                                                                    W      2006, 20088) using coordinnate geometry as
                                                                                                                                    a following:

                                                                                           (YL  YR )  X L cot   X RR cot                      (2)
          (d) Exaample images (from
                                  m left: camera 5, 4, 3, 2, 1, 8, 7, 6)             XP 
                                                                                                      c   cot 
                                                                                                      cot
                                                                                          ( X R  X L )  YL cot   YRR cot                      (3)
                                                                                     YP 
                                                                                                     c   cot 
                                                                                                    cot

                                                                                     ZP 
                                                                                            Z   L                   
                                                                                                      LP * tan  LP  Z R  RP * tan  RP        (4)
                                                                                                                     2
                           (e) Mosaaicked panorama                               wherre
 Figure 2. Coomposition of a GSV Panoramaa (Example imaages                               LP           X P  X L 2  YP  YL 2 ,
      accesseed from http://m
                            maps.google.com  m/help/maps/
     streetvieew/technology/p
                            /photos-into-streeet-view.html)
                                                                                          RP           X P  X R 2  YP  YR 2 ,
                                                                                            LR   LP ,
                                                                                            LR   RP  180o ,
2.2 Parameterrs Accessed froom Google Ma
                                       aps API
                                                                                                        XR  XL 
The coordinatees associated with the GSV pan     norama which ccan be                      LR  tan 1           C ,
                                                                                                        YR  YL 
accessed from m Google Mapps JavaScript API     A are latitudee and
                                                                                          C: a constaant that dependds on the quadrant in which R
longitude in WWGS84 reference ellipsoid forr its center usinng the
                                                                                          lies with respect to L,
getLatLng() m method in StreeetviewLocation     n class. The caamera
yaw in degreees to true north,, i.e., the car heeading directionn with                     LP ,  RP : POI’s headinggs (azimuthal anngles), and
respect to true north, can alsoo be requested byb using the getY Yaw()                     LP ,  RP : POI’s pitches ((vertical angless) viewing from
                                                                                                                                                     m
method for cam  mera 1 in the Pov
                               P class, which    h can be accesssed by                    the left center L and right ccenter R, respectively.
the getPov() mmethod in StreettviewLocation class.
                                                c     Meanwhille, the
elevation (heigght from ellipsooid) of the initiial point of vieww can
be accessed byy Google Elevaation API undeer Google Mapss API
Web Services..
When being ppointed with thhe mouse curso        or in a panoram ma, a
feature or poinnt of interest (POOI) can be located from the heeading
and pitch attriibutes of the SttreetviewPov class for its azim muthal
angle and verttical angle from  m the horizon of o the point of view,
              The POI may bee a commercial entity, a trafficc sign,
respectively. T
or a specific ttarget whose global
                               g        location to be determinned. It
may be a labelled point alreadyy posted in the GAE Servlet w   with its
coordinates acccessed by StreeetviewLocation class for compputing
the position off the initial poinnt of view of a GSV
                                                 G panoramaa.

                                                                                    Figure
                                                                                    F      3. Concep
                                                                                                   pt in intersectioon from two kno
                                                                                                                                  own images
             3.    JavaScript IMPLEMENT
                              I       TATION

3.1 Coordinatte Systems and
                          d Transformattions                                     3.3 Resection
                                                                                     R
The coordinattes used in thee implementation include geoodetic                   In a GSV
                                                                                       G panorama, the resection aapproach can also be applied too
coordinates ((latitude, longiitude, elevatio
                                           on or height from                     locatte the exposure center of the paanorama in retriieving headingss
ellipsoid) in WGS84 ellipsoid (EPSG       G: 4326), TW     WD97                  (azimmuthal angles) and pitches (veertical angles) ofo at least threee
Transverse MMercator 2° zonne 121 X-Y co    oordinates baseed on                 labelled points with  h known coorddinates accesseed via Googlee
GRS80 ellipsooid and Internaational Terrestriial Reference F
                                                           Frame                 Maps API from thee GAE Servlett as described in Section 2.2..
(ITRF) 1997 (EEPSG: 3826), and
                            a TWD67 Traansverse Mercaator 2°                     Com mputational procedures for thhe X, Y coorrdinates of thee
zone 121 X-Y Y coordinates based
                            b      on GRS6  67 ellipsoid (EEPSG:                 resecction can be fou und in Ghilani & Wolf (2006, 2008). As withh
3828). The traansformations among
                            a       these cooordinate and ddatum                 interrsection, the aveerage elevation dderived from th
                                                                                                                                      he known pointss
                                           oj4js (Evenden, 2003;
systems are maade convenient from using Proj                                     is tak
                                                                                      ken for the elevvation of the GSSV exposure cen  nter.

                                                                           306
FEATURE POSITIONING ON GOOGLE STREET VIEW PANORAMAS
ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume I-4, 2012
                           XXII ISPRS Congress, 25 August – 01 September 2012, Melbourne, Australia

3.4 System Im
            mplementation                                                             4.    RESU
                                                                                               ULTS AND ER
                                                                                                         RROR ANALY
                                                                                                                  YSES

The platform was developedd using AJAX techniques
                                              t            withh CSS      4.1 Positioning
                                                                              P           Ressults
(Cascading S  Style Sheets) and HTML (HyperText
                                              (             M
                                                            Markup
Language) in web user interrface design an    nd JavaScript inn data      A paair of GSV pano   oramas, as show   wn in Figure 4,, was examinedd
communicatioon among proggram sessions and GAE S ervlet                   for thhe positioning precision usingg 14 known po       oints located onn
through internnet. The platforrm can be run ini Microsoft Innternet       the Library
                                                                               L         Buildin
                                                                                               ng in NCHU caampus, as show        wn in Figure 6..
Explorer (IE),, Mozilla Fireffox, and Google Chrome brow       wsers.     The root-mean-squared (RMS) errrors of the 14           4 known pointss
Figure 4 dem  monstrates the implemented
                               i              software platforrm in       from
                                                                             m GSV intersecttion are ±0.5222m, ±1.230m, and       a ±5.779m inn
which the winndow content is divided into five parts: left view           X, Y,
                                                                             Y and Z directio  ons, respectivelyy as shown in th   he upper part off
panorama, righht view panoram  ma, Google Maaps, Main menuu, and          Table 1.
Log for compuuted POI coordinates. The two    o GSV viewportts and        Anotther test on reseection for the tw  wo GSV panoramas was donee
Maps viewporrt allow the user to zoom in/ou   ut the panoramaas and       usingg 8 (i.e., points 2, 5, 7, 8, 9, 18 , 23, and 25) offf the 14 knownn
map/image foor detail, respectively. Once clicked on a ccursor            pointts on the NCHU   U Library Buildding to determin    ne the precisionn
position in thee Maps viewporrt, the nearest po
                                              ositions of founnd pair     of GSV
                                                                             G      positional parameters
                                                                                                p             withh the headings (azimuths) andd
of GSV panorramas via Googgle Maps API will be markedd as                 pitchhes (vertical anggles) in a least squares solutio   on. As listed inn
and with a liine of sight for POI intersectio on.                         the lower
                                                                               l      part of Table
                                                                                               T       1, the RM MS errors of Google providedd
The Main mennu includes threee processes: Intersection, Reseection,       GSVV positions are ±0.142m,
                                                                                                ±           ±1.5558m, and ±5.733   3m in X, Y, andd
and Output as shown in Figurre 5. Within Inteersection processs, the      Z, reespectively for the
                                                                                                t two GSV paanoramas.
information of the two GSV   V panoramas an    nd the headinggs and
pitches of thhe cursor centeer from the centerc       of respeective
panorama are dynamically updated
                              u         duringg each movemeent of
respective poinnting cursor annd zooming of panoramas.
                                              p            Oncce the
“Intersection” button was cliccked, the POI innformation, inclluding
user-input POII name and desccription and coo  ordinates in WG GS84,
TWD97 and T    TWD67, were output
                              o       to the Loog viewport annd can
be saved in thee Output process to GAE Servlet in KML docuument
for future LB BS applications by clicking th   he “Save POI Info”
button. While three know      wn labeled points were ccaught
individually bby dragging currsor and zoomiing on the left view
panorama in thhe Resection proocess, the “Reseection” button ccan be
clicked to com mpute and delivver the positionn of the center oof the
left GSV panoorama to the Log viewport.

                                                                               Figure 6. Know
                                                                                            wn points at thee NCHU Library
                                                                                                                         y Building

                                                                           Poinnt     Left Panorama
                                                                                                  a       Right Panoram
                                                                                                                     ama           Difference
                                                                            ID      Heading Pitch        Heading Piitch     ΔX (m)   ΔY (m)     Δh (m)
                                                                             2      150.4158 23.95554   -192.8971 26..2612 0.194      -0.425    6.753
                                                                             3      150.3445 14.75592   -192.9707 16..1406 0.227      -0.398    6.324
                                                                             5      189.0832 27.15509   -152.7719 24..1234 -0.717      0.992    6.139
                                                                             6      188.9925 16.82263   -152.8106 14..5866 -0.672      1.105    5.876
                                                                             7      151.8516 10.80074   -191.7048 11..5834 0.196      -0.516    6.176
                                                                             8      151.8966 -2.75543   -191.7819 -3..6075 0.275      -0.570    5.576
                                                                             9      187.8587 12.18810   -154.3627 10..4477 -0.659      1.084    5.794
                                                                            16       63.1182 6.81 131   -146.9189 5..3284 -0.744       1.246    5.648
                                                                            18      204.2626 6.62 288   -141.2059 4..9211 -0.547       1.772    5.525
                                                                            20      211.0985 5.92 215   -136.2743 4..5469 -0.640       1.839    5.508
                                                                            23      118.0136 -6.06637   -213.1467 -12..3201 0.603      0.959    5.333
              F
              Figure 4. GUI of
                            o the implemen
                                         ntation                            24      118.1016 -7.76699   -213.4219 -15..9637 0.712      0.854    5.363
                                                                            25      193.8918 -14.67
                                                                                                  782   -121.6950 -9..0410 0.205       1.929    5.323
                                                                            26      193.9693 -19.52
                                                                                                  286   -121.8892 -11..9340 0.181      1.852    5.347
                                                                                                 RM
                                                                                                  MS                         0.522     1.230    5.779
                                                                                        Left Pano
                                                                                                orama Id: onMqoF FLCjTFsReilyMkP PQA
                                                                             WGS84
                                                                             W         (λ,ϕ, h)      24.120254        120.674381           63.118
                                                                                 TWD97 (X,Y)        216901.740       2668379.451    (from Proj4js)
                                                                            Adjusted
                                                                            A          (X,Y, h)     216901.914       2668378.353           57.460
                                                                            Sttd. Dev. (X,Y, h)            0.135           0.279            0.796
                                                                                 (ΔX, ΔY, Δ h)            -0.174           1.098            5.658
                                                                                       Right Pano
                                                                                                orama Id: TrAJIgqq6CmkjThOLjkD7WA
                                                                             WGS84
                                                                             W         (λ,ϕ, h)      24.120255        120.674477           63.563
                                                                                 TWD97 (X,Y)        216911.498       2668379.539    (from Proj4js)
                                                                            Adjusted
                                                                            A          (X,Y, h)     216911.599       2668377.629           57.756
                                                                            Sttd. Dev. (X,Y, h)            0.068           0.095            0.296
                                                                                 (ΔX, ΔY, Δ h)            -0.101           1.910            5.807
                                                                           RMS (ΔX, ΔY, Δ h)               0.142           1.558            5.733
         Figuree 5. Main functtions of the imp
                                             plementation
                                                                            Taable 1. Observations and errorss in GSV positiioning on the
                                                                                              NCHU Libraryy Building

                                                                    307
FEATURE POSITIONING ON GOOGLE STREET VIEW PANORAMAS
ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume I-4, 2012
                           XXII ISPRS Congress, 25 August – 01 September 2012, Melbourne, Australia

4.2 Error Sources in GSV Positioning                                          in geometric intersection.
                                                                              The developed system is suitable for volumetric data collection
Errors in POI’s coordinates from geometric intersection among                 in establishing LBS applications, in which the positional
GSV panoramas may be caused by the following sources:                         accuracy is not primarily concerned. Possible applications can be
1. GSV car positioning errors: According to the specification,                settled in finding and positioning of commercial entities, traffic
    the worst position errors of the TOPCON IP-S2 GPS/IMU                     signs, utility poles and manholes, landmarks, and infrastructures
    unit for 30 second outage duration (1 epoch/30s) are 0.055m               along the streets where GSV panoramas are available. The
    and 0.030m in 2D plane and height direction, respectively                 current state of the GSV positioning system is not complete.
    and attitude errors of 0.030, 0.030, and 0.075 degrees in roll,           Future work on extending its functionalities includes adding
    pitch, and heading, respectively. The latitude, longitude, and            automatic feature detection and image matching techniques for
    elevation parameters of the GSV panorama may include                      object recognition and matching among GSV panoramas. Other
    systematic errors from interpolation. As shown in Table 1,                features in GSV auxiliary data and Google Maps can also be
    the errors in Google provided GSV positional parameters                   included to provide the user opportunities to place markers and
    dominated the errors in intersection, especially in elevation.            overlay in the scene, find local business from commercial entity
2. Angular resolution in panoramas: As already shown in Eq.                   recognition, and lever 3D data and sequence of GSV panoramas
    (1), the conversion from rectangular image coordinates in                 for smart navigation.
    level 5 zooming panorama into heading and pitch angles is
    about 1.63 minutes/pixel. The angular resolution will be
    decreased in the power of 2 when the panorama is zoomed                                    ACKNOWLEDGEMENTS
    out to lower levels, i.e., 3.25 minutes/pixel for level 4 and 6.5
    minutes/pixel for level 3, etc. As a result, when the POI is not          The support from the National Science Council, Taiwan, under
    carefully located with the highest zoom level of the                      Grant No. NSC100-2221-E005-075-MY2, was appreciated in
    panorama, the heading and pitch angles of conjugate POI                   improving the developed system in this research.
    images from the respective panorama center may not be
    precise enough for deriving reliable results from intersection
    and resection.
3. Distortions of the panoramas: A sphere model was used for
    merging GSV panoramas from the planar images obtained
    the horizontal cameras in earlier products. On the other hand,
    a rectangular plane model is used in the latest Google Maps
    API version 3. However, the previous GSV products were
    not regenerated into the rectangle plane model. The
    panorama may include severe distortions in the upper
    portions (image from the 9th camera shooting the sky) and
    lower portions (rendered from other panoramas) as shown in
    Figure 7. It would be good to locate POIs on the central
    portions of ±30 degrees in pitch (vertical angle) according to
    the vertical field of view of the camera lens. The distortion of             Figure 7. Distortions in the Google Street View Panorama
    image may also happen while the GSV panorama is viewed
    in different web browsers as shown in Figure 8, in which
    Google Chrome seems well in reducing the GSV panoramic
    distortion.
4. Small intersection angles between the known points: The
    intersection angle of a POI from the two adjacent GSV
    panoramas may be too sharp to cause significant error in
    intersection (Ghilani & Wolf, 2008).

                      5.   CONCLUSIONS

This research employs Google Maps JavaScript API and Web
Service, GAE for JAVA, AJAX, Proj4js, CSS and HTML in                                                (A) Google Chrome
developing an internet platform for accessing the position and
orientation parameters of GSV panoramas in order to determine
the global positions of POI features that appear on two
overlapping images by intersection, and to determine the position
of the exposure center of a panorama from at least three known
points by resection. Extracted 3-D positional information of the
features from intersection were packed in KML format and
stored in GAE Servlet for future LBS applications integrated
with Google Maps and Google Earth.
Experimental results from positioning known points in a pair of
GSV panoramas are ±0.522m, ±1.230m, and ±5.779m for
intersection and ±0.142m, ±1.558m, and ±5.381m for resection
in X, Y, and Z, respectively. Potential error sources in GSV
positioning were analyzed and illustrated that the errors in                                         (B) Mozilla Firefox4
Google provided GSV positional parameters dominate the errors                 Figure 8. Distortion of GSV panorama in different web browsers

                                                                        308
ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume I-4, 2012
                          XXII ISPRS Congress, 25 August – 01 September 2012, Melbourne, Australia

                       REFERENCES                                            Hoboken, NJ, pp. 255-282.
                                                                        Ghilani, C. D. and P. R. Wolf, 2008. Elementary Surveying: An
Anguelov, D., C. Dulong, D. Filip, C. Frueh, S. Lafon, R. Lyon,              Introduction to Geomatics, 12th ed., Pearson Education,
    A. Ogale, L. Vincent, and J. Weave, 2010. “Google Street                 Upper Saddle River, NJ, pp. 269-294.
    View: Capturing the World at Street Level,” Computer, vol.          OGP Geomatics, 2012. EPSG Geodetic Parameter Dataset,
    43, no. 6, pp. 32-38.                                                    http://www.epsg.org/ (11 Jan. 2012).
Evenden, G. I., 2003. Cartographic Projection Procedures for            Proj4js Track and Wiki, 2012. http://trac.osgeo.org/proj4js/ (08
    the UNIX Environment—A User’s Manual, USGS                               Jan. 2012)
    Open-File Report 90-284.                                            Vincent, L., 2007. “Taking online maps down to street level,”
Ghilani, C. D. and P. R. Wolf, 2006. Adjustment Computations:                Computer, vol. 40, no. 12, pp. 118-120.
    Spatial Data Analysis, 4th ed., John Wiley & Sons,

                                                                  309
You can also read