{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/simple-copy-paste-is-a-strong-data","title":"Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation","arxiv_id":"2012.07177","date":"2020-12-13","proceeding":"CVPR 2021 1","authors":["Golnaz Ghiasi","Yin Cui","Aravind Srinivas","Rui Qian","Tsung-Yi Lin","Ekin D. Cubuk","Quoc V. Le","Barret Zoph"],"abstract":"Building instance segmentation models that are data-efficient and can handle rare object categories is an important challenge in computer vision. Leveraging data augmentations is a promising direction towards addressing this challenge. Here, we perform a systematic study of the Copy-Paste augmentation ([13, 12]) for instance segmentation where we randomly paste objects onto an image. Prior studies on Copy-Paste relied on modeling the surrounding visual context for pasting the objects. However, we find that the simple mechanism of pasting objects randomly is good enough and can provide solid gains on top of strong baselines. Furthermore, we show Copy-Paste is additive with semi-supervised methods that leverage extra data through pseudo labeling (e.g. self-training). On COCO instance segmentation, we achieve 49.1 mask AP and 57.3 box AP, an improvement of +0.6 mask AP and +1.5 box AP over the previous state-of-the-art. We further demonstrate that Copy-Paste can lead to significant improvements on the LVIS benchmark. Our baseline model outperforms the LVIS 2020 Challenge winning entry by +3.6 mask AP on rare categories.","url_abs":"https://arxiv.org/abs/2012.07177v2","url_pdf":"https://arxiv.org/pdf/2012.07177v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"simple-copy-paste-is-a-strong-data","repo_url":"https://github.com/tensorflow/tpu/tree/master/models/official/detection/projects/copy_paste","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":null},{"paper_slug":"simple-copy-paste-is-a-strong-data","repo_url":"https://github.com/RocketFlash/CAP_augmentation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"unanswered"}},{"paper_slug":"simple-copy-paste-is-a-strong-data","repo_url":"https://github.com/conradry/copy-paste-aug","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"simple-copy-paste-is-a-strong-data","repo_url":"https://github.com/PaddlePaddle/PaddleOCR","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"paddle","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"simple-copy-paste-is-a-strong-data","repo_url":"https://github.com/open-mmlab/mmdetection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"image-augmentation","task_name":"Image Augmentation"},{"task_slug":"instance-segmentation","task_name":"Instance Segmentation"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"cascade-mask-r-cnn","method_name":"Cascade Mask R-CNN"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"copy-paste","method_name":"Copy-Paste"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"depthwise-convolution","method_name":"Depthwise Convolution"},{"method_slug":"depthwise-separable-convolution","method_name":"Depthwise Separable Convolution"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"efficientnet","method_name":"EfficientNet"},{"method_slug":"entropy-regularization","method_name":"Entropy Regularization"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"inverted-residual-block","method_name":"Inverted Residual Block"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"lstm","method_name":"LSTM"},{"method_slug":"mask-r-cnn","method_name":"Mask R-CNN"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"nas-fpn","method_name":"NAS-FPN"},{"method_slug":"neural-architecture-search","method_name":"Neural Architecture Search"},{"method_slug":"ppo","method_name":"PPO"},{"method_slug":"pointwise-convolution","method_name":"Pointwise Convolution"},{"method_slug":"rmsprop","method_name":"RMSProp"},{"method_slug":"rpn","method_name":"RPN"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"roi-align","method_name":"RoIAlign"},{"method_slug":"sigmoid-activation","method_name":"Sigmoid Activation"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"squeeze-and-excitation-block","method_name":"Squeeze-and-Excitation Block"},{"method_slug":"stochastic-depth","method_name":"Stochastic Depth"},{"method_slug":"tanh-activation","method_name":"Tanh Activation"}],"datasets_introduced":[],"methods_introduced":[{"slug":"copy-paste","name":"Copy-Paste","full_name":"simple Copy-Paste"}],"results":[{"leaderboard":"/sota/instance-segmentation-on-coco-minival","task":"Instance Segmentation","dataset":"COCO minival","model":"Cascade Eff-B7 NAS-FPN (1280, self-training Copy Paste, single-scale)","rank_in_archive_order":31,"of":93,"metrics":{"mask AP":"48.9"},"uses_additional_data":true},{"leaderboard":"/sota/instance-segmentation-on-coco-minival","task":"Instance Segmentation","dataset":"COCO minival","model":"Cascade Eff-B7 NAS-FPN (1280)","rank_in_archive_order":42,"of":93,"metrics":{"mask AP":"46.8"},"uses_additional_data":false},{"leaderboard":"/sota/instance-segmentation-on-coco","task":"Instance Segmentation","dataset":"COCO test-dev","model":"Cascade Eff-B7 NAS-FPN (1280, self-training Copy Paste, single-scale)","rank_in_archive_order":25,"of":112,"metrics":{"mask AP":"49.1"},"uses_additional_data":true},{"leaderboard":"/sota/instance-segmentation-on-coco","task":"Instance Segmentation","dataset":"COCO test-dev","model":"Cascade Eff-B7 NAS-FPN (1280)","rank_in_archive_order":34,"of":112,"metrics":{"mask AP":"46.9"},"uses_additional_data":false},{"leaderboard":"/sota/instance-segmentation-on-lvis-v1-0-val","task":"Instance Segmentation","dataset":"LVIS v1.0 val","model":"Eff-B7 NAS-FPN (1280, Copy-Paste pre-training))","rank_in_archive_order":11,"of":25,"metrics":{"mask AP":"38.1"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-coco-minival","task":"Object Detection","dataset":"COCO minival","model":"Cascade Eff-B7 NAS-FPN (1280, self-training Copy Paste, single-scale)","rank_in_archive_order":43,"of":220,"metrics":{"box AP":"57.0"},"uses_additional_data":true},{"leaderboard":"/sota/object-detection-on-coco-minival","task":"Object Detection","dataset":"COCO minival","model":"Cascade Eff-B7 NAS-FPN (1280)","rank_in_archive_order":55,"of":220,"metrics":{"box AP":"54.5"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-coco","task":"Object Detection","dataset":"COCO test-dev","model":"Cascade Eff-B7 NAS-FPN (1280, self-training Copy Paste, single-scale)","rank_in_archive_order":37,"of":225,"metrics":{"box mAP":"57.3"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-coco","task":"Object Detection","dataset":"COCO test-dev","model":"Cascade Eff-B7 NAS-FPN (1280)","rank_in_archive_order":52,"of":225,"metrics":{"box mAP":"54.8"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-lvis-v1-0-val","task":"Object Detection","dataset":"LVIS v1.0 val","model":"Eff-B7 NAS-FPN (1280, Copy-Paste pre-training))","rank_in_archive_order":13,"of":15,"metrics":{"box AP":"41.6"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-pascal-voc-2007","task":"Object Detection","dataset":"PASCAL VOC 2007","model":"Cascade Eff-B7 NAS-FPN (Copy Paste pre-training, single-scale)","rank_in_archive_order":1,"of":30,"metrics":{"MAP":"89.3%"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-pascal-voc-2012-val","task":"Semantic Segmentation","dataset":"PASCAL VOC 2012 val","model":"Eff-B7 NAS-FPN (Copy-Paste pre-training, single-scale))","rank_in_archive_order":3,"of":29,"metrics":{"mIoU":"86.6%"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2012.07177","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2012.07177"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/PaddlePaddle/PaddleOCR","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/open-mmlab/mmdetection","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/RocketFlash/CAP_augmentation","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/conradry/copy-paste-aug","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tensorflow/tpu/tree/master/models/official/detection/projects/copy_paste","reach":null}],"summary":{"ran_honours":1,"ran_draft_wrong":1},"by_repo_kind":{"listed":{"samples":2,"ran":2,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"7ea49e405e5dfb17","entry":"extract_bboxes","repo":"conradry/copy-paste-aug","repo_kind":"listed","path":"copy_paste.py","file_url":"https://github.com/conradry/copy-paste-aug/blob/HEAD/copy_paste.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7ea49e405e5dfb17"}},{"code_sha256_prefix":"64a6f51733860918","entry":"masks_copy_paste","repo":"conradry/copy-paste-aug","repo_kind":"listed","path":"copy_paste.py","file_url":"https://github.com/conradry/copy-paste-aug/blob/HEAD/copy_paste.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"64a6f51733860918"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}