Code & Models for Temporal Segment Networks (TSN) in ECCV 2016

Overview

Temporal Segment Networks (TSN)

We have released MMAction, a full-fledged action understanding toolbox based on PyTorch. It includes implementation for TSN as well as other STOA frameworks for various tasks. We highly recommend you switch to it. This repo will keep on being suppported for Caffe users.

This repository holds the codes and models for the papers

Temporal Segment Networks for Action Recognition in Videos, Limin Wang, Yuanjun Xiong, Zhe Wang, Yu Qiao, Dahua Lin, Xiaoou Tang, and Luc Van Gool, TPAMI, 2018.

[Arxiv Preprint]

Temporal Segment Networks: Towards Good Practices for Deep Action Recognition, Limin Wang, Yuanjun Xiong, Zhe Wang, Yu Qiao, Dahua Lin, Xiaoou Tang, and Luc Van Gool, ECCV 2016, Amsterdam, Netherlands.

[Arxiv Preprint]

News & Updates

Jul. 20, 2018 - For those having trouble building the TSN toolkit, we have provided a built docker image you can use. Download it from DockerHub. It contains OpenCV, Caffe, DenseFlow, and this codebase. All built and ready to use with NVIDIA-Docker

Sep. 8, 2017 - We released TSN models trained on the Kinetics dataset with 76.6% single model top-1 accuracy. Find the model weights and transfer learning experiment results on the website.

Aug 10, 2017 - An experimental pytorch implementation of TSN is released github

Nov. 5, 2016 - The project page for TSN is online. website

Sep. 14, 2016 - We fixed a legacy bug in Caffe. Some parameters in TSN training are affected. You are advised to update to the latest version.

FAQ, How to add a custom dataset

Below is the guidance to reproduce the reported results and explore more.

Contents


Usage Guide

Prerequisites

[back to top]

There are a few dependencies to run the code. The major libraries we use are

The codebase is written in Python. We recommend the Anaconda Python distribution. Matlab scripts are provided for some critical steps like video-level testing.

The most straightforward method to install these libraries is to run the build-all.sh script.

Besides software, GPU(s) are required for optical flow extraction and model training. Our Caffe modification supports highly efficient parallel training. Just throw in as many GPUs as you like and enjoy.

Code & Data Preparation

Get the code

[back to top]

Use git to clone this repository and its submodules

git clone --recursive https://github.com/yjxiong/temporal-segment-networks

Then run the building scripts to build the libraries.

bash build_all.sh

It will build Caffe and dense_flow. Since we need OpenCV to have Video IO, which is absent in most default installations, it will also download and build a local installation of OpenCV and use its Python interfaces.

Note that to run training with multiple GPUs, one needs to enable MPI support of Caffe. To do this, run

MPI_PREFIX=<root path to openmpi installation> bash build_all.sh MPI_ON

Get the videos

[back to top]

We experimented on two mainstream action recognition datasets: UCF-101 and HMDB51. Videos can be downloaded directly from their websites. After download, please extract the videos from the rar archives.

  • UCF101: the ucf101 videos are archived in the downloaded file. Please use unrar x UCF101.rar to extract the videos.
  • HMDB51: the HMDB51 video archive has two-level of packaging. The following commands illustrate how to extract the videos.
mkdir rars && mkdir videos
unrar x hmdb51-org.rar rars/
for a in $(ls rars); do unrar x "rars/${a}" videos/; done;

Get trained models

[back to top]

We provided the trained model weights in Caffe style, consisting of specifications in Protobuf messages, and model weights. In the codebase we provide the model spec for UCF101 and HMDB51. The model weights can be downloaded by running the script

bash scripts/get_reference_models.sh

Extract Frames and Optical Flow Images

[back to top]

To run the training and testing, we need to decompose the video into frames. Also the temporal stream networks need optical flow or warped optical flow images for input.

These can be achieved with the script scripts/extract_optical_flow.sh. The script has three arguments

  • SRC_FOLDER points to the folder where you put the video dataset
  • OUT_FOLDER points to the root folder where the extracted frames and optical images will be put in
  • NUM_WORKER specifies the number of GPU to use in parallel for flow extraction, must be larger than 1

The command for running optical flow extraction is as follows

bash scripts/extract_optical_flow.sh SRC_FOLDER OUT_FOLDER NUM_WORKER

