scispace - formally typeset
Search or ask a question

Showing papers by "Avinash C. Kak published in 2008"


Journal ArticleDOI
TL;DR: This work proposes a distributed object tracking system which employs a cluster-based Kalman filter in a network of wireless cameras and is able to achieve tracking accuracy comparable to the centralized tracking method, while requiring a significantly smaller number of message transmissions in the network.
Abstract: Local data aggregation is an effective means to save sensor node energy and prolong the lifespan of wireless sensor networks. However, when a sensor network is used to track moving objects, the task of local data aggregation in the network presents a new set of challenges, such as the necessity to estimate, usually in real time, the constantly changing state of the target based on information acquired by the nodes at different time instants. To address these issues, we propose a distributed object tracking system which employs a cluster-based Kalman filter in a network of wireless cameras. When a target is detected, cameras that can observe the same target interact with one another to form a cluster and elect a cluster head. Local measurements of the target acquired by members of the cluster are sent to the cluster head, which then estimates the target position via Kalman filtering and periodically transmits this information to a base station. The underlying clustering protocol allows the current state and uncertainty of the target position to be easily handed off among clusters as the object is being tracked. This allows Kalman filter-based object tracking to be carried out in a distributed manner. An extended Kalman filter is necessary since measurements acquired by the cameras are related to the actual position of the target by nonlinear transformations. In addition, in order to take into consideration the time uncertainty in the measurements acquired by the different cameras, it is necessary to introduce nonlinearity in the system dynamics. Our object tracking protocol requires the transmission of significantly fewer messages than a centralized tracker that naively transmits all of the local measurements to the base station. It is also more accurate than a decentralized tracker that employs linear interpolation for local data aggregation. Besides, the protocol is able to perform real-time estimation because our implementation takes into consideration the sparsity of the matrices involved in the problem. The experimental results show that our distributed object tracking protocol is able to achieve tracking accuracy comparable to the centralized tracking method, while requiring a significantly smaller number of message transmissions in the network.

159 citations


Journal ArticleDOI
TL;DR: A set of metrics that characterize the quality of modularization with respect to the APIs of the modules and such object-oriented inter-module dependencies as caused by inheritance, associational relationships, state access violations, fragile base-class design, etc are provided.
Abstract: The metrics formulated to date for characterizing the modularization quality of object-oriented software have considered module and class to be synonymous concepts. But a typical class in object oriented programming exists at too low a level of granularity in large object-oriented software consisting of millions of lines of code. A typical module (sometimes referred to as a superpackage) in a large object-oriented software system will typically consist of a large number of classes. Even when the access discipline encoded in each class makes for "clean" class-level partitioning of the code, the intermodule dependencies created by associational, inheritance-based, and method invocations may still make it difficult to maintain and extend the software. The goal of this paper is to provide a set of metrics that characterize large object-oriented software systems with regard to such dependencies. Our metrics characterize the quality of modularization with respect to the APIs of the modules, on the one hand, and, on the other, with respect to such object-oriented inter-module dependencies as caused by inheritance, associational relationships, state access violations, fragile base-class design, etc. Using a two-pronged approach, we validate the metrics by applying them to popular open-source software systems.

97 citations


Journal ArticleDOI
TL;DR: A new Kalman-filter-based framework that carries out fast and accurate rigid object tracking even when the object motions are large and jerky, and is immune to large jerks introduced manually as the object is in motion.
Abstract: The best of Kalman-filter-based frameworks reported in the literature for rigid object tracking work well only if the object motions are smooth (which allows for tight uncertainty bounds to be used for where to look for the object features to be tracked). In this contribution, we present a new Kalman-filter-based framework that carries out fast and accurate rigid object tracking even when the object motions are large and jerky. The new framework has several novel features, the most significant of which is as follows: the traditional backtracking consists of undoing one-at-a-time the model-to-scene matchings as the pose-acceptance criterion is violated. In our new framework, once a violation of the pose-acceptance criterion is detected, we seek the best largest subset of the candidate scene features that fulfill the criterion, and then continue the search until all the model features have been paired up with their scene correspondents (while, of course, allowing for nil-mapping for some of the model features). With the new backtracking framework, our Kalman filter is able to update on a real-time basis the pose of a typical industrial 3-D object moving at the rate of approximately 5 cm/s (typical for automobile assembly lines) using off-the-shelf PC hardware. Pose updating occurs at the rate of 7 frames per second and is immune to large jerks introduced manually as the object is in motion. The objects are tracked with an average translational accuracy of 4.8 mm and the average rotational accuracy of 0.27deg.

