DevSecOps

11 abr, 2013

O software livre como aliado ao combate a falsificação

Publicidade

Hoje vivemos em uma sociedade em que cada vez mais estamos comprando gato por lebre, em função do grande número de falsificações existentes no mercado. Por vezes adquirimos um produto que julgamos ser original, enquanto na verdade são verdadeiras falsificações.

Detectar esse tipo de fraude não é um processo trivial ou fácil, entretanto, com o avanço dos algoritmos de processamento de imagens o combate à falsificação está ganhando um aliado importante. Temos por exemplo a adulteração da gasolina pela adição de solventes, que é uma prática ilegal, e que ocorre com frequência. A adição ilegal de solventes além de prejudicar os consumidores, acarreta em perdas de arrecadação por sonegação fiscal.  Para ajudar nesse combate, o uso do software livre pode ser  uma ótima alternativa, definindo, por exemplo, padrões de reconhecimento de imagens.

E uma das funções  do reconhecimento de padrões em imagens pode ser o de determinar uma maneira para que possa ser detectadas fraudes, e esse é o assunto que estamos tratando nesse artigo. O objeto discutido será a fraude em líquidos, tais como combustíveis, bebidas e outros.

A partir de um padrão definido, é possível desenvolver um algoritmo que seja capaz de ser estendido para detecção de fraude em outros materiais também. Por exemplo, suponha que se deseja criar um padrão para distinguir um produto falso do verdadeiro, o primeiro passo é entender o que é o produto a ser analisado e a partir daí começar a desenvolver o trabalho.

Vamos tomar como exemplo o uísque, que é um produto bastante falsificado. O uísque é uma aguardente de cereais, com uma característica comum que é a fermentação dos grãos e a destilação máxima de 80% de álcool para os derivados do milho e de 90% de álcool para os derivados de outros grãos. O uísque ganha 60% do seu sabor baseado no tipo de barril usado no seu envelhecimento. E todas essas características físico-químicas devem ser levadas em consideração no momento do processamento das imagens que serão capturadas digitalmente.

0909

 

A imagem digital é uma representação em uma região discreta, limitada através de um conjunto finito de valores inteiros que representam cada um dos seus pontos. As imagens podem ser binárias, monocromáticas ou coloridas. Uma imagem colorida é uma imagem onde a cor em cada ponto é definida através de três grandezas: luminância, matiz e saturação. A luminância está associada com o brilho da luz, a matiz com o comprimento de onda dominante e a saturação com o grau de pureza ou intensidade do matiz. A imagem colorida também permite medir a temperatura da cor, que é a temperatura de um corpo negro ideal, que irradia luz de tonalidade semelhante à da fonte de luz. Neste artigo, a opção foi trabalhar com imagens coloridas, tiradas com equipamento que reflete um espectro ultravioleta que incide sob o líquido a ser analisado, uísque, com o objetivo de diminuir ruídos e ter um maior poder de absorbância, uma vez que ruídos podem distorcer a imagem e dificultar o reconhecimento de padrões. A absorbância ou absorvência é a capacidade intrínseca dos materiais em absorver radiações em frequência específica. Usualmente, tal propriedade é empregada na análise de soluções em química analítica. A opção pelo espectro ultravioleta se deu pelo seu poder de absorbância, levando-se em conta que existem vários elementos e reações químicas presentes no líquido em estudo, uísque.

0908

 

Para identificar as formas e tamanhos, a ferramenta adotada foi a morfometria, que é um padrão matemático que estuda as formas pertencentes à mesma população estatística e possibilita a identificação de populações de organismos vivos ou reações químicas, que podem assumir formas ou tamanhos diferentes conforme o ambiente em que se desenvolveram ou que estão expostos. A cor também é uma característica essencial na análise proposta; entretanto a cor exibida depende do dispositivo que está sendo utilizado, e para contornar qualquer distorção, foi adotado um padrão neste trabalho fixando no padrão CIE. Esse padrão é um espaço de cor puramente matemático e, portanto independente de dispositivos. Nesse trabalho, as imagens são convertidas para os espaços de cores, HSB, HSL, HSV, CIE Lab, CIE Luv e CIE XYZ e dados como brilho, luminância e cromaticidade são utilizados nos cálculos, e pequenas diferenças no espaço de cores pode fazer uma grande diferença.

0907

 

A cromaticidade da cor, por exemplo, é especificada por dois parâmetros derivados de X e Y, dois dos três valores normalizados que são funções de todos os três valores tristimulares X, Y e Z, juntamente com o cálculo da curva de potência espectral, que dá o comprimento de onda da energia. As leis da mistura aditiva também são outro ponto de apoio fundamental, pois são utilizadas para caracterização do produto.

A unidade de medida utilizada nos cálculos da imagem é o pixel, o menor ponto que forma uma imagem digital, o menor elemento num dispositivo de exibição, ao qual é possível atribuir-se uma cor, e cada pixel tem seu próprio endereço. Uma representação adequada de um pixel consiste em uma área retangular ou quadrada. Três aspectos são muito importantes nesse contexto de representação, a vizinhança, a conectividade e as distancias.  A relação de distância indica o quão perto ou quão longe um pixel se encontra do outro geograficamente no plano ou no espaço. A distância Euclidiana é um padrão padrão adotado para os cálculos. Uma imagem possui uma serie de informações armazenadas, e uma das mais relevantes refere-se à cor ou ao tom de seus pixels, e o histograma foi o padrão estático adotado para apresentar os determinados níveis de cor detectados em cada um dos pixels que formam a imagem em estudo.

0906

 

Pode-se considerar que o primeiro passo para análise e entendimento da imagem consiste em particioná-la de modo que seja possível explicitar regiões representativas da imagem. A segmentação se refere ao processo de dividir uma imagem digital em múltiplas regiões, com um conjunto de pixels, com o objetivo de simplificar para facilitar a sua análise. A detecção de bordas, que é uma técnica de processamento de imagem para determinar pontos de uma imagem digital em que a intensidade luminosa muda repentinamente, também foi adotada, e gera informações estatísticas usadas na inteligência computacional da análise. O algoritmo K-means, que fornece uma classificação de informações de acordo com os próprios dados, também é adotado para fazer os agrupamentos das informações. A classificação é baseada em análise e comparações entre os valores numéricos dos dados obtidos com os processos já descritos. Desta maneira, o algoritmo automaticamente vai fornecer uma classificação sem a necessidade de nenhuma supervisão humana. Para gerar as classes e classificar as ocorrências, o algoritmo faz uma comparação entre o valor da distância euclidiana e também de cada cor por meio da distância das cores no gráfico de cromaticidade do padrão CIE. O algoritmo vai analisar todos os dados coletados das cores e também da imagem além dos dados morfométricos e criar as classificações. A implementação dessa ferramenta esta baseada em software livre.

0905

 

A linguagem de programação adotada foi o Perl, com os pacotes gráficos GD e Imagemagick, além de pacotes matemáticos. Os resultados geram informações para serem utilizadas e processadas nos programas como R, SCILAB, Open Office, Excel e MathLab que servem de apoio à inteligência da ferramenta.