S1NH

世界在旅程的尽头终结

0%

Nano 的4G内存太小了(最近还出来一个2G版nano >_<),模型跑不动的患者可以通过以下几个步骤减少内存消耗。

1. 关闭用户图形界面
sudo systemctl set-default multi-user.target
sudo reboot

开启用户图形界面
sudo systemctl set-default graphical.target
sudo reboot

2. 切换图形界面
默认图形界面为Unity,Ubuntu 18 系统自带Gnome3,可切换到 lxde 以节约内存。

  • GNOME3 :1047M
  • Unity: 517M
  • xfce: 247M
  • lxde: 214M

3. 关闭 dockerd 节约 49M

0x01 Tensorflow 2.0

1.1. Convert

keras hdf5 –> .pb

1
2
3
4
5
6
# V2 behaviour is disabled by default in Jetpack 4.4.DP.
import tensorflow.compat.v2 as tf
from tensorflow.keras.models import load_model

model = load_model('./model/fer2013_mini_XCEPTION.102-0.66.hdf5')
model.save('./model/tf_savedmodel', save_format='tf')
阅读全文 »

  • 自然交互:更接近与人之间的交互方式。 PC:键盘鼠标;移动:触控;现在:语音、手势、图像。
  • 云端一体
  • 场景智能:主动感知、用户理解、个性化推荐、智能决策。

0x01 多模态自然交互

5G加速智联网时代的到来,多模态数据成为主流
电阻屏=>电容屏:流量从PC时代走向移动时代
多模态自然交互:移动时代走向智联网时代

  • 1976 发现麦格克效应
  • 2015 200 citation–>3000+ citation. 有代表的论文 VQA: Visual Question Answering (ICCV 2015)
  • 2016 多个大型多模态数据集发表 (Youtube8m, audioset)
  • 2017 VoxCeleb 发布(多模态自然人识别数据集)
  • 2018 视觉语音降噪,虚拟人合成技术
阅读全文 »

0x00 Velodyne 简介

1. 数据结构及坐标系

Velodyne 通过网线发送的原始数据包为球坐标(spherical coordinates, r, ω, α)。它的 ros driver 提供了两种更方便的格式:/velodyne_points/velodyne_scan

其中,/velodyne_points是转换为XYZ后的坐标,转换的方式如下图;/velodyne_scan为第8根线的scan值(可直接用来模拟单线雷达)。

阅读全文 »

0x01 制作标定板

0x02 相机标定

  • camera_calibration: 使用棋盘格进行标定;
  • kalibr: 这个感觉更专业一些,可以同时标多目和IMU。

0x03 雷达–>相机外参标定

目前我成功的有两种方法:

  • autoware_camera_lidar_calibrator : 不需要自制标定板,需要手动人工点击9个点
  • velo2cam_calibration : 全自动,需要定制一个标定板
阅读全文 »

0x00

对文本进行OCR前,必须分析和定义文档的逻辑结构。 例如文本块、段落、行的位置;是否有应该重建的表格;是否有“图像”“条形码等”。

文档布局分析 (Document Layout Analysis) 是识别和分类文本文档的扫描图像中的感兴趣区域(RoI, Regions of Interest) 的过程。阅读系统需要从非文本区域分割文本区域,并按正确的阅读顺序排列。将文本正文,插图,数学符号和嵌入文档中的表格等不同区域(或块)的检测和标记称为几何布局分析。但文本区域在文档中扮演不同的逻辑角色(标题,标题,脚注等),这种语义标记是逻辑布局分析的范围。

文档布局分析是几何和逻辑标签的结合。它通常在将文档图像发送到OCR引擎之前执行,但也可用于检测大型存档中同一文档的重复副本,或者通过其结构或图示内容索引文档。

阅读全文 »

当宿命从你门前走过的时候,芸芸众生总是显得那么渺小

0x00 LCS

最长公共子序列最长不降子序列以及最长公共字串都不是一回事。这种用搜索时间复杂度太高的问题一般都会选择用DP来解决。状态转移方程为:

