Reconhecimento de Placas na Borda — Seleção, Implantação e Dados Medidos
Suporta placas azuis de linha única da China continental (7 caracteres) e placas verdes de novos veículos de energia (8 caracteres); placas de duas linhas, de uso especial e estrangeiras não são suportadas. A licença dos pesos de detecção e reconhecimento ainda não está confirmada; confirme-a antes da distribuição comercial.
O que esta solução faz
Mantenha as câmeras de rede já instaladas no portão e adicione um host de reconhecimento no local para ler as placas. Quando um veículo na lista de permissão chega, o controlador do portão envia à cancela um sinal de abertura; cada veículo deixa um registro com seu número de placa, confiança e uma captura de tela. Serve para portões de condomínios residenciais, campi e estacionamentos de funcionários, e também pode funcionar sem cancela como registro de entrada/saída.
- Pacote de implantação (Docker Compose e configuração): github.com/suharvest/sensecraft-solutions
- Seleção e implantação: página de reference design
Placas e vídeo permanecem no local
O reconhecimento é executado no host no local. As capturas de tela permanecem lá por 7 dias por padrão e só saem quando buscadas por link.
30 fps em 1080p
As séries reComputer J30 Series e RK3576 Series processam 1080p a 29–30 fps; veja "Performance e dados medidos".
Mantenha suas câmeras
As câmeras de rede 1080p existentes conectam via RTSP; o host puxa o stream pela LAN.
Um registro por veículo
Cada veículo é reportado uma vez com número da placa, tipo de placa, confiança e um link de captura de tela; um sistema de estacionamento assina um tópico MQTT.
Em um dispositivo real
A própria página de pré-visualização no navegador do host de reconhecimento: a placa é enquadrada e rotulada com seu número e confiança, e as últimas cinco leituras são listadas à direita.

Os quadros de entrada são imagens estáticas do conjunto de teste público CCPD (licença MIT) em loop via RTSP, não imagens do local.

