{"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/oriented-object-detection-in-aerial-images","title":"Oriented Object Detection in Aerial Images with Box Boundary-Aware Vectors","arxiv_id":"2008.07043","date":"2020-08-17","proceeding":null,"authors":["Jingru Yi","Pengxiang Wu","Bo Liu","Qiaoying Huang","Hui Qu","Dimitris Metaxas"],"abstract":"Oriented object detection in aerial images is a challenging task as the objects in aerial images are displayed in arbitrary directions and are usually densely packed. Current oriented object detection methods mainly rely on two-stage anchor-based detectors. However, the anchor-based detectors typically suffer from a severe imbalance issue between the positive and negative anchor boxes. To address this issue, in this work we extend the horizontal keypoint-based object detector to the oriented object detection task. In particular, we first detect the center keypoints of the objects, based on which we then regress the box boundary-aware vectors (BBAVectors) to capture the oriented bounding boxes. The box boundary-aware vectors are distributed in the four quadrants of a Cartesian coordinate system for all arbitrarily oriented objects. To relieve the difficulty of learning the vectors in the corner cases, we further classify the oriented bounding boxes into horizontal and rotational bounding boxes. In the experiment, we show that learning the box boundary-aware vectors is superior to directly predicting the width, height, and angle of an oriented bounding box, as adopted in the baseline method. Besides, the proposed method competes favorably with state-of-the-art methods. Code is available at https://github.com/yijingru/BBAVectors-Oriented-Object-Detection.","url_abs":"https://arxiv.org/abs/2008.07043v2","url_pdf":"https://arxiv.org/pdf/2008.07043v2.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":"oriented-object-detection-in-aerial-images","repo_url":"https://github.com/yijingru/BBAVectors-Oriented-Object-Detection","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"object-detection-in-aerial-images","task_name":"Object Detection In Aerial Images"},{"task_slug":"one-stage-anchor-free-oriented-object-1","task_name":"One-stage Anchor-free Oriented Object Detection"},{"task_slug":"oriented-object-detection","task_name":"Oriented Object Detection"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/object-detection-in-aerial-images-on-dota-1","task":"Object Detection In Aerial Images","dataset":"DOTA","model":"BBAVectors","rank_in_archive_order":46,"of":58,"metrics":{"mAP":"75.36%"},"uses_additional_data":true}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2008.07043","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2008.07043"}},"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/yijingru/BBAVectors-Oriented-Object-Detection","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"ran_violates":1,"unverified":6},"by_repo_kind":{"official":{"samples":9,"ran":3,"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":"d9def42110729a85","entry":"conv1x1","repo":"yijingru/BBAVectors-Oriented-Object-Detection","repo_kind":"official","path":"models/resnet.py","file_url":"https://github.com/yijingru/BBAVectors-Oriented-Object-Detection/blob/HEAD/models/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d9def42110729a85"}},{"code_sha256_prefix":"160bb14bd76201b4","entry":"conv3x3","repo":"yijingru/BBAVectors-Oriented-Object-Detection","repo_kind":"official","path":"models/resnet.py","file_url":"https://github.com/yijingru/BBAVectors-Oriented-Object-Detection/blob/HEAD/models/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"160bb14bd76201b4"}},{"code_sha256_prefix":"5f4f4355be28c01e","entry":"isnan","repo":"yijingru/BBAVectors-Oriented-Object-Detection","repo_kind":"official","path":"loss.py","file_url":"https://github.com/yijingru/BBAVectors-Oriented-Object-Detection/blob/HEAD/loss.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5f4f4355be28c01e"}},{"code_sha256_prefix":"ce27e14c886f8979","entry":"NMS_numpy_exboxes","repo":"yijingru/BBAVectors-Oriented-Object-Detection","repo_kind":"official","path":"nms.py","file_url":"https://github.com/yijingru/BBAVectors-Oriented-Object-Detection/blob/HEAD/nms.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":"ce27e14c886f8979"}},{"code_sha256_prefix":"5fe8a38170916dc8","entry":"calc_IoU","repo":"yijingru/BBAVectors-Oriented-Object-Detection","repo_kind":"official","path":"nms.py","file_url":"https://github.com/yijingru/BBAVectors-Oriented-Object-Detection/blob/HEAD/nms.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":"5fe8a38170916dc8"}},{"code_sha256_prefix":"c39849114a4fce77","entry":"decode_prediction","repo":"yijingru/BBAVectors-Oriented-Object-Detection","repo_kind":"official","path":"func_utils.py","file_url":"https://github.com/yijingru/BBAVectors-Oriented-Object-Detection/blob/HEAD/func_utils.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":"c39849114a4fce77"}},{"code_sha256_prefix":"6bcbb9a0bc4d9c6e","entry":"draw_image","repo":"yijingru/BBAVectors-Oriented-Object-Detection","repo_kind":"official","path":"nms.py","file_url":"https://github.com/yijingru/BBAVectors-Oriented-Object-Detection/blob/HEAD/nms.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":"6bcbb9a0bc4d9c6e"}},{"code_sha256_prefix":"2ca07db1d5eb4f5f","entry":"load_data","repo":"yijingru/BBAVectors-Oriented-Object-Detection","repo_kind":"official","path":"draw_loss.py","file_url":"https://github.com/yijingru/BBAVectors-Oriented-Object-Detection/blob/HEAD/draw_loss.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":"2ca07db1d5eb4f5f"}},{"code_sha256_prefix":"17bf3264c1d5dca1","entry":"resnet18","repo":"yijingru/BBAVectors-Oriented-Object-Detection","repo_kind":"official","path":"models/resnet.py","file_url":"https://github.com/yijingru/BBAVectors-Oriented-Object-Detection/blob/HEAD/models/resnet.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":"17bf3264c1d5dca1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}