{"version":2,"relationshipURLBase":"https://codingai-lec03.pages.dev/course/notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f.html","relationshipResolution":"Resolve relative relationship URLs against relationshipURLBase; complete records and absolute URLs are in blocks.","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f.html","markdown":"https://codingai-lec03.pages.dev/course/notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f.md","pages":[{"id":"reading-opening","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","unit":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","unitId":"notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f","chapter":"course","number":1}],"aliases":[{"oldId":"b-6fee5e3dd6bff9ae1d8b5c4e","targetId":"b-6fee5e3dd6bff9ae1d8b5c4e","page":"reading-opening","operation":"move","beforeSHA256":"9027342eb8430f11699811edb871aeb2e37b28e9f874a2aa48778e6bac2818b7","afterSHA256":"9027342eb8430f11699811edb871aeb2e37b28e9f874a2aa48778e6bac2818b7","reason":"Same source body in authored semantic page"},{"oldId":"b-42f277f37c212b26f55c5752","targetId":"b-42f277f37c212b26f55c5752","page":"reading-opening","operation":"move","beforeSHA256":"978e0845984afe2f74d875bddf5945578ff3d592060b5efa69c45a39453319de","afterSHA256":"978e0845984afe2f74d875bddf5945578ff3d592060b5efa69c45a39453319de","reason":"Same source body in authored semantic page"},{"oldId":"b-f5efa3f20f38199700b068ee","targetId":"b-f5efa3f20f38199700b068ee","page":"reading-opening","operation":"move","beforeSHA256":"dc06c1e728a4b5740ba634b145bc9a1da6323031626734cb4555db5a744df806","afterSHA256":"dc06c1e728a4b5740ba634b145bc9a1da6323031626734cb4555db5a744df806","reason":"Same source body in authored semantic page"},{"oldId":"b-65f06216689a1a7b85929466","targetId":"b-65f06216689a1a7b85929466","page":"reading-opening","operation":"move","beforeSHA256":"4e0de6d032a3765c60907de32f28cd988b659299663e842d319bdb0426243d78","afterSHA256":"4e0de6d032a3765c60907de32f28cd988b659299663e842d319bdb0426243d78","reason":"Same source body in authored semantic page"},{"oldId":"b-ae707c4470f00c3f4781805d","targetId":"b-ae707c4470f00c3f4781805d","page":"reading-opening","operation":"move","beforeSHA256":"17c087970008ebd0875576f6551258d8c6f5e701a79682f7055b68e8e0a4fa4e","afterSHA256":"17c087970008ebd0875576f6551258d8c6f5e701a79682f7055b68e8e0a4fa4e","reason":"Same source body in authored semantic page"}],"blocks":[{"id":"b-6fee5e3dd6bff9ae1d8b5c4e","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f.html#b-6fee5e3dd6bff9ae1d8b5c4e","content":"[LAB 09 · 检测几何：框、匹配、NMS 与 AP](/course/notebooks/90d213b4e1e04c7e889ee6fc042b2358.html)","sha256":"9027342eb8430f11699811edb871aeb2e37b28e9f874a2aa48778e6bac2818b7","chapter":{"id":"course","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码"},"unit":{"id":"notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码"},"page":{"id":"reading-opening","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","number":1},"sectionTitle":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","currentQuestion":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-42f277f37c212b26f55c5752","prerequisites":[],"relatedBlocks":[]},{"id":"b-42f277f37c212b26f55c5752","type":"h1","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f.html#b-42f277f37c212b26f55c5752","content":"# LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","sha256":"978e0845984afe2f74d875bddf5945578ff3d592060b5efa69c45a39453319de","chapter":{"id":"course","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码"},"unit":{"id":"notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码"},"page":{"id":"reading-opening","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","number":1},"sectionTitle":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","currentQuestion":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-6fee5e3dd6bff9ae1d8b5c4e","nextBlock":"b-f5efa3f20f38199700b068ee","prerequisites":[{"id":"b-6fee5e3dd6bff9ae1d8b5c4e","url":"#b-6fee5e3dd6bff9ae1d8b5c4e","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-f5efa3f20f38199700b068ee","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f.html#b-f5efa3f20f38199700b068ee","content":"并入相关学习路径","sha256":"dc06c1e728a4b5740ba634b145bc9a1da6323031626734cb4555db5a744df806","chapter":{"id":"course","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码"},"unit":{"id":"notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码"},"page":{"id":"reading-opening","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","number":1},"sectionTitle":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","currentQuestion":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-42f277f37c212b26f55c5752","nextBlock":"b-65f06216689a1a7b85929466","prerequisites":[{"id":"b-42f277f37c212b26f55c5752","url":"#b-42f277f37c212b26f55c5752","role":"section-title"},{"id":"b-6fee5e3dd6bff9ae1d8b5c4e","url":"#b-6fee5e3dd6bff9ae1d8b5c4e","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-65f06216689a1a7b85929466","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f.html#b-65f06216689a1a7b85929466","content":"固定框匹配、PR/AP、NMS误删相邻对象反例","sha256":"4e0de6d032a3765c60907de32f28cd988b659299663e842d319bdb0426243d78","chapter":{"id":"course","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码"},"unit":{"id":"notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码"},"page":{"id":"reading-opening","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","number":1},"sectionTitle":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","currentQuestion":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-f5efa3f20f38199700b068ee","nextBlock":"b-ae707c4470f00c3f4781805d","prerequisites":[{"id":"b-42f277f37c212b26f55c5752","url":"#b-42f277f37c212b26f55c5752","role":"section-title"},{"id":"b-6fee5e3dd6bff9ae1d8b5c4e","url":"#b-6fee5e3dd6bff9ae1d8b5c4e","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-ae707c4470f00c3f4781805d","type":"pre","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f.html#b-ae707c4470f00c3f4781805d","content":"```\nfrom pathlib import Path\nfrom datetime import datetime, timezone\nimport hashlib\nimport json\nimport platform\nimport time\nfrom html import escape\nimport numpy as np\n\nSTARTED_AT = datetime.now(timezone.utc).isoformat()\nSTARTED_CLOCK = time.perf_counter()\nOUT = Path(__file__).resolve().parent if \"__file__\" in globals() else Path.cwd()\nOUT.mkdir(parents=True, exist_ok=True)\nNMS_THRESHOLD = 0.50\nEVAL_THRESHOLDS = (0.50, 0.75)\n\nGT = np.array([[0, 0, 2, 2], [3, 0, 5, 2]], dtype=float)\nPRED = np.array([[0, 0, 2, 2], [.2, 0, 2.2, 2], [3.4, 0, 5.4, 2], [7, 7, 8, 8]], float)\nSCORES = np.array([.9, .8, .7, .4])\nCLASSES = np.zeros(4, dtype=int)\n```","sha256":"17c087970008ebd0875576f6551258d8c6f5e701a79682f7055b68e8e0a4fa4e","chapter":{"id":"course","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码"},"unit":{"id":"notebook-blocks/594bc8e645d4447c9c7e522cc8f9a03f","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码"},"page":{"id":"reading-opening","title":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","number":1},"sectionTitle":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","currentQuestion":"LAB 09 · 检测几何：框、匹配、NMS 与 AP · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-65f06216689a1a7b85929466","nextBlock":null,"prerequisites":[{"id":"b-42f277f37c212b26f55c5752","url":"#b-42f277f37c212b26f55c5752","role":"section-title"},{"id":"b-6fee5e3dd6bff9ae1d8b5c4e","url":"#b-6fee5e3dd6bff9ae1d8b5c4e","role":"problem-context"}],"relatedBlocks":[]}]}
