{"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/dtfd-mil-double-tier-feature-distillation","title":"DTFD-MIL: Double-Tier Feature Distillation Multiple Instance Learning for Histopathology Whole Slide Image Classification","arxiv_id":"2203.12081","date":"2022-03-22","proceeding":"CVPR 2022 1","authors":["Hongrun Zhang","Yanda Meng","Yitian Zhao","Yihong Qiao","Xiaoyun Yang","Sarah E. Coupland","Yalin Zheng"],"abstract":"Multiple instance learning (MIL) has been increasingly used in the classification of histopathology whole slide images (WSIs). However, MIL approaches for this specific classification problem still face unique challenges, particularly those related to small sample cohorts. In these, there are limited number of WSI slides (bags), while the resolution of a single WSI is huge, which leads to a large number of patches (instances) cropped from this slide. To address this issue, we propose to virtually enlarge the number of bags by introducing the concept of pseudo-bags, on which a double-tier MIL framework is built to effectively use the intrinsic features. Besides, we also contribute to deriving the instance probability under the framework of attention-based MIL, and utilize the derivation to help construct and analyze the proposed framework. The proposed method outperforms other latest methods on the CAMELYON-16 by substantially large margins, and is also better in performance on the TCGA lung cancer dataset. The proposed framework is ready to be extended for wider MIL applications. The code is available at: https://github.com/hrzhang1123/DTFD-MIL","url_abs":"https://arxiv.org/abs/2203.12081v1","url_pdf":"https://arxiv.org/pdf/2203.12081v1.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":"dtfd-mil-double-tier-feature-distillation","repo_url":"https://github.com/hrzhang1123/dtfd-mil","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"dtfd-mil-double-tier-feature-distillation","repo_url":"https://github.com/liupei101/psemix","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"multiple-instance-learning","task_name":"Multiple Instance Learning"},{"task_slug":"image-classification","task_name":"image-classification"},{"task_slug":"whole-slide-images","task_name":"whole slide images"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/multiple-instance-learning-on-camelyon16","task":"Multiple Instance Learning","dataset":"CAMELYON16","model":"DTFD-MIL (AFS)","rank_in_archive_order":6,"of":14,"metrics":{"ACC":"0.908","AUC":"0.946"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-camelyon16","task":"Multiple Instance Learning","dataset":"CAMELYON16","model":"DTFD-MIL (MAS)","rank_in_archive_order":7,"of":14,"metrics":{"ACC":"0.897","AUC":"0.945"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-camelyon16","task":"Multiple Instance Learning","dataset":"CAMELYON16","model":"DTFD-MIL (MaxMinS)","rank_in_archive_order":8,"of":14,"metrics":{"ACC":"0.899","AUC":"0.941"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-camelyon16","task":"Multiple Instance Learning","dataset":"CAMELYON16","model":"DTFD-MIL (MaxS)","rank_in_archive_order":12,"of":14,"metrics":{"ACC":"0.864","AUC":"0.907"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-tcga","task":"Multiple Instance Learning","dataset":"TCGA","model":"DTFD-MIL (AFS)","rank_in_archive_order":1,"of":8,"metrics":{"ACC":"0.951"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-tcga","task":"Multiple Instance Learning","dataset":"TCGA","model":"DTFD-MIL (MaxMinS)","rank_in_archive_order":5,"of":8,"metrics":{"ACC":"0.891","AUC":"0.961"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-tcga","task":"Multiple Instance Learning","dataset":"TCGA","model":"DTFD-MIL (MaxS)","rank_in_archive_order":7,"of":8,"metrics":{"ACC":"0.868","AUC":"0.919"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-tcga","task":"Multiple Instance Learning","dataset":"TCGA","model":"DTFD-MIL (MAS)","rank_in_archive_order":8,"of":8,"metrics":{"AUC":"0.955"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.12081","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.12081"}},"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/liupei101/psemix","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hrzhang1123/dtfd-mil","reach":null}],"summary":{"ran":1,"ran_draft_wrong":1,"unverified":4},"by_repo_kind":{"official":{"samples":3,"ran":1,"repositories":1},"listed":{"samples":3,"ran":1,"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":3,"samples":[{"code_sha256_prefix":"1477192e5fea9ad0","entry":"FCLayer","repo":"liupei101/psemix","repo_kind":"listed","path":"model/deepmil.py","file_url":"https://github.com/liupei101/psemix/blob/HEAD/model/deepmil.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1477192e5fea9ad0"}},{"code_sha256_prefix":"bc62878a948ee57b","entry":"get_cam_1d","repo":"hrzhang1123/dtfd-mil","repo_kind":"official","path":"Main_DTFD_MIL.py","file_url":"https://github.com/hrzhang1123/dtfd-mil/blob/HEAD/Main_DTFD_MIL.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bc62878a948ee57b"}},{"code_sha256_prefix":"cbaed2033ba4b98a","entry":"BClassifier","repo":"liupei101/psemix","repo_kind":"listed","path":"model/deepmil.py","file_url":"https://github.com/liupei101/psemix/blob/HEAD/model/deepmil.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cbaed2033ba4b98a"}},{"code_sha256_prefix":"34ff92b5bbff3b02","entry":"DSMIL","repo":"liupei101/psemix","repo_kind":"listed","path":"model/deepmil.py","file_url":"https://github.com/liupei101/psemix/blob/HEAD/model/deepmil.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"34ff92b5bbff3b02"}},{"code_sha256_prefix":"c19a5908c9f8598e","entry":"print_log","repo":"hrzhang1123/dtfd-mil","repo_kind":"official","path":"Main_DTFD_MIL.py","file_url":"https://github.com/hrzhang1123/dtfd-mil/blob/HEAD/Main_DTFD_MIL.py","link_basis":"first_harvest_node","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":"c19a5908c9f8598e"}},{"code_sha256_prefix":"12c2a932db332fd1","entry":"train_attention_preFeature_DTFD","repo":"hrzhang1123/dtfd-mil","repo_kind":"official","path":"Main_DTFD_MIL.py","file_url":"https://github.com/hrzhang1123/dtfd-mil/blob/HEAD/Main_DTFD_MIL.py","link_basis":"first_harvest_node","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":"12c2a932db332fd1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}