Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Witness software will attempt to reliably classify all targets based on all the attributes available from the radar sensor. It does this using a weighted scoring system based on a series of pre-defined models. Each model provides a series of value ranges and the prioritises the values which are more relevant to that classification type. When a target under analysis conforms to the specified values a weighted scoring is added for the matching model or models. Once the agreed number of classification samples have been processed then the model which has achieved the highest score is selected. A probability is assigned to each classification based on the score where 100% is a classification with the highest confidence.

Since V3.12 the classification has been improved to work with aggregated values, which means we can sample the data, apply a suitable statistical summary (i.e. min, max, average etc) and then use these values to test each model. This has proved to be a more reliable way of distinguishing between targets which are exhibiting similar behaviour to another classification type (i.e. a vehicle vs a person when the vehicle is moving at walking pace).

Info

The information in this section will be based on the newer statistical approach implemented in V.312 and later. 

Panel
borderColorsilver
borderWidth1

On this page:

Table of Contents
maxLevel3
indent10px

Target Assessment


Each target (or track) is assessed based on properties provided by the radar and tracking software. These are as follows:

SerPropertyDescriptionDefault Assessment
1SizeThe surface area of the target calculated using size in range x size in azimuth.Does the (truncated) average size of the track across all sightings fall within the range of the model?
2SpeedThe speed of the track.Does the maximum speed seen across all sightings fall within the range of the model?
3Expected SpeedThe typical speed expected of a track. This would normally be a smaller subset of the overall speed range. For example a car can move as slowly as a walking person, however its expected speed would normally be much quicker.Does the (truncated) average speed of the track across all sightings fall within the expected speed range of the model?
4AccelerationThis is the change in speed between track sightings.Does the maximum acceleration across all sightings fall within the range of the model?
5WeightThe total number of cells that make up the target.Does the (truncated) average number of cells across all sightings fall within the range of the model?
6StrengthSum of the signal strength for each cell which makes up the target. Note this value is only truly effective if using "Input" or "Level Above" for the thresholding process.Does the (truncated) average signal strength across all samples fall within the range of the model?
7Seen MovingThis is the maximum speed that a track can travel before it is considered to be moving. This is used a base threshold to help distinguish between stationary debris and moving targets.Does the average speed seen across all sightings exceed the value in the model?
8Direction ChangeThe absolute change in direction from one sighting to the next.Does the average change in direction across all sightings fall within the range of the model?

Categories

Each track property is group into a category. This is so each category can be weighted on a model by model to ensure the scoring system is biased towards the key attributes for a specific classification.

The categories are as follows:

SerCategoryDefault Properties
1Speed and AccelerationSpeed, Expected Speed and Acceleration
2Weight and StrengthWeight and Strength
3BehaviourSeen Moving and Direction Change
4SizeSize

Category and Property Weighting

Each category and property is given a weighting. This can vary from model to model. These weightings will directly affect the model scoring. For example, if a target property matches a critical attribute then the score will be 5, whereas a matching optional property would only get a single point.

SerCategoryScore Weighting
1Criticalx5
2Desirablex3
3Optionalx1

Configuration File

The configuration is stored an XML file. Once familiar with the format, the file can be read and changed as required.

Info

The configuration file is entitled StatisticalClassificationConfiguration.xml and can be found in the Plugin sub-folder within the main Witness Suite program files directory.

The file has 2 main sections, some global settings at the top of the file and then a list of models. Each model has its own settings and scoring model, which are covered below.

Global Settings

Code Block
languagexml
themeRDark
titleGlobal Settings
<ClassificationConfigurations xmlns:yaxlib="http://www.sinairv.com/yaxlib/">
  <Samples>8</Samples>
  <MinProbabilityRequired>60</MinProbabilityRequired>
  <ExtraSampleIncrement>4</ExtraSampleIncrement>
  ...
</ClassificationConfigurations>

Samples

This is the total number of samples that will be used to analyse the track. This value includes provisional tracks although the option to include provisional tracks is done on a model by model basis. By default all models use provisional sightings. See the model settings below. The default value is 8.