Hardware necessário
Três elementos no local: a câmera do portão, um host de reconhecimento e, para abertura automática, um controlador de portão mais um relé intermediário.
① Câmera do portão: sua câmera de rede existente, 1080p ou melhor, com um stream RTSP.
② Host de reconhecimento: escolha um; um host por câmera de portão.
| Host de reconhecimento | Medido (entrada 1080p) | Escolha-o quando | |
|---|---|---|---|
![]() | reComputer J30 Series (J3011) Jetson Orin Nano, JetPack 6.2 | 30 fps | Escolha padrão |
![]() | reComputer J40 Series (J4012) Jetson Orin NX, JetPack 6.2 | Mesmo pacote que o J30 | O host também executa outros modelos |
![]() | reComputer RK3588 Series NPU on-board | Implantação e saída medidas | O local se padroniza em Rockchip |
![]() | reComputer RK3576 Series NPU on-board | 29–30 fps | Custo vem em primeiro lugar |
③ Controlador de portão (opcional): reComputer R1100 Series (R1124-10). Ele executa o broker MQTT, mantém a lista de permissão e aciona a cancela a partir de uma saída digital por meio de um relé intermediário em trilho DIN. O fechamento permanece com o próprio laço ou radar da cancela.
Câmera, host de reconhecimento e controlador de portão ficam na mesma LAN; conexões cabeadas são recomendadas.
Implantação no local
1. Instale a câmera
Instale a câmera a 3–8 m da faixa em uma posição fixa, apontada para onde as placas passam. O reconhecimento só é executado dentro de uma região configurada da imagem (a parte inferior central por padrão); verifique essa região novamente sempre que a câmera for movida.
2. Instale o software: três etapas
As etapas por dispositivo estão na página de reference design; isto é o resumo.
- Controlador de portão (opcional): instale o broker MQTT e o serviço de portão no R1124-10, envie o CSV da lista de permissão e confirme que a cancela se move com o endpoint de teste de abertura.
- Host de reconhecimento: insira o endereço RTSP da câmera e o endereço do broker MQTT, depois faça a implantação. A primeira implantação baixa o runtime e os modelos; depois disso ele funciona offline.
- Verificação: abra a página de pré-visualização na porta 8080 do host; veículos que passam mostram a placa enquadrada, e o tópico de placas carrega um registro por veículo.
Antes de entrar em operação, compare as leituras com placas reais usando imagens diurnas e noturnas do seu próprio portão.
Interfaces
Os resultados vão via MQTT para o broker que você informou na implantação (normalmente o R1124-10); capturas de tela e status usam HTTP.
- Sistema de estacionamento ou cobrança: assine o tópico de placas, um registro por veículo; faça a reconciliação em
plate_normalized. - Cancela: o R1124-10 verifica cada registro de placa em relação à lista de permissão e publica o resultado no tópico do portão. A mesma placa chegando novamente dentro do tempo de espera é registrada como
suppressede não reabre. - Seu próprio sistema: busque a captura de tela pelo link no registro ou monitore o serviço pelo endpoint de health.
| Tópico / porta | Conteúdo |
|---|---|
MQTT <site>/parking/<camera>/plate | Número da placa, tipo de placa (cn_blue / cn_green), confiança, quadros de votação, posição na imagem, link da captura de tela |
MQTT <site>/parking/<camera>/gate | Registro de portão: open_pulse (aberto) ou suppressed, com o registro de placa correspondente e o rótulo da lista de permissão |
MQTT <root>/status | Status do serviço, publicado periodicamente; o último permanece no broker se o host ficar offline |
HTTP 8080 /snapshots/{seq}.jpg | Captura de tela vinculada a partir do registro de placa, mantida por 7 dias por padrão |
HTTP 8081 /whitelist (R1124-10) | GET retorna o CSV da lista de permissão, PUT o substitui (um 400 informa a linha com falha); POST /gate/test dispara uma abertura de teste |
HTTP 8099 /healthz | Status do serviço incluindo velocidade de processamento |
As capturas de tela não são incorporadas nos registros; um registro carrega apenas o link e o sha256 da captura.
Performance e dados medidos
Velocidade de processamento
| Dispositivo | Velocidade de processamento | Detecção de placa por quadro | Condições |
|---|---|---|---|
| reComputer J30 Series (Orin Nano) | 29,9 fps (medido) | p50 5,6 ms (medido) | RTSP 1080p a 30 fps |
| reComputer RK3576 Series | 29–30 fps (medido) | p50 23,1 ms, reconhecimento 1,8 ms (medido) | Mesmo |
Reproduzir: sensecraft-solutions/solutions/edge_plate_recognition (pacote de implantação) com o clipe de entrada plate-labeled40-1080p-120s.mp4
Leituras de placas
A entrada são imagens estáticas de placas do conjunto de teste CCPD, cada uma mantida por vários segundos, transmitidas em 1080p via RTSP. A verdade de base vem dos nomes de arquivo do CCPD.
| Dispositivo | Entrada | Resultado |
|---|---|---|
| reComputer J30 Series | 40 imagens estáticas | 56 registros de placas publicados, 50 correspondem à verdade de base (medido) |
| reComputer RK3576 Series | 40 imagens estáticas | 57 registros de placas publicados, 51 correspondem à verdade de base (medido) |
| reComputer J30 Series | 8 imagens estáticas | 5 lidas corretamente, 3 não produziram registro, 0 placas incorretas (medido) |
| reComputer RK3588 Series | 8 imagens estáticas | 5 lidas corretamente, 3 não produziram registro, 0 placas incorretas (medido) |
Uma imagem estática pode produzir mais de um registro enquanto permanece na tela, portanto as contagens de registros excedem as contagens de imagens. Quando uma placa não pode ser lida, o host não publica nada: nenhum dos dispositivos publicou uma placa incorreta nas 8 imagens estáticas.
Reproduzir: sensecraft-solutions/solutions/edge_plate_recognition/gallery/ATTRIBUTION.md (nomes de arquivo e verdade de base das 8 imagens estáticas)
Modelos e runtimes
| Dispositivo | Detecção | Reconhecimento | Runtime |
|---|---|---|---|
| reComputer J30 / J40 Series | YOLOX-Tiny, 640×640, FP16 | PlateRecNet (interno), 96×32, FP16 | TensorRT, decodificação por hardware |
| reComputer RK3588 / RK3576 Series | YOLOX-Tiny, 640×640, INT8 | PlateRecNet, 96×32, INT8 (camada de saída FP16) | Runtime RKNN 2.3.2, decodificação por hardware MPP |
Parâmetros que afetam os resultados (pacote de implantação config/plate.json):
plate.roi: região de reconhecimento, parte inferior central da imagem por padrão. Redesenhe-a depois que a câmera se mover.plate.vote: até 7 quadros votam por veículo; um registro é publicado quando pelo menos 3 concordam com confiança de 0,6 ou superior.plate.dedup_s: a mesma placa é publicada no máximo uma vez a cada 30 s.
Degradações conhecidas
- Tipos de placa não suportados: Suporta apenas placas azuis de linha única (7 caracteres) e verdes de nova energia (8 caracteres). Placas amarelas de duas linhas, reboques, polícia e placas estrangeiras não são suportadas.
- Ângulo e velocidade da câmera: Os veículos devem entrar em um ângulo ≤ 30° com largura da placa > 96 pixels no quadro. Ângulos de entrada agudos (> 45°) ou velocidades acima de 30 km/h degradam a detecção.
- Ofuscamento e superexposição dos faróis: Ofuscamento direto ou faróis altos à noite podem apagar os caracteres. Mesmo em portões sem iluminação, recomenda-se iluminação suplementar (~5000K).
Fontes de dados e recursos
- CCPD (Xu, Z. et al., ECCV 2018): github.com/detectRecog/CCPD, licença MIT, Copyright (c) 2017 CCPD. As capturas de tela nesta página usam suas imagens do conjunto de teste; as placas são placas reais do conjunto de dados público.
- Código do modelo de detecção YOLOX: Apache-2.0. A estrutura do modelo de reconhecimento é código interno. A licença de ambos os conjuntos de pesos treinados ainda não foi confirmada; confirme-a antes da distribuição comercial.



