Home >> Media Group >> Research >> ViPER
Downloads -- Documentation -- Developers -- Discussion
LAMP     The Language and Media Processing Laboratory

ViPER-GT in Depth

We are glad to present this User's Manual for ViPER-GT. We have prepared a Tutorial as a separate document to give the ViPER users a quick-start on using our software.

This document is divided into five parts. In the first part, we describe the specifics of the user interface and different controls for annotating the video or input image. The second part desscribes how the user interface can be used to open a video and editing the descriptors.The third part will explain about the types of attributes that can be used to annotate the video and how to draw and edit those attributes. The fourth part describes the theory behind different operations like propagation and interpolation. The last part describes how to use the schema editor to create and edit descriptors.

The appendix describes the terminology we have used in this manual and definitions of key terms.

User Interface Specifics

Complete GUI
Fig.1 Complete GUI with an annotated video

The above figure shows how the user interface will look when you will annotate a video. We can clearly see the following regions in the interface.

  • Menubar: The menubar contains menu controls for opening and annotating a video, the zooming operations, creating descriptors and setting their attributes and a Help Menu.
  • Canvas: Canvas is the portion of the image that displays the video or image frames. It supports zooming and panning operations on the video.
  • Spreadsheet View: Spreadsheet contains a tabluar display of the descriptors and their attributes. You can edit the attributes on the spreadsheet view.
  • Timeline View: The timeline view is beneath the Canvas and the Spreadsheet view. It contains a Remote Control Panel to navigate the video. It also contains a Timeline panel. The Timeline panel contains the descriptors and their validity lines. The validity lines tell the user in which frames the descriptors are valid.

File

New Metadata
Clears the currently loaded metadata file.
Open Existing Metadata...
Opens a dialog window that allows a user to select a metadata (ground truth xml) file.
Save Metadata
Saves the currently open metadata.
Save As...
Opens a dialog window that allows user to select the directory and the name of the file to which the metadata is to be saved.
Import Schema...
Imports a schema from an existing metadata file. It also supports the old metadata format.
Import GTF File...
Imports data in the old (non-xml) viper data format. That only described one file at a time; it imports the data to describe the currently selected video.
Export as GTF File...
Exports the metadata for the currently selected video in the old data format.
Recently used file
This sub-section displays a list of recently opened files. The user can reopen a recently used file from this list.
Exit
Exits the viper annotation tool.

Edit

Undo
Undoes the most recently done operation. It keeps a log of the recently done operations and the user can undo them.
Redo
Redoes the undone operation.

View

Toggle display of invalid descriptors
Toggles between displaying  only valid descriptors and all descriptors.
Zoom in
Zooms in the video by 2x
Zoom out
Zooms out the video by (1/2)x
Previous Zoom
Zooms the video to the scale of the last zoom operation.
Next Zoom
Zooms the video to the scale of the next of the previous zoom.
Actual Size
Sets the zoom of the video to actual size.
Zoom to Fit
Scales the video so that it fits inside the current video frame view.

Media

Add Media File
Adds a new video to the current metadata. Equivalent to the '+' button next to the video selection pulldown menu.
Add directory as a single file
The user can add all the image files in a directory and perform ground truthing on them.
Remove Current Media File
Removes the currently displayed video, and all of its metadata, from the current metadata file. Equivalent to the '-' button next to the video selection pulldown menu.

Timeline

Fit to Window
Scales the timeline's width so that it fits inside the view.
Expand All
Expands all the nodes of the timeline.
Remove All Markers
Removes all user marks set on the timeline.

Window

Show Undo History
Displays the undo history window.
Show Media Files
Displays a window containing a list view of the media files. It may be of more use than the pulldown for large numbers of files.
Show Schema Editor
Displays the schema editor.

Help

Display HotKey Bindings
This sub-menu will pop-up a window describing all the hotkey combinations that the user can use to control viewing of the video.
About
Displays version information about the software.

Canvas

The canvas displays the image corresponding to the current frame of the video. The panel is also used to draw, select and edit shape attributes via mouse motions and clicks.

Spreadsheet View

The Data Panel contains a spreadsheet representation of the metadata. It consists of one tab containing all of the content descriptors and an arbitrary number of object descriptor tabs, corresponding to each object descriptor type in the GTF configuration.

