哈哈,其实这跟遛狗没......还是有点关联.....
不过,你知道吗,一张照片中却蕴存着很多信息,其中的地理位置一定让侦探们睁大了眼睛......
来,先看看我家的喵主席和饼干侦探长:用Wolfram语言的 GeoPosition 函数提取这张照片:
太奇妙了——它有地理坐标, 再用 GeoGraphics看看它究竟在地图中的神马地方:
太棒了,现在用放大工具看看这些坐标在哪里:
太对了,这是我读研究生的地方,路易斯安那州巴吞鲁日市。原来我的iPhone手机照片中还有这数据。
其实我没有狗,但是我的同事有,我们就用智能手机拍摄了一些照片,看看神经网络函数是否可以识别。
Wolfram语言11.1的一大优越之处是有预先训练的神经网络集合,包括基于ImageNet 竞赛数据上的Inception V3和基于Places365数据上的Inception V1。这样使得新手及其容易上手,例如,识别图像中的对象以及告诉你这副图像表示的是何种风景等。
我只需要拖放就可以把照片放进笔记本,然后根据元数据定义并查找它们的位置:
不错噢。我们再添加一些点,改变颜色并添加提示条显示每个位置的图像:
在Wolfram笔记本(或者下载CDF),当把鼠标放在每个点上,它会显示在该位置拍摄的图像,很 cool 吧。
现在,我们来试试Wolfram语言11.1的新功能——预训练的神经网络。首先,需要定义我们的网络,我们需要使用受训于 ImageNet 竞赛数据的 Inception V3,然后用一行代码来实现。Inception V3 是使用卷积神经网络识别图像的数据集。听上去很复杂,其实很容易就实现了。
现在,我们只需要放入图像,就可以获取图像的精确结果:
太棒了,我们再来试试其他图片:
它猜测 goose(鹅)的概率是 0.901。相当棒,试试另一幅图:
嗯,神经网络并不确定这是哪种狗——其实它是对的:这种狗,是牧羊犬和柯基犬的杂交。
来看看,它认为我的猫是哪种:
哇塞!它确实是虎斑猫(tabby cat)。那个 0.0446概率也是合理的,因为我的猫确实看上去有点像鸭嘴兽。
体会到了吧,预训练的神经网络确实做得不错。下次你去遛狗或遛人,别忘了拍摄一些随机的物体,让 Wolfram 语言帮你进行无痛苦识别!