Close

Using spherecams with openpose

A project log for Auto tracking camera

A camera that tracks a person & counts reps using *AI*.

lion-mclionheadlion mclionhead 01/12/2019 at 00:410 Comments

The trick with the tracker is to use a spherecam on USB, but opencv can't deterministically  select the same camera, scale the input, & display in fullscreen mode on a mac. 

There is running a network client on virtualbox to handle all the I/O or fixing opencv.  Running a network client in a virtual machine to fix the real machine is ridiculous, so the decision was made to fix opencv, uninstall the brew version of opencv & recompile it, caffe, & openpose again from scratch.

brew remove opencv

Openpose on the mac can't link to a custom opencv.  You have to hack some cmake files or just link it manually.

Discovered openpose depends heavily on the aspect ratio & lens projection.  It works much faster but detects fewer poses on a 1x1 aspect ratio.  It works much slower & detects more poses on a 16x9 crop of the center.  It works much slower on 512x512 & much faster on 480x480.  Pillarboxing & stretching to fit the entire projection in 16x9 don't work.


Spherical projections are as good as equirectangular projections.  The trick is detecting directly above & below with the 16x9 cropping.  It's not going to detect someone looking down on it like the Facebook portal, but the current application doesn't need to see directly above & below.  There's also scanning each frame in 2 passes.

Despite paying a fortune to ship an ESCAM Q8 from China in 7 days, it was put on the same boat as the free shipping, 2 weeks ago.  

Discussions