43 resultados para OpenCV
Resumo:
Tracking di oggetti mediante la libreria opencv
Resumo:
In this paper we present a real-time foreground–background segmentation algorithm that exploits the following observation (very often satisfied by a static camera positioned high in its environment). If a blob moves on a pixel p that had not changed its colour significantly for a few frames, then p was probably part of the background when its colour was static. With this information we are able to update differentially pixels believed to be background. This work is relevant to autonomous minirobots, as they often navigate in buildings where smart surveillance cameras could communicate wirelessly with them. A by-product of the proposed system is a mask of the image regions which are demonstrably background. Statistically significant tests show that the proposed method has a better precision and recall rates than the state of the art foreground/background segmentation algorithm of the OpenCV computer vision library.
Resumo:
This paper presents the design and implementation of PolyMage, a domain-specific language and compiler for image processing pipelines. An image processing pipeline can be viewed as a graph of interconnected stages which process images successively. Each stage typically performs one of point-wise, stencil, reduction or data-dependent operations on image pixels. Individual stages in a pipeline typically exhibit abundant data parallelism that can be exploited with relative ease. However, the stages also require high memory bandwidth preventing effective utilization of parallelism available on modern architectures. For applications that demand high performance, the traditional options are to use optimized libraries like OpenCV or to optimize manually. While using libraries precludes optimization across library routines, manual optimization accounting for both parallelism and locality is very tedious. The focus of our system, PolyMage, is on automatically generating high-performance implementations of image processing pipelines expressed in a high-level declarative language. Our optimization approach primarily relies on the transformation and code generation capabilities of the polyhedral compiler framework. To the best of our knowledge, this is the first model-driven compiler for image processing pipelines that performs complex fusion, tiling, and storage optimization automatically. Experimental results on a modern multicore system show that the performance achieved by our automatic approach is up to 1.81x better than that achieved through manual tuning in Halide, a state-of-the-art language and compiler for image processing pipelines. For a camera raw image processing pipeline, our performance is comparable to that of a hand-tuned implementation.
Resumo:
Utilización de técnicas de visión artificial para extraer la firma del contorno de perfiles de caucho y proceder a su clasificación y comparación con su correspondiente plano.
Resumo:
Nos últimos anos, o fácil acesso em termos de custos, ferramentas de produção, edição e distribuição de conteúdos audiovisuais, contribuíram para o aumento exponencial da produção diária deste tipo de conteúdos. Neste paradigma de superabundância de conteúdos multimédia existe uma grande percentagem de sequências de vídeo que contém material explícito, sendo necessário existir um controlo mais rigoroso, de modo a não ser facilmente acessível a menores. O conceito de conteúdo explícito pode ser caraterizado de diferentes formas, tendo o trabalho descrito neste documento incidido sobre a deteção automática de nudez feminina presente em sequências de vídeo. Este processo de deteção e classificação automática de material para adultos pode constituir uma ferramenta importante na gestão de um canal de televisão. Diariamente podem ser recebidas centenas de horas de material sendo impraticável a implementação de um processo manual de controlo de qualidade. A solução criada no contexto desta dissertação foi estudada e desenvolvida em torno de um produto especifico ligado à área do broadcasting. Este produto é o mxfSPEEDRAIL F1000, sendo este uma solução da empresa MOG Technologies. O objetivo principal do projeto é o desenvolvimento de uma biblioteca em C++, acessível durante o processo de ingest, que permita, através de uma análise baseada em funcionalidades de visão computacional, detetar e sinalizar na metadata do sinal, quais as frames que potencialmente apresentam conteúdo explícito. A solução desenvolvida utiliza um conjunto de técnicas do estado da arte adaptadas ao problema a tratar. Nestas incluem-se algoritmos para realizar a segmentação de pele e deteção de objetos em imagens. Por fim é efetuada uma análise critica à solução desenvolvida no âmbito desta dissertação de modo a que em futuros desenvolvimentos esta seja melhorada a nível do consumo de recursos durante a análise e a nível da sua taxa de sucesso.
Resumo:
Image stitching is the process of joining several images to obtain a bigger view of a scene. It is used, for example, in tourism to transmit to the viewer the sensation of being in another place. I am presenting an inexpensive solution for automatic real time video and image stitching with two web cameras as the video/image sources. The proposed solution relies on the usage of several markers in the scene as reference points for the stitching algorithm. The implemented algorithm is divided in four main steps, the marker detection, camera pose determination (in reference to the markers), video/image size and 3d transformation, and image translation. Wii remote controllers are used to support several steps in the process. The built‐in IR camera provides clean marker detection, which facilitates the camera pose determination. The only restriction in the algorithm is that markers have to be in the field of view when capturing the scene. Several tests where made to evaluate the final algorithm. The algorithm is able to perform video stitching with a frame rate between 8 and 13 fps. The joining of the two videos/images is good with minor misalignments in objects at the same depth of the marker,misalignments in the background and foreground are bigger. The capture process is simple enough so anyone can perform a stitching with a very short explanation. Although real‐time video stitching can be achieved by this affordable approach, there are few shortcomings in current version. For example, contrast inconsistency along the stitching line could be reduced by applying a color correction algorithm to every source videos. In addition, the misalignments in stitched images due to camera lens distortion could be eased by optical correction algorithm. The work was developed in Apple’s Quartz Composer, a visual programming environment. A library of extended functions was developed using Xcode tools also from Apple.
Resumo:
Humans can perceive three dimension, our world is three dimensional and it is becoming increasingly digital too. We have the need to capture and preserve our existence in digital means perhaps due to our own mortality. We have also the need to reproduce objects or create small identical objects to prototype, test or study them. Some objects have been lost through time and are only accessible through old photographs. With robust model generation from photographs we can use one of the biggest human data sets and reproduce real world objects digitally and physically with printers. What is the current state of development in three dimensional reconstruction through photographs both in the commercial world and in the open source world? And what tools are available for a developer to build his own reconstruction software? To answer these questions several pieces of software were tested, from full commercial software packages to open source small projects, including libraries aimed at computer vision. To bring to the real world the 3D models a 3D printer was built, tested and analyzed, its problems and weaknesses evaluated. Lastly using a computer vision library a small software with limited capabilities was developed.
Resumo:
Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP)
Resumo:
This paper presents a proposal for the automation of the camera calibration process, locating and measuring image points in coded targets with sub-pixel precision. This automatic technique helps minimize localization errors, regardless of camera orientation and image scale. To develop this technique, several types of coded targets were analyzed and the ARUCO type was chosen due to its simplicity, ability to represent up to 1024 different targets and availability of source code implemented with the OpenCV library. ARUCO targets were generated and two calibration sheets were assembled to be used for the acquisition of images for camera calibration. The developed software can locate targets in the acquired images and it automatically extracts the coordinates of the four corners with sub-pixel accuracy. Experiments were conducted with real data showing that the targets are correctly identified unless excessive noise or fragmentation occurs mainly in the outer target square. The results with the calibration of a low cost camera showed that the process works and that the measurement accuracy of the corners achieves sub-pixel precision.
Resumo:
Este tutorial pretende ser una guía para la elaboración de clasificadores basados en el esquema de Viola-Jones haciando uso de la biblioteca OpenCV
Resumo:
[ES] El presente TFG consiste en una aplicación para la detección de personas de cuerpo entero. La idea es aplicar este detector a las continuas imágenes recogidas en tiempo real a través de una web-cam, o de un archivo con formato de vídeo que se encuentre ubicado en el propio sistema. El código está escrito en C++. Para conseguir este objetivo nos basamos en el uso conjunto de dos sistemas de detección ya existentes: primero, OpenCV, mediante un método de histograma de gradientes orientados, el cual ya proporciona propiamente un detector de personas que será aplicado a cada una de las imágenes del stream de vídeo; por otro lado, el detector facial de la librería Encara que se aplica a cada una de las detecciones de supuestas personas obtenidas en el método de OpenCV, para comprobar si hay una cara en la supuesta persona detectada. En caso de ser así, y de haber una cara más o menos correctamente situada, determinamos que es realmente una persona. Para cada persona detectada se guardan sus datos de situación en la imagen, en una lista, para posteriormente compararlos con los datos obtenidos en frames anteriores, e intentar hacer un seguimiento de todas las personas. Visualmente se observaría como se va recuadrando cada persona con un color determinado aleatorio asignado a cada una, mientras se visualiza el vídeo. También se registra la hora y frame de aparición, y la hora y frame de salida, de cada persona detectada, quedando estos datos guardados tanto en un fichero de log, como en una base de datos. Los resultados son, bastante satisfactorios, aunque con posibilidades de mejora, ya que es un trabajo que permite combinar otras técnicas diferentes a las descritas. Debido a la complejidad de los métodos empleados se destaca la necesidad de alta capacidad de computación para poder ejecutar la aplicación en tiempo real sin ralentizaciones.
Resumo:
[ES] Este Trabajo de Fin de Grado describe el desarrollo de un prototipo para plataformas móviles, que permite determinar si un pez alcanza la talla mínima establecida para su consumo. Para ello se realiza la detección y segmentación de un pez, para posteriormente determinar si cumple con la talla mínima, utilizando como referencia una moneda de un euro para calibrar el tamaño. La detección se realiza aplicando la implementación del esquema de Viola-Jones, integrada en la librería OpenCV, creando una serie de detectores propios tanto para los peces como para la moneda. Asimismo se ha utilizado SDK del que dispone dicha librería para desarrollar la aplicación en plataforma móvil Android.
Resumo:
Permitida la difusión del código bajo los términos de la licencia BSD de tres cláusulas.
Resumo:
[ES]La reidentificación consiste en volver a identificar a un individuo/objeto que ya se ha detectado previamente desde distintas cámaras. En este proyecto se exploran diferentes técnicas para la reidentificación de personas. Se implementan y prueban técnicas que no requieren de aprendizaje previo para realizar una ordenación inicial, al ser este tipo de métodos los que mayor aplicación tienen en un escenario real. Así mismo se usan técnicas de reordenación sobre esta ordenación inicial utilizando la información de un operador humano, aplicando entre otros métodos aprendizaje semisupervisado. Para realizar todo el proceso y facilitar la combinación y automatización de las diversas técnicas se crea un framework denominado PyReID basado en Python y OpenCV, de software libre y disponible públicamente en Github.