侠客书屋 通过搜索各大小说站为您自动抓取各类小说的最快更新供您阅读!

要想利用“人工神经网络”处理图像识别问题,需要事先收集到大量的数据。

可是仓促之间,上哪去弄数据?

倒是可以给“战神一号”拍一些“写真”,来充当训练集,反正所有的参赛机器人,外形都差不多。

这样做倒也不是不行,但时间太仓促了,数据的量级达不到要求,训练效果应该不会太好。

而且,就算拼着一夜不睡,东拼西凑出一点训练数据,也很可能来不及训练了。

训练“人工神经网络”,毕竟是一件比较消耗时间的事情。

而现在最大的问题,就是缺少时间,明天就要正式上场了的说……

何况,“人工神经网络”的优势在于通用性和准确率,在特定问题上的识别速度,还真不见得能比得上精心优化过的“笨办法”。

所以江寒仔细思考了一番之后,还是决定采用“几何形状匹配”的思路来做图像识别。

这种办法的优点是识别速度比较快,更容易获得高帧率。

编程的复杂度可能稍微高了一点,但这对江寒来说,并不是什么太大的问题。

他先新建一个.CPP文件,以及对应的.h头文件,然后创建一个新的类,用于容纳自己的图像识别算法。

接下来就可以正式编码了。

江寒一边思考,一边编写代码,靳雪雯在一边安静地看着。

两人偶尔也交流一两句,讨论一下编程思路、函数的功能之类的问题。

“江寒哥哥,这几个语句是做什么用的啊?”

“这个是图像预处理,按照自定义的阈值,将每个像素二值化……”

“那江寒哥哥,这个函数呢?我有点看不懂……”

“哦,这个叫膨胀处理,可以让图像的轮廓更加明显……”

……

二十多分钟后,江寒搞定了图像预处理的相关代码。

这部分要做的事情很简单,就是将摄像头拍到的图像,先处理成灰度图,然后二值化,只留下LED灯部分。

接下来,要在图像中遍历像素、寻找LED灯的轮廓。

这是整个算法中计算量最大的部分。

好在江寒对图片的预处理,做得相当到位,将这一步所消耗的时间,基本上压缩到了极限。

找到LED灯后,下面的事情就简单了,遍历轮廓、提取LED灯,再匹配筛选、找到机体轮廓,然后就可以锁定目标攻击了。

在做机体轮廓分析时,江寒考虑了一下,使用了模板匹配技术。

这样一来,就进一步减少了运算量,节省了时间。

到了这里,目标识别就基本完成了。

接下来,就可以测算目标的方位和距离了。

这一步涉及到图片坐标系与大地坐标系之间的换算,算法复杂度相当高。

但江寒岂是欺软怕硬的人呢?

只要舍得脑力全开,肯定是搞得定的。

然而,这样又有一个新问题,可别不等完成编码,大脑的能量就消耗殆尽了。

那种空虚乏味的感觉,可是相当难受的……

所以江寒想了想,就笑眯眯地说:“小蚊子,可以拜托你一件事吗?”

靳雪雯精神一振,摩拳擦掌地说:“江寒哥哥,快说、快说,是什么事?”

自己闲了这么久,总算可以派上点儿用场了……

江寒微微一笑,说:“帮我打个电话给前台,要点宵夜。”

“没问题!”靳雪雯脆生生地答应了一声。

然后拿出手机,喜滋滋地问:“江寒哥哥,你想吃什么呀?”

“冰岛红极参,问问哪里有,然后让前台帮忙订做两盘,送到大厅来。”

“好的。”靳雪雯立即拨号。

江寒想了想,又补充说:“口味随便,红烧、清蒸无所谓……哦,对了,让他们把点餐的钱加到我账单里。”

靳雪雯一摆手:“不用,你教我改程序,我还不知道怎么感谢呢!

再说咱们战队刚刚成立,本队长请吃个宵夜,也是应该的吧?”

