Conteúdo VCA Treinamento em Algoritmo VCA Treinamento em Algoritmo Conteúdo Algoritmos Rastreador (tracker) Monitoramento Objeto Abandonado/Removido Pessoas Calibração Classificação Linha de contagem Auto Tracking Detecção de Fogo e Fumaça Fogo Fumaça Página 1 de 11
Algoritmos Rastreador Monitoramento Para o rastreador saber o que um objeto é, ele deve saber como separar o segundo plano de pessoas/carros/etc. se movendo no primeiro plano. Ele faz isso através de modelar cada pixel para aprender o segundo plano. Pixels são os pequenos quadrados que formam uma imagem digital. Em uma imagem HD de 1920x1080, há 1920 pixels de largura por 1080 de altura. No mundo digital, pixels são sempre um número entre 0 e 255. Zero é preto e 255 branco. Os valores entre eles são cinza. Uma câmera aprende o que é o segundo plano através de modelar cada pixel. Por exemplo, se um pixel está apontado a um pedaço de asfalto o tempo inteiro, o qual é geralmente preto, o modelo para esse pixel seria como o abaixo: No entanto, se um carro branco aparecer e passar através desse pixel, veríamos muitos pixels 255 ou brancos: Página 2 de 11
Você pode ver que isso é diferente do que normalmente está lá. O rastreador VCA então o torna um pixel de primeiro plano, ou de objeto. Uma vez em posse de todos esses pixels de objeto, eles são agrupados. Esses pixels agrupados são os objetos rastreados que você pode ver na página da Internet. Se o modelo está confuso, então o algoritmo não pode decidir o que é um pixel de primeiro plano. Por exemplo, se a câmera estiver tremendo, o valor do pixel está constantemente alterando. O modelo poderia ser algo semelhante ao abaixo: Como você pode ver, quando o valor do pixel do carro passa, é muito mais dificil dizer se esse é diferente do que normalmente está ali. Essa é a razão pela qual temos um cancelamento de vibração de câmera, isso eliminará muitas dessa variações de valores e o modelo será mais semelhante aos modelos anteriores. Outra situação onde o modelo pode falhar é se o modelo do pixel de objeto for muito semelhante ao modelo de segundo plano: Página 3 de 11
É muito difícil dizer que isso é um pixel de objeto (primeiro plano). Isso raramente acontece, pois objetos são normalmente todos os tipos de valores diferentes e em movimento, portanto podemos geralmente definir que isso não é um segundo plano. Efetuamos diversos ajustes ao VCA para evitar essas situações. Objeto Abandonado/Removido Objetos abandonados e removidos usam o mesmo método de aprender o segundo plano como feito pelo rastreador de monitoramento, mas aplica um método diferente para detectar objetos relevantes. O algoritmo procura por buracos ou adições ao plano de fundo. Se houvesse uma cena com um carro estacionado: O carro seria eventualmente aprendido como parte do segundo plano. Se nós visualizarmos o segundo plano aprendido como pixels azuis transparentes, a representação interna do segundo plano da cena tomaria a tela inteira: Página 4 de 11
Se o carro fosse então removido, ele deixaria um buraco no segundo plano aprendido : Após algum tempo, esse objeto faltante pode ser elevado a um objeto removido. A adição do objeto à cena e sendo abandonado tem um método de detecção semelhante, mas ao invés de procurar por um buraco no segundo plano aprendido, ele procura por um novo objeto que está estacionário a tempo suficiente para tornar-se parte do segundo plano. Se há uma cena realmente tumultuada, então o segundo plano aprendido não estará estável haverá muitos objetos em potencial interferindo com o segundo plano aprendido. Isso dificulta a aplicação de decisões sensatas em relação a elevar objetos abandonados ou removidos. Pessoas O rastreador de pessoas funciona da mesma maneira que um rastreador de monitoramento uma vez que ele aprende o segundo plano da visão da câmera e pode processar o que são objetos no primeiro plano. No entanto, ele faz algumas coisas adicionais para solucionar o problema presente quando um objeto se move atrás de outro. Quando um objeto se move atrás de outro, a câmera pode somente detectar que há um primeiro plano, pixels de objeto lá e os agrupa. Ela não pode processar o fato que há dois objetos lá! O que o rastreador de pessoas faz é modelar a layout colorido de cada objeto na visão da câmera: Página 5 de 11
Agora temos esse modelo incrível de pessoas. Nós o usamos para tentar manter registro de objetos quando eles vão para trás de coisas e aparecem novamente. Por exemplo, se duas pessoas, uma com uma camisa azul e outro com uma vermelha, andam juntos e conversam por alguns segundos e depois se separam e caminham em direções opostas, o rastreador de monitoramento teria problemas para distinguir qual objeto é qual. O rastreador de pessoas analisaria os dois objetos quando eles se separassem e pensaria: esse objeto parece um pouco com um objeto com uma camisa azul, portanto ele deve ser o objeto que visualizei mais cedo com uma camisa azul. Ele faz o mesmo com as pessoas vestindo a camisa vermelha e as pessoas são corretamente rastreadas após se juntarem. Esse é realmente um problema difícil de solucionar e o rastreador de pessoas faz um ótimo trabalho de resolvê-lo. No entanto, ele depende de bons modelos coloridos para ser capaz de distinguir qual objeto é qual ao tomar suas decisões. Quando um humano olha para um carro amarelo, ele dirá que é amarelo, obviamente. Quando uma câmera visualiza um carro amarelo, ela vê um pouco de preto nas sombras, branco onde o sol está refletindo e nas condições de iluminação ao pôr-do-sol, talvez aquele amarelo possa na realidade parecer mais parecido com a cor laranja! Isso torna o rastreador de pessoas muito mais adequado para ambientes internos onde a iluminação é mais controlada. Há ainda outros problemas! Uma pessoa caminha em direção à câmera e está vestindo um macacão azul. Aquela pessoa conversa com alguém e seus objetos são agrupados, então eles se separam e retornam em direção de onde vieram. O macacão daquela pessoa é na realidade azul na frente e branco nas costas. A câmera está agora visualizando um objeto que tem uma parte superior em branco e nada havia aparecido anteriormente com uma parte superior branca! Tentamos solucionar esses problemas através de ajustar o modelo de cor ao longo do tempo. Página 6 de 11
O rastreador de pessoas é um algoritmo mais recente do que o rastreador de monitoramento, portanto ajustes e melhorias acontecerão ao longo do tempo. Calibração O rastreador pode distinguir o que é o segundo plano e o que são pixels de objeto de primeiro plano. Ele pode agrupar esses pixels para criar objetos rastreados. No entanto, um grupo de 30 pixels não significa nada para a câmera sem calibração. Por exemplo: Esses objetos têm aproximadamente a mesma quantidade de pixels, mas são obviamente de tamanhos diferentes no mundo real. A calibração permite que a câmera corretamente distinga o que um grupo de 30 pixels é na realidade. Uma calibração correta permite que a câmera saiba que um metro no algoritmo é igual a um metro na realidade. Calibração permite que o rastreador calcule a área de um objeto bem como a velocidade. Calibração permite que os objetos sejam classificados. Classificação Assim que a câmera estiver calibrada e nós soubermos quanta área é representada por um grupo de pixels, nós podemos classificar o objeto. Por exemplo, assim que as duas câmeras acima estiverem calibradas, o grupo de pixels do objeto à esquerda podem ser convertidos para 1,5m² e os da direita para 4m². Podemos então dizer que qualquer coisa entre 1m² e 2m² é um ser humano e de 3m² a 5m² é um carro. Página 7 de 11
Linha de contagem Quando uma linha de contagem é configurada, ela faz uma modelagem do primeiro/segundo planos semelhante ao do rastreador, mas ao longo da linha. Quando um objeto passa através da linha, ele sabe que não é o segundo plano e um objeto importante. A linha de contagem tem a espessura de somente um pixel e não pode reconhecer que um objeto é mais longo do que um pixel. O que ela faz é manter um registro do que está visualizando para que saiba o que está passando através da linha. Isso é parecido com um scanner de escritório ao contrário. No scanner de escritório, ele se move através da página, já na linha de contagem, ela permanece parada e os objetos é que passam através dela. Com esse registro, ela pode contar pixels de primeiro plano agrupados como objetos através da linha. A assertividade disso é muito boa com o posicionamento correto da câmera. Calibrando a largura dos objetos previstos permite que a linha de contagem aumente sua assertividade ainda mais. Isso é porque se ela visualiza um objeto com o dobro da largura que ela antecipa ser, ela pode aumentar a contagem por dois! Isso ocorre quando pessoas andam sob a câmera de mãos dadas, ou estão conectadas de alguma forma. O posicionamento da câmera determina a assertividade da linha de contagem. Por exemplo, se temos um posicionamento de câmera de cima para baixo de duas pessoas seguindo uma a outra através de uma área: Página 8 de 11
Podemos ver que a linha de contagem visualizará dois objetos separados ao passarem através da mesma. Eles serão corretamente contados. No entanto, se a câmera for posicionada em um ângulo realmente raso, não há separação entre os objetos: A linha de contagem não pode contar dois objetos porque eles estão unidos ao passar através da linha. A linha de contagem visualiza um objeto realmente longo, mas dentro da largura de calibração, portanto o considera como um objeto. Auto Tracking Auto tracking funciona através de comparar o que foi visualizado no último frame de vídeo de uma câmera PTZ com o que ele pode visualizar neste vídeo frame, e move o PTZ se aquilo que ela comparou moveu-se. Por exemplo: Página 9 de 11
Como você pode ver, a pessoa que estamos rastreando mudou-se para o canto inferior direito da imagem. A câmera procura o frame do vídeo para comparar o mesmo formato. Se ela encontra um par correspondente, ela pode mover o PTZ o suficiente necessário para capturar o objeto no meio novamente neste caso a seta vermelha. Conforme o objeto se aproxima ou se distancia da câmera, o PTZ dará o zoom a fim de tentar manter o objeto comparado do mesmo tamanho. Devido ao fato de todas as câmeras PTZ terem zooms, focos e velocidades de movimentação diferentes, cada PTZ necessita ser calibrada para que o algoritmo saiba o quanto mover cada PTZ. Por exemplo, virar para a esquerda em um PTZ pode ser uma movimentação de 10 onde em outra câmera isso pode ser 30! Uma boa calibração de PTZ é essencial para um rastreamento preciso. Há uma ferramenta de calibração automática disponível que pode fornecer o usuário 95% de uma boa calibração, mas um ajuste final pode ser necessário dependendo do PTZ. Quando comparando o objeto, o algoritmo pode algumas vezes o comparar com alguma coisa que não é na realidade o objeto que ele estava procurando. Por exemplo, se estivéssemos rastreando um carro em baixa velocidade, ele pode passar por um carro parado e o algoritmo pode selecionar esse carro parado. Ao dar o zoom, a imagem pode sair de foco, fato que torna incrivelmente difícil o processo de comparar o objeto. Por tal razão que precisamos uma câmera PTZ de alta qualidade para auto tracking. Página 10 de 11
Detecção de Fogo & Fumaça O algoritmo de detecção de fogo & fumaça funciona por amostras de cor, frequência e características com o passar do tempo dos pixels em uma imagem. Fogo Fogo tem uma cor distinta e ele também cintila de uma forma distinta. Se um grupo de pixels se encaixa sob a gama de cores e frequência de cintilação ao decorrer do tempo, podemos indica-los como borrões de fogo. Os borrões de fogo são então processados novamente para reduzir falsas detecções. As razões por isso é que vários outros objetos em uma cena podem corresponder às características do pixel de uma chama, mas nenhuma outra característica. Um carro vermelho se movendo rapidamente através da imagem não seria classificado como um fogo devido ao seu movimento global contrastando com o movimento de uma chama. Fumaça Fumaça tem uma textura suave com uma ausência de bordas agudas. A textura mudará rapidamente ao longo do tempo quando os mesmos pixels forem observados. A fumaça também tem uma característica de movimento distinta a qual pode ser rastreada ao longo do tempo. Essas características da fumaça podem ser usadas para detectar pixels que podem ser classificados como borrões de fumaça. Devido ao uso de cor para detectar fogo, se a gama de cores da câmera estiver incorreto, o algoritmo de detecção de fogo pode falhar. Isso é também uma questão quando a câmera altera para modo noturno, pois a informação de cor é perdida. Obter vídeos de teste para o algoritmo de fogo e detecção é difícil, uma vez que os objetos necessitam estar em chamas! O algoritmo pode pender em direção a usar cautela e produzir falsos positivos. Com mais vídeos de teste, seremos capazes de ajustar o algoritmo para produzir melhores resultados. Página 11 de 11