X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=pom.git;a=blobdiff_plain;f=pom_solver.cc;h=e8584c5034a2761ded0fcdf23313133b34bce63d;hp=76cc9a5cc3f1b0bb928bee4bf1784bd799f180e1;hb=HEAD;hpb=97a7e68f234cc09807d2d55f550e2516be0e9093 diff --git a/pom_solver.cc b/pom_solver.cc index 76cc9a5..e8584c5 100644 --- a/pom_solver.cc +++ b/pom_solver.cc @@ -96,7 +96,7 @@ void POMSolver::add_log_ratio(int camera, void POMSolver::solve(Room *room, Vector *prior, Vector *views, - Vector *proba_presence, + Vector *result_proba_presence, int nb_frame, char *convergence_file_format) { @@ -120,7 +120,8 @@ void POMSolver::solve(Room *room, scalar_t e = 0; for(int i = 0; i < room->nb_positions(); i++) { - scalar_t np = global_smoothing_coefficient * proba_absence[i] + (1 - global_smoothing_coefficient) / (1 + exp(log_prior_ratio[i] + sum[i])); + scalar_t np = global_smoothing_coefficient * proba_absence[i] + + (1 - global_smoothing_coefficient) / (1 + exp(log_prior_ratio[i] + sum[i])); if(abs(proba_absence[i] - np) > e) e = abs(proba_absence[i] - np); proba_absence[i] = np; } @@ -129,15 +130,20 @@ void POMSolver::solve(Room *room, if(convergence_file_format) { char buffer[buffer_size]; - for(int p = 0; p < room->nb_positions(); p++) (*proba_presence)[p] = 1 - proba_absence[p]; + for(int p = 0; p < room->nb_positions(); p++) { + (*result_proba_presence)[p] = 1 - proba_absence[p]; + } + for(int c = 0; c < room->nb_cameras(); c++) { pomsprintf(buffer, buffer_size, convergence_file_format, c, nb_frame, it); cout << "Saving " << buffer << "\n"; cout.flush(); - room->save_stochastic_view(buffer, c, (*views)[c], proba_presence); + room->save_stochastic_view(buffer, c, (*views)[c], result_proba_presence); } } } - for(int p = 0; p < room->nb_positions(); p++) (*proba_presence)[p] = 1 - proba_absence[p]; + for(int p = 0; p < room->nb_positions(); p++) { + (*result_proba_presence)[p] = 1 - proba_absence[p]; + } }