https://github.com/amazon-science/self-supervised-amodal-video-object-segmentation
https://github.com/amazon-science/self-supervised-amodal-video-object-segmentation
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.4%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: amazon-science
- License: mit-0
- Language: Python
- Default Branch: main
- Size: 599 KB
Statistics
- Stars: 19
- Watchers: 2
- Forks: 6
- Open Issues: 8
- Releases: 0
Metadata Files
README.md
SaVos
This is the official implementation of the NeurIPS'22 paper Self-supervised Amodal Video Object Segmentation . The code was implemented by Jian Yao, Yuxin Hong and Jianxiong Gao during their internship at the AWS Shanghai AI Lab.

The FishBowl dataset originates from Unsupervised Object Learning via Common Fate. In this repo, we provide the checkpoint and 1000 videos for testing. The train and test video data in this dataset are generated from the same script with different seeds using the open-sourced code. The data provided includes raw video data, predicted visible masks obtained by PointTrack, and flow obtained by Flownet2.
Set up
bash
pip install -r requirement.txt
FishBowl
Download FishBowl data
Down the test data and checkpoint.
Download the csv for evaluation
We currently filter the data (e.g. filtered by Occ rate as described in paper) and write into csv, to evalute, please download the test file
bash
mv PATH_TO_TEST_DATA VideoAmodal/FishBowl/FishBowl_dataset/data/test_data
mv PATH_TO_CHECKPOINT VideoAmodal/FishBowl/log_bidirectional_consist_next_vm_label_1.5bbox_finalconsist/best_model.pt
mv PATH_TO_TEST_FILES VideoAmodal/FishBowl/test_files
Inference
bash
cd FishBowls
TRAIN_METHOD="bidirectional_consist_next_vm_label_1.5bbox_finalconsist"
python -m torch.distributed.launch --nproc_per_node=4 \
main.py --mode test --training_method ${TRAIN_METHOD} \
--log_path log_${TRAIN_METHOD} --device cuda --batch_size 1 \
--data_path "" --num_workers 2 --loss_type BCE \
--enlarge_coef 1.5
Training
If you generate the training data (raw video data, flow and predict visible mask), you can train by:
bash
cd FishBowl
TRAIN_METHOD="bidirectional_consist_next_vm_label_1.5bbox_finalconsist"
python -m torch.distributed.launch --nproc_per_node=4 \
main.py --mode train --training_method ${TRAIN_METHOD} \
--log_path log_${TRAIN_METHOD} --device cuda --batch_size 3 \
--data_path "" --num_workers 2 --loss_type BCE --verbose \
--enlarge_coef 1.5 2>&1 | tee log_${TRAIN_METHOD}.log
Kins-Car
Download Kitti & Kins data
Download the data .
bash
mv PATH_TO_KINS_VIDEO_CAR Kins_Car/dataset/data
Training
bash
cd Kins_Car
TRAIN_METHOD="bidirectional_consist_next_vm_label_1.5bbox_finalconsist"
python -m torch.distributed.launch --nproc_per_node=4 \
main.py --mode train --training_method ${TRAIN_METHOD} \
--log_path log_${TRAIN_METHOD} --device cuda --batch_size 2 \
--data_path "" --num_workers 2 --loss_type BCE --verbose \
--enlarge_coef 1.5 2>&1 | tee log_${TRAIN_METHOD}.log
Inference
bash
cd Kins_Car
TRAIN_METHOD="bidirectional_consist_next_vm_label_1.5bbox_finalconsist"
python -m torch.distributed.launch --nproc_per_node=1 test.py --training_method ${TRAIN_METHOD}
Evaluation
bash
cd Kins_Car
python eval.py
Visualization
bash
cd Kins_Car
python run_video_res.py
Chewing Gum Dataset
For whom are interested in the synthetic dataset, we also provide the script to generate the Chewing Gum Dataset in utils/gen_chewgum.py.
Owner
- Name: Amazon Science
- Login: amazon-science
- Kind: organization
- Website: https://amazon.science
- Twitter: AmazonScience
- Repositories: 80
- Profile: https://github.com/amazon-science
GitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 2
- Total pull requests: 36
- Average time to close issues: N/A
- Average time to close pull requests: about 2 months
- Total issue authors: 2
- Total pull request authors: 1
- Average comments per issue: 0.5
- Average comments per pull request: 0.19
- Merged pull requests: 23
- Bot issues: 0
- Bot pull requests: 36
Past Year
- Issues: 1
- Pull requests: 15
- Average time to close issues: N/A
- Average time to close pull requests: 16 days
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.27
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 15
Top Authors
Issue Authors
- tanghaotommy (1)
- Kaihua-Chen (1)
Pull Request Authors
- dependabot[bot] (42)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- Bottleneck ==1.3.2
- Flask-Cors ==3.0.10
- HeapDict ==1.0.1
- Markdown ==3.3.4
- Pillow ==10.0.1
- PyYAML ==5.4.1
- QDarkStyle ==2.8.1
- QtPy ==1.9.0
- Rtree ==0.9.4
- VideoAmodal ==0.0.0
- absl-py ==0.15.0
- aiobotocore ==1.3.0
- aiohttp ==3.8.6
- aioitertools ==0.7.1
- alabaster ==0.7.12
- anaconda-client ==1.7.2
- anyio ==3.2.1
- appdirs ==1.4.4
- argh ==0.26.2
- async-generator ==1.10
- async-timeout ==3.0.1
- atomicwrites ==1.4.0
- autovizwidget ==0.19.0
- bkcharts ==0.2
- black ==19.10b0
- blis ==0.7.4
- boto ==2.49.0
- botocore ==1.20.49
- brotlipy ==0.7.0
- cachetools ==4.2.4
- catalogue ==2.0.4
- certifi ==2023.7.22
- channelnorm-cuda ==0.0.0
- clyent ==1.2.2
- contextlib2 ==0.6.0.post1
- correlation-cuda ==0.0.0
- cryptography ==41.0.4
- cvbase ==0.5.5
- cycler ==0.10.0
- cymem ==2.0.5
- cytoolz ==0.11.0
- dill ==0.3.4
- docopt ==0.6.2
- docutils ==0.16
- entrypoints ==0.3
- environment-kernels ==1.1.1
- et-xmlfile ==1.0.1
- fastai ==1.0.61
- fastcache ==1.1.0
- fastprogress ==1.0.0
- fsspec ==2021.4.0
- future ==0.18.3
- gmpy2 ==2.0.8
- google-auth ==2.3.2
- google-auth-oauthlib ==0.4.6
- google-pasta ==0.2.0
- grpcio ==1.53.0
- h5py ==2.10.0
- hdijupyterutils ==0.19.0
- imutils ==0.5.4
- itsdangerous ==1.1.0
- jdcal ==1.4.1
- json5 ==0.9.5
- jupyter ==1.0.0
- jupyter-contrib-core ==0.3.3
- jupyter-contrib-nbextensions ==0.5.1
- jupyter-highlight-selected-word ==0.2.0
- jupyter-latex-envs ==1.4.6
- jupyter-nbextensions-configurator ==0.4.1
- jupyter-server ==2.7.2
- jupyterlab ==3.0.17
- jupyterlab-server ==2.6.0
- llvmlite ==0.34.0
- locket ==0.2.1
- lxml ==4.9.1
- matplotlib ==3.2.2
- mccabe ==0.6.1
- mkl-fft ==1.2.1
- mkl-random ==1.1.1
- mkl-service ==2.3.0
- mpi4py ==3.0.3
- mpmath ==1.3.0
- multidict ==5.1.0
- multipledispatch ==0.6.0
- multiprocess ==0.70.12.2
- murmurhash ==1.0.5
- mypy-extensions ==0.4.3
- nb-conda ==2.2.1
- nbclassic ==0.3.1
- nvidia-ml-py3 ==7.352.0
- oauthlib ==3.2.2
- olefile ==0.46
- onnx ==1.13.0
- opencv-python ==4.5.1.48
- pandas ==1.2.2
- parso ==0.7.0
- partd ==1.1.0
- pathos ==0.2.8
- pathspec ==0.7.0
- pathtools ==0.1.2
- pathy ==0.5.2
- patsy ==0.5.1
- pep8 ==1.7.1
- pipreqs ==0.4.11
- pkginfo ==1.7.0
- plotly ==5.0.0
- pluggy ==0.13.1
- ply ==3.11
- pox ==0.3.0
- ppft ==1.6.6.4
- preshed ==3.0.5
- protobuf ==3.18.3
- protobuf3-to-dict ==0.1.5
- psycopg2 ==2.7.5
- pyarrow ==14.0.1
- pyasn1 ==0.4.8
- pyasn1-modules ==0.2.8
- pycocotools ==2.0.2
- pycosat ==0.6.3
- pycrypto ==2.6.1
- pycurl ==7.43.0.6
- pydantic ==1.7.4
- pyfunctional ==1.4.3
- pygal ==2.4.0
- pyinstrument ==4.0.4
- pykerberos ==1.2.1
- pynvml ==8.0.4
- pyodbc ===4.0.0
- pytest ==6.2.2
- pyzmq ==20.0.0
- requests-kerberos ==0.12.0
- requests-oauthlib ==1.3.0
- resample2d-cuda ==0.0.0
- rsa ==4.7.2
- ruamel_yaml ==0.15.87
- s3fs ==2021.4.0
- sagemaker ==2.46.1
- scikit-image ==0.17.2
- scikit-video ==1.1.11
- scipy ==1.10.0
- setproctitle ==1.2.2
- simplegeneric ==0.8.1
- sklearn ==0.0
- smart-open ==3.0.0
- smdebug-rulesconfig ==1.0.1
- sniffio ==1.2.0
- spacy ==3.0.6
- spacy-legacy ==3.0.6
- sparkmagic ==0.15.0
- srsly ==2.4.1
- tables ==3.6.1
- tabulate ==0.8.9
- tenacity ==7.0.0
- tensorboard ==2.7.0
- tensorboard-data-server ==0.6.1
- tensorboard-plugin-wit ==1.8.0
- tensorboardX ==2.4
- terminado ==0.9.2
- terminaltables ==3.1.10
- thinc ==8.0.6
- torch ==1.13.1
- torchaudio ==0.8.1
- torchvision ==0.9.1
- typer ==0.3.2
- typing ==3.7.4.3
- unicodecsv ==0.14.1
- urllib3 ==1.26.18
- wasabi ==0.8.2
- webencodings ==0.5.1
- websocket-client ==1.1.0
- widgetsnbextension ==3.5.1
- wrapt ==1.12.1
- xlwt ==1.3.0
- yarg ==0.1.9
- yarl ==1.6.3
- zict ==2.0.0
- zope.event ==4.5.0