标签: labeling

在geom_point中标记点

我正在玩的数据来自下面列出的互联网资源

nba <- read.csv("http://datasets.flowingdata.com/ppg2008.csv", sep=",")
Run Code Online (Sandbox Code Playgroud)

我想要做的是创建一个2D点图,比较该表中的两个指标,每个玩家在图上表示一个点.我有以下代码:

nbaplot <- ggplot(nba, aes(x= MIN, y= PTS, colour="green", label=Name)) + 
                  geom_point() 
Run Code Online (Sandbox Code Playgroud)

这给了我以下内容:

NBA情节

我想要的是一个玩家名字的标签就在点旁边.我认为ggplot美学中的标签功能会为我做这个,但事实并非如此.

我也尝试过text()函数和textxy()函数library(calibrate),它们似乎都不适用于ggplot.

如何为这些点添加名称标签?

plot r ggplot2 labeling ggrepel

153
推荐指数
3
解决办法
23万
查看次数

如何在TensorFlow中实现场景标注的逐像素分类?

我正在使用Google的TensorFlow开发深度学习模型.该模型应用于分割和标记场景.

  1. 我使用的是SiftFlow数据集,它有33个语义类256x256像素的图像.
  2. 结果,在我使用卷积和反卷积的最后一层,我得到了下面的张量(数组)[256,256,33].
  3. 接下来我想应用Softmax并将结果与​​大小为[256,256]的语义标签进行比较 .

问题: 我应该将均值平均值或argmax应用于我的最后一层,使其形状变为[256,256,1],然后循环遍历每个像素并进行分类,好像我在对256x256实例进行分类?如果答案是肯定的,如果没有,还有什么其他选择?

classification computer-vision scene labeling tensorflow

17
推荐指数
1
解决办法
6164
查看次数

用于标记三角形网格边缘的算法

介绍

作为一个更大的程序(与渲染体积图形相关)的一部分,我有一个小而棘手的子问题,其中任意(但有限)三角形2D网格需要以特定方式进行标记.我刚刚写了一个解决方案(见下文),它对我当时的测试网格来说已经足够好了,尽管我意识到这种方法对于人们可以想到的每个可能的网格都可能不会很好.现在我终于遇到了一个网格,目前的解决方案根本不能很好地执行 - 看起来我应该想出一种完全不同的方法.不幸的是,我似乎无法重置我的思路,这就是为什么我以为我会问这里.

问题

请看下面的图片.(颜色不是问题的一部分;我只是添加它们来改进(?)可视化.而且变化的边缘宽度是一个完全不相关的工件.)

对于每个三角形(例如,橙色ABC和绿色ABD),三个边缘中的每一个都需要被给予两个标签中的一个,例如"0"或"1".只有两个要求:

  1. 并非三角形的所有边都可以具有相同的标签.换句话说,对于每个三角形,必须有两个"0"和一个"1",两个"1"和一个"0".
  2. 如果边缘由两个三角形共享,则它们必须具有相同的标签.换句话说,如果图像中的边缘AB对于三角形ABC标记为"0",则对于ABD也必须标记为"0".

网格是真正的2D网格,它是有限的:即,它不包裹,并且它具有明确定义的外边界.显然,在边界上很容易满足要求 - 但内部变得更加困难.

直观地说,看起来至少应该存在一个解决方案,即使我无法证明它.(通常有几个 - 其中任何一个都足够了.)

当前解决方案

