问题标签 [optics-algorithm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
166 浏览

weka - 带有 DBSCAN 插件光学 (optics_dbscan) 的 Weka 3.9 - 错误:评估集群时出现问题:null

几年来,我一直在使用带有名为optics_dbscan (不再维护)的DBSCAN集群包的Weka OS发行版,但在过去的几个月里它已经停止工作,给我以下错误。
错误信息

我尝试了一系列 Weka 版本,包括 OSX 和一系列optics_dbscan版本,一两次我让它工作,但重新运行它失败了。

笔记本电脑系统自运行以来发生了变化:更新到 MacOS Catalina

我支持在 Windows 机器上也遇到同样错误的大量用户。

所采取的行动:

如果有更新会在这里报告

如果有人有任何帮助,我将不胜感激。

0 投票
3 回答
748 浏览

python - 光学并行度

我有以下脚本 ( optics.py) 来估计具有预先计算距离的聚类:

查看 htop 结果我可以看到只使用了一个 CPU 内核

在此处输入图像描述

尽管 scikit 在多个进程中运行集群:

在此处输入图像描述

为什么n_jobs=-1没有导致使用所有 CPU 内核?

0 投票
0 回答
280 浏览

opencv - 使用相机矩阵的物体与相机的真实距离

如何计算已知尺寸的物体(例如打印在纸上的 0.14m 的 aruco 标记)与相机的距离。我知道相机矩阵(camMatx)和我的 fx,fy ~= 600px 假设没有失真。根据这些数据,我能够计算出 aruco 标记的姿势并获得 [R|t]。现在的任务是获取 aruco 标记与相机的距离。我也知道相机距地平面的高度(15m)。

我应该如何解决这个问题。任何帮助,将不胜感激。另请注意,我也见过类似三角形的方法,但这将有助于了解物体的距离,这不适用于我的情况,因为我必须计算距离。

注意:我不知道相机传感器的高度。但我知道相机离地面有多高。

在此处输入图像描述

我知道我的对象正在移动的区域的尺寸(70m x 45m)。最后,我想在按比例绘制的 2D 地图上绘制移动物体的坐标。

0 投票
1 回答
150 浏览

python - OPTICS 算法中的密度连通集

我对 OPTICS 算法感到困惑。如果一组点是密度连接的,则可以将它们视为一个簇。如果有一个对象 o 使得 p 和 q 都是从 o wrt epsilon 和 MinPts 密度可达的,则点 p 与点 q 密度连接。

optics_example

在我的情况下(epsilon=5,minPts=2,L1-norm=Manhattan distance)H 是一个核心点,因为它的 epsilon 距离有 2 个以上的点。H 从 G 到 G 是密度可达的,因为它们共享 E。H 和 S 也是如此,因为它们共享 T。毕竟,E、T、S 和 G 在 H 的 epsilon 范围内。在我的意见 E、G、H、S、T 在同一个集群中。

如果我用它运行它sklearn.optics会给我图片的结果,其中 H 是噪声点。

为什么 E、G、H、S 和 T 不在同一个簇中?

这给了我:

0 投票
1 回答
659 浏览

python - 更改二维数组元素的值会更改整个列

当我打印我arr的值时,我得到了我的二维数组的正确值,但是当我退出 while 循环时,我的值都是错误的。

我不确定我做错了什么。

0 投票
1 回答
264 浏览

python - 模拟空间滤波器 4f 设置的问题(Python)

我有一个关于我的代码的问题,它以数字方式计算 4f 设置的输出字段,中间有一个针孔,用作空间滤波器。我的设置包括两个焦距为 50mm(距离 2f)的镜头,以及两个镜头之间的针孔。输入场具有高斯场分布,其中高斯光束的腰部为 4mm,此外我在输入场中添加了一些噪声。我的目标是看看我能过滤掉不同针孔直径的噪音有多好。

我编写了一个程序,在 4f 设置中模拟空间滤波过程,通常输出场的空间分布具有人们期望的形状(高斯场进入,高斯场出现)。我遇到的唯一问题是输出场的场幅度与输入场的幅度相比非常高(场 4 的最大值与 2000 相比)。

在我的程序中,我使用弗劳恩霍夫近似并通过使用 python 的 FFT/IFFT 函数数值求解弗劳恩霍夫衍射积分(对于从镜头前焦平面开始的场)。我的代码受到 Jason D. Schmidt(第 4 章)一书的启发:“用 MATLAB 中的示例对光波传播进行数值模拟”。我猜 fft/ifft 的比例因子有问题,但我不知道我的代码中的错误在哪里,因为我使用的比例因子与施密特书中的完全相同。

(fft2 -> dl^2, ifft2 -> (N*dl_f)**2,其中 dl_f = 1/(N*dl))

我的代码的功能是:

使用这些函数,然后我计算 4f 设置中的空间滤波过程,如下所示:

这些是我对 0.1 毫米针孔直径的结果图:

初始字段

傅里叶平面中的滤波场

输出字段

(我只能给你这些堆栈溢出链接,因为我还不允许发布图像)

如您所见,过滤过程在我的模拟中有效,但输出场的幅度与输入场相比非常高。有人知道我做错了什么吗?我现在正在寻找这个问题的解决方案,但没有成功。正如我之前所说,我猜我的 fft 比例因子可能有问题。

我真的很感谢任何想帮助我的人,因为现在我不知道我的代码做错了什么。

0 投票
1 回答
331 浏览

python - 如何使用 seaborn 绘制 OPTICS 聚类结果?

我使用 CNN 从 2 个类别(猫和狗)的 10 张图像中获得了特征。所以我有一个 (10, 2500) numpy 数组。我在数组上应用了 OPTICS 聚类算法来查找哪个图像属于哪个聚类

现在我正在尝试使用seaborn

但是没有剧情。

0 投票
0 回答
128 浏览

cluster-analysis - 用于对具有极低方差的数据进行聚类的数据准备

我试图集群生产机器的数据。我正在尝试 K-Means、DB-SCAN 和 OPTICS。使用所有算法,结果都非常糟糕(例如轮廓系数为 0.05)。

从我的观点来看,数据的方差非常低。我已经做了 PCA,前两个主要成分仅占数据集方差的 6%。下图显示了前两个主成分的直方图和散点图。

对于数据准备,我尝试了标准化、最小-最大缩放、具有方差阈值的特征选择 (sklearn)、单变量特征选择 (sklearn) 以及 PCA。结果并不令人满意。

所以我的问题是,您是否认为还有其他数据准备方法对我的整理有帮助。或者如果数据根本不适合进行聚类:D

感谢您的每一条评论!

前两个主要成分

具有两个功能的 K-Means++

具有五个特征的 K-Means++

0 投票
1 回答
300 浏览

python - 围绕单独点的密度聚类 - Python

我的目标是根据 xy 点的接近度对它们进行聚类。具体来说,将彼此靠近的点进行分组。我也希望使用一个单独的参考点来对数据进行聚类。

注意:我有多组需要独立聚类的数据。例如,使用下面的每个唯一值Item表示一组不同的数据。我可以有多个独特的数据集,它们的稀疏性都不同。因此,任何通过预定数量的集群的技术都是不现实的,因为我每次都必须手动检查拟合并调整适当的参数。

因此,迄今为止最好的方法是某种形式的密度聚类(DBSCAN、OPTICS)。

但是,虽然我将紧密结合在一起的点聚集在一起,但我希望通过一些截止以保持预期的集群球形。另一方面,我不想过多地减少可到达区域,因为我错过了靠近参考点和核心点的点,但是一个小的差距会丢弃我希望包括的点。

下面显示下面的困境。Item 1表示可达性应该如何降低以确保参考品脱周围的聚集点是球形的。虽然Item 2 显示了可到达区域如何需要更高以允许包含密集区域内的点。

我希望我可以调整一个参数或包含一个单独的功能而不是强制它。因为参考点周围的密集区域可能会有所不同,所以我不愿意强制排除特定半径之外的每个点。

第 1 项:半径右侧的点应从核心点中排除

在此处输入图像描述

第2项:半径内的点应包含在核心点中 在此处输入图像描述

0 投票
0 回答
77 浏览

python - 在python中绘制双曲面和椭圆体

我正在尝试绘制此图像,它是双曲面和椭圆体的组合(图像来自一篇论文 DOI:10.1038/lsa.2015.101)。我使用了双曲面和椭球的参数方程,我可以分别绘制它们。但是,我无法找到一种方法来以图中所示的方式组合双曲面和椭圆体

在此处输入图像描述