江寒呵呵一笑:“小蚊子啊,你可能不太清楚,这种地方,一条红极参只怕得7、8百块。”

靳雪雯嘻嘻一笑:“没事,让爸爸买单就行了,他赚钱就是给我和妈妈花的嘛。”

江寒:“……”

有点无言以对的感觉。

眼前这一只,莫非就是传说中的富萝莉?

毕竟有句话说得好,十个萝莉九个富,还有一个……

靳雪雯很快安排完宵夜,然后继续看江寒编程。

江寒接下来就开始编写目标测算模块。

靳雪雯原本使用的办法,是直接用像素坐标来计算旋转角度。

这样做倒也不是一定不行,但比较麻烦,而且效果也不会太好。

这是因为像素坐标差与角度之间,并不是线性关系,必须根据像素的坐标,随时矫正换算比例,才能得到一个不很精确的近似值。

江寒思考了一下,根据“小孔成像”的原理,设计了一个简单而又巧妙的算法,通过像素坐标算出了正确的转角。

想要从图像数据中得到物理世界的坐标,需要先标定摄像头,从而得到摄像头的内参。

这一步可以使用OpenCV中的标定工具来做。

标定完摄像头后,就能得到摄像头的内参矩阵和畸变参数。

根据这两组参数,对像素值的坐标进行矫正,然后就可以通过反三角函数,来计算出需要的角度了。

写完算法之后,江寒又设计了一个小实验,对其进行了验证。

实验结果表明,这个算法完全OK,准确率和速度都优于靳雪雯原来的算法。

但这种算法也有一个相当明显的缺陷,由于缺失了深度信息,因此无法对坐标系进行变换操作。

这样一来,就只能得到相对于摄像头中心的转角……

那么如何解决深度的问题,得到三维坐标呢?

江寒又设计了一种算法,通过求解PNP问题,来得到敌我双方在真实空间中的坐标偏移。

PNP问题,就是PerspectiveN-PointProblem。

江寒对这个算法不是十分熟悉,只知道可以用来处理空间定位问题。

所以,他先去网上找了几篇文献,仔细浏览,理解了原理之后,才开始编写自己的代码。

首先标定摄像头,得到相机的内参矩阵和畸变参数,然后测量物体的尺寸,得到物体在世界坐标系中的坐标。

接下来,从图像中得到机体的像素坐标,然后通过SolvePnP函数计算出平移向量,对坐标进行平移操作。

最后再修正一下y轴和z轴的坐标,就可以通过反三角函数,计算出所需要的角度值了。

这种算法可以得到物体在三维空间中的坐标,缺点是需要计算四个点,而第一种算法,利用小孔成像的原理,只需要计算一个点就够了。

两种办法各有优缺点,可以分情况,灵活运用。

当目标距离十分遥远时,就用“小孔成像法”计算角度;距离合适的时候,则不妨切换成PNP法……

这样一来,就能兼顾效率与精准了。

破费!

最后还有一件事,那就是目标动作预测。

这是一个相当困难的问题,但也是一个非常重要的问题。

预测做得好不好,直接决定了子弹的命中率。

如果不做预测,当敌方车辆不断移动时,瞄准点将总是滞后于敌机的实际位置。

这当然是不可接受的。

所以必须做,而且还要尽可能地做到完美!

