VeuReu commited on
Commit
2c01698
verified
1 Parent(s): 9709560

Upload 3 files

Browse files
Files changed (3) hide show
  1. api.py +3 -3
  2. character_detection.py +3 -3
  3. face_classifier.py +6 -2
api.py CHANGED
@@ -204,9 +204,9 @@ def hierarchical_cluster_with_min_size(X, max_groups: int, min_cluster_size: int
204
  try:
205
  score = silhouette_score(X, trial_labels, metric='cosine')
206
  # Penalizar configuraciones con muchos clusters para evitar overfitting
207
- # Penalizaci贸n m谩s fuerte para reducir duplicados
208
- # Si siguen apareciendo duplicados, aumentar a 0.05 o 0.07
209
- adjusted_score = score - (n_clusters * 0.03)
210
 
211
  if adjusted_score > best_score:
212
  best_score = adjusted_score
 
204
  try:
205
  score = silhouette_score(X, trial_labels, metric='cosine')
206
  # Penalizar configuraciones con muchos clusters para evitar overfitting
207
+ # Penalizaci贸n MUY fuerte para reducir duplicados de la misma persona
208
+ # Valores: 0.05 = fuerte, 0.07 = muy fuerte, 0.10 = extremo
209
+ adjusted_score = score - (n_clusters * 0.07)
210
 
211
  if adjusted_score > best_score:
212
  best_score = adjusted_score
character_detection.py CHANGED
@@ -218,9 +218,9 @@ class CharacterDetector:
218
  if valid_clusters >= 2:
219
  try:
220
  score = silhouette_score(X, trial_labels, metric='cosine')
221
- # Penalizaci贸n m谩s fuerte para reducir duplicados
222
- # Si siguen apareciendo duplicados, aumentar a 0.05 o 0.07
223
- adjusted_score = score - (n_clusters * 0.03)
224
 
225
  if adjusted_score > best_score:
226
  best_score = adjusted_score
 
218
  if valid_clusters >= 2:
219
  try:
220
  score = silhouette_score(X, trial_labels, metric='cosine')
221
+ # Penalizaci贸n MUY fuerte para reducir duplicados de la misma persona
222
+ # Valores: 0.05 = fuerte, 0.07 = muy fuerte, 0.10 = extremo
223
+ adjusted_score = score - (n_clusters * 0.07)
224
 
225
  if adjusted_score > best_score:
226
  best_score = adjusted_score
face_classifier.py CHANGED
@@ -10,8 +10,12 @@ logging.basicConfig(level=logging.INFO)
10
  logger = logging.getLogger(__name__)
11
 
12
  # Configuraci贸n de thresholds
13
- FACE_CONFIDENCE_THRESHOLD = 0.3 # M铆nimo para considerar cara v谩lida
14
- GENDER_NEUTRAL_THRESHOLD = 0.2 # Diferencia m铆nima para g茅nero neutro
 
 
 
 
15
 
16
 
17
  def validate_and_classify_face(image_path: str) -> Optional[Dict[str, Any]]:
 
10
  logger = logging.getLogger(__name__)
11
 
12
  # Configuraci贸n de thresholds
13
+ # FACE_CONFIDENCE_THRESHOLD: Confianza m铆nima para aceptar una cara
14
+ # Valores: 0.3 = permisivo (acepta muchos falsos positivos)
15
+ # 0.6 = balanceado
16
+ # 0.8 = estricto (elimina falsos positivos pero puede perder caras reales)
17
+ FACE_CONFIDENCE_THRESHOLD = 0.70 # M脕S ESTRICTO: eliminar camisetas, letreros, etc.
18
+ GENDER_NEUTRAL_THRESHOLD = 0.2 # Diferencia m铆nima para g茅nero neutro
19
 
20
 
21
  def validate_and_classify_face(image_path: str) -> Optional[Dict[str, Any]]: