Tech

Google Street View Tutorial - Insta360 One X

Google lets users update the Street View shown on Google Maps provided you use a certified camera to do so. Reasons why you might want to do this are:

  • Google Street View has never visited an area

  • New houses or buildings have been erected since the last time Google drove by

  • The information shown in Street View is out dated

In a previous post, I showed you how to update Google Street View using a GoPro Fusion 360 camera. The process was plagued with uncertainty and required the use of a computer and a separate program called Trailblazer. Overall, it was far from an ideal solution. The one benefit is that it let you map a variety of thing, such as streets, trails, flights and sailing.

But the GoPro Fusion isn’t the only consumer camera capable of updating Google Street View. Another popular choice is the Insta360 One X. The benefit of using this camera over the GoPro Fusion is that there is no computer required. Everything is done using your phone.

When I started out testing this camera, I thought it was the clearly obvious choice for general mapping because in the Insta360 App, there was a convenient Google Street View (GSV) setting and my first 2 attempts at mapping went smoothly.

You simply record a video with GSV turned on, copy it to your phone and share to Google Street View and that was it. It wasn’t until I started recording this video that I started running into issues. It seems the camera/phone solution doesn’t like sharp curves and was just as prone to unexpected errors (if not more so) than the GoPro Fusion.

Also, while the Insta360 One X does do away with the need for a computer, it requires you to have an active connection to your phone, with the phone screen turned on, the entire time you are recording because it gets its GPS information directly from the phone. This drains the battery on the Insta360 One X very quickly due to the constant wifi connection.

As it is, I do still recommend giving the Insta360 One X a try for straight mappings, but if you plan to record winding roads, either drive really slow (I suspect that the GPS Polling is slower than expected and causes jumping around) or record it multiple times to make sure you have a good copy.

Curious which is faster, Android or iOS, at processing the recorded videos? I put 2 of the top of the line devices (at the time of recording) against each other to find out.

(If you didn’t feel like watching, the iPad Pro 2018 beat the Pixel 4 XL by over 20 minutes)

Here are the steps to upload to Google Street View using the Insta360 One X

  1. Verify your Camera as at least firmware version 1.17.15

  2. Make sure you can pair your camera to your phone wirelessly using the standard process

  3. Switch the camera to Video mode

  4. Adjust Settings

    1. Set resolution and framerate to 5.7k 24 fps (24 fps makes the file size slightly smaller than 30fps)

    2. Turn on GSV (located all the way to the right)

  5. Record the street section. Drive 20 mph or slower (especially if not driving straight)

  6. Stop Recording

  7. Transfer the video to your phone. Use the included cable for increased speed and better battery life

  8. Once the video is on your phone, Select the video

  9. Click on the 3 dots in the upper right corner then choose “Optimize Stitching” to improve quality.

  10. Close settings and Click the Share button. Select Google Street View from the Export options. Turn off “Post to Insta360 community” if it’s turned on

  11. Click Share. The video will begin processing and then upload to Google Maps.

  12. Once done, you can go to the Google Street View App and view the progress of your video under Profile.

After a few hours, you should start seeing your mapping show up on Google Maps. It will continue to process over the next couple of days depending on how long of a stretch you recorded.

Here are the locations I mapped for this video:

Here is the equipment I use to mount 360 cameras to my car:

As you can see in the video, the process isn’t perfect. When it warms up, I’ll try to iron out the bugs and create a guide to ensure more reliable mapping. Bookmark this website or subscribe on YouTube to know when that video comes out.

Slow Motion A.I. Tutorial

Artificial Intelligence has come a long way. Now days it can be used for all kinds of things related to Videography and Photography. From automatically removing unwanted things from pictures in Photoshop to putting your face right into a movie clip via the Deep Fake A.I., it’s uses are only going to continue to grow

One such use intrigued me after I saw it in action. A group of programmers developed an A.I. called Super-SloMo using the PyTorch framework which allows you to take normal footage and believable turn it into slow motion. https://github.com/avinashpaliwal/Super-SloMo

This is challenging because the A.I. has to predict what should fill in the missing frames. If you convert a video at 30 FPS to 240 FPS, the A.I. has to auto generate 7 extra frames between every real frame, which is no small task.

My desire to try it out was limited until I was editing some footage from my recent mountain climbing trip. I had done a motion time-lapse video that involved taking a photo every 2 seconds for 10 minutes as it panned across a valley. The shot, below, is cool enough, but it got me wondering if I could use this A.I. to smooth out the motion.

Time-lapse that I wanted to smooth out

So I ran this video through the A.I. and was so amazed by the results that I had to share the process with the world so that other’s could use it. The first video below is a comparison between slowing the video down as shot and what the A.I. was able to do.

See the video below to learn how to do this yourself.

