Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Processamento de imagem e caixas delimitadoras para OCR

A tecnologia não para de evoluir, e nós também. Com o surgimento da inteligência artificial e do aprendizado de máquina, o foco mudou para a automação. Dito isto, várias disciplinas de ciência da computação são introduzidas para estudar e explorar as aplicações dessas tendências emergentes.

Um exemplo é processamento de imagem. Em linguagem simples, refere-se a explorar imagens para extrair informações significativas. Embora várias técnicas estejam disponíveis para conseguir isso, a mais comumente usada é – caixas delimitadoras.

Este blog investiga vários aspectos das caixas delimitadoras. Inclui o que são, como funcionam no processamento de imagens, parâmetros que os definem, convenções que os especificam, casos de uso comuns, precauções e práticas recomendadas e muito mais.

Vamos mergulhar.

O processamento de imagem refere-se à execução de certas operações em uma imagem para melhorá-la ou extrair alguns insights valiosos dos recursos ou atributos associados a ela. Hoje, o processamento de imagem é uma área primária de pesquisa em estudos de engenharia e tecnologia da computação.

O processamento de imagem pode ser feito usando dois métodos – processamento de imagem analógico e processamento de imagem digital.

O processamento de imagens analógicas envolve o uso de cópias impressas de impressões e fotografias para analisar e manipular imagens. Os analistas de imagem usam vários métodos para interpretar essas cópias de imagem e extrair resultados significativos.

O processamento digital de imagens usa imagens digitais e as interpreta usando computadores. É uma subcategoria de processamento de sinal digital e usa algoritmos para processar imagens digitais. Ele oferece vantagens sobre o processamento analógico de imagens, como algoritmos para evitar ruídos e distorções no processamento.

O processamento digital de imagens tem diversas aplicações nas áreas de medicina, manufatura, comércio eletrônico e muito mais.


Caixas delimitadoras no processamento de imagens

No início, a caixa delimitadora é uma caixa retangular imaginária que inclui um objeto e um conjunto de pontos de dados. No contexto do processamento digital de imagens, a caixa delimitadora denota as coordenadas da borda nos eixos X e Y que envolvem uma imagem. Eles são usados ​​para identificar um alvo e servir como referência para detecção de objetos e gerar uma caixa de colisão para o objeto.

O que são caixas delimitadoras?

As caixas delimitadoras são os elementos-chave e uma das principais ferramentas de processamento de imagem para projetos de anotação de vídeo. Em essência, uma caixa delimitadora é um retângulo imaginário que descreve o objeto em uma imagem como parte de um requisito do projeto de aprendizado de máquina. A moldura retangular imaginária envolve o objeto na imagem.

As caixas delimitadoras especificam a posição do objeto, sua classe e a confiança que informa o grau de probabilidade de que o objeto esteja realmente presente na caixa delimitadora.

A visão computacional oferece aplicações incríveis – de carros autônomos a reconhecimento facial e muito mais. E isso, por sua vez, é possível com o processamento de imagens.

Então, o processamento de imagens é tão simples quanto desenhar retângulos ou padrões ao redor de objetos? Não. Dito isso, o que as caixas delimitadoras fazem?

Vamos entender.

Como funcionam as caixas delimitadoras no processamento de imagens?

Como mencionado, a caixa delimitadora é um retângulo imaginário que atua como ponto de referência para detecção de objetos e desenvolve uma caixa de colisão para o objeto.

Então, como isso ajuda os anotadores de dados? Bem, os profissionais usam a ideia de caixas delimitadoras para desenhar retângulos imaginários sobre as imagens. Eles criam contornos dos objetos em questão dentro de cada imagem e definem suas coordenadas X e Y. Isso torna o trabalho dos algoritmos de aprendizado de máquina mais simples, ajudando-os a encontrar caminhos de colisão e assim por diante, economizando recursos de computação.

Por exemplo, na imagem abaixo, cada veículo é um objeto chave cuja posição e localização são essenciais para o treinamento dos modelos de aprendizado de máquina. Os anotadores de dados usam a técnica das caixas delimitadoras para desenhar os retângulos ao redor de cada um desses objetos – veículos, neste caso.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: chaveiro

Em seguida, eles usam as coordenadas para entender a posição e a localização de cada objeto, o que é útil para treinar os modelos de aprendizado de máquina. Uma única caixa delimitadora não fornece uma boa taxa de previsão. Para detecção aprimorada de objetos, várias caixas delimitadoras devem ser usadas em combinação com métodos de aumento de dados.

