02 agosto 2026

Revolucionando a Rotina Policial com IA: Como criamos o "Extrator de Docs" no Point.IA.br

A rotina operacional e administrativa da segurança pública exige velocidade e precisão. Um dos grandes gargalos de tempo – e fonte comum de erros de digitação – é o processo de qualificação de indivíduos. Copiar dados de Carteiras de Identidade (RG), CNHs, CPFs e CRLVs para sistemas, boletins de ocorrência ou planilhas é uma tarefa monótona e repetitiva. 


Foi para erradicar esse problema que desenvolvemos o módulo **Extração de Docs** dentro do ecossistema do **Point.IA.br**. Trata-se de uma ferramenta poderosa de Visão Computacional que utiliza Inteligência Artificial para ler fotos de documentos e extrair todos os dados textuais de forma estruturada em questão de segundos. 


Neste artigo, vou detalhar como essa ferramenta foi construída, os desafios técnicos que enfrentamos e como a mágica acontece por baixo dos panos.


### O Desafio Inicial: Lixo entra, Lixo sai


Quando começamos a desenhar a ferramenta, o fluxo parecia simples: o usuário tira uma foto, a imagem vai para a IA, e a IA devolve o texto. Mas no mundo real, lidando com smartphones na rua, a história é bem diferente.


Os primeiros problemas que enfrentamos foram o **tamanho das imagens** e os **formatos proprietários**. Câmeras de celulares modernos chegam facilmente aos 50 Megapixels, gerando arquivos de 15MB a 20MB. Enviar isso pela rede móvel (3G/4G) na viatura demoraria uma eternidade, além de estourar os limites de payload (tamanho de pacote) das APIs de Inteligência Artificial.


Além disso, enfrentamos o temido formato **HEIC/HEIF**. Dispositivos da Apple (iPhones) e os mais recentes da Samsung salvam fotos nesse formato de alta eficiência. O problema? Navegadores web padrão e APIs não costumam conseguir ler arquivos HEIC nativamente, resultando em falhas silenciosas ou telas travadas.


### A Engenharia da Captura: Tratamento Local


Para resolver isso, a ferramenta não envia a foto crua para a nuvem. Nós construímos um motor de processamento direto no navegador do usuário (Client-side):


1. **Conversão de HEIC sob demanda:** Implementamos a biblioteca nativa `heic2any`. Assim que o policial tira a foto do documento, o sistema detecta se é um arquivo da Apple/Samsung. Se for, o script intercepta a foto e a converte internamente para um arquivo JPEG padrão e amigável, antes de fazer qualquer outra coisa.

2. **Compressão Inteligente via Canvas:** Em seguida, a imagem original (ou recém-convertida) é carregada silenciosamente em um elemento `<canvas>` invisível na tela. O sistema possui um algoritmo matemático que recalcula as dimensões da foto. Ele verifica o lado maior da imagem e o reduz para no máximo `1600 pixels`, mantendo a proporção exata. 

3. **Otimização Extrema:** Após o redimensionamento, o Canvas cospe a imagem convertida em Base64 (texto) com uma qualidade JPEG travada em 80%. O resultado? Uma foto de documento gigantesca de 15MB cai para cerca de **150kb a 300kb**. A qualidade para leitura humana e para a IA continua perfeita, mas o envio é instantâneo e não consome a franquia de dados.


O sistema também foi programado para agrupar até **3 fotos simultâneas**, permitindo que o operador tire fotos da "Frente", do "Verso" e de um documento adicional, processando tudo de uma só vez.


### O Coração do Sistema: Visão Computacional (Vision AI)


Com as imagens tratadas, compactadas e seguras, a mágica da inteligência artificial começa. Para esse módulo, integramos os serviços da **Groq**, famosa por sua velocidade absurda no processamento de inferências (utilizando chips LPU ao invés das tradicionais GPUs). 


Nós empacotamos as imagens em Base64 e as enviamos para a nossa rota de backend segura (`/api/ai/chat`), acionando modelos multimodais de ponta como o `qwen/qwen3.6-27b`. 


Mas a IA, por si só, é apenas um motor; ela precisa de uma direção clara. Aqui entra a **Engenharia de Prompt**. 


Enviamos a imagem acompanhada da seguinte instrução de sistema rigorosa:

> *"Você é um assistente de inteligência artificial policial especializado em extração de dados de documentos brasileiros (RG, CNH, CPF, CRLV). Extraia os dados legíveis da imagem e retorne EXCLUSIVAMENTE em formato JSON. As chaves devem ser lógicas (ex: NOME, CPF, DATA_NASCIMENTO). Não adicione markdown, não explique, não use blocos de código. Apenas o JSON puro começando com { e terminando com }."*


O sistema manda a IA cruzar as informações de todas as fotos (frente e verso) para montar um relatório (JSON) único e sem repetições.


### Filtragem Tática e Prevenção de Falhas


Modelos de IA modernos, especialmente os focados em raciocínio (reasoning), costumam ter o hábito de "pensar em voz alta" antes de dar a resposta, gerando blocos de texto como `<think> analisando a imagem... </think>` antes de entregar o que pedimos.


Se o nosso sistema tentasse ler esse pensamento como código JSON, o sistema "quebraria" (o famoso erro de sintaxe). Para garantir que a ferramenta do Point.IA.br nunca falhe na rua, nós escrevemos um algoritmo de extração agressiva e robusta:


```javascript

// Extração robusta: isola exatamente de '{' até '}' ignorando texto antes ou depois

const startIndex = jsonString.indexOf('{');

const endIndex = jsonString.lastIndexOf('}');


if (startIndex !== -1 && endIndex !== -1 && endIndex >= startIndex) {

    jsonString = jsonString.substring(startIndex, endIndex + 1);

}

```


Não importa se a IA decidiu escrever um poema, explicar como analisou a foto ou colocar marcações Markdown. O nosso código atua como um bisturi cirúrgico, varrendo a resposta da IA, localizando a primeira chave `{` e a última chave `}`, extraindo apenas os dados puros do documento e descartando o resto. 


### A Entrega: Uma HUD Operacional


Assim que os dados são decodificados, a interface entra em ação. Criamos um painel chamado de **"Result HUD"** (Heads-Up Display). 


Ao invés de cuspir um texto confuso na tela, a interface do Point.IA.br lê os dados, limpa nomes de variáveis (transformando "DATA_NASCIMENTO" em um elegante "DATA NASCIMENTO") e gera **cards independentes** para cada dado encontrado (Nome, CPF, Naturalidade, Filiação).


Para coroar a usabilidade, cada campo conta com seu próprio botão tático **"COPIAR"**. O operador pode copiar apenas o CPF para colar no sistema de consulta de mandados, ou usar o botão supremo **"COPIAR TUDO"**, que formata um relatório textual automático pronto para ser jogado no WhatsApp da equipe, no CAD (Sistema do COPOM) ou no Boletim de Ocorrência.



### Conclusão


O módulo **Extração de Docs** é um reflexo claro de como desenhamos o **Point.IA.br**. Não se trata apenas de "ligar uma IA" num site. Trata-se de entender a realidade da rua (fotos grandes, sinal ruim de internet, celulares da Apple), criar algoritmos de contenção (compressão, conversão HEIC) e refinar a interação homem-máquina (extração de JSON, botões de cópia rápida).


O resultado é uma ferramenta onde a burocracia policial que levaria minutos de digitação passível de erro, é resolvida em menos de cinco segundos com o clique da câmera.


Nenhum comentário:

Postar um comentário