Skip to content

Commit

Permalink
add posts
Browse files Browse the repository at this point in the history
  • Loading branch information
automaticdai committed Nov 13, 2024
1 parent 6d5768c commit c4b9836
Show file tree
Hide file tree
Showing 40 changed files with 48 additions and 82 deletions.
4 changes: 1 addition & 3 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,7 @@
title: YF Robotics Lab
email: [email protected]
description: >- # this means to ignore newlines until "baseurl:"
Write an awesome description for your new site here. You can edit this
line in _config.yml. It will appear in your document head meta (for
Google search results) and in your feed.xml site description.
YF Robotics Lab
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: yfrobotics
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
layout: post
title: "Welcome to Jekyll21212"
date: 2024-11-12 03:51:06 +0000
categories: jekyll update3
title: "写在云飞机器人实验室改版之际"
date: 2020-10-18 03:51:06 +0000
categories: jekyll update
---
# 写在云飞机器人实验室改版之际

云飞实验室自2010年成立至今,风风雨雨已十载。

Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
---
layout: post
title: "Welcome to Jekyll!"
date: 2024-11-12 03:51:06 +0000
categories: jekyll update2
title: "Nvidia Jetson Nano介绍与使用指南"
date: 2020-11-29 03:51:06 +0000
categories: jekyll update
---
# Nvidia Jetson Nano介绍与使用指南

[toc]

![jetson-outofbox.JPG](assets/nvidia-jetson-nano-intro-and-guidance/jetson-outofbox.JPG)
![jetson-outofbox.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/jetson-outofbox.JPG)

> 本文介绍了Nvidia Jetson Nano的硬件参数、性能、使用方法及个人主观的使用体验。
## 1. Jetson简介

Jetson Nano是Nvidia在TX2和Xavier获得成功后推出的低配版GPU运算平台。我在Jetson Nano 2019年3月刚上市的时候就入手了一块开发套件(英国Pimoroni购入,110磅)。这次乘着短暂的假期,来补一下对它的评测。谈一个硬件平台,首先绕不开的就是它的纸面参数。在官方的资料上,Jetson Nano公布的参数如下:

![5ea1fa3fce538f099800009c](assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009c.png)
![5ea1fa3fce538f099800009c](/assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009c.png)

Nano最大的特色就是包含了一块128核Maxwell架构的GPU,虽然已经是几代前的架构,不过因为用于嵌入式设备,从功耗、体积、价格上也算一个平衡。Nano的计算能力不高,勉强可以使用一些小规模、并且优化过的网络进行推理,训练的话还是不够用的。A53的CPU中规中矩,隔壁的树莓派4已经升级为A72。4GB的内存并不能完全使用,因为其中有一部分(1GB左右)是和显存共享的。Jetson Nano的最大优势还是在体积上,它采用核心板可拆的设计,核心板的大小只有70 x 45 mm,可以很方便的集成在各种嵌入式应用中。同时它的功耗也非常低,有两种模式:

Expand All @@ -27,29 +26,29 @@ Nano最大的特色就是包含了一块128核Maxwell架构的GPU,虽然已经

Jetson Nano Developer Kit的整体做工十分好,符合Nvidia的一贯质量,这里分享几个图片:

![DSC00697.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00697.JPG)
![DSC00697.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00697.JPG)

▲ Jetson Nano开发套件的背面,可见做工十分精良 ▲

![DSC00704.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00704.JPG)
![DSC00704.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00704.JPG)

▲ Jetson Nano套件的核心板为可拆卸设计,将主板拆卸后会露出一路M.2接口的单路PCIE,可接无线网卡 ▲

![DSC00703.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00703.JPG)
![DSC00703.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00703.JPG)

▲ Jetson Nano核心板的背面,也是安装SD卡的位置 ▲

Jetson Nano的硬件布局如下 (对应A02版本; B01版本除了电源按钮接口和额外一路CSI外,其他布局基本相同):

![5ea1fa3fce538f099800009c](assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f0998000099.png)
![5ea1fa3fce538f099800009c](/assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f0998000099.png)