我目前的解决方案是一个非常强力的解决方案(此处仅为完整性而提供 - 可以跳过此部分):

  • 保持四组三角形 - 每个可能的计数(0..3)一个剩余的标记.在开始时,每个三角形都在集合中,其中三个边缘仍然被标记.
  • 只要存在具有非标记边的三角形:
    找到仍然存在三角形的最小非零数量的未分配边.换句话说:在任何给定时间,我们都会尽量减少标签已部分完成的三角形数量.剩余的边数将是1到3之间的任何值.然后,只需选择一个这样的三角形,剩下要分配的特定边数.对于此三角形,请执行以下操作:
    • 查看是否已经通过标记其他三角形来标记任何剩余边缘.如果是,请按上述要求#2暗示的标签进行分配.
    • 如果这导致死胡同(即,当前三角形不能满足要求#1),那么从一开始就重新开始整个过程.
    • 分配任何剩余边缘如下:
      • 如果到目前为止没有标记边,则随机分配第一个边.
      • 当已经分配了一个边缘时,分配第二个边缘以使其具有相反的标签.
      • 分配两条边时:如果它们具有相同的标签,则指定第三条标签具有相反的标签(显然); 如果两者有不同的标签,则随机分配第三个标签.
    • 更新未分配边数的不同计数的三角形集.
  • 如果我们到达这里,那么我们有一个解决方案 - 万岁!

通常这种方法发现只是一对夫妇的迭代内的解决方案,但最近我遇到了该算法趋于结束后,才一两个网上千重试......这显然表明,有可能的网格,它永远不会结束.


现在,我希望有一个确定性的算法,保证总能找到解决方案.计算复杂性不是一个大问题,因为网格不是很大,并且标签基本上只需要在加载新网格时完成,这不会一直发生 - 所以一个算法(例如)指数复杂性应该没问题,只要它有效.(但当然:效率越高越好.)

感谢您阅读此内容.现在,任何帮助将不胜感激!



编辑:基于建议的解决方案的结果

不幸的是,我无法让Dialecticus建议的方法起作用.也许我没弄错......无论如何,考虑以下网格,起点由绿点表示: 让我们放大一点...... 现在,让我们开始算法.在第一步之后,标签看起来像这样(红色="星号路径",蓝色="环形路径"): 到现在为止还挺好.第二步之后: 第三个: ......第四名: 但是现在我们遇到了问题!让我们再做一轮 - 但请注意以洋红色绘制的三角形: 根据我目前的实现,洋红三角的所有边缘都在环形路径上,所以它们应该是蓝色的 - 这实际上是一个反例.现在也许我以某种方式弄错了......但无论如何,最接近起始节点的两条边显然不能是红色; 如果第三个标记为红色,那么似乎解决方案不再符合这个想法.

顺便说一下,这是使用的数据.每行代表一条边,列的解释如下:

  1. 第一个节点的索引
  2. 第二个节点的索引
  3. 第一个节点的x坐标
  4. 第一个节点的y坐标
  5. 第二个节点的x …

algorithm mesh triangular edge-detection labeling

15
推荐指数
1
解决办法
1628
查看次数

自动标记LDA生成的主题

我正在尝试对客户反馈进行分类,并且我在python中运行了LDA并获得了10个主题的以下输出:

(0, u'0.559*"delivery" + 0.124*"area" + 0.018*"mile" + 0.016*"option" + 0.012*"partner" + 0.011*"traffic" + 0.011*"hub" + 0.011*"thanks" + 0.010*"city" + 0.009*"way"')
(1, u'0.397*"package" + 0.073*"address" + 0.055*"time" + 0.047*"customer" + 0.045*"apartment" + 0.037*"delivery" + 0.031*"number" + 0.026*"item" + 0.021*"support" + 0.018*"door"')
(2, u'0.190*"time" + 0.127*"order" + 0.113*"minute" + 0.075*"pickup" + 0.074*"restaurant" + 0.031*"food" + 0.027*"support" + 0.027*"delivery" + 0.026*"pick" + 0.018*"min"')
(3, u'0.072*"code" + 0.067*"gps" + 0.053*"map" + 0.050*"street" + 0.047*"building" + 0.043*"address" + 0.042*"navigation" + 0.039*"access" + 0.035*"point" + …
Run Code Online (Sandbox Code Playgroud)

python nlp labeling lda topic-modeling

6
推荐指数
1
解决办法
813
查看次数

ggplot2饼图标签中出现意外行为

我在这里检查了其他问题,但我看不出这个问题.我有标签问题.奇怪的是,除了一个标签之外,所有标签的代码都运行良好.当我检查数据集时(这非常简单),一切看起来都很好(一列有因子变量,另一列有数字).

这很奇怪,因为它适用于具有相同结构的其他一些数据.但是,我尝试/检查了一切,但无法解决这个问题.这是问题所在:

library(ggplot2)
library(ggrepel)

df = data.frame(
  status = c("Oak", "maple", "walnut", "Pine"),
  value = c( 47.54, 37.70, 11.48, 3.28))

ggplot(df, aes(x = "" , y = value, fill = fct_inorder(status))) +
  geom_bar(width = 1, stat = "identity") +
  coord_polar(theta = "y", start = 0 ) +
  scale_fill_brewer(palette = "Set3", direction = -4) +
  geom_label_repel(aes(label = paste0(value, "%")), size=4, show.legend = F, nudge_x = 1) +
  guides(fill = guide_legend(title = "Status")) +
  theme_void()
Run Code Online (Sandbox Code Playgroud)

其中一个标签提出了一个问题

如果我至少有一个建议来尝试或解释这种奇怪的行为,那就太好了.

显然,通过新的ggplot2更新,他们在不提供任何额外位置数据的情况下计算出位置问题,但不知何故,如果由于技术限制而无法使用它,这可能有助于解决此类问题.

r ggplot2 labeling pie-chart

6
推荐指数
1
解决办法
271
查看次数

opengl 地图应用程序中的标签

精简版

如何在 OpenGL 映射应用程序中绘制短文本标签,而无需在用户放大和缩小时手动重新计算坐标?

长版

我有一个基于 OpenGL 的映射应用程序,我需要能够绘制最多约 250k 点的数据集。每个点都可以有一个简短的文本标签,通常长约 4 或 5 个字符。

目前,我使用包含所有字符的单个文本来执行此操作。对于每个点,我为其标签中的每个字符定义了一个四边形。因此,带有“Fred”标签的点将有四个与之关联的四边形,每个四边形使用纹理坐标到该单个纹理中以绘制其对应的字符。

当我绘制地图时,我在地图坐标(例如,经度/纬度)中绘制地图点本身。然后我计算屏幕坐标中每个点的位置,并再次更新屏幕坐标中每个点的标签四边形的四个角点。(例如,如果我确定该点是在屏幕点 100, 150 处绘制的,我可以将该点标签中第一个字符的四边形设置为从左上角 105, 155 开始且宽度为6 像素和 12 像素的高度,适合特定字符。然后第二个字符可能从 120、155 等开始。)然后一旦所有这些标签字符四边形都正确定位,我使用正交屏幕绘制它们投影。

问题是更新所有这些字符四边形坐标的过程很慢,对于具有 150k 点的特定测试数据集大约需要半秒(这意味着,由于每个标签大约有四个字符长,因此大约有 150k * [每个点 4 个字符] * [每个字符 4 个坐标对] 每次更新时需要设置的坐标对。

如果地图应用程序不涉及缩放,我就不需要在每次刷新时重新计算所有这些坐标。我可以只计算一次标签坐标,然后简单地移动我的查看矩形以显示正确的区域。但是通过缩放,我不知道如何在不进行坐标计算的情况下使其工作,因为否则字符会随着放大而变大而随着缩小而变小。

我想要的(以及我理解的 OpenGL 没有提供)是一种告诉 OpenGL 应该在固定屏幕坐标矩形中绘制四边形的方法,但是该矩形的左上角位置应该与地图坐标空间中的给定点。所以我想要一个原始层次结构(一个给定的地图点是它的标签字符四边形的父级)和在这个层次结构中混合两个不同坐标系的能力。

我试图了解是否有一些我可以设置的魔法变换矩阵可以完成所有这些形式,但我不知道该怎么做。

我考虑过的另一种替代方法是在每个点上使用着色器来处理计算该点的标签字符四边形坐标。我以前没有使用过着色器,我只是想了解 (a) 是否可以使用着色器来做到这一点,以及 (b) 计算着色器代码中的所有这些点是否实际上比我自己计算它们更能帮到我. (顺便说一下,我已经确认最大的瓶颈是计算四边形坐标,而不是将更新的坐标上传到 GPU。后者需要一些时间,但它是计算,更新坐标的绝对数量,占据了那半秒的大部分时间。)

(当然,另一种选择是首先更聪明地了解需要在给定视图中绘制哪些标签。但现在我想专注于假设需要绘制所有标签的解决方案。)

opengl rendering texturing labeling

5
推荐指数
1
解决办法
1468
查看次数

CTC:空格和空白有什么区别?

在 2006 年关于联结主义时间分类的文章中,Alex Graves 等人。引入了一种具有27 个标签的语音解码模型:26 个用于字母表字母,一个用于空白,意思是没有标签(我理解为沉默)。

然而,我看到很多 CTC 的实现都使用28 个标签,一个是空白,另一个是空格。到目前为止,我还无法找到需要使用这两个标签的解释,对我来说,它们代表同一件事。

您能否解释一下 CTC 背景下空白和空格之间的区别以及为什么需要这两个标签?

speech-recognition speech speech-to-text labeling ctc

5
推荐指数
1
解决办法
2203
查看次数

为 Snorkel 中的标签功能赋予更高的权重

我正在使用呼吸管为我的训练数据创建标签。我目前有五个用于任务的标签函数,我已将它们存储在列表中。我使用以下代码来应用标签功能:

lfs = [lf_a, lf_b, lf_c, lf_d, lf_e]
applier = PandasLFApplier(lfs)
L_train = applier.apply(df_data_sample)

# Train the label model and compute the training labels
label_model = LabelModel(cardinality=2, verbose=True)
label_model.fit(L_train, n_epochs=500, log_freq=50, seed=123)
Run Code Online (Sandbox Code Playgroud)

进入任务时,我想给予lf_e标记函数更高的权重,因为我的测试表明它比其他函数具有更高的准确性。无法做到这一点会导致其他 lfs 的输出主导lf_e的输出。而且我也不想删除任何功能,因为如果这样做我会减少我的覆盖范围。

有没有办法在 Snorkel 中做到这一点?

python nlp labeling snorkel semisupervised-learning

5
推荐指数
0
解决办法
167
查看次数

Prolog手册或自定义标签

我目前正在为Prolog的平面规划问题编写求解器,并且在标签部分存在一些问题.

目前的问题是我的约束被发布但是当我启动标签时,需要永远找到解决方案.我想引入一些启发式方法.

我的问题是,如何手动标记我的变量?我担心在定义像这样的clpfd变量之后:

X in Xinf..Xsup

并限制它,如果我这样做:

    fd_sup(X, Xmax),
    X = Xmax,
...
Run Code Online (Sandbox Code Playgroud)

在我的自定义标签中,我不会使用Prolog的回溯功能来测试X域的其他值.我错了吗 ?

另外,是否有一种更聪明的方法来标记我的变量而不是编写自定义标签程序?我对启发式的想法包括尝试替换变量域的极值(如max(X),min(X),max(X-1),min(X-1)等...)

希望你能帮我 :)

prolog labeling clpfd

4
推荐指数
1
解决办法
751
查看次数

图像每像素场景标记输出问题(使用FCN-32s语义分段)

我正在寻找一种方法,给定输入图像和神经网络,它将为图像中的每个像素(天空,草地,山脉,人,汽车等)输出标记的类.

我已经建立了Caffe(未来分支)并在PASCAL-Context模型成功运行FCN-32s完全卷积语义分段.但是,我无法使用它生成清晰的标记图像.

可视化我的问题的
图像:输入图像

基本事实

而我的结果是:

这可能是一些解决问题.我知道哪里出错了?

image-processing neural-network labeling deep-learning caffe

3
推荐指数
1
解决办法
3325
查看次数

Geoserver TextSymbolizer 渲染问题?

我使用 geoserver 2.0.1,我使用 textsymbolizer 来标记地图上的要素。很可能 geoserver 不支持 '' 标签,因为我尝试更改字体大小、字体系列或 .. 它不起作用。如何在不同风格的特征上做标签?

mapping map styling geoserver labeling

3
推荐指数
1
解决办法
2360
查看次数

理解clpfd中label/5的实现

我试图了解库中label/5 谓词的实现(我了解用法)clpfd

从这里复制

1824label([], _, _, _, 一致性) :- !,
1825(一致性= upto_in(I0,I)-> I0 = I
1826 年;真的
1827 年)。
1828label(变量、选择、顺序、选择、一致性):-
1829 (Vars = [V|Vs], nonvar(V) -> label(Vs, Selection, Order, Choice, Consistency)
1830 年;select_var(选择,Vars,Var,RVars),
1831 ( var(Var) ->
1832(一致性= upto_in(I0,I),fd_get(Var,_,Ps),all_dead(Ps)->
第 1833 章
1834 I1是I0*大小,
1835标签(RVars,选择,顺序,选择,upto_in(I1,I))
1836 年;一致性 = upto_in, fd_get(Var, _, Ps), all_dead(Ps) ->
1837 标签(RVars、选择、顺序、选择、一致性)
1838 年;choice_order_variable(选择、顺序、变量、RVars、变量、选择、一致性)
第1839章
1840 年;标签(RVars,选择,顺序,选择,一致性)
第1841章
1842 年)。

尤其是标记部分(显然是重要部分)让我感到困惑:

  • 我不太确定fd_get(/3/5) 做什么
  • all_dead …

implementation prolog swi-prolog labeling clpfd

3
推荐指数
1
解决办法
87
查看次数

R 创建范围因子水平

我想自动化以下过程:

从向量中获取最小值和最大值,并在给定特定步长的情况下定义从最小值到最大值的步长。向量中的每个值现在都被分配给一个label(因子级别),它落入这个范围,例如"20-30"当值为 时27.45

目前我正在使用这个 for 循环

for (label_willi_counter in 1:length(willi)) {
  if(willi[label_willi_counter] < 10)
    label_willi = c(label_willi, "0 - 10")
  else if(willi[label_willi_counter] < 20)
    label_willi = c(label_willi, "10 - 20")
  else if(willi[label_willi_counter] < 30)
    label_willi = c(label_willi, "50 - 30")
  else if(willi[label_willi_counter] < 40)
    label_willi = c(label_willi, "30 - 40")
  else if(willi[label_willi_counter] < 50)
    label_willi = c(label_willi, "40 - 50")
  else if(willi[label_willi_counter] < 60)
    label_willi = c(label_willi, "50 - 60")
  else if(willi[label_willi_counter] < 70) …
Run Code Online (Sandbox Code Playgroud)

r labeling

1
推荐指数
1
解决办法
2136
查看次数