It will take from several hours to several days to extract optical flows for the whole datasets, depending on the number of GPUs.

Testing Provided Models

Get reference models

[back to top]

To help reproduce the results reported in the paper, we provide reference models trained by us for instant testing. Please use the following command to get the reference models.

bash scripts/get_reference_models.sh

Video-level testing

[back to top]

We provide a Python framework to run the testing. For the benchmark datasets, we will measure average accuracy on the testing splits. We also provide the facility to analyze a single video.

Generally, to test on the benchmark dataset, we can use the scripts eval_net.py and eval_scores.py.

For example, to test the reference rgb stream model on split 1 of ucf 101 with 4 GPUs, run

python tools/eval_net.py ucf101 1 rgb FRAME_PATH \
 models/ucf101/tsn_bn_inception_rgb_deploy.prototxt models/ucf101_split_1_tsn_rgb_reference_bn_inception.caffemodel \
 --num_worker 4 --save_scores SCORE_FILE

where FRAME_PATH is the path you extracted the frames of UCF-101 to and SCORE_FILE is the filename to store the extracted scores.

One can also use cached score files to evaluate the performance. To do this, issue the following command

python tools/eval_scores.py SCORE_FILE

The more important function of eval_scores.py is to do modality fusion. For example, once we got the scores of rgb stream in RGB_SCORE_FILE and flow stream in FLOW_SCORE_FILE. The fusion result with weights of 1:1.5 can be achieved with

python tools/eval_scores.py RGB_SCORE_FILE FLOW_SCORE_FILE --score_weights 1 1.5

To view the full help message of these scripts, run python eval_net.py -h or python eval_scores.py -h.

Training Temporal Segment Networks

[back to top]

Training TSN is straightforward. We have provided the necessary model specs, solver configs, and initialization models. To achieve optimal training speed, we strongly advise you to turn on the parallel training support in the Caffe toolbox using following build command

MPI_PREFIX=<root path to openmpi installation> bash build_all.sh MPI_ON

where root path to openmpi installation points to the installation of the OpenMPI, for example /usr/local/openmpi/.

Construct file lists for training and validation

[back to top]

The data feeding in training relies on VideoDataLayer in Caffe. This layer uses a list file to specify its data sources. Each line of the list file will contain a tuple of extracted video frame path, video frame number, and video groundtruth class. A list file looks like

video_frame_path 100 10
video_2_frame_path 150 31
...

To build the file lists for all 3 splits of the two benchmark dataset, we have provided a script. Just use the following command

bash scripts/build_file_list.sh ucf101 FRAME_PATH

and

bash scripts/build_file_list.sh hmdb51 FRAME_PATH

The generated list files will be put in data/ with names like ucf101_flow_val_split_2.txt.

Get initialization models

[back to top]

We have built the initialization model weights for both rgb and flow input. The flow initialization models implements the cross-modality training technique in the paper. To download the model weights, run

bash scripts/get_init_models.sh

Start training

[back to top]

Once all necessities ready, we can start training TSN. For this, use the script scripts/train_tsn.sh. For example, the following command runs training on UCF101 with rgb input

bash scripts/train_tsn.sh ucf101 rgb

the training will run with default settings on 4 GPUs. Usually, it takes around 1 hours to train the rgb model and 4 hours for flow models, on 4 GTX Titan X GPUs.

The learned model weights will be saved in models/. The aforementioned testing process can be used to evaluate them.

Config the training process

[back to top]

Here we provide some information on customizing the training process

  • Change split: By default, the training is conducted on split 1 of the datasets. To change the split, one can modify corresponding model specs and solver files. For example, to train on split 2 of UCF101 with rgb input, one can modify the file models/ucf101/tsn_bn_inception_rgb_train_val.prototxt. On line 8, change
