Show HN: Street View Simple – Explore Street View Data in a Browser

(callumprentice.github.io)

62 points | by callumprentice 1415 days ago

7 comments

  • jefft255 1415 days ago
    That's doesn't properly look like lidar data to me; at least it wouldn't be lidar that is mounted right on the street view car. Maybe they use aerial lidar somehow? Or maybe the resolution is purposefully poor?
    • pantelisk 1415 days ago
      It is not proper pointclouds, but it is the data used by Street view to highlight if you are looking at a wall, or at a street. It is also used for transitions between one scene to another.

      You can see it is very basic 90deg angle geometry, instead of actual pointclouds. Still pretty cool! https://imgur.com/a/EgC0RbN

      • callumprentice 1415 days ago
        FWIW, that's just my own amateurish rendering of the points. The data itself that the Street View API provides is just an array of 3d points.
        • pantelisk 1415 days ago
          Oh yeah, I didn't mean to come off as judgemental or nitpicky. This is fantastic work! And this data can actually be pretty useful, let's say if somebody wanted to build a racing game based on street view, using the boundaries of the street for collisions etc. Too many fun possibilities!
          • callumprentice 1415 days ago
            Not at - I knew what you meant :)

            Someone used it years ago to make a neat visualization where they rendered the Street View imagery as normal and then used the same 3D data to overlay foliage and create an apocalyptic environment. Seems to be gone now but there are some articles about it like this one: https://www.citylab.com/life/2014/03/epic-google-street-view...

    • dang 1415 days ago
      Since the word 'lidar' can be taken out of the title without damaging it, I've done so. (Submitted title was "Show HN: Street View Simple – Explore Street View Lidar Data in a Browser")
    • sdan 1415 days ago
      Yeah, this definitely doesn't look like lidar data... unless its really low quality. The buildings show spatial depth, but the cars and pedestrians are pretty much all in a circle (they have no depth).
      • mthoms 1415 days ago
        I don't know much about lidar but.. is it possible Google have done this intentionally with some sort of algorithm? After all, pedestrians and vehicles are just "noise" in the context of mapping/visualising streets.
      • accurrent 1415 days ago
        I think they have removed the cars from the lidar on purpose as there would be privacy issues if the cars were shown. Same would apply for pedestrians and shop facades.
      • callumprentice 1415 days ago
        Interesting - I've seen it touted as LiDAR data but since it's all a bit unofficial, I guess it could be anything. I'll see if I can dig up any old articles about it - it's been there for quite some time.
  • saeranv 1415 days ago
    This seems really cool, but I don't quite understand what I'm looking at. Is this a processed version of the LIDAR data for the environment?

    Also why do the "pixels" get less dense at the edges of the view? I.e as you rotate, the pixels that were previously at the center of the screen get more sparse as they reach the edges of your view? My intuition is that if you sample points on a hemisphere equally (a difficult task in of itself), then you shouldn't get this kind of pixelation. So is there something going on here with either the orientation of the squares, or sampling that causes the density/exposure to fall-off with cosine of the vector looking ahead and vector to the side?

    • callumprentice 1415 days ago
      Yep - there is way to grab the depth data from each Street View pano along with the image data. I plot each point 3D space and grab the corresponding color from the image. The separation is uneven - depends on what the the depth camera sees I guess - many of the points are marked as off at infinity.
      • saeranv 1415 days ago
        Interesting, so it's the data they provide that is sparse. If you expand the view to full screen, and stare straight-on at the wall, you can clearly see the 'sparse' pixels form a circle around the camera on the ground and at the sky.

        I don't really know how LIDAR works, so I don't know if it's something intrinsic to the process, or a decision made by the engineers.

        • callumprentice 1415 days ago
          Yah, I've noticed that too - I wondered if it was an. artifact of the way I render the points but since the building look mostly right, I figured that was the way it is.
          • saeranv 1414 days ago
            That's a possibility. Are you rotating your squares in just the xy plane, or also along the "pitch"?

            I find your project fascinating, thank you for sharing it!

            • callumprentice 1414 days ago
              Thank you so much. I use the built in point cloud primitive which I think is a list of billboards geometry and all you can change is the size of each point.
              • saeranv 1414 days ago
                Okay, so it has nothing to do with the orientation of the point planes.

                Having thought about it some more, I think this is a consequence of the reduction of surface area hit by the LIDAR rays, as the square of it's distance. Basically, the rays are cast in a spherical distribution (which has a surface area of 4pir^2). So the further out you go, the rays "capture" less of the environment, and you get the sort of sparse pixels at a distance.

                So those circles are just reductions in pixel density that are proportional to linear distance from the center of the LIDAR sphere. You can kind of see how depending on the distance to the building walls, the surrounding 'halo' of circular pixel density increases or decreases.

                • callumprentice 1414 days ago
                  Nice! I noticed that halo effect you mentioned - fascinating to get some background. Thanks for taking the time to post.
  • kevinali3 1415 days ago
    Is there any software (preferably open source) that can be used to build one's own street views for areas/countries that are not covered by Google?
    • windthrown 1415 days ago
      The software is not open-source but both Mapillary and OpenStreetCam have very permissive licenses. I contribute to and use both services to improve OpenStreetMap.

      Mapillary: https://www.mapillary.com/

      OpenStreetCam: https://openstreetcam.org/

      • Mediterraneo10 1415 days ago
        OpenStreetCam itself isn’t quite closed-source: it is on Github. But the app was built on top of Facebook tools, which many people will not want on their phones. See the notorious outstanding Github issue [0]. At least OSC’s hard dependency on Google Play Services appears to have been removed, though – last time I looked into installing Mapillary, it still would not run on a bare Android like LineageOS.

        [0] https://github.com/openstreetcam/android/issues/8

    • jefft255 1415 days ago
      Any photogrammetry software will do the trick. A free one has been shared here recently: https://alicevision.org/ .
    • Raphaellll 1414 days ago
      You can highly customize the Google Maps javascript service to load and connect you custom panoramas hosted on your own server.
    • callumprentice 1415 days ago
      I believe you can publish your own images and have them available via Google Maps but I've never done it. This might be a decent starting point: https://www.google.com/streetview/contributors/
    • netsharc 1415 days ago
      I've seen a project by OpenStreetMap to upload dashcam images, and a quick search gave me this: https://openstreetcam.org
      • windthrown 1415 days ago
        It started as "OpenStreetView", changed names due to Google, and has had a few different owners but is a continuation of the original project you saw.
  • pj_mukh 1415 days ago
    This is very cool! I'm thinking the depth data that is captured is of higher resolution. Is that true? Was this limited by the API? Or a limitation of the browser?

    Super cool to see this depth data IRL.

    • callumprentice 1415 days ago
      Thank you! As far as I know (it's undocumented) the only source of depth data is very low resolution. The image data (where the color of each point comes from) is much, much higher - shame they're not on par with each other.
      • moron4hire 1415 days ago
        I've been very interested in getting access to the depth data for a VR project I'm working on. Is this something you could talk more about, perhaps over email (in my profile)?
        • callumprentice 1415 days ago
          Yes of course - email sent - I spoke too soon - message was blocked for unspecified reasons. My email is my profile if you'd like to start a conversation.
  • 00deadbeef 1414 days ago
    I’ve got no idea what this is. The text on the page is truncated in Safari on iOS so I assume there are some explanatory notes I can’t see?
    • raimue 1414 days ago
      Even with the full text I do not understand what I am seeing. The comparison to previous projects did not help because I do not know them either.

      It appears to be a different rendering of the Street View data that will be loaded from Google servers. What is the purpose of this site? Just to show how Street View works internally?

  • saeranv 1415 days ago
    Looking at this makes me wonder how Google combines the point data to generate clean polygons. I.e when I hover my mouse over a wall in Street View, it identifies correctly the entire connected plane.

    Does anyone know how this is done?

    • callumprentice 1415 days ago
      I'd like to know that too - all kinds of neat things are possible when you have polygons vs points.
  • thepete2 1415 days ago
    Does not work in firefox...
    • callumprentice 1415 days ago
      Oh no! I don't think there is a reason it won't - I'll grab Firefox and see if I can fix it now.
      • eitland 1415 days ago
        When I work with frontend my not-so-secret trick is to do all development on Firefox.

        If it works in Firefox it usually works in all modern browsers, so even without doing extensive cross browser testing I know it will just work.

        I also catch most cross browser bugs from people who use Chrome.

        • quickthrower2 1415 days ago
          If only that were true. Seen a fair share of IE only, Edge only, FF only and Safari only bugs :-o
          • callumprentice 1414 days ago
            Good point. It’s a minefield these days isn’t it.
        • callumprentice 1415 days ago
          Thanks for the suggestion. I usually try to remember to at least do a smoke test in the other major browsers (Firefox, Safari and Edge) but didn't get chance this time.
      • callumprentice 1415 days ago
        I just grabbed the latest version for macOS (77.0) and it works okay there? Which platform are you seeing it fail on?
        • ciarannolan 1415 days ago
          Works for me on the latest versions of MacOS and Firefox :)
        • MayeulC 1414 days ago
          Works here on Arch Linux, Firefox 76.0.1 (yeah, I need to upgrade).
        • thepete2 1414 days ago
          68.8.0esr (64-bit)
          • callumprentice 1414 days ago
            I would have guessed that’s new enough. Any error messages I. The console?
            • thepete2 1414 days ago
              "ReferenceError: ResizeObserver is not defined (app.js:60:5)"

              all relevant addons were also disabled.

              • callumprentice 1414 days ago
                Bah. Looks like that came in at v69 of Firefox. Sorry about that.
                • thepete2 1414 days ago
                  np, I've got to stop using esr, but debian comes with it :)