As caixas delimitadoras são técnicas de anotação de imagem altamente eficientes e robustas que reduzem consideravelmente os custos.

Parâmetros que definem uma caixa delimitadora

Os parâmetros são baseados nas convenções usadas para especificar a caixa delimitadora. Os principais parâmetros usados ​​incluem:

  • Classe: denota o objeto dentro da caixa delimitadora — por exemplo, carros, casas, prédios, etc.
  • (X1, Y1): Refere-se às coordenadas X e Y do canto superior esquerdo do retângulo.
  • (X2, Y2): Refere-se às coordenadas X e Y do canto inferior direito do retângulo.
  • (Xc, Yc): Refere-se às coordenadas X e Y do centro da caixa delimitadora.
  • Largura: denota a largura da caixa delimitadora.
  • Altura: Isso denota a altura da caixa delimitadora.
  • Confiança: representa a possibilidade do objeto estar na caixa. Diga, a confiança é 0.9. Isso significa que há uma probabilidade de 90% de que o objeto esteja realmente presente dentro da caixa.

Convenções que especificam uma caixa delimitadora

Ao especificar uma caixa delimitadora, geralmente, duas convenções principais precisam ser incluídas. Estes são:

  • As coordenadas X e Y dos pontos superior esquerdo e inferior direito do retângulo.
  • As coordenadas X e Y do centro da caixa delimitadora, juntamente com sua largura e altura.

Vamos ilustrar isso com o exemplo de um carro.

uma. Com relação à primeira convenção, a caixa delimitadora é especificada de acordo com as coordenadas dos pontos superior esquerdo e inferior direito.

Fonte: Analytics Vidhya

b. Com relação à segunda convenção, a caixa delimitadora é descrita de acordo com as coordenadas do centro, largura e altura.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: Analytics Vidhya

Dependendo do caso de uso, é possível converter entre os diferentes tipos de convenção.

  • Xc = (X1 + X2)/2
  • Yc = (Y1 + Y2)/2
  • Largura = (X2 – X1)
  • Altura = (Y2 - Y1)

Caixas delimitadoras explicadas com código de programação

Vamos ver outro exemplo sobre a localização ou posição de um objeto com trechos de código.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: d2i

Carregamos a imagem a ser usada para esta ilustração. A imagem tem um cachorro à esquerda e um gato à direita. Existem dois objetos – um cachorro e um gato na imagem.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: d2i

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: d2i

Vamos pegar x e y como coordenadas para os cantos superior esquerdo e inferior direito da caixa delimitadora. Diga, (x1,y1) e (x2,y2). Da mesma forma, vamos considerar as coordenadas do eixo (x,y) – para o centro da caixa delimitadora, juntamente com sua largura e altura.

Em seguida, definimos duas funções para converter esses formulários: box_corner_to_center converte a representação de dois cantos para a representação de centro-altura-largura e box_center_to_corner faz vice-versa.

As caixas de argumento de entrada precisam ser um tensor bidimensional de forma (n,4), onde n é o número de caixas delimitadoras.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: d2i

Em seguida, vamos definir as caixas delimitadoras do cachorro e do gato na imagem com base nos dados de coordenadas.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: d2i

Para verificar a exatidão das duas funções de conversão de caixas delimitadoras, podemos converter duas vezes.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: d2i

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: d2i

Em seguida, podemos desenhar as caixas delimitadoras dos objetos na imagem para verificar se eles são precisos. Antes disso, definimos uma função bbox_t_rect que representa a caixa delimitadora no formato relevante do pacote matplotlib.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: d2i

Agora, após adicionar as caixas delimitadoras dos objetos cão e gato à imagem, vemos que o contorno principal desses objetos está dentro das duas caixas.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: d2i

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: d2i


Quer automatizar tarefas manuais repetitivas? Verifique nosso software de processamento de documentos baseado em fluxo de trabalho Nanonets. Extraia dados de faturas, carteiras de identidade ou qualquer documento no piloto automático!


Casos de uso comuns de caixas delimitadoras

Localização de objetos de veículos autônomos

As caixas delimitadoras são essenciais no treinamento de veículos autônomos ou autônomos para identificar objetos na estrada, como prédios, sinais de trânsito, quaisquer obstruções e muito mais. Eles ajudam a anotar quaisquer obstáculos e permitem que os robôs conduzam o veículo com segurança e evitem acidentes, mesmo em caso de congestionamento.

Imagens de robótica

Técnicas de anotação de imagem, como caixas delimitadoras, são amplamente utilizadas para marcar os pontos de vista de robôs e drones. Esses veículos autônomos ajudam a classificar objetos na Terra usando as fotografias obtidas a partir desse método de anotação.

