Stereo Matching of Natural Scenes on External Agricultural Environment

Documentos relacionados
Visão Estéreo para Auxílio à Navegação. Autônoma em Ambientes Agrícolas

Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC

MouseCam: aplicação de controle do mouse via câmera

Apresentação de uma Plataforma Computacional para a Reconstrução e Caracterização da Forma 3D de Objectos

PMR2560 Visão Computacional Visão estéreo. Prof. Eduardo L. L. Cabral

PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO

INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS PROGRAMA DE PÓS-GRADUAÇÃO EM SENSORIAMENTO REMOTO DIVISÃO DE PROCESSAMENTO DE IMAGENS

RECONHECIMENTO FACIAL UTILIZANDO EIGENFACES

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO INSTITUTO TÉRCIO PACCITI DE APLICAÇÕES E PESQUISAS COMPUTACIONAIS. Relatório Técnico, 05/06

Extração de objetos de interesse em imagens digitais utilizando a biblioteca de Visão Computacional OpenCV

Estimativa de Posição 3D de Obstáculos para VANTs

Introdução a Visão Computacional. Prof. Dr. Geraldo Braz Junior DEINF - UFMA

Apresentação de uma Plataforma Computacional para a Reconstrução e Caracterização da Forma 3D de Objectos

Universidade Federal do Rio de Janeiro. Flávio Henrique Schuindt da Silva. Estimativa de Fluxo Ótico com o método de Lukas-Kanade

Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia

SISTEMA DE RECONSTRUÇÃO 3D DE BAIXO CUSTO

UD VI. Retificação / Normalização de Imagens Digitais

Catadioptric System Applied on Mobile Robot Navigation in Agricultural Environment

Mapeamento de ambientes e processamento visual utilizando Kinect

Rastreamento de objeto e estimativa de movimento

Processamento Digital de Imagens

DESENVOLVIMENTO DE UMA BIBLIOTECA PARA SISTEMAS DE VISÃO ESTEREOSCÓPICA PARA ROBÓTICA MÓVEL