Each object descriptor tab has a round button that can be either in red or green states: the visibility ball. When the visibility ball is green, all of the shape attributes of the object descriptor are drawn in the canvas, but when the button is red, the attributes are not drawn.

Each object descriptor tab has a table that contains the information for all objects of this kind. Each row of the table represents an instance of the type whose name is in the tab, while each column (after the first three) represents an attribute. The left-most column labeled P is the propagate column, and contains a check box for each descriptor instance. The second column from the left, labeled V, shows if the object is valid for the current frame; only objects valid for the current frame can be edited. Checking the V-column for an object whose attributes already have values for other frames sets all the values to null for the current frame. Note that if a descriptor is set as invalid for all frames it will not be saved. The last non-attribute column in the object tabs is the OBJECT ID column. The object identification number is unique to each instance of a given object descriptor type. It is not necessarily sequential and not all numbers may be present.

Each object descriptor tab has Create, Duplicate and a Delete button. The Create creates a new object valid for current frame, with all attributes initialized to null. The Duplicate button creates a copy of the selected descriptor with a different object ID. The Delete button removes the selected row from the table.

The user can edit the attribute values by clicking the cells in the spreadsheet view and typing new values. Spatial attributes can also be drawn on the canvas, after being selected in the table. Refer to the appropriate sections described above for more information.

Timeline View

The Timeline View consists of two sub-panels. The Remote Control Panel and the Timeline Panel.

Remote Control Panel

The remote control panel has following components to navigate the video. When a given frame is chosen using the Current Frame field, the frame's image is loaded into the canvas and the now-current shape attributes are drawn in the canvas.

Skip back a section
Click on this button to go back to the beginning i.e. the first frame of the video.
Previous Frame
This button takes the user to the previous frame in the currently playing video. While the video is playing, this button changes its state and display a '-' sign. It indicates that the user can click on it to decrease the rate at which the video is playing.
Playback/Pause Toggle Button
This button is used to play the video while either in paused state or in stopped state. While the video is playing, the button changes the icon to the Pause control.
Next Frame
This button takes the user to the next frame of the currently playing video. While the video is playing, this button changes its state and displays a '+' sign. It indicates that the user can click on it to increase the rate at which the video is playing.
Skip ahead a section
Click on this button to go to the end i.e. the last frame of the video.
Current Frame
This text field displays the currently playing frame number.
Mark
This button is used to set marks on the timeline while the video is playing or is in the paused state. These marks can later be used to go to a specific frame.

Timeline Panel

The Timeline panel lists the descriptors on the left side. On the right side, it displays a frame-scale. The frame scale is divided into the number of frames contained in the video. It also displays the red colored timeline cursor. For each descriptor, there is a validity segment(or segments) that stretches between the frames the particular descriptor is valid. For a better explanation a figure of the timeline view is given below.

Timeline Panel
Fig. 2  The Timeline View shows the Remote Control Panel at the top and the Timeline panel beneath it.

As you can see, the timeline view shows the Remote Control Panel at the top with the buttons and the frame control field. Beneath this panel is the Timeline Panel. The left side of the timeline panel shows the descriptors in the video and their descriptor type. The right side shows the timeline divided into frames, the red-colored cursor and the validity segments beside each descriptor instance ending with a solid circle. The span of the thin green lines (beneath the timeline) and the validity segments indicate the frames in which the corresponding descriptors are valid.

Performing operations on the user interface

Input/Output

ViPER-GT takes two kinds of data as input: video data for the author to describe, such as an .mpeg video and ground truth files which describe the video.

Creating a New Metadata File

To create a new, empty metadata file, use the dialog window that appears when you select File >> New Metadata menu item.

Opening Existing Metadata File

To open a metadata file, use the dialog window that appears when you select File >> Open Existing Metadata menu item.

Adding a New Video and Removing a video

You can notice a '+' button beneath the menubar. Click on that button to open a FileChooser dialog box. You can add a new video in the pull-down menu using this control.  Use the '-'  button beside it in similiar fashion to remove a video file. You can do the same operations using the menu Media >> Add Media File and Media >> Remove Media File.