Marcação de imagens para comércio eletrônico e varejo

As anotações da caixa delimitadora ajudam a melhorar a visualização do produto, o que é uma grande vantagem no comércio eletrônico e no varejo. Modelos treinados em itens semelhantes podem anotar objetos como vestuário de moda, acessórios, móveis, cosméticos, etc., mais precisamente quando devidamente rotulados. Abaixo estão alguns dos desafios enfrentados pelas anotações de caixas delimitadoras no varejo:

  • Resultados de pesquisa incorretos

Se a pesquisa for a única maneira de os clientes encontrarem o site de comércio eletrônico, os dados incorretos do catálogo podem resultar em resultados de pesquisa imprecisos, não direcionando o tráfego do cliente para o site.

  • Cadeias de suprimentos não organizadas

Para aqueles que desejam expandir seus negócios de varejo para que milhões de produtos possam ser enviados anualmente, torna-se imperativo ter os dados offline e online sincronizados.

  • Digitalização Contínua

É fundamental ter todos os produtos digitalizados e etiquetados de forma sistemática e imediata para garantir que os clientes não percam nenhuma nova oportunidade. Além disso, as tags devem estar em contexto, o que se torna difícil à medida que o negócio de varejo se expande e mais produtos são adicionados.

Detecta Perda de Carro para Reivindicações de Seguro

A técnica de caixas delimitadoras ajuda a rastrear carros, bicicletas ou outros veículos danificados em um acidente. Os modelos de aprendizado de máquina usam essas imagens de caixas delimitadoras para entender a posição e a intensidade das perdas. Isso ajuda a prever o custo das perdas incorridas, com base no qual os clientes podem apresentar sua estimativa antes de entrar com uma ação judicial.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: Superanotar

Detectando itens internos

As caixas delimitadoras ajudam os computadores a detectar itens internos como camas, sofás, mesas, armários ou aparelhos elétricos. Isso permite que os computadores tenham uma noção do espaço e dos tipos de objetos presentes, com suas dimensões e localização. Isso, por sua vez, ajuda os modelos de aprendizado de máquina a identificar esses itens em uma situação da vida real.

As caixas delimitadoras são amplamente utilizadas em fotografias como uma ferramenta de aprendizado profundo para entender e interpretar vários tipos de objetos.

Identificação de doenças e crescimento de plantas na agricultura

A detecção precoce de doenças de plantas ajuda os agricultores a evitar perdas graves. Com o surgimento da agricultura inteligente, o desafio está em treinar dados para ensinar modelos de aprendizado de máquina para detectar doenças de plantas. As caixas delimitadoras são um dos principais impulsionadores que fornecem a visão necessária para as máquinas.

Indústria de transformação

A detecção de objetos e a identificação de itens nas indústrias é um aspecto essencial da fabricação. Com robôs e computadores habilitados para IA, o papel da intervenção manual é reduzido. Dito isso, as caixas delimitadoras desempenham um papel crucial, ajudando a treinar os modelos de aprendizado de máquina para localizar e detectar componentes industriais. Além disso, processos como controle de qualidade, classificação e operações de linha de montagem, que fazem parte do gerenciamento de qualidade, precisam de detecção de objetos.

Imagem médica

As caixas delimitadoras também encontram aplicações no setor de saúde, como em imagens médicas. A técnica de imagens médicas lida com a detecção de objetos anatômicos como o coração e requer uma análise rápida e precisa. As caixas delimitadoras podem ser usadas para treinar os modelos de aprendizado de máquina, que poderão detectar o coração ou outros órgãos com rapidez e precisão.

CCTVs automatizados

CCTVs automatizados são obrigatórios na maioria dos estabelecimentos residenciais, comerciais e outros. Muitas vezes, é necessário um alto armazenamento de memória para manter as imagens de CCTV capturadas por muito tempo. Com técnicas de detecção de objetos, como caixas delimitadoras, pode-se garantir que a filmagem seja gravada apenas quando determinados objetos forem identificados. As caixas delimitadoras podem treinar os modelos de aprendizado de máquina, que detectarão apenas esses objetos e, nesse instante, a filmagem poderá ser capturada. Isso também ajudaria a minimizar a extensão de armazenamento necessária para CCTV e reduzir custos.

Reconhecimento e Detecção Facial

