SegmentationEM
crowdkit.aggregation.image_segmentation.segmentation_em.SegmentationEM
| Source code
SegmentationEM(
self,
n_iter: int = 10,
tol: float = 1e-05
)
The EM algorithm for the image segmentation task.
This method performs a categorical aggregation task for each pixel: should it be included to the resulting aggregate or no. This task is solved by the single coin Dawid-Skene algorithm. Each worker has a latent parameter "skill" that shows the probability of this worker to answer correctly. Skills and true pixels' labels are optimized by the Expectation-Maximization algorithm.
Doris Jung-Lin Lee. 2018. Quality Evaluation Methods for Crowdsourced Image Segmentation https://ilpubs.stanford.edu:8090/1161/1/main.pdf
Parameters Description
Parameters | Type | Description |
---|---|---|
n_iter |
int | A number of EM iterations. |
segmentations_ |
Series | Tasks' segmentations. A pandas.Series indexed by |
Examples:
import numpy as np
import pandas as pd
from crowdkit.aggregation import SegmentationEM
df = pd.DataFrame(
[
['t1', 'p1', np.array([[1, 0], [1, 1]])],
['t1', 'p2', np.array([[0, 1], [1, 1]])],
['t1', 'p3', np.array([[0, 1], [1, 1]])]
],
columns=['task', 'worker', 'segmentation']
)
result = SegmentationEM().fit_predict(df)
Methods Summary
Method | Description |
---|---|
fit | Fit the model. |
fit_predict | Fit the model and return the aggregated segmentations. |