{"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/hybrid-task-cascade-for-instance-segmentation","title":"Hybrid Task Cascade for Instance Segmentation","arxiv_id":"1901.07518","date":"2019-01-22","proceeding":"CVPR 2019 6","authors":["Kai Chen","Jiangmiao Pang","Jiaqi Wang","Yu Xiong","Xiaoxiao Li","Shuyang Sun","Wansen Feng","Ziwei Liu","Jianping Shi","Wanli Ouyang","Chen Change Loy","Dahua Lin"],"abstract":"Cascade is a classic yet powerful architecture that has boosted performance\non various tasks. However, how to introduce cascade to instance segmentation\nremains an open question. A simple combination of Cascade R-CNN and Mask R-CNN\nonly brings limited gain. In exploring a more effective approach, we find that\nthe key to a successful instance segmentation cascade is to fully leverage the\nreciprocal relationship between detection and segmentation. In this work, we\npropose a new framework, Hybrid Task Cascade (HTC), which differs in two\nimportant aspects: (1) instead of performing cascaded refinement on these two\ntasks separately, it interweaves them for a joint multi-stage processing; (2)\nit adopts a fully convolutional branch to provide spatial context, which can\nhelp distinguishing hard foreground from cluttered background. Overall, this\nframework can learn more discriminative features progressively while\nintegrating complementary features together in each stage. Without bells and\nwhistles, a single HTC obtains 38.4 and 1.5 improvement over a strong Cascade\nMask R-CNN baseline on MSCOCO dataset. Moreover, our overall system achieves\n48.6 mask AP on the test-challenge split, ranking 1st in the COCO 2018\nChallenge Object Detection Task. Code is available at:\nhttps://github.com/open-mmlab/mmdetection.","url_abs":"http://arxiv.org/abs/1901.07518v2","url_pdf":"http://arxiv.org/pdf/1901.07518v2.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":"hybrid-task-cascade-for-instance-segmentation","repo_url":"https://github.com/open-mmlab/mmdetection","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"hybrid-task-cascade-for-instance-segmentation","repo_url":"https://github.com/amirassov/kaggle-imaterialist","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"hybrid-task-cascade-for-instance-segmentation","repo_url":"https://github.com/zhaozhen2333/iflytek2021","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"hybrid-task-cascade-for-instance-segmentation","repo_url":"https://github.com/Burf/tfdetection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":null},{"paper_slug":"hybrid-task-cascade-for-instance-segmentation","repo_url":"https://github.com/PaddlePaddle/PaddleDetection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"paddle","reach":null}],"tasks":[{"task_slug":"instance-segmentation","task_name":"Instance Segmentation"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"open-question","task_name":"Open-Ended Question Answering"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"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":"bottom-up-path-augmentation","method_name":"Bottom-up Path Augmentation"},{"method_slug":"cascade-mask-r-cnn","method_name":"Cascade Mask R-CNN"},{"method_slug":"cascade-r-cnn","method_name":"Cascade R-CNN"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"deformable-convolution","method_name":"Deformable Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"fpn","method_name":"FPN"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"global-convolutional-network","method_name":"Global Convolutional Network"},{"method_slug":"grouped-convolution","method_name":"Grouped Convolution"},{"method_slug":"htc","method_name":"HTC"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"pafpn","method_name":"PAFPN"},{"method_slug":"precise-roi-pooling","method_name":"Precise RoI Pooling"},{"method_slug":"rpn","method_name":"RPN"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"resnext","method_name":"ResNeXt"},{"method_slug":"resnext-block","method_name":"ResNeXt Block"},{"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":"senet","method_name":"SENet"},{"method_slug":"sigmoid-activation","method_name":"Sigmoid Activation"},{"method_slug":"soft-nms","method_name":"Soft-NMS"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"squeeze-and-excitation-block","method_name":"Squeeze-and-Excitation Block"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/instance-segmentation-on-coco-minival","task":"Instance Segmentation","dataset":"COCO minival","model":"HTC (ResNet-50)","rank_in_archive_order":81,"of":93,"metrics":{"mask AP":"38.2"},"uses_additional_data":false},{"leaderboard":"/sota/instance-segmentation-on-coco","task":"Instance Segmentation","dataset":"COCO test-dev","model":"HTC + ResNeXt-101-FPN + DCN","rank_in_archive_order":63,"of":112,"metrics":{"mask AP":"41.2"},"uses_additional_data":true},{"leaderboard":"/sota/instance-segmentation-on-coco","task":"Instance Segmentation","dataset":"COCO test-dev","model":"HTC + ResNeXt-101-FPN","rank_in_archive_order":64,"of":112,"metrics":{"mask AP":"41.2%"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-coco-minival","task":"Object Detection","dataset":"COCO minival","model":"HTC (cascade)","rank_in_archive_order":143,"of":220,"metrics":{"AP50":"59.4","AP75":"40.7","APL":"52.3","APM":"40.9","APS":"20.3","box AP":"43.2"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-coco","task":"Object Detection","dataset":"COCO test-dev","model":"HTC (ResNeXt-101-FPN)","rank_in_archive_order":120,"of":225,"metrics":{"AP50":"63.9","AP75":"44.7","APL":"54.6","APM":"43.9","APS":"22.8","box mAP":"47.1"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-coco-o","task":"Object Detection","dataset":"COCO-O","model":"HTC\n(ResNet-50)","rank_in_archive_order":32,"of":45,"metrics":{"Average mAP":"19.1","Effective Robustness":"0.08"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1901.07518","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1901.07518"}},"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/amirassov/kaggle-imaterialist","reach":{"status":"ok","spdx":"MIT"}},{"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/PaddlePaddle/PaddleDetection","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zhaozhen2333/iflytek2021","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Burf/tfdetection","reach":null}],"summary":{"unverified":11},"by_repo_kind":{"listed":{"samples":11,"ran":0,"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":"5c1c9209733e8eee","entry":"calc_iou","repo":"amirassov/kaggle-imaterialist","repo_kind":"listed","path":"src/metric.py","file_url":"https://github.com/amirassov/kaggle-imaterialist/blob/HEAD/src/metric.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5c1c9209733e8eee"}},{"code_sha256_prefix":"cd1b403bf92fd010","entry":"calc_score_per_class","repo":"amirassov/kaggle-imaterialist","repo_kind":"listed","path":"src/metric.py","file_url":"https://github.com/amirassov/kaggle-imaterialist/blob/HEAD/src/metric.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cd1b403bf92fd010"}},{"code_sha256_prefix":"539349d8cda29622","entry":"check_overlaps","repo":"amirassov/kaggle-imaterialist","repo_kind":"listed","path":"src/utils.py","file_url":"https://github.com/amirassov/kaggle-imaterialist/blob/HEAD/src/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"539349d8cda29622"}},{"code_sha256_prefix":"b291d504cabbb9d7","entry":"coco_rle_encode","repo":"amirassov/kaggle-imaterialist","repo_kind":"listed","path":"src/rle.py","file_url":"https://github.com/amirassov/kaggle-imaterialist/blob/HEAD/src/rle.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b291d504cabbb9d7"}},{"code_sha256_prefix":"788ec14ec90e920b","entry":"create_labeled_mask","repo":"amirassov/kaggle-imaterialist","repo_kind":"listed","path":"src/utils.py","file_url":"https://github.com/amirassov/kaggle-imaterialist/blob/HEAD/src/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"788ec14ec90e920b"}},{"code_sha256_prefix":"5c7e2e28ee4a2a70","entry":"draw_masks","repo":"amirassov/kaggle-imaterialist","repo_kind":"listed","path":"src/eda.py","file_url":"https://github.com/amirassov/kaggle-imaterialist/blob/HEAD/src/eda.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5c7e2e28ee4a2a70"}},{"code_sha256_prefix":"009e3118940f9f68","entry":"get_spaced_colors","repo":"amirassov/kaggle-imaterialist","repo_kind":"listed","path":"src/draw.py","file_url":"https://github.com/amirassov/kaggle-imaterialist/blob/HEAD/src/draw.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"009e3118940f9f68"}},{"code_sha256_prefix":"2573e54c215b3242","entry":"kaggle_rle_decode","repo":"amirassov/kaggle-imaterialist","repo_kind":"listed","path":"src/rle.py","file_url":"https://github.com/amirassov/kaggle-imaterialist/blob/HEAD/src/rle.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2573e54c215b3242"}},{"code_sha256_prefix":"3163dc95d76aef7a","entry":"kaggle_rle_encode","repo":"amirassov/kaggle-imaterialist","repo_kind":"listed","path":"src/rle.py","file_url":"https://github.com/amirassov/kaggle-imaterialist/blob/HEAD/src/rle.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3163dc95d76aef7a"}},{"code_sha256_prefix":"2ac465835acc2a38","entry":"precision_at","repo":"amirassov/kaggle-imaterialist","repo_kind":"listed","path":"src/metric.py","file_url":"https://github.com/amirassov/kaggle-imaterialist/blob/HEAD/src/metric.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2ac465835acc2a38"}},{"code_sha256_prefix":"f7f918c6e2c8756c","entry":"put_text","repo":"amirassov/kaggle-imaterialist","repo_kind":"listed","path":"src/draw.py","file_url":"https://github.com/amirassov/kaggle-imaterialist/blob/HEAD/src/draw.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f7f918c6e2c8756c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}