faster calibration curve generation
jellyfin intergration
This commit is contained in:
@@ -37,6 +37,7 @@ struct IdentityMatcherFunc {
|
||||
, ratio_(cfg.match_ratio)
|
||||
, ratio_ceil_(cfg.match_ratio_ceil)
|
||||
{
|
||||
std::cerr << "[identity_matcher] flattening gallery embeddings...\n";
|
||||
for (int ai = 0; ai < static_cast<int>(gallery_.actors.size()); ++ai) {
|
||||
for (const auto& emb : gallery_.actors[ai].embeddings) {
|
||||
flat_emb_.push_back(emb);
|
||||
@@ -44,7 +45,10 @@ struct IdentityMatcherFunc {
|
||||
}
|
||||
}
|
||||
|
||||
cal_ = calibrate_gallery(flat_emb_, flat_actor_);
|
||||
std::cerr << "[identity_matcher] starting calibration ("
|
||||
<< flat_emb_.size() << " embeddings)...\n";
|
||||
cal_ = calibrate_gallery_cached(flat_emb_, flat_actor_,
|
||||
cfg.gallery_path + ".calib_cache.json");
|
||||
|
||||
if (cal_.valid) {
|
||||
std::cerr << "[identity_matcher] calibrated Bayesian matching"
|
||||
@@ -126,9 +130,11 @@ struct IdentityMatcherFunc {
|
||||
ia.track_id = tf.track_ids[fi];
|
||||
|
||||
if (accept) {
|
||||
ia.actor_idx = best_actor;
|
||||
ia.name = gallery_.actors[best_actor].name;
|
||||
ia.imdb_id = gallery_.actors[best_actor].imdb_id;
|
||||
ia.actor_idx = best_actor;
|
||||
ia.name = gallery_.actors[best_actor].name;
|
||||
ia.imdb_id = gallery_.actors[best_actor].imdb_id;
|
||||
ia.tmdb_id = gallery_.actors[best_actor].tmdb_id;
|
||||
ia.jellyfin_id = gallery_.actors[best_actor].jellyfin_id;
|
||||
ia.similarity = cal_.valid
|
||||
? cal_.probability(best_s, log_prior_odds_)
|
||||
: best_s;
|
||||
|
||||
Reference in New Issue
Block a user