On 12/10/2014 07:24 PM, Dzung Nguyen wrote:
> Thanks! Is it possible to elaborate more on edge features? I'm
> applying the code to a new image database. I also looked over your
> thesis github but still haven't been able to find how edge features
> are constructed.
>
Sorry for the slow reply, I was on a conference.
I am not sure I understand you question. An edge feature is just a
single number for each edge in the graph.
They are used in EdgeFeatureGraphCRF to construct data-dependent
pairwise potentials.
GraphCRF does not have any edge features, which means all edges have the
same (n_states, n_states) matrix of pairwise potentials.
For EdgeFeatureGraphCRF, there pairwise features are a linear
combination of one (n_states, n_states) matrix for each feature,
weighted by the feature value.
In math, the pairwise energy associated with the nodes i and j taking on
the values y_i, y_j is
\psi(y_i, y_j) = \sum_{f \in \text{Features}} f_{i, j}\theta_{f, y_i, y_j}
Here \theta is an (n_features, n_states, n_states) tensor and f_{i, j}
is the value of the feature f associated with the edge (i, j).
Let me know if that answers your question.