ViPER-GT has several GUI controls for traversing the video and accessing specific frames. These controls are all located beneath the video frame and spreadsheet views, in the Timeline View. They can be used either through the timeline panel or the remote panel. Note that with any temporal navigation in a video, all descriptors that are marked for value propagation will copy their value for all frames between the previous frame and the new one, inclusive.

Also, note that the video canvas is zoomable , meaning that you can use the mouse scroll wheel to zoom in and out of the image, offering you more control over the way you edit the data. However, in this section we will focus on temporal navigation.

Selecting a Frame Number

Type the desired frame number into the text field, Current Frame located next to the play/jog control button and press Enter to make the frame typed in appear as the current frame on the canvas.

Dragging the cursor along the timeline

There is a red current frame marker (cursor) in the timeline panel which indicates which frame in the video is currently displayed on the canvas . You can drag the marker directly in the timeline view to scrub through the video.

It is also possible to jump to any marks you have currently set in the timeline, by right-clicking on the mark and selecting 'Go to Mark'.

Frame Advance and Retreat

Click on button labeled '>' to increment the current frame by 1. Click on button labeled '<' to decrement the current frame by 1. Note that, using the '+' and '-' controls on remote, the speed of playing the video can be incrased and decreased. But the Frame Advance and Retreat will still increment and decrement the current frame by 1.

Playback

What would we have without the ability to play the video? The '<->/#' button toggles between playback and paused states. In playback, the two adjacent buttons become speed controls, instead of Frame Advance and Retreat button.

Using 'Display with Respect to'

This feature can be used with reference to a spatial attribute. Select a spatial attribute in the spreadsheet view. Right-click on it and select the option 'Display with Respect to'. You can observe that this attribute is marked in yellow on the canvas. Now when you play the video, the frame is moved in such a way so as to always keep this attribute in centre. Note that to use this feature, the descriptor must be valid in that frame and the value of the attribute must not be NULL.

Play Where Valid Feature

Click in the square beside a descriptor in the Timeline Panel. You can see a white circle covered by red outline. Now when you will play the video; it will only playback those frames where this descriptor is valid.

Hotkeys

A variety of hotkeys, including the notable 'p' key, which toggles between paused and play states, are useful in quickly navigating the video while keeping both hands on the keyboard. For more information, see the hotkey list in the 'Help' menu.

Editing Descriptors

Modifying a Descriptor

Modification of an object’s attributes is described in detail in the following sections. However, most attributes may be edited directly in the spreadsheet view, which contains content descriptors, in the first tab if any exist, and object descriptors in the tabs to the right/beneath the first tab. Editing the descriptors is as editing elements in a spreadsheet.

Note that content and object descriptors both contain two columns, labeled P and V. The P checkbox is used for propagation and interpolation, described below. The V checkbox is for validity, indicating that the descriptor appears on or has meaning for the current frame. For example, a Transition content descriptor is only valid for frames that represent a cut or fade, and its V checkbox should be unfilled for all other frames.

Further, note that object descriptors have an OBJECT ID column. This column is not editable, but generated automatically. Also note the visibility ball next to the descriptor type names in the tabs. When this is red, the attributes are hidden and unable to be selected. Clicking the ball toggles between visible (green) and invisible (red). Object descriptor attributes may be either static or dynamic; static attributes have an asterisk before their names in the column headings, and can only take one value for the life of a descriptor, but dynamic attributes can have a different value for each frame the containing object descriptor is valid.

Adding Object Descriptors

To create a new object with all attributes initialized to NULL, press the Create button on the appropriate object descriptor type tab. For example, to create a new FACE(assuming your schema defines a FACE object descriptor), click the FACE tab and click Create.

Duplicating an Object Descriptor

To copy an object descriptor, select the source by clicking in the appropriate cell of the OBJECT ID column and click the Duplicate button at the bottom of the spreadsheet view.

Deleting an Object Descriptor

To delete an object, first click on its cell in the OBJECT ID column, and then click the Delete button.

Attributes

The attributes are divided into two categories: text (string based) and spatial (shapes). Text attributes can only be edited in the data table, while shapes can also be edited in the canvas. Before editing an attribute, make sure that the object whose attribute is being edited is valid for the current frame; that is to say, make sure that the “V” column checkbox is checked for the descriptor whose attribute you wish to edit.

