Abstract:
Esta dissertação apresenta detalhes de um algoritmo que foi desenvolvido e implementado para estimar o Tempo de Colisão entre um usuário e um obstáculo. Consiste em um método para detectar colisões com visão monocular por meio da câmera de um smartphone. A detecção de colisão em um vídeo adquirido por câmera monocular é um problema desafiador com aplicações que vão desde robótica, navegação humana e automação. A aplicação alvo é um sistema de Tecnologia Assistiva para auxiliar pessoas com deficiência visual para evitar a colisão com obstáculos enquanto se locomovem em um ambiente, auxiliando em sua orientação e mobilidade, assim garantindo maior segurança e autonomia para essas pessoas, no entanto, a integração com o sistema será uma proposta futura. No entanto, o método poderá ser aplicado em diferentes áreas. O método apresentado é baseado em um novo algoritmo para estimar o Tempo de Colisão que segue as seguintes etapas: i) aquisição da sequência de imagens por uma câmera monocular, ii) pré-processamento onde as imagens são redimensionadas e é aplicado um filtro para reduzir ruídos, iii) fluxo óptico para estimar o movimento, iv) Tempo de colisão, a partir do modelo de câmera pinhole uma equação analítica é desenvolvida para estimar esse tempo para cada ponto no plano da imagem e v) técnicas de processamento de imagem para reduzir possíveis erros. O algoritmo foi implementado na linguagem C/C++, com a biblioteca de Visão Computacional OpenCV. Para avaliar o método foram realizados três experimentos em diferentes cenários, permitindo uma análise de seu desempenho. A avaliação da performance em relação à detecção de colisões, foi dada em termos de precisão, revocação e acurácia; e a validação do Tempo de Colisão, por um erro médio absoluto entre o tempo estimado e um ground truth.
This dissertation presents details of an algorithm that was developed and implemented to estimate the Time To Collision between a user and an obstacle. It consists of a method to detect collisions with monocular vision through the camera of a smartphone. However, the method can be applied in different areas. Collision detection on a video acquired by a monocular camera is a challenging problem with applications ranging from robotics, human navigation and automation. The target application is an Assistive Technology system to assist visually impaired people to avoid collision with obstacles while moving around in an environment, helping their orientation and mobility, thus guaranteeing greater security and autonomy for these people, however, integration with the system will be a future proposal. The method presented is based on a new algorithm to estimate the Time To Collision that follows the following steps: i) acquisition of the sequence of images by a monocular camera, ii) preprocessing where the images are resized and a filter is applied to reduce noise, iii) optical flow to estimate motion, iv) Time To Collision, from the pinhole camera model an analytical equation is developed to estimate this time for each point and v) image processing techniques to reduce possible errors. The algorithm was implemented in the C / C ++ language, with the OpenCV Computer Vision library. To evaluate the method were performed three experiments in different scenarios, allowing an analysis of their performance. he evaluation of performance in relation to the detection of collisions, was given in terms of accuracy, recall and accuracy; and the Time To Collision validation, by an absolute mean error between the estimated time and a ground truth.