42 GaussianMixtureDistributionPtr::dynamicCast(gmm->clone());
52 GaussianMixtureDistributionPtr::dynamicCast(gmm->clone());
53 float d11 = isdDistance->calcSelfLikeness(gmm);
54 const int GMM_SIZE = gmm->size();
56 for (
int i = 0; i < GMM_SIZE - 1; ++i)
57 for (
int j = i + 1; j < GMM_SIZE; ++j)
60 GaussianMixtureComponent c1 = reducedGMM->getComponent(i);
61 GaussianMixtureComponent c2 = reducedGMM->getComponent(j);
63 const float cost = isdDistance->getDistance(gmm, reducedGMM, d11);
64 const int index = i * GMM_SIZE + j;
66 reducedGMM->setComponent(i, c1);
67 reducedGMM->addComponent(c2);