Text Attributes

Text attribute types include bvalues, dvalues, fvalues, svalues and lvalues. To edit text attributes, except lvalue and bvalue, select the attribute in the data table with a click in its cell. A single click selects the cell for editing and places the cursor at the end of the current text, while a double-click selects a word in the cell and a triple-click selects all the text in the cell. The appropriate value may be typed with the keyboard. Lvalue attributes offer a pull-down list instead of a text box, and can be edited with the mouse alone.

Spatial Attributes

Spatial attributes, which in the current version are all shapes, are attributes that can be drawn and manipulated in the canvas. Spatial attribute types include bboxes, oboxes, ellipses, open and closed polygons, points and circles.

A spatial attribute goes through two phases. Initially, a spatial attribute must be created. This creation is typically started by clicking on a cell with NULL, and making sure the Valid checkbox is selected. Once the shape has been drawn, it enters a second phase, where it can be edited. Spatial attributes can be edited in one of the two ways. You can either modify the values in the spreadsheet view, or edit in the frame view. It is usually easier to edit in the frame view, where there is GUI support for manipulation.

Mainpulation of spatial attributes requires knowing when one is in creational mode or in editing mode. Creational mode occurs when a valid, NULL spatial attribute has been selected on the spreadsheet view, or when a frame changes, and the highlighted spatial attribute is NULL. The following sections describe the spatial attributes and how to use the mouse to create each of them.

A Description of Spatial Attributes

The following describes each of the spatial attributes:

bbox

The bbox is a non-oriented rectangle shape. It can only be positioned with the sides parallel to the axis of canvas. The string representation of a bbox, used in the spreadsheet view, is x y h w where x and y are the coordinates of the top-left corner of the box, h is the height and w is the width. Remember that the coordinates of the image count down and to the right from the top left corner.

obox

The obox is the oriented rectangle. It offers the features of the bbox, with the addition of a fifth number, the orientation. The string representation of an obox is x y h w o where x and y are coordinates of the top-left corner of the box, h is the height, w is the width and o is the orientation (angle) in degrees counter-clockwise.

ellipse

The ellipse shape acts exactly like an obox. Its string representation is the same as the string representation of an obox that bounds the ellipse.

point

A point’s string representation is x y where x and y are the coordinates of the point.

circle

A circle is defined by its center and radius. The string representation is x y r, where x and y are the center point’s coordinates, and r is the radius.

polygon

A polygon is an ordered list of points, with line segments connecting them. Closed polygons have a line segment connecting the first and the last point, while open polygons do not. The string representation for both is: (x1 y1)(x2 y2)... (xn yn) where x1, y1, x2, y2, ...,  xn, yn are the coordinates of points of the polygon. Note that open polygons must have at least two points and closed polygons must have at least three. Currently, only closed polygons are supported.

Creating Spatial Attributes in the Canvas

Convention
  • To press a button means to click the left mouse button, but not release it.
  • To drag means to move the mouse while a mouse button is pressed
  • To release means to stop moving the mouse and release the button
  • To click means to press and release the left mouse button quickly

We assume a standard two button mouse with scroll-wheel.

To create a new spatial attribute, click on a spatial attribute that is NULL in the spreadsheet view. Make sure the attribute is valid in the frame. Then, follow the directions below. Once the shape has been created on the canvas, you go into editing mode, which is described in the next section.

bbox

To create a bbox, press the mouse button down. This will set one of the corner points of the bbox. Drag the mouse. When the mouse button is released, this defines the other corner point of the bbox.

obox

Creating an obox is done in two phases. The first phase is drawing the top edge of the obox. (The top edge may not always be the literal top edge. It may appear to be the bottom edge or a side, but is treated as the top edge.). Click the mouse without releasing. This defines the upper left corner. Drag the mouse and release. The point at which the mouse is released is the upper right hand corner. This is the width of the obox

When released, a short line is drawn from upper right corner "down". This defines the direction in which the obox must be drawn (thus, oboxes have orientation). Click the mouse and drag, and the rest of the obox is drawn. Release when the desired height of the obox is obtained.

ellipse