Here are the typed instructions:

  1. Make a folder to keep all of the Slow Motion files together. Call it slomo

  2. Make an Input and Output folder in your slomo folder.

  3. Install a Python Distribution. I’m using Anaconda Distribution. Available for Windows, Mac and Linux - Download 3.7 64bit https://www.anaconda.com/distribution/

  4. Download the Super-SloMo project from GitHub Repo - Click Clone or Download, Download ZIP https://github.com/avinashpaliwal/Super-SloMo

  5. Extract Super-SlowMo Project into a folder. Rename superslomo

  6. Train the model (if you want). Or use a pre-trained model here - https://drive.google.com/file/d/1IvobLDbRiBgZr3ryCRrWL8xDbMZ-KnpF/view

  7. Place that model in the superslomo directory

  8. Download FFmpeg Video Converter - Download the stable version, the correct architecture and choose the Static Linking https://ffmpeg.zeranoe.com/builds/

  9. Unzip that in your slomo folder. Rename it to ffmpeg

  10. Open Terminal (Mac) or Anaconda Prompt (Windows)

    1. On a Mac, this requires using bash, not the zsh default that comes with Catalina. You can check what version you are using by typing: echo $SHELL. It will either say /bin/bash or /bin/zsh. If it says /bin/zsh you must change your shell. To switch to bash type: chsh -s /bin/bash. Then you must restart terminal. To change back to zsh after you're done with this project type: chsh -s /bin/zsh and restart terminal.

  11. Get the correct command for your setup - Choose Stable, Pick your OS, Choose Conda, Choose whatever version of Python you downloaded, Choose None for CUDA unless you have an External NVIDIA GPU https://pytorch.org/get-started/locally/

  12. Copy the command in the box labeled “Run this Command:” and paste it into your Python Terminal. This will download and install all the files and and environments you need

  13. cd into the slomo/superslomo directory

  14. Adjust the following script to match your computer setup

    • python video_to_slomo.py --ffmpeg /Users/user/slomo/ffmpeg/bin/ --video /Users/user/slomo/input/mountain_timelapse.mp4 --sf 4 --checkpoint /Users/user/slomo/superslomo/SuperSloMo.ckpt --fps 119.880 --output /Users/user/slomo/output/mountain120.mp4 --batch_size 1

    • Definitions of terms in script

      • sf = multiple of the frame rate

      • fps = target frame rate

      • batch _size = how fast it will run, limited by your computer’s hardware. 1 is default

  15. Take the finished footage into a video editor and slow it down by whatever multiple your sf was to see the magic.

Google Street View Tutorial - GoPro Fusion

Update #3!!! - 11/11/2019:
I've just learned from GoPro that you need to look at your GoPro GPS icon on the display to ensure it has GPS Lock. If it is just an outline then it doesn't have lock yet. It must be solid black. Hopefully that helps ensure GPS data is recorded to your video.

I've also tried this out using a GoPro Max. It kind of works. You can't use Timewarp because although it saves GPS data, the Desktop App won't export the GPS. It does work using Video mode, but you have to pick h.264 or hevc for the output type and click the "Retain GPMF Data" button. I also had to trim a 35 second clip into 3 pieces. Trailblazer didn't like the 35 second clip for some reason, but was fine with 10-15 seconds.

Update #2 - 10-15-2019:
After a recent Trailblazer version update, the files did finally switch over and stop saying Processing. They now show up correctly.

Update #1 - 07/15/2019:
The Tours never did leave the 'Processing' Status. I reached out to Panoskin tech support and they said based on what the Google Street App is showing, it appears the tours are processed. The Trailblazer software is still in Beta and they've recorded this as a bug that will need to be addressed in future releases. For the time being, they suggested I edit the name of the tour to "Processed" so that I can remember that they are finished.

Original Post 06/16/2019:
I’ve been uploading 360 photos to Google Maps for a while and know that they are available from Google Street View, however, I recently learned that you can map roads and upload that footage to Google Street View as well.

Why would you want to do this? Well, you can fill in the spots on the map that Google hasn’t driven past yet. You can also update areas that have changed considerably since the last time the Google Car drove past.

You can use several 360 cameras, but in this tutorial I’ll be using a GoPro Fusion 360 camera.

You’ll also need a free program called TrailBlazer which you can download here: https://www.panoskin.com/trailblazer

along with at least version 1.3 of the GoPro Fusion Studio to process the video from your Fusion camera: https://shop.gopro.com/softwareandapp/gopro-fusion-studio-app/fusion-studio.html

You can watch the video below for a more in depth tutorial, but the basic steps are:

  1. Turn on GPS on your Fusion Camera

  2. Set the quality to its highest which is 5.2k

  3. You can record either a video or a video time lapse. I recommend a video time lapse because it is easier to process the video

    1. If doing a video time lapse, set the interval to .5 seconds

  4. Record the section of the road you want to add to street view

  5. Process the video using Fusion Studio on your camera taking care to cut out the beginning and end parts of the video so that you only include the part where you are actually driving on the road

  6. Create a new adventure in the Trailblazer Program and upload the video that you created in step 5 and hope the GPS data didn’t get corrupt. (If it did, you’re out of luck and have to start again. See the video for tips on avoiding corruption)

  7. After Trailblazer finishes, wait for Google to process your footage (can take up to 2 weeks for it to be completely finished, but you can start to see sections on Google Street View within a few hours as it processes it)

Feel free to comment with any questions you might have. I’ll do my best to answer them. If you have advice on how to get better reliability with this process, I’d appreciate if you share those as well.