FEATURE POSITIONING ON GOOGLE STREET VIEW PANORAMAS
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
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
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
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
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