Object-Oriented Architecture
Tracking Occluded Objects and Recovering Incomplete Trajectories by Reasoning About Containment Relations and Human Actions
Liang, Wei (Beijing Institute of Technology) | Zhu, Yixin (Center for Vision, Cognition, Learning, and Autonomy, University of California, Los Angeles) | Zhu, Song-Chun (Center for Vision, Cognition, Learning, and Autonomy, University of California, Los Angeles)
This paper studies a challenging problem of tracking severely occluded objects in long video sequences. The proposed method reasons about the containment relations and human actions, thus infers and recovers occluded objects identities while contained or blocked by others. There are two conditions that lead to incomplete trajectories: i) Contained. The occlusion is caused by a containment relation formed between two objects, e.g., an unobserved laptop inside a backpack forms containment relation between the laptop and the backpack. ii) Blocked. The occlusion is caused by other objects blocking the view from certain locations, during which the containment relation does not change. By explicitly distinguishing these two causes of occlusions, the proposed algorithm formulates tracking problem as a network flow representation encoding containment relations and their changes. By assuming all the occlusions are not spontaneously happened but only triggered by human actions, an MAP inference is applied to jointly interpret the trajectory of an object by detection in space and human actions in time. To quantitatively evaluate our algorithm, we collect a new occluded object dataset captured by Kinect sensor, including a set of RGB-D videos and human skeletons with multiple actors, various objects, and different changes of containment relations. In the experiments, we show that the proposed method demonstrates better performance on tracking occluded objects compared with baseline methods.
Object-Oriented Programming: Themes and Variations
The first substantial interactive, display-based implementation was the SMALLTALK language (Goldberg & Robson, 1983). The object-oriented style has often been advocated for simulation programs, systems programming, graphics, and AI programming. The history of ideas has some additional threads including work on message passing as in ACTORS (Lieberman, 1981), and multiple inheritance as in FLAVORS (Weinreb & Moon, 1981). It is also related to a line of work in AI on the theory of frames (Minsky, 1975) and their implementation in knowledge representation languages such as KRL (Bobrow & Winograd, 1977), KEE (Fikes & Kehler, 1985), FRL (Goldstein & Roberts, 1977) and UNITS (Stefik, 1979). One might expect from this long history that by now there would be agreement on the fundamental principles of object-oriented programming.
Workshop on Objects and Artificial Intelligence
The Objects and Artificial Intelligence Workshop was held on 25 August 1991 in conjunction with the 1991 International Joint Conference on Artificial Intelligence. The workshop brought together researchers in AI and objectoriented programming to exchange ideas and investigate possible avenues of cooperation between AI and objectoriented programming. The workshop dealt with both the theoretical and the practical aspects of this cooperation. AI, however, is looking for knowledge representation and programming techniques for developing complex applications and uses constructs (for example, frames) and notions (for example, classification hierarchy) that have similarities to constructs (for example, classes) and notions (for example, class inheritance) in object-oriented programming. The one-day workshop entitled Objects and AI, held in Sydney, Australia, on 25 August 1991 in conjunction with the 1991 International Joint Conference on Artificial Intelligence, was designed to investigate the differences and possible avenues of cooperation between AI and object-oriented programming.
Diagnosing Delivery Problems in the White House Information-Distribution System
A collaborative effort between the White House Office of Media Affairs, the Artificial Intelligence Laboratory at the Massachusetts Institute of Technology (MIT), and others quickly created a workable framework for wide-scale distribution of a stream of daily documents originating from the Executive Office of the President. The document stream includes daily press briefings, speeches by the President and other officials, backgrounders, and proclamations. In addition, the stream of released information includes special documents such as the National Performance Review's reports on reinventing government, the proposed healthcare reform legislation, and the yearly budgets. The Intelligent Information Infrastructure Project at the MIT Artificial Intelligence Laboratory created an information distribution server that functions as the focal point of the distribution chain. Documents are released from the Executive Office of the President through this system; they are sent from this system to a variety of archiving and retrieval systems around the country, most online services (for example, Compuserve, America Online), about 4000 direct subscribers to the MIT server, and a variety of other servers that further redistribute the documents.
TensorFlow: A proposal of good practices for files, folders and models architecture
Designing the right file architecture is not straightforward in Machine Learning. After struggling on that question for a few projects of my owns, I started to discover simple patterns that cover most of the use cases I stumbled upon when reading code or coding my own stuff. This article is about sharing those discoveries with you. That's quite a lot and one can be easily lost in refactoring files and folders to make everything fit nicely, on top of that, there are probably other needs that I'm not even addressing in the list above so let's try to find out some best practices. This is the very basics.
Unsupervised learning of object frames by dense equivariant image labelling
Thewlis, James, Bilen, Hakan, Vedaldi, Andrea
One of the key challenges of visual perception is to extract abstract models of 3D objects and object categories from visual measurements, which are affected by complex nuisance factors such as viewpoint, occlusion, motion, and deformations. Starting from the recent idea of viewpoint factorization, we propose a new approach that, given a large number of images of an object and no other supervision, can extract a dense object-centric coordinate frame. This coordinate frame is invariant to deformations of the images and comes with a dense equivariant labelling neural network that can map image pixels to their corresponding object coordinates. We demonstrate the applicability of this method to simple articulated objects and deformable objects such as human faces, learning embeddings from random synthetic transformations or optical flow correspondences, all without any manual supervision.
LowClass Python: Style Guide for Data Scientists
This style guide is meant for use by advanced beginner to advanced intermediate developers of scientific code in Python. The term LowClass Python hints at reducing the use of object oriented design. It is an attempt to be as witty as Tom Anderson when he coined the term C -- (C plus-plus, minus-minus). You see, C is a very rich language with many features. This allows a variety of abstract design patterns that can result in confusing and hard to maintain code.
R and Python in the workplace - SuperDataScience - Big Data Analytics Careers Mentors Success
Since I primarily use R, I wanted to know what Python does better than R according to Python users. I didn't conduct a survey, so I went to the source of information on the internet: Reddit (and Quora – the scrawny little cousin of Reddit that makes you register before you can read posts). As I discerned from users' comments, Python is easier to learn than R [1, 2] with data analysis and machine learning facilitated with "pandas" and "scikit-learn". Python is a general purpose object-oriented programming language, whereas R is a complex programming environment one needs to master [3]. Being general purpose, users may already be familiar with Python when coding websites and other apps whereas R is focused on data analysis.
End-to-End Learning of Semantic Grasping
Jang, Eric, Vijayanarasimhan, Sudheendra, Pastor, Peter, Ibarz, Julian, Levine, Sergey
We consider the task of semantic robotic grasping, in which a robot picks up an object of a user-specified class using only monocular images. Inspired by the two-stream hypothesis of visual reasoning, we present a semantic grasping framework that learns object detection, classification, and grasp planning in an end-to-end fashion. A "ventral stream" recognizes object class while a "dorsal stream" simultaneously interprets the geometric relationships necessary to execute successful grasps. We leverage the autonomous data collection capabilities of robots to obtain a large self-supervised dataset for training the dorsal stream, and use semi-supervised label propagation to train the ventral stream with only a modest amount of human supervision. We experimentally show that our approach improves upon grasping systems whose components are not learned end-to-end, including a baseline method that uses bounding box detection. Furthermore, we show that jointly training our model with auxiliary data consisting of non-semantic grasping data, as well as semantically labeled images without grasp actions, has the potential to substantially improve semantic grasping performance.