Visão Computacional. Prof. Leandro Augusto Frata Fernandes TCC Introdução à Ciência da Computação (2012.

Computaçã. Visão Geral. Sistema Gráfico. Computação Gráfica. Pixels. Sistema Gráfico e o Frame Buffer. Introdução à Computação Gráfica

VISÃO COMPUTACIONAL. Marcelo Henrique dos Santos

JILMAR TEIXEIRA DE ALMEIDA JUNIOR DESENVOLVIMENTO DE UM MÓDULO DE RETIFICAÇÃO DE IMAGENS PARA VISÃO ESTÉREO

3 Técnicas de medição do escoamento

Reconstrução e Síntese de Cenários Tridimensionais a partir de Imagens Estereoscópicas

Roads and Trajectories Detection in Agricultural Environment Using CatadioptricVision System

Processamento de Imagens Termais Aplicado à Navegação Autônoma. Wanessa da Silva

PMR2560 Visão Computacional Conversão e Limiarização. Prof. Eduardo L. L. Cabral

PROCESSAMENTO DE IMAGENS DIGITAIS PARA VISÃO ROBÓTICA. Digital Image Processing for Robotic Vision

Segmentação de Regiões de Interesse em Mapas de Disparidade

1 ESCOLA POLITÉCNICA DA USP Introdução Eduardo L. L. Cabral ESCOLA POLITÉCNICA DA USP

Data: 28/05/2010 8h as 12h. IP addresses and the port numbers of the components.

Descritores de Imagens

Detecção e Correção Automáticas de Olhos Vermelhos

Occupancy grid based graph-slam using the distance transform, SURF features and SGD

Desenvolvimento de um Sistema de Visão Artificial para um Robô Explorador

APLICAÇÃO DA VISÃO COMPUTACIONAL PARA SEGMENTAÇÃO DE OBJETOS EM IMAGENS CAPTURADAS POR EQUIPAMENTOS MÓVEIS.

INFORMAÇÕES DO ACADÊMICO PLANO DE TRABALHO. 1. Justificativa

Sistema de Reconhecimento de Logotipos

Renderização de pessoas em movimento a partir de vídeos. Ricardo Juliano Mesquita Silva Oda Supervisor: Carlos Hitoshi Morimoto

Tratamento da Imagem Transformações (cont.)

RECONHECIMENTO FACIAL 2D

MÉTODO DE DETECÇÃO DE PONTOS DE INTERESSE PARA SENSOR DE TRIANGULAÇÃO LASER APLICADA A SOLDAGEM

Descritores de Imagens

Métodos de Segmentação de Imagem para Análise da Marcha

VISÃO DIGITAL, OS OLHOS DO FUTURO

Sistema de Localização Visual da Equipe de Futebol de Robôs POTI-UFRN (versão 2008) na Categoria Very Small Size

VISÃO COMPUTACIONAL PARA A LEITURA DO DISPOSITIVO MOSTRADOR DE INSTRUMENTOS DE MEDIÇÃO

Disciplina de Sensores Inteligentes SSC-0715

SSC5887 SSC5887. Histórico. Grupo de Sistemas Embarcados Evolutivos e Robóticos - SEER. Grupo de Sistemas Embarcados Evolutivos e Robóticos - SEER

Reconstrução 3D. Métodos

Congresso de Inovação, Ciência e Tecnologia do IFSP ANÁLISE E RECONHECIMENTO DE IMAGEM APLICADA AO ENSINO DE CINEMÁTICA

Sistema de Identificação de Pessoas baseado em Visão Computacional Estereoscópica

Dermanostic: um método para normalização da iluminação em imagens de lesões cutâneas

A Fotogrametria Digital

Processamento digital de imagens

3 Trabalhando com imagens digitais

Carlos Vinícius Sousa de Oliveira rio.br. Orientador: Prof. Marcelo Gattass

Reconstrução 3D com auxílio de segmentações múltiplas

Processamento e Análise de Imagens

RESOLUÇÃO N.º 1010/2005 ANEXO II MODALIDADE ELÉTRICA NIVALDO J. BOSIO

!"$# %$'& (#) *+! *,$ -) -#.+/ &$0 $"$# 1 ' #$4!*.+5 #76$8 8'9

2 Trabalhos Relacionados

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

Color Eyes Detector. Duarte Petiz. DCC/FCUP

Teresa C. S. Azevedo

Trabalho Final de Processamento de Imagens: Panografia

Visão Computacional. Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos

Exemplo de aplicação

DESENVOLVIMENTO DE SISTEMA PARA GERAÇÃO DE MOSAICO DE IMAGENS VISANDO LOCALIZAÇÃO E NAVEGAÇÃO DE ROBÔS MÓVEIS

UMA ABORDAGEM DE RECONHECIMENTO DE OBJETOS COM USO DA PROJEÇÃO POR HISTOGRAMA VOLTADA PARA ROBÓTICA MÓVEL

AQUISIÇÃO E REALCE EM IMAGENS UTILIZANDO JAVA COM AUXILIO DO OPENCV

Autor: Diego Gouvêa Macharete Trally

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica

DOCUMENTO TÉCNICO. Hikvision Advanced Image Signal Processing HIKVISION. Ampla Faixa Dinâmica (WDR) Para liberação [12/01/2012]

10/11/ : Navegação Robótica. .: Sistema de Localização

Extração de atributos usando o método LBP - Local Binary Pattern

Processamento de Imagens Digitais

6 Resultados Análise de Desempenho

Computação Gráfica II

Desenvolvimento de um Protótipo e de Metodologias de Controlo de uma Cadeira de Rodas Inteligente

Disciplina de Sensores Inteligentes SSC-0715

19/05/2014. Histórico da Pesquisa em Robótica. Objetivos do curso. Informações. Calendário. Histórico

Processamento Digital de Imagens

Processamento Digital de Imagens

6 Aplicações Detalhes da Implementação

Desenvolvimento de Algoritmos de Exploração e Mapeamento Visual para Robôs Móveis de Baixo Custo

Laboratório 2. Disciplina. Introdução ao Geoprocessamento SER 300. Prof. Dr. Antonio Miguel Vieira Monteiro

Computação Gráfica. Visao Computacional. Visão Huma na e Compuacional

EXTRAÇÃO SEMI - AUTOMÁTICA DE FEIÇÕES LINEARES E A CALIBRAÇÃO DOS PARÂMETROS INTRÍNSECOS DE CÂMERAS Projeto de Pesquisa PIBIC/CNPq ( )

- lnteligência Artificial. Seminário sobre o artigo: Beans quality inspection using correlationbased granulometry

AVALIAÇÃO DA PRECISÃO DO SENSOR KINECT PARA MEDIDAS DE DISTÂNCIA

Engenharia de Faixa de Dutos Terrestres

DETECÇÃO DE CORES DE SOLUÇÕES QUÍMICAS PARA PESSOAS COM NENHUMA OU BAIXA VISÃO UTILIZANDO OPENCV

DETERMINAÇÃO DO CAMPO DE VELOCIDADE EM UMA SEÇÃO RISER PELA TÉCNICA DE VELOCIMETRIA POR IMAGEM DE PARTÍCULA

Transcrição:

Stereo Matching of Natural Scenes on External Agricultural Environment Vinicius Bergoli Trentini, Victor de Assis Rodrigues, Aparecido Nilceu Marana Programa de Pós Graduação em Ciência da Computação Universidade Estadual Paulista "Júlio de Mesquita Filho" Bauru, SP, Brasil Luciano Cássio Lúlio, Mário Luiz Tronco, Arthur José Vieira Porto Departamento de Engenharia Mecânica Escola de Engenharia de São Carlos Universidade de São Paulo São Carlos, SP, Brasil Resumo A visão estéreo é uma forma eficiente para navegação pois, através da estimativa de profundidade, é possível verificar se um determinado caminho pré determinado pode ser utilizado para chegar ao destino definido, e ainda estimar durante qual profundidade esse mesmo cálculo continuará sendo válido, mesmo sem efetuar novos cálculos. As imagens capturadas por cada câmera são retificadas, de forma que as mesmas fiquem alinhadas horizontalmente, colaborando-se assim com o desempenho dos algoritmos de correspondência, responsáveis pela construção da matriz de disparidades. Finalmente, através da matriz de disparidades construída, é possível calcular a informação de profundidade de cada objeto capturado na cena, os quais podem representar obstruções e anteparos na cena observada. Nesse artigo são apresentados resultados obtidos através da aplicação de algoritmos para a correspondência em imagens obtidas em um ambiente agrícola externo. Palavras Chave Visão estéreo, correspondência estéreo, retificação, cenas naturais, robôs agrícolas móveis. Abstract The stereo vision is an efficient navigation method because, with the depth estimation, it is possible to check if a predetermined path can be used to reach the designed goal and, at the same time, estimate for how long this path stand as valid, without further new calculations. With the purpose of collaboration with the correspondence method results, responsible for build the disparity maps, the captured images in each camera are rectified, so both images can be aligned horizontally. Finally, using the de disparity map is possible to estimate the depth of each object on the scene which can represent obstructions along the path. In this paper we present results obtained by applying algorithms for matching in images obtained in an external agricultural environment. Keywords Stereo vision, stereo correspondence, rectification, natural scenes, agricultural mobile robots. I. INTRODUÇÃO Existem várias técnicas que podem ser aplicadas para a navegação autônoma, desde o posicionamento utilizando-se um sistema de coordenadas, até sensores estereoceptivos. Uma abordagem bastante utilizada, e inclusive é a abordagem utilizada pelos seres humanos, é a visão estéreo. O uso de visão estéreo possibilita ao observador não apenas a verificação da possibilidade de navegar por um pequeno caminho definido, como também dá ao observador a noção do quanto pode navegar, já que possibilita uma noção de profundidade da cena obervada [1,2]. A utilização portanto, da visão estéreo, pode oferecer a um robô autônomo uma autonomia bastante grande considerandose a navegação frontal: através de imagens adquiridas é possível verificar o caminho a ser seguido, e ainda é possível estimar-se uma unidade de medida pela qual esse caminho calculado continuará sendo válido. Considerando-se então um ambiente agrícola, a visão estéreo possui ainda mais vantagens com relação à visão monocular, pois além da informação de distância possível de ser percorrida, pode retornar possíveis anteparos ou deformações ao longo do caminho [3], os quais são característicos de ambientes agrícolas externos [4]. A detecção de obstruções e anteparos em imagens estéreo pode ser feita simplesmente através da estimativa da profundidade dos objetos encontrados na cena. Todo objeto encontrado que possua uma profundidade menor que um limiar pré-determinado, pode ser classificado como sendo uma obstrução ao caminho desejado, e pode iniciar um novo cálculo para o caminho destino estimado. Para a verificação da profundidade dos objetos da cena é construída, com base nas imagens de cada câmera, uma terceira imagem a qual contém a informação de disparidade entre os mesmos objetos observados em cada câmera, chamada mapa de disparidades. Tendo então em vista um ambiente agrícola externo, e um sistema de navegação autônomo, a navegação funcional pelo ambiente de forma eficiente, e que tenha a capacidade de prever e contornar possíveis obstruções e anteparos ao longo do caminho, são os requisitos que motivaram o trabalho descrito neste artigo.

II. METODOLOGIA DE DESENVOLVIMENTO Para o cálculo da profundidade dos objetos de uma cena são percorridas várias etapas, as quais vão desde a captura das imagens até a estimativa da profundidade propriamente dita. Todas essas etapas podem ser visualizadas na Figura 1 e serão discutidas nas próximas subseções. Figura 2: Configuração do veículo e das câmeras utilizadas na captura de imagens. À medida que o veículo navega pelo ambiente, são capturadas imagens da visão frontal do veículo, as quais são utilizadas para a construção da matriz de disparidade e, portanto, para o cálculo da profundidade dos objetos observados na cena. Figura 1: Fases envolvidas no sistema A. Captura das imagens O ambiente selecionado como estudo de caso para implementação do trabalho são as linhas de plantio de uma cultura de laranjas (pomares com relação de 6m a 7m entre as linhas de plantio). A captura das imagens é feita utilizando-se simultaneamente duas câmeras acopladas na parte frontal de um quadriciclo. A configuração do veículo pode ser observada na Figura 2. Neste procedimento, a modelagem cinemática das coordenadas do veículo, como das câmeras, são ignoradas, uma vez que a relação entre a captura de imagens com a correspondência geométrica é atribuída somente às características da resolução espacial e cromática das câmeras usadas (USB RGB 1280 x 720 pixels). B. Pré-Processamento As imagens utilizadas pelos computadores são capturadas por outros dispositivos, como câmeras fotográficas, e portanto estão passíveis a erros na captura e posterior representação digital [5]. Tendo em vista o maior desempenho possível nas fases de processamento de imagens, uma fase de pré-processamento deve ser realizada antes do início da correspondência. Essa fase é responsável por efetuar correções de distorções geométricas as quais foram geradas no momento da captura e também efetuar a eliminação de ruídos [5,7]. A fase de pré-processamento da imagem pode ser considerada como uma fase preparatória para o processo de correspondência e construção do mapa de disparidades. Dessa forma, logo após a captura da imagem de entrada (a qual tratase de um quadro de vídeo), são realizados alguns tratamentos com o objetivo de deixá-la passiva de ser processada pelas fases seguintes. Primeiramente é feita a conversão da imagem do sistema de cores RGB para escala de cinza. Esse processo é necessário pois os algoritmos de correspondência estéreo assumem uma imagem nessa condição. Em seguida, o modelo da câmera utilizada é submetida a um processo de calibração de forma que seja possível calcular as matrizes de conversão entre cada câmera, tornando então possível o relacionamento entre os objetos das imagens das câmeras [8]. O processo de calibração é realizado da seguinte forma:

1. Um objeto ou forma presente na imagem esquerda é tomado como amostra e sua posição (x,y) é salva; 2. A imagem direita é então varrida com o objetivo de encontrar-se a forma pré-determinada. Caso não seja encontrado, retorna-se ao passo 1 para a seleção de uma nova forma; 3. Utilizando-se geometria epipolar, conceito característico de imagens estéreo, e as coordenadas encontradas no passo anterior, são construídas então as matrizes de rotação e translação, utilizadas para relacionar os pontos de cada imagem [8]. Logo após a conversão e o processo de calibração, é aplicado um algoritmo de retificação, que tem por objetivo garantir que ambas as imagens estejam alinhadas horizontalmente. Esse processo auxilia no desempenho dos algoritmos de correspondência. Através da retificação das imagens, e utilizando as matrizes construídas na fase de calibração, é possível então efetuar a retificação das imagens. Dessa forma, mesmo que haja algum deslocamento horizontal ou vertical, é possível relacionar e encontrar em uma imagem os pontos correspondentes da outra. Na Figura 3 é possível verificar a imagem direita e esquerda original, e então as duas imagens retificadas. compatível com a aplicação, no caso é utilizado um algoritmo de correspondência de blocos. Conforme o próprio nome sugere, os algoritmos de correspondência de blocos tentam relacionar um bloco de uma determinada imagem com o respectivo bloco na outra imagem. A correspondência de cada bloco da imagem resulta na matriz de disparidade das imagens [6]. De uma forma geral, os blocos são constituídos de partes quadradas e não sobrepostas das imagens. Cada bloco de uma das imagens tomada como referência é então correspondido com um bloco na outra imagem, movendo-se o bloco atual em torno de uma vizinhança pré determinada na outra imagem. A cada mudança, é computada a soma das distâncias entre os valores de cinza dos dois blocos. A mudança que gerar a menor distância total é considerada como sendo a melhor correspondência [7]. Um exemplo de bloco bastante utilizado pode ser observado na Figura 4. Figura 4: Bloco de correspondência com tamanho 16 pixels e área de busca igual 7 pixels. Adaptado de [6] No caso específico desse trabalho, foi utilizada um bloco de medida igual a 32 pixels e com uma área de busca igual a 5 pixels, parâmetros obtidos de forma empírica. Na Figura 5 é possível visualizar o mapa de disparidade construído com a correspondência entre as imagens da Figura 3. Figura 3: Imagens originais correspondentes direita e esquerda e imagens após retificação. Antes mesmo das fases de pré-processamento propriamente ditas, é feita uma subtração do frame anterior capturado com o frame atual. Caso a diferença seja menor que um limiar pré determinado, o pré processamento não segue adiante. Essa verificação inicial evita que o processamento de frames tenha mudança significativa. C. Correspondência Como a estimativa da profundidade dos objetos da cena deve possuir um baixo tempo de resposta, de forma que possibilite a detecção de possíveis anteparos, o algoritmo de correspondência utilizado possui um tempo de resposta Figura 5: Mapa de disparidades resultante das imagens apresentadas na Figura 3.

Em um caso ideal, dois blocos correspondem-se de forma perfeita, retornando assim uma soma igual a zero. Devido a vários fatores, tal como variação na iluminação, movimento dos objetos da cena e até mesmo ruídos, essa situação raramente ocorre. Isso é ainda mais agravado considerando-se um ambiente agrícola externo, sujeito a inúmeras interferências do ambiente. Apesar dos problemas de correspondência pixel a pixel, a execução do algoritmo de correspondência de blocos possui baixo custo computacional, e é recomendado para o cálculo da disparidade em tempo real. Dentre os critérios utilizados para computar as diferenças encontradas entre os blocos correspondentes, alguns dos mais utilizados são a distância absoluta média (MAD), média das distâncias quadradas (MSD) e correlação cruzada normalizada (NCC). As imagens abaixo, das Figuras 6, 7 e 8 correspondem ao procedimento detalhado acima, com outros conjuntos de imagens, identificando detalhes de cada cena natural nos frames adquiridos. Figura 7: Imagens após a retificação de correspondência, na cena 2, cena 3 e cena 4. Figura 6: Imagens originais correspondentes direita e esquerda da cena 2, cena 3 e cena 4.

mapa de disparidades, pode-se verificar que o mapa consegue representar as regiões livres para navegação. Como trabalhos futuros pretende-se melhorar a matriz de disparidades calculada de forma que seja gerado um mapa possível de ser utilizado para a navegação de um robô autônomo através da implementação de algoritmos de dedicados à navegação e que utilizem mapas para descrever o ambiente, tal como o A* [9,10,11] e o D* [12] Mais testes serão efetuados utilizando-se uma base de dados mais detalhada, e uma medida de desempenho será adotada de forma que se possa avaliar os resultados obtidos por imagem. Nota: O veículo utilizado nos experimentos descritos foi conduzido por um operador humano, com o objetivo de captar-se imagens para a execução de testes. Em trabalhos futuros aplicar-se-á o sistema desenvolvido em uma plataforma de robô móvel agrícola, em desenvolvimento no Núcleo de Ensino e Pesquisa em Automação e Simulação da Escola de Engenharia de São Carlos (NEPAS/EESC/USP). REFERÊNCIAS BILIOGRÁFICAS Figura 8: Mapas de disparidades resultantes da cena 2, cena 3 e cena 4. III. CONCLUSÃO As imagens obtidas em um ambiente agrícola e externo sofrem inúmeras interferências tais como com relação à iluminação e efeito de condensação das lentes das câmeras. Além disso, como as imagens são obtidas com o veículo em movimento, as mesmas podem apresentar distorções geométricas entre si (rotação, translação) que precisam ser corrigidas antes do processamento do mapa de disparidades através do processo de retificação. Todas essas etapas podem acumular erros em sua execução os quais podem prejudicar o desempenho final do processo de construção do mapa de disparidades. Nas Figura 5 e 8 é possível verificar o mapa de disparidades construído para as imagens representadas na Figura 3, 6 e 7. Apesar de não aparentar um bom desempenho, através desses mapas de disparidades, é possível verificar a informação de profundidade na cena observada de forma que, as regiões mais escuras representam os caminhos por onde não há objetos e/ou anteparos e as regiões mais claras, são os espaços em que foram detectados possíveis obstruções. Comparando-se então as imagens com seu correspondente [1] STIVANELLO, M. E.; LEAL, E. S.; PALLUAT, N.; STEMMER, M. R (2008). Correspondência Densa Para Sistemas de Visão Estereoscópica Para Robótica Móvel. S2I, Departamento de Automação e Sistemas, Universidade Federal de Santa Catarina. Florianópolis - SC. [2] KOLESNIK, M. Vision and Navigation of Marsokhod Rover. (1995). Space Research Institute 84/32 Profsoyuznaya St., Moscow, 117810 Russia. [3] KONOLIGE, K.; AGRAWAL, M.; BOLLES, R. C.; COWAN, C.; FISCHLER, M.; GERKEY, B. (2006). Outdoor Mapping and Navigation using Stereo Vision. Proceedings International Symposium on Experimental Robotics (ISER), 2006 held at Brazil. Artificial Intelligence Center, SRI International, Menlo Park, CA 94025. [4] PANDIAN, A. (2008). Robot Navigation Using Stereo Vision and Polarization Imaging. A Thesis Submitted for the Degree of MSc Erasmus Mundus in Vision and Robotics (VIBOT). Institut Universitaire de Technologie IUT Le Creusot Universite de Bourgogne. [5] TRENTINI, V. B.; GODOY, L. A. T.; Prof. Dr. MARANA, A. N. (2010). Reconhecimento Automático de Placas de Veículos. VI Workshop de Visão Computacional. Presidente Prudente - SP. [6] BARJATYA, A. (2004). Block Matching Algorithms For Motion Estimation. Work done as partial fulfillment for the completion of class ECE 6620, Digital Image Processing, at Utah State University. [7] GYAOUROVA, A.; KAMATH, C.; CHEUNG, S.-C. (2003). Block Matching for Object Tracking. Lawrence Livermore National Laboratory. University of California. [8] BRADSKI, G.; KAEHLER. A., Learning OpenCV: Computer Vision with OpenCV Library. Sebastopol, CA, O Reilly Media, Inc., September 2008. 577p. [9] S. Russell and P. Norvig. (2003). Artificial Intelligence: A Modern Approach. 2nd Ed. Prentice Hall. [10] LESTER, P. (2005). A* Pathfinding for Beginners. Almanac of Policy Issues. [11] Goodwin, S. D.; Menon, S.; Price, R. G. (2011). Pathfinding in Open Terrain. Centre for Interactive Digital Entertainment Research School of Computer Science, University of Windsor Windsor, Ontario, Canada. [12] STENTZ, A. (1994). Optimal and Efficient Path Planning for Partially- Known Environments. The Robotics Institute; Carnegie Mellon University; Pittsburgh, PA 15213.