Skip to content

Command Overview

Manolis Savva edited this page Jul 24, 2016 · 3 revisions

Synthesizing Interaction snapshots

To synthesize an interaction snapshot, select the verb-noun set specification at the top right of the UI panel and then type v synth in the command line. Options are described below:

Option Description
i=[text] Text description for the interaction snapshot to generate. The text description is parsed by the specified parser into set of verb and nouns. By default, the current interaction set (from UI) is used.
parserType=[parserType] Which parser to use: label (default) or nlp
classifierType=[classifierType] Which classifier to use (default to currently selected classfifier from pulldown in UI)
`selectModel=[random first]`
`selectSkel=[Average Sample
fromScan Indicates that the current scan should be used as a constraint
skipModelPlacement Indicates that model placement should be skipped
predictSegmentLabels Whether segment labels should be predicted
keepExisting Whether to keep existing model instances or not. By default, scene is cleared each time synth is performed.
naive In naive mode, PIGs are not used for placement.
compose For composite actions, use composition to form the interaction snapshot (instead of taking probabilities directly from composite PIGs.
retarget For verbs applied to new nouns, try to use existing verb PIG and generalized it for new noun.
backoff Do a backoff, where we try to use the composite PIGs we have seen as much as possible. If not available, then backoff to composition and retargeting.
debug For debug mode
log Log debug output scene and debug visualizations. Use o to specify the output directory. If o is not specified ouput is stored in $workDir/isynth/test. The output consists of the scene (scene.json) and the log file (log.txt). If debug mode is set, debug visualization is also stored.)
o=[outputDir] Output directory of where the interaction snapshot should be saved. Unless outputDir is an absolute path, the output is stored relative to $workDir/isynth. Output is only generated if log is specified.

Synthesizing unconstrained snapshots

v synth
v synth i=sit_chair-look_tv
v synth "i=he is sitting in a chair" parserType=nlp

Synthesizing constrained snapshots

v synth fromScan

It is also possible to synthesize constrained snapshots using the v place command. Options to v place are given below.

Option Description
skelRange Use current skeleton range for placement
predictAction Whether possible action should be predicted
predictSegs Whether segment labels should be predicted
debug For debug mode

Saving generated snapshots

To save to ply, use v writePLY models skeleton.

To save to json, use v saveScene <filename>.

Other commands

After synthesizing a scene, you can clear it by pressing Shift-I.

Use v testSnaps <nSnapsPerInteraction> <filename> to batch generate interaction snapshots. Use <filename>=known to generate interaction snapshots for all known interactions.

Generating interaction set and PiGraph model statistics

There are several commands to dump out aggregated interaction set statistics. Output is placed in the configured workDir, typically scenegrok\bin\work. When creating PIGs, the graphml for the pigs are placed in $workDir/pigs/graphs

Command Description
v dumpPIGFeats Dumps csv files with the PIG features in $workDir/pigs/feats. Use all to iterate over all interaction sets, otherwise PIG features for only the current iteraction set is dumped.
v dumpCatProbs Dumps csv files with joint to category probabilities and joint to label probabilities in $workDir/pigs/jc. Use all to iterate over all interaction sets, otherwise statistics for only the current iteraction set is dumped.
v saveInteractionStats Dumps csv files with aggregated statistics for all the interaction sets in $workDir/pigs/stats. Includes aggregated noun to joint group probabilities, noun to scene type probabilities, verb to joint probabilities, etc.

Main UI controls

Moving model instances

Arrows - Move in XY plane
Home/End - Move Up/Down
PgUp/PgDn - Rotate
9/0 - Scale down/up
Shift-I - Remove all model instances

Using the pose explorer

Arrows - Move in XY plane
PgUp/PgDn - Rotate
Home/End - next/prev skeleton
N - next sampled position
I - next pose (interaction set)

Annotating segment groups

Select "Segmentation"->"Annotate" button to show annotations for segment groups 
Check "segGroupOBBs" to see segment group OBBs

Shift-Click to select a segment
Ctrl-Click to select/add a segment group
Shift-Ctrl-Click to manually add/remove segments from the selected segment group

Visualization commands

Command Description
v setPartType Set part type for contactOBBs to be Segment (default), SegmentGroup, or Object
v setIFrameType Set interaction frame type to be Skeleton, JointsSurface, JointsVolumetric (default), Occupancy, or ObjectLabel
v reportActiveOBBs Report contacting obbs along with labels in console

Use v showScanVoxels to show occupied scan voxels. Other options are described below:

Option Description
labeled Show labeled voxels (category)
part Show labeled voxels (part)
object Show labeled voxels (object)
models Show model voxels (projected onto scan)
skeleton Predict voxel labels using current skeleton
recording Predict voxel labels using current recording
recordingsAll Predict voxel labels using all recordings
unknown Show unknown voxels
unknownOrOccupied Show unknown/occupied voxels