Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
TECNICO
TECNICO
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • FINDFACE
  • TECNICOTECNICO
  • Wiki
    • Hex360: como fazer
  • [05] Ativação de Clusterização e Rastreamento de Interações

Last edited by Erick Rocha Dec 17, 2024
Page history

[05] Ativação de Clusterização e Rastreamento de Interações

Clusterização

Para que algumas funcionalidades a mais do FindFace possam ser mostradas devemos habilitar a clusterização de faces, corpos ou veículos. Um cluster é um conjunto de pixels e seus atributos que melhor definem um objeto

Por padrão o FindFace não é configurado para usar o cluster, já que ele consome mais recurso da máquina a cada processamento de cluster.

Configuração

  1. Abra o arquivo \textcolor{red}{\text{/opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py}}. E vá até a seção de "Clusters Configurations"
sudo vi /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py

Exemplo:


 # -- Clusters configuration --
 'ENABLE_NIGHT_CLUSTERIZATION': False,
 'ENABLE_REALTIME_CLUSTERIZATION': True,
 # rrule (recurrence rule) for scheduling "night" clusterization
 'CLUSTERIZATION_SCHEDULE': 'RRULE:FREQ=DAILY;INTERVAL=1;WKST=MO;BYHOUR=0;BYMINUTE=0',
 # clusterize only selected objects types (for realtime and nightly clusterization)
 # available are: face, body, car
 'CLUSTERIZE_OBJECT_TYPES': ['face'],
 # keep no more than N the best quality events in centroid (None to disable)
 'CENTROID_MAX_SIZE': None,
 # save cluster events without emben and images (only keep thumbnail for the best event)
 'LONG_LIVING_CLUSTER_EVENTS': False,
 # skip clusterization if unpinned cluster events count is greater than this value
 'CLUSTERIZATION_MAX_CLUSTER_EVENTS': None,
 # create cluster only from cluster events in current case or only from cluster events without case
 'ISOLATE_CASE_CLUSTERS': True,
 # cluster event to cluster matching confidence threshold
 'FACE_CLUSTER_CONFIDENCE_THRESHOLD': 0.714,  # model: [mango_320]
 'BODY_CLUSTER_CONFIDENCE_THRESHOLD': 0.65,  # model: [durga]
 # minimum required event quality for cluster creation
 'FACE_CLUSTER_EVENT_MIN_QUALITY': 0.5,  # model: [quality_fast.v1]
 'BODY_CLUSTER_EVENT_MIN_QUALITY': 0.6,  # model: [pedattr.quality.v0]
 'CAR_CLUSTER_EVENT_MIN_QUALITY': 0.73,  # model: [carattr.quality.v0]
 # discard cluster event if `max_centroids` similar centroids found with confidence greater than `confidence`
 'FACE_CLUSTER_MAX_N_SIMILAR': {'enabled': False, 'max_centroids': 5, 'confidence': 0.714},
 'BODY_CLUSTER_MAX_N_SIMILAR': {'enabled': False, 'max_centroids': 5, 'confidence': 0.65},
 # minimum required object size in pixels for cluster creation
 'FACE_CLUSTER_EVENT_MIN_SIZE': 50,
 'BODY_CLUSTER_EVENT_MIN_SIZE': 50,
 'CAR_CLUSTER_EVENT_MIN_SIZE': 50,
 # minimum required number events in episode for cluster creation
 'FACE_CLUSTER_EVENT_MIN_EPISODE_EVENTS': 1,
 'BODY_CLUSTER_EVENT_MIN_EPISODE_EVENTS': 1,
 'CAR_CLUSTER_EVENT_MIN_EPISODE_EVENTS': 1,
 # age feature threshold for cluster creation
 'FACE_CLUSTER_EVENT_MIN_AGE_THRESHOLD': 16,
  ....
 # pinned clusters keep their id and events after reclusterization
 'CLUSTERS_AUTO_PIN_HEURISTICS': {
    'face': {
        # pin clusters with `value` minimum cluster events
        'min_events': {'enabled': True, 'value': 10},
        # cluster's centroid similarity confidence is less than
        'max_centroid_similarity_threshold': {'enabled': True, 'value': 0.54},  # mango_320
        # minimum average event's quality
        'min_average_events_quality': {'enabled': True, 'value': 0.45},
    },
    'body': {},
    'car': {},
    },
 # always pin clusters with matched events (not affected by heuristics above)
 'PIN_MATCHED_CLUSTERS': False,
 ...
  1. Ative a clusterização em tempo real, configurando 'ENABLE_REALTIME_CLUSTERIZATION': True
  2. Se for preciso, ative a clusterização programada configurando 'ENABLE_NIGHT_CLUSTERIZATION': True

Ativando a clusterização programada só faz sentindo se a clusterização em tempo real estiver ativada. A clusterização programada vai revisar no tempo definido em CLUSTERIZATION_SCHEDULE as cluster já criados

  1. Se for necessário, especifique um horário em que deseja que os cluster sejam revisados usando RRULE (Regra de Recorrência) em CLUSTERIZATION_SCHEDULE, caso deixe o padrão a revisão ocorrerá as 00:00 GMT

Calculadora RRULE aqui

  1. Por padrão o sistema gera cluster somente de rostos, caso queira expandir para corpo e veículos, modifique a seguinte linha
...

# available are: face, body, car
'CLUSTERIZE_OBJECT_TYPES': ['face','body','car'],
...
  1. Caso precise modificar o número mínimo de eventos usado pelo cluster, sendo 1 por padrão, modifique esses parâmetros para cada tipo de objeto.
...

# minimum required number events in episode for cluster creation
'FACE_CLUSTER_EVENT_MIN_EPISODE_EVENTS': 3,
'BODY_CLUSTER_EVENT_MIN_EPISODE_EVENTS': 3,
'CAR_CLUSTER_EVENT_MIN_EPISODE_EVENTS': 2,
...
  1. Reinicie o FindFace
cd /opt/findface-multi
docker-compose restart

Lembre-se de que habilitando o cluster o uso de CPU e de memória RAM devem aumentar

Clone repository

Home

  1. Executável

Guia de Instalação e Manutenção

  1. Preparação da Máquina
  2. Instalação
  3. Migrar fotos e videos para outro disco
  4. Liveness - Obrigatorio para licenças que não tem o componente
  5. Clusterização e Rastreamento de Interações

Guias Extras

  1. Configuração de HTTPS/SSL
  2. Mudar Idioma
  3. Alarmes
  4. Removendo dados do banco de dados
  5. Customizar Record Index
  6. Preparação de Maquina Rocky Linux

Solução de Problemas

  1. FindFace está com a tela branca

  2. Coloquei outra licença, mas não atualizou

  3. Fotos Quebradas na Pagina Web

  4. A camera detecta, mas demora aparecer o resultado

  5. FAQ