由于是从大模型蒸馏来的,这个袖珍模型的性能还是相当不错的,准确率非常高。
那个设备因为敏感性太高,连onnx这样的部署方式都被禁用了。
那时,王栋只好用c语言重新写了一个运行该网络模型的程序,甚至为了保证可靠性,该程序还是在甲方指定的编译器上编译完成的。
为了节省内存资源,王栋直接就把模型参数写在程序里了,当时他是一个参数一个参数敲进去的。
在死亡虚空时,大脑当时拼命找东西回忆,由于这段程序还足够新鲜,他就每一个字符都回忆了一遍。
结果就是,现在这个程序就在他脑子里,能被完完整整地复现出来。
这就为解决偏差角估计的问题提供了可能,先通过这个模型检测到目标物体,然后再估算它与子弹之间的距离。
估计距离反倒是个免费操作,很容易就实现了。
王栋设定了一个校准间隔时间。
在每个校准时刻,都可以获得三个距离,上一时刻子弹与目标间的距离,本时刻子弹与目标间的距离,以及自上一时刻后目标移动的距离。
根据这三个距离就能计算出偏差角。
当然,王栋现在不是要在计算机中复现那段目标检测的代码,而是要通过自己的思维活动,将其嵌入到触发操作之中去。
这确实很难。
首先是不能有一点点错误,所有的数据和逻辑都不能想错。
由于不能调试,所以哪怕错了一个小数点,一次小运算,之前所做的一切就都白做了,只能全部重来。
其次,他并不是把程序直接搬过来,净土操作系统可没有c语言编译器,王栋要搬的是那个程序的实现逻辑。
他得事先想清楚,对特定的程序逻辑,在大脑中要用什么样的思维逻辑来代替。
将思维逻辑转换成程序逻辑的事情他做得多了,这还是头一次进行反向操作,好在这并不困难,就是得多花一些时间去适应。
此外,从系统中获取的目标物图像的分辨率非常高,比目标检测模型支持的分辨率高得多,所以还得降采样,这个也不难,王栋尝试了一次就成功了。
最后,子弹偏转也是一个很麻烦问题,超过三度就要付费。
这个,可以通过把校准间隔时间设定的非常小来解决,间隔时间越短,子弹与目标间的偏差就越小,只要始终保持在3度以内,就能利用免费的角度偏转操作了。
有了切实可行的方案,王栋困意全消,全身心地投入到工作中。
当天开始蒙蒙亮时,所有的准备工作都已完成,终于到了进行测试的时刻。
为此,他先召唤出一个移动靶来。
做微冲项目时,这种移动靶他见得多了,它能以各种速度按各种轨迹进行高速移动。
王栋轻轻抚摸着手中被召唤来的微型冲锋枪,心下惴惴不安,这个设定过程太过复杂,他也不敢保证自己没犯任何错误。
他深吸了口气,启动了移动靶。
扣动了扳机后,他不停地移动枪口去追踪靶心。
打完上千发子弹后,他停止了射击,也停下了移动靶,走近定睛细看。
靶身上,只在红心的正中心处有唯一的一个弹孔。
上千发子弹经过角度校正,都精准地打击在那个位置上了。
他成功了!!
现在,他终于拥有了一把威力巨大的武器。
巨大的兴奋如潮水般涌来,又退去,王栋便倒头呼呼大睡起来。