77 citations


Journal ArticleDOI
TL;DR: Experimental results indicate that the system utilizes a new range imaging concept called multipeak range imaging significantly improves upon the traditional methods for constructing reliable 3D models of optically challenging objects.
Abstract: We present a system for constructing 3D models of real-world objects with optically challenging surfaces. The system utilizes a new range imaging concept called multipeak range imaging, which stores multiple candidates of range measurements for each point on the object surface. The multiple measurements include the erroneous range data caused by various surface properties that are not ideal for structured-light range sensing. False measurements generated by spurious reflections are eliminated by applying a series of constraint tests. The constraint tests based on local surface and local sensor visibility are applied first to individual range images. The constraint tests based on global consistency of coordinates and visibility are then applied to all range images acquired from different viewpoints. We show the effectiveness of our method by constructing 3D models of five different optically challenging objects. To evaluate the performance of the constraint tests and to examine the effects of the parameters used in the constraint tests, we acquired the ground-truth data by painting those objects to suppress the surface-related properties that cause difficulties in range sensing. Experimental results indicate that our method significantly improves upon the traditional methods for constructing reliable 3D models of optically challenging objects.

54 citations


Proceedings ArticleDOI
23 Jun 2008
TL;DR: This work proposes an implementation of the color-based particle filter suitable for SIMD processors that is expected to perform faster in an SIMD processor than an implementation in a standard desktop computer even running at much lower clock speeds.
Abstract: Porting well known computer vision algorithms to low power, high performance computing devices such as SIMD linear processor arrays can be a challenging task. One especially useful such algorithm is the color-based particle filter, which has been applied successfully by many research groups to the problem of tracking non-rigid objects. In this paper, we propose an implementation of the color-based particle filter suitable for SIMD processors. The main focus of our work is on the parallel computation of the particle weights. This step is the major bottleneck of standard implementations of the color-based particle filter since it requires the knowledge of the histograms of the regions surrounding each hypothesized target position. We expect this approach to perform faster in an SIMD processor than an implementation in a standard desktop computer even running at much lower clock speeds.

41 citations


Patent
23 Sep 2008
TL;DR: In this article, a method and apparatus for tracking target objects includes a network of unidirectional sensors which correspond to nodes on the network, and the sensors identify the presence of a target object, determine a first criteria for the relationship of the target object to the sensors and send a message to sensors neighboring the sensor.
Abstract: A method and apparatus for tracking target objects includes a network of unidirectional sensors which correspond to nodes on the network. The sensors identify the presence of a target object, determine a first criteria for the relationship of the target object to the sensors and send a message to sensors neighboring the sensor. The message includes a unique identification of the target object and the first criteria. The sensors are ranked to determine which of the sensors should head a cluster of sensors for tracking the target object. Clusters are propagated and fragmented as the target object moves through a field of sensors.

21 citations


Book
21 Apr 2008
TL;DR: Programming with Objects: A Comparative Presentation of Object-Oriented Programming with C++ and Java as mentioned in this paper is a comparative presentation of object-oriented programming with two of the most popular programming languages of today, teach vital skills and techniques for the Internet age.
Abstract: From the Publisher: Your essential comparative approach to learning C++ and Java Programming with Objects: A Comparative Presentation of Object-Oriented Programming with C++ and Java, a comparative presentation of object-oriented programming with two of the most popular programming languages of today, teaches vital skills and techniques for the Internet age. Based on highly successful courses taught by the author, this book answers the need for a comprehensive educational program on the subject of object-oriented programming. In a clear and accessible format, the author compares and contrasts both languages, from basic language constructs to how both languages are used in application-level programming, such as graphics programming, network programming, and database programming. Since both C++ and Java were born out of the same language, C, learning these two languages together has several distinct advantages: Because they have much in common at the level of basic language structures, learning C++ and Java together saves time and facilitates the mastery of each Learning by contrast and comparison can be more efficient and enjoyable, allowing readers access to the strengths and weaknesses of both languages Learning to write a program in one language that corresponds to a given program in the other language enables students to tackle more difficult projects in either language Comparing similar concepts in the two languages leads to a deeper understanding of the concepts in both Roughly the first half of the text is devoted to basic language issues. More advanced topics are detailed in the second half, including programming of graphical user interfaces, multithreading, network programming, and database programming. Designed as a text for educational programs in advanced programming and as a reference for professionals implementing Web- and Internet-based applications, Programming with Objects: A Comparative Presentation of Object-Oriented Programming with C++ and Java is also recommended for programmers familiar with either language who wish to expand their programming skills.

