GeoGuessr与深入学习

2021-03-26 19:35:42

在英国的最后一次锁定期间,我的妻子和我一直在玩Geoguessr。它比我们通常播放的电脑游戏更慢,但有一个11周的大宝宝,每天都变得更加活跃。

GeoGuessr是一个地理发现游戏。您被丢弃到一个随机的Google Street View,并在地图上指出您的位置。你可以环顾四周,缩放,并通过当地的街道遵循汽车的路径。

我们已经开始对Geoguessr的日常挑战非常重视。我们每天都出现,推动新的高分。在日常挑战中,每轮3分钟限制,对于我们来说,我们的粉末是疯狂的点击,因为我们通过澳大利亚内陆(可能在南非犯下它时),或者概述Ø是否存在瑞典语。

当我看到它知识时,我现在有很多我会知道它。我知道格陵兰岛。我对国家旗帜的遗失知识已经返回,以及美国国家旗帜的新知识,各国在右侧驾驶,左边是左边的,它使用KM与M.我知道每个特定国家的域名(他们经常打开路边广告) - 我不会很快忘记。yu。

您是否知道黑色和白色护栏常见于俄罗斯和乌克兰?或者,您可以通过Google Street View的模糊在牌照上制作蓝色欧盟酒吧?在这个80,000个Word Guide - GeoGuessr - 顶尖,技巧和技术中阅读更多。

指向向下的红色和白色条纹箭头表明您在日本,最有可能在北海道岛上或可能在山附近的屋内岛上。

我曾经读过那个机器学习目前能够做任何人类可以在一秒钟内完成任何事情。识别一张脸,从图像中挑出一些文字,转发以避免另一辆车。这让我思考,思考导致我使用EricMüller-Budack,Kader Pustu-Iren和Ralph Ewerth的分层模型和场景分类给了一份名为地理位置估计的照片。本文将“地理化为地球被细分为地理细胞的分类问题”。

甚至是室内照片! (Geoguessr的日常挑战将经常将您陷入博物馆内)。

最近,本文的作者发布了一个Pytorch实现,并提供了具有底层Reset50架构的预先训练的基础(M,F *)模型的权重。

我假设预磨模的模型不会很好地映射到我可以从Geoguessr刮擦的照片。对于培训数据,作者使用了“雅虎Flickr创造性公共1亿个数据集(YFCC100M)”的一个子集。其中包含“大约五百万个地理标记的图像,来自Flickr [和]暧昧的照片,例如难以预测所在地的室内环境,食物和人类。”

有趣的是,在IM2GPS数据集上,人类发现了乡村粒度的图像的位置(750公里内)13.9%的时间,但个人场景网络能够做到66.7%的时间!

所以问题变得:谁在Geoguessr,我的妻子(一个强大的球员)或机器更好?

要扫描当前游戏中的屏幕截图,我创建了一个硒计划,执行以下四次:

'''给定一个地质渊博地图URL(例如https://www.geoguessr.com/game/5sxkq4e32ovhu4rf)截图每一步一次,旋转〜90度.musage:" python file_name.py https://www.geoguessr.com/game/5sxkq4e32ovhu4rf" ;' ;' ;'来自Selenium Import WebDriver导入时间导入Sysnumber_of_screenshots = 4geo_guessr_map = sys .argv [1] driver = webdriver .chrome()驱动程序.get(geo_guessr_map)#let js等loadtime .sleep(2)def screenshot_canvas():' ''拍摄街景画布的屏幕截图。 '''打开(f' canvas_ {int(时间.Time())} .png',' xb')作为f:canvas = driver .find_element_by_tag_name('画布' )f .write(canvas .screenshot_as_png)def rotate_canvas():'''拖动并单击< main> elem几次旋转US〜90度。 ''' main = driver .find_element_by_tag_name(' main')范围(0,5):action = webdriver .common .action_chains .actionchains(驱动程序)操作.move_to_element(main)\ .click_and_hold(main)\ .move_by_offset(118,0)\ .Lelease(main)\ .perform()def move_to_next_point():''单击下一个点箭头,没有,只要它和#39; S' S'对于硒的会话相同。 ''' next_point = driver .find_element_by_css_selector(' [填充=#34; black"]')action = webdriver .common.action_chains .actionchains(驱动程序)动作.click(next_point).perform()for _在范围内(0,number_of_screenshots):screenshot_canvas()move_to_next_point()rotate_canvas()驱动程序.close()