Info

Be aware that not all provisional sightings are reported to the classification engine even when you opt to use them. For example the first provisional sighting is never reported and the last provisional sighting is typically converted to a real sighting assuming the ATI process is successful. For example if you have an M of N of 3 / 4, you might expect to see 3x provisional tracks but in fact you will only see 1x. The first is never reported and the third is converted to an established track because the criteria of 3/4 has been met. In practise this means that the classification engine will use 1 provisional + 7 established tracks before it provides a result. So the operator would see 7 sightings on the UI before the track is classified.

However if using an M of N of 5 / 6, then the classification system will use 3x provisional tracks + 5x established tracks.

In most cases, increasing the number of samples will increase the confidence of the classification assessment, however the downside is that the classification will take longer.

MinProbabilityRequired

This is the minimum level of confidence required before you consider the track to have been successfully classified. If this confidence level is not met then you can specify that the system continues for a further n sightings. The value of n is supplied by the next parameter, ExtraSampleIncrement. The level of confidence is 60%.

ExtraSampleIncrement

This value is used in conjunction with MinProbabilityRequired. If the probability level is not met then the system will continue to classify for a limited number of additional sightings. This number is specified by the ExtraSampleIncrement value. If at the end of this additional sample period the classification has a confidence level higher than MinProbabilityRequired then the track will be successfully classified. However, if it falls below this threshold then the track will remain unclassified for as long as its tracked. The default extra samples value is 4, giving a potential sample period of 12 (8 + 4).

Note

Be careful when increasing either sample period or the minimum probability required because this could significantly delay the classification result. This may also have a knock-on effect for other parts of the system. For example, your rules. If you rely on classification in your rule configuration then you need to consider how to handle tracks which may be unclassified for a number of sightings. Note that there is an option in the rule configuration to handle unclassified tracks but this is not enabled by default.

Model Settings

The extract below is the default model used for a vehicle.

Code Block
languagexml
themeRDark
titleVehicle Model
collapsetrue
<Model yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigModel">
      <ReclassificationSamples>0</ReclassificationSamples>
      <ModelType>Vehicle</ModelType>
      <AllowProvisionalTracks>True</AllowProvisionalTracks>
      <AllowCoastedTracks>False</AllowCoastedTracks>
      <ProvisionalTracksToSkip>2</ProvisionalTracksToSkip>
      <IncludedChannels />
      <ExcludedChannels>
        <Int32>32768</Int32>
      </ExcludedChannels>
      <Categories>
        <Category yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigCategory">
          <Category>Size</Category>
          <Weight>Critical</Weight>
          <Attributes>
            <Attribute yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigAttribute">
              <Type>Size</Type>
              <Weight>Critical</Weight>
              <SummaryMethod>TruncatedMean</SummaryMethod>
              <TruncationPercent>25</TruncationPercent>
              <Min>60</Min>
              <Max />
            </Attribute>
          </Attributes>
        </Category>
        <Category yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigCategory">
          <Category>SpeedAndAcceleration</Category>
          <Weight>Critical</Weight>
          <Attributes>
            <Attribute yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigAttribute">
              <Type>Speed</Type>
              <Weight>Critical</Weight>
              <SummaryMethod>Max</SummaryMethod>
              <TruncationPercent>25</TruncationPercent>
              <Min>4</Min>
              <Max>55</Max>
            </Attribute>
            <Attribute yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigAttribute">
              <Type>ExpectedSpeed</Type>
              <Weight>Critical</Weight>
              <SummaryMethod>TruncatedMean</SummaryMethod>
              <TruncationPercent>25</TruncationPercent>
              <Min>4</Min>
              <Max>40</Max>
            </Attribute>
            <Attribute yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigAttribute">
              <Type>Acceleration</Type>
              <Weight>Desirable</Weight>
              <SummaryMethod>Max</SummaryMethod>
              <TruncationPercent>25</TruncationPercent>
              <Min>0</Min>
              <Max>4</Max>
            </Attribute>
          </Attributes>
        </Category>
        <Category yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigCategory">
          <Category>WeightAndStrength</Category>
          <Weight>Critical</Weight>
          <Attributes>
            <Attribute yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigAttribute">
              <Type>Weight</Type>
              <Weight>Critical</Weight>
              <SummaryMethod>Mean</SummaryMethod>
              <TruncationPercent>25</TruncationPercent>
              <Min>150</Min>
              <Max>199</Max>
            </Attribute>
            <Attribute yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigAttribute">
              <Type>Strength</Type>
              <Weight>Critical</Weight>
              <SummaryMethod>Mean</SummaryMethod>
              <TruncationPercent>25</TruncationPercent>
              <Min>220</Min>
              <Max>449</Max>
            </Attribute>
          </Attributes>
        </Category>
        <Category yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigCategory">
          <Category>Behaviour</Category>
          <Weight>Critical</Weight>
          <Attributes>
            <Attribute yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigAttribute">
              <Type>SeenMoving</Type>
              <Weight>Critical</Weight>
              <SummaryMethod>Mean</SummaryMethod>
              <TruncationPercent>25</TruncationPercent>
              <Min>1.4</Min>
              <Max />
            </Attribute>
            <Attribute yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigAttribute">
              <Type>DirectionChange</Type>
              <Weight>Optional</Weight>
              <SummaryMethod>Mean</SummaryMethod>
              <TruncationPercent>25</TruncationPercent>
              <Min>0</Min>
              <Max>8</Max>
            </Attribute>
          </Attributes>
        </Category>
      </Categories>
    </Model>