16 citations


01 Jan 2008
TL;DR: This work has implemented the algorithm in a low-power SIMD-based smart camera, and the experiments show that it performs robust tracking at 30 fps and that the remaining steps of the particle filter can be efficiently implemented on an SIMD processor.
Abstract: In this paper, we present an implementation on an SIMD par- allel processor of an object tracker based on a color-based particle filter. The main focus of our work is on the parallel computation of the particle weights, which is the major bottleneck in standard im- plementations of the color-based particle filter since it requires the knowledge of the histograms of the regions surrounding each hy- pothesized target position. In addition to that, we also show that the remaining steps of the particle filter can be efficiently implemented on an SIMD processor. We have implemented the algorithm in a low-power SIMD-based smart camera, and the experiments show that it performs robust tracking at 30 fps.

16 citations


Proceedings ArticleDOI
30 Sep 2008
TL;DR: A novel evidence accumulation framework that accurately estimates the positions of humans in a 3D environment that has the advantage that single camera measurements do not need to be temporally synchronized to perform evidence accumulation.
Abstract: We propose a novel evidence accumulation framework that accurately estimates the positions of humans in a 3D environment. The framework consists of a network of distributed agents having different functionalities. The modular structure of the network allows scalability to large surveillance areas and robust operation. The framework does not assume reliable measurements in single cameras (referred to as dasiasensing agentspsila in our framework) or reliable communication between different agents. There is a position uncertainty associated with single camera measurements and it is reduced through an uncertainty reducing transform that performs evidence accumulation using multiple camera measurements. Our framework has the advantage that single camera measurements do not need to be temporally synchronized to perform evidence accumulation. The system has been tested for detecting single and multiple humans in the environment. We conducted experiments to evaluate the localization accuracy of the position estimates obtained from the system by comparing them with the ground truth. Also, two different configurations of the agents were tested to compare their detection performance.

11 citations


Proceedings ArticleDOI
30 Sep 2008
TL;DR: This paper presents a novel real-time memory-efficient contour extraction algorithm that is suitable for the SIMD processor used in the WiCa camera developed by NXP and introduces a high-precision Gaussian filtering scheme using an extended number representation that is particularly suited for theSIMD processor of the camera.
Abstract: SIMD (single instruction multiple data) processors have been shown to possess high capability for vector-based image processing due to their massively parallel architecture. However, it is not always easy to map the general-purpose processor implementations of high-level vision algorithms to such processors due to the hardware-imposed characteristics of SIMD processors. In this paper, our focus is on contour extraction algorithms for such processors. We present a novel real-time memory-efficient contour extraction algorithm that is suitable for the SIMD processor used in the WiCa camera developed by NXP. A further goal of this paper is to present a method for extracting the curvature scale space (CSS) on the same SIMD processor. For contour extraction, the detected contour points are first stored as they are detected, and then effectively reordered with low memory overhead. For extracting the CSS, we introduce a high-precision Gaussian filtering scheme using an extended number representation that is particularly suited for the SIMD processor of the camera. We demonstrate both in real time.

3 citations


20 Nov 2008
TL;DR: In this paper, the authors proposed a novel evidence accumulation framework that accurately estimates the positions of humans in a 3D environment, which consists of a network of distributed agents having different functionalities.
Abstract: We propose a novel evidence accumulation framework that accurately estimates the positions of humans in a 3D environment. The framework consists of a network of distributed agents having different functionalities. The modular structure of the network allows scalability to large surveillance areas and robust operation. The framework does not assume reliable measurements in single cameras (referred to as dasiasensing agentspsila in our framework) or reliable communication between different agents. There is a position uncertainty associated with single camera measurements and it is reduced through an uncertainty reducing transform that performs evidence accumulation using multiple camera measurements. Our framework has the advantage that single camera measurements do not need to be temporally synchronized to perform evidence accumulation. The system has been tested for detecting single and multiple humans in the environment. We conducted experiments to evaluate the localization accuracy of the position estimates obtained from the system by comparing them with the ground truth. Also, two different configurations of the agents were tested to compare their detection performance.