# resetSequence

Reset video sequence properties for streaming video classification

## Syntax

``classifierReset = resetSequence(classifier) ``

## Description

example

````classifierReset = resetSequence(classifier) ` resets the video sequences for classification. `classifier` is the classifier, specified as a `r2plus1dVideoClassifier` or `slowFastVideoClassifier` object. ```

## Examples

collapse all

This example shows how to classify two different video sequences one after the other by reseting the video sequences of the video classifier using the `resetSequence` function. To learn more about how to train a video classifier network for your dataset, see Gesture Recognition using Videos and Deep Learning.

Load the SlowFast Video Classifier pretrained on the Kinetics-400 dataset.

`sf = slowFastVideoClassifier();`

Classify First Video Sequence

Specify the video file name.

`videoFilename = "washingHands.avi";`

`reader = VideoReader(videoFilename);`

Update the video classifier sequence with video frames before using `classifySequence`. The required number of frames is defined by the value of the 4th element of `InputSize` property of the video classifier.

`sequenceLength = sf.InputSize(4);`

Read a video sequence starting from the first frame.

```startSequenceIndex = 1; sequenceRange = [startSequenceIndex, startSequenceIndex + sequenceLength - 1];```

Update the video classifier sequence with video frames.

```for ii = sequenceRange videoFrame = read(reader, ii); sf = updateSequence(sf,videoFrame); end```

Classify the video sequence updated so far.

`[label1, score1] = classifySequence(sf)`
```label1 = categorical washing hands ```
```score1 = single 0.0031 ```

Display the classified label.

```player = vision.VideoPlayer('Name','Washing Hands'); for ii = sequenceRange frame = read(reader,ii); % Resize the frame by 1.5 times for display frame = imresize(frame,1.5); frame = insertText(frame,[2,2], string(label1),'FontSize',18); step(player,frame); end```

Classify Second Video Sequence

Reset the video sequence of the video classifier without creating a new video classifier.

`sf = resetSequence(sf);`

Specify another video file to classify.

`videoFilename = "vipmen.avi";`

`reader = VideoReader(videoFilename);`

Read a video sequence starting from the $13{1}^{st}$ frame, where the `"shaking hands"` action begins.

```startSequenceIndex = 131; sequenceRange = [startSequenceIndex, startSequenceIndex + sequenceLength - 1];```

Classify the second video sequence.

```for ii = sequenceRange videoFrame = read(reader,ii); sf = updateSequence(sf,frame); end [label2, score2] = classifySequence(sf)```
```label2 = categorical shaking hands ```
```score2 = single 0.0039 ```

Display the classified label.

```player = vision.VideoPlayer('Name','Shaking Hands'); for ii = sequenceRange frame = read(reader,ii); % Resize the frame by 4 times for display frame = imresize(frame, 4); frame = insertText(frame,[2,2], string(label2),'FontSize',18); step(player,frame); end ```

collapse all

## Output Arguments

collapse all

Reset video classifier, returned as a `r2plus1dVideoClassifier` or `slowFastVideoClassifier` object.

## Version History

Introduced in R2021b