ReclassificationSamples

This sets how many samples will be used if a re-classification is triggered. See the re-classification configuration section.

ModelType

The type of classification. This can be one of the following:

  • Vehicle
  • Person
  • Airplane
  • Boat
  • Debris
  • Unclassified

By default the configuration includes models for people, vehicles, debris and airplanes.

AllowProvisionalTracks

A flag which controls whether provisional tracks should be included in the samples for this model. The default is True. We would always recommend using provisional tracks unless there is a specific reason. 

AllowCoastedTracks

A flag which controls whether coasted tracks are included in the classification assessment. The default is False. Due to the unreliable data associated with a coasted track, we do not recommend using coasted tracks with classification.

ProvisionalTracksToSkip

This flag has been deprecated and will be removed in future versions of the classification of the system. Do not change this value.

IncludedChannels

This lists the channels that will use this model. It is a list of channel Ids. If left blank, then the model will be used across all channels. The channel Id 32768 is reserved for the debris channel which is why this is excluded for all models except debris. The debris channel specifically includes this channel Id.

ExcludedChannels

This lists the channels that will not use this model. When left blank, no channels will be excluded.

Categories

This lists all the attributes, grouped by category, and their values. There are a number of ways to configure these values, see the next section.

Tuning a Model

Each model can be fine-tuned by adjusting the attributes. There are a number of options for each attribute which we will outline here. The key concept is to analyse tracks in Witness and review the typical values associated with each type (i.e. person vs vehicle) and then adjust the attributes in the classification configuration to match.

Understanding a Model Attribute

Taking the size attribute as an example:

Code Block
languagexml
themeRDark
titleSize Attribute
<Category yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigCategory">
   <Category>Size</Category>
   <Weight>Critical</Weight>
   <Attributes>
      <Attribute yaxlib:realtype="Witness.Tracker.Statistical.Classification.Classifications.ConfigAttribute">
         <Type>Size</Type>
         <Weight>Critical</Weight>
         <SummaryMethod>TruncatedMean</SummaryMethod>
         <TruncationPercent>25</TruncationPercent>
         <Min>60</Min>
         <Max />
      </Attribute>
   </Attributes>
</Category>

The size attribute is the only property within the Size category. The attribute has the following settings:

Type


Weight


SummaryMethod


TruncationPercent


Min


Max


Related information

Filter by label (Content by label)
showLabelsfalse
cqllabel = "classification"