三维重建简单综述
文章《基于深度学习的视觉三维重建研究总结》从三维重建的意义、定义、表示方式、分类开始,总结了深度学习在三维重建方向的最近几年(截至2019年)的进展,分别是
从单张图像恢复深度图的文章《Depth Map Prediction from a Single Image using a Multi-Scale Deep Network》,是深度学习进行三维重建的开山之作,由粗到细并提出尺度不变的损失函数。单视图或多视图的体素三维重建文章《3D-R2N2: A Unified Approach for Single and Multi-view 3D Object Reconstruction》结合编码解码网络和LSTM,既可以对单幅图像做三维图像体素重建,又可以对多幅图像做。单张RGB图像的点云三维重建文章《A Point Set Generation Network for 3D Object Reconstruction from a Single Image》用1024个点云数据表示物体的三维重建,并提出了CD(Chamfer Distance)和 EMD(Earth Mover ...
Python 中 deepcopy, copy, 赋值的区别
Python 中数据对象分为三类,一类是不可变对象,如元组、字符串、数值;一类为单层可变对象,如列表 L = [1, 2, 3],字典 D = {‘x’: 1, ‘y’: 2};最后一类是多层可变对象,即可变对象中嵌套有可变对象,如列表 L = [1, [1, 2], 3],字典 D = {‘x’: [1, 2], ‘y’ = 3}。
Python 中拷贝也分为三类, 一类是赋值 ‘=’; 一类是浅层拷贝 copy.copy(); 一类是深层拷贝 copy.deepcopy(),它们表现了对数据操作的不同程度。赋值’=’是对数据对象“打上标签”, 而不对具体的数值操作,是一种指向操作。深层拷贝是真正意义上的拷贝一份,创造出两个完全意义的数据对象,在内存中开辟一个空间来存储数值。浅层拷贝对于对于不可变对象和单层可变对象开辟一个内存空间来存储数值,但是只存储“一层”,对于多层可变对象数据,不能够嵌套拷贝,因为嵌套的可变对象在多层可变对象中是以索引或标签的形式存储的。
举一些例子:
对于固定值的不可变对象,三者一样 ...
计算机视觉方向顶级会议和顶级期刊
计算机视觉(Computer Vision,简称 CV)方向是一个非常热门的方向,有关 CV 的会议和期刊因此也有很多,这里我介绍 CV 方向的三个顶级会议和两个顶级期刊。
三大顶会
CV 方向的顶级会议包括国际计算机视觉大会(IEEE International Conference on Computer Vision,简称 ICCV)、欧洲计算机视觉会议(European Conference on Computer Vision,简称 ECCV)、国际计算机视觉与模式识别会议(Conference on Computer Vision and Pattern Recognition,简称 CVPR),下面分别介绍它们。
ICCV
ICCV 是由电气电子工程师学会(Institute of Electrical and Electronics Engineers,简称 IEEE)于 1987 年发起和主办,隔一年举行一次,因此都是在奇数年举行。会议通常需要 4-5 天,最近有延长的趋势,举办地不固定,今年(2019 年)ICCV 将于 10 月 27 日(星期日)到 11 月 ...
深度学习的 GPU 环境的配置
本篇介绍如何在 Linux 服务器上安装 NVIDIA Driver(NVIDIA GPU 显卡驱动),CUDA Toolkit(GPU 通用并行计算架构),CUDA Deep Neural Network (cuDNN,CUDA 深度神经网络库),NVIDIA Collective Communications Library (NCCL,NVIDIA 集合通信库) 和 apex (NVIDIA/apex: A PyTorch Extension). 以 Ubuntu 18.04.6 LTS 为例进行介绍。
安装 NVIDIA Driver 和 CUDA Toolkit 需要考虑版本兼容问题,查看官方网站获取版本兼容对应关系。
NVIDIA Driver该模块就是安装显卡驱动。
ubuntu18.04-nvidia drivers 10.2
其实该步骤安装可以省略,在下一节安装 CUDA-TOOLKIT 时可同时选择安装驱动 NVIDIA-DRIVERS
1234567891011121314# 安装前需退出 X-SERVER,如 xorg 等,保证 `lsmod ...
LaTeX 中文模版
$\LaTeX$ - 中文(模板)
有些初使用 $\LaTeX$ 进行中文写作的作者,总是会遇到不能正确利用 $\LaTeX$ 编译中文文档的问题,这里总结出一个模板,来帮助这些作者方便进行 $\LaTeX$ 中文写作,具体步骤如下:
添加如下代码
XeLaTeX编译执行
(注意:生成目录需要编译两次)
具体 $\LaTeX$ 代码如下:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657\documentclass[a4paper, 12pt]{article}\usepackage{geometry}%\usepackage[UTF8, heading = false, scheme = plain]{ctex}%格式\usepackage{ctex}%\usepackage{authblk} %添加机构,需要安装pr ...
查看内存消耗排序情况
在终端运行如下命令
1ps -aux | sort -k4nr | head -n 25
查看占用内存从大到小的25个进程
Linux端口占用情况查询与释放端口
查询特定端口占用情况:
1root@ip-172-26-1-96:/# netstat -ntulp | grep 8080
1tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 5759/filebrowser
结果最后一位分别是进程id/进程名,使用如下方法杀死进程:
1root@ip-172-26-1-96:/# kill 5759
再次查看端口得到释放
1root@ip-172-26-1-96:/# netstat -ntulp | grep 8080
更多方法,请参考:[Linux 端口占用与释放](
123456title: Linux端口占用情况查询与释放端口date: 2019.12.21tags:- linux- portcategories: technology
查询特定端口占用情况:
12root@ip-172-26-1-96:/# netstat -ntulp | grep 8080tcp 0 0 127. ...
Mac Book Pro 更改 bash 为 zsh
zsh 相较于 bash 有更多的方便,如更强大的命令补全、支持更方便的历史命令搜索等。本篇介绍如何从 bash 切换为 zsh.
切换 zsh1234chsh -s /bin/zsh# 有时 Centos 上没有自动安装工具 chsh,可使用如下方法安装sudo yum install util-linux-user
安装 oh-my-zsh1sh -c "$(wget -O- https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
使用主题12345678910vim ~/.zshrc# 指定主题,如好用的 ys:ZSH_THEME="ys"# 终端动态更新提示符PS1时间TMOUT=1TRAPALRM() { zle reset-prompt}
在服务器上搭建个人网盘
本篇通过 filebrowser 在服务器上搭建个人网盘。本篇以 Ubuntu 为例,以普通用户身份允许命令。
安装 filebrowserfilebrowser 官网上推荐的安装方法如下:
1curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
也可以直接到 Github上地址:https://github.com/filebrowser/filebrowser 下载最新版安装。
1234567cdFILEBROWSERVERSION=$(curl -fsSL https://api.github.com/repos/filebrowser/filebrowser/releases | grep tag_name | sed -E 's/.*"(.*)".*/\1/'| head -n1)wget https://github.com/filebrowser/filebrowser/releases/download/$FILEB ...
如何求解方程$\sin(x)=2$
MathJax.Hub.Config({
tex2jax: {
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
inlineMath: [['$','$']]
}
});
如何求解方程$$\sin(x)=2$$该方程有多少个解?
Ubuntu 包管理工具 snap
在 Ubuntu 系统上,命令行利用 apt 作为包管理工具已经是非常不错的,但是,有些包,比如 youtube-dl 却不能很好的安装和更新,但是,通过 snap 我们可以非常完美的解决这类包的安装与管理。
利用 apt 安装 snap,命令如下
1sudo apt install snapd
查找需要安装的包
1snap find search_text
安装包
1sudo snap install package
查看安装了哪些包
1snap list
查看安装的包的历史
1snap changes
更新安装的包
1sudo snap refresh package
也可以查看更新列表
1sudo snap refresh --list
返回包的更新到上一个版本
1sudo snap revert package
卸载包
1sudo snap remove package
通过 snap下载离线 app
1snap download package_name
安装app
12snap ack package_namesnap install package ...