Tech Lead @ Twitter, Media Core Tech
|Recommendations||3 people have recommended Kevin|
Join LinkedIn & access Kevin's full profile
Highly motivated engineer and team lead with a taste for challenges in fast paced environment.
Very fast learner with strong background in hard sciences (maths, physics), computer vision and graphics research.
Can take on a lot of complex projects simultaneously and delivers.
Excellent leading, communication and presentation skills.
Specialties: Expert knowledge in computer vision, machine learning and signal processing (with a specialization on wavelets), imaging/video pipelines, image processing, 2D and 3D compositing and rendering, parallel processing on CPUs and GPUs, Mac OS X and iOS SDK.
Strong knowledge in game engine programming and design, physics, AI, networking, and advanced rendering techniques.
Performance expert, with experience ranging from embedded platform to large scale networked clusters.
- Deep-learning image semantic understanding (wavelet scattering deep convolutional networks with non linear embedding). Patents filed.
- Everpix Highlights (photo collection summarizing tech, based on proprietary features)
- Content based image deduplication (= finding same photos with deformation artifacts such resizing, compression, resharpening, ...)
- Image optimization pipeline (5x saving over JPGs)
- Industry leading high performance SSE-based convolution implementation (for image analysis, dynamic thumbnails)
- Image similarity search
- Assisted curation in Everpix alpha
- Everpix 1.0 iOS
AdJitsu immersive 3D ad platform, bought by Amobee in 05/2012
- Deferred animation engine with scalable shader architecture for advanced rendering effects: shadows, realistic rendering, custom lighting, environment, yet state of the art performance for pure layer based animations
- Implicit physics solver and animation bindings (everything including animations purely spring/force based), for realistic touch-based object interaction at the object level or vertex level ("realistic paper effects")
- FBO-based integration with native graphics for 3D embedded texture rendering (web, iOS camera)
- C/C++: iOS/Android/OSX/Windows with custom GL/GLES/D3D rendering backends (ES optimized for TBDR), and HTML5 fallback.
- XML frontend for high level static state-based iterative ad design
- iOS "Ad Editor" app for ad development and "Ad Player" access controlled automatic server-side deployment
- Integrated with InMobi and AOL SDK, Cooliris Decks iPad app, and Chromium port (GraphicsLayer stack, essentially providing custom port with graphics accelerated CSS animations, physics and advanced effects).
- Provisional patent filed
- Lead of the Quartz Composer (QC) team and project for 10.6/SnowLeopard
- Main QC engine engineer: re-architecture rendering backend with "idling" states, with up to 800x performance increases
- SSE/altivec image transformations, recursive caches (patent filed) for optimized image and buffer queries
- First iPhone SDK 3D Game for SDK 1.0 introduction (TouchFighter)
- iPhone SDK 1.0/2.0/3.0 gaming framework development
- iPad multitouch and physics framework for UI prototyping pre-1.0 release and virtual patches architecture
- OpenCL physics: Navier-Stokes, cloth, physics and internal 3D engine interaction (collision, vertex physics-based deformations and animations)
- CoreImage image analysis: real-time wavelet transform, stereo-vision, vision-based (face, gaze, pen) UI, water/oil painting and ink simulations, Markov random field background removal
- Large scale computation and visualization technologies (Stanford SLAC, WWDC, ...)
- Many patents filed and granted
- Evangelize QC and iPhone technologies (e.g. Apple Worldwide Developer's Conference) and support of internal (iLife, iChat/Photo Booth, Podcast Producer, ...) and external clients
- Hardware accelerated (OpenGL) server-client large professional photo database server-client navigation and editing
- Raw photography development research
Embodiments of the present invention provide a system for performing caching in an image-processing system. The system starts by receiving a filtering query for resources in a cache. The system then returning a subcache in response to the filtering query. Upon receiving a resource query for resources in the subcache, the system performs the filtering query on the cache, populates the subcache with addresses of resources returned by the filtering query until the resource query is satisfied, and returns available resources from the subcache in response to the resource query.
Embodiments of the present invention provide a system for performing image conversion operations. The system starts by receiving a request from a client for one or more pixel buffers containing a pixel-formatted, cropped, geometrically transformed, and/or color matched version of an image representation. The system then determines if a provider can provide the one or more pixel buffers. If so, the system calls the provider to generate the one or more pixel buffers containing the pixel-formatted, cropped, geometrically transformed, and/or color matched version of the image representation. Otherwise, the system calls the provider to generate one or more intermediate pixel buffers, generates a sequence of converters for converting the one or more intermediate pixel buffers, and calls the sequence of converters to generate the one or more pixel buffers containing the pixel-formatted, cropped, geometrically transformed, and/or color matched version of the image representation.
A method to transition focus of a display corresponding to an object's motion tracked by a video camera or like device is disclosed. In one implementation, the display shows one or more windows or user interfaces on the display. The object's motion can be used to select one of the windows or user interfaces on the display and manipulate content presented in the window or user interface. In another implementations, the object's motion can manipulate a three-dimensional graphical icon in a three-dimensional display environment, for example, by rotating it. In another implementation, the method further tracks motion of a second object and shifts focus of the display corresponding to the motion of the second object. In another implementation, a second display may be added to mirror the focus transition corresponding to the object's motion.
A three-dimensional movie browser or editor is disclosed. In one aspect, video frames are quads in space. A movie plays at full quality by moving the quads in space at a speed of the movie and having a camera follow the quads. A focus frame in the movie is put forward by a cover-flow/dock like expansion around it. Video frames are loaded at a resolution and with an interval that depends on their position regarding a focus point or the optical flow between the frames.
Systems, apparatuses, computer readable media, and methods for creating, exporting, sharing, and installing graphics functional blocks are described herein. In one embodiment, a selection is received from a graphical user interface (GUI) for one or more patches of multiple linked patches representing a graphics composition. In response to the selection, a dependency analysis is performed to determine one or more related patches that have a dependency relationship with the selected patches. Based on the dependency analysis, source code associated with the selected patches and the related patches is extracted without extracting source code of unselected and unrelated patches. Thereafter, the selected patches, the related patches, and the extracted source code are exported into a composition file to be shared with another user. Other methods and apparatuses are also described.
A graphics development framework for designing physics-based graphical user interfaces is described herein. According to one embodiment, visually linkable patches are displayed in a first window of a graphics development framework, where the patches represent a graphics composition which when rendered, animate a physical movement of a graphics object of the physics-based GUI. A feedback patch is displayed to visually provide a feedback from an output of the composition to an input of the composition, such that a subsequent physical movement of the graphics object is determined based on a previous physical movement of the graphics object, without requiring a user to program source code of the displayed patches. A result of rendering is instantly displayed in a second window of the graphics development framework, simulating the physical movement of the graphical object. Other methods and apparatuses are also described.
Users know what they see before where they are: it is more natural to talk about high level visibility information ("I see such object") than about one's location or orientation. In this paper we introduce a method to find in 3D worlds a density of viewpoints of camera locations from high level visibility constraints on objects in this world. Our method is based on Rao-Blackwellized importance sampling. For efficiency purposes, the proposal distribution used for sampling is extracted from a visibility preprocessing technique adapted from computer graphics.
Accepted AAAI06, short papers and posters ; ;
Wavelets have proven an efficient way of compactly chracterizing signals in the space-frequency plane. We introduce a new way of using wavelets by computing statistics over quantized scaled wavelet coefficients at all frequency bands. This provides a greatly reduced set of features for representing multi-dimensional but regular signals. We use this representation in combination with support vector machines to classify human motion, demonstrating the accuracy of the method on human motion gathered from both a motion capture system and accelerometers.
- Computer Science: Computer Graphics, Operating Systems, Algorithms, Information Theory and Parallel Computing
- Applied Mathematics: Mathematical Modeling (prof.: Pierre-Louis Lions), Dynamical Systems and Signal Processing (prof.: Albert Cohen)
- Experimental Research on Space-Frequency Quantization (SFQ) for improving JPEG2000 compression performance and “wedgelets” for better edge encoding. Implemented in C++ with GUI
- Experimental Research on the impact of JPEG2000 compression on Principal Component Analysis (PCA) used for face recognition (prof.: Stephane Mallat)
- Experimental project on soft shadows for Stanford QSplat, technology for visualizing very large models through a hierarchical representation
- Social Anthropology (prof.: J.-P. Dupuy), Painting
- 04/2005-07/2005: “Stage d’Option” Thesis, Stanford University , with prof. J.-P. Dupuy. Wrote thesis on René Girard's Anthropology, Augustine’s Just War and Terrorism
Activities and Societies: Section golf
- Hilbertian Spaces and Fourier Analysis.
- Quantum Mechanics, Statistical Physics, Relativity, Continuum Mechanics.
- Macroeconomics and microeconomics. - Stochastic Simulation and Probability
- Fundamentals of Computer Science. - Experimental CS Project on resource constrained scheduling problem from Operation Research. Solved in JAVA with GUI. Top project award.
- Introduction to Social and Political Philosophy, Art History
Over 300 million professionals are already on LinkedIn. Find who you know.
Senior Designer at Twitter
Windows Software Developer at 33cube, Inc / Everpix
Media Scientist at Apple
Positioning and marketing strategy consultant for early stage consumer Internet companies
Co-founder & CTO at Forage
Engineer at SoundCloud
Sr. Director, Product Engineering at Samsung Electronics