点击查看微信稿件原文
点击上方蓝字关注 Ingress Beijing
这篇文章将介绍 IFSolverR 对于匹配到的图片是如何生成网格、检测错误识别并排版生成最后的输出的。
先前说到,IFSolverR 对所有的图片进行匹配并得到了一份映射坐标列表,而最后输出需要的数据显然应该是一个矩阵 ,使得对于行 i 和 列 j:
那么,怎么确定搜索到的坐标位于哪一列呢?这个时候就需要请出 KMeans 聚类算法了。
这是一个非常简单的一维聚类问题,用 KMeans 实际上u 有一些小题大作,简而言之目的是让划分到 k 个集合的方案 中,每个集合内的平方和误差最小,即:
显然,我们能根据肉眼判断出图片有几列,因此通过此种方法得出结果这不成问题。
然而,在某些情况下,由于先前的匹配过程依然可能存在漏网之鱼,有下列两种情况:
-
有同一张照片的不同部分被识别为了相同的结果。
-
有同一张照片的不同部分被识别为了不同的结果。
例如上图中的 421 被识别了两次。
对于第一种情况,完全可以无视,因为它并不影响最终的结果生成,而对于第二种情况,可能达到了算法的极限,需要人工判断,这个时候就需要提示人工介入了。
而判断它的条件非常暴力,只要发现两个识别结果的距离过近,就认为它们冲突了。
if (abs(imageCenters[idx][“y”] – imageCenters[idx + 1][“y”]) < 50)
and imageCenters[idx][“portalID”] != imageCenters[idx + 1][“portalID”]
而后的根据坐标生成图片的代码相比于先前的版本几乎没有更改,故不重复叙述。
到这里,IFSolverR 的全部内容就讲完了,大概除了官方彻底改变玩法,未来也不需要什么大的更新了。
Telegram – https://t.me/IngressBeijing
Twitter – @ingressbeijing
网站 – https://bjres.net
投稿后请及时联系我们,联系方式:
Telegram – @alexrowe
QQ – 350259971
Niantic Chat Group – YxR8TEU4
点击查看微信稿件原文
点击上方蓝字关注 Ingress Beijing
如题,猩猩又往商店里面放了免费道标。
上次可重复领取 5 次,这次可重复领取 20 次:
走过路过不要错过(爆仓了的除外)。
Telegram – https://t.me/IngressBeijing
Twitter – @ingressbeijing
网站 – https://bjres.net
投稿后请及时联系我们,联系方式:
Telegram – @alexrowe
QQ – 350259971
Niantic Chat Group – YxR8TEU4
点击查看微信稿件原文
点击上方蓝字关注 Ingress Beijing
昨天有“舅舅”表示,Pokemon Go 已经经由网易送审了。
https://weibo.com/ttarticle/p/show?id=2309404744330169680144
当然,他没有给出任何明确证据,就是有消息了。
根据我国法律法规,预计网易版本的 Pokemon Go 应该会独立运营,不知道是否会变成一代新的……
先不提国服版本的会变成啥样吧,除了遥遥无期的版号,网易还需要解决 Portal 引入、地图替换等等一系列问题呢。
大家就听个乐子就好啦,该咋咋地。。
Telegram – https://t.me/IngressBeijing
Twitter – @ingressbeijing
网站 – https://bjres.net
投稿后请及时联系我们,联系方式:
Telegram – @alexrowe
QQ – 350259971
Niantic Chat Group – YxR8TEU4
点击查看微信稿件原文
点击上方蓝字关注 Ingress Beijing
本次活动中猩猩将在全球范围内选择活动高的 Portal (比如大佬刷 AP 的顶点)作为指定的活动 Portal。
在此期间参与 10 个 Battle Beacon 的战斗可获得获得牌子(如果你 1、2 月还没拿到,可以累计 1、2 月参加的数目)。
猩猩上的官方战斗 Beacon 得分是玩家的 5 倍。
比赛结束后猩猩还会公布总分、蓝军总分、绿军总分、蓝军最大优势比率及绿军最大优势比率的 Cell。
另,活动期间有 2019 Victoria 牌子的道具包出售,价格还是 30800 CMU。
Telegram – https://t.me/IngressBeijing
Twitter – @ingressbeijing
网站 – https://bjres.net
投稿后请及时联系我们,联系方式:
Telegram – @alexrowe
QQ – 350259971
Niantic Chat Group – YxR8TEU4
点击查看微信稿件原文
点击上方蓝字关注 Ingress Beijing
如题,藏的还挺深的,我们又没啥稿子……就水过今天吧。
有稿子的话别忘记投稿啊……
Telegram – https://t.me/IngressBeijing
Twitter – @ingressbeijing
网站 – https://bjres.net
投稿后请及时联系我们,联系方式:
Telegram – @alexrowe
QQ – 350259971
Niantic Chat Group – YxR8TEU4
点击查看微信稿件原文
点击上方蓝字关注 Ingress Beijing
在这篇文章里,将详细介绍 IFSolverR 是如何匹配特征的,这是本次更新中最核心的环节。
与先前的 IFSolver 不同,使用 SIFT 进行全图匹配一定会引入一些错误的特征点,如何判断某个匹配是否是符合要求的,以及如何处理图中存在的多个匹配,是本节需要关注的主要问题。
bestMatches = BFMatcher.matchDescriptor(d, dFull)
通过这样的过程,可以实现对 d(Portal 图片特征) 和 dFull(IFS 谜题全图特征) 的暴力匹配。
而 BFMatcher 里面是这样的:
matches = matcher.knnMatch(descriptor, descriptorFull, k=2)
bestMatches = [[m] for m, n in matches if m.distance < 0.6*n.distance]
通过测量,0.6 倍距离作为筛选边界是较为合适的,这会影响到检测到的特征点个数。
然而,这样产生的匹配很可能也存在不符合标准的状况。嘤为 SIFT 本身是一种匹配能力极强的算法,当遇到稍有相似但角度不同的 Portal 图片时,依然能够被识别出来并被认为是一个合理的匹配。
同时,我们需要做的并不只是匹配图片,还需要找到匹配区域的几何中心,即图片的中心点,以方便后续的自动化生成解谜结果。
但很显然,一次匹配是无法区分出所有的匹配图片,并进行筛选的,因此我们需要这样的操作:
-
通过映射关系,查找 Portal 图片在谜题图片上的边缘,这里就是对图片生成一个 3×3 的最优单映射变换矩阵(矫正矩阵) M,使得 。
-
然而,这样的矩阵并不一定存在,如果不存在这样的矩阵,说明这不是一个有效的组合。
-
排除以上情况后,可以通过 perspectiveTransform 和上述矩阵 M 确定变换后的边缘坐标。
-
同时,我们需要保证这样的坐标的长宽比符合要求,并且是一个凸多边形。
-
随后,我们对匹配的区域生成一个 mask,将上述匹配成功的区域内的特征点排除(logical_not)。
-
重复以上操作直至匹配到的特征点低于 4 个,此时我们不认为它们能确定一个映射,匹配过程结束。
然后程序也会存储一份特征匹配的图片以供参考和调试。
Telegram – https://t.me/IngressBeijing
Twitter – @ingressbeijing
网站 – https://bjres.net
投稿后请及时联系我们,联系方式:
Telegram – @alexrowe
QQ – 350259971
Niantic Chat Group – YxR8TEU4
点击查看微信稿件原文
点击上方蓝字关注 Ingress Beijing
猩猩一口气公布了 2022 年第二季度(既 4 月到 6 月)的所有活动安排,每个月第一个周六是 IngressFS,第二个周日是 Ingress2S,这个就不多说了,和现在一样,其他特殊活动如下:
-
3 月 24 日到 4 月 4 日:神秘活动,会有分级牌子(可能是塑料袋套头系列?)
-
4 月 16 到 17 日:Kythera 异常活动(战斗道标大战)
-
4 月 21 到 25 日:运动胶囊活动,将有新配方且所需的步行距离减少到 4 公里,这是最后一次你拿到运动胶囊分级牌子的机会(参考:《运动胶囊挑战第二场即将开始!》)
-
4 月 24 日:头一天会有猩猩王 John Hanke 在 Sandlot JAX 的演讲,24 日在当地(佛罗里达州杰克逊维尔)有 Mission Day 活动。
https://forms.gle/id3vFqXQ1MuEj95E8
因疫情产生的部分游戏规则变化将被取消,从 3 月 31 日开始,给 Portal 充电获得的 AP 将从 65 改回 10。
猩猩表示每个月他们都回考虑是否将这些 2020 年因为疫情增加的规则改回原来的状态,目前还在启用的规则包括:
Telegram – https://t.me/IngressBeijing
Twitter – @ingressbeijing
网站 – https://bjres.net
投稿后请及时联系我们,联系方式:
Telegram – @alexrowe
QQ – 350259971
Niantic Chat Group – YxR8TEU4
点击查看微信稿件原文
点击上方蓝字关注 Ingress Beijing
这篇文章里,将具体说明 SIFTExtractor 的情况,这主要是使用 SIFT 进行特征提取。
SIFT 是 David Lowe 提出的一种尺度不变特征变换匹配算法。它的一大特点是提取出的特征对于平移、旋转等特性具有不变性。
它主要做了如下几个步骤:
-
建立尺度空间的高斯差分金字塔。
-
在尺度空间内检索极值点。
-
对特征点赋值,获取位置、尺度、方向的信息。
对于第一步,总的来说是先建立高斯金字塔
再建立高斯差分金字塔
即 DoG。
而对于第二步,将得到的 DoG 矩阵进行极值检测,可做为候选的关键点。对于每一个像素点,常用的比较方法是,比较同一尺度的相邻 8 个像素点,和不同尺度相邻的 18 个像素点 (9 + 9),如果它是这些像素点中的局部极值点,则将其加入到候选列表内。
第三步,对于每一个候选的关键点,梯度
方向
。
在此之后,还有一个额外的提取 descriptor 的步骤,目的是使检测到的特征即使在不同的光照条件下也能被有效识别。(值得注意的是在本应用场景中这个步骤并没有什么用)
具体的步骤是,通过直方图的方式统计图中关键点的方向,然后根据结果,对被划分成若干区域(4x4x128)的图像部分(这被称为 descriptor)确定相应的向量值。
具体可参考论文 Object Recognition from Local Scale-Invariant Features,这里不再赘述。
对于每一个 Portal 图像和 IFS 谜题图像,程序都会为其进行一个对应的 SIFT 特征提取:
kp, des = sift.detectAndCompute(img, None)
同时会存储一份特征点预览以供后续的人工介入或调试:
PreviewUtil.saveFullImageFeaturePreview(kp)
然后使用写好的特征工具进行打包存储,以供后续使用:
kpp, desp = FeatureFileUtil.packKeypoint(kp, des)
FeatureFileUtil.writeFeatures(
‘data_features/ifs.jpg’, kpp, desp)
可以从 packKeypoint 中看到 SIFT 提取的特征的数据结构,包含 keypoint 和 descriptor:
kpts = np.array([[kp.pt[0], kp.pt[1], kp.size,
kp.angle, kp.response, kp.octave,
kp.class_id]
for kp in keypoints])
desc = np.array(descriptors)
如图为一张成功被提取 SIFT 特征的图片。
由于时间急迫,IFSolverR 开发时并未仔细考虑更好的匹配和特征点筛选方法,一种常见的改进是使用 KD Tree 辅助搜索,通过 BBF 获取 kNN,同时通过 RANSAC 减少错误匹配的问题。这里仅提一下。
Telegram – https://t.me/IngressBeijing
Twitter – @ingressbeijing
网站 – https://bjres.net
投稿后请及时联系我们,联系方式:
Telegram – @alexrowe
QQ – 350259971
Niantic Chat Group – YxR8TEU4
点击查看微信稿件原文
点击上方蓝字关注 Ingress Beijing
農大光棱塔位于农林大学,是一个拥有多个灯泡的路登,申po人这也能联想到光棱塔我是没想到的。
光棱塔是游戏《红色警戒2》中盟军的高级防御武器。它使用的是爱因斯坦发明的光棱技术,由巨大的棱镜构成,其原理是依靠发射类似于激光的光束来打击敌人。一台光棱塔的攻击力是120,但为其它光棱塔提供充能可达150%。
磁暴线圈,位于江滨西大道,靠江心公园西侧方位。磁爆线圈是系列即时战略游戏《红色警戒》中重要作战单位。苏联阵营防御武器,又称特斯拉线圈。
当爱因斯坦干预了时间轴后(见命令与征服或红色警戒情节),尼古拉·特斯拉在美国的停留变短了。原本特斯拉与爱因斯坦在空间转移发生器(即超时空传送仪)和裂缝产生器等项目合作。但是在新的平行宇宙中,他在美国的大学毕业后很快回到了克罗地亚,并建立了克罗地亚的第一个本科理工大学。他研究出了许多与“原本的世界”相同的并很快被普及的技术,如交流电、电力输送、以及(用于无线电的)特斯拉变压器。当时,斯大林的苏共正向外扩张,他们的枝蔓向南延伸至克罗地亚。特斯拉被邀请至苏俄帮助创办新的莫斯科物理科技学院。在那里,他参与了许多敏感的计划,包括被号称为特斯拉线圈(Tesla Coil)的一项军事技术。(其原型为尼古拉·特斯拉设计的沃登克里弗塔。)
福州ingress中的磁暴线圈其实是一个烟花型圆柱体。
文儒坊是“三坊”中的第二坊。文儒坊这个名字宋时就有了。据《榕城考古略》载,此巷“初名儒林,以宋祭酒郑穆居此,改今名”。郑穆任国监祭酒,是国家最高学府的重要官员,从三品的官附。明代抗倭名将张经,清代名将福建提督、台湾总兵甘国宝也居住在这里。
清代饮誉全国的“民进士”之家(五代都中进士)陈承裘故居也在坊内。陈承裘长子就是清宣统皇帝老师陈宝琛。清代著名诗人、《石遗室诗话》作者陈衍的故居也在坊内,是一座坐北朝南的大宅,内有光华阁是为入室弟子课业的地主。陈寓隔壁是现代著名法学家柯凌汉教授的住宅,这条坊就因历代文儒辈出而闻名。
在文儒坊里,有一条幽深清静的小巷,叫闽山巷,俗称“三官堂”,那是因为该巷古代建有三官堂而闻名。据清朝道光年间林枫《榕城考古录》卷中“坊巷第二”记载:“三官堂,在文儒坊南闽山巷,南有小巷通光禄坊,西口达常丰仓河沿。大抵皆以寺而得名也。而此则以闽山保福寺名也。”由此可见,三官堂与保福寺之密切关系。是在宋朝至少已有七八百多年以上悠久历史。
在南后街南端的澳门桥头,沿安泰河南岸往东,到安泰桥,有一条河沿坊,名叫桂枝里,它东西走向,连接着三坊七巷和朱紫坊。林枫《榕城考古略》载:“桂枝坊即安泰右河沿,以唐元和间里人陈去疾登第得名,俗呼牛育巷河沿。自杨桥巷至此,有七巷之目。”牛育巷河沿,又被读成“牛肉巷河沿”。
桂枝里除了西头的澳门桥和东头的安泰桥,中段也有小桥横跨安泰河两岸。
作为一条河沿坊,这里别具风情。曾巩《夜过利涉门》写道:
红纱笼烛过斜桥,复观翚飞入斗杓。
人在画船犹未睡,满堤明月一溪潮。
Telegram – https://t.me/IngressBeijing
Twitter – @ingressbeijing
网站 – https://bjres.net
投稿后请及时联系我们,联系方式:
Telegram – @alexrowe
QQ – 350259971
Niantic Chat Group – YxR8TEU4
点击查看微信稿件原文
点击上方蓝字关注 Ingress Beijing
在第一阶段的Kureze活动中,PhallodinHu通过人为增加互动的方式,将无对抗的VRBB提升到了CAT3。在讨论中PhalloidinHu提到,攻击在操作和耗时上相比抬脚具有明显优势,并提议将有限的时间最大限度地用于攻击而非升级从而进一步提升CAT。但ToPokeCa对此仍有疑议:我们在VRBB上共进行了300余次升级,72次摧毁和500余次攻击,尽管CAT3与CAT4的加权值是3倍与6倍的差别,但断点真的如此之大,以至于近900次互动仍不足以触摸到CAT4的门槛吗?基于升级自己的脚不产生AP故不对CAT产生贡献的这一传闻,ToPokeCa认为对po的攻击也只有在摧毁mod或脚,产生AP时,才计入互动等级,而用低级炸多次杀伤的行为对互动等级并无提升。而PhalloidinHu认为,如果一个低级特工面对众多高级敌军,依靠普通攻击势必无法摧毁任何脚,但依旧应当产生一定的互动值,从而增加活动徽章的计数。综合两种观点,ToPokeCa提出假设:猩猩列举的与BB互动的种种行为在计入BB互动等级时还需与不等的加权值相乘。ToPokeCa认为,一次普通攻击在不摧毁脚的情况下可能加权值极小,甚至可能依照对脚的伤害进行加权。这一情况下,用低级炸和高级炸杀死po对互动等级的影响将无任何区别。
在第二阶段的实验中,PhalloidinHu决定在保持逐级抬脚不变的情况下,对攻击的部分作出改变。kevinsbane与ninja7moose首先对RBB进行了实验,证实在用高级炸快速杀伤的情况下,仅靠翻毒和两段抬脚,已经足以使RBB达到CAT2。随后PhalloidinHu与SoberCyclist在RBB的两段抬脚之间加入了低级炸的多次杀伤,但RBB仍旧停留在CAT2,证实低级炸并无帮助,或是两人能够造成的攻击数量在RBB至多两段抬脚的情景下,对跨越CAT3的门槛意义不大。
另外,jOrange,kevinsbane,SoberCyclist与PhalloidinHu还将VRBB变成了单支点多重的支点,并在抬脚的同时在VRBB上进行了18 link,31 field的五段反射,加上部署、升级、摧毁共计625次互动,最终成功跨越断点获得了CAT4的胜利,刷新了单阵营BB的CAT记录,并实现了稳定复现。这也是自一月份PhalloidinHu对极端弱势的多伦多蓝军提出避战策略以来,整个多伦多地区产生的仅有的两个CAT4 BB。
对比上一阶段300余次升级,72次摧毁和500余次攻击的效果不难发现,互动行为对互动等级产生的影响确实各自具有不同的加权。将500余次的攻击换成245次的field和link,数量上有所下降却在质量上产生了飞跃,在减少了一段手动翻毒的部署升级和摧毁后,仍达到了CAT4。由于VRBB在仅有升级操作的情况下表现还未知,尚难以确定多次攻击究竟产生了多少贡献,但可以想见是不大的。鉴于攻击和建造的本质是不相容的,前者需在敌对po上进行而后者需要友方po,在已经发现更优解的情况下,PhalloidinHu认为尽管可以通过实验进行探究,但深究攻击的加权值已经不具备实战意义。在有限的时间中,放弃升级转而多次攻击的提议也被完全推翻。本次实验中的18 link还远远没有达到单支点多重反射的上限。如果能够实现40 link的最大值,互动等级也许可以达到CAT5甚至CAT6。
在后续的讨论中,ToPokeCa认为,625次互动仅获得CAT4的结果仍旧低于预期,并猜测field作为link的结果而非具体操作,尽管产生AP却对CAT并无贡献。基于这一猜想PhalloidinHu又提出了新的假设:当且仅当某一操作对争夺po的归属产生贡献时,才能增加CAT,并根据对争夺的贡献进行加权。由此产生如下推测:field对po的防御没有任何作用,因此对增加CAT并无作用;尽管入侵可以增加特工的活动计数,但对CAT也无贡献;多次普通充电的效果或许与少次强力充电并无差别,但由于普通充电确实产生AP,SoberCyclist对这一点持保留意见;从远处射入的link或许也可以对CAT的增加产生贡献。后续实验中,PhalloidinHu等人将用4 SBUL的40 outlink以及大量射入的针包验证这一假设。另外ToPokeCa还提出了一个CAT计算的简单模型:将部署、升级、摧毁、link的行为简单视作1,则CAT2-4的门槛大致分别为100,200-300间的某处以及400。
又经过了一个漫长的Kureze周末,尽管多伦多地区官方BB的战斗中蓝军在3.3:24的地面人力比之下(只打了不到一个小时的特工当然只能算0.3个特工)以460:4740大比分败北,但PhalloidinHu负责的战区以1.3:8的人力获得了320:1865的比分,勉强使分值比超过了人力比,可以称得上是不辱使命。在此番实验中,多伦多蓝军通过不断探索,又为全球蓝军贡献出了216分的特工BB分值。而截止发稿时Kureze第二阶段已到尾声,多伦多地区仍未有绿军通过旁观领悟到无对抗BB的技巧,可见信息差在弱势方手中的确有扭转战局的潜力。至于激发这一潜力最好的工具,当然就是为猩猩不断创收的钞能力。
Telegram – https://t.me/IngressBeijing
Twitter – @ingressbeijing
网站 – https://bjres.net
投稿后请及时联系我们,联系方式:
Telegram – @alexrowe
QQ – 350259971
Niantic Chat Group – YxR8TEU4