Testes Práticos de Sistemas de Visão para Sistemas Embarcados
Testes Práticos de Sistemas de Visão para Sistemas Embarcados
Testes Práticos de Sistemas de Visão para Sistemas Embarcados
ESCOLA DE ENGENHARIA
ENGENHARIA DE CONTROLE E AUTOMAÇÃO
Porto Alegre
2020
DAVI EBERT BOBSIN - 00246764
ORIENTADOR:
Prof. Dr. Marcelo Götz
Porto Alegre
2020
DAVI EBERT BOBSIN - 00246764
Orientador:
Prof. Dr. Marcelo Götz, UFRGS
Doutor pela Universität Paderborn, Alemanha
Banca Examinadora:
Marcelo Götz
Coordenador de Curso
Engenharia de Controle e Automação
Dedico este trabalho primeiramente aos meus professores de contrato vitalício: meus
pais. Este trabalho e todo o percurso só foram possíveis e suportáveis pelo seu apoio
incondicional.
Dedico também a minha irmã que, dentre outras coisas, me inspirou a trilhar a jornada
que se encerra neste trabalho.
E por último, dedico aos meus amigos e colegas do Instituto Senai e ZF, que desperta-
ram em mim o interesse pelo tema.
AGRADECIMENTOS
Por este trabalho ser uma realidade, agradeço ao meu orientador e aos meus revisores
e amigos Alex Treviso, Émerson de Barros, Leonardo Nogueira, Guilherme Linck e em
especial a Igor Diesel, que compartilhou boa parte dos trabalhos e momentos durante a
faculdade.
Aos meus professores, principalmente por me instigarem ao olhar crítico.
Aos meus colegas e amigos do CEECA, RSRacing UFRGS e LAROSE, por comparti-
lharem estes projetos comigo e ampliarem os meus horizontes durante a faculdade.
Aos meus amigos de Bateria Minotrago, por me proporcionarem leveza e alegria
durante a faculdade.
RESUMO
Many modern embedded systems’ applications make use of video cameras as a sen-
sor. The possibility of capturing information contained in the environment along with
growing development in the computer vision field makes cameras an attractive choice for
autonomous perception.
Dynamic vision algorithms, i.e., which employ temporal information to extract the
desired metric, assume a constant value as the basis for calculations using sampling and
synchronization. In addition, the absolute value of colors for pixels and the response to
light incidence are distinct among different sensors.
This work proposes a testing methodology that can be used to evaluate relevant char-
acteristics in video cameras, bring more robustness to the systems, and assist in vision
systems development.
Specifically, the tests propose the measurement of the capture frequency, sensor re-
sponse due to light incidence, and delay between capture moments in a multi-camera
system.
The general concept is, by creating a controlled environment for the sensor, ensure a
known data input. Then, when processing the image received by the camera, it is possible
to evaluate the output of the vision system. Thus, the proposed tests can be seen as
validations covering a complete capture system, from the moment the environment is
perceived until the images are available for processing.
The work also describes the practical implementation of the proposed methodology, in
order to exemplify and prove the premises through tests.
The accuracy obtained with the presented proof of concept was bounded to the compo-
nents and equipment limits. Even so, the proposed concepts for each test could be proved
and through the results, the proposed methodology could be validated.
LISTA DE ILUSTRAÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . 10
LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
LISTA DE ABREVIATURAS . . . . . . . . . . . . . . . . . . . . . . . . 12
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 REVISÃO DA LITERATURA . . . . . . . . . . . . . . . . . . . . . . 15
2.1 Câmeras digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1 CCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.2 CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.3 Propriedades da Câmera Digital . . . . . . . . . . . . . . . . . . . . . . 16
2.1.3.1 Tempo de exposição . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.3.2 Frequência de captura . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.4 Processamento digital de cores . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.4.1 RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.4.2 HSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.4.3 YUV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Código de Gray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 RaspberryPi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Light Emition Diodes (LEDs) . . . . . . . . . . . . . . . . . . . . . . . . 19
3 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1 Ambiente controlado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Análise Pré-teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.1 Parâmetros do ambiente controlado . . . . . . . . . . . . . . . . . . . . . 21
3.2.2 Parâmetros da câmera . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.3 Calibração espacial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 Teste de parâmetros da Câmera . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 Teste de frequência de amostragem . . . . . . . . . . . . . . . . . . . . . 25
3.5 Teste de sincronismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4 DESENVOLVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.1 Ambiente controlado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 Unidade de Acionamento . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Unidade de Processamento . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.1 Captura de frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.2 Máscara de cores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.3 Algoritmo para obtenção de posição dos LEDs . . . . . . . . . . . . . . . 30
4.3.4 Gerando uma Lookup Table . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4 Implementação dos testes . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.5 Simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.1 Análise da Caixa Escura . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Modelo de Relação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.3 Leitura de frequência . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.4 Sincronismo entre câmeras . . . . . . . . . . . . . . . . . . . . . . . . . 39
6 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
APÊNDICE A - OUTROS EDITORES . . . . . . . . . . . . . . . . . . 44
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
LISTA DE ILUSTRAÇÕES
1 INTRODUÇÃO
2 REVISÃO DA LITERATURA
2.1.1 CCD
Com o objetivo inicial de criar um dispositivo de memória capaz de mover cargas
pela superfície de um semicondutor, projeto hoje em dia chamado de bubble memory,
Willar Sterling Boyle e George Elwood Smith criaram o dispositivo de carga acoplada (do
inglês Charged Coupled Device, CCD). Posteriormente, fazendo uso desta tecnologia, as
primeiras câmeras eletrônicas foram criadas (CRESSLER, 2016).
O princípio por traz desta tecnologia é a criação de um array de capacitores condutores-
isolantes-semicondutores que, quando aplicado a tensão correta nas camadas de condutores,
possibilitam o movimento de uma região com um mínimo potencial elétrico. Desta forma,
pela movimentação da região com mínimo potencial, as cargas elétricas também são
movimentadas na superfície do semicondutor (BOYLE; SMITH, 1970).
2.1.2 CMOS
Quando o CCD era a principal tecnologia utilizada para captura digital de imagens,
outro sistema estava sendo proposto para sensoriamento de imagem, cujo conceito era uma
matriz/mosaico de fotodetectores (SCHUSTER; STRULL, 1966). Os componentes CMOS
(Complementary metal-oxide semiconductor) provém de um sistema de chaveamento
eletrônico capaz de amostragem da luz e armazenamento com a capacitância do sensor.
16
Apesar de ser uma tecnologia mais recente, apresentava uma maior quantidade de ruído
quando comparada com o CCD (NAKAMURA, 2017), devido à chamada corrente parasita
escura, intrinsecamente presente em fotodiodos e ao ruído durante a leitura de cada célula
da matriz (HSU et al., 2004). Quando sistemas system-on-chip (embarcados) de câmeras
foram propostos, unindo matrizes de sensores, sistemas de endereçamento, amplificadores
e processadores lógicos em um chip, o ruído da tecnologia CMOS pôde ser manejado,
transformando a tecnologia CMOS interessante para câmeras, permitindo o controle sobre
exposição e triggered synchronization (WANG et al., 1991).
Com sensores ativos usando tecnologia de pinned photodiode (PPD) combinada com
processamento lógico on-chip, hoje em dia o CMOS apresenta menos ruído até mesmo
que sensores de imagem CCD (KOZLOWSKI; LUO; TOMASINI, 1999).
Depois de desenvolver um dispositivo para capturar a luz que representa uma cena,
foi necessário representar as cores vistas por humanos através destes dispositivos. Então,
usando lentes, mascarou-se a frequência da luz sendo possível filtrar a intensidade corres-
pondente à cor desejada. Com esta técnica desenvolvida, foi proposto um padrão de filtro
que é conhecido até hoje como filtro Bayer(BAYER, 1976).
17
Fonte: Wikipedia.
Para especificar, criar e visualizar as cores nas câmeras digitais e em diferentes disposi-
tivos, existem métodos chamados modelos de cores. Usando estes métodos as cores são
representadas por ênuplos de números, em geral três ou quatro valores para cada cor. A
combinação dos valores numéricos de um modelo resulta em um conjunto de cores que é
chamado espaço de cores (FAIRCHILD, 2005). Em seguida serão apresentado três dos mais
tradicionais e usados modelos de cores, são eles RGB, HSV e YUV.
2.1.4.1 RGB
O RGB é um modelo de cores aditivo, no qual diferentes intensidades das cores
primárias, vermelho, verde e azul, são adicionadas para produzir outras cores. O nome
do modelo é construído com as iniciais das cores usadas por ele. Este modelo é usado em
diferentes dispositivos de entrada como câmeras digitais, câmeras de vídeo e scanners,
além de dispositivos de saída como tecnologias de display LCD, plasma e OLED (HIRSCH,
2004).
O RGB é dependente dos dispositivos, devido à diferenças intrínsecas em cada fotosen-
sor, e por isso normalmente é necessário que haja algum gerenciamento de cores para que
diferentes dispositivos reproduzam as mesmas cores.
Os pixels no modelo RGB são compostos pela mescla de diferentes intensidades das
cores verde, vermelho e azul. Estas intensidades podem variar em diferentes intervalos
dependendo da aplicação. Em computadores, o mais comum é que cada cor varie entre 0 e
255, sendo armazenadas em 8-bits. Em dispositivos de mais alta tecnologia, é comum que
cada cor seja representada por um número maior de bits, podendo chegar a valores como
64-bits, aumentando assim o número de cores que podem ser criadas ou visualizadas.
2.1.4.2 HSV
Uma alternativa ao modelo RGB, é o modelo HSV no qual os ênuplos de números
armazenam as intensidades matiz, saturação e valor. Como explanado anteriormente, a
escala de matiz representa a similaridade da cor em questão com uma das cores primárias
ou uma combinação delas, esta escala tem inicio em 0, representando vermelho, passa
18
por 120o , representando verde, por 240o , representando azul e se encerra em vermelho
novamente em 360o . Como a escala sugere, o espaço de cores do HSV possui uma
geometria cilíndrica onde o matiz é a dimensão angular. A saturação seria a variação do
raio do cilindro, especificando a qualidade do matiz pelo grau de mesclagem deste com a
cor branca e por fim o valor representa o brilho da cor e geometricamente seria a altura do
cilindro HSV (FAIRCHILD, 2005).
O fato de o modelo HSV separar cor de luminosidade faz com que ele seja usado com
frequência em visão computacional se mostrando mais relevante que modelos como o
RGB onde os valores de todos os parâmetros estão fortemente atrelados à luminosidade
incidindo sobre o objeto calculado (CHENG et al., 2001).
2.1.4.3 YUV
O modelo de cores YUV é definido em termos de um componente de luminância (Y) e
dois elementos de crominância (UV). Este modelo é principalmente usado na transmissão
de imagens e possui a característica de mascarar de forma mais eficiente à percepção
humana erros de transmissão e compressão.
O modelo surgiu com o desafio de se transmitir o sinal de televisão em cores e que
fosse compatível com o modelo anterior, preto-e-branco. O modelo preto-e-branco usava
o componente luma, também nomeado como Y’ e que é um correlato perceptual da
luminância. Assim, para transmitir cores foram adicionados os dois novos componentes,
U e V (MALLER, 2003).
2.3 RaspberryPi
RaspberryPi é uma plataforma portátil para desenvolvimento, e conta com um proces-
sador Quad core 1.2 GHz Broadcom BCM2837 e 1gb de memória RAM. Pode-se dizer
que a Raspberry Pi é um computador inteiro em uma placada de desenvolvimento única e
com capacidade de rodar sistemas operacionais Linux, ou até Windows 10 IoT, o qual é
uma versão para sistemas embardados (UPTON; HALFACREE, 2014).
Uma das principais características da plataforma é a sua ampla capacidade de conecti-
vidade. Dentre seus componentes para esta finalidade, pode-se citar:
• Uma porta HDMI (High Definition Multi-media Interface) permite conexão com
televisores de alta definição;
19
• 26 pinos de GPIO ((general purpose input and output) arranjadas em duas portas
com 13 pinos cada;
Os pinos do GPIO podem ser configurados como entrada ou saída, contendo também su-
porte para protocolos embarcados, como serial peripheral interface (SPI) e Inter-Integrated
Circuit (I2 C), sendo esta a principal interface de comunicação com outros componentes
e circuitos (MAKSIMOVI Ć et al., 2014). Contudo, para a aplicação apresentada neste
trabalho, uma das características importantes da RaspberryPi é a conexão CSI (camera
serial interface, que exclui a necessidade de utilização de uma porta USB para a câmera.
A interface CSI introduz um hardware dedicado aumentando a performance de aplicações
que façam uso de câmeras e facilitando a comunicação com as mesmas.
3 METODOLOGIA
O presente trabalho propõe metodologias para testagem de câmeras, que visam explici-
tar as limitações e as características do sensor e do sistema de visão como um todo. Os
testes, melhor definidos nas próximas subseções, são os seguintes:
O primeiro conjunto de N capturas deve ser feito com a lente obstruída e o segundo,
com a câmera já posicionada no ambiente fechado onde serão realizados os testes. As
métricas utilizadas para análise foram definidas como o valor máximo absoluto e média.
O máximo representa um valor de ruído que pode voltar a acometer um dos testes a
ser performado, por isso pode ser considerado como nível mínimo a partir do qual os
valores lidos são válidos. A média tem o objetivo de ser utilizada como métrica para
a luminosidade do frame e deve ser utilizada para a comparação entre os dois casos.
Assumindo a resolução da imagem muito maior do que os valores numéricos dos pixels, a
média tende a ser nula, por isso não se traduz em uma informação relevante sobre o ruído.
Porém, é uma métrica útil para se avaliar a luminosidade dentro do ambiente de testes.
No caso de um acréscimo de uma contagem em todos os pixels, a média será acrescida
também de uma unidade, tornando possível se definir um limite de luminosidade TMAX .
A variável N deve ser definida para a realização do teste. Para a escolha de N, deve-se
levar em consideração dois fatores: tempo de teste e quantidade de amostragem. Estes
valores devem ser comparados com quantidades desejadas dentro do contexto de análise.
22
configurar os parâmetros dos testes a fim de aumentar a precisão dos resultados ou permitir
uma convergência mais rápida.
Além de otimizar o resultado dos testes, obtendo-se tais informações é possível realizar
a construção de um modelo teórico para simular valores a serem lidos na execução dos
testes. O objetivo final do modelo teórico deve ser gerar frames para que os mesmos
possam ser comparados com os obtidos durante a execução dos testes, ou ainda sinais para
verificação dos valores absolutos em um ou mais pixels.
5. Caso a fonte luminosa não tenha sido encontrada, aumentar a emissão da fonte
luminosa. Caso mais de uma fonte luminosa tenha sido encontrada, diminuir o
intervalo de coloração para criar a máscara. Se a fonte luminosa foi encontrada,
repetir o procedimento para a próxima fonte.
valor absoluto do pixel. A fonte principal é definida como a que se encontra entre outras
duas fontes, pelo menos, chamadas de auxiliares.
O frame lido é considerado inválido se uma das fontes de luz auxiliares não tiver
atingido valor de intensidade mínimo (pode ser empírico, de forma a garantir que o LED
esteja ligado). No exemplo das Figura 3 e Figura 4, são ilustrados sinais de acionamento de
LEDs (utilizados como fontes de luz) bem como o sinal de exposição, valor 1 representando
o sensor sensibilizado, capturando a luminosidade e 0 o sensor dessensibilizado. Neste
caso, o LED verde é o definido como principal e os outros dois são definidos como
auxiliares.
Para o caso demonstrado na Figura 3, percebe-se que o tempo de acionamento do LED
principal (verde) não é completamente englobado pelo tempo de exposição.
4 DESENVOLVIMENTO
Para validar a metodologia proposta, uma prova de conceito foi construída, implemen-
tando as ferramentas necessárias descritas na Seção 3. A presente seção tem como objetivo
descrever as etapas do desenvolvimento desta prova de conceito.
Para servir de referência de contagem nos testes que utilizam um contador em frente
às câmeras, foi desenvolvida também uma matriz de LEDs. A escolha da utilização de
uma matriz se dá pela grande quantidade de combinações, permitindo um maior ciclo
de contagem do que com a estrutura de três LEDs. Isso possibilita um maior número
de amostras em um mesmo teste e diminui também a possibilidade de redundância nos
valores lidos. Tal matriz de LEDs já montada pode ser vista na Figura 6.
• Criar máscaras para cada uma das cores das fontes luminosas, a fim de segmentá-las;
• Inferir a posição de cada uma das fontes luminosas, bem como uma região de
avaliação;
• Formato dos pixels: pelo fato do chip possuir um pré-processador interno na câmera,
dentre as possibilidades disponibilizadas pelo próprio chip da câmera, está o formato
RGB. Neste caso, o processo de demosaic já é realizado pela câmera, por isso, por
economia de esforços e recursos do lado do processador, foi utilizado este formato
para todos os testes;
• Exposição: a exposição foi implementada no modo manual, para que não ocor-
ram ajustes automáticos que possam manipular os dados sendo coletados. Além
disso, o valor absoluto da exposição pode ser configurado através de um arquivo de
configuração passado juntamente ao executável da aplicação.
Após esta comparação, uma máscara binária é gerada, com a mesma resolução do
frame original, porém com um único canal cujo valor contido (verdadeiro ou falso) indica
se o pixel do frame original está dentro do intervalo analisado.
na subseção anterior, onde a saída é uma máscara (ou matriz verdade), foi implementado
algoritmo para encontrar os LEDs a partir da máscara gerada.
Uma vez que a máscara obtida é uma matriz binária, o algoritmo trata de encontrar
agrupamentos de pixels que possuem o valor não-nulo. Uma representação de um desses
agrupamentos pode ser visto na Figura 19a. Para isso, o algoritmo verifica se todos os vizi-
nhos de um pixel de referência possuem valor não-nulo. E isso é feito de forma recursiva,
portanto, a verificação dos vizinhos de um pixel de referência (como na Figura 10b) irá
chamar a verificação para cada um de seus vizinhos (Figura 10c) e assim sucessivamente,
até que todos pixels em uma região sejam encontrados.
O algoritmo armazena a quantidade de pixels no cluster, para que se possa ter uma
dimensão do tamanho do mesmo. E também salva as coordenadas espaciais de onde o
cluster está localizado dentro do frame.
(a) Exemplo de cluster em uma (b) Verificação de pixels vizi- (c) Verificação de pixels vizinhos
matriz de máscara. nhos a partir de referência. a partir de outra verificação.
A grande diminuição no número de pixels pôde ser validado com a criação de uma
lookup table para cada LED. No caso em que a imagem inteira era processada, eram
avaliados 921600 pixels. Para o caso testado a quantidade de pixels processados passou a
ser menos de 3500.
4.5 Simulação
Uma maneira de avaliar se os dados obtidos são válidos e razoáveis é através da
simulação de dados. Por isso, foi desenvolvido um script que gera sinais virtuais de
luminosidade dos LEDs e, conhecendo-se a função de relação entre incidência e valor
do pixel, ao realizar a integração da luminosidade de cada um dos LEDs, simula-se o
valor aproximado que será lido pelo processador. Esta simulação para um único ponto em
33
função do tempo pode ser vista através dos gráficos da Figura 12.
Uma forma de se entender o procedimento utilizado para tais cálculos é dividir cada os
canais (R,G e B). Para cada de instante de tempo, cada LED apresentará uma incidência
luminosa. Portanto, cada um desses instantes pode ser representado por um frame mono-
cromático que representa a intensidade da cor no instante. Assim, um único frame pode
ser representado em um plano cartesiano X,Y.
Utilizando um terceiro eixo que representa o tempo, é possível descrever a intensidade
de um LED para todos os instantes do teste. O valor final lido para um pixel posicionado
em x, y durante um tempo de exposição estabelecido pode ser encontrado integrando a reta
entre os pontos x, y,tINICIAL e x, y,tFINAL .
Foi utilizado então o modelo matricial descrito para cada um dos três canais. Uma vez
que a exposição à luz em sensores CMOS é feita linha a linha, foi adicionada ainda uma
variável representando a diferença de tempo de leitura das linhas do sensor.
Com essas informações e com a posição e raio dos LEDs, é possível inferir como será
o frame lido nas condições sendo testadas. Na Figura 13, é possível verificar um frame
gerado pelo simulador.
34
5 RESULTADOS
O máximo incremento de luz desejado para cada um dos pixels é de uma contagem.
Ou seja, acima desse valor será considerado que a caixa está permitindo a entrada de
luz externa. Definindo o conjunto de dados como sendo o valor de todos os pixels em
uma imagem, a diferença entre a média no caso da medição na caixa escura e a média da
medição na referência não poderia ultrapassar uma contagem.
36
Deve se observar que, por ser uma prova de conceito, os critérios de aceitação não
exigiram alta precisão. E, portanto, para as condições previamente estabelecidas, a caixa
pôde ser considerada válida para realização dos próximos testes.
Por serem construídos com a estrutura CMOS, cada fotosensor pode ser analisado
como um transistor. No caso de transistores CMOS, o gate é construído de forma a
acumular cargas utilizando a energia potencial do campo elétrico, análogo a um capacitor.
Considerando que a resposta do sistema tem esta característica de acúmulo de carga devida
à capacitância nos fotosensores, a equação a ser minimizada será
Outro ponto relevante a ser analisado é a variância dos dados. Para cada intervalo de
incidência, se calculou a variância para os dados utilizados. A Figura 18 apresenta essa
variância. Assumindo que a frequência de captura é próxima de 30Hz, a 5a e 6a harmô-
nicas representam 515, 62µs e 257, 81µs. Nota-se que os picos se encontram justamente
próximos à esses valores, onde um efeito de aliasing é esperado para as amostras coletadas.
38
(a) Dados lidos e contagem de referência. (b) Dados ajustados à contagem de referência.
É importante salientar que apenas um LED é acionado por vez pelo sistema e os
demais permanecem desligados. Porém, através das imagens, quatro LEDs parecem estar
acionados simultaneamente. Isso é explicado pelo tempo de integração que, por ser maior
que o passo do shift (TST EP ), acaba integrando o valor de mais de uma contagem em um
mesmo frame. Portanto, para estas imagens, o tempo de integração provavelmente é algo
próximo de 4TST EP .
Extraindo a informação de qual a posição dos LEDs ligados nos frames, foi possível
inferir o momento dentro do ciclo de shift que foi capturado. Porém como mais de um
LED aparenta estar ligado em uma mesma imagem quando na verdade um único LED é
aceso por contagem, não se tem certeza sobre o instante exato e sim sobre uma faixa de
contagens capturados. Porém realizando o mesmo procedimento diversas vezes se obtém
informação para avaliar a progressão dessa faixa como um todo.
Realizou-se então uma regressão linear através de mínimos quadrados para encontrar
uma reta que represente bem a progressão das faixas de contagem capturadas nas amostras.
O resultado pode ser visto no gráfico exposto na Figura 21.
Figura 21: Simulação de um frame.
Para se amortizar o erro pela quantidade amostral, uma minimização que engloba todas
as amostras de uma câmera foi utilizada.
A equação para reta ax + b foi utilizada para minimização. Os resultados obtidos
foram a0 = 3.328, a1 = 3.309, b0 = 14.01 e b1 = 1.262. Fazendo a consideração de
41
que as inclinações são iguais (o que deveria ocorrer na teoria, uma vez que a velocidade
de incremento é a mesma nos dois casos), o offset entre a leitura das câmeras pode ser
inferido pela constante b da equação da reta. O valor de offset entre as capturas pode foi
tomado então por (b0 − b1 ) ∗ TST EP , com a precisão máxima de TST EP . Dessa maneira,
TOFFSET = 12, 748 ± 1 ms.
O valor de offset representa a diferença temporal perante uma mesma referência visual.
Ou seja, para cada instante capturado pela Câmera 1, após TOFFSET foi capturada uma
imagem para a Câmera 2.
42
6 CONCLUSÃO
Os alunos podem utilizar qualquer editor de texto, devendo apenas tomar o cuidado de
atêr-se as normas ABNT tal qual apresentado neste documento (e.g. sistema LATEX).
45
REFERÊNCIAS
AUTOPILOTREVIEW . LiDAR vs. Cameras for Self Driving Cars – What’s Best? [S.l.: s.n.].
https : / / www . autopilotreview . com / lidar - vs - cameras - self - driving -
cars/. Accessed: 17-11-2020.
BAYER, B . E . Color imaging array. [S.l.]: Google Patents, jul. 1976. US Patent 3,971,065.
BOYLE , W. S .; SMITH , G . E .Charge coupled semiconductor devices. The Bell System
Technical Journal, v. 49, n. 4, p. 587–593, 1970.
C - CAM .
Frame-rate Calculation. [S.l.: s.n.]. http://www.c-cam.be/doc/Archive/
FrameRates.pdf. Accessed: 28-10-2020.
CHENG, H .- D . et al. Color image segmentation: Advances and prospects. Pattern Recogni-
tion, p. 2259–2281, 2001.
CRESSLER , J . D .Silicon Earth: Introduction to Microelectronics and Nanotechnology.
[S.l.]: CRC Press, 2016.
DALLA BETTA , G .- F. Advances in photodiodes. [S.l.]: BoD–Books on Demand, 2011.
DE LA ESCALERA, A . et al. Visual sign information extraction and identification by defor-
mable models for intelligent vehicles. IEEE Transactions on Intelligent Transportation
Systems, v. 5, n. 2, p. 57–68, 2004. DOI: 10.1109/TITS.2004.828173.
DENBAARS , S . Gallium-nitride-based materials for blue to ultraviolet optoelectronics
devices. Proceedings of the IEEE, IEEE, v. 85, n. 11, p. 1740–1749, 1997.
DORAN, R . W. The Gray Code. v. 13, n. 11, p. 1573–1597, 28 nov. 2007. |http://www.jucs.org/jucs1 31 1/theg ra