{"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/towards-robust-image-stitching-an-adaptive","title":"Towards Robust Image Stitching: An Adaptive Resistance Learning against Compatible Attacks","arxiv_id":"2402.15959","date":"2024-02-25","proceeding":null,"authors":["Zhiying Jiang","Xingyuan Li","JinYuan Liu","Xin Fan","Risheng Liu"],"abstract":"Image stitching seamlessly integrates images captured from varying perspectives into a single wide field-of-view image. Such integration not only broadens the captured scene but also augments holistic perception in computer vision applications. Given a pair of captured images, subtle perturbations and distortions which go unnoticed by the human visual system tend to attack the correspondence matching, impairing the performance of image stitching algorithms. In light of this challenge, this paper presents the first attempt to improve the robustness of image stitching against adversarial attacks. Specifically, we introduce a stitching-oriented attack~(SoA), tailored to amplify the alignment loss within overlapping regions, thereby targeting the feature matching procedure. To establish an attack resistant model, we delve into the robustness of stitching architecture and develop an adaptive adversarial training~(AAT) to balance attack resistance with stitching precision. In this way, we relieve the gap between the routine adversarial training and benign models, ensuring resilience without quality compromise. Comprehensive evaluation across real-world and synthetic datasets validate the deterioration of SoA on stitching performance. Furthermore, AAT emerges as a more robust solution against adversarial perturbations, delivering superior stitching results. Code is available at:https://github.com/Jzy2017/TRIS.","url_abs":"https://arxiv.org/abs/2402.15959v1","url_pdf":"https://arxiv.org/pdf/2402.15959v1.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":"towards-robust-image-stitching-an-adaptive","repo_url":"https://github.com/jzy2017/tris","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"image-stitching","task_name":"Image Stitching"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.15959","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.15959"}},"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/jzy2017/tris","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/Jzy2017/TRIS","reach":{"status":"ok"}}],"summary":{"ran":7,"unverified":3},"by_repo_kind":{"official":{"samples":10,"ran":7,"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":10,"samples":[{"code_sha256_prefix":"049b50914f196ec9","entry":"cost_volume","repo":"Jzy2017/TRIS","repo_kind":"official","path":"ImageAlignment/H_model.py","file_url":"https://github.com/Jzy2017/TRIS/blob/HEAD/ImageAlignment/H_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"049b50914f196ec9"}},{"code_sha256_prefix":"994b8e51d981ec82","entry":"horizontal_cost_volume","repo":"Jzy2017/TRIS","repo_kind":"official","path":"ImageAlignment/H_model.py","file_url":"https://github.com/Jzy2017/TRIS/blob/HEAD/ImageAlignment/H_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"994b8e51d981ec82"}},{"code_sha256_prefix":"e86a0dd1a8347e6d","entry":"is_image","repo":"Jzy2017/TRIS","repo_kind":"official","path":"ImageAlignment/dataset.py","file_url":"https://github.com/Jzy2017/TRIS/blob/HEAD/ImageAlignment/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e86a0dd1a8347e6d"}},{"code_sha256_prefix":"d7c7e4f3b1b9a31f","entry":"is_npy","repo":"Jzy2017/TRIS","repo_kind":"official","path":"ImageAlignment/dataset.py","file_url":"https://github.com/Jzy2017/TRIS/blob/HEAD/ImageAlignment/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d7c7e4f3b1b9a31f"}},{"code_sha256_prefix":"7fdec57a2e65dde4","entry":"resize2tensor","repo":"Jzy2017/TRIS","repo_kind":"official","path":"ImageAlignment/dataset.py","file_url":"https://github.com/Jzy2017/TRIS/blob/HEAD/ImageAlignment/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7fdec57a2e65dde4"}},{"code_sha256_prefix":"c52d01119ab15f09","entry":"seammask_extraction","repo":"Jzy2017/TRIS","repo_kind":"official","path":"ImageReconstruction/model.py","file_url":"https://github.com/Jzy2017/TRIS/blob/HEAD/ImageReconstruction/model.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":"c52d01119ab15f09"}},{"code_sha256_prefix":"3109eb43b3c4cc44","entry":"vertical_cost_volume","repo":"Jzy2017/TRIS","repo_kind":"official","path":"ImageAlignment/H_model.py","file_url":"https://github.com/Jzy2017/TRIS/blob/HEAD/ImageAlignment/H_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3109eb43b3c4cc44"}},{"code_sha256_prefix":"e4844b27fcab90e9","entry":"disjoint_augment_image_pair","repo":"Jzy2017/TRIS","repo_kind":"official","path":"ImageAlignment/models.py","file_url":"https://github.com/Jzy2017/TRIS/blob/HEAD/ImageAlignment/models.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":"e4844b27fcab90e9"}},{"code_sha256_prefix":"f627fa26b38f4965","entry":"edge_extraction","repo":"Jzy2017/TRIS","repo_kind":"official","path":"ImageReconstruction/model.py","file_url":"https://github.com/Jzy2017/TRIS/blob/HEAD/ImageReconstruction/model.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":"f627fa26b38f4965"}},{"code_sha256_prefix":"f76242171d427e64","entry":"output_solve_DLT","repo":"Jzy2017/TRIS","repo_kind":"official","path":"ImageAlignment/output_tensorDLT.py","file_url":"https://github.com/Jzy2017/TRIS/blob/HEAD/ImageAlignment/output_tensorDLT.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":"f76242171d427e64"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}