source: "data/ucf101_rgb_train_split_1.txt"`

to

`source: "data/ucf101_rgb_train_split_2.txt"`

On line 34, change

source: "data/ucf101_rgb_val_split_1.txt"

to

source: "data/ucf101_rgb_val_split_2.txt"

Also, in the solver file models/ucf101/tsn_bn_inception_rgb_solver.prototxt, on line 12 change

snapshot_prefix: "models/ucf101_split1_tsn_rgb_bn_inception"

to

snapshot_prefix: "models/ucf101_split2_tsn_rgb_bn_inception"

in order to distiguish the learned weights.

  • Change GPU number, in general, one can use any number of GPU to do the training. To use more or less GPU, one can change the N_GPU in scripts/train_tsn.sh. Important notice: when the GPU number is changed, the effective batchsize is also changed. It's better to always make sure the effective batchsize, which equals to batch_size*iter_size*n_gpu, to be 128. Here, batch_size is the number in the model's prototxt, for example line 9 in models/ucf101/tsn_bn_inception_rgb_train_val.protoxt.

Other Info

[back to top]

Citation

Please cite the following paper if you feel this repository useful.

@inproceedings{TSN2016ECCV,
  author    = {Limin Wang and
               Yuanjun Xiong and
               Zhe Wang and
               Yu Qiao and
               Dahua Lin and
               Xiaoou Tang and
               Luc {Val Gool}},
  title     = {Temporal Segment Networks: Towards Good Practices for Deep Action Recognition},
  booktitle   = {ECCV},
  year      = {2016},
}

Related Projects

Contact

For any question, please contact

Yuanjun Xiong: [email protected]
Limin Wang: [email protected]
Comments
  • About the Inception V3 model pretrained on Kinetics

    About the Inception V3 model pretrained on Kinetics

    Hi Yuanjun, we have checked the caffe model and prototxt file (Inception V3) you released a few days ago. I found that all the decomposed convolution filters(7x7 -> 1x7, 7x1) dimensions are contrary to the inception v3 model I have used (both caffe and tf)e.g. your kernel size are 1x7, 7x1 while they have 7x1, 1x7, yours are 7x1, 1x7 while they have 1x7,7x1. It makes me very confused, because I want to convert your Inception V3 model weights to tensorflow and keras model weights, to let more guys to enjoy the perfect work. I have "converted" the weights to keras(tensorflow backend), but the video test results are not correct.

    opened by bityangke 26
  •  Error parsing text-format caffe.NetParameter:  Message type

    Error parsing text-format caffe.NetParameter: Message type "caffe.LayerParameter" has no field named "bn_param".

    Hi, @yjxiong python tools/eval_net.py ucf101 1 rgb FRAME_PATH
    models/ucf101/tsn_bn_inception_rgb_deploy.prototxt models/ucf101_split_1_tsn_rgb_reference_bn_inception.caffemodel
    --num_worker 4 --save_scores SCORE_FILE

    W0901 14:59:26.851496 12575 _caffe.cpp:128] Net('models/hmdb51/tsn_bn_inception_rgb_deploy.prototxt', 1, weights='models/hmdb51_split_1_tsn_rgb_reference_bn_inception.caffemodel') [libprotobuf ERROR google/protobuf/text_format.cc:245] Error parsing text-format caffe.NetParameter: 19:12: Message type "caffe.LayerParameter" has no field named "bn_param". F0901 14:59:26.854511 12575 upgrade_proto.cpp:88] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: models/hmdb51/tsn_bn_inception_rgb_deploy.prototxt *** Check failure stack trace: *** Aborted (core dumped)

    caffe-action has been installed successfully. Can you give me some advice about how to solve it!

    Thank you so much!

    opened by buaa-luzhi 19
  • failed to build caffe

    failed to build caffe

    I have been running this program on another computer without problems. but when i run build_all to build the caffe and dense_flow in my computer, I get the error like:

    /home/hd/d/temporal-segment-networks/lib/caffe-action/include/caffe/util/cudnn.hpp(107): error: too few arguments in function call

    CMake Error at cuda_compile_generated_softmax_layer.cu.o.cmake:264 (message): Error generating file /home/hd/d/temporal-segment-networks/lib/caffe-action/build/src/caffe/CMakeFiles/cuda_compile.dir/layers/./cuda_compile_generated_softmax_layer.cu.o

    make[2]: *** [src/caffe/CMakeFiles/cuda_compile.dir/layers/./cuda_compile_generated_softmax_layer.cu.o] 错误 1 1 error detected in the compilation of "/tmp/tmpxft_00001fad_00000000-5_cudnn_bn_layer.cpp4.ii". CMake Error at cuda_compile_generated_cudnn_bn_layer.cu.o.cmake:264 (message): Error generating file /home/hd/d/temporal-segment-networks/lib/caffe-action/build/src/caffe/CMakeFiles/cuda_compile.dir/layers/./cuda_compile_generated_cudnn_bn_layer.cu.o

    make[2]: *** [src/caffe/CMakeFiles/cuda_compile.dir/layers/./cuda_compile_generated_cudnn_bn_layer.cu.o] 错误 1 make[1]: *** [src/caffe/CMakeFiles/caffe.dir/all] 错误 2 make: *** [all] 错误 2

    can you give me some suggestions, thank you very much @yjxiong

    opened by dphero 18
  • Test Error

    Test Error

    Hi, I have built the project, but I met this error when test the model. ............. 11600 videos parsed 11800 videos parsed 12000 videos parsed 12200 videos parsed 12400 videos parsed 12600 videos parsed 12800 videos parsed 13000 videos parsed 13200 videos parsed frame folder analysis done Setting device 0 Setting device 1 Setting device 2 Setting device 3 WARNING: Logging before InitGoogleLogging() is written to STDERR F1116 11:08:02.481065 13484 common.cpp:196] Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal *** Check failure stack trace: *** Setting device 4 WARNING: Logging before InitGoogleLogging() is written to STDERR F1116 11:08:03.024714 13507 common.cpp:196] Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal *** Check failure stack trace: *** Setting device 5 WARNING: Logging before InitGoogleLogging() is written to STDERR F1116 11:08:03.412492 13516 common.cpp:196] Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal *** Check failure stack trace: *** WARNING: Logging before InitGoogleLogging() is written to STDERR F1116 11:08:03.449525 13482 common.cpp:201] Check failed: status == CUBLAS_STATUS_SUCCESS (1 vs. 0) CUBLAS_STATUS_NOT_INITIALIZED *** Check failure stack trace: *** WARNING: Logging before InitGoogleLogging() is written to STDERR F1116 11:08:03.471946 13483 common.cpp:201] Check failed: status == CUBLAS_STATUS_SUCCESS (1 vs. 0) CUBLAS_STATUS_NOT_INITIALIZED *** Check failure stack trace: *** Setting device 6 WARNING: Logging before InitGoogleLogging() is written to STDERR F1116 11:08:03.512379 13481 common.cpp:201] Check failed: status == CUBLAS_STATUS_SUCCESS (1 vs. 0) CUBLAS_STATUS_NOT_INITIALIZED *** Check failure stack trace: *** Setting device 7 Setting device 8 Setting device 9 WARNING: Logging before InitGoogleLogging() is written to STDERR F1116 11:08:04.135582 13529 common.cpp:196] Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal WARNING: Logging before InitGoogleLogging() is written to STDERR F1116 11:08:04.135614 13521 common.cpp:196] Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal *** Check failure stack trace: *** *** Check failure stack trace: *** Setting device 10 Setting device 11 ......................

    Anyone have a suggestion?

    opened by woshigcy 17
  • About extracting optical_flow

    About extracting optical_flow

    Hi, I am reading the papers about recognition and detection of TSN, SSN and UntrimmedNet. But I meet a problem when I try to run the code of TSN about optical_flow extraction. My server system is CentOS and I have no sudo permission, so I can't run the build_all.sh to install all the libraries. How can I solve the problem by other ways? My server has already installed Caffe. Can I install Opencv by myself? and then use the "# build dense_flow" part in the build_all.sh to build dense_flow. Thanks very much.

    opened by junfengluo 17
  • error when extract optical flow

    error when extract optical flow

    Hi! When I try this: bash scripts/extract_optical_flow.sh SRC_FOLDER OUT_FOLDER NUM_WORKER It only output one line Extracting optical flow from videos in folder: /data1/sxm/Thumos14/thumos2014/frame/videos/videos Then nothing happened and I haven't got any images or optical flows in my OUT_FOLDER... I wonder why..Is there anybody face the same problem???

    opened by SongKAY 14
  • the image extraction part does not get the images

    the image extraction part does not get the images

    Problem: the image extraction part does not get the images.

    The denseflow library is build correctly. And after run bash scripts/extraction_optical_flow.sh SRC_FOLDER OUT_FOLDER NUM_WORKER. I got the correct image paths but did not get the correct rgb and optical flow images.

    I checked the code, and I guess it is tools/build_of.py in charge of the image extraction mission. And I guess it must be build/extract_gpu for the image extraction task. The running shell outputs the content of print '{} {} done.format(vid_id, vid_name)

    Cause the build/extract_gpu is binary. I do not know how to check the details.

    opened by KnightOfTheMoonlight 14
  • FATAL occured while opening videos in scripts/extract_optical_flow.sh

    FATAL occured while opening videos in scripts/extract_optical_flow.sh

    Hi guys :)

    I encountered a similar problem to #6, the following are the error message.

    2016-09-07 02:44:23,873 FATAL [default] Check failed: [video_stream.isOpened()] Cannot open video stream "/root/data/UCF-101/SalsaSpin/v_SalsaSpin_g22_c04.avi" for optical flow extraction. 2016-09-07 02:44:23,873 WARN [default] Aborting application. Reason: Fatal log at [/root/temporal-segment-networks/lib/dense_flow/src/dense_flow_gpu.cpp:15]

    All the videos prompted the same error message.

    The video path is correct, but it just can't open the video. The openCV came from the TSN installation package, it should be okay.
    Any suggestion to solve this problem?

    opened by GBJim 14
  • Cross Modality Pre-training.

    Cross Modality Pre-training.

    Hello,in your paper,one strategy for training the ConvNets in temporal segment network is cross modality pre-training whch is applied in training flow networks, and the accuracy is improved from 81.7% to 86.6%, can you share me how to average the weights across the RGB channels and replicate this average by the channel number of temporal network input before training,in your codes,do u have release this initial method? thanks for your reply.

    opened by actionderkokon 13
  • Why my reference flow downloaded model doesn't produce the right result.

    Why my reference flow downloaded model doesn't produce the right result.

    Hi: When I test the reference model download from website a. The flow model produce very low accuracy. Here is my config:

    args.dataset='ucf101'
    args.split=1
    args.modality='flow'
    args.frame_path='XXXXXXX/datas/UCF101/img_output'
    args.net_proto='models/ucf101/tsn_bn_inception_flow_deploy.prototxt'
    args.net_weights='models/ucf101_split_1_tsn_flow_reference_bn_inception.caffemodel'
    args.save_scores='flow_score2'
    

    It produced the Final accuracy 13.278916% on UCF101 split 1. While the only-rgb model produced the Final accuracy 86.037706%. Are there any mistake for my config? Or any other body get the same accuracy number as mine? Seeking for help~~

    opened by yonghenglh6 13
  • not get the images when extract optical_flow

    not get the images when extract optical_flow

    when run bash scripts/extraction_optical_flow.sh UCF101 result 2 I get 13320 empty folder in result and no provide me error my opencv support videoIO please give me some suggestion,thank you!

    opened by wcj021312 12
  • Docker extract flow: Only a part of videoes could be done, and the others were empty folders.

    Docker extract flow: Only a part of videoes could be done, and the others were empty folders.

    Thanks for your great work! I used docker to extract flow from 1000 videos, only a part of videos could be done, and the others were empty folders. But it will work in a single video, I am confused. Looking for your reply!

    opened by TitaniumOne 0
  • Use RWF-2000 to train TSN

    Use RWF-2000 to train TSN

    How can I deal with RWF-2000 when following the instruction of Data Preparation? My dataset is RWF-2000 which contatins train and val folder,label is only Fight and NonFight.

    opened by bujianyiwang 0
Owner
Young and simple. MMLAB@CUHK -> Amazon Rekognition. We are hiring summer interns for 2022.
null
🧠 A PyTorch implementation of 'Deep CORAL: Correlation Alignment for Deep Domain Adaptation.', ECCV 2016

Deep CORAL A PyTorch implementation of 'Deep CORAL: Correlation Alignment for Deep Domain Adaptation. B Sun, K Saenko, ECCV 2016' Deep CORAL can learn

Andy Hsu 200 Dec 25, 2022
A pure PyTorch implementation of the loss described in "Online Segment to Segment Neural Transduction"

ssnt-loss ℹ️ This is a WIP project. the implementation is still being tested. A pure PyTorch implementation of the loss described in "Online Segment t

張致強 1 Feb 9, 2022
Pytorch implementation of Value Iteration Networks (NIPS 2016 best paper)

VIN: Value Iteration Networks A quick thank you A few others have released amazing related work which helped inspire and improve my own implementation

Kent Sommer 297 Dec 26, 2022
Code for our paper at ECCV 2020: Post-Training Piecewise Linear Quantization for Deep Neural Networks

PWLQ Updates 2020/07/16 - We are working on getting permission from our institution to release our source code. We will release it once we are granted

null 54 Dec 15, 2022
PyTorch code for our ECCV 2018 paper "Image Super-Resolution Using Very Deep Residual Channel Attention Networks"

PyTorch code for our ECCV 2018 paper "Image Super-Resolution Using Very Deep Residual Channel Attention Networks"

Yulun Zhang 1.2k Dec 26, 2022
CVPR2021: Temporal Context Aggregation Network for Temporal Action Proposal Refinement

Temporal Context Aggregation Network - Pytorch This repo holds the pytorch-version codes of paper: "Temporal Context Aggregation Network for Temporal

Zhiwu Qing 63 Sep 27, 2022
Implementation of temporal pooling methods studied in [ICIP'20] A Comparative Evaluation Of Temporal Pooling Methods For Blind Video Quality Assessment

Implementation of temporal pooling methods studied in [ICIP'20] A Comparative Evaluation Of Temporal Pooling Methods For Blind Video Quality Assessment

Zhengzhong Tu 5 Sep 16, 2022
Cascaded Deep Video Deblurring Using Temporal Sharpness Prior and Non-local Spatial-Temporal Similarity

This repository is the official PyTorch implementation of Cascaded Deep Video Deblurring Using Temporal Sharpness Prior and Non-local Spatial-Temporal Similarity

hippopmonkey 4 Dec 11, 2022
Code for "Learning to Segment Rigid Motions from Two Frames".

rigidmask Code for "Learning to Segment Rigid Motions from Two Frames". ** This is a partial release with inference and evaluation code.

Gengshan Yang 157 Nov 21, 2022
code for `Look Closer to Segment Better: Boundary Patch Refinement for Instance Segmentation`

Look Closer to Segment Better: Boundary Patch Refinement for Instance Segmentation (CVPR 2021) Introduction PBR is a conceptually simple yet effective

H.Chen 143 Jan 5, 2023
[CVPR2021] DoDNet: Learning to segment multi-organ and tumors from multiple partially labeled datasets

DoDNet This repo holds the pytorch implementation of DoDNet: DoDNet: Learning to segment multi-organ and tumors from multiple partially labeled datase

null 116 Dec 12, 2022
Official Tensorflow implementation of "M-LSD: Towards Light-weight and Real-time Line Segment Detection"

M-LSD: Towards Light-weight and Real-time Line Segment Detection Official Tensorflow implementation of "M-LSD: Towards Light-weight and Real-time Line

NAVER/LINE Vision 357 Jan 4, 2023
Pytorch implementation of "M-LSD: Towards Light-weight and Real-time Line Segment Detection"

M-LSD: Towards Light-weight and Real-time Line Segment Detection Pytorch implementation of "M-LSD: Towards Light-weight and Real-time Line Segment Det

null 123 Jan 4, 2023
LETR: Line Segment Detection Using Transformers without Edges

LETR: Line Segment Detection Using Transformers without Edges Introduction This repository contains the official code and pretrained models for Line S

mlpc-ucsd 157 Jan 6, 2023
COD-Rank-Localize-and-Segment (CVPR2021)

COD-Rank-Localize-and-Segment (CVPR2021) Simultaneously Localize, Segment and Rank the Camouflaged Objects Full camouflage fixation training dataset i

JingZhang 52 Dec 20, 2022
【ACMMM 2021】DSANet: Dynamic Segment Aggregation Network for Video-Level Representation Learning

DSANet: Dynamic Segment Aggregation Network for Video-Level Representation Learning (ACMMM 2021) Overview We release the code of the DSANet (Dynamic S

Wenhao Wu 46 Dec 27, 2022
This project aims to segment 4 common retinal lesions from Fundus Images.

This project aims to segment 4 common retinal lesions from Fundus Images.

Husam Nujaim 1 Oct 10, 2021
Identify the emotion of multiple speakers in an Audio Segment

MevonAI - Speech Emotion Recognition Identify the emotion of multiple speakers in a Audio Segment Report Bug · Request Feature Try the Demo Here Table

Suyash More 110 Dec 3, 2022
Pytorch implementation of paper "Learning Co-segmentation by Segment Swapping for Retrieval and Discovery"

SegSwap Pytorch implementation of paper "Learning Co-segmentation by Segment Swapping for Retrieval and Discovery" [PDF] [Project page] If our project

xshen 41 Dec 10, 2022