An ellipse is oriented, just like the obox. The editing controls are identical to the obox. The obox defines the boundary of the ellipse. There are two phases. The first phase draws the top edge. The second phase picks the height.

point

Press the mouse, and release. The point at which the mouse is released defines the coordinates of the point.

circle

Press the mouse, but don't release. This defines the center of the circle. Drag the mouse to define the radius of the circle. The radius of the circle is set to the point at which the mouse button is released.

polygon

Click the mouse to define an initial point. Each click of the mouse defines the next point in the polygon. A line is drawn from the previously clicked point to the point at which the mouse is hovering. Clicking it adds a point and completes an edge. Repeat this procedure to draw the subsequent edges. Click Enter to complete the closed polygon. This draws a line from the last drawn point to the initial point. Currently, only closed polygons are supported.

Selecting Spatial Values in the Canvas

To select an existing value, you can click on it in the canvas. If more than one value are in the same place, for example, if one box is inside another, hold down control while clicking to cycle through the different values. You should notice the color of the box changing from the unselected color (green) to the selected color (red), while the descriptor for the given attribute is highlighted and displayed in the table.

Drawing and Editing

You may create and edit shapes in the frame view and the spreadsheet view. To draw or edit shapes in the data panel, select the cell for the attribute and descriptor you wish to edit, and then type an appropriate value for the data type as described below. Procedures for drawing shapes using frame view are unique for each shape; these are described for each shape below, as well. In order to start drawing, click on the 'Null' attribute to select it, then edit it as described below.

bbox

If a bbox is selected (it is in red), you can move the mouse over the edge, corner, or interior of the bbox. If the cursor is near a corner, a circle is drawn, indicating that you can drag that corner to resize the bbox. Releasing the mouse resizes the bbox. If the cursor is near an edge, the edge is highlighted (becomes thicker, and colored in magenta). You can drag that edge. Dragging an edges preserves height or width depending on which edge is dragged. If the cursor is inside the bbox, all four sides are highlighted. If you drag the mouse, it translates the entire bbox.

Press the Delete button to remove the box.

obox

Resizing, moving and deleting procedures for obox are the same as those for bbox. You can change the orientation by moving the mouse over the tiny yellow "bar" which is usually the upper right hand corner. Press and drag this to rotate the obox.

Remember that the orientation of an obox is likely to be important during evaluation, and the user should probably make sure that the box is oriented so its content is rightside up.

ellipse

Editing an ellipse is just like editing an obox. The ellipse is shown when it is edited, which allows one to distinguish between editing an ellipse and editing an obox.

point

You can only drag a point. Move the cursor near the point, and press. Then, drag the ppint to a desired destination. When the point is at the desired location, release the mouse. To delete a point, hit the Delete button.

circle

If you move the cursor inside a selected circle, and then press the mouse button and drag, you should move the entire circle. If the cursor is near the edge of the circle, a radius appears, which means you can resize the circle without changing the center point. To delete the selected circle, click on the Delete button.

polygon

Moving the cursor to various parts of a polygon allows different choices of editing. If the cursor is moved near a corner, then a circle is drawn at the corner. Press the mouse button and drag to move the corner. If the cursor is near an edge, the edge is highlighted. Pressing and dragging moves the highlighted edge. If the cursor is in the interior of the polygon but not near an edge or corner, then all edges are highlighted. Pressing and dragging the mouse moves the entire polygon.

If you press the ALT key and move the mouse near the polygon, a bounding box is drawn. You can move the cursor near a corner, and a circle is drawn. If you press and drag near a corner, this resizes the polygon. If the cursor is near the edge, the edge is highlighted. Dragging and pressing the mouse moves the edge of the bounding box which also resize the polygon. Resizing leaves the "center" of the polygon (the center of the bounding box, actually) unchanged.

Advanced Operations: Propagation and Interpolation

Overview

ViPER-GT allows users to perform two operations on values of attributes of selected object descriptors over a range of frames. The operations are propagation and interpolation. It is possible to invoke these operations directly from the table by right-clicking on the descriptor, or through the timeline by dragging from one place to another.

Consider the following figures. We have created two descriptor instances. We have marked 'head' and 'torso' for both of them. To demonstrate the effect of propagation and interpolation, we propagate the attribute values of one descriptor instance while we interpolate the attribute values of another instance. The screenshots depict the changes in the location of the attributes that were interpolated while the attributes that were propagated keep the same value throughout all the frames.