侠客书屋推荐阅读:师娘我真不想下山啊苏麟夏冰语不是,我真是正人君子啊玺爷,少夫人又去爆马甲了局中前行幸运来临:彩票中了五千万好莱坞的亿万富豪九十九度甜婚毒医农女:田园太子妃陆总,你老婆又上热搜了!都市极品龙医军旅:普通连队?请叫我特种部队海棠春令人震惊就变强宦海官途重生之商界大亨彪悍王爷傲娇妃逍遥仙医我身边的美少女们格外反常超常发挥考上重点高中与校花同班周末夫妻兽世萌宠:男神兽夫乖乖哒仙王您回仙界吧我在火影创造克苏鲁神豪从十倍增益开始狭间守望神级护花高手四合院:农场主的美好生活上门龙婿:我的傻白甜老婆四栖大神养成记曾经是兵绑定国运:职业饲养员,守护夏国超弦空间都市之最强修真奶爸回家继承亿万家产十一月的雨,我遇见你开局一艘船,沉了重生国民女神:冷少宠妻宠上天大明文青修仙实录三国之西州制霸超神:我在机战世界抢礼包开局一只猫,收获人生巅峰长生:从吃软饭开始都市医仙转世痞子英雄王者战婿清穿皇妃:皇上,求不撩震惊,异世界我来去自如年代鉴宝左读心右鉴宝掌天下珍玩他一个超神级召唤师,你惹他干嘛山村透视兵王
侠客书屋搜藏榜:海棠春将军与我一世约大夏剑术,谁主沉浮雄起,我洗鞋子养你说好的流氓,结果成了热芭的老公重生之爱妻入局清穿之锦玉无双重生毒妃有点邪我混烘焙圈的红楼之我不是林妹妹蜜婚甜宠之娇妻在上我的超级神豪养成系统极品驭灵师重启2006无上小神农姬刃暴猿王让你来加速中上班,你抓哭白露?大国之巨匠靳先生你老婆又婚了将嫡重生:渣男的成长史总裁深度爱重生后成了反派的挂件修真至尊在都市穿成团宠后她暴富了超市空间:穿越年代嫁糙汉都市:我开局成了富二代反派第一爵婚:深夜溺宠令人震惊就变强交换灵魂,这个校花不太冷[古穿今]将军的娱乐生活从海贼开始贩卖宝可梦窈窕宦官我用一百块挑战环球旅行你我无人天降神宝在七零宦海官途过气偶像大翻身顾先生的逆袭萌妻易得志的青春我!活了5000年!我有一座解忧屋穿到现代以后她躺赢了逆天奇缘:富贵的爱恨情仇废才狂妃:我家王爷太妖孽桃花源签到一个月,被向往曝光了四合院我的卑劣人生睁眼就高考,我模拟出千万人生穿越电影位面
侠客书屋最新小说:给世界带来一点乐子在梦中疯狂捞钱皆可修仙东京:太太,我可是正经巫女完美人生还是日常?纳尼?相亲对象竟然是我大债主?灵气复苏开局无敌的我只想当保安诸神来犯,我在现代重演神话抗战:我的司令官之路灯芯界谍战:我能用不同的身份搞暗杀无疆异世之异能世界才18岁!你就速通了高武?留声岁月解释不清了:每次斩神都有我穿越卡牌世界,我成了女寝楼管无敌一分购:从屌丝到超级神豪全球都市传说录:神秘与超自然我得到了一个系统乡村荒唐往事蛊惑四蛊带着婚书出岛,豪门老婆急慌了游戏主播的盗墓传奇终极一班:重生成雷克斯别猜了,你们都是我的卧底乡村里的女人蓝星娱二代的觉醒之路阴阳茅术消失三年,青梅校花疯狂倒追我神明复苏,我被元始天尊内定了?校园绝品医王反派:开局青梅试探我,一把戳穿你这召唤师!批量召唤大罗金仙?后台很硬王大叔的幸福情缘意识进化:摸鱼创造神级文明艾尔登法环,恋爱模拟?人人都在贷款修仙?我偏不!高层之塔笑疯了!我怪物眷属全是巨龙高武:从加点开始成为宇宙最强风水少年,命途奇旅2012就有系统,随便赚钱剑御九霄:昆仑秘境传黑佬大重生小警察,系统急了赘婿被嫌弃,哪知他体内住着神仙亮剑:做人得有追求啊!绝世神婿仙道续缘:这次好好爱她现实唯唯诺诺,异界我重拳出击