- Encontra pessoas na imagem e as mostra demarcadas por uma caixa em tempo real.
- Salva em tempo real o conteúdo das caixas demarcadas em subpastas encontradas na pasta "YOLO". As imagens resultantes desse processo são nomeadas de acordo com o tempo do sistema operacional em que a pessoa foi encontrada pelo programa.
- As subpastas de "YOLO" são nomeadas por intervalos de tempo de seis horas. Sendo assim, existem quatro pastas: "0-6","6-12", "12-18", "18-24".
- Ao acessar a subpasta com nome relativo ao intervalo de tempo atual, pode-se observar a criação das imagens em tempo real.
- Para acionar esse recurso, é necessário que o arquivo seg.py tenha uma execução constante. Para isso, basta executá-lo em um novo terminal. O sistema de backup foi desenvolvido para a plataforma Linux e, por isso, pode necessitar de adaptações para outras plataformas.
- Mais informações sobre seg.py estão localizadas no próximo tópico.
O que faz o arquivo seg.py e como deve ser utilizado?
- seg.py é um sistema de organização que cria uma pasta dentro da pasta "Banco" com o nome referente ao dia anterior marcado no sistema e move todas as imagens salvas nas subpastas de "YOLO" para subpastas da nova pasta criada. Todo esse processo ocorre as 00:00 am do sistema em que o programa seg.py está sendo executado. Vale ressaltar que o uso desse sistema é recomendado, porém opcional.
- As subpastas de "Banco" serão criadas com os mesmos nomes das subpastas de "YOLO", preservando o sistema de organização já explicado anteriormente em um dos tópicos acima.
- seg.py deve estar em constante execução no sistema para que a autonomia do sistema esteja de acordo com a ideia proposta no projeto. Portanto, recomenda-se que ele seja executado em um terminal separado e que não seja interrompido em nenhum momento.
- HORA, MINUTO e SEGUNDO: hora, minuto e segundo em que serão armazenadas, na pasta "Banco", todas as imagens salvas durante o dia anterior.
- Embora seja possível alterar os horários mencionados, é recomendado que deixe nas configurações padrões (00:00:01 - hora:minuto:segundo). O intuíto do projeto é realizar diariamente a organização dos dados, criando uma pasta referente ao dia anterior.
- Utilize o conda para criar ambientes virtuais.
- Use cuda e cudnn para ter um melhor desempenho (verifique se a GPU é compatível).
- Recomenda-se Linux para realizar os procedimentos.
Sugestão: Use os seguintes trechos de código em ordem para instalar os requisitos. Necessário ter os pacotes git e wget.
Recomenda-se versão 3.7
conda create -n <nome-do-ambiente> python=3.7
conda activate <nome-do-ambiente>
pip install tensorflow==1.15.2
(CPU)
pip install tensorflow-gpu==1.15.2
(GPU)
pip install opencv-python
pip install tqdm
git clone https://github.com/GustavoStahl/detector-de-pessoas.git
Va para a pasta darknet_weights e baixe o arquivo de pesos da rede
cd detector-de-pessoas/data/darknet_weights && wget https://pjreddie.com/media/files/yolov3.weights
Converta os pesos com o arquivo convert_weight.py na pasta base do projeto
cd .. && cd .. && python convert_weight.py
Caso queira utilizar o seg.py, inicie-o no terminal:
python seg.py
python camera_test.py --camera X
Substitua X pelo número de reconhecimento da camera pelo sistema. Exemplo: --camera 0
para webcam
Este projeto é parte dos projetos da RAS Unesp Bauru. Para mais informações a respeito desse e outros projetos, acesse: https://sites.google.com/unesp.br/rasunespbauru/home
Este projeto é gratuito e sem fins lucrativos. Sua venda é proibida.
Baseado no projeto: YOLOv3_TensorFlow