【问题标题】:Segmentation fault: 11 with ConvexHull method of scipy.Spatial分段错误:11 使用 scipy.Spatial 的 ConvexHull 方法
【发布时间】:2020-04-18 17:43:12
【问题描述】:

我在我的 Mac OS X 中尝试https://github.com/alievk/avatarify,当我在所有安装步骤后尝试执行程序时,我遇到以下错误。

run_mac.sh: line 11: 80178 Segmentation fault: 11 python cam_fomm.py --config $CONFIG --checkpoint $CKPT --cam $CAMID --relative --adapt_scale --no-pad

我能够将问题的原因与使用的 scipy.Spatial 包中的 ConvexHull 方法隔离开来。但不确定如何解决此问题。

【问题讨论】:

  • 可能相关问题:github.com/scipy/scipy/issues/9751
  • @WarrenWeckesser 是的。似乎是这样。其他面临该问题的操作系统版本和我正在使用的 XCode 版本相同。

标签: python python-3.x scipy scipy-spatial


【解决方案1】:

您能否发布您采取的所有步骤,以及凸包错误是什么? scipy.spatial(Qhull 算法)中的凸包算法在多种情况下引发异常。 Qhull 期望点在 2D 中表现良好。例如,如果提供给它的所有点都是同一个点,它将引发异常:

>>> from scipy.spatial import ConvexHull
>>> import numpy as np
>>> points = np.zeros((30,2))
>>> hull = ConvexHull(points)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "qhull.pyx", line 2359, in scipy.spatial.qhull.ConvexHull.__init__
  File "qhull.pyx", line 354, in scipy.spatial.qhull._Qhull.__init__
scipy.spatial.qhull.QhullError: QH6013 qhull input error: input is less than 2-dimensional since it has the same x coordinate

While executing:  | qhull i Qt
Options selected for Qhull 2015.2.r 2016/01/18:
  run-id 567167702  incidence  Qtriangulate  _pre-merge  _zero-centrum
  _max-width  0  Error-roundoff  0  _one-merge  0  _near-inside  0
  Visible-distance  0  U-coplanar-distance  0  Width-outside  0  _wide-facet  0

调试问题的一种方法是在调用 ConvexHull 算法之前打印出输入点,然后查看 ConveHull 在这些输入点上引发的回溯。这应该有助于缩小问题范围。

【讨论】:

  • 我正在尝试从github.com/alievk/avatarify 执行程序。所以,我不太确定如何进一步调试。日志语句没有提供太多洞察力,所以我添加了一些调试语句,我能做的最好的就是找到错误的来源。很抱歉无法在此处提供更多详细信息。
  • def normalize_alignment_kp(kp): kp = kp - kp.mean(axis=0, keepdims=True) log('Got mean') log(kp) area = ConvexHull(kp[:, : 2]).volume log('Got area') area = np.sqrt(area) log('Got sqrt') kp[:, :2] = kp[:, :2] / area return kp 以上是代码sn-p 调用它的地方。我已尝试打印这些值,但仍不确定如何处理它们。
猜你喜欢
  • 2019-02-26
  • 1970-01-01
  • 2012-09-27
  • 1970-01-01
  • 1970-01-01
  • 2017-01-29
  • 2017-06-25
相关资源
最近更新 更多