Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

John MacCormick

dblp:17/429 · DBLP profile ↗
← Back
26ranked-venue papers
10as first author
0since 2021 · last 2018
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Artificial intelligence and machine learning · 14 · 5 first-authorGraphics, computer vision, multimedia, augmented reality and games · 10 · 4 first-authorSystems, architecture and hardware · 5 · 2 first-authorHuman-computer interaction and ubiquitous computing · 3 · 2 first-authorDatabases, data management, data science and information retrieval · 2Computer networks · 1Security and privacy · 1Software engineering, systems software and programming languages · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
5 papers
Distributed systems · 70% Storage systems · 30%
Artificial intelligence
12 papers
Video understanding and tracking · 35% 3D vision · 25% Graph learning · 10%
Computer graphics and multimedia
3 papers
Virtual and augmented reality · 47% Computer animation and physical simulation · 31% Rendering · 14%

Topics — the 30 heaviest of 37, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Storage systems
distributed storage
0.122009
Kinesis: A new approach to replica placement in distributed storage systems · ACM Trans. Storage 2009
Niobe: A practical replication protocol · ACM Trans. Storage 2008
Distributed systems
fault tolerance
0.122009
Kinesis: A new approach to replica placement in distributed storage systems · ACM Trans. Storage 2009
Myriad: Cost-Effective Disaster Tolerance · FAST 2002
Distributed systems › fault tolerance
failure recovery
0.112009
Kinesis: A new approach to replica placement in distributed storage systems · ACM Trans. Storage 2009
Distributed systems › replication › replica management
replica placement
0.112009
Kinesis: A new approach to replica placement in distributed storage systems · ACM Trans. Storage 2009
Machine learning › Reinforcement learning
adaptive discretization
0.112008
Continuously-adaptive discretization for message-passing algorithms · NIPS 2008
Machine learning › Graph learning › graph neural network
message passing
0.112008
Continuously-adaptive discretization for message-passing algorithms · NIPS 2008
Distributed systems
consensus
0.112008
Niobe: A practical replication protocol · ACM Trans. Storage 2008
Distributed systems › consistency models
consistency guarantees
0.112008
Niobe: A practical replication protocol · ACM Trans. Storage 2008
Distributed systems › replication
primary-backup replication
0.112008
Niobe: A practical replication protocol · ACM Trans. Storage 2008
Distributed systems
replication
0.112008
Niobe: A practical replication protocol · ACM Trans. Storage 2008
Computer vision › Video understanding and tracking
multi-object tracking
0.132001
BraMBLe: A Bayesian Multiple-Blob Tracker · ICCV 2001
A Probabilistic Exclusion Principle for Tracking Multiple Objects · Int. J. Comput. Vis. 2000
A Probabilistic Exclusion Principle for Tracking Multiple Objects · ICCV 1999
Computer vision › Video understanding and tracking › object tracking
occlusion handling
0.112005
Estimating Disparity and Occlusions in Stereo Video Sequences · CVPR (2) 2005
Computer vision › 3D vision › stereo vision
stereo matching
0.112005
Estimating Disparity and Occlusions in Stereo Video Sequences · CVPR (2) 2005
Computer vision › 3D vision
stereo vision
0.112005
Estimating Disparity and Occlusions in Stereo Video Sequences · CVPR (2) 2005
Computer vision › Image recognition and object detection
object localization
0.132001
Object Localization by Bayesian Correlation · ICCV 1999
A Probabilistic Contour Discriminant for Object Localisation · ICCV 1998
Bayesian Object Localisation in Images · Int. J. Comput. Vis. 2001
Virtual and augmented reality › telepresence
immersive videoconferencing
0.012003
Computation and performance issues In coliseum: an immersive videoconferencing system · ACM Multimedia 2003
Systems and software security
secure storage
0.012003
Block-Level Security for Network-Attached Disks · FAST 2003
Storage systems
network-attached storage
0.012003
Block-Level Security for Network-Attached Disks · FAST 2003
Computer vision › 3D vision
camera calibration
0.012002
Automatic Camera Calibration from a Single Manhattan Image · ECCV (4) 2002
Computer vision › Video understanding and tracking
background subtraction
0.012001
BraMBLe: A Bayesian Multiple-Blob Tracker · ICCV 2001
Computer vision › Video understanding and tracking › object tracking
articulated object tracking
0.012000
Partitioned Sampling, Articulated Objects, and Interface-Quality Hand Tracking · ECCV (2) 2000
Computer vision › 3D vision › pose estimation
hand tracking
0.012000
Partitioned Sampling, Articulated Objects, and Interface-Quality Hand Tracking · ECCV (2) 2000
Computer vision › Video understanding and tracking
object tracking
0.012000
Learning Switching Linear Models of Human Motion · NIPS 2000
Computer vision › Video understanding and tracking › object tracking
probabilistic tracking
0.012000
A Probabilistic Exclusion Principle for Tracking Multiple Objects · Int. J. Comput. Vis. 2000
Machine learning › Time series and sequential data › linear dynamical systems
switching linear dynamical system
0.012000
Learning Switching Linear Models of Human Motion · NIPS 2000
Computer animation and physical simulation › motion modeling
human motion modeling
0.012000
Learning Switching Linear Models of Human Motion · NIPS 2000
Storage systems › storage architecture
enterprise storage
0.012008
Niobe: A practical replication protocol · ACM Trans. Storage 2008
Machine learning › Probabilistic and Bayesian machine learning › statistical inference
bayesian inference
0.011999
Object Localization by Bayesian Correlation · ICCV 1999
Rendering
novel view synthesis
0.012003
Computation and performance issues In coliseum: an immersive videoconferencing system · ACM Multimedia 2003
Computer vision › 3D vision › 3d reconstruction
single-view 3d reconstruction
0.012002
Automatic Camera Calibration from a Single Manhattan Image · ECCV (4) 2002

