S1NH

世界在旅程的尽头终结

去年把全景拼接算法部署到了郑州机场,实现 4×4K 视频采集、拼接、发布,在单个 1080ti 上可以达到 300FPS。

因为机场光照特别强烈,使用的廉价摄像头曝光不均匀。表现为每张图片都是中间曝光强,四周曝光弱,拼接以后在接缝处会出现条纹(下图)。因为摄像头上半部分是天空,我们假设天空的亮度、颜色是统一的,可以设计一个很简单的算法解决亮度不均匀的问题。

阅读全文 »

本文大多数内容翻译自 Ernie Ball 的官方博客

在知乎看到这样一个问题,因此搬运了一篇文章:原文链接
在练习曲目的过程中,有一些一些关于降调调弦及琴弦规格的一些问题疑问。

从一开始的标准调弦,到后来的drop C。自己用的琴有效弦长25.5。极限应该是dropC了,但一些喜欢的曲目需要dropB调弦,所以有这些疑问:
1:有效弦长25.5的琴,能否达到dropB的要求?所选用弦的规格如何挑选?
2:影响调弦的因素还有那些,比如跟琴本身有没有关系,打个比方,存不存在schecter的琴可以降到B而dean的琴不行?
3:我现在自己琴用的10-46,会不会对琴颈有影响?

阅读全文 »

机脚(发动机支架)负责在车架上固定和稳定发动机。为了减少发动机产生的振动,包含一个弹性的缓冲胶(机脚胶),给驾驶员创造一个更平稳,更愉快的旅程。另外,底座在发动机和车身之间起到弹簧的作用,减少了发动机的磨损。此外,发动机的噪音也会降低。随着发动机支座的磨损,通过车辆感觉到的振动量将开始增加。

原厂机脚和底盘摆臂链接件通常是橡胶材料,某些厂家为赛车提供了聚氨酯材料的缓冲胶。橡胶和聚氨酯由于其优异的可逆弹性变形性能和良好的阻尼和能量吸收特性,在许多汽车应用中得到应用。这两种类型的支架各有优缺点,我们将在下面讨论。

阅读全文 »

Initialize:

1
2
3
4
5
import tensorflow as tf
import numpy as np

dir = './model/tf_savedmodel'
zeros = tf.constant(np.zeros([1, 640, 960, 3]), dtype=float)

Work:

1
2
model = tf.saved_model.load(dir)
output = model.signatures['serving_default'](zeros)
1
2
model = tf.saved_model.load(dir)
output = model(zeros)

Failed:

1
2
model = tf.saved_model.load(dir).signatures['serving_default']
output = model(zeros)
1
2
3
4
5
tensorflow.python.framework.errors_impl.FailedPreconditionError:  Error while reading resource variable conv5_block17_0_bn/gamma_96932 from Container: localhost. This could mean that the variable was uninitialized. Not found: Resource localhost/conv5_block17_0_bn/gamma_96932/N10tensorflow3VarE does not exist.
[[{{node StatefulPartitionedCall/fusion_network/conv5_block17_0_bn/ReadVariableOp}}]] [Op:__inference_signature_wrapper_21102]

Function call stack:
signature_wrapper

User interview agreeableness conscientiousness extraversion neuroticism openness
heysky 0.920916 0.913731 0.919769 0.921289 0.914613 0.917014
hershd23 0.9180 0.9111 0.9153 0.9150 0.9100 0.9102
baseline 0.916202 0.91123 0.915228 0.91122 0.910378 0.911123
bekhouche 0.915746 0.910312 0.913775 0.91551 0.908297 0.910078
*MS1997 0.9047 0.9075 0.9066 0.9030 0.9018 0.9046
go2chayan 0.901859 0.903216 0.894914 0.90266 0.901147 0.904709
azzasama 0.872129 0.891004 0.865975 0.878842 0.863237 0.874761
阅读全文 »

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,还挺有纪念意义的。但就在我买了新拾音器准备改装它的时候,好像发现了一个天大的秘密。

阅读全文 »
0%