Processamento de imagens utilizando coeficiente de
correlação de Person (PCC)
Rodrigo de Lima Cunha, Thiago Paiva Almeida
Abstract —This document introduces the concepts of person
PCC correlation method where possible and identify through
mathematical calculations the relationship between two
variables. This work will be used Pearson correlation PCC in
an attempt to provide a proximity sensor, it is possible to
identify an obstacle, this work will also be evaluated the
distance that the PCC can prove its effectiveness.
I. INTRODUÇÃO
Este documento apresenta os conceitos do método de
correlação de person PCC, onde e possível identificar
através de cálculos matemáticos a relação entre duas
variáveis. Neste trabalho será utilizado a correlação de
Pearson PCC, na tentativa de prover um sensor de
aproximação, que seja possível identificar um obstáculo,
neste trabalho também será avaliado a distancia que o
PCC consegue provar sua eficácia.
II. COEFICIENTE DE CORRELAÇÃO DE PERSON
(PCC)
O método de Pearson é amplamente utilizado na
análise estatística, reconhecimento de padrões e
processamento de imagens. É uma medida do grau de
relação linear entre duas variáveis quantitativas. Este
coeficiente varia entre os valores -1 e 1. O valor 0 (Zero)
significa que não há uma relação linear, o valor 1 indica
uma relação linear perfeita e o valor -1 também indica
uma relação linear perfeita mais inversa, ou seja quando
uma das variáveis aumenta a outra diminui, Quanto mais
próximo estiver de 1 ou -1, mais forte é a associação
linear entre duas variáveis.
O coeficiente de correlação de Pearson é normalmente
representado pela letra r e sua formula de cálculo é:
Onde xi é a intensidade do ith
pixel na imagem 1, é a yi
intensidade do ith
pixel na imagem 2, xm é a intensidade
da média na imagem 1, e ym é a intensidade eda média
na imagem 2.
III. CRITERIOS DE DESCARTE
Os critérios de descarte foi apresentado como uma
solução simples para melhorar o desempenho de um
sistema de navegação em tempo real pela escolha
automática, que imagens devem ser descartada e quais
devem ser tratados no visual pela percepção do sistema.
Era uma nova abordagem usando o PCC. Na Figura 1,
basicamente se o PCC indica que existe uma elevada
correlação entre um quadro de referência e outro novo
quadro adiquirido, o novo quadro é descartado sem ser
processado (Pro exemplo o sistema pode repetir o ultimo
comando valido). Caso contrario, o quadro é processado
e que pe definido como o novo quadro de referência para
o quadro subsequente. A inclusão de um método de
imagem descarte automático leva a uma redução do
tempo de processamento. Apesar de sistema gastar
apenas milesegundos para calcular o PCC, ele ganha
muito mais tempo, em alguns casos, a devolução de mais
do que 90% das imagens. No entanto, é importante notar
que este percentual, não é dependente da sequenceia de
vídeo ou a imagem tamanho, mais sobre os obstáculos /
Objetos que influenciam.
Figura 1 – Criterios de Discarte [Rittner et al. 2007]
IV. CAMADA DE PERCEPÇÃO VISUAL BASEADA
NA VISÃO MONOCULAR
A percepção do ambiente é uma questão importante
para veículos autônomos. A camada percepção utiliza
muitos tipos de sensores. Os sensores baseados na visão
são definidos como sensores passivos, e da digitalização
de imagens é realizada com rapidez suficiente para robôs
móveis. No entanto sensores de visão são menos
robustos do que radares de ondas milimétricas em
nevoeiro, noite, ou brilho do sol em condições diretas.
Todos os sistemas de detecção de obstáculo à base de
alcance tem dificuldades para detectar objetos pequenos
ou plantas na terra, e intervalo de sensores também são
imcapazes de distinguir entre diferentes tipos de
superfícies de solo.
No entanto, o principal problema com a utilização de
sensores ativos e representado pelos interferência entre
os sensores do mesmo tipo, por isso, prever uma
utilização maciça e generalizada destes agentes de
detecção¸ são, o uso de sensores passivos obtém
vantagens chave [Bertozzi et al. 2000]. Na frente da
segurança, os sistemas de segurança progressivas sera
desenvolvido através da fabricação de “para-choques
inteligentes” periférico para o véiculo em responder a
novas funcionalidades como: detecção de ponto cego,
frontal e lateral de pré-colisão, etc. A objetivo em termos
de custo para preencher funções ADAS tem de ser muito
menor do que o atual Adaptive Cruise Control [de
Miranda Neto 2014]. Consciente de que na maioria dos
sistemas autonomos, o sistema de visão mecânica está
trabalhando em conjunto com outros sensores,
adicionado ao seu baixo custo, este trabalho utiliza uma
baseada em visao monocular sensor. Porque ele usa
tecnicas simples e algoritmos rápidos, o sistema é capaz
de alcançar um bom desempenho, se for caso o
compromisso entre o tempo de processamento e imagens
aquisição e fundamental.
V. RESULTADOS
Tomando como base o os estudos acima, foi montado
um objeto de estudo, no qual foram utilizados 1 camera
marca Cannon T51 regulada para 30 frames por
segundo, acoplanda uma um tripé na distancia de 1,2
metro de alturado solo, o equipamento foi posicionado
em uma rua de pouco movimento para que pudesse ter
controle sobre os resultados. Foram feitos 3 simulações,
a 1ª se baseou em um pedestre atravessando a rua, a 2ª
em um veiculo se distanciando da câmera com
velocidade controlada de 30 km/h a 3ª e ultima teve a
mesma intenção da 2ª porem ao invez de utilizar um
veiculo, utilizou-se de um pedestre distanciando da
câmera em situação de corrida leve.
Após a captura do vídeo, foi feito o processamento
utilizando-se do MatLab 2012b e um algoritimo
desenvolvido utilizando o PCC, o qual teve um pre-
processamento para analise dos frames, como a
regulagem mínima da câmera e de 30 frames por
segundo, o algoritimo foi desenvolvido para analisar de
10 em 10 frames, abaixo o Algoritimo utilizado e os
resultados de cada simulação.
a) Algoritimo MatLAB.
%Diretório de origem do vídeo
base_dir = 'c:PCC';
%Nome do vídeo a ser analisado
base_avi = '01.mp4';
%Diretório onde será gravado os frames
base_frames =
strcat(base_dir,'frames');
%Garregando o vídeo
file_avi = strcat(base_dir,base_avi);
iFrames = 1;
%Extraindo os frames do vídeo
vid=mmreader(file_avi);
numFrames = vid.NumberOfFrames;
n=numFrames;
for i = 1:10:n
frames = read(vid,i);
fileName = strcat(base_frames,
sprintf('%05d',iFrames));
iFrames = iFrames +1;
imwrite(frames,[fileName, '.png']);
end
%Inicializando a rotina para gerar o PCC
iFrames = iFrames-1;
pcc=zeros(iFrames,1);
for i = 1:1:iFrames
fileName = strcat(base_frames,
sprintf('%05d.png',i));
img = imread(fileName);
um=img;
um=rgb2gray(um);
fileName = strcat(base_frames,
sprintf('%05d.png',1));
img = imread(fileName);
dois=img;
dois=rgb2gray(dois);
%Calculando a correlação entre os
frames
corrcoef(double(um),double(dois));
%Calculando o PCC
pcc(i,1)=ans(1,2);
end
%Apresentando o gráfico
pcc
figure
plot(pcc)
axis([1 iFrames 0 1])
ylabel('PCC')
xlabel('Frames')
title('Gráfico PCC')
b) Resultado 1ª simulação
A primeira simulação, foi com um pedestre
atravessando a rua, através de um pre-processamento
levando em consideração apenas a área de interesse, que
compreende a analise da imagem apenas no tamanho do
pedestre que atravessou a rua, pode perceber que o
método de person (PCC) não detectou com clareza o
pedestre a uma distancia de 5 metros da câmera, devido
a correlação ser muito alta como mostra o gráfico
abaixo.
Figura 2 – Grafico PCC 1ª Simulação
Abaixo foram selecionados 6 frames representados no
gráfico acima, afim de demonstrar os pontos que o PCC
efetuou a correlação.
Figura 3 – Frames (1, 2, 4, 6, 10 e 12) da 1ª Simulação
c) Resultado 2ª Simulação
A segunda simulação, envolveu um veiculo parado a
uma distancia de 2 metros da câmera e na sequência
começou o deslocamento até atingir 30 km/h a qual se
manteve até o final do percurso de 300 metros gerando
88 frames.
Figura 4 – Grafico PCC 2ª Simulação – 88 Frames
Para uma analise mais detalhada ao ponto que
realmente merece atenção, foi separado 35 frames do
gráfico original (Figura 4), onde podemos perceber que
após o frame 15 o PCC não consegue detectar a
correlação do veiculo, neste ponto o veiculo estava a
aproximadamente 30 metros da camera, deste frame em
diante o gráfico permanece sem alteração significativa.
Figura 5 – Grafico PCC 2ª Simulação – 40 Frames
Abaixo foram selecionados 8 frames representados no
gráfico acima, afim de demonstrar os pontos que o PCC
efetuou a correlação, e quando o PCC não consegue
mais monitorar a correlação.
Figura 6 – Frames (1, 5, 10, 15, 20, 25, 30 e 35) da 2ª Simulação
d) Resultado 3ª Simulação
A terceira simulação, se baseou no mesmo principio
da segunda, porem ao invés de ser utilizado um veiculo
em movimento, foi-se utilizado um pedestre em uma
corrida leve, para inicio o pedestre se posicionou a uma
distancia de 2 metros da câmera e na sequência começou
o deslocamento em sentido oposto ao da câmera,
utilizou-se para isso um percurso de 200 metros gerando
123 frames.
Figura 7 – Grafico PCC 3ª Simulação – 123 Frames
Semelhante ao ocorrido na 2ª simulação, o gráfico
gera uma grande área sem nenhuma mudança
significativa, e para uma melhor analise, vamos pegar
apenas os resultados de 30 frames.
Figura 8 – Grafico PCC 3ª Simulação – 30 Frames
Abaixo foram selecionados 8 frames representados no
gráfico acima, afim de demonstrar os pontos que o PCC
efetuou a correlação, e quando o PCC não consegue
mais monitorar a correlação, como pode ser visto aqui
também se aplica a mesma evidencia encontrada na
2ªsimulação, o PCC após 30 metros não consegue mais
efetuar o calculo da correlação.
Figura 9 – Frames (1,3,5,7,10,13,15,18,29,25 e 30) da 3ª Simulação
VI. CONCLUSÃO
Podemos concluir que o método de Pearson PCC pode
ser utilizado na detecção e aproximação de objetos a
uma distância máxima de 30 metros, porem ele e
ineficiente para objetos que possa avançar de forma
repentina a área de interesse, conforme pode ser
observado na 1ª simulação.
REFERENCIAS
[1] de Miranda Neto, A. (2014). Pearson’s correlation coefficient: A more
realistic threshold for applications on autonomous robotics. Computer
Technology and Application, 5(2)
[2] Bertozzi, M., Broggi, A., and Fascioli, A. (2000). Vision-based
intelligent vehicles: State of the art and perspectives. Robotics and
Autonomous systems, 32(1):1–16.