Propagation and Interpolation: Before playing the video
Fig. 3 One descriptor has the attributes set to propagate and one has them set to interpolate. Initial frame, before playing the video.
Propagation and Interpolation: Frame 10 Propagation and Interpolation: Frame 20
Fig. 4a The location of the spatial attributes in Frame 10. Fig. 4b Frame 20. One set of attributes, set to interpolate, is moving with the descriptor while the other, set to propagete, is at the original location.
Propagation and Interpolation: Frame 40 Propagation and Interpolation: Frame 60
Fig. 4c Frame 40. We can clearly observe the interpolated attributes changing location. Fig. 4d Frame 60. The descriptor whose attributes were set to be propagated, has changed its location. But the attributes are still at the original location.

Propagation in Detail

Propagation copies the current frame’s value of selected object descriptors to all frames in the range of propagation. All values of the chosen object descriptors are overridden with the values in the current frame.

To propagate the value of a descriptor, go to the frame that contains the value you want to copy. Check the checkboxes in the “P” column for the descriptor or descriptors you wish to propagate. Then you can play the video or drag the cursor till the desired end frame for propagation. The second option is simply to change frames incrementally. All the frames between the current frame and the frame you change to will take the current value of all descriptors marked for propagation.

Be careful! Once you have checked the box, it remains checked until you uncheck it or quit the program; changing the tab is not enough, as you may wish to propagate or interpolate two different types of descriptors at once. This is important, as one of the easiest, and most dangerous, ways to propagate a value is simply to leave propagate checked and go through a file a frame at a time; if you decide to go a hundred frames back, but forget to save and uncheck propagate first, you can easily erase a hundred frames of work.

Interpolation In Detail

Interpolation fills in intermediate values of spatial attributes with the given end values as shown in the above figures. All values of all spatial attributes of all chosen object descriptors for all frames in the open range are overridden with the values generated by interpolation algorithm. To interpolate objects follow these steps:

  1. Draw the spatial attribute(s) that you want to interpolate on the start frame for interpolation.
  2. Go to the frame that should be your end frame for interpolation and draw the corresponding spatial attribute.
  3. Go back to the starting frame for interpolation.
  4. Select object(s) to be interpolated and Right click in the object(s)'s cell.
  5. Click on the Interpolate button. Enter the number of end frame that you want to interpolate the attribute to.
  6. Uncheck the P-column of all interpolated objects. This step is important, because objects marked for propagation will be propagated when you go to another frame, possibly overriding needed data.

To interpolate up to a mark, follow the procedure described above. But instead of the end frame number, you have to consider the mark as the end point for interpolation. Draw the attribute on the frame corresponding to the mark upto which you want to interpolate. Then go back to the start frame. Right click in the cell of the corresponding object descriptor and select Interpolate to Mark. This option will list the number of marks present on the timeline. From this options select the proper mark to interpolate. If no mark is present on the timeline, this option will be disabled.

Note:You can mark the frames in a video by clicking the Mark button on the Remote Control Panel when the timeline cursor is in the desired frame.

Using the Schema Editor

Creating a new descriptor and attributes

The schema editor is used to create new descriptor types and add attributes to them. You can also specify the properties of the attributes and edit and delete the attributes. To use the schema editor, go to the menu Window >> Show Schema Editor. To create a new descriptor, click on the button Add Descriptor. This will add a new descriptor of OBJECT type to the configuration as shown in the following figure.

Schema Editor: Creating a new descriptor
Fig. 5a Creating a new OBJECT descriptor using the schema editor.

You can always change the type of the descriptor by clicking in the Data Type field and then choosing either the FILE or the CONTENT as the descriptor type. Now lets name the descriptor as PERSON and add some attributes to it. Click the Add Attribute button and add a new attribute NAME. We will make the type as svalue, dynamic property as false and set the initial value to be NULL. The schema editor now looks like this.

Schema Editor: Adding an attribute
Fig. 5b Adding an attribute to the descriptor.

