Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

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).

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

On this page:

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.

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

Global 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.

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).

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.

Vehicle Model
<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 values specifies how many provisional tracks should be skipped before starting the classification process. We do not recommend you 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:

Size 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

This is the property to be analysed. The properties available for analysis were covered in Target Assessment.

Weight

This is the weighting used to score this attribute if the track data falls within the range specified for this property within the model. Weighting options were covered in Category and Property Weighting.

SummaryMethod

This specifies the method for summarising the recorded samples. All track sightings are processed, up to the sample count, and then each of the properties is summarised using this specified method before being  The options:

Min

This method means the lowest value seen on the track during the sampling period will be used to compare against the model.

Max

This methods means the highest value seen on the track during the sampling period will be used to compare against the model.

Mean

This methods means the average all values seen on the track during the sampling period will be used to compare against the model.

Truncated Mean

This methods means the average all values, less the outliers, seen on the track during the sampling period will be used to compare against the model. The truncated mean will sort the sample data and then remove a percentage of the values from the top and bottom of the sorted list. So the amount of samples ignored at the top and the bottom is % / 2. For example if you had sample data that looked like this 3,7,21,34,36,37,55,89 (8 samples) and the truncated percent was 25% then we would lose 2 of our 8 values (25%) but 1 from the top and 1 from the bottom. So the final value would be the average of the 6 remaining values (i.e. 7,21,34,36,37,55 - average is 190/6 = 31.7).

When using the Truncated Mean method you must also set the Truncated Percent value to indicate how many values at the top and bottom of the sample data you wish to ignore.

TruncatedPercent

When using the Truncated Mean summary method, this value specifies how many outliers to ignore at the top and bottom of the sample data. See Truncated Mean for a full explanation. 

Min

This is the minimum value that the model is looking for from the summary sample data. If the summary data from the analysed track is greater than or equal to this value then it will have met the minimum criteria. Where there is no maximum value provided, see below, then this is the only criteria that needs to be met. If it is satisfied then the track is awarded the appropriate weighted points for this classification model, increasing the likelihood that the track is a match.

Max

This is the maximum value that the value is looking for from the summary sample data. If the summary data from the analysed track is less than or equal to this value then it will have met the maximum criteria. Note that this value is optional. If omitted then the model will assume any value above the minimum (see above) is a match. If a minimum and maximum are specified then both criteria must be met for the track to match this attribute of the model.

Related information

  • No labels