Chuck Needham

Chuck Needham
MICROSOFT RESEARCH SUPPORT ENGINEER
.

Projects

Kinect for Windows SDK beta

Coming later this spring, the Kinect for Windows SDK is a programming toolkit that will enable researchers and enthusiasts easy access to the capabilities offered by the Microsoft Kinect device connected to computers running Microsoft Windows 7.

 

 

Microsoft Tag

 Microsoft Tag connects real life with the digital world. Microsoft Tags are small, colorful codes that can be printed, stuck, or displayed just about anywhere. When you snap a Tag with the camera on your internet-enabled phone, additional information or experiences are automatically opened on your phone. There is no fumbling with URLs or texting short codes. Microsoft Tags can make product packages, posters, print-based ads, magazine articles, exhibit signage, billboards, storefronts, business card, or just about anything else, interactive.

Songsmith

Songsmith

Songsmith generates musical accompaniment to match a singer’s voice. Just choose a musical style, sing into your PC’s microphone, and Songsmith will create backing music for you. Then share your songs with your friends and family, post your songs online, or create your own music videos.

 

WorldWide Telescope

WorldWide Telescope

The WorldWide Telescope (WWT) is a rich visualization environment that functions as a virtual telescope, bringing together imagery from the best ground- and space-based telescopes in the world to enable seamless, guided explorations of the universe.

 

 

 

People
Angel, Tambie
Angel, Tambie

Blank, Tom
Blank, Tom

Carbary, Tony
Carbary, Tony

Chandrasekaran, Nirupama
Chandrasekaran, Nirupama

Choudhury, Piali
Choudhury, Piali

Edelman Pelton, Alicia
Edelman Pelton, Alicia

Eversole, Adam
Eversole, Adam

Hart, Ted
Hart, Ted

Hughes, Richard
Hughes, Richard

Johnston, David
Johnston, David

Marriott, Ian
Marriott, Ian

Moeur, Robin
Moeur, Robin

Olynyk, Kirk
Olynyk, Kirk

Paradiso, Ann
Paradiso, Ann

Personal Web Site

Contact Info

Research News
Downloads
  • Microsoft Research Dense Visual Annotation Corpus
    We introduce a new dataset of human annotations of objects, parts, attributes and activities in images. The purpose of this annotation effort is to approximate gold standard visual recognition, and to enable the study of what visual information is required in downstream tasks such as image-to-text generation. This annotation was gathered using Amazon Mechanical Turk and consists of 4,000 object instances and 100,000 textual labels annotated on 500 images.
  • Spectrogram Inversion Toolbox
    The Spectrogram Inversion Toolbox allows one to create spectrograms from audio, and, more importantly, estimate the audio that generates any given spectrogram. This is useful because often one wants to think about, and modify sounds in the spectrogram domain. This toolbox is provided as Matlab source code. It does not depend on any Mathworks toolboxes. There are two big problems with spectrogram inversion: most importantly, one (generally) drops the phase when computing a spectrogram, and two not every (spectrogram) image corresponds to a valid waveform. This code finds the waveform that has a magnitude spectrogram most like the input spectrogram. The easy solution is to just do the inversion assuming some phase (like 0). Back in the time domain you get an answer, but there is a lot of destructive interference because the segments of adjacent frames do not have consistent phase. Some people advocate starting with a random phase. A better solution to this problem is to use an iterative algorithm proposed by Griffin and Lim many decades ago. It does converge, but slowly. An even better solution is to do the inversion, explicitly looking for a good set of phases. This toolbox does that, after the inverse Fourier transform of each slice, by finding the best time delay so the new frame and the summed frames to now are consistent. This is equivalent to starting with some arbitrary linear phase. The effect of this is to reduce the reconstruction error by an order of magnitude.
  • Structured Edge Detection Toolbox
    Very fast edge detector (up to 60 fps depending on parameter settings) that achieves excellent accuracy. Can serve as input to any vision algorithm requiring high quality edge maps. Toolbox also includes the Edge Boxes object proposal generation method and fast superpixel code. Please see the following papers for details: (1) Structured Forests for Fast Edge Detection, P. Dollár and C. Zitnick, ICCV 2013. (2) Fast Edge Detection Using Structured Forests, P. Dollár and C. Zitnick, arXiv 2014. (3) Edge Boxes: Locating Object Proposals from Edges, C. Zitnick and P. Dollár, ECCV 2014. Provided is the Matlab source code (requires Matlab to run).
  • Safer TypeScript
    Safer TypeScript is an alternative type-checker and code generator for TypeScript that guarantees type-safety through a combination of static and dynamic checks. Its implementation is fully integrated within the TypeScript-0.9.5 compiler—programmers can opt in to Safer TypeScript simply by providing a flag to the compiler. Like TypeScript, the code generated by Safer TypeScript is standard JavaScript and runs on stock virtual machines. This release is an early preview of Safer TypeScript with a non-commercial use license. We plan to make Safer TypeScript available under the same license as TypeScript (Apache v2) shortly. Although the download contains around 100,000 lines of sample code that type-checks, compiles and runs safely using Safer TypeScript (notably the compiler itself), documentation of the new features is still sparse. More samples and documentation will be made available in the coming weeks. To experiment with the compiler in your browser, visit http://research.microsoft.com/en-us/um/people/nswamy/Playground/TsSafe/. The in-browser version lags slightly behind the released code, but it should give you a flavor of how the compiler works.
  • MSR ECCLib
    MSR ECCLib is an efficient cryptographic library that provides functions for computing essential elliptic curve operations on a new set of high-security curves. All computations on secret data exhibit regular, constant-time execution, providing protection against timing and cache attacks.