奇书网

字:
关灯 护眼
奇书网 > 重生学神有系统 > 第329章 抛弃框架,从零开始造轮子

第329章 抛弃框架,从零开始造轮子

    随着靳雪雯的讲解,江寒对战神一号的基本结构,很快就有了初步的了解。


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


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


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


    “这一颗呢?”


    “红外线传感器。”


    ……


    江寒一个个询问过去。


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


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


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


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


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


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


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


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


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


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


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


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


    ——当己方机器人经过计算、射出子弹时,敌机早就不在原来的位置上了。


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


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


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


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


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


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


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


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


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


    也就是说,从发现目标、确认敌机方位,到经过计算,调整自身姿态,然后发射出子弹,这一系列操作至少需要0.2秒的时间。


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


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


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


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


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


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


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


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


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


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


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


    其实是有的。


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


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


    只要对目前的图像识别算法,做出一些改进和优化,使其能正确计算深度(距离)和角度,就能在预测敌机的行动时,大大提高成功率了。


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


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


    江寒算得十分认真。


    靳雪雯聚精会神地偷看着他的侧脸。


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


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


    靳雪雯默默地想着。


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


    “神机”的峰值功耗为8w,搭载了一块1.0ghz的armcpu,拥有独立的gpu、2gram、128grom,还带有wifi和usb接口。


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


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


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


    江寒将“神机”拆下来之后,交给了靳雪雯,让她用usb线连到笔记本上。


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


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


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


    “战神一号”搭载的这颗摄像头,一共支持三种分辨率:640x320、1280x720、1920x1080。


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


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


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


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


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


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


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


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


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


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


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


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


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


    江寒开始工作。


    图像识别算法的改进方案,他早就在脑海中打好腹稿了。


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


    利用这些led灯,来检测和判定敌机,无疑是比较适合的。


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


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


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


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


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


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


    看起来的确相当有可行性。


    但江寒稍微深入一想,就知道这个办法只是看起来很美,在比赛中很可能行不通。
『加入书签,方便阅读』
内容有问题?点击>>>邮件反馈
热门推荐
斗破苍穹 甲申天变 可笑,我走后,你连皇位都坐不稳 大奉打更人 记忆曝光:我被直播审判,全华夏泪崩了 牧者密续