Debugging Shot Detection

phrack edited this page Jan 15, 2017 · 9 revisions

In debug mode the ShootOFF's title bar shows the coordinates of the mouse when it is in a camera feed and right clicking a webcam feed brings up two options that are otherwise not available: the ability to record the feed and the ability to open the stream debugger. Recording a video is used to create unit tests for shooting sessions. These tests allow ShootOFF's developers to tweak shot detection to improve its accuracy and ensure that shots that were previously detected do not go missing after tweaks. Users who are having trouble with shot detection under situations that seem reasonable should record a video and send it to us.

Recording can be stopped by right clicking the frame again and hitting "Stop Recording". The recorded video is saved to a file called <CameraName><DateTimeStamp>.mp4 (e.g., Default2017-01-15T09.31.32.379.mp4) in the current working directory.

Menus only available in debug mode.

The shot debugger shows an internal view of frames right before they are converted to gray scale. This makes it easier to see what noise is not being filtered out in the pre-processing that takes place before searching for a shot. It also makes it easier to see what a shot looks like to shot detection. Sliders along the bottom can be used to adjust some shot detection heuristics to see if noise can be filtered out or a missed shot can be found by making small changes to important values. The title of the debugger shows the camera's effective FPS in real time and the detected brightness of the entire frame.

Stream debugger.

Some detection steps log data at level TRACE because they are too noisy for DEBUG. To set the log level to TRACE, open logback.xml and change:

<root level="warn">
  <appender-ref ref="STDOUT"/>
</root>

to:

<root level="trace">
  <appender-ref ref="STDOUT"/>
</root>