值得注意的是,Jetson Nano除了之前提到的核心板分离式设计(J2),还包括了一个M.2接口,可以用来外接无线网卡。除此之外,Jetson Nano有与树莓派兼容的外设接口(J41);风扇接口(J15);摄像头接口(J13);以及USB和HDMI。另外J40是按键接口,类似PC主板上的接口,各个接口的说明如下,不用的话直接悬空:

![5ea1fa3fce538f099800009c](assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009d.png)
![5ea1fa3fce538f099800009c](/assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009d.png)



![DSC00698.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00698.JPG)
![DSC00698.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00698.JPG)

▲ Jetson Nano的外设接口,从左至右分别为:电源接口、HDMI、DisplayPort、USB、以太网接口及USB供电接口 ▲

Expand Down Expand Up @@ -79,7 +78,7 @@ Jetson整个系列型号的对比如下:

官方给出了常见CNN模型在使用TensorRT下得出的帧率(FP16, batch size = 1):

![fdc5b8d044de7024501e0f3bcf67da88.png](assets/nvidia-jetson-nano-intro-and-guidance/fdc5b8d044de7024501e0f3bcf67da88.png)
![fdc5b8d044de7024501e0f3bcf67da88.png](/assets/nvidia-jetson-nano-intro-and-guidance/fdc5b8d044de7024501e0f3bcf67da88.png)

可见大部分模型为可用状态(FPS > 10),其中ResNet、Mobilenet和Tiny Yolo性能优异,可以达到30帧,已经可以用于移动场景了。注意这里使用的是Nvidia自己优化的TensorRT,而不是标准的Tensor库。Nvidia没有公布太多具体的细节,但是提到使用了kernel auto-tuning、dynamic tensor memory、layer fusion和quantization (FP16/INT8) 等方法来加速网络的执行效率,这点还是非常优秀的。

Expand All @@ -95,7 +94,7 @@ Jetson整个系列型号的对比如下:

Jetson Nano在使用的时候**一定要用一个风扇压一下**,不然会因为被动散热能力不够而频繁死机。我用的是Noctua NF-A4x20 5V PWM。散热片的上方有四个安装风扇的固定孔,需要用自攻螺丝固定。我这里为了不造成破坏,用了四个捆扎带固定风扇。

![DSC00696.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00696.JPG)
![DSC00696.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00696.JPG)

▲ Jetson Nano安装Noctua 5v风扇 ▲

Expand All @@ -106,11 +105,11 @@ Jetson Nano在使用的时候**一定要用一个风扇压一下**,不然会

Jetson机身只有Ethernet有线网络,不包括无线网卡,使用的时候有时候不是很方便。官方推荐使用的AC8265这款2.4G/5G双模网卡,同时支持蓝牙4.2。我这里使用的是微雪AC8265网卡 + 天线套件:

![ac8265.jpg](assets/nvidia-jetson-nano-intro-and-guidance/ac8265.jpg)
![ac8265.jpg](/assets/nvidia-jetson-nano-intro-and-guidance/ac8265.jpg)

安装过程非常简单,将核心板拆卸开,露出M2接口,然后将网卡插入,用一个螺丝固定即可:

![DSC00705.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00705.JPG)
![DSC00705.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00705.JPG)

▲ 为Jetson Nano安装无线网卡 ▲

Expand All @@ -121,7 +120,7 @@ Jetson机身只有Ethernet有线网络,不包括无线网卡,使用的时候

Jetson包含CSI相机接口(A01有一路;B02版本有两路),可以接树莓派摄像头(基于MX219),相机接口在如下位置(安装时注意接口的正反,信号触点面朝里):

![DSC00699.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00699.JPG)
![DSC00699.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00699.JPG)

▲ Jetson Nano CSI相机接口及电源按钮接口 ▲

Expand All @@ -138,7 +137,7 @@ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=3820, height=2

这么贵重的电路板还是建议使用一个外壳保护一下的。虽然有些外壳的安装步骤较为繁琐,但是可以有效的防止电路板受到损坏,还是值得的。淘宝上有很多选择,但英国这里可选的余地有限(也很贵),最后买了以下这款全金属外壳:

![DSC00711.JPG](assets/nvidia-jetson-nano-intro-and-guidance/DSC00711.JPG)
![DSC00711.JPG](/assets/nvidia-jetson-nano-intro-and-guidance/DSC00711.JPG)

