A diagram illustrating how the google maps streetview privacy system works.
Andrea Frome, German Cheung, Ahmad Abdulkader, Marco Zennaro, Bo Wu, Alessandro Bissacco, Hartwig Adam, Hartmut Neven, Luc Vincent, "Large-scale Privacy Protection in Google Street View", 12th IEEE International Conference on Computer Vision, Kyoto, 2009.
The last two years have witnessed the introduction and rapid expansion of products based upon large, systematically-gathered, street-level image collections, such as Google Street View, EveryScape, and Mapjack. In the process of gathering images of public spaces, these projects also capture license plates, faces, and other information considered sensitive from a privacy standpoint. In this work, we present a system that addresses the challenge of automatically detecting and blurring faces and license plates for the purpose of privacy protection in Google Street View. Though some in the field would claim face detection is “solved”, we show that state-of-the-art face detectors alone are not sufficient to achieve the recall desired for large-scale privacy protection. In this paper we present a system that combines a standard sliding-window detector tuned for a high recall, low-precision operating point with a fast post-processing stage that is able to remove additional false positives by incorporating domain-specific information not available to the sliding-window detector. Using a completely automatic system, we are able to sufficiently blur more than 89% of faces and 94 – 96% of license plates in evaluation sets sampled from Google Street View imagery.
UC Berkeley UAV
Joshua Love, Jerry Jariyasunant, Eloi Pereira, Marco Zennaro, Karl Hedrick, Christoph Kirsch, Raja Sengupta, "CSL: A Language to Specify and Re-specify Mobile Sensor Network Behaviors", RTAS, pp.67-76, 2009 15th IEEE Real-Time and Embedded Technology and Applications Symposium, 2009.
The Collaborative Sensing Language (CSL) is a high-level feedback control language for mobile sensor networks (MSN). It specifies MSN controllers to accomplish network objectives with a dynamically changing ad-hoc resource pool. Furthermore, CSL is designed to allow the updating of controllers during execution (patching). This enables hierarchical control with simpler controllers at lower levels. The CSL Execution Engine contains the intelligence to allocate resources to tasks dynamically and adjust in real time to resource motion, this enables CSL controllers to be simple, intuitive and scalable. Experimental results show that the CSL Execution Engine performs these services with the addition of very little overhead.
Control logic Hardware Abstraction Layer
Marco Zennaro, Raja Sengupta, "CHAL - Control logic / hardware abstraction layer", University of California at Berkeley, Center for Future Urban Transport, UCB-ITS-VWP-2007-6, October 2007.
Traffic control systems have reached a high level of sophistication: they are general purpose machines that can, in principle, run any traffic control software. The firmware they are running turns them into special purpose machines able to operate only according to some pre-defined rules. The firmware usually allows limited customizations through parameters, but it does not support the introduction of new control schemes. As a result, implementing a new traffic control scheme requires the re-implementation of the firmware, a complex task given the low-level programming required. The complexity of the task has created a rift between the academic community and the roadside equipment manufacturers’ community. As a result, the traffic control firmware does not benefit from the work and novel ideas of the academic community and it is often suboptimal when it comes to issue of interoperability, integration and cost-effectiveness. At the same time the efforts of the academic research are often wasted by an incorrect understanding of the underlying system: many sophisticated control schemes proposed by the researcher are never used because they are not implementable over the existing hardware. This paper introduces a software suite, the Tools for the development of Traffic Control Systems (TTCS), meant to bridge the gap between these two communities. The key concept is the introduction of the Control logic / Hardware Abstraction Layer (CHAL) between the control logic and the hardware, reducing the complexity of developing a new traffic control scheme. It enables the control designer to re-use the code developed in the design, testing and simulation phases directly on the traffic controller. Conforming to the CHAL architecture ensures that the design is implementable over the target hardware. Moreover CHAL decouples the control logic and the hardware (ensuring software portability), easing both hardware and software upgrades (avoiding the need to update the software when the hw changes and vice versa). A software library for the integration of Quadstone Paramics 5.4 into the CHAL architecture is presented.
Raja Sengupta, Marco Zennaro, "Embedded Computing: Enabling Control in Surface Transportation", Proceedings of the VREF Workshop, IIT Delhi, Agra, India, 2007
Simulink code example
Marco Zennaro, Raja Sengupta, "Modular Composition of Synchronous Programs: Applications to Traffic Signal Control ", University of California at Berkeley, Intelligent Transportation Studies, UCB-ITS-VWP-2006-1, June 2006
This paper describes a modular compilation scheme for distributed synchronous programming. The approach is first described mathematically and then implemented as a library to distribute Simulink (59). Application of the scheme is illustrated by developing a control system to coordinate traffic signals. The purpose of the research is to advance programming tools for control of large networked systems. For example, USDOT’s Vehicle Infrastructure Integration Initiative (54) is rolling out an ad-hoc wireless infrastructure to create the networked roadway. This will enable distributed operation of the traffic control infrastructure. Hence our study of the signal controls application. Typically, these are large-scale systems with a centralized computing architecture controlling thousands of devices connected to a traffic management center over leased telephone lines. For example, the LADOT ATCS system integrates 1300 signals and multiple changeable message signs. The Caltrans I-5/I-405 freeway management system integrates a vast sensor system containing thousands of inductive loops and hundreds of cameras (49). Other areas familiar to the authors that motivate this paper are control for collaborating unmanned air vehicle systems (43) and roadside vehicle systems for crash avoidance (50). The control engineers working on these systems are almost always familiar with Simulink and typically write the first compilable specification of control in the language. We try to extend Simulink through the compilation scheme in this paper to program networked control systems because it is well established as a high-level specification language in the control community.
UCBerkeley UAV.
Jack Tisdale, Allison Ryan, Marco Zennaro, Xiao Xiao, Dick Caveney, Sivakumar Rathinam, Raja Sengupta, Karl Hedrick "The Software Architecture of the Berkeley UAV Platform", IEEE Control Systems Society Conference, 2006
This paper details the software architecture of the Berkeley unmanned aerial vehicle (UAV) platform. Developed over the course of three years, this platform has successfully demonstrated autonomous vision-based navigation and obstacle avoidance. A software architecture has been developed to allow for collaborative control concepts to be examined. This modular architecture has been shown to be effective for use in allowing a team of UAVs to collaboratively perform a set of missions. The performance of the architecture was demonstrated using 3 UAVs to perform autonomous collaborative patrolling and vision-based navigation.
UCBerkeley UAV architecture.
Allison Ryan, Xiao Xiao, Sivakumar Rathinam, Jack Tisdale, Marco Zennaro, Dick Caveney, Raja Sengupta, Karl Hedrick "A modular software infrastructure for distributed control of collaborating UAVs", Proceedings of the AIAA Conference on Guidance, Navigation, and Control, Keystone, CO, 2006.
Collaborating unmanned aerial vehicles can efficiently perform surveillance, mapping, and other tasks without human risk. Currently deployed unmanned aerial vehicles demonstrate a need for increased autonomy and cooperation. We present a software architecture and UAV hardware platform that have demonstrated single-user control of a fleet of aircraft, distributed task assignment, and vision-based navigation. This is the only such system known to the authors to have demonstrated in-the-air task allocation and collaboration. A modular software infrastructure has been developed to coordinate distributed control, communications, and vision-based control. Along with the onboard control architecture, a set of user interfaces has been developed to allow a single user to efficiently control the fleet of aircraft. Distributed and vision-based control are enabled by powerful onboard computing capability and an aircraft-to-aircraft ad-hoc wireless network. Custom modifications to the Sig Rascal airframe were required to support this capability. We describe original elements of the system that provide unique capabilities for collaboration, followed by results of a milestone flight demonstration of three collaborating UAVs.
Distributed Systems
Marco Zennaro, Raja Sengupta, "Distributing Synchronous Programs Using Bounded Queues", 5th ACM International Conference on Embedded Software (EMSOFT'05), December 2005
This paper is about the modular compilation and distribution of a sub-class of Simulink programs across networks using bounded FIFO queues. The problem is first addressed mathematically. Then, based on these formal results, a software library for the modular compilation and distribution of Simulink programs is given. The performance of the library is given. The value of synchronous programming for the next generation of traffic control is discussed. The adoption of these tools seems to be the natural candidate to address the needs of traffic engineers. As a case study we present an implementation in Simulink of a controller for coordinated traffic signals in an asymmetric peak hour traffic scenario and we evaluate its computational performance in a distributed environment.
Offset computation at the last three intersections.
Marco Zennaro, Raja Sengupta, "Distributing Synchronous Programs Using Bounded Queues, a coordinated traffic signal application", University of California at Berkeley, Intelligent Transportation Studies, UCB-ITS-RR-2005-4, May 2005
This paper is about the modular compilation and distribution of a sub-class of Simulink programs across networks using bounded FIFO queues. The problem is first addressed mathematically. Then, based on these formal results, a software library for the modular compilation and distribution of Simulink program is given. The performance the library is given. The value of synchronous programming for the next generation of traffic control value is discussed. The adoption of these tools seems to be the natural candidate to address the needs of the traffic engineers. As a case study we present an implementation in Simulink of a controller for coordinated traffic signal in an asymmetric peak hour traffic scenario and we evaluate its computational performances in a distributed environment.
Directed graph.
Marco Zennaro, Raja Sengupta, "Distributing Synchronous Systems with Modular Structure", IEEE 2004 44th Conference on Decision and Control, December 2004
Synchronous Programs were introduced to simplify the development of reactive systems hiding the complexity and indeterminism of the interleaving while taking full advantage of possible concurrency. The introduction of communication networks enabled the creation of distributed systems presenting to the programmer with a new burden of interleaving and indeterminism due to the asynchronous communication medium. Again this complexity should be hidden from the user while taking full advantage of the possible concurrency to improve performances. Many algorithms have been proposed so far for the automatic distributions of synchronous programs but they are not suitable for large scale system because they do not preserve the compositionality of the original code: the modularity of the synchronous program is lost. As a result the subsystems are not re-usable and a small local change results in the recompilation and redistribution of the overall system. This solution is cumbersome and unpractical in many real-world applications. In this paper we introduce an algorithm for the distribution of synchronous programs that preserve the modularity and allow separate compilation and subsystem re-use.
Computer vision: UAV surveilance.
Allison Ryan, Marco Zennaro, Adam Howell, Raja Sengupta, Karl Hedrick, "An overview of emerging results in cooperative UAV control", IEEE 2004 44th Conference on Decision and Control, December 2004
Inexpensive fixed wing UAV are increasingly useful in remote sensing operations. They are a cheaper alternative to manned vehicles, and are ideally suited for dangerous or monotonous missions that would be inadvisable for a human pilot. Groups of UAV are of special interest for their abilities to coordinate simultaneous coverage of large areas, or cooperate to achieve goals such as mapping. Cooperation and coordination in UAV groups also allows increasingly large numbers of aircraft to be operated by a single user. Specific applications under consideration for groups of cooperating UAV are border patrol, search and rescue, surveillance, communications relaying, and mapping of hostile territory. The capabilities of small UAV continue to grow with advances in wireless communications and computing power. Accordingly, research topics in cooperative UAV control include efficient computer vision for real-time navigation and networked computing and communication strategies for distributed control, as well as traditional aircraft-related topics such as collision avoidance and formation flight. Emerging results in cooperative UAV control are presented via discussion of these topics, including particular requirements, challenges, and some promising strategies relating to each area. Case studies from a variety of programs highlight specific solutions and recent results, ranging from pure simulation to control of multiple UAV. This wide range of case studies serves as an overview of current problems of Interest, and does not present every relevant result.
Mission Control UI.
Sivakumar Rathinam, Marco Zennaro, Tony Mak, Raja Sengupta, "An architecture for UAV team control", IAV Conference, IFAC symposium on intelligent autonomous vehicles, 2004
Recent years has seen a widespread interest in the use of Unmanned aircraft vehicles for military applications. These UAV's can be used in many applications such as surveillance, information gathering, suppression of enemy defenses, air to air combat, mapping building and facilities etc. In this paper, we present an architecture with the necessary algorithms that we have implemented to control a team of UAVs to search for targets such as SAMs, ground troops, artillery, tanks etc in a given region.
Picture of video taken from a camera on the bottom of a UAV.
Lee, Huang, Vaughn, Xiao Xiao, Karl Hedrick, Marco Zennaro, Raja Sengupta, "Startegies of Path-Planning for a UAV to Track a Ground Vehicle", AINS Conference 2003
In this paper, we present a strategy of path-planning for an unmanned aerial vehicle (UAV) to follow a ground vehicle. The ground vehicle may change its heading and vary its speed from a standstill up to the velocity of the UAV, while the UAV will maintain a fixed airspeed and will maneuver itself to track the ground vehicle. The algorithm also allows the UAV to track the ground vehicle with an offset vector (i.e. the user may wish the UAV to stay ahead of the ground vehicle or to its sides). Since the ground vehicle may operate in a range of velocities, the algorithm must plan the UAV’s path with the appropriate schemes for the various ground vehicle speeds. The natural effect of wind injects a disturbance into the system, and so wind compensation techniques had to be developed. In order to maintain the focus of this project on path-planning strategies, the path-planning algorithm was implemented on top of a system that already controls the dynamics of the UAV. Simulation of aircraft and ground vehicles was performed with a hardware-in-the-loop simulation environment to test for mission feasibility. After attaining satisfactory simulation results, an experiment was conducted to confirm the path-planning strategy.
Tony Mak, Paul Xu, Marco Zennaro, "Wireless Communication Enabling Technologies for Intersection Decision Support System", PATH Report 2003
Typical and proposed intelligent intersection logical architecture
Marco Zennaro, Jim Misener, "A State Map Architecture for Safe Intelligent Intersections", ITS America 2003 13th annual meeting, May 2003
The frequency and the severity of the crashes at intersections as well as the introduction of new cheap and precise sensing and communication technology led to the development of new smart safety systems at intersection. Any such system must have an architecture in order to work; moreover, to work generally, with a variety of alignments, traffic conditions and traffic types, the need for such an architecture is paramount. In this paper we introduce a system architecture general enough to encompass all intersection collision warning and gap advisory scenarios. We propose to use our architecture along with standardization of the subsystem interfaces in order to achieve efficiency, fast design and development, high subsystem reusability and high upgradeability. The kernel of the proposed architecture is a “State Map”, a data base of knowledge of all the dynamic components within and, to a reasonable range, approaching the intersection. A “state map generator” processes the inputs from a heterogeneous set of sensors into a standardized “state map”. The introduction of this subsystem makes faster and easier the development of safety application programs. At the same time it makes easier to reuse and upgrade applications.
Marco Zennaro, Jeff Ko, Raja Sengupta, Stavros Tripakis "A service network architecture for a multivehicle search mission", IEEE 2001 40th Conference on Decision and Control, December 2001
Multi-vehicle applications rely on the dynamic allocation of resources, and must exhibit robustness to failures or to service degradation in general. We present a model for such applications, called the service network model. The entities of this model are services and service providers. Services are defined by standard names and interfaces, and are described by attributes. Service providers export services with certain quality of service guarantees. They may also need to import services from other providers. An application is modeled as a directed graph, where nodes represent service providers and edges represent services imported by the source node and exported by the destination node. The problem is then to build such application graphs dynamically. We provide a middleware and an algorithm that solves the above problem. Functions of the middleware include publishing, finding and using service providers, as well as completing an incomplete application graph with the missing services. We illustrate our approach with a case study involving a multi-vehicle search mission.
Marco Zennaro, "Corso introduttivo a Realpix", Extensible.it 2003
Marco Zennaro, "Corso introduttivo a Realtext", Extensible.it 2003
Marco Zennaro, "I principi di funzionamento di SMIL", Extensible.it 2003
Marco Zennaro, "La storia di SMIL", Extensible.it 2003