All Projects → genbing99 → SoftNet-SpotME

genbing99 / SoftNet-SpotME

Licence: other
Shallow Optical Flow Three-Stream CNN For Macro and Micro-Expression Spotting From Long Videos

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to SoftNet-SpotME

Optical-Flow-based-Obstacle-Avoidance
Image based obstacle avoidance using optical flow
Stars: ✭ 24 (+41.18%)
Mutual labels:  optical-flow
CorrelationLayer
Pure Pytorch implementation of Correlation Layer that commonly used in learning based optical flow estimator
Stars: ✭ 22 (+29.41%)
Mutual labels:  optical-flow
PCLNet
Unsupervised Learning for Optical Flow Estimation Using Pyramid Convolution LSTM.
Stars: ✭ 29 (+70.59%)
Mutual labels:  optical-flow
CrowdFlow
Optical Flow Dataset and Benchmark for Visual Crowd Analysis
Stars: ✭ 87 (+411.76%)
Mutual labels:  optical-flow
EPC
Every Pixel Counts ++: Joint Learning of Geometry and Motion with 3D Holistic Understanding
Stars: ✭ 27 (+58.82%)
Mutual labels:  optical-flow
flowattack
Attacking Optical Flow (ICCV 2019)
Stars: ✭ 58 (+241.18%)
Mutual labels:  optical-flow
TextBoxes
TextBoxes: A Fast Text Detector with a Single Deep Neural Network
Stars: ✭ 625 (+3576.47%)
Mutual labels:  spotting
Optical-Flow-GPU-Docker
Compute dense optical flow using TV-L1 algorithm with NVIDIA GPU acceleration.
Stars: ✭ 48 (+182.35%)
Mutual labels:  optical-flow
video features
Extract video features from raw videos using multiple GPUs. We support RAFT and PWC flow frames as well as S3D, I3D, R(2+1)D, VGGish, CLIP, ResNet features.
Stars: ✭ 225 (+1223.53%)
Mutual labels:  optical-flow
correlation flow
ROS package for Correlation Flow (ICRA 2018)
Stars: ✭ 28 (+64.71%)
Mutual labels:  optical-flow
humanflow2
Official repository of Learning Multi-Human Optical Flow (IJCV 2019)
Stars: ✭ 37 (+117.65%)
Mutual labels:  optical-flow
flow1d
[ICCV 2021 Oral] High-Resolution Optical Flow from 1D Attention and Correlation
Stars: ✭ 91 (+435.29%)
Mutual labels:  optical-flow
deepOF
TensorFlow implementation for "Guided Optical Flow Learning"
Stars: ✭ 26 (+52.94%)
Mutual labels:  optical-flow
mmflow
OpenMMLab optical flow toolbox and benchmark
Stars: ✭ 711 (+4082.35%)
Mutual labels:  optical-flow
Face-Detection-and-Tracking
Face Detection and tracking using CamShift, Kalman Filter, Optical Flow
Stars: ✭ 30 (+76.47%)
Mutual labels:  optical-flow
Joint-Motion-Estimation-and-Segmentation
[MICCAI'18] Joint Learning of Motion Estimation and Segmentation for Cardiac MR Image Sequences
Stars: ✭ 45 (+164.71%)
Mutual labels:  optical-flow
PyTrx
PyTrx is a Python object-oriented programme created for the purpose of calculating real-world measurements from oblique images and time-lapse image series. Its primary purpose is to obtain velocities, surface areas, and distances from oblique, optical imagery of glacial environments.
Stars: ✭ 31 (+82.35%)
Mutual labels:  optical-flow
EPPM
CUDA implementation of the paper "Fast Edge-Preserving PatchMatch for Large Displacement Optical Flow" in CVPR 2014.
Stars: ✭ 34 (+100%)
Mutual labels:  optical-flow
vision-based estimations
Vision-based Robot 3D Pose and Velocities Estimations
Stars: ✭ 32 (+88.24%)
Mutual labels:  optical-flow
BridgeDepthFlow
Bridging Stereo Matching and Optical Flow via Spatiotemporal Correspondence, CVPR 2019
Stars: ✭ 114 (+570.59%)
Mutual labels:  optical-flow

Shallow Optical Flow Three-Stream CNN For Macro and Micro-Expression Spotting From Long Videos

Framework of Proposed SOFTNet approach

Overall framework:

Mainly four phases involved:

  • Feature Extraction - Extract the optical flow features (u, v, ε) that represents each frame.
  • Pre-processing - Remove global head motion, eye masking, ROI selection, and image resampling.
  • SOFTNet - Three-stream shallow architecture that takes inputs (u, v, ε) and outputs a spotting confidence score.
  • Spotting - Smoothing spotting confidence score, then perform thresholding and peak detection to obtain the spotted interval for evaluation.

Training

Tensorflow and Keras are used in the experiment. Two datasets with macro- and micro-expression are used for training and testing purposes:

CAS(ME)2 - http://fu.psych.ac.cn/CASME/cas(me)2-en.php

SAMM Long Videos - http://www2.docm.mmu.ac.uk/STAFF/M.Yap/dataset.php

Results

Evaluation

Comparison between the proposed approaches against baseline and state-of-the-art approaches in Third Facial Micro-Expression Grand Challenge (MEGC 2020) in terms of F1-Score:

Visualization

Samples visual results for SOFTNet:

Discussion

The proposed SOFTNet approach outperforms other methods on CAS(ME)2 while ranked second on SAMM Long Videos. To better justify the effectiveness of the SOFTNet approach, we experimented with a similar framework but without SOFTNet, the results show that the framework with SOFTNet is much more efficient overall.

Visually, SOFTNet activation units show our intuition to concatenate the optical flow features (u, v, ε) from three-stream. The spatio-temporal motion information is captured when macro and micro-expression occur. After the concatenation, action unit 4 (Brow Lower) is triggered when a disgust emotion is elicited.

Reproduce the results for SOFTNet approach (with python script)

Step 1) Download datasets, CAS(ME)2 (CASME_sq) and SAMM Long Videos (SAMMLV) and placed in the structure as follows:

├─SOFNet_Weights
├─Utils
├─extraction_preprocess.py
├─load_images.py
├─load_label.py
├─main.py
├─requirements.txt
├─training.py
├─CASME_sq

├─CAS(ME)^2code_final.xlsx
├─cropped
├─rawpic
├─rawvideo
└─selectedpic

├─SAMMLV

├─SAMM_longvideos
└─SAMM_LongVideos_V1_Release.xlsx

Step 2) Installation of packages using pip

pip install -r requirements.txt

Step 3) SOFTNet Training and Evaluation

python main.py

Note for parameter settings

  --dataset_name (CASME_sq or SAMMLV)
  --expression_type (micro-expression or macro-expression)
  --train (True or False)
  --show_plot (True or False)

Note for pre-trained weights

The pre-trained weights for CAS(ME)2and SAMM Long Videos with macro and micro-expression separately are located under folder SOFTNet_Weights. You may load the weights for evaluation. However, the result is slightly different from the result given in the table shown above.

Link to research paper

If you find this work useful, please cite the paper: https://arxiv.org/pdf/2106.06489.pdf

@inproceedings{liong2021shallow,
title={Shallow optical flow three-stream CNN for macro-and micro-expression spotting from long videos},
author={Liong, Gen-Bing and See, John and Wong, Lai-Kuan},
booktitle={2021 IEEE International Conference on Image Processing (ICIP)},
pages={2643--2647},
year={2021},
organization={IEEE}
}

Please email me at [email protected] if you have any inquiries or issues.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].