顶点小说网 > 重生学神有系统 > 第329章 抛弃框架,从零开始造轮子
    随着靳雪雯的讲解,江寒对战神一号的基本结构,很快就有了初步的了解。

    接下来就该研究一下,如何改进它的能,提升战斗力了。

    “这是什么传感器?”江寒指着一个小机关。

    靳雪雯看了一眼:“这是碰撞传感器。”

    “这一颗呢?”

    “红外线传感器。”

    ……

    江寒一个个询问过去。

    很快,他就看到了一个小洞洞,表面微微凸起。

    江寒仔细看了看:“这里好像是个摄像头?”

    靳雪雯点了点头:“这叫二维视觉传感器,其实就是一颗摄像头。”

    江寒思索了一下,问:“通过这个东西,战神一号就可以‘看’到目标了吧?”

    靳雪雯说:“对的,但因为是二维画面,不太容易判断出距离远近,具体工作过程是这样的……”

    江寒用心倾听,同时拿出纸和笔,列了几个式子,写写算算起来。

    “战神一号”最大的问题,是攻击移动目标时,击精度太差。

    敌机距离太远,子弹就会发生滞后的现象;敌机距离太近时,又会胡乱“抢拍”。

    之所以会有这样的表现,归根结底是因为预测算法有bug。

    要想彻底解决这个问题,还是要从根本处入手。

    事实上,对于实弹击来说,无论数据处理速度多快,都必须对目标的移动轨迹做预测。

    否则的话,子弹只会追在敌人的股后面,永远打不中。

    很简单,当你经过计算、出子弹时,敌机早就不在原来的位置上了。

    “战神一号”定位敌机时,主要使用超声波传感器,限于硬件精度,效果不算很理想。

    所以靳雪雯还通过摄像头,采集到实时图像,以进行辅助定位。

    但她在图像处理时,使用了官方提供的图像识别框架。

    说实话,官方出品的这个编程框架,稳定真的不错,但效率方面就没法期待了。

    虽然靳雪雯在noip中表现不俗,编程功力相当不错,但想要甩掉框架,从0开始自己造轮子,还是力有不逮的。

    此外,她在处理图像数据时,对于深度的处理,得也有问题。

    靳雪雯毕竟才初三,无论信息学还是数学,都还缺乏了一点底蕴。

    能做到现在这样,已经相当不错了,还真没法苛责她什么。

    根据靳雪雯的说法,“战神一号”的反应阈值是0.2秒。

    也就是说,从发现目标、确认敌机方位,到经过计算,调整自角度、发出子弹,至少需要0.2秒的时间。

    但这并不是说,其机载计算机的数据处理速度,只能达到每秒5帧。

    真要是那样的话,类比成电脑游戏的画面表现,这已经卡成ppt了……

    由于图像处理技术的限制,“战神一号”每秒只能处理大约10帧画面。

    这个速率其实不算很慢,基本上达到了参赛机器人的平均水准。

    但在瞬息万变的战场上,这样的信息处理速度,自然是无法让人满意的。

    关于如何改进“战神一号”,江寒很快就有了思路。

    如何通过摄像头,算出与敌机的相对距离?

    最容易想到的,就是安装第二颗摄像头,形成三维视觉,然后用立体成像算法,把数据放到三维空间中处理。

    但这种算法比较复杂,且需要反复测试,调整参数。

    这需要大量时间,可明天就要参赛了,可能会有点来不及。

    那么还有没有别的办法呢?

    其实是有的。

    靳雪雯编写的控制程序,其图像处理部分,在通过像素信息计算深度时,存在相当大的误差,对角度的判断也有一点小问题。

    这是导致预测失败的根本原因。

    只要对目前的图像识别算法,做出一些改进和优化,使其能正确计算深度和角度,就能正确预测敌机的行动了。

    同时还要尽量提高数据处理的效率。

    当帧率超过10以上,就能极大缓解各种由于延迟导致的问题,超过20,眼就看不出卡顿,如果帧率超过30……

    江寒算得认真,靳雪雯就一直聚精会神地看着他的侧脸。

    不知怎么的,脸上就了起来,小心脏也跳得更加欢快了。

    唔,果然认真工作的男人,才是最有魅力的吗?

    靳雪雯默默地想着。

    就在这时,江寒嘴角微微勾起,忽然抬头看了她一眼:“战神一号的主控代码,你有备份吧?”

    靳雪雯正沉迷着,闻言顿时一惊:“啊?”

    慢了不止一拍,才反应了过来,慌忙点了点头:“哦!”

    然后定了定神,说:“有的,有好几个版本。”

    江寒洒然一笑:“很好,那我就在目前版本的基础上,试着改进、优化一下,看看效果怎么样。”

    靳雪雯连连点头:“好的!”

    江寒想了想,又说:“不过,你这个机器人的编程环境,我也不是很熟悉……”

    沉吟了一下,说:“要不这样吧,咱们合作一下,我来改进算法,你负责编写代码,怎么样?”

    靳雪雯兴奋点头:“太好了,就这么办!”

    随后,她就拿出改锥和镊子等工具,拆起了“战神一号”的外壳。

    江寒看她笨手笨脚的样子,不由得微微一笑:“行了,交给我吧,你去准备好编程环境就行了。”

    靳雪雯只要讪讪地一笑,将工具交给江寒,然后摆弄自己带来的笔记本电脑去了。

    江寒将战车腹板拆下,从中取下了它的数据处理核心。

    这是一块卡片计算机,名为“神机w-2012”,在同类产品中,能算得上可圈可点。

    靳雪雯一边忙活,一边给江寒介绍。

    “神机”的峰值功耗为8w,搭载了一块pu,拥有独立的rom,还带有接口。

    其运算速度还是相当过得去的。

    跟高配的台式机、笔记本电脑相比,可能略有不及;但与配置一般的智能手机、平板电脑相比,已经差不了多少了。

    只是再多的计算资源,也得合理运用,才能发挥出应有的效能。

    江寒将“神机”拆下来后,交给了靳雪雯。

    随后,小丫头用usb线,将“神机”连到了笔记本电脑上。

    开发专用的ide也已经准备就绪了。

    江寒开始在纸面上设计算法,并让靳雪雯修改相应的代码。

    首先要做的,是调整摄像头工作时的分辨率。

    “战神一号”搭载的这颗摄像头,一共支持三种分辨率:x。

    清晰度越高,获得的图像质量自然越好,但处理起来也就越慢。

    因此,江寒一上来就让靳雪雯将摄像头的工作模式,调整到了。

    然后通过调整曝光时间,以及矫正gamma值等手段,获得更好的图像质量。

    接下来,就是第一个关键点:机体识别算法。

    靳雪雯在自己编写的程序中,使用了官方的图像识别框架,实现了在采集到的图像中,匹配机体外壳上的特征图案。

    江寒看了一下框架的源代码,就知道这个东西能不用最好不用。

    这个框架复杂而且臃肿,效能十分低下。

    唯一的优点就是易学易用,即使是初中生,也可以只用几个月的时间掌握它。

    但现在既然追求极限的效率,那就必须抛弃它,从零开始造轮子!

    江寒提出了这一点,靳雪雯却犯了愁:“从头写底层……那太难了吧?一晚上的时间,只怕不太够啊。”

    江寒微微一笑,平静地说:“这个模块我来写吧,等下你再把它整合到主程序里。”

    顿了顿:“当然,平台相关的部分,还有涉及到硬件cāo)作的地方,你得随时给我指点,不然我还得时不时去翻官方的白皮书。”

    靳雪雯欣然应,将笔记本电脑推到了江寒面前。

    江寒开始工作。

    图像识别算法的改进方案,早就在江寒的脑海中了。

    实战时用来检测碰撞的“皮肤”上,集成了一些用来显示血量等信息的led灯。

    用来检测和判定敌机,无疑是比较适合的。

    首先由于led是发光的,那么就可以调低曝光,以屏蔽环境光干扰;

    再二值化处理一下,图像中除了led部分,就都变成了黑色……

    预处理做得好,在后续步骤中,可以大大降低计算量。

    至于如何识别图像中的机体……

    江寒的第一个念头,就是各种人工神经网络算法。

    运用深度学习技术,对输入图像进行识别,输出所属类别和定位信息……

    看起来的确相当有可行。

    但江寒稍微深入一想,就知道这个办法只是看起来很美,在比赛中很可能行不通。