医学图像处理——读取和解读NII文件 NII文件的存储格式网上有很多资料,在此只做一点简单的描述。nii是一种文件格式,它存储的是在空间中占有一定体积的小方块的物理位置和该位置对应的像素值。这个小方块我们也称之为体素(voxel)。存储的形式是一个三维数组(3D array),具有三个索引ijk。它存储的物理空间(3D volume)解析出来是整整齐齐的长方体。但是表示一个体积仅仅靠数组是不够的,需要打一些补丁。我们通过苏格拉底式地提问慢慢还原出nii文件的一些重要参数设置。
图片对滤波器的冲激响应 impulse response 图像对滤波器的冲激响应实际上就是将滤波器看作一个传递函数,输入为一张只有某个像素点是1,其他像素点为0的空白图像,令该滤波器对这张图像作卷积运算。输出图像就是其滤波器的冲激响应。
第N次从零开始学习机器视觉(一) ——认识摄像头内参 了解摄像头0.前言1. 单目摄像头内参1.1 摄像头成像原理1.2 坐标系的定义1.3 摄像头内参2. 单目摄像头外参2.1 手眼标定0.前言本着带着问题学习效果更佳的原则。此处,我们提出以下几个问题,并在下文的描述中一个一个解决。摄像头的成像原理是什么?2维图像中的像素坐标系是怎么定义的?摄像头的3维世界坐标系是怎么定义的?如果给定2维图像中的任意一个像素点,如何知道该像素点在世界坐标系下的3维坐标?如果给定3维坐标点,如何能够反算出对应的2维图像中的像素点?1. 单目摄像头内参内参是
关于图像频域滤波笔记 从灰度值图像分析,图像的信息蕴含在图像物体的轮廓中,是对图像信息的表征,等价于灰度值变化剧烈的部分,因此当图像从空间域转化到频率域的时候,图像中所包含的边界和细节信息主要体现在高频部分。人眼对高频信号更为敏感。空域的卷积滤波等价于频域的点乘滤波。频域和空域之间的关系,以及基础知识。
快速傅里叶变换FFT和逆变换的python编程 快速傅里叶变换旨在解决离散傅里叶变换DFT计算量大效率低的问题。当我们想要抑制噪声提取出某段信号中的有效信息时,如系统模型辨识或者是使用高精度力传感器测量人体腕部寸关尺脉搏信号这类应用,应该如何设计采样流程? fft和ifft的求解包在scipy.fftpack中. 复数的幅值和相位可以使用numpy包中的np.abs()和np.angle()函数
白给的ROS编程笔记——vscode+ros工程建立以及ros package中的python脚本封装成模块被其他脚本调用 这篇博客主要记录了如何建立一个 vscode + ros 的工程以及记录了怎么将工程中A包的python模块给B包中的python脚本调用的编程方式
白给的ROS编程笔记——win+ubuntu双系统重新安装Ubuntu,配置ROS+深度学习开发环境全过程笔记 (一) 该博客总结如果在双系统下安装Ubuntu系统,同时从零开始配置Nvidia显卡驱动,即cuda toolkit和cuDNN的版本选择以及安装流程。同时还记录了如何安装一些简单易用的ubuntu小工具,中文输入法,截图软件等。最后还介绍了如何使用anaconda环境,以及vscode的常用插件,ROS编程环境使用小技巧等。总之几乎把所有的流程都打通了。后续可能会更新如何在vscode添加ROS CPP的调试功能, python的debug功能的使用介绍等。...............
机械臂示教轨迹参数化方法 DMP, Dynamic Movement Primitive (一) 一般的DMP是按照单个维度进行拟合的,如果涉及到位姿表示的方向问题,我们需要查看更多的文章,拟合的时候也需要多个维度同时拟合以满足方向的表达满足的约束条件,如四元数的范数为1。多条DMP轨迹拼接DMP架构的小改进,DMP的时间信号,Canonical System的设计,forcing term的建模方式和高斯混合模型中核函数的选择等DMP的速度曲线的拟合和调整多条示教轨迹情况下怎么处理等。......
从零点五开始的深度学习笔记——VAE(Variational AutoEncoder) (三)VAE的简单实现 这篇博客主要介绍了VAE损失函数的进一步简化计算,以及通过编程以MNIST手写数据为例,对比了自动编码器和变分编码器的生成效果。
从零点五开始的深度学习笔记——VAE(Variational AutoEncoder) (二)概率角度理解VAE结构 一个优秀的生成网络应该是怎么样的?这个生成网络在训练过程中,对编码器的要求应该是能够将输入x编码为一对一的隐变量z而不应该是多个x对应着同一个z。另外,在应用场景下的生成过程中,输入了一个处于训练集中隐变量中间位置的新的隐变量z^\prime给解码器,其生成的输出x应该满足某种在输入训练集中自动学习到的规律(这一点是传统自编码器的弊病,它被许多人诟病的地方在于遇到没有见过的隐变量,网络无法生成一个合乎规律的输出。...
从零点五开始的深度学习笔记——VAE(Variational AutoEncoder) (一) 预备知识 变分自动编码器是生成模型(generative model)中常见的系列之一,常见的生成模型还有GAN。这篇博文主要参考了 Ahlad Kumar视频中对VAE核心公式的解释和推导,力图将完整的实现和推导过程整理成笔记。这篇笔记所整理的内容是2019年1月11日的一个Ahlad Kumar博主的VAE系列视频教程,除此之外还加入了一些个人的理解。我们将逐渐过渡到cVAE (conditional Variational AutoEncoder)。视频参考链接:https://www.youtube.com/
Footswitch应用之Python键盘按键监听程序 Footswitch实际上可以看作一个超大号的键盘按键,或者是鼠标按键。它可以作为一个USB口外接设备人为产生触发信号给被控的设备,如常见的例子有激光发射或超声设备录制图像等的触发信号。那么如果我们需要把这个硬件用起来,接入到ROS中,作为机械臂切换交互还是不交互模式的触发信号,应该怎么使用?这就是这篇博文的写作动机。
奇思妙想随记 随记26-09-202126-09-2021今天看了李永乐老师今年1月份发布的视频:“5G到底是什么?它能成为创造未来的新科技吗?”。视频结束前,李老师讲了一个故事:1893年在美国哥伦比亚举行的世博会上,天才少年特斯拉用自己发明的交流电机同时点亮了七万盏灯灯泡,整个世博园区的夜晚被照亮得宛如白昼,在成千上万年的人类历史上,人们从来没有见过这样的情景,人们相信,这就是未来。近百年过去,人们早已对灯泡所带来的的“未来”习以为常。改革开放后,大批新鲜的事物涌入国内,电影、音乐、互联网。在近二十年中,与人们