
基础知识
leo0308
AI攻城狮
展开
-
ubuntu命令行连接网络
【代码】ubuntu命令行连接网络。原创 2025-04-09 16:46:18 · 79 阅读 · 0 评论 -
详解相机的内参和外参,以及内外参的标定方法
首先空间中的一点由世界坐标系转换到相机坐标系 ,然后再将其投影到物理成像平面 ( 成像平面坐标系 ) ,最后再将成像平面上的数据转换像素坐标系。相机内参表达的就是这三个坐标之间的转换关系, 而相机外参表达的是相机与世界坐标系之间的转换关系。常用求解PnP 的方法,即已知多个点, 在像素坐标系的二维坐标, 和在世界坐标系的三维坐标,并且已知内参, 求解旋转平移矩阵。外参标定的核心是:已知多个点分别在相机坐标系下的坐标和在世界坐标系下的坐标, 求它们之间的映射关系。, 在相机坐标系下的坐标为。原创 2025-04-02 20:52:49 · 1424 阅读 · 0 评论 -
单应矩阵和旋转平移矩阵的区别与联系
单应矩阵单应矩阵是一个3×3的矩阵,通常用于描述两个平面之间的投影变换。它能够将一个平面上的点映射到另一个平面上的点。在图像处理中,单应矩阵常用于图像的平面变换,例如图像拼接、图像矫正等场景。它可以通过对应点对(即两个平面上的点对)来估计得到。原创 2025-03-25 15:56:27 · 766 阅读 · 0 评论 -
带旋转的目标标注工具-X-AnyLabeling
对于2D目标检测标注, 上面的工具只能标注不带旋转的检测框。但是如果我们要进行带旋转方向的检测(OBB), 就需要标注带旋转的数据, 这个时候可以使用X-AnyLabeling 这款工具。原创 2025-03-19 20:05:37 · 517 阅读 · 0 评论 -
推荐一款沉浸式翻译神器
这个工具名字就叫沉浸式翻译。原创 2025-03-18 20:21:48 · 542 阅读 · 0 评论 -
修改HuggingFace模型默认缓存路径
huggingface模型的默认缓存路径是通常修改为自己的路径会更为方便。原创 2025-03-18 19:57:58 · 529 阅读 · 0 评论 -
智能标注工具 T-Rex Label
该工具可以进行自动化标注, 只需框选出一个标记, 就可以自动标注出图片中所有的其他同类物体。支持到处YOLO 和COCO格式。首先使用智能标注, 可以标注出大部分的物体, 如果有错的或者漏的, 可以删除, 也可以使用矩形框工具进行手动增加。原创 2025-03-10 19:49:27 · 336 阅读 · 0 评论 -
ptython setup.py install 设置python包编译时的并行数
通过源码编译安装pytorch3d的时候, 直接执行python setup.py install 时, 默认开的并行数很多, 有10几个, 直接导致机器卡死。通过设置下面的环境变量, 可以设置较小的并行数, 避免占用过多的资源。设置后, 同时只有4个编译的进程。原创 2025-02-20 15:20:36 · 216 阅读 · 0 评论 -
安装MinkowskiEngine记录
在我的环境中, 直接pip安装一直编译错误。一开始是因为gcc版本过高(11.x), 无法编译MinkowskiEngine, 后来降低gcc版本到7.5 编译依然报错。降低gcc版本, 请参考。最后下载了源码, 通过。原创 2025-02-18 20:04:12 · 388 阅读 · 1 评论 -
解决 THC/THC.h: No such file or directory 报错
出现THC/THC.h: No such file or directory 这个问题的原因主要是:pytorch在1.11版本之后,THC/THC.h就被移除了,所以出现这个问题的原因是因为pytorch版本太高的原因。解决这个问题一个最直观的方法就是降版本,如果不更改版本的话, 需要修改源代码。下面的代码库中已经修改了对应的代码, 可以从这个库中下载代码,即可成功编译。原创 2025-02-14 14:22:19 · 349 阅读 · 0 评论 -
Unbuntu 22.04 安装 GCC 7.5版本
Unbuntu 22.04 默认的gcc版本是11, 版本太高, 无法编译Minkowski Engine。安装是找不到这么低的旧版本的,因此需要首先添加包含这个版本的源头。因此需要安装低版本的gcc。原创 2025-02-12 14:13:51 · 466 阅读 · 0 评论 -
解决 ssh: connect to host github.com port 22: Connection timed out
参考链接: https://zhuanlan.zhihu.com/p/521340971。出现这个错误的原因是 22 端口被防火墙屏蔽了, 换一个端口即可,如443端口。原创 2025-02-07 18:40:19 · 618 阅读 · 0 评论 -
目标检测,语义分割标注工具--labelimg labelme
labelimg可以用来标注目标检测的数据集, 提供多种格式的输入, 如Pascal Voc, YOLO等。原创 2024-12-28 23:30:40 · 1108 阅读 · 0 评论 -
pytorch GPU版本安装
现在的安装已经很简单了, 一键式安装即可。网上的很多安装教程已经过时了, 不用像很早之前一样手动安装cuda toolkit, cudnn了, 直接安装的pytorch版本中已经包含了相关的包。原创 2024-12-28 12:50:45 · 203 阅读 · 0 评论 -
coco数据集中的80个类别
【代码】coco数据集中的80个类别。原创 2024-12-28 11:21:20 · 300 阅读 · 0 评论 -
旧版本torch torchvision安装下载
现在最新的torch版本都到2.x以上了。如果想要下载1.x版本版本, 通常直接pip安装都会报找不到相应版本的错误。出现这个错误的原因是pip 的下载源中没有老版本的torch 了, 特别是当要下载cuda版本的torch时。一种比较简单的解决办法是手动下载指定版本的.whl文件, 然后安装。原创 2024-12-05 21:11:50 · 567 阅读 · 0 评论 -
batchnorm与layernorn的区别
图像特征通常每个通道是较为独立的, 比如一个通道关注颜色, 另一个通道可能关注纹理等等,不同同道之间可比性较低, 而对同一个通道, 不同图像样本区别可能不大, 有可比性。举个例子, 假设输入的特征图尺寸为16。224*256, 这4个维度分别是B, H, W,D, 那么batchnorm就是对256个通道的每一个通道, 在16个样本上进行归一化计算。cv 中的batch通常较大, 在batch这个维度求均值方差是有意义的, 而nlp中batch通常较小, 求均值方差失去意义。原创 2024-11-21 23:22:57 · 463 阅读 · 0 评论 -
torch矩阵乘 mm bmm matmul区别
只能进行2个3维矩阵的乘,第1维是batch, 在后两个维度上进行矩阵乘。可以进行高维矩阵的乘, 在最后两个维度上进行矩阵乘。只能进行2个2维矩阵的乘, 维度不对会报错。原创 2024-11-20 21:12:43 · 298 阅读 · 0 评论 -
向量的外积
如上图, 想要判断向量b在向量a的顺时针方向还是逆时针方向, 计算axb的外积即可。大于0 , 则b在a的逆时针方向, 小于0则b在a的逆时针方向, 等于0 时a和b共线。向量的外积还是一个向量, 方向是垂直于这两个向量所在的平面。向量的内积大家都很熟悉了,计算两个向量之间的夹角时就用到了向量的内积。向量的内积是一个标量, 它的值是一个向量在另一个向量上投影的长度。那么c的方向满足右手规则, 垂直a和b所在的平面向上。向量的外积有一个特别有用的地方:判断向量的旋转方向。的方向就是垂直a和b所在的平面向下。原创 2024-10-14 21:59:21 · 800 阅读 · 0 评论 -
april tag制作
april tag制作。 网站:https://chaitanyantr.github.io/apriltag.html原创 2024-10-09 19:41:41 · 335 阅读 · 0 评论 -
opencv solvePnP求解相机位姿
【代码】opencv solvePnP求解相机位姿。原创 2024-10-10 20:39:34 · 255 阅读 · 0 评论 -
python退出子线程的两种方式
在python中开启一个线程是很容易的, 通过threading模块定义一个线程, 直接调用start 方法即可启动线程。但是想要停止一个线程不是那么容易, 没有提供直接的方法可以调用。但是我们仍然可以通过其他方法间接实现这一功能。原创 2024-10-09 19:39:42 · 1262 阅读 · 0 评论 -
cv2.waitkey(30) 按键盘无效
上述代码想实现的是在显示图像的时候, 当键盘按下按键’S’ 后打印一些信息, 但无论在键盘上怎么按s键, 始终没有执行到打印逻辑。经过尝试后发现, 鼠标的焦点必须要在显示的图像上按键才有效。原创 2024-09-25 19:42:36 · 575 阅读 · 0 评论 -
相机标定板生成
可以生成多种样式的棋盘格, 大小, 行列数也都可以设置, 非常方便。另外推荐结合相机标定程序使用, 效果更佳!原创 2024-08-28 18:45:32 · 403 阅读 · 0 评论 -
python setup.py打包多级目录使用find_packages()
若没有使用find_packages(), 则默认打包的只有当前包目录下的python 程序, 子目录下的程序并没有被打包。find_packages() 函数用于自动发现并返回当前目录及其子目录下的所有 Python 包。.py 文件来判断目录是否是一个包,可以在 setup() 函数的 packages 参数中使用。原创 2024-08-06 10:54:30 · 623 阅读 · 0 评论 -
windows系统conda 使用注意事项
但是,在Anaconda的终端中, 无法使用完整的命令行工具。如设置环境变量的set命令就不起作用。这时我们就想要在windows的cmd命令中直接使用conda。但直接使用会有问题,这是因为conda没有加到windows的环境变量PATH中。解决办法是找到conda路径, 加到PATH中。如我的环境路径是 E:\anaconda3\Scripts。这个路径取决于安装时选择的路径。在windows系统中,可以直接在Anaconda 的终端中使用conda功能。执行conda init即可。原创 2024-07-22 19:20:56 · 697 阅读 · 0 评论 -
ros2 Node的create_timer, 当任务时间大于定时间隔会发生什么?
ros2 Node的create_timer其实并非完全异步的, 当任务时间大于定时间隔时, 并不能保证任务按设置的定时间隔执行。当任务时间小于定时间隔时, 任务是按设置的定时间隔执行的。原创 2024-07-18 12:30:40 · 345 阅读 · 0 评论 -
python threading的Timer,当任务时间大于定时间隔会发生什么?
threading的Timer模块其实并非完全异步的, 当任务时间大于定时间隔时, 并不能保证任务按设置的定时间隔执行。当任务时间小于定时间隔时, 任务是按设置的定时间隔执行的。原创 2024-07-18 11:23:44 · 327 阅读 · 0 评论 -
CMakeList.txt 与makefile文件介绍
在C ++ 项目中, 我们经常可以看到CMakeList.txt 文件和makefile文件, 那么它们分别有什么用呢?下面的图示很好地解释了它们的作用以及两者之间的关系。原创 2024-06-26 20:54:15 · 210 阅读 · 0 评论 -
shell脚本中sudo密码自动输入
在shell脚本中, 我们可能需要用到sudo权限, 如果没有免密设置, 是需要输入密码的, 但是在自动化的脚本中,我们不希望进行手动密码输入,这时就需要用到密码自动输入。利用管道命令把密码传递给sudo命令。缺点是需要明文的密码。原创 2024-06-25 19:27:26 · 1846 阅读 · 0 评论 -
linux 设置程序自启动
程序随系统开机自启动的方法有很多种, 这里介绍一种简单且常用的。原创 2024-06-25 19:21:57 · 1187 阅读 · 0 评论 -
相机标定详解
在使用相机的视觉任务中,我们总是听到相机标定这个词, 那么相机标定到底是干什么, 为什么要进行相机标定呢?常用的相机标定方法又有哪些呢?本文试图从这几个方面来详细解释相机标定。与其他的文章不同, 本文抛开繁琐的数学公式以及成像几何原理, 用通俗易懂的方式来解释。原创 2024-05-11 19:15:31 · 694 阅读 · 0 评论 -
Ubuntu安装中文输入法
注意这个依赖的安装非常重要, 否则配置好中文输入法也无法输入中文。Ubuntu默认没有中文输入法, 本文将安装搜狗拼音输入法。-4 打开fcitx程序,在fcitx中配置输入法选项。1 安装搜狗拼音输入法。先去官网下载安装包,原创 2024-04-28 19:48:15 · 1039 阅读 · 0 评论 -
nvidia-smi版本与nvcc-V
nvidia-smi 显示的版本是驱动的版本,而nvcc -V 显示的版本是cuda toolkit的版本。由于驱动版本是向下兼容的, 因此cuda toolkit版本小于等于驱动版本都可以正常使用。pytorch, cudadnn等要求的cuda版本都是指cuda toolkit的版本。原创 2024-03-02 15:06:57 · 1769 阅读 · 0 评论 -
linux环境安装cuda toolkit
这里显示cuda版本是11.8, 这里显示的是驱动的版本。由于驱动是向下兼容的,因此只要cuda toolkit版本小于等于这个即可。由于安装时没有删除掉旧版本 ,因此现在环境中应该会存在多个cuda toolkit版本, 并且默认还是旧版本, 可以通过。安装过程中, 我们把驱动这一项去掉, 只安装cuda toolkit.如果环境中没安装过cuda版本, 这种情况下比较简单。首先要确认最高支持的版本,通过。如下为安装cuda toolkit 11.8.安装时为了避免更新驱动导致其他问题, 在执行。原创 2024-03-02 13:50:10 · 9312 阅读 · 0 评论 -
linux上pip3 install torch==1.11和pip3 install torch==1.11+cu115区别
在linux上安装torch时, 如果环境安装好了CUDA环境, 那么安装torch时不用刻意指定带cuda的版本, 最终安装的也是支持GPU的torch版本。但是仍然有一些小的区别,主要就是支持CUDA版本的不同。如上图, 安装torch时未指定需要安装gpu版本, 但是实际安装的也是支持gpu的版本。只是安装了支持cuda 10.2的版本。实际上系统的cuda版本是11.5.如果明确指定cuda版本, 则安装的就是对应的版本。注意, 直接安装可能会找不到对应版本, 需要通过。原创 2024-03-01 23:43:06 · 1040 阅读 · 0 评论 -
conda常用操作
conda常用操作。原创 2024-03-01 21:08:13 · 387 阅读 · 0 评论 -
-o StrictHostKeyChecking=no用法
通过bash脚本后台执行对远程机器的操作时, 执行过程没有报错和其他提示信息, 执行之后却发现根本没有成功执行。其中一个原因就是没有加认证。最简单的解决办法就是忽略认证, 做法是添加"-o StrictHostKeyChecking=no"只不是脚本在后台执行的时候没有这个提示信息, 误认为没有问题, 其实脚本是没有执行成功的。原创 2024-02-29 15:06:52 · 1759 阅读 · 0 评论 -
解决mp4视频无法拖动进度条的问题
海康威视的监控摄像头保存的视频,,mp4格式, 大小1G。用PotPlayer播放器进行播放, 不拖动进度条的话可以正常播放, 但拖动进度条后, 视频无法正常播放, 在 PotPlayer 中的表现就是只有进度条在走,视频画面停留在拖动前的画面。PS: 同时保存的有多个监控视频, 除了个别视频不能拖动进度条播放, 其他的都能拖动进度条播放。打开new.mp4尝试一下看是否能正常拖动进度条播放。视频文件有损坏, 时间轴信息丢失。原创 2023-12-20 22:34:07 · 22929 阅读 · 5 评论 -
判断一个点是否在一个多边形内部
通过观察可以发现, 当点在四边形内部时, 如果按顺时针方向的话, 点P在四条边AB, BC, CD, DA的右侧。当然如果按逆时针的话, 点P在四条边的左侧。点Q在AB,BC的右侧, 但在CD和DA的左侧。因此可以通过方向的一致性判断点是否位于多变形内部。如下图所示, 四边形ABCD, P在四边形内部,Q在四边形外部。原创 2023-09-07 12:18:55 · 1021 阅读 · 0 评论