爱小说

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

小说:重生学神有系统 作者:一碗酸梅汤 更新时间:2020-02-24 20:15
爱小说(www.ixs.cc)开通手机站了,手机用户可以登录 m.ixs.cc 进行阅读,效果更好哦!
  随着靳雪雯的讲解,江寒对战神一号的基本结构,很快就有了初步的了解。
  接下来就该研究一下,如何改进它的性能,提升战斗力了。
  “这是什么传感器?”江寒指着一个小机关。
  靳雪雯看了一眼:“这是碰撞传感器。”
  “这一颗呢?”
  “红外线传感器。”
  ……
  江寒一个个询问过去。
  很快,他就看到了一个小洞洞,表面微微凸起。
  江寒仔细看了看:“这里好像是个摄像头?”
  靳雪雯点了点头:“这叫二维视觉传感器,其实就是一颗摄像头。”
  江寒思索了一下,问:“通过这个东西,战神一号就可以‘看’到目标了吧?”
  靳雪雯说:“对的,但因为是二维画面,不太容易判断出距离远近,具体工作过程是这样的……”
  江寒用心倾听,同时拿出纸和笔,列了几个式子,写写算算起来。
  “战神一号”最大的问题,是攻击移动目标时,射击精度太差。
  敌机距离太远,子弹就会发生滞后的现象;敌机距离太近时,又会胡乱“抢拍”。
  之所以会有这样的表现,归根结底是因为预测算法有BUG。
  要想彻底解决这个问题,还是要从根本处入手。
  事实上,对于实弹射击来说,无论数据处理速度多快,都必须对目标的移动轨迹做预测。
  否则的话,子弹只会追在敌人的屁股后面,永远打不中。
  很简单,当你经过计算、射出子弹时,敌机早就不在原来的位置上了。
  “战神一号”定位敌机时,主要使用超声波传感器,限于硬件精度,效果不算很理想。
  所以靳雪雯还通过摄像头,采集到实时图像,以进行辅助定位。
  但她在图像处理时,使用了官方提供的图像识别框架。
  说实话,官方出品的这个编程框架,稳定性真的不错,但效率方面就没法期待了。
  虽然靳雪雯在NOIP中表现不俗,编程功力相当不错,但想要甩掉框架,从0开始自己造轮子,还是力有不逮的。
  此外,她在处理图像数据时,对于深度的处理,得也有问题。
  靳雪雯毕竟才初三,无论信息学还是数学,都还缺乏了一点底蕴。
  能做到现在这样,已经相当不错了,还真没法苛责她什么。
  根据靳雪雯的说法,“战神一号”的反应阈值是0.2秒。
  也就是说,从发现目标、确认敌机方位,到经过计算,调整自身角度、发射出子弹,至少需要0.2秒的时间。
  但这并不是说,其机载计算机的数据处理速度,只能达到每秒5帧。
  真要是那样的话,类比成电脑游戏的画面表现,这已经卡成PPT了……
  由于图像处理技术的限制,“战神一号”每秒只能处理大约10帧画面。
  这个速率其实不算很慢,基本上达到了参赛机器人的平均水准。
  但在瞬息万变的战场上,这样的信息处理速度,自然是无法让人满意的。
  关于如何改进“战神一号”,江寒很快就有了思路。
  如何通过摄像头,算出与敌机的相对距离?
  最容易想到的,就是安装第二颗摄像头,形成三维视觉,然后用立体成像算法,把数据放到三维空间中处理。
  但这种算法比较复杂,且需要反复测试,调整参数。
  这需要大量时间,可明天就要参赛了,可能会有点来不及。
  那么还有没有别的办法呢?
  其实是有的。
  靳雪雯编写的控制程序,其图像处理部分,在通过像素信息计算深度时,存在相当大的误差,对角度的判断也有一点小问题。
  这是导致预测失败的根本原因。
  只要对目前的图像识别算法,做出一些改进和优化,使其能正确计算深度和角度,就能正确预测敌机的行动了。
  同时还要尽量提高数据处理的效率。
  当帧率超过10以上,就能极大缓解各种由于延迟导致的问题,超过20,肉眼就看不出卡顿,如果帧率超过30……
  江寒算得认真,靳雪雯就一直聚精会神地看着他的侧脸。
  不知怎么的,脸上就热了起来,小心脏也跳得更加欢快了。
  唔,果然认真工作的男人,才是最有魅力的吗?
  靳雪雯默默地想着。
  就在这时,江寒嘴角微微勾起,忽然抬头看了她一眼:“战神一号的主控代码,你有备份吧?”
  靳雪雯正沉迷着,闻言顿时一惊:“啊?”
  慢了不止一拍,才反应了过来,慌忙点了点头:“哦!”
  然后定了定神,说:“有的,有好几个版本。”
  江寒洒然一笑:“很好,那我就在目前版本的基础上,试着改进、优化一下,看看效果怎么样。”
  靳雪雯连连点头:“好的!”
  江寒想了想,又说:“不过,你这个机器人的编程环境,我也不是很熟悉……”
  沉吟了一下,说:“要不这样吧,咱们合作一下,我来改进算法,你负责编写代码,怎么样?”
  靳雪雯兴奋点头:“太好了,就这么办!”
  随后,她就拿出改锥和镊子等工具,拆起了“战神一号”的外壳。
  江寒看她笨手笨脚的样子,不由得微微一笑:“行了,交给我吧,你去准备好编程环境就行了。”
  靳雪雯只要讪讪地一笑,将工具交给江寒,然后摆弄自己带来的笔记本电脑去了。
  江寒将战车腹板拆下,从中取下了它的数据处理核心。
  这是一块卡片计算机,名为“神机w-2012”,在同类产品中,性能算得上可圈可点。
  靳雪雯一边忙活,一边给江寒介绍。
  “神机”的峰值功耗为8W,搭载了一块1.0GHz的ARMCPU,拥有独立的GPU、2GRAM、128GROM,还带有WIFI和USB接口。
  其运算速度还是相当过得去的。
  跟高配的台式机、笔记本电脑相比,可能略有不及;但与配置一般的智能手机、平板电脑相比,已经差不了多少了。
  只是再多的计算资源,也得合理运用,才能发挥出应有的效能。
  江寒将“神机”拆下来后,交给了靳雪雯。
  随后,小丫头用USB线,将“神机”连到了笔记本电脑上。
  开发专用的IDE也已经准备就绪了。
  江寒开始在纸面上设计算法,并让靳雪雯修改相应的代码。
  首先要做的,是调整摄像头工作时的分辨率。
  “战神一号”搭载的这颗摄像头,一共支持三种分辨率:640×320、1280×720、1920×1080。
  清晰度越高,获得的图像质量自然越好,但处理起来也就越慢。
  因此,江寒一上来就让靳雪雯将摄像头的工作模式,调整到了640×320。
  然后通过调整曝光时间,以及矫正Gamma值等手段,获得更好的图像质量。
  接下来,就是第一个关键点:机体识别算法。
  靳雪雯在自己编写的程序中,使用了官方的图像识别框架,实现了在采集到的图像中,匹配机体外壳上的特征图案。
  江寒看了一下框架的源代码,就知道这个东西能不用最好不用。
  这个框架复杂而且臃肿,效能十分低下。
  唯一的优点就是易学易用,即使是初中生,也可以只用几个月的时间掌握它。
  但现在既然追求极限的效率,那就必须抛弃它,从零开始造轮子!
  江寒提出了这一点,靳雪雯却犯了愁:“从头写底层……那太难了吧?一晚上的时间,只怕不太够啊。”
  江寒微微一笑,平静地说:“这个模块我来写吧,等下你再把它整合到主程序里。”
  顿了顿:“当然,平台相关的部分,还有涉及到硬件操作的地方,你得随时给我指点,不然我还得时不时去翻官方的白皮书。”
  靳雪雯欣然应允,将笔记本电脑推到了江寒面前。
  江寒开始工作。
  图像识别算法的改进方案,早就在江寒的脑海中了。
  实战时用来检测碰撞的“皮肤”上,集成了一些用来显示血量等信息的LED灯。
  用来检测和判定敌机,无疑是比较适合的。
  首先由于LED是发光的,那么就可以调低曝光,以屏蔽环境光干扰;
  再二值化处理一下,图像中除了LED部分,就都变成了黑色……
  预处理做得好,在后续步骤中,可以大大降低计算量。
  至于如何识别图像中的机体……
  江寒的第一个念头,就是各种人工神经网络算法。
  运用深度学习技术,对输入图像进行识别,输出所属类别和定位信息……
  看起来的确相当有可行性。
  但江寒稍微深入一想,就知道这个办法只是看起来很美,在比赛中很可能行不通。
爱小说WWW.IXS.CC努力创造无弹窗阅读环境,大家喜欢就按 Ctrl+D 加下收藏吧,有你们的支持,让我们走得更远!
可以使用回车、←→快捷键阅读