TeXLive + TeXstudio 配置与使用
LaTex 是学术论文写作的标准工具,其排版好,可控制性强同时格式调整容易书写更快。TeXLive + TeXstudio 是一个比较常见的搭配(当然 TeXmaker 也是可以的,并没有太大区别,TeXstudio 高级功能更多一点),这里面简单总结下其安装配置过程。
0 系统环境
Ubuntu 16.04
1 安装步骤
在 Ubuntu 上安装这一组合非常容易仅需两行命令即可(分别安装 TeXLive 包和 TeXstudio 包):
Shell
sudo apt-get install texlive-full
sudo apt-get install texstudio
12
sudo apt-get install...
双目相机畸变和平行矫正
1 双目相机内外参
1.1 内参矩阵
左相机:
右相机:
1.2 畸变系数
左相机:
右相机:
1.3 外参系数
左相机外参: 和
右相机外参: 和
1.4 理想内参矩阵
构建一个两个相机共同的理想内参矩阵
2 典型步骤
参照 [2] 中的步骤,双目相机典型的畸变和平行矫正流程如下:分别将两个图像的像素坐标系通过共同的内参矩阵转换到相机坐标系:
分别对两个相机坐标系进行旋转得到新的相机坐标系。通过左乘旋转矩阵R1和R2。
针对新的相机坐标分别进行左、右相机的去畸变操作。
去畸变操作结束后,分别用左、右相机的内参矩阵将左、右两个相机坐标系重新转换到左、右图像像素坐标系。
并分别用左、右源图像的像素值对新左、右图像的像素点进行插值。3 OpenCV 中的相关函数findChessboardCorners()用来发现棋盘格的角点位置,这里用的是haaris角点检测方法。cornerSubPix()角点位置精确到亚像素级。
stereoCalibrate()通过角点推算出两个相机的内参矩阵M1,M2和畸变系数D1,D2,当然外参矩阵随之也就计算出来了(在图像校正中还没有用到外参),这里用到的是张正友相机标定算法。
stereoRectify()根据内参矩阵和畸变系数计算右相机相对于左相机的旋转R和平移矩阵T,并将这个旋转和平移矩阵分解成左、右相机各旋转一半的旋转R1,R2和平移矩阵T1,T2,这里用到的是bouguet极线校正的方法。
initUndistortRectifyMap()和remap()对左右相机拍摄的图像进行校正(在今后的文章中将会详细介绍实现方法和步骤)。参考文献
[1] https://blog.csdn.net/wangxiaokun671903/article/details/37935113
[2] https://blog.csdn.net/wangxiaokun671903/article/details/38017055...
WordPress 常见错误整理
1 无法添加目录,提示:Could not insert term into the database
如果出现上述问题,可能有多种因素导致,以下是一些可以尝试的方案:
1)尝试修复数据表:
修改配置文件 wp-config.php,添加如下行:
PHP
define('WP_ALLOW_REPAIR', true);
1
define('WP_ALLOW_REPAIR', true);
运行:
http://yourwebsite.com/wp-admin/maint/repair.php
然后注释掉刚才添加的一行。
如果上述仍无法解决,尝试下一步。
2)检查数据库表结构:
MySQL
ALTER TABLE `wp_terms` CHANGE `term_id` `term_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_terms AUTO_INCREMENT...
论文笔记:Deep ChArUco: Dark ChArUco Marker Pose Estimation
ChArUco 在相机标定中比较常用,同时在一些 AR 应用中也有涉及。这篇文章是针对 ChArUcho 这个矩阵二维码使用 Deep Learning 方法进行姿态估计,取得了比传统方法更佳鲁棒的结果(似乎可以为标志检测之类)。
文章主要贡献在于:
1、两个网络 ChArUcoNet 和 RefineNet:前者用于定位 ChArUco 的角点坐标,后者用于对角点坐标进行亚像素修正
2、使用仿真数据进行自动标注与训练的方式
1 传统方法
ChArUcho 示意图如下:ChArUco 就是棋盘格和 ArUco 码的结合,整体是一个 5x5 的期盼形状,总共有 16 个 ArUco 码代替了棋盘格中的白色方格,其中的...
Ubuntu/Mac 深度学习开发基本环境配置
0 环境依赖
Ubuntu 依赖库:
1)zsh:
安装:
Shell
sudo apt-get install zsh
1
sudo apt-get install zsh
2)git:
安装:
Shell
sudo apt install git-all
1
sudo apt install git-all
Mac 依赖库:
1)Homebrew:
安装:
Shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1
/bin/bash -c "$(curl -fsSL...
论文笔记:Deep Closest Point: Learning Representations for Point Cloud Registration
DCP 是一篇基于 Deep Learning 来解决 ICP 问题的,其中 Deep Learning 部分主要用于做匹配,后端仍然沿用 SVD 的方法。比很多 MLP 直接出 Pose 的合理,也取得了更好的效果。在与传统方法例如 Go-ICP 以及深度学习方法 PointNetLK 的对比中,都取得了一定的优势。1 经典 ICP 问题
这一部分在之前的论文笔记中已经有了比较详细的阐述,参见:使用 SVD 方法求解...
使用 SVD 方法求解 ICP 问题
本文是结合《Least-Squares Rigid Motion Using SVD》和《Least-Squares Fitting of Two 3-D Point Sets》两篇文章写的一个总结,里面有一些是自己的理解不一定正确。
1 问题定义
假设我们有两个点云集合 和 ,则我们定义的 ICP 问题是通过最小化点对之间距离获得相应的 Pose:
其中 代表每个点的权重。R 和 t 是我们所要求的旋转矩阵和平移向量。
2 计算平移
我们分两步求解旋转和平移,首先求解 t。固定...
Ubuntu 下监控并自动重启网卡
很多时候网站服务器挂掉也可能是因为网卡挂掉了,如果你网站不能访问时 SSH 也无效了一般都是这个问题。这时可以通过一个定时脚本监控网络并进行自动重启。相关文章:Linux 下如何监控并自动重启 apache
1 创建脚本 auto_restart_network.sh
内容如下:
Shell
#!/bin/bash
ping www.baidu.com -c 1 >/dev/null
if [ $? -ne 0 ];then
# systemctl restart network
sudo /etc/init.d/networking restart
echo `date` network restart >>...
论文笔记:Dynamic Graph CNN for Learning on Point Clouds
DGCNN 是对 PointNet 的改进,PointNet 网络每个点单独提取特征缺乏局部关联。DGCNN 提出了 EdgeConv 就是对它的改进。
1 网络结构
DGCNN 网络结构如下图所示,可以看出其整体架构和 PointNet 是基本一致的,主要区别就是将其中的 MLP 替换成了 EdgeConv。2 EdgeConv
2.1 EdgeConv 结构上图是 EdgeConv 的示意图。假设一个F维点云 其中 F 表示每个点的维度,最简单的可能是 x,...
论文笔记:GCNv2: Efficient Correspondence Prediction for Real-Time SLAM
GCNv2 是一个专门针对几何匹配的描述子网络,是对 GCN 的改进版主要工作如下:1)与常见深度学习特征匹配的性能并且显著减少了前向运算的时间;2)加入了二值化层,生成二值特征。
1 GCNv2 网络结构
GCNv2 网络结构如下图所示:这一结构不必赘述,其实跟 SuperPoint 很像,不过 Descriptors 部分是把 Keypoints 直接拿来取了相应的部分。PixelShuffle (有人也叫作 Sub-pixel Convolution 或者亚像素卷积)在文章(《Real-Time Single Image and Video Super-Resolution Using an Efficient...