{"version":2,"relationshipURLBase":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html","relationshipResolution":"Resolve relative relationship URLs against relationshipURLBase; complete records and absolute URLs are in blocks.","title":"LAB 15 · 语言指代小练习：目标、参照与关系","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html","markdown":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.md","pages":[{"id":"reading-opening","title":"LAB 15 · 语言指代小练习：目标、参照与关系","unit":"LAB 15 · 语言指代小练习：目标、参照与关系","unitId":"lab15-语言指代区域","chapter":"course","number":1},{"id":"reading-block-8f2a75d5421a4f9386da35d111cf6d81","title":"1. 让错误暴露，而不是把错误当正确示范","unit":"LAB 15 · 语言指代小练习：目标、参照与关系","unitId":"lab15-语言指代区域","chapter":"course","number":2},{"id":"reading-block-f54c13d8a9cf4b2680078719d51b539c","title":"2. 同一个底图上做干预","unit":"LAB 15 · 语言指代小练习：目标、参照与关系","unitId":"lab15-语言指代区域","chapter":"course","number":3},{"id":"reading-block-18bfe17db1da4cbebc970b56a164ebbb","title":"3. 正确分解目标、参照物和关系","unit":"LAB 15 · 语言指代小练习：目标、参照与关系","unitId":"lab15-语言指代区域","chapter":"course","number":4},{"id":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","title":"4. 根据实际输出解释每次条件变化","unit":"LAB 15 · 语言指代小练习：目标、参照与关系","unitId":"lab15-语言指代区域","chapter":"course","number":5},{"id":"reading-block-22efa2ceff4046f99dd3adcb0bf68d7f","title":"5. 真实 grounding 模型的证据入口与本册边界","unit":"LAB 15 · 语言指代小练习：目标、参照与关系","unitId":"lab15-语言指代区域","chapter":"course","number":6}],"aliases":[{"oldId":"b-62d78a6d2ea0bf6a0f4b02e0","targetId":"b-62d78a6d2ea0bf6a0f4b02e0","page":"reading-opening","operation":"move","beforeSHA256":"bc9779e0777cb91a5c2f054d84a2e44ef586add7e23ba5630b9b8d8e40e48d24","afterSHA256":"bc9779e0777cb91a5c2f054d84a2e44ef586add7e23ba5630b9b8d8e40e48d24","reason":"Same source body in authored semantic page"},{"oldId":"b-33d0c4caaea323ba403534cb","targetId":"b-33d0c4caaea323ba403534cb","page":"reading-opening","operation":"move","beforeSHA256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","afterSHA256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","reason":"Same source body in authored semantic page"},{"oldId":"b-def9c6c73f2b533b32eaf79c","targetId":"b-def9c6c73f2b533b32eaf79c","page":"reading-opening","operation":"move","beforeSHA256":"3f002b87ee5d2038f92b49a8b54826e9b65444b765dddaea38342c0fba3e3d3b","afterSHA256":"3f002b87ee5d2038f92b49a8b54826e9b65444b765dddaea38342c0fba3e3d3b","reason":"Same source body in authored semantic page"},{"oldId":"b-a3fcfd39e266628010a2084f","targetId":"b-a3fcfd39e266628010a2084f","page":"reading-opening","operation":"move","beforeSHA256":"f22152fd55dcdb0090b5653d37145694fd19388d31e10226549464fe8b483578","afterSHA256":"f22152fd55dcdb0090b5653d37145694fd19388d31e10226549464fe8b483578","reason":"Same source body in authored semantic page"},{"oldId":"b-608e69f8a65393079669dcd7","targetId":"b-608e69f8a65393079669dcd7","page":"reading-opening","operation":"move","beforeSHA256":"e18d8768430e774f92dc3916497d9d427a70355e977b362b9314ea60616fb0e1","afterSHA256":"e18d8768430e774f92dc3916497d9d427a70355e977b362b9314ea60616fb0e1","reason":"Same source body in authored semantic page"},{"oldId":"b-9c10b7effb7cad5b40937955","targetId":"b-9c10b7effb7cad5b40937955","page":"reading-opening","operation":"move","beforeSHA256":"e048b83eb764b7e0a5af3626ba2f64ba23dd707eb067f22834e72b4d5cc5027d","afterSHA256":"e048b83eb764b7e0a5af3626ba2f64ba23dd707eb067f22834e72b4d5cc5027d","reason":"Same source body in authored semantic page"},{"oldId":"b-84d4a3617808dab90fea876e","targetId":"b-84d4a3617808dab90fea876e","page":"reading-opening","operation":"move","beforeSHA256":"0c392105c76e8e193bfc072792d652a086ba3b755a1bdeb727eda1276025c1a0","afterSHA256":"0c392105c76e8e193bfc072792d652a086ba3b755a1bdeb727eda1276025c1a0","reason":"Same source body in authored semantic page"},{"oldId":"b-1fb396928592eb74a815883f","targetId":"b-1fb396928592eb74a815883f","page":"reading-opening","operation":"move","beforeSHA256":"a73edb805abdfacc33386cb30ad77c286c2074e8e1339ca88575997bd34f1f66","afterSHA256":"a73edb805abdfacc33386cb30ad77c286c2074e8e1339ca88575997bd34f1f66","reason":"Same source body in authored semantic page"},{"oldId":"b-8ac18e4fb1a0fdd636970714","targetId":"b-8ac18e4fb1a0fdd636970714","page":"reading-opening","operation":"move","beforeSHA256":"a2722fdf063dd0fa6ac94464a4ad3ac86c616dfc6ce1359ee8997bc601738062","afterSHA256":"89c8b16b5bed6b3125a50dc24385930ba9329c09bda3ea23159a63ec15a7e481","reason":"Same source body in authored semantic page"},{"oldId":"b-6129f8ea02b4dfb524d8ad88","targetId":"b-6129f8ea02b4dfb524d8ad88","page":"reading-opening","operation":"move","beforeSHA256":"78164336f3fd029306b32a7b8045f3275eedf02942f7e9ca490c89d7647ea11a","afterSHA256":"78164336f3fd029306b32a7b8045f3275eedf02942f7e9ca490c89d7647ea11a","reason":"Same source body in authored semantic page"},{"oldId":"b-f570d2eea78c39c94f349c61","targetId":"b-f570d2eea78c39c94f349c61","page":"reading-block-8f2a75d5421a4f9386da35d111cf6d81","operation":"move","beforeSHA256":"393c638acd0b5958a26219c2ad79e2c7da5c8b4fa59b8c0fef966815697e09e9","afterSHA256":"393c638acd0b5958a26219c2ad79e2c7da5c8b4fa59b8c0fef966815697e09e9","reason":"Same source body in authored semantic page"},{"oldId":"b-01340e9bdec9b543c560e02d","targetId":"b-01340e9bdec9b543c560e02d","page":"reading-block-8f2a75d5421a4f9386da35d111cf6d81","operation":"move","beforeSHA256":"dbb9578862864faba2f72e4d7bbe161da744af0307c9de33ed668db02a75ec86","afterSHA256":"dbb9578862864faba2f72e4d7bbe161da744af0307c9de33ed668db02a75ec86","reason":"Same source body in authored semantic page"},{"oldId":"b-b4ddc6a71d57c0e58e2f1957","targetId":"b-b4ddc6a71d57c0e58e2f1957","page":"reading-block-8f2a75d5421a4f9386da35d111cf6d81","operation":"move","beforeSHA256":"1d49d9dbb299d29ce4bea86e02ea78b4a41d9048c43aff212f53e4ac08b08dea","afterSHA256":"1d49d9dbb299d29ce4bea86e02ea78b4a41d9048c43aff212f53e4ac08b08dea","reason":"Same source body in authored semantic page"},{"oldId":"b-b4e6dc2e4ba2b2430307ade3","targetId":"b-b4e6dc2e4ba2b2430307ade3","page":"reading-block-8f2a75d5421a4f9386da35d111cf6d81","operation":"move","beforeSHA256":"29d1974b75143354c549506118c83d57ae7973c4a80518e01c852adc807e20a6","afterSHA256":"29d1974b75143354c549506118c83d57ae7973c4a80518e01c852adc807e20a6","reason":"Same source body in authored semantic page"},{"oldId":"b-d96e9eb42e87b520a67547fb","targetId":"b-d96e9eb42e87b520a67547fb","page":"reading-block-f54c13d8a9cf4b2680078719d51b539c","operation":"move","beforeSHA256":"683c00b554e7fe37e0b4151cd89158a67651b63e48572cca734a2915294147b5","afterSHA256":"683c00b554e7fe37e0b4151cd89158a67651b63e48572cca734a2915294147b5","reason":"Same source body in authored semantic page"},{"oldId":"b-e36247ee4da06ca9f5983c91","targetId":"b-e36247ee4da06ca9f5983c91","page":"reading-block-f54c13d8a9cf4b2680078719d51b539c","operation":"move","beforeSHA256":"a1d89623a4de7d9ca6a9563c38688a32dc729467e7e149cf5e6261180a970f35","afterSHA256":"a1d89623a4de7d9ca6a9563c38688a32dc729467e7e149cf5e6261180a970f35","reason":"Same source body in authored semantic page"},{"oldId":"b-6f73e5e32256cc1f114de251","targetId":"b-6f73e5e32256cc1f114de251","page":"reading-block-f54c13d8a9cf4b2680078719d51b539c","operation":"move","beforeSHA256":"9b1a952009b26959aa12b2c8b8b39cfc36954b326aa6ef01c45d5d3ead6d08ff","afterSHA256":"9b1a952009b26959aa12b2c8b8b39cfc36954b326aa6ef01c45d5d3ead6d08ff","reason":"Same source body in authored semantic page"},{"oldId":"b-7ca40e9c5b87a00c08c6da75","targetId":"b-7ca40e9c5b87a00c08c6da75","page":"reading-block-f54c13d8a9cf4b2680078719d51b539c","operation":"move","beforeSHA256":"7349377186377b5a8d784c55551b08889624c79f65fed3885d6403b690af21bc","afterSHA256":"7349377186377b5a8d784c55551b08889624c79f65fed3885d6403b690af21bc","reason":"Same source body in authored semantic page"},{"oldId":"b-7cbf888a27d17601acdb0279","targetId":"b-7cbf888a27d17601acdb0279","page":"reading-block-18bfe17db1da4cbebc970b56a164ebbb","operation":"move","beforeSHA256":"9906f53330b51ec8829f51391c0051126b9694f998eb075fdf2057509561ea46","afterSHA256":"9906f53330b51ec8829f51391c0051126b9694f998eb075fdf2057509561ea46","reason":"Same source body in authored semantic page"},{"oldId":"b-5a5e1bcfed560a5388b7f400","targetId":"b-5a5e1bcfed560a5388b7f400","page":"reading-block-18bfe17db1da4cbebc970b56a164ebbb","operation":"move","beforeSHA256":"60392b0169b0f82c310581c11f4cd44f21acf98ff44b27a218b866b5ac576e17","afterSHA256":"60392b0169b0f82c310581c11f4cd44f21acf98ff44b27a218b866b5ac576e17","reason":"Same source body in authored semantic page"},{"oldId":"b-626a224dfedfd4adffb122b0","targetId":"b-626a224dfedfd4adffb122b0","page":"reading-block-18bfe17db1da4cbebc970b56a164ebbb","operation":"move","beforeSHA256":"7644bc49c21400e4ef322fdc0a7bbec2ba204119cd071cfeb5f9c983de9a430e","afterSHA256":"7644bc49c21400e4ef322fdc0a7bbec2ba204119cd071cfeb5f9c983de9a430e","reason":"Same source body in authored semantic page"},{"oldId":"b-7f80696dc745d7d1dd89079b","targetId":"b-7f80696dc745d7d1dd89079b","page":"reading-block-18bfe17db1da4cbebc970b56a164ebbb","operation":"move","beforeSHA256":"869dba01edfddcbe563754b781b4d246c30966733fb6cd4117d55bc896beea5b","afterSHA256":"869dba01edfddcbe563754b781b4d246c30966733fb6cd4117d55bc896beea5b","reason":"Same source body in authored semantic page"},{"oldId":"b-9fdc114fe082ead32feed8c5","targetId":"b-9fdc114fe082ead32feed8c5","page":"reading-block-18bfe17db1da4cbebc970b56a164ebbb","operation":"move","beforeSHA256":"da4d4a83d781cb386c45ead04ad69f033fd35c902386687cd848b0291345c0f9","afterSHA256":"da4d4a83d781cb386c45ead04ad69f033fd35c902386687cd848b0291345c0f9","reason":"Same source body in authored semantic page"},{"oldId":"b-7cd4bfd37138bb70ec6a6482","targetId":"b-7cd4bfd37138bb70ec6a6482","page":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","operation":"move","beforeSHA256":"f15937bdd1119fc9277c041b3063eec75be1d0a09a4989d5a4fbef37ef3a39e0","afterSHA256":"f15937bdd1119fc9277c041b3063eec75be1d0a09a4989d5a4fbef37ef3a39e0","reason":"Same source body in authored semantic page"},{"oldId":"b-2ba703bcf70dc965ca0ce84e","targetId":"b-2ba703bcf70dc965ca0ce84e","page":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","operation":"rewrite","beforeSHA256":"67abdb08d3187471fabb2f9178163b84abee309d9e4f11c8b1771f4f8a17fc4e","afterSHA256":"7a8d290a65e4e359e04b93dec0d43553dbd6a23ba3466ce8b45e4b65e51a6fc5","reason":"Same source identity with figure semantics or reading context enriched"},{"oldId":"b-e6c737d2316af74437f1c952","targetId":"b-e6c737d2316af74437f1c952","page":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","operation":"move","beforeSHA256":"6ff17f1d47b03f1f09e1c8c52c7fa654e293eea9f0a9a7730efc5b3f41ef0570","afterSHA256":"0d09c0929f7463b7fb5587e669a333829c54a7623d18ddac135c134f60f6bc16","reason":"Same source body in authored semantic page"},{"oldId":"b-3bf5926a7f7d5abed0b07446","targetId":"b-3bf5926a7f7d5abed0b07446","page":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","operation":"move","beforeSHA256":"1624e3e44b2577fd7227dd5f167648253af761d7274545efd3370b217f876565","afterSHA256":"1624e3e44b2577fd7227dd5f167648253af761d7274545efd3370b217f876565","reason":"Same source body in authored semantic page"},{"oldId":"b-6c08af5089274896c21414a2","targetId":"b-6c08af5089274896c21414a2","page":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","operation":"move","beforeSHA256":"c20fd798e709a4d2a57a308d47b2a298fe3860a15a8c43ee8d0ad07d313890a6","afterSHA256":"c20fd798e709a4d2a57a308d47b2a298fe3860a15a8c43ee8d0ad07d313890a6","reason":"Same source body in authored semantic page"},{"oldId":"b-998c7692a47734739e3abaee","targetId":"b-998c7692a47734739e3abaee","page":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","operation":"move","beforeSHA256":"77e72c82a85eed826bad3c37be4f3698bf1a208c8fe4ea8b010784313ec03256","afterSHA256":"77e72c82a85eed826bad3c37be4f3698bf1a208c8fe4ea8b010784313ec03256","reason":"Same source body in authored semantic page"},{"oldId":"b-3ea537faa050f34f3e10a62d","targetId":"b-3ea537faa050f34f3e10a62d","page":"reading-block-22efa2ceff4046f99dd3adcb0bf68d7f","operation":"move","beforeSHA256":"c537c08cba52299d23aac42e00dc2494bb965241406c3865ae68f348419c6cfc","afterSHA256":"c537c08cba52299d23aac42e00dc2494bb965241406c3865ae68f348419c6cfc","reason":"Same source body in authored semantic page"},{"oldId":"b-8570465c808379f45d052581","targetId":"b-8570465c808379f45d052581","page":"reading-block-22efa2ceff4046f99dd3adcb0bf68d7f","operation":"move","beforeSHA256":"977a7b56f50df0ae01df26c8871ff887a3bca8c4c8cf72eb2e003f434affd394","afterSHA256":"977a7b56f50df0ae01df26c8871ff887a3bca8c4c8cf72eb2e003f434affd394","reason":"Same source body in authored semantic page"},{"oldId":"b-d5432712c6c23780a0538947","targetId":"b-d5432712c6c23780a0538947","page":"reading-block-22efa2ceff4046f99dd3adcb0bf68d7f","operation":"move","beforeSHA256":"d152aff971321b1dacc172ea4f2371e477b1ada151fc5d658097e65b4c879d39","afterSHA256":"d152aff971321b1dacc172ea4f2371e477b1ada151fc5d658097e65b4c879d39","reason":"Same source body in authored semantic page"},{"oldId":"b-68af5909441b8a3d2d53e09e","targetId":"b-68af5909441b8a3d2d53e09e","page":"reading-block-22efa2ceff4046f99dd3adcb0bf68d7f","operation":"move","beforeSHA256":"870eb88739121d3a2362982fd6c27d1723549b87b6d7dab7d7a92e40193c4873","afterSHA256":"870eb88739121d3a2362982fd6c27d1723549b87b6d7dab7d7a92e40193c4873","reason":"Same source body in authored semantic page"},{"oldId":"block-8f2a75d5421a4f9386da35d111cf6d81--1-让错误暴露而不是把错误当正确示范","targetId":"b-f570d2eea78c39c94f349c61","operation":"retain-source-identity"},{"oldId":"block-f54c13d8a9cf4b2680078719d51b539c--2-同一个底图上做干预","targetId":"b-d96e9eb42e87b520a67547fb","operation":"retain-source-identity"},{"oldId":"block-18bfe17db1da4cbebc970b56a164ebbb--3-正确分解目标参照物和关系","targetId":"b-7cbf888a27d17601acdb0279","operation":"retain-source-identity"},{"oldId":"block-125c5bb8ba834aa8940b9d4ec03b9325--4-根据实际输出解释每次条件变化","targetId":"b-7cd4bfd37138bb70ec6a6482","operation":"retain-source-identity"},{"oldId":"block-22efa2ceff4046f99dd3adcb0bf68d7f--5-真实-grounding-模型的证据入口与本册边界","targetId":"b-3ea537faa050f34f3e10a62d","operation":"retain-source-identity"}],"blocks":[{"id":"b-62d78a6d2ea0bf6a0f4b02e0","type":"h1","scope":"document","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-62d78a6d2ea0bf6a0f4b02e0","content":"# LAB 15 · 语言指代小练习：目标、参照与关系","sha256":"bc9779e0777cb91a5c2f054d84a2e44ef586add7e23ba5630b9b8d8e40e48d24","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-opening","title":"LAB 15 · 语言指代小练习：目标、参照与关系","number":1},"sectionTitle":"LAB 15 · 语言指代小练习：目标、参照与关系","currentQuestion":"LAB 15 · 语言指代小练习：目标、参照与关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-33d0c4caaea323ba403534cb","prerequisites":[{"id":"b-33d0c4caaea323ba403534cb","url":"#b-33d0c4caaea323ba403534cb","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-33d0c4caaea323ba403534cb","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-33d0c4caaea323ba403534cb","content":"按问题继续","sha256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-opening","title":"LAB 15 · 语言指代小练习：目标、参照与关系","number":1},"sectionTitle":"LAB 15 · 语言指代小练习：目标、参照与关系","currentQuestion":"LAB 15 · 语言指代小练习：目标、参照与关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-62d78a6d2ea0bf6a0f4b02e0","nextBlock":"b-def9c6c73f2b533b32eaf79c","prerequisites":[{"id":"b-62d78a6d2ea0bf6a0f4b02e0","url":"#b-62d78a6d2ea0bf6a0f4b02e0","role":"section-title"}],"relatedBlocks":[]},{"id":"b-def9c6c73f2b533b32eaf79c","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-def9c6c73f2b533b32eaf79c","content":"RGB规则提框、错误关键词基线、目标/参照/关系与干预","sha256":"3f002b87ee5d2038f92b49a8b54826e9b65444b765dddaea38342c0fba3e3d3b","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-opening","title":"LAB 15 · 语言指代小练习：目标、参照与关系","number":1},"sectionTitle":"LAB 15 · 语言指代小练习：目标、参照与关系","currentQuestion":"LAB 15 · 语言指代小练习：目标、参照与关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-33d0c4caaea323ba403534cb","nextBlock":"b-a3fcfd39e266628010a2084f","prerequisites":[{"id":"b-62d78a6d2ea0bf6a0f4b02e0","url":"#b-62d78a6d2ea0bf6a0f4b02e0","role":"section-title"},{"id":"b-33d0c4caaea323ba403534cb","url":"#b-33d0c4caaea323ba403534cb","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-a3fcfd39e266628010a2084f","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-a3fcfd39e266628010a2084f","content":"可先阅读已有结果，再决定是否运行。重算时请核对各节记录的数据、参数、环境与日期。","sha256":"f22152fd55dcdb0090b5653d37145694fd19388d31e10226549464fe8b483578","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-opening","title":"LAB 15 · 语言指代小练习：目标、参照与关系","number":1},"sectionTitle":"LAB 15 · 语言指代小练习：目标、参照与关系","currentQuestion":"LAB 15 · 语言指代小练习：目标、参照与关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-def9c6c73f2b533b32eaf79c","nextBlock":"b-608e69f8a65393079669dcd7","prerequisites":[{"id":"b-62d78a6d2ea0bf6a0f4b02e0","url":"#b-62d78a6d2ea0bf6a0f4b02e0","role":"section-title"},{"id":"b-33d0c4caaea323ba403534cb","url":"#b-33d0c4caaea323ba403534cb","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-608e69f8a65393079669dcd7","type":"p","scope":"block-4f3041dad81141a18a042e43789736d0","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-608e69f8a65393079669dcd7","content":"**学习路径：** [一句话指向哪个对象](/course/study/grounding-interface.html)","sha256":"e18d8768430e774f92dc3916497d9d427a70355e977b362b9314ea60616fb0e1","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-opening","title":"LAB 15 · 语言指代小练习：目标、参照与关系","number":1},"sectionTitle":"LAB 15 · 语言指代小练习：目标、参照与关系","currentQuestion":"LAB 15 · 语言指代小练习：目标、参照与关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-a3fcfd39e266628010a2084f","nextBlock":"b-9c10b7effb7cad5b40937955","prerequisites":[{"id":"b-62d78a6d2ea0bf6a0f4b02e0","url":"#b-62d78a6d2ea0bf6a0f4b02e0","role":"section-title"},{"id":"b-33d0c4caaea323ba403534cb","url":"#b-33d0c4caaea323ba403534cb","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-9c10b7effb7cad5b40937955","type":"p","scope":"block-4f3041dad81141a18a042e43789736d0","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-9c10b7effb7cad5b40937955","content":"这是[CLS 11](https://deepnote.com/project/38755e4e-23f6-4f5f-8c68-8a2e4114b1c1/notebook/95169c3e298c4c819373bb4534f3dff9)的短机制练习：在“蓝杯左边的杯子”中，blue修饰参照物，目标却可能是红杯。先看[P63](/course/pages/l3-r2-p63.html)和[带坐标的分解](/course/blocks/grounding-target-reference-relation.html)。","sha256":"e048b83eb764b7e0a5af3626ba2f64ba23dd707eb067f22834e72b4d5cc5027d","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-opening","title":"LAB 15 · 语言指代小练习：目标、参照与关系","number":1},"sectionTitle":"LAB 15 · 语言指代小练习：目标、参照与关系","currentQuestion":"LAB 15 · 语言指代小练习：目标、参照与关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-608e69f8a65393079669dcd7","nextBlock":"b-84d4a3617808dab90fea876e","prerequisites":[{"id":"b-62d78a6d2ea0bf6a0f4b02e0","url":"#b-62d78a6d2ea0bf6a0f4b02e0","role":"section-title"},{"id":"b-33d0c4caaea323ba403534cb","url":"#b-33d0c4caaea323ba403534cb","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-84d4a3617808dab90fea876e","type":"p","scope":"block-4f3041dad81141a18a042e43789736d0","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-84d4a3617808dab90fea876e","content":"依次读关键词失败、RGB候选框、目标/参照/关系和四个干预输出。颜色阈值与有限词表是明确规则，没有训练GLIP或GroundingDINO；规则练习的价值是每一步都能对应到像素、坐标和输出。","sha256":"0c392105c76e8e193bfc072792d652a086ba3b755a1bdeb727eda1276025c1a0","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-opening","title":"LAB 15 · 语言指代小练习：目标、参照与关系","number":1},"sectionTitle":"LAB 15 · 语言指代小练习：目标、参照与关系","currentQuestion":"LAB 15 · 语言指代小练习：目标、参照与关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-9c10b7effb7cad5b40937955","nextBlock":"b-1fb396928592eb74a815883f","prerequisites":[{"id":"b-62d78a6d2ea0bf6a0f4b02e0","url":"#b-62d78a6d2ea0bf6a0f4b02e0","role":"section-title"},{"id":"b-33d0c4caaea323ba403534cb","url":"#b-33d0c4caaea323ba403534cb","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-1fb396928592eb74a815883f","type":"p","scope":"block-4f3041dad81141a18a042e43789736d0","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-1fb396928592eb74a815883f","content":"完成时给出原图、遮挡、颜色交换和换关系四种情况下的目标及原因，并解释何时应返回无唯一目标。代码按原顺序可独立运行，2026-09-22历史结果在[干预证据页](/course/blocks/grounding-pixel-interventions.html)。学习式开放定位仅在末尾保留一手入口，不当成已完成实验。","sha256":"a73edb805abdfacc33386cb30ad77c286c2074e8e1339ca88575997bd34f1f66","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-opening","title":"LAB 15 · 语言指代小练习：目标、参照与关系","number":1},"sectionTitle":"LAB 15 · 语言指代小练习：目标、参照与关系","currentQuestion":"LAB 15 · 语言指代小练习：目标、参照与关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-84d4a3617808dab90fea876e","nextBlock":"b-8ac18e4fb1a0fdd636970714","prerequisites":[{"id":"b-62d78a6d2ea0bf6a0f4b02e0","url":"#b-62d78a6d2ea0bf6a0f4b02e0","role":"section-title"},{"id":"b-33d0c4caaea323ba403534cb","url":"#b-33d0c4caaea323ba403534cb","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-8ac18e4fb1a0fdd636970714","type":"p","scope":"block-4f3041dad81141a18a042e43789736d0","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-8ac18e4fb1a0fdd636970714","content":"![像素干预与目标输出](/assets/display/969fa088b392b7fb8a846fb3.webp)","sha256":"89c8b16b5bed6b3125a50dc24385930ba9329c09bda3ea23159a63ec15a7e481","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-opening","title":"LAB 15 · 语言指代小练习：目标、参照与关系","number":1},"sectionTitle":"LAB 15 · 语言指代小练习：目标、参照与关系","currentQuestion":"LAB 15 · 语言指代小练习：目标、参照与关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-1fb396928592eb74a815883f","nextBlock":"b-6129f8ea02b4dfb524d8ad88","prerequisites":[{"id":"b-62d78a6d2ea0bf6a0f4b02e0","url":"#b-62d78a6d2ea0bf6a0f4b02e0","role":"section-title"},{"id":"b-33d0c4caaea323ba403534cb","url":"#b-33d0c4caaea323ba403534cb","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-6129f8ea02b4dfb524d8ad88","type":"p","scope":"block-4f3041dad81141a18a042e43789736d0","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-6129f8ea02b4dfb524d8ad88","content":"红色框线标目标角色，蓝色框线标参照物角色，框线颜色与物体填充颜色不同。图和输出来自2026-09-22保存运行，当前整理没有重跑。若要研究学习式开放定位，最后一节保留官方模型入口，但该模型的结果不能由当前规则实验代替。","sha256":"78164336f3fd029306b32a7b8045f3275eedf02942f7e9ca490c89d7647ea11a","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-opening","title":"LAB 15 · 语言指代小练习：目标、参照与关系","number":1},"sectionTitle":"LAB 15 · 语言指代小练习：目标、参照与关系","currentQuestion":"LAB 15 · 语言指代小练习：目标、参照与关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-8ac18e4fb1a0fdd636970714","nextBlock":null,"prerequisites":[{"id":"b-62d78a6d2ea0bf6a0f4b02e0","url":"#b-62d78a6d2ea0bf6a0f4b02e0","role":"section-title"},{"id":"b-33d0c4caaea323ba403534cb","url":"#b-33d0c4caaea323ba403534cb","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-f570d2eea78c39c94f349c61","type":"h2","scope":"block-8f2a75d5421a4f9386da35d111cf6d81","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-f570d2eea78c39c94f349c61","content":"## 1. 让错误暴露，而不是把错误当正确示范","sha256":"393c638acd0b5958a26219c2ad79e2c7da5c8b4fa59b8c0fef966815697e09e9","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-8f2a75d5421a4f9386da35d111cf6d81","title":"1. 让错误暴露，而不是把错误当正确示范","number":2},"sectionTitle":"1. 让错误暴露，而不是把错误当正确示范","currentQuestion":"1. 让错误暴露，而不是把错误当正确示范","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-01340e9bdec9b543c560e02d","prerequisites":[{"id":"b-01340e9bdec9b543c560e02d","url":"#b-01340e9bdec9b543c560e02d","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-01340e9bdec9b543c560e02d","type":"p","scope":"block-8f2a75d5421a4f9386da35d111cf6d81","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-01340e9bdec9b543c560e02d","content":"先完整运行旧规则。`red cup` 和 `blue cup` 可凭颜色命中；`cup left of blue cup` 却因为字符串含 blue 返回 right-blue。这里不是概率不够高，而是程序根本没有关系变量。最后的断言保留这一错误输出，是复现失败的断言，不是验收正确性。","sha256":"dbb9578862864faba2f72e4d7bbe161da744af0307c9de33ed668db02a75ec86","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-8f2a75d5421a4f9386da35d111cf6d81","title":"1. 让错误暴露，而不是把错误当正确示范","number":2},"sectionTitle":"1. 让错误暴露，而不是把错误当正确示范","currentQuestion":"1. 让错误暴露，而不是把错误当正确示范","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-f570d2eea78c39c94f349c61","nextBlock":"b-b4ddc6a71d57c0e58e2f1957","prerequisites":[{"id":"b-f570d2eea78c39c94f349c61","url":"#b-f570d2eea78c39c94f349c61","role":"section-title"}],"relatedBlocks":[]},{"id":"b-b4ddc6a71d57c0e58e2f1957","type":"p","scope":"block-8f2a75d5421a4f9386da35d111cf6d81","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-b4ddc6a71d57c0e58e2f1957","content":"本册依赖 NumPy、Pillow、Matplotlib；每格包含所需定义，按顺序在全新进程运行，无需 PyTorch、网络或别册数据。","sha256":"1d49d9dbb299d29ce4bea86e02ea78b4a41d9048c43aff212f53e4ac08b08dea","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-8f2a75d5421a4f9386da35d111cf6d81","title":"1. 让错误暴露，而不是把错误当正确示范","number":2},"sectionTitle":"1. 让错误暴露，而不是把错误当正确示范","currentQuestion":"1. 让错误暴露，而不是把错误当正确示范","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-01340e9bdec9b543c560e02d","nextBlock":"b-b4e6dc2e4ba2b2430307ade3","prerequisites":[{"id":"b-f570d2eea78c39c94f349c61","url":"#b-f570d2eea78c39c94f349c61","role":"section-title"},{"id":"b-01340e9bdec9b543c560e02d","url":"#b-01340e9bdec9b543c560e02d","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-b4e6dc2e4ba2b2430307ade3","type":"pre","scope":"block-56ecbeb770fc4539a3f66c6cf658820a","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-b4e6dc2e4ba2b2430307ade3","content":"```\n# Detached readonly runs write only to an isolated ephemeral directory.\nimport os, tempfile\n_LAB_WORKDIR = tempfile.mkdtemp(prefix=\"lecture03-lab15-\")\nos.chdir(_LAB_WORKDIR)\nprint(\"ephemeral workdir:\", _LAB_WORKDIR)\n\nfrom pathlib import Path\nimport json, hashlib, platform, sys\nfrom datetime import datetime, timezone\nimport numpy as np\nfrom PIL import Image, ImageDraw\nimport matplotlib\nif 'get_ipython' not in globals(): matplotlib.use('Agg')\nimport matplotlib.pyplot as plt\nfrom matplotlib.patches import Rectangle\nOUT=Path('outputs/lab15');OUT.mkdir(parents=True,exist_ok=True)\nPALETTE={'red':(214,55,55),'blue':(40,105,218),'brown':(146,95,53)}\nboxes=['left-red','right-blue','book']\ndef keyword_match(phrase):\n    if 'red' in phrase and 'left of' not in phrase:return boxes[0]\n    if 'blue' in phrase:return boxes[1]\n    return boxes[0]\nphrases=['red cup','blue cup','cup left of blue cup']\nfor p in phrases:print('historical keyword baseline:',p,'->',keyword_match(p))\nassert keyword_match(phrases[-1])=='right-blue' # This is the demonstrated ERROR.\n```","sha256":"29d1974b75143354c549506118c83d57ae7973c4a80518e01c852adc807e20a6","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-8f2a75d5421a4f9386da35d111cf6d81","title":"1. 让错误暴露，而不是把错误当正确示范","number":2},"sectionTitle":"1. 让错误暴露，而不是把错误当正确示范","currentQuestion":"1. 让错误暴露，而不是把错误当正确示范","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-b4ddc6a71d57c0e58e2f1957","nextBlock":null,"prerequisites":[{"id":"b-f570d2eea78c39c94f349c61","url":"#b-f570d2eea78c39c94f349c61","role":"section-title"},{"id":"b-01340e9bdec9b543c560e02d","url":"#b-01340e9bdec9b543c560e02d","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-d96e9eb42e87b520a67547fb","type":"h2","scope":"block-f54c13d8a9cf4b2680078719d51b539c","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-d96e9eb42e87b520a67547fb","content":"## 2. 同一个底图上做干预","sha256":"683c00b554e7fe37e0b4151cd89158a67651b63e48572cca734a2915294147b5","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-f54c13d8a9cf4b2680078719d51b539c","title":"2. 同一个底图上做干预","number":3},"sectionTitle":"2. 同一个底图上做干预","currentQuestion":"2. 同一个底图上做干预","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-e36247ee4da06ca9f5983c91","prerequisites":[{"id":"b-e36247ee4da06ca9f5983c91","url":"#b-e36247ee4da06ca9f5983c91","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-e36247ee4da06ca9f5983c91","type":"p","scope":"block-f54c13d8a9cf4b2680078719d51b539c","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-e36247ee4da06ca9f5983c91","content":"画布为 160×96 RGB 像素；左红杯、右蓝杯和棕色书的形状固定。我们保存三个真正的 PNG：原图、覆盖左杯的灰色遮挡图、仅交换红蓝像素值的图。遮挡不是在结果字典里删除 target，而是改变图像；颜色交换也不重新随机画一张场景。","sha256":"a1d89623a4de7d9ca6a9563c38688a32dc729467e7e149cf5e6261180a970f35","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-f54c13d8a9cf4b2680078719d51b539c","title":"2. 同一个底图上做干预","number":3},"sectionTitle":"2. 同一个底图上做干预","currentQuestion":"2. 同一个底图上做干预","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-d96e9eb42e87b520a67547fb","nextBlock":"b-6f73e5e32256cc1f114de251","prerequisites":[{"id":"b-d96e9eb42e87b520a67547fb","url":"#b-d96e9eb42e87b520a67547fb","role":"section-title"}],"relatedBlocks":[]},{"id":"b-6f73e5e32256cc1f114de251","type":"p","scope":"block-f54c13d8a9cf4b2680078719d51b539c","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-6f73e5e32256cc1f114de251","content":"代码断言干预区域之外的像素完全相等。颜色交换使蓝杯的身份从右侧移到左侧；它不改变轮廓、尺寸或背景。再在交换后的同一张图上将 left-of 改为 right-of，才构成只修改语言关系的第四个条件。","sha256":"9b1a952009b26959aa12b2c8b8b39cfc36954b326aa6ef01c45d5d3ead6d08ff","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-f54c13d8a9cf4b2680078719d51b539c","title":"2. 同一个底图上做干预","number":3},"sectionTitle":"2. 同一个底图上做干预","currentQuestion":"2. 同一个底图上做干预","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-e36247ee4da06ca9f5983c91","nextBlock":"b-7ca40e9c5b87a00c08c6da75","prerequisites":[{"id":"b-d96e9eb42e87b520a67547fb","url":"#b-d96e9eb42e87b520a67547fb","role":"section-title"},{"id":"b-e36247ee4da06ca9f5983c91","url":"#b-e36247ee4da06ca9f5983c91","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-7ca40e9c5b87a00c08c6da75","type":"pre","scope":"block-bbf14f2650fc44e3ad84f34d49cdb8ff","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-7ca40e9c5b87a00c08c6da75","content":"```\ndef scene():\n    img=Image.new('RGB',(160,96),(245,243,236));d=ImageDraw.Draw(img)\n    def cup(x,color):\n        d.rounded_rectangle((x+18,31,x+34,52),radius=7,outline=color,width=5)\n        d.rectangle((x,24,x+25,57),fill=color)\n        d.ellipse((x,19,x+25,29),fill=color)\n    cup(15,PALETTE['red']);cup(109,PALETTE['blue'])\n    d.rectangle((60,65,89,79),fill=PALETTE['brown'])\n    return np.array(img)\nbase=scene();occluded=base.copy();occlusion_mask=np.zeros(base.shape[:2],bool);occlusion_mask[16:62,11:53]=True\noccluded[occlusion_mask]=(115,118,123)\nswapped=base.copy();redmask=np.all(base==PALETTE['red'],axis=-1);bluemask=np.all(base==PALETTE['blue'],axis=-1)\nswapped[redmask]=PALETTE['blue'];swapped[bluemask]=PALETTE['red']\nassert np.array_equal(base[~occlusion_mask],occluded[~occlusion_mask])\nassert np.array_equal(base[~(redmask|bluemask)],swapped[~(redmask|bluemask)])\nfor label,arr in [('base',base),('target-occluded',occluded),('colors-exchanged',swapped)]:Image.fromarray(arr).save(OUT/('lab15-'+label+'.png'))\n```","sha256":"7349377186377b5a8d784c55551b08889624c79f65fed3885d6403b690af21bc","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-f54c13d8a9cf4b2680078719d51b539c","title":"2. 同一个底图上做干预","number":3},"sectionTitle":"2. 同一个底图上做干预","currentQuestion":"2. 同一个底图上做干预","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-6f73e5e32256cc1f114de251","nextBlock":null,"prerequisites":[{"id":"b-d96e9eb42e87b520a67547fb","url":"#b-d96e9eb42e87b520a67547fb","role":"section-title"},{"id":"b-e36247ee4da06ca9f5983c91","url":"#b-e36247ee4da06ca9f5983c91","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-7cbf888a27d17601acdb0279","type":"h2","scope":"block-18bfe17db1da4cbebc970b56a164ebbb","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-7cbf888a27d17601acdb0279","content":"## 3. 正确分解目标、参照物和关系","sha256":"9906f53330b51ec8829f51391c0051126b9694f998eb075fdf2057509561ea46","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-18bfe17db1da4cbebc970b56a164ebbb","title":"3. 正确分解目标、参照物和关系","number":4},"sectionTitle":"3. 正确分解目标、参照物和关系","currentQuestion":"3. 正确分解目标、参照物和关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-5a5e1bcfed560a5388b7f400","prerequisites":[{"id":"b-5a5e1bcfed560a5388b7f400","url":"#b-5a5e1bcfed560a5388b7f400","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-5a5e1bcfed560a5388b7f400","type":"p","scope":"block-18bfe17db1da4cbebc970b56a164ebbb","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-5a5e1bcfed560a5388b7f400","content":"像素规则先按预定义 RGB 原型距离阈值产生颜色 mask，再计算四连通区域和半开坐标框 $[x_1,y_1,x_2,y_2)$。原图左杯框为 `[15,19,50,58]`，中心 x=32.5；蓝色参照杯框为 `[109,19,144,58]`，中心 x=126.5。`left-of` 在此具体定义为中心横坐标严格小于，不暗示“整个框都在左侧”等其他关系语义。","sha256":"60392b0169b0f82c310581c11f4cd44f21acf98ff44b27a218b866b5ac576e17","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-18bfe17db1da4cbebc970b56a164ebbb","title":"3. 正确分解目标、参照物和关系","number":4},"sectionTitle":"3. 正确分解目标、参照物和关系","currentQuestion":"3. 正确分解目标、参照物和关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[{"latex":"[x_1,y_1,x_2,y_2)","definitionContext":"3. 正确分解目标、参照物和关系"}],"previousBlock":"b-7cbf888a27d17601acdb0279","nextBlock":"b-626a224dfedfd4adffb122b0","prerequisites":[{"id":"b-7cbf888a27d17601acdb0279","url":"#b-7cbf888a27d17601acdb0279","role":"section-title"}],"relatedBlocks":[]},{"id":"b-626a224dfedfd4adffb122b0","type":"p","scope":"block-18bfe17db1da4cbebc970b56a164ebbb","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-626a224dfedfd4adffb122b0","content":"解析 `cup left of blue cup` 得到 target category=cup、reference color=blue、relation=left。先找唯一蓝杯，再从其他 cup 候选中筛选满足关系者；书虽也位于蓝杯左边，但类别不是 cup。若参照物缺失或存在多个匹配，或者没有唯一可见目标，程序明确返回 `None`，不把蓝杯顶上去。","sha256":"7644bc49c21400e4ef322fdc0a7bbec2ba204119cd071cfeb5f9c983de9a430e","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-18bfe17db1da4cbebc970b56a164ebbb","title":"3. 正确分解目标、参照物和关系","number":4},"sectionTitle":"3. 正确分解目标、参照物和关系","currentQuestion":"3. 正确分解目标、参照物和关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-5a5e1bcfed560a5388b7f400","nextBlock":"b-7f80696dc745d7d1dd89079b","prerequisites":[{"id":"b-7cbf888a27d17601acdb0279","url":"#b-7cbf888a27d17601acdb0279","role":"section-title"},{"id":"b-5a5e1bcfed560a5388b7f400","url":"#b-5a5e1bcfed560a5388b7f400","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-7f80696dc745d7d1dd89079b","type":"p","scope":"block-18bfe17db1da4cbebc970b56a164ebbb","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-7f80696dc745d7d1dd89079b","content":"这里的视觉候选器也是规则：棕色被指定为 book，红/蓝被指定为 cup。它适合受控场景，不会识别任意颜色的真实杯子；可以观察到像素依赖，但不能把它写成“学会了视觉概念”。","sha256":"869dba01edfddcbe563754b781b4d246c30966733fb6cd4117d55bc896beea5b","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-18bfe17db1da4cbebc970b56a164ebbb","title":"3. 正确分解目标、参照物和关系","number":4},"sectionTitle":"3. 正确分解目标、参照物和关系","currentQuestion":"3. 正确分解目标、参照物和关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-626a224dfedfd4adffb122b0","nextBlock":"b-9fdc114fe082ead32feed8c5","prerequisites":[{"id":"b-7cbf888a27d17601acdb0279","url":"#b-7cbf888a27d17601acdb0279","role":"section-title"},{"id":"b-5a5e1bcfed560a5388b7f400","url":"#b-5a5e1bcfed560a5388b7f400","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-9fdc114fe082ead32feed8c5","type":"pre","scope":"block-3be3345fe62d47d99d64a1e4491c6f03","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-9fdc114fe082ead32feed8c5","content":"```\ndef connected_components(mask):\n    seen=np.zeros(mask.shape,bool);components=[]\n    for y,x in zip(*np.where(mask)):\n        if seen[y,x]:continue\n        stack=[(int(y),int(x))];seen[y,x]=True;points=[]\n        while stack:\n            yy,xx=stack.pop();points.append((yy,xx))\n            for dy,dx in [(1,0),(-1,0),(0,1),(0,-1)]:\n                ny,nx=yy+dy,xx+dx\n                if 0<=ny<mask.shape[0] and 0<=nx<mask.shape[1] and mask[ny,nx] and not seen[ny,nx]:\n                    seen[ny,nx]=True;stack.append((ny,nx))\n        if len(points)>=30:\n            yy,xx=np.array(points).T\n            components.append([int(xx.min()),int(yy.min()),int(xx.max()+1),int(yy.max()+1)])\n    return components\n\ndef pixel_candidates(rgb):\n    candidates=[]\n    for color,value in PALETTE.items():\n        distance=np.linalg.norm(rgb.astype(float)-np.array(value),axis=-1)\n        for box in connected_components(distance<20):\n            candidates.append({'color':color,'category':'book' if color=='brown' else 'cup','box':box,'center_x':(box[0]+box[2])/2})\n    return candidates\n\ndef ground(rgb,phrase):\n    objects=pixel_candidates(rgb)\n    if ' left of ' in phrase or ' right of ' in phrase:\n        relation='left' if ' left of ' in phrase else 'right'\n        target_noun,reference_phrase=phrase.split(' '+relation+' of ')\n        ref_color=reference_phrase.split()[0]\n        refs=[o for o in objects if o['category']=='cup' and o['color']==ref_color]\n        if len(refs)!=1:return {'status':'reference missing/ambiguous','target':None,'reference':None,'candidates':objects}\n        ref=refs[0]\n        possible=[o for o in objects if o['category']==target_noun and o is not ref and ((o['center_x']<ref['center_x']) if relation=='left' else (o['center_x']>ref['center_x']))]\n        return {'status':'unique target' if len(possible)==1 else 'no unique visible target','target':possible[0] if len(possible)==1 else None,'reference':ref,'relation':relation,'candidates':objects}\n    color,noun=phrase.split();found=[o for o in objects if o['color']==color and o['category']==noun]\n    return {'status':'unique target' if len(found)==1 else 'no unique visible target','target':found[0] if len(found)==1 else None,'reference':None,'candidates':objects}\n\ncases=[('base',base,'cup left of blue cup'),('target occluded',occluded,'cup left of blue cup'),('colors exchanged',swapped,'cup left of blue cup'),('relation changed',swapped,'cup right of blue cup')]\nresults=[]\nfor condition,pixels,phrase in cases:\n    row={'condition':condition,'phrase':phrase,**ground(pixels,phrase)};results.append(row)\n    print(condition,phrase,'->',row['status'],'target',row['target'],'reference',row['reference'])\nassert results[0]['target']['color']=='red'\nassert results[0]['reference']['color']=='blue'\nassert results[0]['target']['box']==[15,19,50,58]\nassert results[1]['target'] is None\nassert results[2]['target'] is None\nassert results[3]['target']['color']=='red' and results[3]['target']['box'][0]==109\n```","sha256":"da4d4a83d781cb386c45ead04ad69f033fd35c902386687cd848b0291345c0f9","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-18bfe17db1da4cbebc970b56a164ebbb","title":"3. 正确分解目标、参照物和关系","number":4},"sectionTitle":"3. 正确分解目标、参照物和关系","currentQuestion":"3. 正确分解目标、参照物和关系","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-7f80696dc745d7d1dd89079b","nextBlock":null,"prerequisites":[{"id":"b-7cbf888a27d17601acdb0279","url":"#b-7cbf888a27d17601acdb0279","role":"section-title"},{"id":"b-5a5e1bcfed560a5388b7f400","url":"#b-5a5e1bcfed560a5388b7f400","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-7cd4bfd37138bb70ec6a6482","type":"h2","scope":"block-125c5bb8ba834aa8940b9d4ec03b9325","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-7cd4bfd37138bb70ec6a6482","content":"## 4. 根据实际输出解释每次条件变化","sha256":"f15937bdd1119fc9277c041b3063eec75be1d0a09a4989d5a4fbef37ef3a39e0","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","title":"4. 根据实际输出解释每次条件变化","number":5},"sectionTitle":"4. 根据实际输出解释每次条件变化","currentQuestion":"4. 根据实际输出解释每次条件变化","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-2ba703bcf70dc965ca0ce84e","prerequisites":[{"id":"b-e6c737d2316af74437f1c952","url":"#b-e6c737d2316af74437f1c952","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-2ba703bcf70dc965ca0ce84e","type":"table","scope":"block-125c5bb8ba834aa8940b9d4ec03b9325","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-2ba703bcf70dc965ca0ce84e","content":"| 条件 | 参照物中心 x | 目标输出 | 原因 |\n| --- | --- | --- | --- |\n| 原图，left-of blue cup | 126.5 | 左红杯 `[15,19,50,58]` | cup 且 32.5 < 126.5 |\n| 同短语，遮住左杯 | 126.5 | 无唯一可见目标 | 目标像素不再可见 |\n| 交换红蓝颜色，仍问 left-of | 32.5 | 无唯一可见目标 | 蓝参照物已在最左 |\n| 同交换图，改问 right-of | 32.5 | 右红杯 `[109,19,144,58]` | cup 且 126.5 > 32.5 |","sha256":"7a8d290a65e4e359e04b93dec0d43553dbd6a23ba3466ce8b45e4b65e51a6fc5","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","title":"4. 根据实际输出解释每次条件变化","number":5},"sectionTitle":"4. 根据实际输出解释每次条件变化","currentQuestion":"4. 根据实际输出解释每次条件变化","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"table":{"headers":["条件","参照物中心 x","目标输出","原因"],"rows":[["条件","参照物中心 x","目标输出","原因"],["原图，left-of blue cup","126.5","左红杯 [15,19,50,58]","cup 且 32.5 < 126.5"],["同短语，遮住左杯","126.5","无唯一可见目标","目标像素不再可见"],["交换红蓝颜色，仍问 left-of","32.5","无唯一可见目标","蓝参照物已在最左"],["同交换图，改问 right-of","32.5","右红杯 [109,19,144,58]","cup 且 126.5 > 32.5"]]},"previousBlock":"b-7cd4bfd37138bb70ec6a6482","nextBlock":"b-e6c737d2316af74437f1c952","prerequisites":[{"id":"b-7cd4bfd37138bb70ec6a6482","url":"#b-7cd4bfd37138bb70ec6a6482","role":"section-title"},{"id":"b-e6c737d2316af74437f1c952","url":"#b-e6c737d2316af74437f1c952","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-e6c737d2316af74437f1c952","type":"p","scope":"block-125c5bb8ba834aa8940b9d4ec03b9325","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-e6c737d2316af74437f1c952","content":"![两项干预与原图的像素差异图](/assets/display/991b6f1e9793fd586df0f08e.webp)","sha256":"0d09c0929f7463b7fb5587e669a333829c54a7623d18ddac135c134f60f6bc16","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","title":"4. 根据实际输出解释每次条件变化","number":5},"sectionTitle":"4. 根据实际输出解释每次条件变化","currentQuestion":"4. 根据实际输出解释每次条件变化","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-2ba703bcf70dc965ca0ce84e","nextBlock":"b-3bf5926a7f7d5abed0b07446","prerequisites":[{"id":"b-7cd4bfd37138bb70ec6a6482","url":"#b-7cd4bfd37138bb70ec6a6482","role":"section-title"}],"relatedBlocks":[]},{"id":"b-3bf5926a7f7d5abed0b07446","type":"p","scope":"block-125c5bb8ba834aa8940b9d4ec03b9325","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-3bf5926a7f7d5abed0b07446","content":"遮挡图只能证明本规则没有看见目标，不证明物理世界中杯子已不存在，更不是遮挡后的完整形状恢复。若希望系统根据上下文推断被遮物，需要另行定义任务、数据与评价。本册不把“不知道”替换为看似确定的框。","sha256":"1624e3e44b2577fd7227dd5f167648253af761d7274545efd3370b217f876565","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","title":"4. 根据实际输出解释每次条件变化","number":5},"sectionTitle":"4. 根据实际输出解释每次条件变化","currentQuestion":"4. 根据实际输出解释每次条件变化","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-e6c737d2316af74437f1c952","nextBlock":"b-6c08af5089274896c21414a2","prerequisites":[{"id":"b-7cd4bfd37138bb70ec6a6482","url":"#b-7cd4bfd37138bb70ec6a6482","role":"section-title"},{"id":"b-e6c737d2316af74437f1c952","url":"#b-e6c737d2316af74437f1c952","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-6c08af5089274896c21414a2","type":"p","scope":"block-125c5bb8ba834aa8940b9d4ec03b9325","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-6c08af5089274896c21414a2","content":"可改条件：把书也改成蓝色，会暴露“颜色等于类别”的规则假设；把两个蓝杯都画出来，会触发参照物歧义。先预测每一处应该返回框还是拒答，再修改图像观察。","sha256":"c20fd798e709a4d2a57a308d47b2a298fe3860a15a8c43ee8d0ad07d313890a6","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","title":"4. 根据实际输出解释每次条件变化","number":5},"sectionTitle":"4. 根据实际输出解释每次条件变化","currentQuestion":"4. 根据实际输出解释每次条件变化","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-3bf5926a7f7d5abed0b07446","nextBlock":"b-998c7692a47734739e3abaee","prerequisites":[{"id":"b-7cd4bfd37138bb70ec6a6482","url":"#b-7cd4bfd37138bb70ec6a6482","role":"section-title"},{"id":"b-e6c737d2316af74437f1c952","url":"#b-e6c737d2316af74437f1c952","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-998c7692a47734739e3abaee","type":"pre","scope":"block-e73e270ed0de4f8cb1e775057ca0b1bf","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-998c7692a47734739e3abaee","content":"```\nfig,axes=plt.subplots(2,2,figsize=(11,7))\nfor ax,(condition,pixels,phrase),row in zip(axes.flat,cases,results):\n    ax.imshow(pixels)\n    for role,color in [('target','#c93636'),('reference','#2a5ed0')]:\n        obj=row.get(role)\n        if obj:\n            x1,y1,x2,y2=obj['box'];ax.add_patch(Rectangle((x1,y1),x2-x1,y2-y1,fill=False,ec=color,lw=2.5));ax.text(x1,y1-3,role,color=color,fontsize=10,weight='bold')\n    ax.set(xlim=(0,160),ylim=(96,0),xlabel='x (pixels)',ylabel='y (pixels)')\n    ax.set_title(condition+'\\n'+phrase+'\\n'+row['status'],fontsize=11)\nfig.suptitle('LAB15: image pixels -> candidate boxes -> explicit relation rules',fontsize=14)\nfig.tight_layout();fig.savefig(OUT/'lab15-grounding-interventions.png',dpi=160);plt.show();plt.close(fig)\nfig,axes=plt.subplots(1,2,figsize=(8,3))\nfor ax,edited,title in [(axes[0],occluded,'Only target region covered'),(axes[1],swapped,'Only cup colors exchanged')]:\n    changed=np.any(base!=edited,axis=-1);ax.imshow(changed,cmap='gray',vmin=0,vmax=1);ax.set_title(title+'\\nchanged pixels: '+str(int(changed.sum())),fontsize=10);ax.axis('off')\nfig.tight_layout();fig.savefig(OUT/'lab15-pixel-differences.png',dpi=160);plt.show();plt.close(fig)\nreport={'notebook_id':'7dc83786d067465aa76264475db2c62d','execution':'local fresh Python process; deterministic rules; no neural pretrained inference','created_utc':datetime.now(timezone.utc).isoformat(),'environment':{'python':sys.version,'numpy':np.__version__,'platform':platform.platform()},'coordinate_convention':'xyxy half-open pixels; relation compares horizontal box centers; category cup only','baseline_error':{'phrase':phrases[-1],'keyword_output':'right-blue','correct_target':'left red cup','failure':'blue modifies the reference, not the target'},'results':results,'pixel_changes':{'occlusion':int(np.any(base!=occluded,axis=-1).sum()),'color_exchange':int(np.any(base!=swapped,axis=-1).sum())},'pretrained_grounding_status':'not run; official GroundingDINO implementation and evidence linked in notebook','input_sha256':{p.name:hashlib.sha256(p.read_bytes()).hexdigest() for p in sorted(OUT.glob('lab15-*.png')) if p.name in ['lab15-base.png','lab15-target-occluded.png','lab15-colors-exchanged.png']}}\n(OUT/'lab15-results.json').write_text(json.dumps(report,indent=2));print('saved',OUT)\n```","sha256":"77e72c82a85eed826bad3c37be4f3698bf1a208c8fe4ea8b010784313ec03256","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-125c5bb8ba834aa8940b9d4ec03b9325","title":"4. 根据实际输出解释每次条件变化","number":5},"sectionTitle":"4. 根据实际输出解释每次条件变化","currentQuestion":"4. 根据实际输出解释每次条件变化","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-6c08af5089274896c21414a2","nextBlock":null,"prerequisites":[{"id":"b-7cd4bfd37138bb70ec6a6482","url":"#b-7cd4bfd37138bb70ec6a6482","role":"section-title"},{"id":"b-e6c737d2316af74437f1c952","url":"#b-e6c737d2316af74437f1c952","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-3ea537faa050f34f3e10a62d","type":"h2","scope":"block-22efa2ceff4046f99dd3adcb0bf68d7f","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-3ea537faa050f34f3e10a62d","content":"## 5. 真实 grounding 模型的证据入口与本册边界","sha256":"c537c08cba52299d23aac42e00dc2494bb965241406c3865ae68f348419c6cfc","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-22efa2ceff4046f99dd3adcb0bf68d7f","title":"5. 真实 grounding 模型的证据入口与本册边界","number":6},"sectionTitle":"5. 真实 grounding 模型的证据入口与本册边界","currentQuestion":"5. 真实 grounding 模型的证据入口与本册边界","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-8570465c808379f45d052581","prerequisites":[{"id":"b-8570465c808379f45d052581","url":"#b-8570465c808379f45d052581","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-8570465c808379f45d052581","type":"p","scope":"block-22efa2ceff4046f99dd3adcb0bf68d7f","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-8570465c808379f45d052581","content":"[Grounding DINO 官方仓库](https://github.com/IDEA-Research/GroundingDINO) 提供模型结构、预训练 checkpoint、图像+文本推理代码、阈值与可视化；[论文作者原文](https://arxiv.org/abs/2303.05499) 给出方法与评价。这是已核验的一手实现入口，本册没有运行该权重，不将官方示例写成本次成绩，也不假设它必然正确解析任意空间关系。","sha256":"977a7b56f50df0ae01df26c8871ff887a3bca8c4c8cf72eb2e003f434affd394","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-22efa2ceff4046f99dd3adcb0bf68d7f","title":"5. 真实 grounding 模型的证据入口与本册边界","number":6},"sectionTitle":"5. 真实 grounding 模型的证据入口与本册边界","currentQuestion":"5. 真实 grounding 模型的证据入口与本册边界","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-3ea537faa050f34f3e10a62d","nextBlock":"b-d5432712c6c23780a0538947","prerequisites":[{"id":"b-3ea537faa050f34f3e10a62d","url":"#b-3ea537faa050f34f3e10a62d","role":"section-title"}],"relatedBlocks":[]},{"id":"b-d5432712c6c23780a0538947","type":"p","scope":"block-22efa2ceff4046f99dd3adcb0bf68d7f","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-d5432712c6c23780a0538947","content":"官方 Python 示例的核心路径是 `load_model → load_image → predict → annotate`。`predict` 接收真正图像和文本，默认输出候选框及词级匹配分数；box threshold 和 text threshold 会影响保留框与短语。若后续运行，应固定 `GroundingDINO_SwinT_OGC.py`、`groundingdino_swint_ogc.pth`、输入 PNG、文本、两个阈值和设备，保存原始 boxes/logits/phrases 及模型权重哈希，再在本册的同图干预上比较。原图、遮挡图与颜色交换图已经生成在 `outputs/lab15/`，无需另找输入。","sha256":"d152aff971321b1dacc172ea4f2371e477b1ada151fc5d658097e65b4c879d39","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-22efa2ceff4046f99dd3adcb0bf68d7f","title":"5. 真实 grounding 模型的证据入口与本册边界","number":6},"sectionTitle":"5. 真实 grounding 模型的证据入口与本册边界","currentQuestion":"5. 真实 grounding 模型的证据入口与本册边界","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-8570465c808379f45d052581","nextBlock":"b-68af5909441b8a3d2d53e09e","prerequisites":[{"id":"b-3ea537faa050f34f3e10a62d","url":"#b-3ea537faa050f34f3e10a62d","role":"section-title"},{"id":"b-8570465c808379f45d052581","url":"#b-8570465c808379f45d052581","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-68af5909441b8a3d2d53e09e","type":"p","scope":"block-22efa2ceff4046f99dd3adcb0bf68d7f","url":"https://codingai-lec03.pages.dev/course/lab15-语言指代区域.html#b-68af5909441b8a3d2d53e09e","content":"**本次已完成：** 关键词失败复现、可见像素候选、关系角色与坐标、四个真实条件输出、干预区域不变量检查。**本次未完成：** 预训练 grounding 权重下载与推理、开放词汇或真实照片评测。`lab15-results.json` 保留这个状态，不把外部入口当成已运行模型。","sha256":"870eb88739121d3a2362982fd6c27d1723549b87b6d7dab7d7a92e40193c4873","chapter":{"id":"course","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"unit":{"id":"lab15-语言指代区域","title":"LAB 15 · 语言指代小练习：目标、参照与关系"},"page":{"id":"reading-block-22efa2ceff4046f99dd3adcb0bf68d7f","title":"5. 真实 grounding 模型的证据入口与本册边界","number":6},"sectionTitle":"5. 真实 grounding 模型的证据入口与本册边界","currentQuestion":"5. 真实 grounding 模型的证据入口与本册边界","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-d5432712c6c23780a0538947","nextBlock":null,"prerequisites":[{"id":"b-3ea537faa050f34f3e10a62d","url":"#b-3ea537faa050f34f3e10a62d","role":"section-title"},{"id":"b-8570465c808379f45d052581","url":"#b-8570465c808379f45d052581","role":"problem-context"}],"relatedBlocks":[]}]}
