Skip to content

SoSym Extension#291

Merged
ttj merged 7 commits intoverivital:masterfrom
sammsaski:master
Dec 6, 2025
Merged

SoSym Extension#291
ttj merged 7 commits intoverivital:masterfrom
sammsaski:master

Conversation

@sammsaski
Copy link
Contributor

@sammsaski sammsaski commented Dec 5, 2025

The working code for the SoSym journal extension of the FormaliSE'25 paper Robustness Verification of Video Classification Neural Networks.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds the working code for the SoSym journal extension of the FormaliSE'25 paper on robustness verification of video classification neural networks. The extension adds support for two new real-world action recognition datasets (UCF11 and KTH Actions) alongside the existing synthetic datasets.

Key changes:

  • New verification support for UCF11 and KTH Actions datasets
  • Data preparation notebooks for new datasets
  • Updated experiment runner scripts with configurable algorithm selection
  • Enhanced documentation with Docker-based setup instructions
  • Addition of GlobalAveragePooling3DLayer support in NNV
  • Modified result directory structure using /tmp for Docker compatibility

Reviewed changes

Copilot reviewed 38 out of 57 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/vvn/verifyucf11.m New verification function for UCF11 dataset with PGD falsification
src/vvn/verifykthactions.m New verification function for KTH Actions dataset
src/vvn/verify.py Added run_ucf11() and run_kthactions() functions with results management
src/run_ucf11.py Experiment runner for UCF11 with varying model sizes
src/run_kthactions.py Experiment runner for KTH Actions dataset
src/run.py, src/run_gtsrb.py, src/run_stmnist.py Refactored with argparse for algorithm selection
README.md Comprehensive update with Docker setup, data prep, and experiment instructions
requirements.txt Simplified to essential dependencies
.env Updated with Docker container paths
run_vvn.sh Updated to run all experiments including new datasets
engine/nn/layers/GlobalAveragePooling3DLayer.m New layer implementation for global 3D average pooling
engine/utils/matlab2nnv.m Added parsing support for GlobalAveragePooling3DLayer
Data prep notebooks Jupyter notebooks for UCF11, KTH Actions, and ST-MNIST preprocessing

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

s = squeeze(s);
label = labels(index) + 1;

% get the true output (we know this is coreect)
Copy link

Copilot AI Dec 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in comment: "coreect" should be "correct".

Copilot uses AI. Check for mistakes.
output = net.evaluate(s);
[~, P] = max(output);

% choose the epsilon vaue
Copy link

Copilot AI Dec 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in comment: "vaue" should be "value".

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,47 @@
import os
import sys
Copy link

Copilot AI Dec 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import of 'sys' is not used.

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,62 @@
import os
import sys
Copy link

Copilot AI Dec 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import of 'sys' is not used.

Copilot uses AI. Check for mistakes.
Comment on lines +62 to +64
"!apt-get install unrar -y"
]
},
Copy link

Copilot AI Dec 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The cell that downloads the UCF11 dataset uses wget over plain HTTP (http://crcv.ucf.edu/data/UCF11_updated_mpg.rar) without any integrity verification before extracting it with unrar. A network attacker (or malicious proxy) could tamper with this archive in transit and deliver poisoned data or exploit vulnerabilities in the RAR parser. Use HTTPS if the server supports it and/or verify a known-good checksum or signature of the archive before extraction (and avoid --no-check-certificate when using HTTPS).

Copilot uses AI. Check for mistakes.
@ttj ttj merged commit aa67a1f into verivital:master Dec 6, 2025
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants