-
Notifications
You must be signed in to change notification settings - Fork 1
Limb wise kinfu
dancek edited this page Aug 10, 2012
·
3 revisions
30fps .pcd could be saved in a directory and read as kinfu input. This might only work for full-frame captures. In that case, see if "missing points" can be somehow represented in .pcd.
For a recording directory with pcd for each frame, use something like this to separate each bone
#!/bin/sh
for i in `seq $bonecount`
do
mkdir 'limb'$i
for f in *.pcd
do
# assuming rows of (x,y,z,rgb,bone)
# TODO: header!
sed '/^[#A-Z]/d' $f | awk '$5 == '$i' {print $1,$2,$3}' > limb$i/$f
done
done
Other points to consider if this seems not to work:
- What kind of coordinates should be used?
- Is the plaintext .pcd ok, or is the mmapped version needed?
This was done and it works, though the results leave a lot to be hoped for.
-
kinfu_app
requires full frames (ie. "missing points" must still be marked) -
kinfu_app
can read.pcd
directories - the playback is very slow with plaintext
.pcd
, but ok with binary / binary compressed - plaintext
.pcd
takes ~10MB per frame, binary ~6MB, compressed <2MB (and single-limb compressed is tiny) - i.e. in the recording/processing phase disk I/O is a real issue (and disk space for storage)
- splitting by limb to separate directories takes ~10 seconds per frame
-
80% of this is conversion from plaintext to binary compressed file format