Self driving car
Autonomous car is a very new concept, being a car without any driver. Several concurrent software process data using Artificial Intelligence to recognize and propose a path which the car should follow. The goal of the project is that a driverless car can reduce the distance between the cars, lowering the degree of road loadings, reducing the number of traffic jams, avoid human errors, and allowing people with disabilities(even blind people) to travel using an autonomous car. Theoretically a car without driver in the future should be much safer, because human reaction speed is higher than 200 ms, and the computing power of the newest computers allows traffic calculations even to 10 ms. The necessary power is provided by three multi-core laptops that process with Artificial Intelligence in order to recognize traffic signs, traffic lanes , traffic car fingerprints, processing the data from a 3D radar, using particle filters to localize car in a GPS map, the management of database with traffic signs, magnetic sensors, acceleration sensors, a distributed software, a supervisory system and the software which drives the stepper motor to turn the steering wheel (acceleration and braking). Currently the software is able to recognize the traffic signs, register them in a database using Google Maps. The fields record the sign and direction of travel from that area. Each car participating in the traffic and using this software will register new signs detected and the will modify the degree of confidence of recognition for other users. Another software component is able to recognize the demarcation lines between lanes, with three cameras to calculate exactly or using probabilities where it is on the road, where the roadsides are and to propose a new direction even in the absence of traffic signs for the next seconds. Another part of the software is trying to use Artificial Intelligence to detect other car fingerprints from webcam images. The calculation was performed on 3 computers, requiring distributed processing. I developed a management information system based on semaphores that allows data processing and supervision from 3 different computers. This project presents a hardware version of a LIDAR – a 3D radar and a software for creating a 3D environment in which the car navigates and using it the car will take decision to avoid obstacles. The LIRDAR contains a total of 16 avalanche photo-detector mounted on a stepper motor that spins at a frequency of 10 Hz. The information provided by my radar is about 576.000 pixels at resolution of 10 bits. The 3D radar helps the entire software system to increase the confidence of decision.
超通用水分子形交換方塊之FPGA設計
本研究提出一個新的超通用、每邊w個端點的四邊形水分子形交換方塊(Water-Molecule-Shaped Switch Block; WMSB)架構,以應用在FPGA之多點連線(multipoint interconnection)和諸多交換網路的設計上。超通用交換方塊(HUSB)的領域中,Fan[2]提出當前唯一一個(4, w)-HUSB,但Fan’s (4, w)-HUSB所需的開關個數大約是6.3w個開關,在接下來的篇幅之中,我們將證明(4, w)-WMSB是只需6w個開關的HUSB;此外,我們還證明沒有(4, w)-HUSB可以使用小於6w個開關。本研究中還使用VPR(一種CAD)及其內建的大量標準線路以證明(4, w)-WMSB不僅是理論上最佳的亦是實用性佳的交換方塊。鑑此,(4, w)-WMSB開關效率高(switch-efficiency)的設計十分適用於其他的交換網路設計,如公共電話網路(Public Switched Telephone Network)。
Random number generators and their applications in Computer Science with the Monte Carlo Method
Monte Carlo methods are non-parametric algorithms that use random numbers and theorems of probability theory to approximate values that are not random. The purpose of my research was to approximate the surface of different geographical areas that can be easily approximated to polygons (e.g. lakes, glaciers, deserts) with Monte Carlo simulations starting from either Cartesian coordinates or pictures. Computer science would not exist without math, and this research project showed me the importance of a deep understanding of probability theory in the world of simulations and, more generally, the importance of developing new theorems and algorithms. The results of my research could be developed in different ways: it would be interesting to produce software that allows one to approximate areas from pictures taken from a smartphone; as well, the theorem I found has to be proven, and also Monte Carlo methods as a means of random number generation can always be improved. There are still many possibilities.
Automated Illustration of Text to Improve Semantic Comprehension
Millions of people worldwide suffer from aphasia, a disorder that severely inhibits language comprehension. Medical professionals suggest that individuals with aphasia have a noticeably greater understanding of pictures than of the written or spoken word. Accordingly, we design a text-to-image converter that augments lingual communication, overcoming the highly constrained input strings and predefined output templates of previous work. This project offers four primary contributions. First, we develop an image processing algorithm that finds a simple graphical representation for each noun in the input text by analyzing Hu mo-ments of contours in images from The Noun Project and Bing Images. Next, we construct a da-taset of 700 human-centric action verbs annotated with corresponding body positions. We train support vector machines to match verbs outside the dataset with appropriate body positions. Our system illustrates body positions and emotions with a generic human representation created using iOS’s Core Animation framework. Third, we design an algorithm that maps abstract nouns to concrete ones that can be illustrated easily. To accomplish this, we use spectral clustering to iden-tify 175 abstract noun classes and annotate these classes with representative concrete nouns. Fi-nally, our system parses two datasets of pre-segmented and pre-captioned real-world images (Im-ageClef and Microsoft COCO) to identify graphical patterns that accurately represent semantic relationships between the words in a sentence. Our tests on human subjects establish the system’s effectiveness in communicating text using im-ages. Beyond people with aphasia, our system can assist individuals with Alzheimer’s or Parkin-son’s, travelers located in foreign countries, and children learning how to read.