Methods — techniques the papers use, named apart from their topics

pseudo-random replica spread · 0.1failure-isolated segments · 0.1message passing · 0.1formal verification · 0.1block-level encryption · 0.1adaptive discretization · 0.1TLA+ specification · 0.1bayesian correlation · 0.1markov random field · 0.1loopy belief propagation · 0.1MAP estimation · 0.1partitioned sampling · 0.1view synthesis · 0.0multi-camera capture · 0.0manhattan world assumption · 0.0particle filter · 0.0multi-blob likelihood · 0.0variational inference · 0.0
YearPublicationVenuePosition
2018 Strategies for Basing the CS Theory Course on Non-decision Problems
abstract
Computational and complexity theory are core components of the computer science curriculum, and in the vast majority of cases are taught using decision problems as the main paradigm. For experienced practitioners, decision problems are the best tool. But for undergraduates encountering the material for the first time, we present evidence that non-decision problems (such as optimization problems and search problems) are preferable. In addition, we describe technical definitions and pedagogical strategies that have been used successfully for teaching the theory course using non-decision problems as the central concept.
John MacCormick
SIGCSE1
2018 A Multi-Institutional Perspective on H/FOSS Projects in the Computing Curriculum
abstract
Many computer science programs have capstone experiences or project courses that allow students to integrate knowledge from the full breadth of their major. Such capstone projects may be student-designed, instructor-designed, designed in conjunction with outside companies, or integrated with ongoing free and open source (FOSS) projects. The literature shows that the FOSS approach has attracted a great deal of interest, in particular when implemented with projects that have humanitarian goals (HFOSS). In this article, we describe five unique models from five distinct types of institutions for incorporating sustained FOSS or HFOSS (alternatively H/FOSS) project work into capstone experiences or courses. The goal is to provide instructors wishing to integrate open source experiences into their curriculum with additional perspectives and resources to help in adapting this approach to the specific needs and goals of their institution and students. All of the models presented are based on sustained engagement with H/FOSS projects that last at least one semester and often more. Each model is described in terms of its characteristics and how it fits the needs of the institution using the model. Assessment of each model is also presented. We then discuss the themes that are common across the models, such as project selection, team formation, mentoring, and student assessment. We examine the choices made by each model, as well as the challenges faced. We end with a discussion how the models have leveraged institutional initiatives and collaborations with outside organizations to address some of the challenges associated with these projects.
Grant Braught, John MacCormick, James F. Bowring, Quinn Burke 0001, Barbara Cutler, David E. Goldschmidt, Mukkai S. Krishnamoorthy, Wesley Turner, Steven Huss-Lederman, Bonnie K. MacKellar, Allen B. Tucker
ACM Trans. Comput. Educ.2
2017 Seeking Evidence for Basing the CS Theory Course on Non-decision Problems (Abstract Only)
abstract
Computational and complexity theory are core components of the computer science curriculum, and in the vast majority of cases they are taught using decision problems as the main paradigm. For experienced practitioners, decision problems are the best tool. But for undergraduates encountering the material for the first time, non-decision problems (such as optimization problems and search problems) may be preferable. This lightning talk will give a brief pointer to some new technical definitions and pedagogical strategies that have been used successfully for teaching the theory course using non-decision problems as the central concept. For example, instead of the familiar complexity classes P and NP, we can define analogous classes of non-decision problems, Poly and NPoly. The key question behind this lightning talk is to ask whether the new definitions and strategies are actually beneficial. Anecdotal evidence and certain theories of learning suggest the new approach should result in superior learning outcomes for students. We are seeking ideas, feedback, and collaborators interested in investigating this hypothesis and obtaining stronger evidence for it. To summarize, our central question is: how can we investigate whether students gain a superior grasp of computational and complexity theory when they are taught primarily using non-decision problems?
John MacCormick
SIGCSE1
2010 The benefits of pairing by ability
abstract
An analysis of data from 259 CS1 students is performed to compare the performance of students who were paired by demonstrated ability to that of students who were paired randomly or worked alone. The results suggest that when given individual programming tasks to complete, lowest-quartile students who were paired by ability perform better than those who were paired randomly and those who worked alone.
Grant Braught, John MacCormick, Tim Wahls
SIGCSE2
2009 Kinesis: A new approach to replica placement in distributed storage systems
abstract
Kinesis is a novel data placement model for distributed storage systems. It exemplifies three design principles: structure (division of servers into a few failure-isolated segments), freedom of choice (freedom to allocate the best servers to store and retrieve data based on current resource availability), and scattered distribution (independent, pseudo-random spread of replicas in the system). These design principles enable storage systems to achieve balanced utilization of storage and network resources in the presence of incremental system expansions, failures of single and shared components, and skewed distributions of data size and popularity. In turn, this ability leads to significantly reduced resource provisioning costs, good user-perceived response times, and fast, parallelized recovery from independent and correlated failures. This article validates Kinesis through theoretical analysis, simulations, and experiments on a prototype implementation. Evaluations driven by real-world traces show that Kinesis can significantly outperform the widely used Chain replica-placement strategy in terms of resource requirements, end-to-end delay, and failure recovery.
John MacCormick, Nicholas Murphy, Venugopalan Ramasubramanian, Udi Wieder, Lidong Zhou
ACM Trans. Storage1
2008 Experiences with formal specification of fault-tolerant file systems
abstract
Fault-tolerant, replicated file systems are a crucial component of todaypsilas data centers. Despite their huge complexity, these systems are typically specified only in brief prose, which makes them difficult to reason about or verify. This paper describes the authorspsila experience using formal methods to improve our understanding of and confidence in the behavior of replicated file systems. We wrote formal specifications for three real-world fault-tolerant file systems and used them to: (1) expose design similarities and differences; (2) clarify and mechanically verify consistency properties; and (3) evaluate design alternatives. Our experience showed that formal specifications for these systems were easy to produce, useful for a deep understanding of system functions, and valuable for system comparison.
Roxana Geambasu, Andrew Birrell, John MacCormick
DSN3
2008 Continuously-adaptive discretization for message-passing algorithms
abstract
Continuously-Adaptive Discretization for Message-Passing (CAD-MP) is a new message-passing algorithm employing adaptive discretization. Most previous message-passing algorithms approximated arbitrary continuous probability distributions using either: a family of continuous distributions such as the exponential family; a particle-set of discrete samples; or a fixed, uniform discretization. In contrast, CAD-MP uses a discretization that is (i) non-uniform, and (ii) adaptive. The non-uniformity allows CAD-MP to localize interesting features (such as sharp peaks) in the marginal belief distributions with time complexity that scales logarithmically with precision, as opposed to uniform discretization which scales at best linearly. We give a principled method for altering the non-uniform discretization according to information-based measures. CAD-MP is shown in experiments on simulated data to estimate marginal beliefs much more precisely than competing approaches for the same computational expense.
Michael Isard, John MacCormick, Kannan Achan
NIPS2
2008 CT-NOR: Representing and Reasoning About Events in Continuous Time
Aleksandr Simma, Moisés Goldszmidt, John MacCormick, Paul Barham 0001, Richard Black, Rebecca Isaacs, Richard Mortier
UAI3
2008 Niobe: A practical replication protocol
abstract
The task of consistently and reliably replicating data is fundamental in distributed systems, and numerous existing protocols are able to achieve such replication efficiently. When called on to build a large-scale enterprise storage system with built-in replication, we were therefore surprised to discover that no existing protocols met our requirements. As a result, we designed and deployed a new replication protocol called Niobe . Niobe is in the primary-backup family of protocols, and shares many similarities with other protocols in this family. But we believe Niobe is significantly more practical for large-scale enterprise storage than previously published protocols. In particular, Niobe is simple, flexible, has rigorously proven yet simply stated consistency guarantees, and exhibits excellent performance. Niobe has been deployed as the backend for a commercial Internet service; its consistency properties have been proved formally from first principles, and further verified using the TLA + specification language. We describe the protocol itself, the system built to deploy it, and some of our experiences in doing so.
John MacCormick, Chandramohan A. Thekkath, Marcus Jager, Kristof Roomp, Lidong Zhou, Ryan S. Peterson
ACM Trans. Storage1
2006 Dense Motion and Disparity Estimation Via Loopy Belief Propagation
Michael Isard, John MacCormick
ACCV (2)2
2006 Discovering Dependencies for Network Management
Paramvir Bahl, Paul Barham 0001, Richard Black, Ranveer Chandra, Moisés Goldszmidt, Rebecca Isaacs, Srikanth Kandula, John MacCormick, David A. Maltz, Richard Mortier, Michal Wawrzoniak, Ming Zhang 0005
HotNets9
2005 Estimating Disparity and Occlusions in Stereo Video Sequences
abstract
We propose an algorithm for estimating disparity and occlusion in stereo video sequences. The algorithm defines a prior on sequences of disparity maps using a 3D Markov random field, and approximately computes the MAP estimate for the disparity sequence using loopy belief propagation. In contrast to previous work on temporal stereo, the algorithm (i) correctly models half-occlusions - scene points visible in one camera but not the other - and (ii) enforces the so-called "monotonicity constraint" on the boundary of half-occluded regions. The algorithm is also able to exploit temporal coherence more appropriately than many previous approaches to temporal stereo, by employing additional states in the Markov random field. These additional states permit rudimentary motion estimation to be performed as part of the belief propagation, thus improving the quality of temporal inference. Parameters of the algorithm are learned from the ground truth disparities of a real stereo sequence. Qualitative results are shown on real sequences, including comparisons with competing approaches, and the performance of the algorithm is assessed quantitatively using the ground truth data.
Oliver Williams, Michael Isard, John MacCormick
CVPR (2)3
2004 Boxwood: Abstractions as the Foundation for Storage Infrastructure
John MacCormick, Nick Murphy, Marc Najork, Chandramohan A. Thekkath, Lidong Zhou
OSDI1
2003 Block-Level Security for Network-Attached Disks
Marcos K. Aguilera, Minwen Ji, Mark Lillibridge, John MacCormick, Erwin Oertli, David G. Andersen, Michael Burrows, Timothy P. Mann, Chandramohan A. Thekkath
FAST4
2003 Computation and performance issues In coliseum: an immersive videoconferencing system
abstract
Coliseum is a multiuser immersive remote teleconferencing system designed to provide collaborative workers the experience of face-to-face meetings from their desktops. Five cameras are attached to each PC display and directed at the participant. From these video streams, view synthesis methods produce arbitrary-perspective renderings of the participant and transmit them to others at interactive rates, currently about 15 frames per second. Combining these renderings in a shared synthetic environment gives the appearance of having all participants interacting in a common space. In this way, Coliseum enables users to share a virtual world, with acquired-image renderings of their appearance replacing the synthetic representations provided by more conventional avatar-populated virtual worlds. The system supports virtual mobility--participants may move around the shared space--and reciprocal gaze, and has been demonstrated in collaborative sessions of up to ten Coliseum workstations, and sessions spanning two continents. This paper summarizes the technology, and reports on issues related to its performance.
H. Harlyn Baker, Nina T. Bhatti, Donald Tanguay, Irwin Sobel, Dan Gelb, Michael E. Goss, John MacCormick, Kei Yuasa, W. Bruce Culbertson, Thomas Malzbender
ACM Multimedia7
2002 Automatic Camera Calibration from a Single Manhattan Image
Jonathan Deutscher, Michael Isard, John MacCormick
ECCV (4)3
2002 Myriad: Cost-Effective Disaster Tolerance
Fay W. Chang, Minwen Ji, Shun-Tak Leung, John MacCormick, Sharon E. Perl, Li Zhang 0001
FAST4
2001 BraMBLe: A Bayesian Multiple-Blob Tracker
abstract
Blob trackers have become increasingly powerful in recent years largely due to the adoption of statistical appearance models which allow effective background subtraction and robust tracking of deforming foreground objects. It has been standard, however, to treat background and foreground modelling as separate processes-background subtraction is followed by blob detection and tracking-which prevents a principled computation of image likelihoods. This paper presents two theoretical advances which address this limitation and lead to a robust multiple-person tracking system suitable for single-camera real-time surveillance applications. The first innovation is a multi-blob likelihood function which assigns directly comparable likelihoods to hypotheses containing different numbers of objects. This likelihood function has a rigorous mathematical basis: it is adapted from the theory of Bayesian correlation, but uses the assumption of a static camera to create a more specific background model while retaining a unified approach to background and foreground modelling. Second we introduce a Bayesian filter for tracking multiple objects when the number of objects present is unknown and varies over time. We show how a particle filter can be used to perform joint inference on both the number of objects present and their configurations. Finally we demonstrate that our system runs comfortably in real time on a modest workstation when the number of blobs in the scene is small.
Michael Isard, John MacCormick
ICCV2
2001 Bayesian Object Localisation in Images
Josephine Sullivan, Andrew Blake 0001, Michael Isard, John MacCormick
Int. J. Comput. Vis.4
2000 Partitioned Sampling, Articulated Objects, and Interface-Quality Hand Tracking
John MacCormick, Michael Isard
ECCV (2)1
2000 Learning Switching Linear Models of Human Motion
abstract
The human figure exhibits complex and rich dynamic behavior that is both nonlinear and time-varying. Effective models of human dynamics can be learned from motion capture data using switching linear dynamic system (SLDS) models. We present results for human motion synthe(cid:173) sis, classification, and visual tracking using learned SLDS models. Since exact inference in SLDS is intractable, we present three approximate in(cid:173) ference algorithms and compare their performance. In particular, a new variational inference algorithm is obtained by casting the SLDS model as a Dynamic Bayesian Network. Classification experiments show the superiority of SLDS over conventional HMM's for our problem domain.
Vladimir Pavlovic 0001, James M. Rehg, John MacCormick
NIPS3
2000 A Probabilistic Exclusion Principle for Tracking Multiple Objects
John MacCormick, Andrew Blake 0001
Int. J. Comput. Vis.1
1999 A Probabilistic Exclusion Principle for Tracking Multiple Objects
abstract
Tracking multiple targets whose models are indistinguishable is a challenging problem. Simply instantiating several independent I-body trackers is not an adequate solution, because the independent trackers can coalesce onto the best-fitting target. This paper presents an observation density for tracking which solves this problem by exhibiting a probabilistic exclusion principle. Exclusion arises naturally from a systematic derivation of the observation density, without relying on heuristics. Another important contribution of the paper is the presentation of partitioned sampling, a new sampling method for multiple object tracking. Partitioned sampling avoids the high computational load associated with fully coupled trackers, while retaining the desirable properties of coupling.
John MacCormick, Andrew Blake 0001
ICCV1
1999 Object Localization by Bayesian Correlation
abstract
Maximisation of cross correlation is a commonly used principle for intensity based object localization that gives a single estimate of location. However, to facilitate sequential inference (e.g. over time or scale) and to allow the representation of ambiguity, it is desirable to represent an entire probability distribution for object location. Although the cross correlation itself (or some function of it) has sometimes been treated as a probability distribution, this is not generally justifiable. Bayesian correlation achieves a consistent probabilistic treatment by combining several developments. The first is the interpretation of correlation matching functions in probabilistic terms, as observation likelihoods. Second, probability distributions of filter bank responses are learned from training examples. Inescapably, response learning also demands statistical modelling of background intensities, and there are links here with image coding and Independent Component Analysis. Lastly, multi scale processing is achieved in a Bayesian context by means of a new algorithm, layered sampling, for which asymptotic properties are derived.
Josephine Sullivan, Andrew Blake 0001, Michael Isard, John MacCormick
ICCV4
1998 Spatial Dependence in the Observation of Visual Contours
John MacCormick, Andrew Blake 0001
ECCV (2)1
1998 A Probabilistic Contour Discriminant for Object Localisation
abstract
A method of localising objects in images is proposed. Possible configurations are evaluated using the contour discriminant, a likelihood ratio which is derived from a probabilistic model of the feature detection process. We treat each step in this process probabilistically, including the occurrence of clutter features, and derive the observation densities for both correct "target" configurations and incorrect "clutter" configurations. The contour discriminant distinguishes target objects from the background even in heavy clutter, making only the most general assumptions about the form that clutter might take. The method generates samples stochastically to avoid the cost of processing an entire image, and promises to be particularly suited to the task of initialising contour trackers based on sampling methods.
John MacCormick, Andrew Blake 0001
ICCV1