▲ Jetson Nano安装好后外壳后的样子。我选的这款金属外壳含电源按钮、天线固定口和相机支架 ▲

Expand Down Expand Up @@ -214,13 +213,13 @@ gsettings set org.gnome.Vino require-encryption false

相关的示例可以在以下文件夹里找到:

![5ea1fa3fce538f099800009c](assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009a.png)
![5ea1fa3fce538f099800009c](/assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009a.png)

关于JetPack的更多内容可见: [https://www.developer.nvidia.com/embedded/jetpack](https://www.developer.nvidia.com/embedded/jetpack)

除了JetPack,Nvidia还提供了以下开发工具:

![5ea1fa3fce538f099800009c](assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009b.png)
![5ea1fa3fce538f099800009c](/assets/nvidia-jetson-nano-intro-and-guidance/5ea1fa3fce538f099800009b.png)

除此之外,官网上还能找到很多Jetson的相关资源:

Expand Down Expand Up @@ -257,17 +256,17 @@ $ sudo ldconfig

Inference Example 1. [Classifying Images with ImageNet](https://github.com/dusty-nv/jetson-inference/blob/master/docs/imagenet-console-2.md)

![b5ccc214a6798454da0d1a84bc8408a6.png](assets/nvidia-jetson-nano-intro-and-guidance/b5ccc214a6798454da0d1a84bc8408a6.png)
![b5ccc214a6798454da0d1a84bc8408a6.png](/assets/nvidia-jetson-nano-intro-and-guidance/b5ccc214a6798454da0d1a84bc8408a6.png)


Inference Example 2. [Locating Objects with DetectNet](https://github.com/dusty-nv/jetson-inference/blob/master/docs/detectnet-console-2.md)

![cfb588fb34b575ba582b064b728d4385.png](assets/nvidia-jetson-nano-intro-and-guidance/cfb588fb34b575ba582b064b728d4385.png)
![cfb588fb34b575ba582b064b728d4385.png](/assets/nvidia-jetson-nano-intro-and-guidance/cfb588fb34b575ba582b064b728d4385.png)


Inference Example 3. [Semantic Segmentation with SegNet](https://github.com/dusty-nv/jetson-inference/blob/master/docs/segnet-console-2.md)

![86d69d1696ddfbe9de08c52f609f1b1b.png](assets/nvidia-jetson-nano-intro-and-guidance/86d69d1696ddfbe9de08c52f609f1b1b.png)
![86d69d1696ddfbe9de08c52f609f1b1b.png](/assets/nvidia-jetson-nano-intro-and-guidance/86d69d1696ddfbe9de08c52f609f1b1b.png)


除此之外还包含了若干如何Training的教学,感兴趣的朋友自行前往阅读。
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
---
layout: post
title: "Welcome to Jekyll!"
date: 2024-11-13 03:51:06 +0000
categories: jekyll update2
title: "赛博朋克的生活离我们多远"
date: 2020-12-23 03:51:06 +0000
categories: jekyll update
---
![d0b2202e8be6b8d9155d56b0b844f6d4.png](assets/how-far-is-cyberpunk/d0b2202e8be6b8d9155d56b0b844f6d4.png)

![d0b2202e8be6b8d9155d56b0b844f6d4.png](/assets/how-far-is-cyberpunk/d0b2202e8be6b8d9155d56b0b844f6d4.png)

最近最火热的话题莫过于游戏《赛博朋克2077》了,我本身是一个游戏迷,对于这款充满未来元素与机器科技的游戏就更加期待了。这两天,我不断收到知友们关于“赛博朋克中的科技到底离我们还有多远?”问题的邀请,借由此机会我想对赛博朋克世界中的内容 --- 主要是科技元素的可行性 --- 进行一些讨论。赛博朋克世界中的主要科技元素基本相似,以下就围绕在《赛博朋克2077》游戏中出现的元素进行讨论。

![cyperpunk-outline.png](assets/how-far-is-cyberpunk/赛博朋克.png)
![cyperpunk-outline.png](/assets/how-far-is-cyberpunk/赛博朋克.png)



Expand Down Expand Up @@ -36,15 +37,15 @@ categories: jekyll update2
义肢的核心技术并不是机械,而是机械如何与人进行结合,成为“仿生人 (Cyborg)”。仿生人具有异于常人的能力,可以通过义眼获得更好的视觉系统,义腿获得更好的速度和弹跳力,甚至可以扩充记忆能力以及获得连接互联网数据的能力。

义肢的核心技术就是如何使人和大脑相连接,这点需要依赖大脑科学和认知神经科学。目前state-of-the-art已经可以“读取”大脑的基本指令,实现义手的控制,并且已经可以达到非常可观的精度:
![5cec22d6c6ddd8e4074009bd5fed2ada.png](assets/how-far-is-cyberpunk/5cec22d6c6ddd8e4074009bd5fed2ada.png)
![5cec22d6c6ddd8e4074009bd5fed2ada.png](/assets/how-far-is-cyberpunk/5cec22d6c6ddd8e4074009bd5fed2ada.png)
▲ Open Biotics研发的机械手义肢 ▲

在军工领域,也已经有了体外骨骼,为士兵提供更强的能力。当然他们的原理并非阅读大脑信号,而是将操作者的行为进行了放大:
![9b9a0482c2a4212c16be896420fa98f2.png](assets/how-far-is-cyberpunk/9b9a0482c2a4212c16be896420fa98f2.png)
![9b9a0482c2a4212c16be896420fa98f2.png](/assets/how-far-is-cyberpunk/9b9a0482c2a4212c16be896420fa98f2.png)
▲ 体外骨骼 ▲

然而真正做的赛博朋克中的仿生人,我们不仅需要读取大脑的信息,还需要可以“写入”。比如义眼需要可以修改人的视觉信号,刺激相应的神经,“仿真”出和人眼一样的信号从而“欺骗”大脑。在这个领域,Elon Musk的脑机接口Neruallink (https://neuralink.com/) 被视为这个方向的代表。
![7d5a3a0ad2e56c7953b86428560a90e2.png](assets/how-far-is-cyberpunk/7d5a3a0ad2e56c7953b86428560a90e2.png)
![7d5a3a0ad2e56c7953b86428560a90e2.png](/assets/how-far-is-cyberpunk/7d5a3a0ad2e56c7953b86428560a90e2.png)
▲ Neruallink脑机接口概念图 ▲

目前在脑机接口领域的研究很有限,主要还是以在鼠类/猴类上进行简单行为为主。因为“写入”可能会反向损伤大脑,研究的难度比“读取”大很多,所以进展缓慢。期待这方面在未来的十年会有小突破。然而要完全实现脑机交互,十年是不够的,可能需要20-50年,离我们现在的生活还比较远。
Expand All @@ -53,7 +54,7 @@ categories: jekyll update2
### 2.2. 机器人
在《赛博朋克2077》中出现的机器人以传统的机器人形象为主,依然是冰冷的机器,而没有刻意像《底特律:变人》中一样强调机器也有可能有情感。我想这是因为赛博朋克世界中更想强调“人越来越像机器”而不是“机器越来越像人”。在赛博朋克游戏中出现的最先进的机器人应该是主线任务中Militech的这款Spider Bot:

![13656aa6ba06b18ed7c96991d705a9ff.png](assets/how-far-is-cyberpunk/13656aa6ba06b18ed7c96991d705a9ff.png)
![13656aa6ba06b18ed7c96991d705a9ff.png](/assets/how-far-is-cyberpunk/13656aa6ba06b18ed7c96991d705a9ff.png)
▲ Spider Bot by Militech in Cyberpunk 2077 ▲

游戏中主要展现了它全地形攀爬以及具有光学隐形能力。对于全地形攀爬(包括附着在天花板上),应该可以通过磁力吸附,相关技术我在2014年的时候研究过,但是这里的难点是它的吸附着力点面积很小。解决方法是:增大磁场生成功率的同时要减轻自重。这点只能通过提高能量密度实现,即需要更好的动力系统。
Expand All @@ -66,12 +67,12 @@ categories: jekyll update2
### 2.3. AR与VR
赛博朋克中的另一个元素就是AR和VR。AR的场景即是V可以通过义眼的扫描增强功能,读取周围物体和人物的信息。这一点结合图像识别和5G网络,在现如今已经可以小规模实现。然而想要大规模实现,需要有完善的数据库、图像语义识别能力、高速的移动网络,其中也涉及了一些隐私数据的保护等伦理问题。

![676c17fc7ae7de07c3e4201536d886b4.png](assets/how-far-is-cyberpunk/676c17fc7ae7de07c3e4201536d886b4.png)
![676c17fc7ae7de07c3e4201536d886b4.png](/assets/how-far-is-cyberpunk/676c17fc7ae7de07c3e4201536d886b4.png)
▲ 2077中的扫描功能 ▲

游戏中的另一个元素是VR,这一点就是很多人沉迷于一种叫“超梦/BD”的技术。超梦是一种将别人的经历(包括感官上的)录制下来,之后播放者可以复现的一种技术。严格意义上来说,超梦并不是VR,而是一种5D电影,在传统3D的基础上,增加了视觉和感官。它既是一种类似电影的沉浸式体验,也因为体验者有“我即是电影中主角的错觉”从而产生了与传统电影完全不同的体验。这一点上,实现的主要技术依然是人脑接口技术,因为要将人的感官复现,必须要能读取到人诸如嗅觉、视觉、触觉等感官的信号。以此为基础的话,录制和播放本身就和我们现在录短片、看短片一样。

![7239fccc40500cad4539071749171a60.png](assets/how-far-is-cyberpunk/7239fccc40500cad4539071749171a60.png)
![7239fccc40500cad4539071749171a60.png](/assets/how-far-is-cyberpunk/7239fccc40500cad4539071749171a60.png)
▲ 使用超梦需要使用专用的接入设备 ▲

AR与VR技术在推广中受到了很大的阻挠,其原因还是因为设备无法小型化/技术不成熟/使用场景模糊。然而比起目前的实现方式来说,它们之后更多的会隐藏在我们每一个设备中,无处不在,你却不再感受得到它们。比如在你的汽车挡风玻璃上,在你的镜子里。虽然我们现在总是把这两个技术放在一起来说,但对比两个技术,AR有更多的“实用”因素,它强调扩展信息,而VR更强调的是“体验”,这也决定了它们之后会有截然不同的技术道路。
Expand All @@ -80,7 +81,7 @@ AR与VR技术在推广中受到了很大的阻挠,其原因还是因为设备
### 2.4. 强大的AI与计算机网络
以上几乎所以技术都依赖于强大的AI辅助以及有复杂的计算机网路作为支撑。游戏中一个很重要的元素就是你可以进入Cyber-space. 在赛博朋克的世界里,cyber-space是一个比物理世界更宏大的存在。黑客们在其中找到生活的空间,人也可以逃避现实生活的无情,而沉浸在虚拟的网络世界中。这一点在很多科幻电影中已经都有体现,如Ready Player One/头号玩家。AI一定程度上帮助了我们工作和生活,另一个程度上又让我们产生了过强的依赖性,以至于离开它们我们就无法继续生活下去了。在赛博朋克的世界中,就出现了逃离这种生活的反抗者,他们寻求自我,摆脱高科技的奴役。

![79b8e70ec47d2d8ff31474d5538e5971.png](assets/how-far-is-cyberpunk/79b8e70ec47d2d8ff31474d5538e5971.png)
![79b8e70ec47d2d8ff31474d5538e5971.png](/assets/how-far-is-cyberpunk/79b8e70ec47d2d8ff31474d5538e5971.png)
▲ 2077中的Cyber-space ▲

然而,游戏中表现的这种场景离我们甚远,是科技发展到一定阶段所会带来的社会问题。目前我们的阶段还处在非常初期的阶段,我们看见了深度学习在一些领域上崭露头角,尤其是DeepMind、OpenAI、Tesla和国内的腾讯、阿里、百度等公司的成果。但是想要让AI更加渗入进生活的方方面面,还需要研究和开发人员的不懈努力。AI的发展(以及一切科技)都是螺旋中上升的,我们需要静观其变,给予它们充分的时间去发展。同时,我们也要谨记科技不是用来作恶的。我们在技术发展的过程中,一定要把握好这把双刃剑,需要约法三章,避免科技得到滥用(如智能摄像头、匿名身份识别、点对点武器打击)。
Expand Down
Loading

0 comments on commit c4b9836

Please sign in to comment.