if self.use_reproj_opt and c > self.conf_range[0]:
p = j2dc[:, 2]#获取置信度
# optimize x, y
ax = (p / j[:, 2].pow(2)).sum() + self.smooth
bx = (p * (- j[:, 0] / j[:, 2].pow(2) + j2dc[:, 0] / j[:, 2])).sum()
ay = (p / j[:, 2].pow(2)).sum() + self.smooth
by = (p * (- j[:, 1] / j[:, 2].pow(2) + j2dc[:, 1] / j[:, 2])).sum()
d_tran = torch.tensor([bx / ax, by / ay, 0]).to(device)
tran = tran + d_tran
# optimize z
j = j + d_tran#这里已经更新了bx和by
az = (p * (j[:, 0].pow(2) + j[:, 1].pow(2)) / j[:, 2].pow(4)).sum() + self.smooth
bz = (p * ((j[:, 0] / j[:, 2] - j2dc[:, 0]) * j[:, 0] / j[:, 2].pow(2) + (
j[:, 1] / j[:, 2] - j2dc[:, 1]) * j[:, 1] / j[:, 2].pow(2))).sum()
d_tran = torch.tensor([0, 0, bz / az]).to(device)
请问在上述代码中az和bz的计算依据是什么
![image](https://private-user-images.githubusercontent.com/145415806/273421180-631bb797-588b-41fc-879c-eb6afaa008c4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwNzc2OTAsIm5iZiI6MTcyMjA3NzM5MCwicGF0aCI6Ii8xNDU0MTU4MDYvMjczNDIxMTgwLTYzMWJiNzk3LTU4OGItNDFmYy04NzljLWViNmFmYWEwMDhjNC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QxMDQ5NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03ZTUzZjdlZTMxZWJlOTIzMjUwMDc4YmIzZTYxNDMxYmNiZmFhMjk1ZmZiMTQ4MjA4MWNkMTQ4MmYwNGU1MTliJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.edIU-9qpz8Kl_3-5IGx4aNeoCd7Od7-LoPJY-uW00wQ)
我的式子是正确的嘛,我无法推导出az和bz