屏幕截图还将包含GeoGuessr UI。我没有看着它。

我检查了Pytorch分支,下载了预先训练的模型,并通过公共区域安装了依赖关系。我赞扬了存储库的自述文件。要求部分非常清楚,我没有遇到新鲜Ubuntu 20.04盒子上的任何问题。

我在人类和机器之间挑选了Geoguessr的世界地图。我向我的Selenium程序提供了URL,然后对从GeoGuessr捕获的四个截图进行推动。

蟒蛇-m classification.inference --image_dir ../images/ LAT lngcanvas_1616446493层次44.002556 -72.988518canvas_1616446507层次46.259434 -119.307884canvas_1616446485层次40.592514 -111.940224canvas_1616446500层次40.981506 -72.332581

我向我的妻子展示了同样的四个截图。她猜到了德克萨斯州的一点。实际的起始地点在宾夕法尼亚州。无论如何,机器对四个屏幕截图中的每一个有四种不同的猜测。所有机器的猜测都在美国。两个非常接近的,两个人进一步。

我们打出了两轮的再次,最终结果为2-1。这台机器在新加坡的一条街道很近,但未能在加拿大的一条雪街附近的任何地方(Madeline以秒为单位)。

在写这篇文章后我了解到这篇文章,在Geoguessr战场上的机器与人类上有一些梦幻般的现有技术。在行星 - 与卷积神经网络的照片地理位理,托比亚斯Weyand,Ilya Kostrikov和James Philbin也试图从刚刚的像素确定照片的位置。

为了了解行星如何与人类直觉进行比较,我们让它在Geoguessr游戏中竞争10种旅行的人类受试者(www.geoguessr.com)。

[H]救扣和行星共出了50轮。 Planet赢得了50轮中的28次,中位数本地化误差1131.7公里,中位数人体定位错误是2320.75公里。

使用分层模型和场景分类的照片地理位置估计作者构建了一个非常简洁的网络工具。在这里,我将它与其中一个屏幕截图运行。

可以在出版物中竞争的图形演示可以找到:https://tibhannover.github.io/geoeStimation/。我们还创建了一个扩展的网络工具,另外还支持上传和分析您自己的图像:https://labs.tib.eu/geoestimation

试图击败GeoGuessr的原因有很多,因为机器学习可能比定位任何人类的照片更容易。

与通用地理定位估计相比,在GeoGuessr中,我们(几乎总是总是)试图找出我们所在的道路。这意味着更多的努力可以识别始终存在的东西 - 像路标或汽车一样,模型(经常背叛一个国家)。可以在寻找提供该国语言的道路标志的道路上进行努力,或者可以使用标牌文本来搜索查找表。

还有其他标记,其中一些在地理学社区考虑作弊,即学习框架可能会接受。

向下俯视街景将显示捕获当前拍摄照片的车辆的一部分。例如,在肯尼亚的街道景色的前部有黑色浮潜。越南的大部分被记录在摩托车上,你经常看到骑手的头盔。各国通常由同一辆车覆盖,具有独特的颜色或天线。

在其他地方,天空中存在裂缝,其中photosphere缝制看起来被撕裂(主要是塞内加尔,黑山和阿尔巴尼亚)。在非洲,有时护送汽车跟随街景车。有不同的相机代 - 具有不同的分辨率,晕圈类型,着色,以及球体底部的模糊。在Photosphere的底部角落里有信用信息 - 它通常有“谷歌”和一年,但偶尔会有摄影师的名字。

通过利用这些,如果机器可以在定时竞争中即使是最佳的地理位置,我就不会感到惊讶。事实上,我要去说,我们是一项研究授权,远离大于机器的地理位置。

评论或问题?我喜欢通过电子邮件与读者交谈。我写了关于代码。将我的帖子,项目和个人更新直接到您的收件箱!