O reconhecimento facial oferece múltiplas aplicações, como na vigilância biométrica. Além disso, várias agências como bancos, aeroportos, lojas de varejo, estádios e outras instituições usam o reconhecimento facial para prevenir crimes e violência. Dito isto, a detecção facial é um elemento importante da visão computacional que envolve o processamento de imagens. E aqui, novamente, as caixas delimitadoras podem ser usadas como uma ferramenta eficaz para o reconhecimento de caracteres.


Quer usar a automação de processos robóticos? Confira o software de processamento de documentos baseado em fluxo de trabalho Nanonets. Nenhum código. Sem plataforma de aborrecimentos.


Caixas delimitadoras para reconhecimento de caracteres

A detecção de objetos compreende – classificação de imagens e localização de objetos. Isso significa que para um computador detectar um objeto, ele precisa saber qual é o objeto em questão e onde ele está localizado. A classificação de imagem atribui um rótulo de classe a uma imagem. A localização do objeto está relacionada ao desenho da caixa delimitadora ao redor do objeto em questão em uma imagem.

O processo envolve um anotador desenhando as caixas delimitadoras ao redor dos objetos e rotulando-os. Isso ajuda a treinar o algoritmo e permite que ele entenda a aparência do objeto. Como primeiro passo para a detecção de objetos, o conjunto de dados de imagem deve ter rótulos.

Para rotular uma imagem, siga as etapas abaixo:

  • Escolha o conjunto de dados que você deseja treinar e testar. Faça uma pasta dele.
  • Vamos pegar o exemplo de um projeto de detecção de rosto como: BTS, Avenger, etc.
  • Crie dados de nome de pasta.
  • No Google Drive, crie uma pasta com o nome FaceDetection.
  • Na pasta FaceDetection, crie uma pasta da imagem.
  • Na pasta de imagem, crie pastas da imagem de teste, XML de teste, imagem de treinamento e XML de treinamento.
Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte:indúsmico

Agora, na pasta de imagens do trem, baixe e carregue de 10 a 15 imagens do BTS e dos Vingadores no formato JPEG. Da mesma forma, na pasta de imagens de teste, faça o mesmo para 5-6 imagens. É recomendável ter mais imagens no conjunto de dados para obter resultados precisos.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: indúsmico

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: indúsmico

Em seguida, gere um arquivo XML para cada imagem da imagem de teste e treine as pastas de imagem

Baixe e clique em windows v_1.8.0. Clique no arquivo .exe do GitHub e pressione Executar.

Em seguida, clique no diretório aberto para selecionar a pasta da imagem. Você verá a imagem que deve ser rotulada. Para rotular, pressione W no teclado e clique com o botão direito do mouse e arraste o cursor para desenhar a caixa ao redor do objeto. Dê-lhe um nome e clique em OK.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: indúsmico

Em seguida, salve a imagem para gerar o arquivo XML da imagem na pasta de imagens, conforme mostrado abaixo.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: indúsmico

Abra o arquivo XML para ver as coordenadas.

Processamento de imagem e caixas delimitadoras para OCR PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Fonte: indúsmico

Repita o procedimento para todas as imagens para gerar os arquivos XML e procure as coordenadas.


Se você trabalha com faturas e recibos ou se preocupa com a verificação de identidade, confira Nanonets OCR on-line or Extrator de texto PDF para extrair texto de documentos PDF de graça. Clique abaixo para saber mais sobre Solução de automação empresarial Nanonets.


Vários formatos de anotação usados ​​em caixas delimitadoras

Essencialmente, uma caixa delimitadora tem 4 pontos nos eixos (x,y) que representam os cantos:

Canto superior esquerdo: (x_min, y_min)

Canto superior direito: (x_max, y_min)

Inferior esquerdo:(x_min, y_max)

Inferior direito: (x_max, y_max)

As coordenadas da caixa delimitadora são calculadas em relação ao canto superior esquerdo da imagem.

Existem vários formatos de anotação de caixa delimitadora, cada um usando sua própria representação das coordenadas da caixa delimitadora.

uma. Albumentações

Eles usam quatro valores para representar a caixa delimitadora – [x_min, y_min, x_max, y_max] – que são normalizados dividindo as coordenadas em pixels para o eixo x pela largura e o eixo y pela altura da imagem.

Digamos que as coordenadas da caixa delimitadora sejam: x1 = 678, y1 = 24; x2 = 543, y2 = 213.

Deixe largura = 870, Altura = 789

Então, [678/870, 24/789, 543/870, 213/789] = [0.779310, 0.030418, 0.624137, 0.269961]

O Albumentations usa e interpreta esses valores internamente com caixas delimitadoras e os aprimora.

b. COCO