Artigo trabalho 1

  • 1.
    Processamento de imagensutilizando coeficiente de correlação de Person (PCC) Rodrigo de Lima Cunha, Thiago Paiva Almeida Abstract —This document introduces the concepts of person PCC correlation method where possible and identify through mathematical calculations the relationship between two variables. This work will be used Pearson correlation PCC in an attempt to provide a proximity sensor, it is possible to identify an obstacle, this work will also be evaluated the distance that the PCC can prove its effectiveness. I. INTRODUÇÃO Este documento apresenta os conceitos do método de correlação de person PCC, onde e possível identificar através de cálculos matemáticos a relação entre duas variáveis. Neste trabalho será utilizado a correlação de Pearson PCC, na tentativa de prover um sensor de aproximação, que seja possível identificar um obstáculo, neste trabalho também será avaliado a distancia que o PCC consegue provar sua eficácia. II. COEFICIENTE DE CORRELAÇÃO DE PERSON (PCC) O método de Pearson é amplamente utilizado na análise estatística, reconhecimento de padrões e processamento de imagens. É uma medida do grau de relação linear entre duas variáveis quantitativas. Este coeficiente varia entre os valores -1 e 1. O valor 0 (Zero) significa que não há uma relação linear, o valor 1 indica uma relação linear perfeita e o valor -1 também indica uma relação linear perfeita mais inversa, ou seja quando uma das variáveis aumenta a outra diminui, Quanto mais próximo estiver de 1 ou -1, mais forte é a associação linear entre duas variáveis. O coeficiente de correlação de Pearson é normalmente representado pela letra r e sua formula de cálculo é: Onde xi é a intensidade do ith pixel na imagem 1, é a yi intensidade do ith pixel na imagem 2, xm é a intensidade da média na imagem 1, e ym é a intensidade eda média na imagem 2. III. CRITERIOS DE DESCARTE Os critérios de descarte foi apresentado como uma solução simples para melhorar o desempenho de um sistema de navegação em tempo real pela escolha automática, que imagens devem ser descartada e quais devem ser tratados no visual pela percepção do sistema. Era uma nova abordagem usando o PCC. Na Figura 1, basicamente se o PCC indica que existe uma elevada correlação entre um quadro de referência e outro novo quadro adiquirido, o novo quadro é descartado sem ser processado (Pro exemplo o sistema pode repetir o ultimo comando valido). Caso contrario, o quadro é processado e que pe definido como o novo quadro de referência para o quadro subsequente. A inclusão de um método de imagem descarte automático leva a uma redução do tempo de processamento. Apesar de sistema gastar apenas milesegundos para calcular o PCC, ele ganha muito mais tempo, em alguns casos, a devolução de mais do que 90% das imagens. No entanto, é importante notar que este percentual, não é dependente da sequenceia de vídeo ou a imagem tamanho, mais sobre os obstáculos / Objetos que influenciam. Figura 1 – Criterios de Discarte [Rittner et al. 2007] IV. CAMADA DE PERCEPÇÃO VISUAL BASEADA NA VISÃO MONOCULAR A percepção do ambiente é uma questão importante para veículos autônomos. A camada percepção utiliza muitos tipos de sensores. Os sensores baseados na visão são definidos como sensores passivos, e da digitalização de imagens é realizada com rapidez suficiente para robôs móveis. No entanto sensores de visão são menos
  • 2.
    robustos do queradares de ondas milimétricas em nevoeiro, noite, ou brilho do sol em condições diretas. Todos os sistemas de detecção de obstáculo à base de alcance tem dificuldades para detectar objetos pequenos ou plantas na terra, e intervalo de sensores também são imcapazes de distinguir entre diferentes tipos de superfícies de solo. No entanto, o principal problema com a utilização de sensores ativos e representado pelos interferência entre os sensores do mesmo tipo, por isso, prever uma utilização maciça e generalizada destes agentes de detecção¸ são, o uso de sensores passivos obtém vantagens chave [Bertozzi et al. 2000]. Na frente da segurança, os sistemas de segurança progressivas sera desenvolvido através da fabricação de “para-choques inteligentes” periférico para o véiculo em responder a novas funcionalidades como: detecção de ponto cego, frontal e lateral de pré-colisão, etc. A objetivo em termos de custo para preencher funções ADAS tem de ser muito menor do que o atual Adaptive Cruise Control [de Miranda Neto 2014]. Consciente de que na maioria dos sistemas autonomos, o sistema de visão mecânica está trabalhando em conjunto com outros sensores, adicionado ao seu baixo custo, este trabalho utiliza uma baseada em visao monocular sensor. Porque ele usa tecnicas simples e algoritmos rápidos, o sistema é capaz de alcançar um bom desempenho, se for caso o compromisso entre o tempo de processamento e imagens aquisição e fundamental. V. RESULTADOS Tomando como base o os estudos acima, foi montado um objeto de estudo, no qual foram utilizados 1 camera marca Cannon T51 regulada para 30 frames por segundo, acoplanda uma um tripé na distancia de 1,2 metro de alturado solo, o equipamento foi posicionado em uma rua de pouco movimento para que pudesse ter controle sobre os resultados. Foram feitos 3 simulações, a 1ª se baseou em um pedestre atravessando a rua, a 2ª em um veiculo se distanciando da câmera com velocidade controlada de 30 km/h a 3ª e ultima teve a mesma intenção da 2ª porem ao invez de utilizar um veiculo, utilizou-se de um pedestre distanciando da câmera em situação de corrida leve. Após a captura do vídeo, foi feito o processamento utilizando-se do MatLab 2012b e um algoritimo desenvolvido utilizando o PCC, o qual teve um pre- processamento para analise dos frames, como a regulagem mínima da câmera e de 30 frames por segundo, o algoritimo foi desenvolvido para analisar de 10 em 10 frames, abaixo o Algoritimo utilizado e os resultados de cada simulação. a) Algoritimo MatLAB. %Diretório de origem do vídeo base_dir = 'c:PCC'; %Nome do vídeo a ser analisado base_avi = '01.mp4'; %Diretório onde será gravado os frames base_frames = strcat(base_dir,'frames'); %Garregando o vídeo file_avi = strcat(base_dir,base_avi); iFrames = 1; %Extraindo os frames do vídeo vid=mmreader(file_avi); numFrames = vid.NumberOfFrames; n=numFrames; for i = 1:10:n frames = read(vid,i); fileName = strcat(base_frames, sprintf('%05d',iFrames)); iFrames = iFrames +1; imwrite(frames,[fileName, '.png']); end %Inicializando a rotina para gerar o PCC iFrames = iFrames-1; pcc=zeros(iFrames,1); for i = 1:1:iFrames fileName = strcat(base_frames, sprintf('%05d.png',i)); img = imread(fileName); um=img; um=rgb2gray(um); fileName = strcat(base_frames, sprintf('%05d.png',1)); img = imread(fileName); dois=img; dois=rgb2gray(dois); %Calculando a correlação entre os frames corrcoef(double(um),double(dois)); %Calculando o PCC pcc(i,1)=ans(1,2); end %Apresentando o gráfico pcc figure plot(pcc) axis([1 iFrames 0 1]) ylabel('PCC') xlabel('Frames') title('Gráfico PCC')
  • 3.
    b) Resultado 1ªsimulação A primeira simulação, foi com um pedestre atravessando a rua, através de um pre-processamento levando em consideração apenas a área de interesse, que compreende a analise da imagem apenas no tamanho do pedestre que atravessou a rua, pode perceber que o método de person (PCC) não detectou com clareza o pedestre a uma distancia de 5 metros da câmera, devido a correlação ser muito alta como mostra o gráfico abaixo. Figura 2 – Grafico PCC 1ª Simulação Abaixo foram selecionados 6 frames representados no gráfico acima, afim de demonstrar os pontos que o PCC efetuou a correlação. Figura 3 – Frames (1, 2, 4, 6, 10 e 12) da 1ª Simulação c) Resultado 2ª Simulação A segunda simulação, envolveu um veiculo parado a uma distancia de 2 metros da câmera e na sequência começou o deslocamento até atingir 30 km/h a qual se manteve até o final do percurso de 300 metros gerando 88 frames. Figura 4 – Grafico PCC 2ª Simulação – 88 Frames Para uma analise mais detalhada ao ponto que realmente merece atenção, foi separado 35 frames do gráfico original (Figura 4), onde podemos perceber que após o frame 15 o PCC não consegue detectar a correlação do veiculo, neste ponto o veiculo estava a aproximadamente 30 metros da camera, deste frame em diante o gráfico permanece sem alteração significativa. Figura 5 – Grafico PCC 2ª Simulação – 40 Frames Abaixo foram selecionados 8 frames representados no gráfico acima, afim de demonstrar os pontos que o PCC efetuou a correlação, e quando o PCC não consegue mais monitorar a correlação.
  • 4.
    Figura 6 –Frames (1, 5, 10, 15, 20, 25, 30 e 35) da 2ª Simulação d) Resultado 3ª Simulação A terceira simulação, se baseou no mesmo principio da segunda, porem ao invés de ser utilizado um veiculo em movimento, foi-se utilizado um pedestre em uma corrida leve, para inicio o pedestre se posicionou a uma distancia de 2 metros da câmera e na sequência começou o deslocamento em sentido oposto ao da câmera, utilizou-se para isso um percurso de 200 metros gerando 123 frames. Figura 7 – Grafico PCC 3ª Simulação – 123 Frames Semelhante ao ocorrido na 2ª simulação, o gráfico gera uma grande área sem nenhuma mudança significativa, e para uma melhor analise, vamos pegar apenas os resultados de 30 frames. Figura 8 – Grafico PCC 3ª Simulação – 30 Frames Abaixo foram selecionados 8 frames representados no gráfico acima, afim de demonstrar os pontos que o PCC efetuou a correlação, e quando o PCC não consegue mais monitorar a correlação, como pode ser visto aqui também se aplica a mesma evidencia encontrada na 2ªsimulação, o PCC após 30 metros não consegue mais efetuar o calculo da correlação. Figura 9 – Frames (1,3,5,7,10,13,15,18,29,25 e 30) da 3ª Simulação
  • 5.
    VI. CONCLUSÃO Podemos concluirque o método de Pearson PCC pode ser utilizado na detecção e aproximação de objetos a uma distância máxima de 30 metros, porem ele e ineficiente para objetos que possa avançar de forma repentina a área de interesse, conforme pode ser observado na 1ª simulação. REFERENCIAS [1] de Miranda Neto, A. (2014). Pearson’s correlation coefficient: A more realistic threshold for applications on autonomous robotics. Computer Technology and Application, 5(2) [2] Bertozzi, M., Broggi, A., and Fascioli, A. (2000). Vision-based intelligent vehicles: State of the art and perspectives. Robotics and Autonomous systems, 32(1):1–16.