Jakob Bornecrantz
8a303927b7
t/hand: Add env variables to control prediction
2023-07-01 16:40:35 +01:00
Jakob Bornecrantz
0a679fe3fd
t/hand: Remove stale comment
2023-07-01 16:40:35 +01:00
Jakob Bornecrantz
c78cc7f0ae
t/hand: Tidy async file
2023-07-01 16:40:35 +01:00
Jakob Bornecrantz
ca3631875c
t/hand: Make all internal functions static
2023-07-01 16:40:35 +01:00
Jakob Bornecrantz
c00ea720ff
t/hand: Rename new user hand estimation switch
2023-07-01 16:40:35 +01:00
Ryan Pavlik
cd79bef0cf
cmake: Fix build flags on MSVC
2023-05-16 22:04:53 +00:00
Ryan Pavlik
4ffb271c6a
cmake: Build all math-heavy code with optimization.
2023-05-14 08:28:37 +00:00
Moshi Turner
bdc33510a1
h/mercury: Dump camera calibration if debugging
2023-04-13 11:50:38 +00:00
Jakob Bornecrantz
63a180cb97
h/mercury: Remove unused variable to fix warning
2023-03-11 14:06:59 +00:00
Moshi Turner
03546e0b99
h/mercury: Add wrist pose initialization guesser
2023-03-07 17:41:49 -06:00
Moshi Turner
3f2b71a9d5
h/mercury: Use post-rotation residual that'll handle big rotations
...
Fixes a long-standing bug
2023-03-07 17:41:49 -06:00
Moshi Turner
cdd0a6df67
h/mercury: Have a post-translation as well as post-rotation
...
For better numerical stability. Shouldn't significantly affect tracking besides slight jitter reduction and very slightly higher accuracy.
2023-03-07 17:41:49 -06:00
Moshi Turner
7c93b1ccfd
h/mercury: Move all defines to lm_defines.hpp
2023-03-07 17:40:45 -06:00
Moshi Turner
4ccc133ac5
h/mercury: Split lm_rotations into two files to make copyright ownership clear
2023-03-07 17:40:45 -06:00
Moshi Turner
c0af2327fd
h/mercury: Push frame timestamp back before predicting next frame ROIs
...
Fixes minor logic error and stops crash if hands are detected on the very first frame
2023-03-05 22:41:10 -06:00
Moshi Turner
bc152f6983
h/mercury: Dynamically allocate arrays for stereographic projection
...
Also factor out stereographic_unprojection into its own file because we're gonna need it elsewhere
2023-03-04 17:52:15 -06:00
Moshi Turner
0931cbaf0f
h/mercury: Add option to run hand detection model in all views
2023-03-03 20:27:39 -06:00
Moshi Turner
7f5562c765
h/mercury: Don't show hands until tracked for 10 frames
2023-03-03 20:27:39 -06:00
Moshi Turner
84bae0b8ca
h/mercury: Add debug instrumentation header
...
So that we can run automated tests on our hand tracking
2023-03-03 20:27:39 -06:00
Moses Turner
a934bf4ae3
h/mercury: Bump the hand detection threshold up
2023-03-03 20:27:39 -06:00
Moses Turner
58399cd993
h/mercury: Remove duplicate include
2023-03-03 15:13:23 -06:00
Moses Turner
c596b31327
h/mercury: Add interface header define
2023-03-03 15:07:45 -06:00
Mateo de Mayo
52cac31d3a
xrt: Support more than two cameras in a SLAM sink
2023-03-01 19:43:06 +00:00
Moses Turner
3bfc87f76d
(NFC) h/mercury: Fix typo
2023-02-16 17:03:17 -06:00
Moses Turner
8621acd899
d/ht, h/mercury: Use u_file_get_hand_tracking_models_dir
...
Needed for Windows SteamVR driver
2023-02-16 17:03:17 -06:00
Moses Turner
266aec20e1
(NFC) h/mercury: Random nit in if case
2023-02-16 17:01:12 -06:00
Moses Turner
79701d8567
h/mercury: Remove __builtin_expect on MSVC
2023-02-16 17:01:12 -06:00
Moses Turner
3155765aed
h/mercury: IWYU hg_image_distorter
2023-02-16 17:00:48 -06:00
Moses Turner
e9f79c45bf
h/mercury: Update hand tracking with new half-artificial model
2023-02-04 15:23:04 -06:00
Moses Turner
86e31f54f3
xrt: Refactor t_camera_calibration to use a tagged union instead of a bare array
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-01-30 17:09:27 -06:00
Moses Turner
1bba34e944
xrt: Remove old_rgb hand tracking
2023-01-27 12:37:33 -06:00
Moses Turner
946141ce40
h/mercury: Remove kine_ccdik optimizer
...
Goodbye, sweet prince.
This was my first attempt at the "optimizer" piece of our optical hand tracking, and it *did work* dammit! It just wasn't anywhere near as flexible or efficient as Levenberg-Marquardt.
It's worse in every way to the `kine_lm` optimizer, and getting hard to maintain, so we're getting rid of it. Gone, but never forgotten.
2022-12-29 20:03:05 +00:00
Moses Turner
9af195fea3
h/mercury: Add faster SwingTwistToQuaternion
2022-11-23 13:02:35 -06:00
Jakob Bornecrantz
3a2dfd850c
t/hand: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
d48de0d832
u/worker: Use U_TRACE_SET_THREAD_NAME
2022-11-20 13:52:38 +00:00
Moses Turner
cb2c355ba6
t/hand: fix 90 degree rotation for hand detection
2022-11-15 01:58:41 +00:00
Ryan Pavlik
a072af398c
t/hand: Fix doxygen warnings
2022-11-09 03:47:44 +00:00
Mateo de Mayo
9d6c29397f
misc: Fix multiple compile warnings in gcc and clang
2022-11-03 20:08:52 +00:00
Moses Turner
f41596f176
h/mercury: Replace old detection model, and discard overlapping hands
2022-11-03 16:46:33 +00:00
Moses Turner
b8a586175d
a/util: Add header for box intersection over union
2022-11-03 16:46:33 +00:00
Moses Turner
0cd2f4f081
h/mercury: Fix data home
2022-11-02 22:35:27 +00:00
Moses Turner
32da562bc5
h/mercury: Remove really old keypoint estimator and NCNN stuff
2022-11-02 22:35:27 +00:00
Jan Schmidt
fc3fbd6093
d/ht: Fix rotation/flipping of right hands
...
When dealing with rotated cameras, rotate them backward
to vertical, and then flip the right hand image in
the affine transform to get correct orientation of hands
for the keypoint estimator. Before, the left hand images
were being fed in upside down.
2022-10-10 23:50:58 +00:00
Jakob Bornecrantz
127a467efc
h/mercury: Add missing break statement
2022-09-28 22:56:01 +00:00
Moses Turner
47714ed650
h/mercury: Add 2D model input and output visualizers
2022-09-22 13:22:55 -05:00
Moses Turner
812cc01104
h/mercury: Fix for blackbar in 180 degree orientation
2022-09-22 14:02:21 +01:00
Moses Turner
d2e2c3a988
cmake: Run cmake-format.sh
2022-09-19 21:57:37 +01:00
Moses Turner
81764273ca
h/mercury: Use much faster quaternion change of basis
2022-09-19 11:17:34 -05:00
Moses Turner
a285294d7f
h/mercury: Fix crop calculation for 180 degree rotations
2022-09-19 11:01:04 -05:00
Moses Turner
e95d21586f
h/mercury: Use camera orientation for keypoint model input
2022-09-15 21:36:37 -05:00