2017
Convolutional Neural Network Reliability on an APSoC platform – a traffic sign recognition case study
Autor: Eng. M.Sc. Israel da Costa Lopes
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2017.
Resumo:
...
Abstract:
Deep learning has a plethora of applications in Computer vision, Speech recognition, Natural Language Processing and other applications of commercial interest. Computer vision, in turn, has many applications in distinct areas ranging from entertainment applications such as, face recognition and manipulation (Snapchat) and pictures description(OneDrive), to relevant and critical applications such as, industrial inspection, medical diagnostics, objects recognition in images captured by satellites used in rescue and defense missions, and so on. There are also deep learning applications in the automotive area. The most important integrated circuit companies around the world such as Xilinx, Intel and NVidia are waging in dedicated platforms for accelerate deep learning and other computer vision alternatives for autonomous cars due to its high computational requirement. Thus developing a deep learning system that achieves high performance and has low area and power costs is a big challenge. Besides, the electronic equipment for the automotive industry must be reliable against radiation effects and others sources of faults, such as manufacturing defeats and aging effects. Thus a CNN VHDL automatic generator was developed to reduce the design time associated to the development of deep learning algorithms in hardware. As a case study, a CNN was trained by the Caffe framework in order to classify 6 traffic signs classes achieving an average accuracy of about 89.8% using the GTSRB dataset that contains traffic signs images in complex scenarios. This CNN was implemented in the Zynq-7000 All-Programmable System-on-Chip (APSoC) achieving about 313 FPS using 32×32 normalized traffic signs subimages with the APSoC consuming only 1.897W. The reliability of the proposed CNN was investigated by random accumulated fault injection emulation in the configuration bits of the PL part of the APSoC achieving 48% of reliability against Single-Bit-Upset (SBU) when considering the output in error and 80% of reliability against SBU when considering the output in failure. The reliability of the proposed CNN against Multibit-Upset (MBU) exponentially decreases with the number of accumulated faults when considering the output in both error or failure. Therefore, the reliability of the proposed CNN must be increased by using hardening techniques in the design flow.
Detecção e classificação de sinalização vertical de trânsito em cenários complexos
Autor: Eng. M.Sc. Igor Gustavo Hoelscher
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2017.
Resumo:
A mobilidade é uma marca da nossa civilização. Tanto o transporte de carga quanto o de passageiros compartilham de uma enorme infra-estrutura de conexões operados com o apoio de um sofisticado sistema logístico. Simbiose otimizada de módulos mecânicos e elétricos, os veículos evoluem continuamente com a integração de avanços tecnológicos e são projetados para oferecer o melhor em conforto, segurança, velocidade e economia. As regulamentações organizam o fluxo de transporte rodoviário e as suas interações, estipulando regras a fim de evitar conflitos. Mas a atividade de condução pode tornar-se estressante em diferentes condições, deixando os condutores humanos propensos a erros de julgamento e criando condições de acidente. Os esforços para reduzir acidentes de trânsito variam desde campanhas de re-educação até novas tecnologias. Esses tópicos têm atraído cada vez mais a atenção de pesquisadores e indústrias para Sistemas de Transporte Inteligentes baseados em imagens. Este trabalho apresenta um estudo sobre técnicas de detecção e classificação de sinalização vertical de trânsito em imagens de cenários de tráfego complexos. O sistema de reconhecimento visual automático dos sinais destina-se a ser utilizado para o auxílio na atividade de direção de um condutor humano ou como informação para um veículo autônomo. Com base nas normas para sinalização viária, foram testadas duas abordagens para a segmentação de imagens e seleção de regiões de interesse. O primeiro, uma limiarização de cor em conjunto com Descritores de Fourier. Seu desempenho não foi satisfatório. No entanto, utilizando os seus princípios, desenvolveu-se um novo método de filtragem de cores baseado em Lógica Fuzzy que, juntamente com um algoritmo de seleção de regiões estáveis em diferentes tons de cinza (MSER), ganhou robustez à oclusão parcial e a diferentes condições de iluminação. Para classificação, duas Redes Neurais Convolucionais curtas são apresentadas para reconhecer sinais de trânsito brasileiros e alemães. A proposta é ignorar cálculos complexos ou features selecionadas manualmente para filtrar falsos positivos antes do reconhecimento, realizando a confirmação (etapa de detecção) e a classificação simultaneamente. A utilização de métodos do estado da arte para treinamento e otimização melhoraram a eficiência da técnica de aprendizagem da máquina. Além disso, este trabalho fornece um novo conjunto de imagens com cenários de tráfego em diferentes regiões do Brasil, contendo 2.112 imagens em resolução WSXGA+. As análises qualitativas são mostradas no conjunto de dados brasileiro e uma análise quantitativa com o conjunto de dados alemão apresentou resultados competitivos com outros métodos: 94% de acurácia na extração e 99% de acurácia na classificação.
Abstract:
Mobility is an imprint of our civilization. Both freight and passenger transport share a huge infrastructure of connecting links operated with the support of a sophisticated logistic system. As an optimized symbiosis of mechanical and electrical modules, vehicles are evolving continuously with the integration of technological advances and are engineered to offer the best in comfort, safety, speed and economy. Regulations organize the flow of road transportation machines and help on their interactions, stipulating rules to avoid conflicts. But driving can become stressing on different conditions, leaving human drivers prone to misjudgments and creating accident conditions. Efforts to reduce traffic accidents that may cause injuries and even deaths range from re-education campaigns to new technologies. These topics have increasingly attracted the attention of researchers and industries to Image-based Intelligent Transportation Systems. This work presents a study on techniques for detecting and classifying traffic signs in images of complex traffic scenarios. The system for automatic visual recognition of signs is intended to be used as an aid for a human driver or as input to an autonomous vehicle. Based on the regulations for road signs, two approaches for image segmentation and selection of regions of interest were tested. The first one, a color thresholding in conjunction with Fourier Descriptors. Its performance was not satisfactory. However, using its principles, a new method of color filtering using Fuzzy Logic was developed which, together with an algorithm that selects stable regions in different shades of gray (MSER), the approach gained robustness to partial occlusion and to different lighting conditions. For classification, two short Convolutional Neural Networks are presented to recognize both Brazilian and German traffic signs. The proposal is to skip complex calculations or handmade features to filter false positives prior to recognition, making the confirmation (detection step) and the classification simultaneously. State-of-the-art methods for training and optimization improved the machine learning efficiency. In addition, this work provides a new dataset with traffic scenarios in different regions of Brazil, containing 2,112 images in WSXGA+ resolution. Qualitative analyzes are shown in the Brazilian dataset and a quantitative analysis with the German dataset presented competitive results with other methods: 94% accuracy in extraction and 99% accuracy in the classification.
Sistema de detecção em tempo real de faixas de sinalização de trânsito para veículos inteligentes utilizando processamento de imagem
Autor: Eng. M.Sc. Thiago Waszak Alves
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2017.
Resumo:
A mobilidade é uma marca da nossa civilização. Tanto o transporte de carga quanto o de passageiros compartilham de uma enorme infra-estrutura de conexões operados com o apoio de um sofisticado sistema logístico. Simbiose otimizada de módulos mecânicos e elétricos, os veículos evoluem continuamente com a integração de avanços tecnológicos e são projetados para oferecer o melhor em conforto, segurança, velocidade e economia. As regulamentações organizam o fluxo de transporte rodoviário e as suas interações, estipulando regras a fim de evitar conflitos. Mas a atividade de condução pode tornar-se estressante em diferentes condições, deixando os condutores humanos propensos a erros de julgamento e criando condições de acidente. Os esforços para reduzir acidentes de trânsito variam desde campanhas de re-educação até novas tecnologias. Esses tópicos têm atraído cada vez mais a atenção de pesquisadores e indústrias para Sistemas de Transporte Inteligentes baseados em imagens que visam a prevenção de acidentes e o auxilio ao seu motorista na interpretação das formas de sinalização urbana. Este trabalho apresenta um estudo sobre técnicas de detecção em tempo real de faixas de sinalização de trânsito em ambientes urbanos e intermunicipais, com objetivo de realçar as faixas de sinalização da pista para o condutor do veículo ou veículo autônomo, proporcionando um controle maior da área de tráfego destinada ao veículo e prover alertas de possíveis situações de risco. A principal contribuição deste trabalho é otimizar a formar como as técnicas de processamento de imagem são utilizas para realizar a extração das faixas de sinalização, com o objetivo de reduzir o custo computacional do sistema. Para realizar essa otimização foram definidas pequenas áreas de busca de tamanho fixo e posicionamento dinâmico. Essas áreas de busca vão isolar as regiões da imagem onde as faixas de sinalização estão contidas, reduzindo em até 75% a área total onde são aplicadas as técnicas utilizadas na extração de faixas. Os resultados experimentais mostraram que o algoritmo é robusto em diversas variações de iluminação ambiente, sombras e pavimentos com cores diferentes tanto em ambientes urbanos quanto em rodovias e autoestradas. Os resultados mostram uma taxa de detecção correta média de 98; 1%, com tempo médio de operação de 13,3 ms.
Abstract:
Mobility is an imprint of our civilization. Both freight and passenger transport share a huge infrastructure of connecting links operated with the support of a sophisticated logistic system. As an optimized symbiosis of mechanical and electrical modules, vehicles are evolving continuously with the integration of technological advances and are engineered to offer the best in comfort, safety, speed and economy. Regulations organize the flow of road transportation machines and help on their interactions, stipulating rules to avoid conflicts. But driving can become stressing on different conditions, leaving human drivers prone to misjudgments and creating accident conditions. Efforts to reduce traffic accidents that may cause injuries and even deaths range from re-education campaigns to new technologies. These topics have increasingly attracted the attention of researchers and industries to Image-based Intelligent Transportation Systems that aim to prevent accidents and help your driver in the interpretation of urban signage forms. This work presents a study on real-time detection techniques of traffic signaling signs in urban and intermunicipal environments, aiming at the signaling lanes of the lane for the driver of the vehicle or autonomous vehicle, providing a greater control of the area of traffic destined to the vehicle and to provide alerts of possible risk situations. The main contribution of this work is to optimize how the image processing techniques are used to perform the lanes extraction, in order to reduce the computational cost of the system. To achieve this optimization, small search areas of fixed size and dynamic positioning were defined. These search areas will isolate the regions of the image where the signaling lanes are contained, reducing up to 75% the total area where the techniques used in the extraction of lanes are applied. The experimental results showed that the algorithm is robust in several variations of ambient light, shadows and pavements with different colors, in both urban environments and on highways and motorways. The results show an average detection rate of 98.1%, with average operating time of 13.3 ms.
2014
Adaptação e aceleração do middleware Ginga-NCL para o sistema-em-chip do SBTVD
Autor: Eng. M.Sc. Bruno Policarpo Toledo Freitas
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2014.
Resumo:
Este trabalho tem por finalidade aprimorar o Sistema-em-Chip (SoC) desenvolvido para um "Set-Top Box"de Televisão Digital com a capacidade de executar aplicações segundo o Sistema Brasileiro de Televisão Digital (SBTVD) e melhorar o desempenho do novo sistema. A "Rede H.264"e o "GingaCDN", dois projetos desenvolvidos anteriormente relacionados à Televisão Digital, foram utilizados como base para esse trabalho. A Rede H.264 teve como principal objetivo o desenvolvimento de codificadores e decodificadores para o padrão brasileiro. O resultado foi um SoC para "Set-Top Box"que inclui uma interface de usuário, um processador e os decodificadores de áudio e vídeo com suas respectivas interfaces de saída. Por outro lado, o GingaCDN criou uma implementação de referência para o middleware do SBTVD, denominado Ginga. O primeiro passo foi adicionar regras para compilar o Ginga no ambiente de desenvolvimento do SoC, sendo necessárias diversas mudanças na infraestrutura do middleware. O desempenho do sistema é melhorado através de hardware-software codesign onde as primitivas do Ginga que consomem maior tempo de processamento e de processador foram implementadas em hardware. O ganho obtido ocorre devido a dois fatores: o sistema se torna mais rápido e os recursos da CPU são liberados para outras aplicações. Neste trabalho, o alvo foi o subsistema gráfico do middleware, onde o impacto é mais significativo. Um estudo das características do hardware do sistema foi realizado e, então, uma função gráfica foi escolhida e implementada em hardware. Todas as etapas para substituir uma função em software por outra equivalente em hardware são descritas no texto. Entre as contribuições deste trabalho, abre-se espaço para dar continuidade à expansão das capacidades do "Set-Top Box"por meio de módulos de hardware, melhorando a eficiência do SoC para esta aplicação, dito então "Ginga-ready". A experiência pode ser estendida também para auxiliar a geração de middleware para outras plataformas.
Abstract:
This work aims to enhance a System-on-Chip (SoC) designed for Digital Television Set-Top Box in order to run applications according to the Brazilian Television standard (SBTVD) and to increase the performance by hardware. Two previous projects related to the Digital Television, "Rede H.264" and "GingaCDN", were used as base for this work. The "Rede H.264" had as main objective the development of codecs for the Brazilian standard. The result was a SoC for a Set-Top Box which includes a processor, audio and video decoders with output drivers, and user interface. Otherwise, the "GingaCDN" created a reference implementation for the middleware of the SBTVD, called Ginga. The first step was to add rules to compile Ginga on the development environment of the SoC, for which some configuration of the Ginga middleware needed to be changed. Performance improvement was obtained by hardware-software codesign where Ginga primitives that are time and processor consuming could be implemented in hardware. The gain is twofold: the system becomes faster and CPU resources are freed for other applications. In this work, the target was the graphical subsystem primitives of the middleware, where the impact is more significant. A study of the hardware characteristics of the system was made, and then a graphical function was chosen and implemented on hardware. All the steps needed to substitute a software function by an equivalent one implemented in hardware are described in the text. Among the contributions of this work, the way is openned to continue the expansion of the capabilities of the Set-Top Box by efficient hardware modules on a so called "Ginga-ready" SoC. The experience may be useful also to help the generation of the middleware for other platforms.
2012
Desenvolvimento e avaliação de redes-em-chip hierárquicas e reconfiguráveis para MPSoCs
Autor: Eng. M.Sc. Cezar Rodolfo Wedig Reinbrecht
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2012.
Resumo:
Com o advento dos processos submicrônicos, a capacidade de integração de transistores numa mesma pastilha de silício atingiu níveis que possibilitaram a construção dos sistemas com múltiplos processadores num chip (MPSoCs, do inglês MultiProcessor System-on-Chip). Essa possibilidade de integração permite inserir dezenas de Elementos de Processamento (EPs) nos circuitos integrados atuais, e já se projeta centenas de EPs para os sistemas da próxima década (ITRS, 2011). Nesse cenário, um dos principais desafios se refere ao serviço de interconexão dos EPs, que deve apresentar um desempenho de comunicação necessário para as aplicações em execução sem comprometer as limitações de consumo de área e energia do circuito. Nos primeiros sistemas multiprocessados, com poucos nodos, arquiteturas baseadas em barramento foram suficientes para cumprir esses requisitos. Porém, o número de elementos nos sistemas recentes aumentou rapidamente, tornando as redes-em-chip a solução mais apropriada, por aliar escalabilidade e reuso na mesma estrutura. Contudo, diante da previsão de que essa tendência de aumento se manterá retorna a discussão se as redes-em-chip atuais continuarão adequadas para os futuros sistemas. De fato, o custo das redes-em-chip convencionais pode se tornar proibitivo para as escalas dos circuitos em um futuro próximo. Novas propostas têm sido apresentadas na literatura científica onde se podem destacar duas principais estratégias de projeto às redes de interconexão: reconfiguração arquitetural e organização hierárquica da topologia. A reconfiguração arquitetural permite obter uma grande eficiência, independente do tipo de aplicação em execução, pois uma das alternativas é projetar o circuito para que ele se auto adapte conforme os requisitos de desempenho para cada aplicação. Por outro lado, arquiteturas organizadas em topologias hierárquicas são desenvolvidas para uma estrutura computacional definida em tempo de projeto, sendo mais eficazes para uma classe de aplicações. O presente trabalho explora a sinergia da combinação das potencialidades das duas soluções e propõe uma nova estrutura que oferece melhor desempenho para uma classe maior de aplicações apropriada para os futuros sistemas. Como resultado foi implementada uma arquitetura adaptativa chamada MINoC (Multiple Interconnections Networks-on-Chip), uma arquitetura organizada em hierarquia, chamada HiCIT (Hierarchical Crossbar-based Interconnection Topology) e uma simbiose de ambas culminando na arquitetura hierárquica adaptativa HASIN (Hierarchical Adaptive Switching Interconnection Network). São apresentados resultados que mostram a eficiência desses conceitos validando a proposta hierárquica adaptativa.
Abstract:
With the advent of submicron processes, the number of transistors integrated on a single chip has reached levels that allowed the design of Multiprocessor Systems-on-Chip (MPSoCs). This capability allows the integration of several processing elements (PEs) in integrated circuits designed nowadays. In the next decade it is expected that hundreds of PEs will be integrated on a single chip. In this scenario, a key challenge is the interconnection network between PEs, which must provide the communication service required to run applications without compromising the limitations of area and energy consumption. In the first multiprocessor systems, with few nodes, bus-based approaches have been sufficient to meet these requirements. However, current systems increased quickly the number of elements, making the Networks-on-Chip (NoCs) the most appropriate solution, because it handles scalability and reusability in the same structure. Nevertheless, ITRS roadmap predicts that this increase will continue (ITRS, 2011), which resumes the discussion if present NoC architectures will be the most adequate for future systems, since its costs could be prohibitive. Therefore, new proposals have been presented in the literature with two main design strategies: architectural reconfiguration and hierarchical organization of the topology. With the architectural reconfiguration it is possible to obtain an application independent high efficiency structure, because the circuit is designed to adapt itself to satisfy performance requirements. On the other hand, architectural organizations in hierarchical topologies are defined at design time to have the most appropriate features for a class of applications, being very effective. The current work identified the synergy of both approaches and proposes a new symbiotic structure suitable for a broader class of applications. As a result, it was implemented an adaptive architecture called MINoC (Multiple Interconexions Networks-on-chip), an architecture organized in hierarchy called HiCIT (Hierarchical Crossbar-based Interconnection Topology) and a mix of both ending up with the hierarchical adaptive architecture HASIN (Hierarchical Interconnection Network Adaptive Switching). Results show the efficiency of these concepts validating the proposed hierarchical adaptive architecture.
2010
Interfaces parametrizáveis para aplicações interconectadas por uma rede-em-chip
Autor: Eng. M.Sc. Débora da Silva Motta Matos
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2010.
Resumo:
As redes-em-chip (NoCs) surgiram como uma alternativa aos atuais problemas de interconexão decorrentes da redução da escala de tecnologia de fabricação de circuitos integrados. O desenvolvimento de transistores com nanômetros de largura tem permitido a inserção de sistemas altamente complexos em uma única pastilha de silício. Dessa forma, os SoCs (Systems-on-Chip) passaram a constituir inúmeros elementos de processamentos (EPs) e as NoCs têm se apresentado como uma opção eficiente no provimento da interconexão dos mesmos, permitindo maior escalabilidade e paralelismo ao sistema. No entanto, esta conexão não é realizada de forma direta. Todo sistema conectado por uma NoC necessita de interfaces de rede (NIs) para intermediar a conexão dos elementos de processamento aos roteadores da rede. O objetivo desse trabalho é apresentar soluções arquiteturais de interfaces de rede para NoCs que atendam diferentes aplicações de forma genérica. Neste trabalho foram desenvolvidas interfaces de redes reutilizáveis e parametrizáveis, e para atender a estas características, as interfaces de rede possibilitam a configuração de diversos parâmetros arquiteturais, como largura da palavra de dados dos EPs, profundidade das FIFOs das interfaces, profundidade das FIFOs da NoC e largura de dados da rede, possibilitando prover a interconexão de qualquer aplicação com um mínimo de reprojeto. As interfaces de rede, juntamente com a NoC, são responsáveis pelo desempenho da comunicação da aplicação e, para isso, o projeto de uma NI deve ser capaz de atender aos requisitos do sistema, por isso, a importância de se obter um projeto de NIs flexível. Para validar as arquiteturas das NIs desenvolvidas, os módulos do decodificador de vídeo no contexto do padrão H.264 foram conectados à NoC através das interfaces projetadas. A partir dessa implementação, puderam-se levantar diversas necessidades que devem ser atendidas pelas NIs. Por fim, foram analisados os resultados de síntese das NIs para diferentes configurações. Também foram verificados os resultados de síntese e desempenho do decodificador de vídeo H.264 conectado pelas NIs à NoC. Com relação aos resultados de síntese em FPGA, a implementação do decodificador de vídeo com NoC e NIs não apresentou um grande aumento em área quando comparada a implementação com conexão ponto-a-ponto. Além disso, para diferentes configurações das NIs, a NoC pode ser utilizada atendendo aos requisitos de desempenho exigidos pela aplicação, sem a necessidade de operar na sua máxima taxa de operação para a resolução QCIF.
Abstract:
Networks-on-Chip (NoCs) have emerged as an alternative to the current interconnection problems arising from the scaling technology for manufacturing integrated circuits. The development of transistors with nanometer-wide has enabled the integration of highly complex systems on a single silicon wafer. Thus, SoCs (Systemson- Chip) have integrated numerous processing elements (EPs) and NoCs have been presented as an effective option in providing the interconnection of these elements, allowing scalability and parallelism to the system. However, this connection is not done directly. Every system connected by NoC needs network interfaces to intermediate the connection of processing elements to network routers. The goal of this thesis is to present architectural solutions for network interfaces for applications in general. In this work we developed a generic, reusable and configurable network interface. The proposed network interface enables the configuration of several architectural parameters, such as data width of the packets, FIFOs depth of the interfaces, FIFO depth and data width of the NoC, and thus, being able to provide the interconnection of any application with a minimal redesign. Network interfaces, together with the NoC, are responsible for application performance and, therefore, the design of an NI should be able to support the system requirements. To validate the architecture of developed NI, the modules of H.264 decoder were connected to NoC through designed interface. From this implementation, one could raise several needs that must be supported by the NIs. Finally, we analyzed the results of synthesis of the NIs for different configurations. It was also analyzed the results of synthesis and performance of H.264 video decoder connected by NIs to NoC. According to results for FPGA synthesis, the implementation of video decoder with NoC and NIs did not show a large increase in area when compared with the implementation of peer-to-peer. Moreover, for different configurations, the NoC can be used according to time requisitions required by the application, without the need to operate at its maximum operation frequency for QCIF resolution.
2009
Núcleos de interface de memória DDR SDRAM para sistemas-em-chip
Autor: Eng. M.Sc. Alexsandro Cristóvão Bonatto
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2009.
Resumo:
Dispositivos integrados de sistemas-em-chip (SoC), especialmente aqueles dedicados às aplicações multimídia, processam grandes quantidades de dados armazenados em memórias. O desempenho das portas de memória afeta diretamente no desempenho do sistema. A melhor utilização do espaço de armazenamento de dados e a redução do custo e do consumo de potência dos sistemas eletrônicos encorajam o desenvolvimento de arquiteturas eficientes para controladores de memória. Essa melhoria deve ser alcançada tanto para interfaces com memórias internas quanto externas ao chip. Em sistemas de processamento de vídeo, por exemplo, memórias de grande capacidade são necessárias para armazenar vários quadros de imagem enquanto que os algoritmos de compressão fazem a busca por redundâncias. No caso de sistemas implementados em tecnologia FPGA é possível utilizar os blocos de memória disponíveis internamente ao FPGA, os quais são limitados a poucos mega-bytes de dados. Para aumentar a capacidade de armazenamento de dados é necessário usar elementos de memória externa e um núcleo de propriedade intelectual (IP) de controlador de memória é necessário. Contudo, seu desenvolvimento é uma tarefa muito complexa e nem sempre é possível utilizar uma solução "sob demanda". O uso de FPGAs para prototipar sistemas permite ao desenvolvedor integrar módulos rapidamente. Nesse caso, a verificação do projeto é uma questão importante a ser considerada no desenvolvimento de um sistema complexo. Controladores de memória de alta velocidade são extremamente sensíveis aos atrasos de propagação da lógica e do roteamento. A síntese a partir de uma descrição em linguagem de hardware (HDL) necessita da verificação de sua compatibilidade com as especificações de temporização pré-determinadas. Como solução para esse problema, é apresentado nesse trabalho um IP do controlador de memória DDR SDRAM com função de BIST (Built-In Self-Test) integrada, onde o teste de memória é utilizado para verificar o funcionamento correto do controlador.
Abstract:
Many integrated Systems-on-Chip (SoC) devices, specially those dedicated to multimedia applications, process large amounts of data stored on memories. The performance of the memories ports directly affects the performance of the system. Optimization of the usage of data storage and reduction of cost and power consumption of the electronic systems encourage the development of efficient architectures for memory controllers. This improvement must be reached either for embedded or external memories. In systems for video processing, for example, large memory arrays are needed to store several video frames while compression algorithms search for redundancies. In the case of FPGA system implementation, it is possible to use memory blocks available inside FPGA, but for only a few megabytes of data. To increase data storage capacity it is necessary to use external memory devices and a memory controller intellectual property (IP) core is required. Nevertheless, its development is a very complex task and it is not always possible to have a custom solution. Using FPGA for system prototyping allows the developer to perform rapid integration of modules to exercise a hardware version. In this case, test is an important issue to be considered in a complex system design. High speed memory controllers are very sensitive to gate and routing delays and the synthesis from a hardware description language (HDL) needs to be verified to comply with predefined timing specifications. To overcome these problems, a DDR SDRAM controller IP was developed which integrate the BIST (Built-In Self-Test) function, where the memory test is used to check the correct functioning of the DDR controller.
1992-2006
Projeto de sistemas digitais complexos : uma aplicação ao decodificador H.264
Autor: Eng. M.Sc. Wagston Tassoni Staehler
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2006.
Resumo:
A evolução dos processos de fabricação de circuitos microeletrônicos coloca um número cada vez maior de dispositivos à disposição do projetista de circuitos integrados. Mais e mais funcionalidades são adicionadas aos equipamentos eletrônicos com um aumento correspondente no esforço de projeto. Aplicações de multimídia e comunicação digital, por exemplo, são muito populares e integram funções cada vez mais complexas. As janelas de mercado diminuem com a grande competição por novos produtos. Este cenário desafia os projetistas: são necessárias novas metodologias. Para aumentar a produtividade de uma equipe de projeto, é imprescindível a utilização de um nível de abstração mais alto. O mesmo sistema pode ser descrito por um número menor de primitivas se a linguagem de descrição possuir primitivas semanticamente mais ricas. Este é o chamado projeto baseado em reuso, onde módulos são desenvolvidos para responderem necessidades mais genéricas e serem reconfiguráveis. Além disso, devem seguir algum padrão de interface de comunicação. Aplicações multimídia são muito complexas. Na área de compressão de vídeo, por exemplo, há uma grande quantidade de processamento para permitir a compressão dos dados. Áudio e vídeo geram uma grande quantidade de dados. É imperativo comprimir os dados de maneira a permitir o seu armazenamento/transmissão através de recursos limitados. H.264 é a evolução dos padrões de compressão de vídeo digital, como H.263 ou MPEG-2, e a sua implementação só é possível graças ao progresso da microeletrônica. O desenvolvimento de um decodificador H.264 é um exemplo de um projeto de sistema digital complexo, visto como uma composição de módulos que executam as diferentes operações sobre o sinal. O foco deste trabalho é a metodologia para a construção de sistemas digitais a partir de funções já prontas, em um fluxo de projeto que permita o projeto e o teste baseados em reuso. O caso de estudo, o decodificador H.264, é analisado como um sistema composto por alguns módulos e o resultado é uma metodologia SoC apropriada para ele. Este trabalho levará a uma descrição de como o decodificador foi desenvolvido, uma vez que as técnicas de processamento e os desafios de implementação tenham sido completamente compreendidos.
Abstract:
The evolution of the manufacturing process of microelectronic circuits offers an ever increasing number of devices to the chip designer. More and more functionalities are added to the electronic equipments with a corresponding increase in design effort. Multimedia and digital communication applications, for example, are very popular and integrate each time more complex functions. The time-to-market reduces with the competition for new products. This scenario challenges the circuit designers: new methodologies are needed. To increase the productivity of a design team, higher level of abstraction must be used. The same system can be described with less number of primitives if the description language has primitives semantically richer. One primitive can call a pre-designed module giving a hierarchical design process. This is the so called reuse based design, because modules are developed to respond general needs and made reconfigurable and they must follow some standards of communication interfaces. Multimedia applications are very complex. For video compression, for example, we need a big amount of processing in order to realize data compressing. Audio and video generate a big amount of data. It is imperative to compress the data to allow its storage/transmission through limited resources. H.264 is the evolution of video compression standards, like H.263 or MPEG-2, and its implementation is only possible due to microelectronics progress. Its development is an example of a complex digital system design, and can be seen as a composition of modules that execute the different signal operations. The focus here is the methodology for building digital systems from functions already developed, in a design flow that facilitates reuse-based design and test. The case study, an H.264 decoder, is analyzed as a system made of several modules and the result is a SoC methodology fashioned for it. This work presents a description of how the decoder was developed, after the complete understanding of all the involved processing techniques and design implementation challenges.
Localização de imagens ao microscópio utilizando processamento digital de imagem
Autor: Eng. M.Sc. Marcos Vinicius Bandeira
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2005.
Resumo:
O exame de sangue é um dos procedimentos de análises clínicos mais utilizados pelo largo espectro de anomalias que consegue detectar. A contagem de células de sangue, objeto deste trabalho, é um destes exames. A contagem manual é feita por um operador que examina ao microscópio, com ampliação adequada, uma amostra eventualmente tratada ou colorida. Ainda hoje há casos em que contagem manual é necessária mas é cada vez mais freqüente a utilização da contagem automática, feita através de citômetro de fluxo. Esta dissertação aborda um sistema de contagem de células do sangue por processamento digital de imagens e pode ser automático ou semi-automático. O projeto é fruto de uma parceria entre o LaPSI-DELET e o HCPA. Deste projeto surgiu o SAIMO (Sistema de Aquisição de Imagens para uso em Microscopia Óptica). No estágio atual o SAIMO possui algumas limitações no controle de posicionamento e no campo de visão limitado. O controle de posicionamento atual fica a cargo do operador: não há informação sobre as imagens já adquiridas, podendo ocorrer sobreposição. Devido à limitação do campo de visão, várias aquisições devem ser feitas para se obter o número mínimo de células recomendado. Além disso, há um possível aumento de erro de contagem associado às imagens parciais de célula presentes nas bordas das imagens. Este trabalho tem como proposta solucionar o problema de controle de posicionamento das aquisições, com a localização da cena durante a captura da imagem. Além disso, é proposta uma técnica de composição de mosaico com as imagens adquiridas, reduzindo os problemas causados pelo campo de visão limitado. Também são propostos métodos de pré-processamento apropriados às imagens adquiridas, que proporcionam a redução do tempo das tarefas subseqüentes. O método de validação das localizações verifica se as coordenadas encontradas por este processo são consistentes. Os resultados obtidos mostraram que o método é rápido na localização e eficiente na composição do mosaico, podendo ser utilizado como parte de um sistema de contagem de células por processamento digital de imagens.
Abstract:
Blood tests are among the most frequently clinical procedures performed for health monitoring. Blood tests diagnose a wide range of disease stages and the functioning of inner organs. The counting of blood cells, object of this work, is one of these tests. The manual counting is made by an operator who examines the blood smears on a slide at the microscope, with appropriate magnification. The blood smears can be eventually stained or treated.
Manual counting continues to be used nowadays and sometimes it may be necessary. The use of automatic counting is diffusing rapidly and is generally made by flow cytometer. This dissertation presents an image acquisition scheme for a blood cells counting system based on digital image processing. The system can be automatic or semi-automatic. The project is a partnership between the LaPSI-DELET laboratory and the HCPA hospital and, as one result the SAIMO (image acquisition system for use in optical microscopy) was created. The SAIMO system has some limitations in the positioning control and in the field view. The operator is in charge to select the sampling regions to count and undue overlapping can occur.
Due to the limited field of view, many acquisitions must be made to get the recommended minimum number of cells. Moreover, there is a possible increase in counting error associated to the partial cell images at the picture borders. This work proposes a solution to these problems of image acquisition: positioning control with the scene registration during the image capture, a mosaicing technique to surpass the limited field of view, and, appropriated pre-processing methods. The aim of the pre-processing is to reduce the time necessary to the positioning control process. The validation of the localization method verifies if the coordinates, found by this process, are consistent. The results had shown that the method is fast and efficient for localization and mosaic composition. The method is intended as a front-end of a blood cells counting system by digital image processing.
Teste Embarcado de Conversores Analógico-Digitais
Autor: Eng. M.Sc. Maria da Glória Cataldi Couto Flores
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2003.
Resumo:
A confiabilidade de sistemas de processamento digital de sinais é, entre tantos fatores, diretamente proporcional à confiabilidade dos conversores analógico-digitais neles presentes para serem usados como interface com o mundo real.
Este trabalho propõe um método novo de teste de conversores analógico-digitais baseado em ruído. O método proposto possibilita a detecção de falhas nos conversores em teste. Além disto, a técnica proposta é capaz de estimar simultaneamente características estáticas e dinâmicas tornando-se, portanto, inovador em relação aos demais métodos presentes na literatura.
A proposta, a simulação e a implementação do método são apresentadas ao longo desta dissertação. A comparação dos resultados obtidos com um método padrão de teste de ADCs, o método do histograma, comprovam a eficácia do método.
Abstract:
The reliability of systems for digital signal processing is directly related to the reliability of analog-to-digital converters that are part of them. These converters are normally used to interface the system to the real world.
This work proposes a new testing method for analog-to-digital converters that is based on noise. The proposed method makes the detection of faulty DUTs possible.
Moreover, the proposed technique is able to estimate static and dynamic characteristics, becoming innovative in comparison to techniques that have been already proposed.
The proposal of the method, its simulation and its implementation are presented in this master thesis. The comparison of the obtained results to a standard ADC testing method, the histogram technique, shows the effectiveness of the method.
Aquametria por Microondas: Desenvolvimento de Transdutor em Microstrip
Autor: Eng. M.Sc. Sérgio Luiz Schubert Severo
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2003.
Resumo:
Este trabalho apresenta uma metodologia para o desenvolvimento de transdutor de microondas para a mensuração de umidade em produtos agrícolas com a utilização de estruturas planares em microfita. O termo aquametria é definido na literatura como a área da instrumentação responsável por mensurar a quantidade de água presente em sólidos e líquidos via identificação de suas propriedades dielétricas. São apresentados alguns aspectos relativos à aquametria, seguidos do modelo matemático e numérico da interação das ondas eletromagnéticas no meio dielétrico com perdas. O modelo matemático é então especializado para dar conta de uma microfita com uma amostra úmida superposta. A partir desses resultados, são apresentadas três propostas de transdutores que buscam mensurar a permissividade dielétrica complexa efetiva do conjunto microfita mais amostra. Os transdutores propostos são então simulados com a aplicação do método de diferenças finitas no domínio tempo, objetivando não só verificar a qualidade dos mesmos, mas também validar o modelo matemático.
Abstract:
This work presents a methodology for the development of microwave transducers for measurement of humidity in agricultural products with the use of planar structures in microstrip. The term aquametry is defined in literature as “a branch of metrology that investigates solids and liquids containing water by identify their properties in the microwave fields”(KRASZEWSKY, 1991). Some aquametry aspects are presented, followed of a mathematical and numerical model of the interaction of electromagnetic waves in dielectric media with losses. The mathematical model then is specialized to consider the microstrip with a covered humid sample. Three proposals of transducers are presented to measure the effective complex dielectric of the set microstrip more sample. The considered transducers then are simulated in finite- difference time-domain (FD-TD) objectifying not only to verify the quality of then but also to validate the mathematical model.
Teste Embarcado de Conversores Analógico-Digitais
Autor: This email address is being protected from spambots. You need JavaScript enabled to view it.
Orientador: Prof. Dr. Luigi Carro
Porto Alegre, 2003.
Resumo:
A confiabilidade de sistemas de processamento digital de sinais é, entre tantos fatores, diretamente proporcional à confiabilidade dos conversores analógico-digitais neles presentes para serem usados como interface com o mundo real. Este trabalho propõe um método novo de teste de conversores analógico-digitais baseado em ruído. O método proposto possibilita a detecção de falhas nos conversores em teste. Além disto, a técnica proposta é capaz de estimar simultaneamente características estáticas e dinâmicas tornando-se, portanto, inovador em relação aos demais métodos presentes na literatura.
A proposta, a simulação e a implementação do método são apresentadas ao longo desta dissertação. A comparação dos resultados obtidos com um método padrão de teste de ADCs, o método do histograma, comprovam a eficácia do método.
Abstract:
The reliability of systems for digital signal processing is directly related to the reliability of analog-to-digital converters that are part of them. These converters are normally used to interface the system to the real world.This work proposes a new testing method for analog-to-digital converters that is based on noise. The proposed method makes the detection of faulty DUTs possible. Moreover, the proposed technique is able to estimate static and dynamic characteristics, becoming innovative in comparison to techniques that have been already proposed.The proposal of the method, its simulation and its implementation are presented in this master thesis. The comparison of the obtained results to a standard ADC testing method, the histogram technique, shows the effectiveness of the method.
Estudo comparativo da transformada Karhunen-Loève na compressão de imagens
Autor: Eng. M.Sc. Ricardo Noé Bretin de Mello
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2003.
Resumo:
A representação de funções através da utilização de bases (KERNEL) de representação tem sido fundamental no processamento digital de sinais. A Transformada KARHUNEN-LOÈVE (KLT), também conhecida como Transformada HOTELLING, permite a representação de funções utilizando funções-base formadas pelos autovetores da matriz de correlação do sinal considerado. Nesse aspecto essa transformada fornece uma base ótima, isto é, aquela que proporciona o menor valor de Erro Quadrático Médio entre o sinal reconstruído e o original, para um determinado número de coeficientes. A dificuldade na utilização da KLT está no tempo adicional para calcular os autovetores (base) da matriz de correlação, o que muitas vezes inviabiliza a sua utilização nas aplicações em tempo real. Em muitas aplicações a KLT é utilizada em conjunto com outras transformadas melhorando os resultados destas aplicações. Sendo considerada a transformada ótima no sentido do Erro Quadrático Médio, este trabalho apresenta um estudo da Transformada KARHUNEN-LOÈVE nas aplicações de compressão de imagens bidimensionais estáticas e em tons de cinza, realizando também a comparação desta técnica com outras técnicas (DCT e WAVELET) buscando avaliar os pontos fortes e fracos da utilização da KLT para este tipo de aplicação. Duas técnicas importantes para solucionar o problema de cálculo dos autovalores e autovetores da matriz de correlação (Método de JACOBI e Método QL) são também apresentadas neste trabalho. Os resultados são comparados utilizando a Razão Sinal/Ruído de Pico (PSNR), a Razão de Compressão (CR) e os tempos de processamento (em segundos) para geração dos arquivos compactados.
Abstract:
The function representation using basis (KERNEL) of representation has been crucial in digital signal processing. The KARHUNEN-LOÈVE (KLT) Transform, or HOTELLING Transform, as it has been also known, allows the representation of functions using basis functions formed by the eigenvectors of the correlation matrix of the signal being used. In this way, this transform gives an optimal basis as it minimizes the value of the Mean Square Error between the reconstructed and the original signals for a given number of coefficients. The difficulty in using the KLT is the additional time to compute the eigenvectors (base) of the correlation matrix, that prevent its use in real time applications. In many applications the KLT is used together with other transforms leading to a better results for these applications. As considered the best transform in the sense of Mean Square Error, this work studies the KARHUNEN-LOÈVE Transform in the compression of 2-D grayscale still images, also comparing with other techniques (DCT and WAVELET) leading to a better evaluation of the advantages and disadvantages of using the KLT in this type of application. Two important techniques for solving the problem of finding the eigenvalues and eigenvectors of the correlation matrix (JACOBI Method and QL Method) are also presented in this work. The results are compared using the Peak Signal-to-Noise Ratio (PSNR), the Compression Ratio (CR) and the processing time (in seconds) to generate the reduced files.
Aplicação da Transformada Wavelet Packet na Análise e Classificação de Sinais de Vozes Patológicas
Autor: Eng. M.Sc. Adriane Parraga
Orientador: Prof. Dr. Adalberto Schuck Junior
Porto Alegre, 2002.
Resumo:
O exame para o diagnóstico de doenças da laringe é usualmente realizado através da videolaringoscopia e videoestroboscopia. A maioria das doenças na laringe provoca mudanças na voz do paciente. Diversos índices têm sido propostos para avaliar quantitativamente a qualidade da voz. Também foram propostos vários métodos para classificação automática de patologias da laringe utilizando apenas a voz do paciente. Este trabalho apresenta a aplicação da Transformada Wavelet Packet e do algoritmo Best Basis [COI92] para a classificação automática de vozes em patológicas ou normais.
Os resultados obtidos mostraram que é possível classificar a voz utilizando esta Transformada. Tem-se como principal conclusão que um classificador linear pode ser obtido ao se empregar a Transformada Wavelet Packet como extrator de características. O classificador é linear baseado na existência ou não de nós na decomposição da Transformada Wavelet Packet. A função Wavelet que apresentou os melhores resultados foi a symlet 5 e a melhor função custo foi a entropia. Este classificador linear separa vozes normais de vozes patológicas com um erro de classificação de 23,07% para falsos positivos e de 14,58% para falsos negativos.
Abstract:
The diagnosis of laryngeal diseases is usually realized by videolaringoscopy and videostroboscopy. Most laryngeal diseases cause changes in the patient's voice. Several indices have been proposed to assess the quality of the voice in a quantitative manner. Several methods were proposed for automatic classification of laryngeal pathologies using only the patient's voice. This work presents the application of the Wavelet Packet Transform and the Best Basis algorithm [COI92] for automatic classification of voices into pathological or normal.
The obtained results have shown that it is possible to classify voices using this Transform. The main conclusion is that a linear classifier can be obtained using the Wavelet Packet Transform for feature extraction. The classifier is linear based on the presence or not of the nodes on the decomposition of the Wavelet Packet Transform. The best results have been obtained with the Wavelet basis symlet 5 and the entropy as the cost function. This linear classifier distinguished normal voices from pathological ones with a classification error of the 23,07% for false positive and the 14,58% for false negative.
Comparação entre Métodos Digitais de Linearização de Sensores
Autor: Eng. M.Sc. Osvaldo Andre Betat Basilio
Orientador: Prof. Dr. Luigi Carro
Porto Alegre, 2002.
Resumo:
Na era de sistemas embarcados complexos, a interface direta de dispositivos e sistemas integrados para o mundo real demanda o uso de sensores e seus circuitos analógicos de suporte. Desde que a maioria das características físicas de um sensor requer algum tipo de calibração, este trabalho compara e discute quatro técnicas digitais de calibração adaptadas para aplicação em sistemas embarcados. Para fins de comparação, estes métodos de calibração foram implementados em Matlab5.3, e em um DSP (Digital Signal Processor)
. Através das medidas realizadas durante a operação em regime do DSP, pode-se determinar parâmetros importantes de projeto, como potência dissipada e tempo de processamento. Outros critérios de comparação, como área consumida, tempo de processamento, facilidade de automação e taxa de crescimento do custo área e do custo velocidade com o aumento de resolução também foram analisados. Os resultados das implementações são apresentados e discutidos com o objetivo de descobrir qual o melhor método de calibração para aplicações em sistemas embarcados.
Abstract:
In the era of complex embedded systems, the direct interface of System-On-Chip devices to the real world demands the use of sensors and their analog supporting circuits. Since the overwhelming majority of physical sensors requires some sort of calibration, this dissertation compares and discusses four digital calibration techniques well suited for embedded systems applications. Using a DSP board as test vehicle, important design parameters like power dissipation, area, throughput, design time and rate of cost growth with increased resolution were analysed. The obtained implementation results are discussed, and a sensor linearization scheme best suited to embedded systems is presented.
Sistema Automático de Contagem de Células Sangüíneas
Autor: Eng. M.Sc. Tomas Kenji Koya
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2001.
Resumo:
O presente trabalho tem como objetivo a aplicação de algoritmos de processamento digital de imagens em imagens médicas microscópicas, mais precisamente, na quantização de células sangüíneas. O objetivo principal é colocar à disposição do profissional médico da área de hematologia, recursos que permitam obter de forma mais rápida e precisa os resultados dos exames. A forma alternativa de contagem de células através do processamento digital de imagens visa a contagem das células sangüíneas, poupando o profissional da área deste trabalho desgastante, de maneira precisa e custo acessível. A lâmina é previamente preparada segundo método microscópico manual padronizado em 1949 [Brecher]. Depois segue-se a aquisição da imagem digital através de câmara de vídeo acoplada ao microscópio. Sobre a imagem digitalizada da amostra de sangue, aplicam-se técnicas de processamento digital de imagens que envolvem o preprocessamento, separação inicial do que corresponde às células do resto, a segmentação, utilização de métodos morfológicos e técnicas de parametrização de objetos para a extração de características, e finalmente o reconhecimento e contagem das células. No final do trabalho, os resultados das contagens e suas comparações com os obtidos utilizando-se o método microscópico manual tradicional.
Abstract:
The present work has the aim of applying digital image processing techniques in microscopic medical images, more precisely, in blood cell counting. The main goal is to make available for the professionals of hematology, more resources that allow faster and more precise results from the blood exams. The alternative way of blood cell counting through digital image processing methods not only helps the professional in this tiring job, but also has a low cost. Initially, a blood sample preparation is done following the microscopic manual method standardized in 1949 [Brecher]. Then, some fields of the sample are digitized using a video camera installed in the microscope. Digital image processing techniques are applied in these digitized images that involves the preprocessing, initial separation of cells from the rest, the segmentation, the use of morphological methods and object parameterization techniques for feature extraction, and finally the blood cell recognition and counting.
In the end of this work, counting results and their comparisons with the ones obtained using the traditional microscopic manual method.
Localização e Leitura Automática de Caracteres Alfanuméricos - Uma Aplicação na Identificação de Veículos
Autor: Eng. M.Sc. Fernando Peixoto Coelho de Souza
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 2000.
Resumo:
Sistemas de visão artificial são cada vez mais usados para auxiliar seres humanos em diferentes tarefas. Estes sistemas são capazes de reconhecer padrões previamente ensinados em uma imagem complexa. A leitura automática é uma das mais atraentes tarefas nesta área, sendo que uma máquina com esta capacidade pode reconhecer objetos que possuam caracteres em sua identificação.
Na área de trânsito, a identificação de veículos através da leitura de sua placa de licença vem conquistando cada vez mais espaço. No início dos anos cinqüenta, este conceito era usado para estudar o tempo de duração de viagens entre origem e destino. Os primeiros métodos utilizados eram baseados em observadores que anotavam as placas dos veículos e os tempos correspondentes em um papel ou fita gravada. As placas eram manualmente comparadas mais tarde, e os tempos de viagem calculados. O crescente avanço tecnológico tem aumentado substancialmente a precisão e facilidade desta técnica permitindo sua utilização na identificação de veículos infratores e em situação irregular, e no controle de pedágios e estacionamentos pagos. Este trabalho envolve o estudo de diversas técnicas de processamento e análise de imagem culminando no desenvolvimento de um sistema capaz de localizar e reconhecer os caracteres contidos numa placa de licença de um veículo. A imagem é previamente analisada por um algoritmo de procura por variações tonais padronizadas de maneira a restringir a área de análise do algoritmo principal do sistema. Este, por sua vez, binariza a imagem através de um algoritmo adaptativo e busca elementos que possuam dimensões próximas às dimensões esperadas dos caracteres da placa. O sistema busca encontrar uma seqüência de caracteres de dimensões aproximadamente iguais e para isso, varia um valor de limiar no processo de binarização conferindo maior robustez ao algoritmo. Uma vez encontrado um grupo de dígitos que satisfaçam alguns critérios pré-definidos, os caracteres são redimensionados e apresentados a duas redes neurais, uma para as letras e outra para os números. O sistema desenvolvido foi testado com um conjunto de 500 imagens com diferentes características e tipos de distribuição de luz sobre a superfície da placa. O sistema apresentou 97,7 % de sucesso na localização das placas e 91,3 % na extração correta dos caracteres nela contidos. Estes valores são aproximadamente 20 % superiores aos resultados apresentados por um sistema comercial israelense também testado com o mesmo banco de imagens. Os resultados obtidos com as rede neurais no reconhecimento dos caracteres 81,3 %, e no reconhecimento das placas 37,5 %, não foram satisfatórios, sendo necessário um estudo mais aprofundado nesta área.
Abstract:
Artificial vision systems are used more and more to aid human beings in different tasks. These systems are capable to recognize patterns previously taught in a complex image. The automatic reading is one of the most attractive tasks in this area, and a machine with this capacity can recognize objects that possess characters in its identification. In the traffic area, the identification of vehicles through the reading of its license plate has been conquering more space. In the beginning of the fifties, this concept was used to study the time of duration of trips between origin and destiny. The first used methods were set in observers that wrote down the plates of the vehicles and the corresponding times in a paper or recorded tapes. The plates were compared manually later, and the time of the trip was calculated. The technological progress has been increasing the precision and easiness of this technique substantially allowing its use in the offenders vehicles' identification and in irregular situation, and in the control of tolls and parkings. This work involves the study of several processing techniques and image analysis culminating in the development of a system capable to locate and to recognize the characters contained in a vehicle license plate. The image is analyzed previously by a search algorithm by standardized tonal variations in way to restrict the area of analysis of the main algorithm of the system. This, for its time, binarizes the image through an adaptative algorithm and it looks for elements that possess close dimensions to the expected dimensions of the plate's characters. The system searches for a sequence of characters of approximately same dimensions and for that, it varies a threshold value in the binarization process confering larger robustness to the algorithm. Once found a group of digits that satisfy some previously defined approaches, the characters are redimensioned and presented to two neural networks, one for the letters and another for the numbers. The developed system was tested with a group of 500 images with different characteristics and types of light distribution on the surface of the plate. The system presented 97,7% of success in the location of the plates and 91,3% in the correct extraction of the characters contained in it. These values are approximately 20% superiors to the results also presented by an Israeli commercial system tested with the same image bank. The results obtained with neural networks in the recognition of the characters were successful in 81,3%, and in the recognition of the plates 37,5%, they were not satisfactory, being necessary a study more deepened in this area.
Segmentação de Imagens de Origem Histológica
Autor: Eng. M.Sc. Kamel Bensebaa
Orientador: Prof. Dr. Renado M. Brito - Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 1999.
Resumo:
A precisão do diagnóstico patológico da angiogênese do tumor, usando a microscopia convencional, depende do conhecimento e experiência dos patologistas. Devido a esta dependência de aspectos subjetivos, tem sido notada a discrepância de diagnóstico entre patologistas em particular na interpretação de tumores. Para apresentar ao patologista novas perspectivas que se apoiam em dados quantitativas, ajudando no critério diagnóstico, tornou-se necessário aplicar técnicas novas, como processamento de imagens e análise de imagens, no domínio citopatológico e histopatológico. Conseqüentemente, o uso de computadores para análise automatizada de imagem de seções de tecido está ficando cada vez mais importante. O propósito da análise de imagem quantitativa, no contexto deste trabalho, é de capturar imagens de seções de tecidos, após uma reação imunohistoquímica, com o objetivo de determinar cores características da reação e, conseqüentemente, a presença e a distribuição do antígeno, presente nos tecidos. Assim, este trabalho envolve a implementação de um método automático para segmentação, extração e quantificação da angiogênese de tumores malignas, em secções de tecidos histológicos. Representando a formação de novos vasos sangüíneos capilares a partir de vasos pré-existentes, a atividade angiogênica provoca uma rápida expansão da população do tumor e aumenta o risco da metástase. O sistema desenvolvido permite ao usuário acompanhar e analisar a atividade angiogênica no tumor e, determinar sua área e perímetro do tumor ou da angiogênese, em função de seu interesse. Para extrair as dimensões da angiogênese, uma série de estágios de processamento da imagem, são executados. Uma vez que a imagem tenha sido adquirida, ela é realçada através do filtro "Background-Removal" para acentuar as informações de interesse, o operador de Canny é aplicado em seguida para detectar as variações abruptas nas imagens e finalmente, um seguidor de contorno é aplicado com o objetivo de fechar as bordas quebradas, o que permite determinar as dimensões morfométricas da angiogênese.
Abstract:
The accuracy of the pathological diagnosis of tumor angiogenesis using conventional microscopy depends on the knowledge and experience of the pathologists. Due to this dependence of subjective aspects, it has been noticed diagnosis discrepancy between pathologists in particular in tumor interpretation. To present to the pathologist, new perspectives supported by quantitative data, helping in the criterion diagnosis, it became necessary to apply new techniques, as image analysis and image processing in the citopathological domain. Consequently, the use of computers for analysis of automated images of tissue section is becoming more and more important and the goal of the quantitative image analysis, in the context of this work, is to capture pictures of tissue sections, after a imunohistochemistry coloration to determine characteristic colors and consequently, the presence of the antigen, present in the tissue. Thus, this work involves the implementation of an automatic method for segmentation, extraction and angiogenesis quantification of malign tumor, in section of histological tissue. Representing the formation of new capillary blood vessels from pre-existing blood vessels, the angiogenic activity provokes a fast expansion of tumor population and increases the risk of the metastase. This system allows to user to follow and analyze the angiogenic activity in the tumor, to determine its area and perimeter, according to his/her interest. To extract the dimensions of angiogenesis, a set of image processing steps, is executed. Once the image has been captured, it is enhanced through the Background-Removal filter to enhance the interest information, the Canny operator is applied after that to detect the abrupt variations in the image and in the end, a contour follower is applied with the objective to close the broken edges, what allows to determine the morphometric dimensions of angiogenesis.
Sistema de Aquisição e Processamento de Imagens para Inspeção por Ultra-Som
Autor: Eng. M.Sc. Letícia Vieira Guimarães
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 1997.
Resumo:
Este trabalho apresenta o desenvolvimento de um sistema de aquisição de sinais, composição e processamento de imagens do tipo scan B e scan C obtidas em testes não-destrutivos por ultra-som. O sistema é composto, basicamente, por um microcomputador dotado de uma placa de aquisição, um equipamento de geração de pulsos e um quadro de coordenadas fixado sobre um tanque onde são feitos os ensaios. O programa foi desenvolvido em linguagem C para plataforma XWindow. O quadro de coordenadas foi desenvolvido especialmente para este sistema e tem a função de fornecer o posicionamento do transdutor ultra-sônico sendo conectado à interface serial do microcomputador. O bloco do programa responsável pela aquisição de dados adquire os sinais de posicionamento do transdutor assim como o sinal correspondente aos pulsos ultra-sônicos, relacionando-os e armazenando-os em arquivos de formato apropriado. Para adquirir dados para a composição de imagens scan C de forma que não sobrecarregasse a memória do microcomputador, técnicas de lógica fuzzy foram aplicadas como alternativa em relação à escolha de um limiar de aquisição. O arquivo gerado é lido pelo bloco de processamento de imagens, que apresenta os dados nele contido na forma de imagem na tela do microcomputador. Neste bloco também encontram-se disponíveis funções para o realce na restauração e conversão de formato dos arquivos destas imagens. As funções desenvolvidas para realce foram equalização de histograma, modificação de histograma, segmentação e filtragem. A técnica SAFT, utilizada para aumentar o foco em imagens de origem ultra-sônica, foi desenvolvida para restauração destas imagens. Algumas imagens adquiridas e processadas pelo sistema são apresentadas neste trabalho.
Abstract:
This work presents the development of a signal acquisition, scan B and scan C ultrasonic non-destructive testing image formation and processing system. The system is basically composed of a microcomputer with a signal acquisition board, a pulse generator and a coordinate board (position board) located on a tank where the ultrasonics tests are made. The software was developed using the C language running on a XWindow plataform. The coordinate board was specially developed to this system and provide the ultrasonic transducer position by serial interface to microcomputer. The acquisition part of the software acquires the transducer position signal and corresponding to ultrasonic pulses, relates and stores them on suitable file format. To acquire data to compose scan C images and do not overload the microcomputer memory, fuzzy logic technique was applied as an alternative to threshold technique. The file generated by the acquisition part are read by image processing part that convert their contents to image. These images are shown on microcomputer screen. In this part of the software are available image enhance, restoration and file format conversion functions. To perform image enhance histogram equalization, segmentation and filters functions was developed. The SAFT technique, used to improve focusing on ultrasonic images, was developed to perform restoration on ultrasonic images. Some images acquired and processed by the system are presented on this work.
Filtros Adaptativos Aplicados à Separação de Sinais
Autor: Eng. M.Sc. Marcelo Negreiros
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 1994.
Resumo:
O uso de técnicas de processamento digital de sinais e de processamento adaptativo de sinais possibilita a resolução de problemas que dificilmente seriam resolvidos do modo analógico convencional. O desenvolvimento da microeletrônica e da teoria de análise de sistemas discretos no tempo permitiu a aplicação destas técnicas para a resolução de problemas em "tempo real", com custo economicamente viável e com algumas características vantajosas em relação a implementações analógicas.
O presente trabalho evidencia a relação entre o problema de separação de sinais e a Instrumentação. Apresenta-se em detalhes o "cancelador adaptativo de ruído". É estudada a base teórica para o desenvolvimento de estruturas e algoritmos de filtros adaptativos. As principais estruturas e algoritmos de filtros adaptativos de resposta ao impulso de duração finita (FIR) são examinadas. São apresentados algoritmos para filtros adaptativos de resposta ao impulso de duração infinita (IIR) e estrutura direta. Problemas que estas estruturas enfrentam são salientados.
Mostra-se uma aplicação da técnica de separação de sinais com filtros adaptativos ao problema de cancelamento de eco em linha telefônica. É implementado um cancelador de eco em um equipamento baseado no microprocessador TMS320C25. Os problemas de implementação em tempo real são discutidos. São feitas comparações de desempenho de algumas estruturas e algoritmos de filtros adaptativos para este problema. Medidas de desempenho do sistema implementado e sugestões para a sua melhoria são apresentadas.
Abstract:
The use of digital signal processing and adaptive signal processing techniques makes it possible to solve problems that would hardly be solved by conventional analog techniques. The development of microeletronic and of discrete-time systems theory permitted the application of these techniques to the solution of real-time problems, with an economically viable cost and with some advantageous characteristics over analog technology implementations. The present work evinces the relation between the signals separation problem and Instrumentation. The adaptive noise canceller is presented in details. It is studied the theoretical basis for the development of structures and algorithms of adaptive filters. The main structures and algorithms for adaptive filters with finite duration impulse response (FIR) are examined. Algorithms are presented for adaptive filters with infinite duration impulse response (IIR) and direct structure. Problems that these structures face are pointed out.
An application of the technique of signals separation with adaptive filters to the problem of echo canceling in telephone lines is showed . An echo canceller is implemented on a TMS320C25 microprocessor based equipment. Problems of real-time implementation are discussed. Comparisons of some adaptive filter structures and algorithms performance for this problem are made. Measures of the implemented system performance and suggestions for its improvement are showed.
Reconhecimento Automático de Voz para Palavras Isoladas e Independente do Locutor
Autor: Eng. M.Sc. Joel August Luft
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 1994.
Resumo:
Neste trabalho são apresentadas diversas técnicas aplicadas no reconhecimento de voz para palavras isoladas e independente de locutor. Estas técnicas são estudadas abordando-se os aspectos referentes a sua aplicabilidade prática. É apresentada uma implementação de um sistema de reconhecimento de voz em tempo real. São estudadas as características do processo de produção da voz e da capacidade auditiva do homem. São abordadas as limitações relacionadas com o reconhecimento automático da voz e apresentada a estrutura de um reconhecedor de voz para palavras isoladas. Diversas formas de representação do sinal de voz utilizando medidas de energia, cruzamento por zero, análise espectral e análise cepstral são apresentadas e estudadas de modo a serem utilizadas no processo de reconhecimento de voz. A técnica LPC de codificação do sinal de voz é analisad com a descrição dos algoritmos de extração dos parâmetros do sinal. Também são estudadas medidas de distorção entre parâmetros do sinal de voz para avaliar as diferenças entre eles. É apresentado o processo de quantização vetorial que reduz o volume de dados utilizado no processo de reconhecimento. Duas técnicas de reconhecimento de voz (DTW e HMM) são estudadas e detalhados os aspectos referentes à implementação prática de tais algoritmos. Também são apresentados algoritmos de detecção automática dos limites da palavra. Os detalhes de implementação em tempo real com os resultados de diversos experimentos práticos são mostrados. Conclusões gerais e a avaliação dos resultados obtidos são apresentados. Também são relacionados alguns aspectos para a melhoria e desenvolvimento do sistema de reconhecimento descrito neste trabalho.
Abstract:
This work presents several techniques applied in speaker-independent isolated word speech recognition. These techniques are studied regarding its practical use. The implementation of a real time speech recognition system are presented. The speech production mechanism and the human hearing characteristics are studied. The speech recognition constraints are analyzed and structure of an isolated-word speech recognizer is presented. Several representations of speech signal using energy measurement, zero crossing, spectral analysis and cepstral analysis are presented and studied related to the speech recognition process. The LPC coder is analyzed and the algorithms for parameters extraction are presented. The distortion measures are studied to evaluate the differences between speech parameters. The vector quantization process, which is important in data reduction, is presented. Two speech recognition techniques (DTW and HMM) are studied and several aspects related to the practical implementation are detailed. Endpoint detection algorithms for isolated words are also presented. The details of the real time implementation and the results of practical experiments are presented. General conclusions and the evaluation of the results are presented. Some aspects to improve and to develop the recognition system described in this job are reported.
Instrumento para Medida Digital de Potência e Valor Eficaz de Corrente e Tensão Distorcidas
Autor: Prof. M.Sc. Eric Ericson Fabris
Orientador: Prof. Dr. Ildon Guilherme Borchardt
Porto Alegre, 1994.
Resumo:
Este trabalho descreve o projeto e a implementação do protótipo de um instrumento para medida digital da potência ativa e reativa e dos valores RMS da corrente e tensão, visando à utilização em sistemas elétricos monofásicos com sinais distorcidos. O instrumento propõe-se a medir tais grandezas com precisão melhor que 0,05% do fundo de escala para sinais de entrada cujos espectros estejam compreendidos entre 1 e 20.000 Hz. Inicialmente, as definições das grandezas a serem medidas são estendidas para a situação em que os sinais não são senoidais (distorcidos). Em seqüência, são apresentadas a descrição e análise sucinta de algumas técnicas empregadas nas medidas destas grandezas, listando-se, ainda, as razões que levaram à adoção da abordagem digital com amostragem assíncrona dos sinais de tensão e corrente. Uma estrutura funcional baseada em técnicas de processamento digital de sinais é proposta, simulada e implementada, desenvolvendo-se, também, uma arquitetura eletrônica para a implementação do protótipo do instrumento. O resultado foi um instrumento de estrutura simples, robusto e de baixo custo. Finalmente, são apresentados os resultados obtidos a partir da implementação efetuada, demonstrando que a precisão de 0,05% nas medidas do valor RMS é assegurada para toda a faixa desejada. Para as medidas de potência até 2 KHz foi obtido uma precisão de 0,05%. Acima dessa freqüência, os resultados não são conclusivos devido às incertezas dos padrões disponíveis no momento dos ensaios. Pode-se afirmar, entretanto, que a precisão nessa faixa é melhor que 0,2%.
Abstract:
The purpose of this work is to describe the design and implementation of an instrument for the measurement of active and reactive power and RMS values of current and voltage signals based on digital signal processing techniques. The instrument is designed to have an accuracy better than 0,05% FS for distorted (non-sinusoidal) signal of current and voltage in the spectrum of 1 to 20000 Hz.
First of all, the definition os power and RMS values for distorted signals are stated. Some techniques of power and RMS value measurement are listed and analyzed. A technique based on assyncronous sampling of the current and voltage signal is suggested. A functional structure and a hardware architecture for carrying out the adopted technique is proposed, simulated and implemented. the result of this implementation is a robust instrument of simple structure and low cost.
The results of the implementation are presented. For the measurements of the RMS value the accuracy is 0,05% FS over the range os frequencies of interest. The accuracy for power measurements is 0,05% FS up to 2 KHz. The results for frequencies greater than 2 KHz is not conclusive, because the uncertainties of the standards available during the calibration process mask those results. It is possible to state that the accuracy of these measurements is better than 0,2%.
Um Ambiente para Estudo de Processamento Digital de Imagens
Autor: Prof. M.Sc. Alceu Heinke Frigeri
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 1992.
Resumo:
Este trabalho versa sobre processamento digital de imagens. Nele são discutidas e apresentadas técnicas fundamentais de processamento digital de imagens.
Com o objetivo de estudar e analisar técnicas de processamento de imagens é apresentado um modelo de processamento de imagens modular, que pode servir de base tanto para hardware dedicado a processamento de imagens como para software de processamento de imagens.
Para introduzir o assunto é feita uma apresentação prévia da nomenclatura utilizada, definindo-se conceitos básicos como o que é uma imagem e quais são os seus atributos principais. Em seqüência são apresentadas algumas características do olho humano que permitem qualificar resultados e definir limites práticos em termos de processamento de digital de imagens.
A apresentação de algumas das principais técnicas de processamento digital de imagens é feita no capítulo 4, onde, inicialmente, é apresentada uma taxonomia dos algoritmos de processamento de imagens, segundo diversos critérios, a fim de ordenar o estudo dos mesmos. As técnicas apresentadas são:
- Transformada de Fourier,
- Transformada co-seno,
- Transformada seno,
- Transformada de Wash-Hadamar,
- Transformada de Hough,
- Convolução,
- Pseudocoloração,
- Histogramas & equalização de histogramas e,
- Operações no domínio homomórfico.
Dado o fato de que estas técnicas envolvem formalismos matemáticos nem sempre claros, foi desenvolvido um ambiente integrado de software que permite aplicar tais técnicas na prática e desta forma possibilita observar-se as propriedades de cada um dos algoritmos. O ambiente desenvolvido (programa DIP) caracteriza-se por ser um sistema de múltiplas janelas definíveis pelo usuário, tendo cada janela o seu contexto próprio de operação, o que facilita a comparação de resultados entre a execução de diversos algoritmos.
Como fechamento são apresentados alguns resultados da aplicação dos algoritmos apresentados, utilizando-se o ambiente desenvolvido. Os casos estudados são:
- Eliminação de ruído,
- Eliminação de ruído coerente,
- Aumento de contraste,
- Realce via homomorfismo,
- Equalização automática de histograma,
- Realce via equalização de histograma,
- Extração de bordas,
- Binarização,
- Detecção de objetos,
- Detecção de movimento,
- Compressão de imagens e,
- Ampliação de imagens.
Palavras chaves: Processamento Digital de Imagens, Processamento Digital de Sinais, Ambientes.
Abstract:
In this work, about digital image processing, some fundamental techniques of image processing are presented and discussed.
With the purpose of study and analysis of image processing techniques, a modular image processing model is proposed. This model is useful both to hardware and software implementation.
To introduce the subject, firstly the nomenclature used is presented, allowing the definition of the basic concepts related to images. Next the human eye is studied to make it possible to quality results (in a qualitative manner) and to define the limits of what is reasonable to espect using digital image processing.
The presentation of the main techniques is done in a entire chapter, where a taxonomy of such algorithms is presented (according to different criteria). The algorithms studied are:
- Fourier transform,
- Cossine transform,
- Sine transform,
- Wash-Hadamar transform,
- Hough transform,
- Convolution,
- Pseudo-coloration,
- Histograms & equalization of histograms and,
- Homomorfic operations.
An integrated environment allowing the application and study of such algorithms was developed. The environment (DIP program) is a user-defined multi-window system with a different operation context in each window, what facilitates the comparison task putting the results of diferent algorithms face to face.
To finish the text some practical results, obtained using the developed program, are showed. The studied cases are:
- Noise cancellation,
- Coherent noise cancellation,
- Contrast enhancement,
- Homomorfic enhancement,
- Histogram equalization,
- Histogram enhancement,
- Edges extraction,
- Binarization,
- Objects detection,
- Image compression and
- Image enlargement.
Key-words: Digital Image Processing, Digital Signal Processing, Enviroments.
Processamento Digital de Sinais Aplicado à Transmissão de Voz
Autor: Prof. M.Sc. Thomas Weihmann
Orientador: Prof. Dr. Altamiro Amadeu Susin
Porto Alegre, 1992.
Resumo:
Este trabalho trata da aplicação da tecnologia de processamento digital de sinais à transmissão do sinal de voz, sendo estudadas, simuladas, propostas e/ou implementadas em tempo real de execução, diversas técnicas de "compressão" de voz, que permitem reduzir substancialmente a taxa de transmissão.
São estudadas as características acústicas e fisiológicas do processo de produção de voz pelo sistema fonador humano bem como a capacidade perceptiva de seu aparelho auditivo. É apresentado um modelo digital simples para a produção de voz (Capítulo 1). São apresentados e estudados codificadores de forma de onda, numa escala crescente de complexidade, iniciando pelo PCM e passando pelo logPCM, DPCM, APCM e ADPCM. É estudado o efeito da taxa de amostragem na qualidade do sinal de voz. É proposto e implementado em tempo real de execução, usando o processador de sinais TMS320C25, um codificador ADPCM de 24 kbit/s. É também implementado um codificador ADPCM de 18 kbit/s (Capítulo 2).
É analisada uma técnica de compressão harmônica do sinal de voz, executada no domínio tempo (TDHS), que permite efetivamente reduzir pela metade a banda de freqüência do sinal de voz, praticamente sem comprometer a qualidade. Esta técnica foi implementada em tempo real, sendo apresentados os problemas de ordem prática. É estudado o efeito do cálculo inexato do pitch (período fundamental) sobre o TDHS. É proposta e implementada, em tempo real, uma combinação dos codificadores TDHS e ADPCM, atingindo uma taxa de transmissão de 12 kbit/s (seis vezes inferior à taxa de amostragem original do sinal de voz) (Capítulo 3). É estudada a técnica LPC de codificação paramétrica do sinal de voz. São apresentados os algoritmos de extração de parâmetros do sinal de voz (coeficientes do filtro preditor, ganho, pitch). É estudada a técnica APC, os quais não se mostraram adequados à qualidade de comunicação telefônica (Capítulo 4). Conclusões gerais e perspectivas futuras para o desenvolvimento e estudo dos codificadores de voz estudados neste trabalho, são apresentadas (Capítulo 5). São estudados e implementados em tempo real, usando o processador TMS320C25, filtros digitais anti-aliasing multi-freqüênciais de subamostragem e sobre-amostragem. É apresentado o uso da notação em ponto fixo para o processamento digital de sinais baseado em aritmética binária. É descrita a infra-estrutura de hardware utilizada na simulação, implementação e testes dos algoritmos de compressão de voz estudados neste trabalho (Anexos A, B e C).
Abstract:
The subject of this work is the application of digital signal processing technology to digital voice transmission. Several voice compression techniques are studied, simulated, proposed and/or implemented in real time. These techniques allow a substantial reduction in the transmission rate. The acoustic and physiological characteristics of the voicing process and the vocal tract are studied. Also the perception by human hearing is analyzed. A simple digital model for voice generation is presented (Chapter 1). Waveform coders are presented and studied in a growing order of complexity: PCM, logPCM, DPCM, APCM and ADPCM. The effect of the sampling rate on the speech quality is studied. A 24 kbit/s ADPCM coder is proposed and implemented in real time on the TMS320C25 processor. A 18 kbit/s ADPCM coder is also implemented (Chapter 2). A time domain harmonic scaling algorithm (TDHS) for speech signals is studied. This algorithm allows an effective frequency band halving, with little quality reduction. this algorithm is also implemented in real time and the resulting problems are presented. The effect of an inaccurate pitch extraction on the TDHS algorithm is studied. A combined speech coder based on TDHS and ADPCM is proposed and implemented in real time, achieving 12 kbit/s (Chapter 3). The LPC coder is studied. Algorithms for parameter extraction are presented (prediction filter coefficients, pitch, gain). The APC technique is studied. The APC and LPC coders are simulated and show not to be acceptable for telephonic communication (Chapter 4). General conclusions and future trends for the speech coders studied in this work are presented (Chapter 5). Multi rate filters are studied and implemented in real time using the TMS320C25 processor. These multi rate filters are used in over and under sampling of speech signals. The fixed point notation, necessary for signal processing based only on integer numbers, is presented. The hardware and systems used in simulation, implementation and testing of the algorithms studied in this work are described (Annexes A, B and C).