Este é um formato usado pelo conjunto de dados Common Objects in Context COCO. No formato COCO, uma caixa delimitadora é representada por quatro valores: (x_min, y_min, largura, altura). Essencialmente, eles se referem ao canto superior esquerdo e à largura e altura da caixa delimitadora.

c. YOLO

Nesse formato, uma caixa delimitadora é apresentada com quatro valores:(x_center, y_center, width, height). Aqui, x_center e y_center denotam as coordenadas xey normalizadas do centro da caixa delimitadora. Para normalizar, a coordenada x do centro pela largura da imagem e a coordenada y do centro pela altura da imagem. Os valores de largura e altura também são normalizados.

d. PASCAL

No formato Pascal, a caixa delimitadora é representada pelas coordenadas superior esquerda e inferior direita. Assim, os valores codificados em pixels são: [x_min, y_min, x_max, y_max]. Aqui, [x_min, y_min] é o do canto superior esquerdo, enquanto [x_max, y_max] denota o canto inferior direito da caixa delimitadora.


Quer automatizar tarefas manuais repetitivas? Economize tempo, esforço e dinheiro enquanto aumenta a eficiência!


Precauções e melhores práticas no uso de caixas delimitadoras

Algumas precauções e práticas recomendadas são recomendadas para o uso ideal de caixas delimitadoras no processamento de imagens. Eles incluem:

Variações de tamanho de caixa

O uso de todas as caixas delimitadoras do mesmo tamanho não renderá resultados precisos. Treinar seus modelos em caixas delimitadoras do mesmo tamanho faria com que o modelo tivesse um desempenho pior. Por exemplo, se o mesmo objeto parecer menor em tamanho, o modelo pode não conseguir detectá-lo. No caso de objetos parecerem maiores do que o esperado, pode ocupar um número maior de pixels e não fornecer a posição e localização precisas do objeto. O cerne é ter em mente a variação de tamanho e volume do objeto para alcançar os resultados desejados.

Estanqueidade perfeita em pixels

A firmeza é um fator crucial. Isso significa que as bordas da caixa delimitadora devem estar o mais próximo possível do objeto em questão para obter resultados precisos. As lacunas consistentes podem afetar a precisão na determinação da área de sobreposição entre a previsão do modelo e o objeto real, criando problemas.

Itens Diagonais Colocados Em Caixas Delimitadoras

O problema enfrentado com itens colocados diagonalmente dentro de uma caixa delimitadora é que eles ocupam consideravelmente menos espaço dentro da caixa em comparação com o plano de fundo. No entanto, se exposto por mais tempo, o modelo pode presumir que o alvo é o plano de fundo, pois isso consome mais espaço. Portanto, como prática recomendada, é recomendável usar polígonos e segmentação de instâncias para objetos diagonais. Ainda assim, é possível ensinar os modelos com uma caixa delimitadora com uma boa quantidade de dados de treinamento.

Reduzir a sobreposição da caixa

É sempre seguro evitar sobreposições de anotações em todos os cenários. Às vezes, isso pode causar tanta confusão que apenas algumas caixas sobrepostas podem ser finalmente visíveis. Objetos que têm uma sobreposição de rotulagem com outras entidades produzem resultados relativamente piores. O modelo não conseguirá diferenciar entre o objeto de destino e outros itens devido à sobreposição excessiva. Nesses casos, polígonos podem ser usados ​​para maior precisão.

Conclusão

O processamento de imagens é um domínio emergente da tecnologia que oferece amplo escopo. Dito isto, as caixas delimitadoras formam a técnica de processamento de imagem mais comumente aplicada.

Para resumir, as caixas delimitadoras são um método de anotação de imagem para treinar modelos de aprendizado de máquina baseados em IA. É usado para detecção de objetos e reconhecimento de alvos em uma ampla gama de aplicações, incluindo robôs, drones, veículos autônomos, câmeras de vigilância e outros dispositivos de visão de máquina.

Recursos sugeridos:

https://www.kdnuggets.com/2022/07/bounding-box-deep-learning-future-video-annotation.html#:~:text=A%20bounding%20box%20is%20a,location%2C%20size%2C%20and%20orientation.

https://www.v7labs.com/blog/bounding-box-annotation

https://towardsdatascience.com/image-data-labelling-and-annotation-everything-you-need-to-know-86ede6c684b1


Nanoredes API OCR e OCR online tem muitos interessantes casos de uso tIsso pode otimizar o desempenho do seu negócio, economizar custos e impulsionar o crescimento. Descobrir como os casos de uso das Nanonets podem ser aplicados ao seu produto.


Carimbo de hora:

Mais de IA e aprendizado de máquina