New DJI Mavic Pro – Video and 3D Rendering

Just picked up a new DJI Mavic Pro! I’m learning how to use Adobe Premiere and After Effects. There’s something that is motivating about editing footage you took yourself on the same day. I’m also learning how to do photogrammetry using Agisoft PhotoScan. Unfortunately rendering is sloooow.


Yesterday I flew with Kailey and her dad Mike. He builds his own racing drones. He had to slow down, and even then, it’s hard keeping such a small drone in frame. Thankfully the footage from his cam looks amazing and saved the clip!


On Friday, Kailey and I hit the old mill building and caught some kids on the roof. Wanted to fly inside, but there were too many hanging wires and I didn’t want to hop fence to recover a downed drone.

I also started building a 3D model out of a local walking bridge. I have a sparse (56,626 points) and a dense (51,527,680 points) point cloud. I am in the process of rendering the mesh, and after that will be the texture. Unfortunately for my lack of patience, I made my dense point cloud too dense and it’s taking forever…

Sparse Point Cloud

Dense Point Cloud

You can see this bridge in the video below at the 36 second mark


Thursday was the first day I had the drone. Took some shots of the area and slapped this together. I didn’t know until halfway through these shots that I had to take the protective bubble off the camera…

New DJI Mavic Pro – Video and 3D Rendering

Learning to Use AgiSoft PhotoScan – Work Flow

So I’m learning to create 3D assets using Agisoft Photoscan. Here’s my current work flow.

1. Capture

Right now I’m using our Sony FDR AX100. It’s sharper than my cell phone which helps with output images.
I tore up a green-ish pillow and mounted it to the wall with duck-tacks. I also draped it over a stool. I plan to use this as a green screen.

I took 65 photos, slowly turning my wife’s ugly mug each time. I probably could get away with half as many images at the least..

enter image description here

2. Source Photos

Here are what the source photos looked like once complete.

enter image description here

3. Cropping with Adobe Lightroom

I load all the source images into lightroom and perform a quick crop and center.

enter image description here

4. Output High Contrast Versions for Masking with Lightroom

I then bump the contrast and colors a touch in lightroom to make masking easier.

enter image description here

5. Masking with Photoshop Actions and Automation

I open 1 high contrast image and create an Action to mask and save the image. I then use Photoshop automation to apply and output all image masks to a separate folder.

enter image description here

6. Import “flat” cropped images into Photoscan

enter image description here

7. Apply masks

enter image description here

8. Camera Locations

I took this picture at the end of the process, which is why it shows the mug fully complete.

enter image description here

9. Sparse Point Cloud

enter image description here

10. Dense Point Cloud

enter image description here

enter image description here

11. Shaded View

enter image description here

12. Solid View

enter image description here

13. Wire Mesh View

enter image description here

14. Textured View

enter image description here

enter image description here

enter image description here

enter image description here

15. Uncaptured Inside

enter image description here

Learning to Use AgiSoft PhotoScan – Work Flow

Tasker and Zooper – GPS for Two

Originally posted on Reddit.

 

This task / widget combo displays two values on the home screen of both my and my wife’s phones. The distance between us and the number of hours since the other person last updated their GPS location.

I travel for work sometimes. Before my last trip, I started learning about Tasker and became inspired to slap this together.

My home screen, Wife’s home screen

REQUIREMENTS

All testing and implementation was done with the PRO version of any apps below. I don’t know what capabilities are lost on the free versions. Sorry!

  • Tasker – Brains for the operation.
  • Zooper Widget Pro – Awesome widget creation app with Tasker integration
  • Spreadsheet Tasker Plugin – Tasker plugin that makes Google Sheets querying and updating super easy. Made by UITCON out of Denmark.
  • Google SheetsSAMPLE SHEET Our information will be stored in a spreadsheet with two separate sheets in it.
  • ZDistance.js – Modified JavaScript function which calculates the distance between two GPS coordinate. I found this function on the Tasker Google Group from user bakamu and then added the comment and 4 lines at the top to integrate into this specific task.

PROCESS

Task is triggered by a Time profile or by tapping the widget on my home screen

Tasker

Overview

  1. Get Location1 – Tasker polls the phone for its currently coordinates and updates %LOC
  2. Spreadsheet Update1, 2 – Add a row to my sheet of the spreadsheet with date, time, my current location, and the current time again, in epoch format (makes calculation easy later)
  3. Spreadsheet Query1, 2 – Grab the last row of data from my wife’s sheet and assign to variables based on column titles
  4. Variable Set, %OLOC1 – Set a global variable %OLOC to my wife’s last coordinates
  5. JavaScript1 – Executes the ZDistance.js script which calculates the distance between my coordinates (%LOC) and her coordinates (%OLOC). It then saves the distance to a new global variable %DTO
  6. Variable Set, %HOURSSINCE1 – Calculate the number of seconds between “now” and my wife’s last update then convert to hours
  7. Zooper Widget Pro Variable, distFromOther1 – Make available the calculated distance to a Zooper variable
  8. Zooper Widget Pro Variable, hoursSince1 – Make available the calculated hours since last update to a Zooper variable

Zooper

  1. Create / Edit a Zooper widget (“quick” YouTube guide!)
  2. Include the variables #TdistFromOther# and #ThoursSince# one or more “Text” widget modules
  3. Zooper refreshes the widget based on a configurable interval
  4. During refresh, Zooper queries Tasker for the values belonging in #TdistFromOther# and #THoursSince# and Tasker responds with the values currently populating %DTO and %HOURSSINCE

Fin

Your Zooper widget should now be displaying the data from Tasker!

-Aaddrick

Tasker and Zooper – GPS for Two