A realização dos projetos de alta tecnologia sempre começa com um plano de várias camadas que deve incluir o Custo Total de Propriedade (Total cost of ownership ou TCO) do software e da infraestrutura correspondente. O problema para muitos integradores e usuários finais é que, quando se trata de sistemas de hardware e software de vários fornecedores, muitos custos ocultos podem ser negligenciados nos estágios iniciais de planejamento.
Como uma equipe com grande experiência na implementação de soluções baseadas em tecnologia de reconhecimento facial, decidimos compartilhar nossa própria experiência e dizer quais armadilhas você pode encontrar ao dar vida ao seu projeto. Daremos algumas dicas sobre como escolher um software de reconhecimento facial que permitirá obter resultados máximos com o menor TCO.
O custo da licença não é TCO
Alguns acreditam que basta escolher o software de reconhecimento do fornecedor que oferece o menor preço de propriedade de licença. No entanto, esse pensamento está errado e pode custar muitas vezes mais do que uma solução com um preço de licença mais alto. Custos imprevistos podem começar com suporte técnico que não está incluído no preço da licença e terminar com uma série de limitações no sistema baseado nesse software ao tentar alterar, adicionar ou remover algo.
É essencial entender que o sucesso do projeto depende da escolha da solução, e qualquer detalhe esquecido pode levar ao fracasso. Portanto, é necessário escolher um software flexível e estável que seja inicialmente projetado com todo o conjunto de tarefas a serem realizadas e com possíveis modificações futuras em mente.
Sempre considerar o hardware
Além da licença do software, qualquer sistema de reconhecimento envolve muitos hardwares, que incluem câmeras, quilômetros de cabos, comutadores, servidores para processamento de vídeo e armazenamento de dados. Freqüentemente, é o hardware — o principal item tanto para despesas de capital quanto para despesas operacionais. Assim, em um grande projeto e em um território extenso, o principal item de despesa pode não ser servidores ou câmeras, mas cabos de alta qualidade. Ao mesmo tempo, ao calcular o custo do projeto, você não deve desconsiderar a importância do software, porque a escolha do fornecedor da solução de software afeta diretamente os custos de fornecimento da capacidade de computação necessária.
Evite comprar hardware apenas para suprir as necessidades atuais. É necessário ter reserva de capacidade, pois na fase de avaliação e projeção nem sempre é possível avaliar plenamente os requisitos do hardware. Conforme a empresa se desenvolve, surge o problema de falta de servidores, o software ganha novas funções úteis — o que pode exigir mais capacidade de computação. Portanto, desde o início, você não deve tentar reduzir o projeto com as características mais baixas possíveis para o lançamento.
Ao tomar uma decisão a favor de um ou outro software, você obtém uma base segura para o sistema de reconhecimento, previsível em qualquer escala, ou obtém uma solução decepcionante que requer um investimento infinito. Então, o que distingue a solução certa do software que gera muitos sumidouros de orçamento em torno de si? Como mostra a nossa prática, consideração e otimização são os principais fatores de economia na realização de vários projetos que envolvem análise de vídeo.
É importante considerar como o software usa os recursos alocados. Por exemplo, CPUs e GPUs podem ser usados para processar fluxos de vídeo. Implementar uma solução usando apenas CPU pode parecer mais fácil (pois é mais comum, muitos especialistas já têm experiência) e mais barata (pois o custo mínimo desse equipamento é menor). Porém, quando um determinado número de fluxos a serem processados é alcançado, esta solução torna-se cada vez mais cara.
Por exemplo, se estamos falando sobre como trabalhar com uma ou duas câmeras, então até mesmo um NUC compacto com intel core i5 pode lidar facilmente com essa tarefa, mas para processar 20 câmeras, você precisará de um servidor com 24 núcleos de CPU, e depois os requisitos apenas aumentarão.
Se estamos falando de uma solução baseada em GPU, o custo de «entrada» para tal solução é significativamente maior, mas o desempenho de tais soluções também é superior. Por exemplo, para as mesmas 20 câmeras que podem cuidar do reconhecimento facial em um pequeno shopping, apenas uma única placa de vídeo RTX 2080Ti «customizada» e uma CPU de 4 núcleos serão suficientes e, o mais importante, o custo só irá diminuir.
Quando falamos sobre grandes soluções para centenas de fluxos de vídeo, a diferença será bastante significativa. Como exemplo, vamos comparar soluções para 100 câmeras em um shopping entre GPU e CPU para monitorar o fluxo de pessoas e trabalhar com listas negras. Quando reconhecemos um rosto com um perсurso que ainda não foi concluído, isso implica uma operação «em tempo real». Este cenário é o mais difícil para o sistema, pois requer alta velocidade e mantém uma carga de trabalho constante. Em tais cenários, o sistema pode produzir até 1.000.000 de reconhecimentos por dia, e o número de rostos reconhecidos simultaneamente pode chegar a 300.
Precisaríamos de cerca de 200 núcleos de CPU, com pelo menos 2,8 GHz cada para fornecer uma velocidade de resposta decente. Um servidor padrão com dois Intel Xeon integrados tem apenas 40 núcleos (fluxos não são contados). Assim, temos um sistema bastante complexo de 5 servidores, cerca de 5 unidades de altura, com a geração de calor e consumo de energia correspondentes, e com preço de cerca de R$ 350.000 (incluindo todos os outros componentes).
Para o mesmo cenário, usando GPU, nós temos 1 servidor de 4U com 8 GPUs Tesla T4 e uma CPU barata com 8 núcleos para processar as solicitações. Essa solução custará cerca de R$ 210 mil, o que é muito mais barato tanto em termos de preço e manutenção, quanto no consumo de energia.
Uma solução projetada para rodar em CPUs claramente custará mais caro, já que a densidade de processadores por servidor é muito menor do que a das placas de vídeo. A configuração baseada em GPUs torna o sistema mais compacto, flexível e eficiente. É por isso que FindFace Multi foi projetado com a capacidade de rodar em GPUs, o que permite processar mais fluxos de vídeo a um custo menor.
Outro fator de economia de custos é a capacidade do software escolhido de se integrar à infraestrutura existente e funcionar com uma ampla gama de equipamentos. Muitos clientes que já possuem um amplo sistema de vigilância por vídeo, simplesmente desejam complementá-lo com a funcionalidade de reconhecimento facial. Infelizmente, nem todo fornecedor de sistema de reconhecimento está disposto a se comprometer, pois isso levará a uma redução perceptível no desempenho do reconhecimento. Muitas vezes, a implementação do reconhecimento facial significa uma atualização completa do equipamento, o que é muito mais caro do que construir em cima da capacidade atual, e economizar dinheiro está fora de questão.
A equipe de desenvolvimento da NtechLab cria produtos de software que podem ser executados em uma ampla variedade de equipamentos. Não há vínculos com o fabricante do hardware do servidor ou com as câmeras especializadas para reconhecimento facial. O principal é que as características do hardware sejam suficientes para executar o software, e as câmeras sejam instaladas levando em consideração os requisitos de reconhecimento facial. Graças aos algoritmos capazes de detectar efetivamente os rostos das pessoas, apenas 30 pixels são suficientes para capturar um rosto.
Escolher um software previsivelmente escalável
A escalabilidade é uma das principais características dos sistemas de reconhecimento biométrico. Projetos que usam tais sistemas podem ser localizados, como uma única câmera ou terminal, ou podem ser em grande escala, como uma rede de câmaras cobrindo megacidades inteiras. É importante ter em mente que qualquer projeto sempre deve incluir a possibilidade de expansão, o que requer um alto grau de flexibilidade do sistema.
Conforme as necessidades do negócio crescem, o dimensionamento do sistema de reconhecimento é inevitável, o que coloca alguns clientes em uma situação em que uma atualização é necessária. E aqui depende muito do fornecedor de software específico, já que o preço final pode ser não linear. Muitos fabricantes de sistemas de reconhecimento facial têm limitações de software quanto ao dimensionamento, por exemplo, quando um servidor não pode lidar com mais do que um certo número de fluxos de vídeo ou o número total de servidores de detecção para o sistema é limitado. Isso gera muita complexidade na arquitetura da solução final e no custo de sua implantação, operação e suporte. Nossa experiência mostra que o software não otimizado para reconhecimento, quando for estendido, pode custar 2 a 3 vezes mais do que uma solução com uma arquitetura bem pensada e com alto grau de otimização.
Para sistemas de reconhecimento, há também um aspecto adicional na forma de velocidade de busca de imagens e comparação com imagens em banco de dados, que pode variar em tamanho de dezenas de milhares a bilhões de rostos. Nas soluções não otimizadas conforme a quantidade de dados aumenta, a velocidade de busca diminui, enquanto o software especializado tem uma velocidade consistentemente alta. Por exemplo, FindFace Multi é capaz de buscar imagens em 0,025 seg para 100.000 registros, enquanto a escala horizontal linear (fragmentação) garante a expansão para qualquer tamanho sem perda de desempenho.
Considerar a arquitetura do futuro sistema
Grandes projetos geralmente envolvem um grande número de objetos remotos para implementar o reconhecimento facial. Por exemplo, se estamos falando de uma instalação industrial com extração e processamento de recursos naturais, os objetos podem estar localizados a quilômetros de distância um do outro, e é óbvio que os canais confiáveis de comunicação sejam necessários para estabelecer a interação entre todos os elementos da rede.
A transmissão de fluxos de vídeo das câmeras para o servidor de processamento exige alta velocidade, por isso é muito caro em longas distâncias. Seria razoável oferecer suporte a um sistema com 30 câmeras, cada uma exigindo a largura de banda de pelo menos 4 Mbps para câmeras HD e 8 Mbps para câmaras FullHD que juntas somam mais de 120 Mbps e 240 Mbps? Normalmente, esses custos não são considerados, o que futuramente pode aumentar significativamente o TCO. Nem todos os desenvolvedores de software preveem esse problema, o que impossibilita alterar a configuração do sistema para atender às necessidades do cliente.
Uma das maneiras de reduzir os custos de canais de comunicação é transferir os servidores de pré-processamento de vídeo diretamente para o local onde as câmeras estão instaladas. Um servidor local pode receber o fluxo de vídeo diretamente, analisá-lo e enviar apenas as imagens relevantes para o servidor principal. Assim a largura de banda será bem menor ao enviar imagens e até mesmo 2 a 4 câmeras podem operar em uma conexão de 1 a 2 Mbps.
Mas às vezes é difícil de fornecer até esta velocidade, ou podem surgir os requisitos para a velocidade de resposta, que com uma conexão de 1−2 Mbps não será a mais rápida, ou a conexão é completamente instável. Para tais sistemas é possível construir uma rede de instalações independentes, totalmente autônomas, mas com a sincronização da base de dados de dossiês. Assim, o sistema terá um banco de dados de rostos atualizado e sincronizado, alta velocidade de resposta, já que todos os componentes são colocados localmente, e não há dependência da estabilidade da conexão à Internet.
É importante escolher uma solução que tenha a capacidade de funcionar em qualquer combinação híbrida sem perder eficiência.
Como calcular o TCO?
Calcular o custo total de propriedade de um projeto com reconhecimento facial é uma tarefa complexa que pode ser realizada apenas por especialistas com muitos anos de experiência em integração de sistemas biométricos. Você sempre pode entrar em contato com nossos especialistas, que selecionarão o integrador certo para você, levando em consideração todos os detalhes e possíveis armadilhas. Basta preencher o formulário de contato com a descrição do seu projeto e aguardar uma resposta.