In a similar way, we will create two spatial attributes namely HEAD and TORSO. We will set the type of HEAD as circle and that of the TORSO as ellispse. Their dynamic property will be set to true and the initial values will be set to NULL.

Deleting and Editing Attributes and Descriptors

You can delete an attribute by selecting it from the 'config' tree view on the left and clicking the 'delete' button. You can also delete a descriptor by selecting it from the tree view on left side and clicking the 'Delete' button on the interface. To edit an attribute, simply click in the cell of the specific attribute and change the value.

After creating the descriptors and the attributes, you can now go back to the main application window. Using the Spreadsheet View, you can create new descriptor instances. For example we have created two instances on the descriptor PERSON. We have also marked their spatial attributes on the canvas. The following figure shows the created descriptor instances and their spatial attributes. We have used the canvas to draw the spatial attributes. The drawing of spatial attributes is described in the section Attributes.

Using Canvas and Spreadsheet View to create descriptor instances and spatial attributes
.Fig. 5c Creating new descriptor instances and their spatial attributes using the Spreadsheet View and the Canvas.

Appendix

Terminology

Candidate data
Also known as result data, this is the set of descriptors generated by some algorithm that will be compared to the target data
Detection
An object is classified as Detected if one of its type is found on the frame. For example, if you want to retrieve all the frames containing faces, you may find that Detection is the only required depth of analysis.
GTF
Ground truth file. This is a file containing ViPER metadata, and need not refer to truth but sometimes refers to software generated or otherwise untrustworthy metadata.
RDF
Result data file. This is ViPER metadata that was algorithmically generated.
Results data
See Candidate data
ROP
Ranged Operations Panel. This was located beneath the main canvas in ViPER-GT version 3; it included user interface controls for propagation and interpolation. It has since been replaced by the timeline control.
RSB
Range Selector Bar. Graphical element, found in ViPER-GT version 3, that was used for selecting the range of interpolation or propagation. In ViPER-GT version 4, this is accomplished using marks on the timeline.
Target data
Also known as truth data, this is the set of descriptors that represent the true content of the media file
Timeline
This panel provides an overview of an entire clip, and some editing functionality.
Truth data
See Target data.
Visibility ball
The green or red ball in each tab of the data panel. Set to green indicates that the shapes are visible in the canvas, while red means that the shapes are to be invisible and unable to be selected.

Attribute Data Types

bbox
A bounding box; it is a rectangle on the image.
bvalue
A Boolean value: either true or false.
circle
A circle, in terms of center point and radius.
ellipse
An ellipse, in terms of its bounding box.
fvalue
A floating point number.
lvalue
An enumeration type. Its configuration must take a list of possible values. In the gtf format, this is done with a bracketed list, eg [LEFT RIGHT]. In the xml format, the attribute element must have a data:lvalue-possibles child, which in turn has a data:lvalue-enum element for each value, where the value is specified in the value xml-attribute of the element.
obox
An oriented bounding box.
point
Some specific pixel in the image.
polygon
A polygon or polyline, given as a list of points.
relation
A set of object identification numbers to a certain type of descriptor.
svalue
A string value. Remember that strings must be xml-escaped in the XML format.

Apploader Properties

Starting with ViPER-GT 4, we are using an RDF document (or two) to describe the user preferences, and, to a large extent, the application itself. If you have the full version, the RDF is in a file in the gt/CONFIG/gt-config.n3 file. N3, or Notation-3 , is a format for writing a superset of RDF, although the current parser only accepts valid RDF, failing on n3's formulae (things enclosed in curly braces). See also Dave Beckett's parser for the same subset of n3.

The different schema used by the program should be documented on the web site. The file is used both to describe the application and to generate documentation for it, including error messages and help text. Not all features are complete yet.

You should read the file to get the most up-to-date information about preferences, at least until this list is automaticlly generated from the file. For hotkey information, look for the hotkeys: prefix.

FAQ/Trouble Shooting

The timeline is not expanding to fill the window.

ViPER-GT requires at least version 1.4.2 of java. Go to http://java.sun.com/ to download the latest version (or, for Apple users, use Mac OS X's Software Update feature).

1 The term “video” is used in this manual to refer to visual data (as opposed to GT data) loaded into Viper. It may be either an ordered sequence of images defined by an info file or a video file.