$$c[i,j] = \begin{cases}
0, & i=0 \text{ or } j=0
\\ c[i-1,j-1]+1, & x_i =y_j
\\ max(c[i-1,j],c[i,j-1]), &x_i \neq y_i
\end{cases}$$

阅读全文 »

2017年应该是最折腾的一年,为了传说中的梦想从深圳到了北京,离开了我超喜欢的一个领导,到计算所后由期待到失望…

时间过的很快,因为把时间都浪费在搬家和融入新团队中了。不过忙忙碌碌的好处就是没有时间发呆和难过了哈哈哈 >_<

阅读全文 »

不过我喝咖啡从来不是为了提神的 这个世界上唯一提神的东西就是你今天必须完成的事情呀

博士只考一门数据结构与算法分析,如果这都考不过那就真的重在参与了。本文把看完书以后手撸的代码贴出来,留个纪念。

阅读全文 »

Tensorflow 的使用者虽多,但真的很难用。幸亏有基于TF和Theano的高层框架Keras(不幸的是Theano已经停止更新了)。我们通过MNIST来熟悉一下Keras。

先推荐一个学习线性代数的教程http://www.bilibili.com/video/av6731067/,不管你多忙也请看上面这个视频。
3Blue1Brown制作,深入浅出、直观明了地分享数学之美。

阅读全文 »

去年10月份左右从咸鱼买了一把号称93年产原装无修改的Fender vintage 57 stratocaster,拆开看了一下,琴颈的生产日期是1993.05.21,还挺有纪念意义的。但就在我买了新拾音器准备改装它的时候,好像发现了一个天大的秘密。

阅读全文 »

本资源来自网络,侵权请按ALT+F4

0x01 深度学习基础框架

1.人脸检测、跟踪、识别、三维建模的开源框架、算法、论文

(1) 人脸检测

在人脸检测方面常用的用两个,一个是 Tinyface 能检测到比较小的人脸。可以先玩通demo
另外一篇更为常用,如果你们对固定场景,比如视频对话,检测效果不错。而且他们能标注人脸关键点。
文章:Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networksb((Code)) 很多最近的创业公司用这个,但是如果场景特殊需要 re-train 一下

(2) 人脸跟踪

因为这个已经不是学术前沿问题,所以 CVPR、ICCV 上没有文章研究这一块
人脸跟踪这一块 openCV 有一个比较好的教程 http://opencv-java-tutorials.readthedocs.io/en/latest/06-face-detection-and-tracking.html
但是,工程上通用的做法还是,逐帧用最好的 face detector(比如 tiny face)检测后,用 optical flow 串起来。因为现在 face detection 已经很快了,没必要用 tracking 来加速,能做到很快。具体怎么弄我们可以当面讨论。
我的学生找了一下开源库(仅作参考,不建议用),但是不是正规的文章 https://github.com/kylemcdonald/ofxFaceTracker

阅读全文 »

首先庆祝一下我用TX-1做实验写的《GPU加速与L-ORB特征提取的全景视频实时拼接》发表啦^_^
导师表示很开心,又给我买了两台TX-2

TX-2比TX-1除了性能的升级,其它部分没有太大变化,接下来要写的小技巧对于TX-1/2都适用。使用期间发现的问题都会持续更新到这篇博客,目前发现的问题有:

  • OpenCV4Tegra 不支持 -lopencv_nonfree
  • OpenCV4Tegra 在TX-2中不支持 GPU 模块
  • 如何开启被屏蔽的2块CPU并设置为最大频率
  • 开启Nvidia TX-1/2 的VNC
阅读全文 »

不要代码写多了就变得那么没有人情味了

0x00 Intro

1. 读入MNIST数据库

执行mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)后,会检查MNIST_data/文件夹下有没有数据库文件,如果没有会自动下载。这一步如果执行比较慢,可以用迅雷手动下载下面四个文件,保存到MNIST_data目录(不需要解压)

阅读全文 »