• Home
  • Raw
  • Download

Lines Matching refs:num_states

147     hmm[0].num_states = state_number[0];  in icvCreate2DHMM()
181 for( i = 0; i < hmm[0].num_states; i++ ) in icvCreate2DHMM()
185 hmm[i+1].num_states = state_number[i+1]; in icvCreate2DHMM()
190 hmm[i].transP = icvCreateMatrix_32f( hmm[i].num_states, hmm[i].num_states ); in icvCreate2DHMM()
204 for( i = 0; i < hmm[0].num_states + 1; i++ ) in icvRelease2DHMM()
275 int superstate = (int)((i * hmm->num_states)*inv_y);/* /obs_info->obs_y; */ in icvUniformImgSegm()
281 … int state = (int)((j * hmm->u.ehmm[superstate].num_states)* inv_x); /* / obs_info->obs_x; */ in icvUniformImgSegm()
294 if ( hmm->num_states > obs_info->obs_y ) return CV_BADSIZE_ERR; in icvUniformImgSegm()
297 float row_per_state = (float)obs_info->obs_y / hmm->num_states; in icvUniformImgSegm()
301 for( i = 0; i < hmm->num_states; i++ ) in icvUniformImgSegm()
304 col_per_state[i] = (float)obs_info->obs_x / ehmm->num_states; in icvUniformImgSegm()
309 for( i = 0; i < hmm->num_states - 1; i++ ) in icvUniformImgSegm()
313 ss_bound[hmm->num_states - 1] = obs_info->obs_y; in icvUniformImgSegm()
319 for( i = 0; i < hmm->num_states; i++ ) in icvUniformImgSegm()
326 for( j = 0; j < ehmm->num_states - 1; j++ ) in icvUniformImgSegm()
330 es_bound[ehmm->num_states - 1] = obs_info->obs_x; in icvUniformImgSegm()
334 for( j = 0; j < ehmm->num_states; j++ ) in icvUniformImgSegm()
395 for( i = 0 ; i < hmm->num_states; i++ ) in icvInitMixSegm()
397 total += hmm->u.ehmm[i].num_states; in icvInitMixSegm()
610 for( j = 0; j < hmm->num_states; j++ ) in icvEstimateObsProb()
612 total_states += hmm->u.ehmm[j].num_states; in icvEstimateObsProb()
619 obs_info->obs_y * hmm->num_states * sizeof( CvMatr32f) ); in icvEstimateObsProb()
634 obs_info->obs_y * hmm->num_states * sizeof( CvMatr32f/*(float*)*/ ) ); in icvEstimateObsProb()
673 for( i = 0; i < hmm->num_states; i++ ) in icvEstimateObsProb()
682 for( i = 0; i < hmm->num_states; i++ ) in icvEstimateObsProb()
689 tmpf += ehmm->num_states * obs_info->obs_x; in icvEstimateObsProb()
709 for( i = 0; i < hmm->num_states; i++ ) in icvEstimateObsProb()
715 for( j = 0; j < ehmm->num_states; j++ ) in icvEstimateObsProb()
720 max_mix *= ehmm->num_states; in icvEstimateObsProb()
739 for( i = 0; i < hmm->num_states; i++ ) in icvEstimateObsProb()
745 int n_states = ehmm->num_states; in icvEstimateObsProb()
748 for( j = 0; j < ehmm->num_states; j++ ) in icvEstimateObsProb()
840 for( i = 0; i < hmm->num_states; i++ ) in icvEstimateObsProb()
858 float* matr_line = B + k * ehmm->num_states; in icvEstimateObsProb()
860 for( m = 0; m < ehmm->num_states; m++ ) in icvEstimateObsProb()
897 icvSetZero_32f( hmm->transP, hmm->num_states, hmm->num_states ); in icvEstimateTransProb()
898 for (i = 0; i < hmm->num_states; i++ ) in icvEstimateTransProb()
900 … icvSetZero_32f( hmm->u.ehmm[i].transP , hmm->u.ehmm[i].num_states, hmm->u.ehmm[i].num_states ); in icvEstimateTransProb()
925 int transP_size = hmm->num_states; in icvEstimateTransProb()
934 int transP_size = hmm->u.ehmm[superstate].num_states; in icvEstimateTransProb()
943 for( i = 0; i < hmm->num_states; i++) in icvEstimateTransProb()
947 for( j = 0; j < hmm->num_states; j++) in icvEstimateTransProb()
949 total += hmm->transP[i * hmm->num_states + j]; in icvEstimateTransProb()
955 for( j = 0; j < hmm->num_states; j++) in icvEstimateTransProb()
957 hmm->transP[i * hmm->num_states + j] = in icvEstimateTransProb()
958 hmm->transP[i * hmm->num_states + j] ? in icvEstimateTransProb()
959 (float)log( hmm->transP[i * hmm->num_states + j] * inv_total ) : -BIG_FLT; in icvEstimateTransProb()
964 for( k = 0; k < hmm->num_states; k++ ) in icvEstimateTransProb()
968 for( i = 0; i < ehmm->num_states; i++) in icvEstimateTransProb()
972 for( j = 0; j < ehmm->num_states; j++) in icvEstimateTransProb()
974 total += ehmm->transP[i*ehmm->num_states + j]; in icvEstimateTransProb()
979 for( j = 0; j < ehmm->num_states; j++) in icvEstimateTransProb()
981 ehmm->transP[i * ehmm->num_states + j] = in icvEstimateTransProb()
982 (ehmm->transP[i * ehmm->num_states + j]) ? in icvEstimateTransProb()
983 (float)log( ehmm->transP[i * ehmm->num_states + j] * inv_total) : -BIG_FLT ; in icvEstimateTransProb()
1094 icvViterbiSegmentation( int num_states, int /*num_obs*/, CvMatr32f transP, in icvViterbiSegmentation() argument
1108 int m_numStates = num_states; in icvViterbiSegmentation()
1110 float* m_pi = (float*)cvAlloc( num_states* sizeof(float) ); in icvViterbiSegmentation()
1114 CvMatr32f m_b = B + start_obs * num_states; in icvViterbiSegmentation()
1132 CvMatr32f m_Gamma = icvCreateMatrix_32f( num_states, m_maxNumObs ); in icvViterbiSegmentation()
1133 int* m_csi = (int*)cvAlloc( num_states * m_maxNumObs * sizeof(int) ); in icvViterbiSegmentation()
1155 for (i = 0; i < num_states; i++) in icvViterbiSegmentation()
1157 m_Gamma[0 * num_states + i] = m_pi[i] + m_b[0 * num_states + i]; in icvViterbiSegmentation()
1158 m_csi[0 * num_states + i] = 0; in icvViterbiSegmentation()
1171 m_Gamma[t * num_states + 0] = m_Gamma[(t-1) * num_states + 0] + m_a[0]; in icvViterbiSegmentation()
1172 m_csi[t * num_states + 0] = 0; in icvViterbiSegmentation()
1174 for (j = 1; j < num_states; j++) in icvViterbiSegmentation()
1176 float self = m_Gamma[ (t-1) * num_states + j] + m_a[ j * num_states + j]; in icvViterbiSegmentation()
1177 float prev = m_Gamma[ (t-1) * num_states +(j-1)] + m_a[ (j-1) * num_states + j]; in icvViterbiSegmentation()
1181 m_csi[t * num_states + j] = j-1; in icvViterbiSegmentation()
1182 m_Gamma[t * num_states + j] = prev; in icvViterbiSegmentation()
1186 m_csi[t * num_states + j] = j; in icvViterbiSegmentation()
1187 m_Gamma[t * num_states + j] = self; in icvViterbiSegmentation()
1190 … m_Gamma[t * num_states + j] = m_Gamma[t * num_states + j] + m_b[t * num_states + j]; in icvViterbiSegmentation()
1199 for (j = 0; j < num_states; j++) in icvViterbiSegmentation()
1202 m_Gamma[ t*num_states + j] = m_Gamma[(t-1) * num_states + 0] + m_a[0*num_states+j]; in icvViterbiSegmentation()
1203 m_csi[t *num_states + j] = 0; in icvViterbiSegmentation()
1205 for (i = 1; i < num_states; i++) in icvViterbiSegmentation()
1207 … float currGamma = m_Gamma[(t-1) *num_states + i] + m_a[i *num_states + j]; in icvViterbiSegmentation()
1208 if (currGamma > m_Gamma[t *num_states + j]) in icvViterbiSegmentation()
1210 m_Gamma[t * num_states + j] = currGamma; in icvViterbiSegmentation()
1211 m_csi[t * num_states + j] = i; in icvViterbiSegmentation()
1214 m_Gamma[t *num_states + j] = m_Gamma[t *num_states + j] + m_b[t * num_states + j]; in icvViterbiSegmentation()
1228 m_MaxGamma[i] = m_Gamma[last_obs * num_states + num_states - 1]; in icvViterbiSegmentation()
1229 q[i][last_obs] = num_states - 1; in icvViterbiSegmentation()
1235 m_MaxGamma[i] = m_Gamma[last_obs * num_states + 0]; in icvViterbiSegmentation()
1237 for(k = 1; k < num_states; k++) in icvViterbiSegmentation()
1239 if ( m_Gamma[last_obs * num_states + k] > m_MaxGamma[i] ) in icvViterbiSegmentation()
1241 m_MaxGamma[i] = m_Gamma[last_obs * num_states + k]; in icvViterbiSegmentation()
1251 q[i][t] = m_csi[(t+1) * num_states + q[i][t+1] ]; in icvViterbiSegmentation()
1287 CvMatr32f superB = icvCreateMatrix_32f(hmm->num_states, obs_info->obs_y ); in icvEViterbi()
1290 int*** q = (int***)cvAlloc( hmm->num_states * sizeof(int**) ); in icvEViterbi()
1293 for (i = 0; i < hmm->num_states; i++) in icvEViterbi()
1304 for (i = 0; i < hmm->num_states; i++) in icvEViterbi()
1313 icvViterbiSegmentation( ehmm->num_states, obs_info->obs_x, in icvEViterbi()
1318 superB[j * hmm->num_states + i] = max_gamma * inv_obs_x; in icvEViterbi()
1324 icvViterbiSegmentation( hmm->num_states, obs_info->obs_y, in icvEViterbi()
1350 for (i = 0; i < hmm->num_states; i++) in icvEViterbi()
1381 for(i = 0; i < hmm->num_states; i++ ) in icvEstimateHMMStateParams()
1383 total+= hmm->u.ehmm[i].num_states; in icvEstimateHMMStateParams()