范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

测评丨RK3399RK1808人工智能计算棒(主动模式和被动模式)

  本教程以飞凌嵌入式RK3399平台为例,讲述主动模式和被动模式的人工智能计算棒部署流程。
  硬 件 平 台平台:OK3399-C开发板
  系统:Desktop
  模块:TB-RK1808S0
  环境准备:飞凌OK3399-C开发板,RK1808人工智能计算棒(固件版本为V1.3.4),usb摄像头,摄像头和计算棒都插入OK3399-C开发板。
  使用lsusb命令查看,如下(红框部分2207:0018即为RK1808人工智能计算棒):
  输入命令如下:
  注意:因为 被动模式 需要安装的库文件较多,占用空间较大,所以需要扩大rootfs分区,修改param/parameter.txt文件0x00f00000@0x0005a000(rootfs) //0x f00000个块(512字节)=7.5G
  改为
  0x01800000@0x0005a000(rootfs) //0x1800000个块=12G
  修改后进入系统,查看分区大小:
  概 述
  AI计算区分为四个不同的象限,分别是云端训练、云端推理,边缘训练以及边缘推理。 其中终端推理,几乎都集中在Arm架构生态上。AI神经网络计算目前可以通过CPU、GPU、DSP、NPU、FAGA等完成,但不同的硬件特性会导致效率和功耗的不同。其中NPU——嵌入式神经网络处理器采用"数据驱动并行计算"的架构,最擅长的就是视频、图像类的海量多媒体数据的处理,并且相比GPU等具有更低的功耗。我司推出OK3399-CDesktop+RK1808(含3Tops算力NPU)的组合,在满足AI边缘计算的情况下,使得功耗大幅降低。
  RK1808人工智能计算棒是一个专用AI应用模块 ,拥有主动模式和被动模式两种模式。
  主动模式下:RK1808人工智能计算棒作为主动设备,RK1808人工智能计算棒内部默认已安装rknn-toolkit和rknn-api,上位机(也称宿主机)无需安装rknn-toolkit和rknn-api,模型及算法固化在RK1808人工智能计算棒中,OK3399-C通过USB口向计算棒输入数据(例如图片和视频流),RK1808人工智能计算棒自动完成数据的前处理、推理、后处理,然后把处理结果通过USB口输出给OK3399-C。
  为了方便用户通过USB口传输数据,RK1808人工智能计算棒会把USB口虚拟成网卡等标准设备,用户只需通过标准设备接口的操作(例如网络的socket编程)即可完成对RK1808人工智能计算棒数据的输入和输出。
  被动模式下:OK3399-C通过RKNN-Toolkit将模型及前处理后的数据传输给RK1808人工智能计算棒,RK1808人工智能计算棒完成推理,并把结果返回OK3399-C,OK3399-C进行后处理以及显示等操作。
  主 动 模 式
  细节如下:
  1. RK1808计算棒插入上位机后,会被虚拟成网卡设备;
  2. 上位机OK3399-C进行虚拟网卡配置,配置IP为192.168.180.1,保证上位机和1808中间的网络连接正常;
  3. 计算棒默认IP为192.168.180.8,账号密码皆为toybrick,用户可以SSH登录计算棒,拷贝模型和server服务程序到计算棒;
  4. 计算棒端运行server服务程序,用来接收上位机的连接请求,并调用RKNN进行处理,再返回结果;
  5. 上位机运行client程序,连接server成功之后,发送推理请求,从1808端获取返回结果。
  1-计算棒网络配置与网络共享配置
  1、计算棒网络配置
  上位机使用OK3399-C Forlinx Desktop系统,点击右下角网络按钮选择弹出窗口中的"EditConnections..."选项:
  选择计算棒usb网卡生成的有线网络节点:
  配置该节点为手动模式,设置IP:192.168.180.1,子网掩码:255.255.255.0,并保存:
  终端输入ifconfig指令查看网络节点配置如下,可见usb网卡配置完成:
  ping一下1808计算棒网络192.168.180.8,如下网络可以连通:
  使用ssh登录1808计算棒,用户名和密码默认都为toybrick,如下登陆成功:
  2、网络共享配置
  运行ifconfig,可以看到eth0、wlan0等宿主机网卡,我们用于访问外网,enx10dcb69f022c为USB网卡(RK1808人工智能计算棒虚拟网卡)。不同的系统网卡名称可能不一样,以实际网卡名称为准。
  首先配置宿主机网络,使宿主机可以连通以太网,这里我们使用wlan0节点来上网,具体配置不再赘述。
  命令行执行如下命令,其中enx10dcb69f022c需要修改成用户本地实际值;正常情况只要设置一次即可,若拔插设备发现网卡名称改变了或者用户手动删除该网卡,则需要重新设置。
  1. sudo nmcli connection add con-name toybrick type ethernet ifname enx10dcb69f022c autoconnect yes ip4 192.168.180.1/24
  配置NAT功能,执行如下命令,其中eno1需要修改成用户本地实际值;关机失效,所以每次电脑重启都要重新设置。
  1. sudo sysctl -w net.ipv4.ip_forward=1
  sudo iptable -F
  sudo iptables -t nat -F
  sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
  注意:以自己开发板联网的实际端口为准,例:eth0
  iptables命令部分释义如下: iptables --help
  --flush -F [chain] Delete all rules in chain or all chains
  --table -t table table to manipulate (default: `filter")
  --append -A chain Append to chain
  --jump -j target target for rule (may load target extension)
  MASQUERAD,地址伪装,算是snat中的一种特例,可以实现自动化的snat
  SNAT是source networkaddress translation的缩写,即源地址目标转换。比如,多个PC机使用ADSL路由器共享上网,每个PC机都配置了内网IP,PC机访问外部网络的时候,路由器将数据包的报头中的源地址替换成路由器的ip,当外部网络的服务器比如网站web服务器接到访问请求的时候,他的日志记录下来的是路由器的ip地址,而不是pc机的内网ip,这是因为,这个服务器收到的数据包的报头里边的"源地址",已经被替换了,所以叫做SNAT,基于源地址的地址转换。
  DNAT是destinationnet workaddress translation的缩写,即目标网络地址转换,典型的应用是,有个web服务器放在内网配置内网ip,前端有个防火墙配置公网ip,互联网上的访问者使用公网ip来访问这个网站,当访问的时候,客户端发出一个数据包,这个数据包的报头里边,目标地址写的是防火墙的公网ip,防火墙会把这个数据包的报头改写一次,将目标地址改写成web服务器的内网ip,然后再把这个数据包发送到内网的web服务器上,这样,数据包就穿透了防火墙,并从公网ip变成了一个对内网地址的访问了,即DNAT,基于目标的网络地址转换。
  2、主动模式Mobilenet-ssd测试01 环境要求
  1)参考"计算棒网络配置与网络共享配置"章节,完成RK1808人工智能计算棒网络配置(RNDIS)以及网络共享配置。
  2)宿主机需要插入USB摄像头,并连接显示器。 02 部署计算棒程序
  SSH方式
  该方式通过ssh连接到RK1808人工智能计算棒,运行相应程序。
  计算棒系统用户名:toybrick 密码:toybrick
  计算棒系统用户名:root 密码:toybrick
  建议用toybrick用户登录
  1)使用官方链接下载Mobilenet-SSD主动模式demo软件包,解压,链接如下:
  https://eyun.baidu.com/s/3htJNFwS
  2)拷贝解压目录中的1808目录至计算棒
  1. scp -r 1808/ toybrick@192.168.180.8:/home/toybrick/
  3)ssh进入计算棒
  1. ssh toybrick@192.168.180.8
  4)安装依赖包
  1. sudo dnf install -y cmake make
  5)编译
  1. cd 1808/mkdir buildcd build/cmake ..make -j4
  6)直接运行程序或设置程序为开机启动
  •直接运行:
  1. ./1808_ssd_demo
  3、部署上位机程序(以OK3399-Cdesktop为例)
  1)安装依赖包make/cmake/opencv
  1. sudo apt-get install -y make cmake libopencv-dev
  2)进入Mobilenet-SSD主动模式demo软件包中的host目录,修改host/ssd_demo.cpp,根据开发板实际情况修改打开的摄像头节点: 1. cd host/
  2. int main(void)
  3. {
  4. //ret = test.run(VIDEO_NODE, post_process, &data);
  5. ret = test.run("/dev/video10", post_process, &data);
  6. }
  3)编译
  1. mkdir buildcd build/cmake ..make -j4
  4)计算棒程序运行起来后,运行上位机程序
  1. ./ssd_demo
  效果如下:
  3、主动模式yolov3测试01环境要求
  1)参考"计算棒网络配置与网络共享配置"章节,完成RK1808人工智能计算棒网络配置(RNDIS)以及网络共享配置。
  2)OK3399-C开发板需要插入USB摄像头,并连接显示器。 02部署步骤
  计算棒端:
  1)使用官方链接下载示例源码master_yolov3.zip,解压,链接如下:
  https://eyun.baidu.com/s/3ekyvJS#sharelink/path=%2F
  2)拷贝解压目录中的1808目录至计算棒:
  scp -r 1808/ toybrick@192.168.180.8:/home/toybrick/
  3)通过ssh连接到RK1808人工智能计算棒,运行yolov3master端程序
  计算棒系统用户名toybrick 密码toybrick
  计算棒系统用户名root 密码toybrick
  建议用toybrick用户登录,安装python依赖包,root用户可能存在未知风险。
  进入计算棒:
  ssh toybrick@192.168.180.8
  4)安装依赖包:
  sudodnf install python3-opencv -y
  5)进入刚才拷贝的1808目录,运行1808端程序。
  宿主机端:
  1)安装依赖库
  pip3 install --user numpy
  sudo apt-get install -y python3-opencv
  2)运行host端程序
  3、效果如下:
  被 动 模 式
  被动模式开发流程图如下:
  被动模式整体数据流程图如下:
  01
  被动模式Mobilenet-ssd测试   1、使用官方链接下载被动模式Mobilenet-ssd源码   http://t.rock-chips.com/wiki.php?mod=view&id=71   或者使用用户资料中提供的源码,目录为:用户资料linux源码被动模式Mobilenet-ssd   2、安装编译器、OpenCV、rknn-api   sudo apt-get install cmake gcc g++ //安装编译器   验证编译器已安装成功:   sudo apt-get install libopencv-dev //安装opencv库文件   rknn-api 安装脚本在 slave_mobilenet_ssd 压缩包中   cd slave_mobilenet_ssd/install_rknn   sudo ./install_rknn_api.sh //安装rknn_api和通信程序   执行脚本后,下载了rknn_api和通信程序:   3、代码编译运行   1)cd slave_mobilenet_ssd   修改ssd_demo.cpp文件中main函数中如下语句,根据开发板实际情况修改打开的摄像头节点   ret= test.run(VIDEO_NODE, post_process, &data);   改为:   ret= test.run("/dev/video10", post_process, &data);   2)mkdir build   3)cd build   4)cmake..   5)make   编译结果生成ssd_demo可执行程序:   6)npu_transfer_proxy& //启动NPU守护进程,通信代理服务。该程序由原厂提供。   7)在PC上插入USB摄像头   8)在PC界面终端上执行./ssd_demo,将会在屏幕上显示SSD图像结果   9)按"ESC"键退出运行   02
  被动模式Rock-X测试   1、使用原厂链接下载Rock-X SDK并解压,链接如下:   https://eyun.baidu.com/s/3o9xqPPC#sharelink/path=%2F   或者使用用户资料中提供的源码,目录为:用户资料linux源码被动模式Rock-X 2、安装编译器   sudo apt-get install cmake gcc g++   3、插入计算棒,等待上位机识别到计算棒   4、上位机运行rock-x依赖rknn_api, npu_transfer_proxy   用户可以先按照本文档第三章"被动模式Mobilenet-ssd测试"安装rknn_api;用户也可以通过原厂提供的链接地址直接下载rknn_api, npu_transfer_proxy,如下:   http://repo.rock-chips.com/rk1808/rknn-api/   http://repo.rock-chips.com/rk1808/npu_transfer_proxy/   5、运行npu_transfer_proxy和计算棒进行通信   npu_transfer_proxy &   6、编译测试用demo   cd demo/command_line_demo   ./build-linux-rk3399pro-on-device.sh   此时会编译得到rock-x中demo目录下的各用例并存放在install目录下   7、测试生成的用例中的rockx_face_landmark_demo   cd install/rockx_linux_rk3399pro/rockx_face_landmark_demo/   export LD_LIBRARY_PATH=../lib   ./rockx_face_landmark face4.jpg 68 //人脸特征点定位(68点)   8、测试效果如下:   9、Rock-X command_line_demo提供的例程   rockx_carplate_demo 车牌识别   rockx_face_attribute_demo 人脸属性识别(性别、年龄)   rockx_face_detection_demo 人脸检测   rockx_face_landmark_demo 人脸特征点定位   rockx_head_detection_demo 人头检测   rockx_object_detection_demo 物体检测   rockx_object_track_demo 物体运动检测   rockx_pose_body_demo 人体姿态检测   rockx_pose_finger_demo 手掌节点姿态检测   rockx_face_liveness_demo 活体检测   rockx_face_recognition_demo 人脸识别对比   3、被动模式yolov3测试   注意该测试中安装的部分包因为资源问题下载可能会因超时而无法下载,遇到这种情况,可以使用我司提供的现成的安装包,目录为:用户资料 linux源码被动模式yolov3 demo安装包   1、安装python3.5,ubuntu18.04默认python3.6,该版本部分库没有资源无法安装,所以更换为python3.5   sudo apt-get update   sudo apt-get install software-properties-common   sudo add-apt-repository ppa:deadsnakes/ppa   sudo apt-get update   sudo apt-get install python3.5-dev   sudo apt-get --reinstall install python3.5-minimal   sudo mv /usr/bin/python3 /usr/bin/python3-old   sudo ln -s /usr/bin/python3.5 /usr/bin/python3   sudo update-alternatives --install /usr/bin/python python/usr/bin/python3.5 300   验证python3.5是否安装成功并且python3已经修改为默认使用3.5:   安装新版pip:   wget https://bootstrap.pypa.io/get-pip.py   sudo python3 get-pip.py   sudo pip3 install setuptools --upgrade   sudo ln -s /usr/local/bin/pip3 /usr/bin/pip3   验证pip安装成功且默认使用python3.5的pip工具:   2、安装依赖库   sudo apt-get install cmake gcc g++ libprotobuf-dev protobuf-compiler   sudo apt-get install liblapack-dev libjpeg-dev zlib1g-dev   sudo apt-get install python3-dev python3-pip python3-scipy   sudo apt-get install python3-opencv python3-numpy python3-lmd bpython3-h5py   pip3 install wheel setuptools   sudo apt-get build-dep python3-h5py && pip3 install h5py   pip3 install --user scipy   pip3 install --user grpcio==1.26.0   pip3 install --user onnx   pip3 uninstall pillow   pip3 install --user pillow==4.2.1   pip3 uninstall h5py   pip3 install --user h5py==2.8.0rc1   注意部分安装包因为资源问题下载可能会因超时而无法下载,可以使用我司提供的现成的安装包。   查看上述指令安装的包是否安装到python3.5目录下:   3、安装TensorFlow   wget http://repo.rock-chips.com/python/tensorflow-1.11.0-cp35-none-linux_aarch64.whl   pip3 install --user tensorflow-1.11.0-cp35-none-linux_aarch64.whl   TensorFlow也可以到/home/forlinx/.local/lib/python3.5/site-packages/目录下查看安装情况   4、Python3.5安装OpenCV3   1)下载opencv和opencv_contrib,这两部分代码下载也比较困难,建议使用我司用户资料中提供的源码包,目录为:用户资料linux源码被动模式yolov3demo安装包:   cd~   git clone https://github.com/opencv/opencv.git   git clone https://github.com/opencv/opencv_contrib.git   2)编译opencv源码   cd~/opencv   mkdir build   cd build   cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DWITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -DINSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -DBUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON ..   make   编译结果如下:   3)安装OpenCV   sudo make install   部分安装信息:   OpenCV的安装文件也可以在系统中找到,例如:   /usr/local/lib/libopencv_core.so.4.3.0   /usr/local/include/opencv4/opencv2/cvconfig.h   编译时会有报错解决方法可以参考如下链接:   https://stackoverflow.com/questions/28776053/opencv-gtk2-x-error   http://www.luyixian.cn/news_show_316237.aspx   或者可以使用我司提供的现成的OpenCV的源码。   5、安装rknn-toolkit   wget http://repo.rock-chips.com/python/tensorflow-1.11.0-cp35-none-linux_aarch64.whl   pip3 --default-timeout=100000 install --user rknn_toolkit-1.1.0-cp35-cp35m-linux_aarch64.whl   rknn_toolkit也可以到/home/forlinx/.local/lib/python3.5/site-packages/目录下查看安装情况,可以看到对应安装目录:   6、下载yolov3 demo程序测试运行   wget -r -np -nc -nH http://repo.rock-chips.com/rk1808/yolov3/   cd rk1808/yolov3/   修改rknn_camera_tiny_multiProcess.py中打开的摄像头节点:   video= cv2.VideoCapture(0)   改为:   video= cv2.VideoCapture("/dev/video10")   注意:摄像头节点需要依据自己开发板的实际情况来修改   命令行执行:   python3.5 rknn_camera_tiny_multiProcess.py   运行结果如下:   至此,OK3399-C开发板+RK1808人工智能计算棒在主动模式和被动模式下的测评就告一段落。

官兵有需求,马上就办!送书籍进军营烹调文化大餐配发自助点歌机打造军营KTV砺剑文艺轻骑队慰问演出暖兵心火箭军某部官兵文化生活愈发丰富多彩,官兵的笑脸格外灿烂。该部前期深入基层开展调研,在了解到官兵对文化朱彦夫为国家没了手脚,她守护55年生6孩,去世后他亲自披麻戴孝文潘彩霞1955年,一位伤残军人被紧急抬进医院,太师椅上的他,无手无脚,左眼失明,引得路人纷纷躲避侧目。这其中,就有一位叫陈希永的姑娘。只是看了他一眼,她的人生从此改写。那位军人,1973年叶剑英前去拜访朱德,不见警卫直接进门怎么没人阻拦我1973年,时任军委副主席的叶剑英前往朱德元帅的住处商讨工作,因当时朱德的警卫都被他打发去看演出了,所以一路上没有人阻拦和通告,叶剑英直接就进到了朱德的家中,进到家中之后直接跟朱德泡澡太久会发生猝死?注意这3点细节,可降低心血管疾病风险在炎热的夏季身体出汗量多,应该注重清洁,才能去除污垢,减轻汗臭味。不过,洗澡要讲究方法,有的人洗澡速度太快,简单清洗一遍就结束,也有的人长时间泡澡,究竟哪些做法是错误的应该了解清楚NBA湖人科比坠机真相(上集)科比成长历程黑曼巴凌晨4点洛杉矶美国太平洋时间2020年1月26日上午9点47分,洛杉矶卡拉巴萨斯地区的居民先是听到了飞机引擎发出的巨大轰鸣声,紧接着就发出了两声巨大的爆炸声,也导致了事故地点附近的丛林熊熊大火浓8。15日本宣布投降,为什么抗日战争胜利纪念日是9。3?今天是9月3日,是中国人民抗日战争胜利纪念日,是每个中国人都必须铭记的日子。1945年8月15日,日本宣布无条件投降,为什么我们把抗日战争胜利纪念日定在9月3号呢?图片来源人民网1渔家傲功德歌之喜庆抗日战争胜利日抒怀文南粤龙(广州)今年是伟大的中国人民抗日战争胜利暨世界反法西斯战争胜利七十七周年,中国以伤亡3500万军民的巨大代价,最终取得了抗日战争的伟大胜利。为铭记历史缅怀先烈珍视和平警示未融资60亿!众泰复活资金到位,或全面转型新能源想当年众泰也是辉煌过的,就在皮尺部刚刚成立的那几年,众泰推出了多款网红车型,虽然是外观山寨的车型,但是其销量还是不错的,尤其是国内SUV最风光的那几年,部分车型甚至能销量破万,成为外媒ASML心里也没底了文C君科讯排版C君科讯头条号原创文章,禁止抄袭,违者必究外媒ASML心里也没底了造芯的浪潮是从2019年之后刮起来的,因为芯片规则的改变,让我们深刻认识到了在半导体核心技术领域必须整合创新激励,山东国资国企深化改革构建产业高质量发展新格局小新说国企改革三年行动实施以来,各地深入学习贯彻习近平总书记重要指示精神,贯彻落实党中央国务院决策部署,扎实推动国企改革全面发力多点突破,主体任务完成进度超过预期,取得了决定性进展游客又又点赞!北京山东团宠遇见深圳山东迷弟这首Rap送给所有鲁粉视频加载中这是一首送给所有鲁粉的rap,事情从哪里说起呢?这个夏天,因为之前在纪录片中看到了山东美食海肠捞饭,深圳小朋友陈有涵萌生了暑假一定要到山东转一圈的念头。一趟山东烟台威海游
马斯克食言了?乌克兰军方1300台星链终端机因付不起账遭断线据美国有线电视新闻网(CNN)报道,乌克兰因负担不起每月约325万美元的费用,使得乌克兰军队使用的星链卫星网络服务上周起有1300台终端机断线,给乌军带来重大问题。星链是由特斯拉首灵动岛终于有用了?大量第三方应用完美适配灵动岛大量应用适配灵动岛虽然iPhone14Pro灵动岛刚推出的时候,只支持自带的一些应用,第三方几乎没有应用能够支持灵动岛。但在苹果更新了iOS16。1系统后开放了灵动岛的大量功能权限北京奥运博物馆成为国际奥林匹克博物馆联盟成员新华网北京11月5日电经国际奥林匹克博物馆联盟(以下简称联盟)全体成员投票表决,北京奥运博物馆日前正式成为联盟的第33位成员。侯明在会上进行入盟申请陈述10月20日,北京奥运博物馆比亚迪销量破21万,小鹏销量腰斩,10月份新能源汽车销量深度分析当每个月的产销快报成为新能源汽车行业墨守成规的不成文规定后,间接变成了新能源汽车的一大考验和经营情况观察窗口,也就意味着每个月总会有人欢喜有人愁。蔚小理压力加大这个10月份,造车新直接封神的短句文案1。佛不要你皈依,佛要你欢喜。2。总之岁月漫长,然而值得等待。村上春树3。四方食事,不过一碗人间烟火。小灯泡儿4。愿你一生努力,一生被爱。想要的都拥有,得不到的都释怀。八月长安5。看不清未来,就把握好现在在北野武的坏孩子的天空里,有一个片段一直忘不掉。立交桥上飞快转动的单车,少年一前一后,向风中冲刺。打完群架后的逃离,阿木问阿胜我们的人生就这样结束了吗?阿胜盯着远方,花了几秒,看到只要有心改掉自己的脾气,你会变得越来越得到别人的爱戴有一位盘珪禅师说法时不仅浅显易懂,也常在结束之前,让信徒提一些问题,并当场解说,所以有很多人不远千里慕名而来。有一天,一位信徒请示盘珪禅师说禅师,我天生暴躁,不知要如何改正?盘珪法发现有人不喜欢你,无需翻脸,默念这四句话,你就赢了人不可能活成一座孤岛,总要与人相处。而与人相处中,我们渴望得到他人的认可喜欢。但事与愿违,如臣服实验中所说生活很少以我们期待的方式展开。你想被舍友喜欢,但偏偏被孤立你想被同事支持,草木一秋人生在世,草木一秋。一闪一灭,转瞬之间。你我都轻如云烟,渺如微尘。但就是无数个小小的你我点燃了万家灯火,照亮了整个世界。这人间的生与死,荣与辱,兴与衰,从来都让人无法左右,但我们终8341部队名称是如何来的?张耀祠回应跟算命的老道没半点关系1953年5月,汪东兴让时任中央警卫师政委的张廷桢通知中央警卫师副政委张耀祠去中南海局长办公室一趟。张耀祠去了后得知,中央决定立刻成立中央警卫团,警卫团主要的工作就是要负责保卫党中真的太像!瑞典省份Halland恨死哈兰德哈兰德这也关我事?真的太像!瑞典省份Halland恨死哈兰德哈兰德的英文名Haaland,与瑞典哈兰省Halland仅一字之差。挪威射手哈兰德今季转投曼城后表现大勇,吸纳众多粉丝,