What are the responsibilities and job description for the C++ / GPU / Computer Vision / Imaging Engineer position at GLASS Imaging?
Glass Imaging is looking for a Computer Vision / Imaging Algorithms Engineer, with a high level of proficiency in C and GPU coding (e.g. OpenCL, Metal, CUDA, OpenGL), to work on advanced problems in real-world computational photography on mobile (Android or iOS) devices, optimizing for embedded chipsets (e.g. Qualcomm Snapdragon).
You would be responsible for optimizing imaging pipelines on mobile devices; developing, maintaining and porting C/C libraries and frameworks that support low level optimized code, including OpenCL based GPU shaders. You would work with our machine learning engineers to support running and porting models to various embedded devices and smartphones, and optimizing C /OpenCL imaging pipelines for high throughput real time imaging applications. A background in signal image processing, and some familiarity with running neural network models on embedded devices is desired. Ideally experience in traditional computer vision and ISP algorithms (e.g. color correction, tone mapping, HDR, image registration etc), would be coupled with a photographic eye for detail and image quality.
Founded by former Apple Engineers who brought you Portrait Mode and other iPhone camera features, Glass Imaging is building the future of smartphone photography that delivers astonishing image quality. You’d be joining a unique team of creative and enthusiastic engineers with a passion and track record for revolutionizing the world of photography - and the future of camera technology in general.
Required Skills & Experience:
- Strong modern C/C skills (3 years of commercial experience desired)
- Capable of architecting and maintaining large complex code bases
- Android or iOS development experience (Kotlin, ObjectiveC, Swift)
- Embedded real-time algorithm implementations: GPU optimizations; general parallel programming techniques with OpenCL, CUDA, or Metal.
- Image processing, graphics & ML / Computer Vision algorithms, e.g.: Stereo Depth estimation, Guided/Bilateral filtering, feature matching, style transfer, iterative algorithms, BLAS; Libraries such as OpenCV; ISP (demosaic, denoise, HDR etc);
- Image quality analysis skills - strong eye for detecting artifacts in images and understand typical ISP tuning
- Work with solutions tailored to Qualcomm Snapdragon GPUs/ISP/DSP. Knowledge of GPU Kernel performance tuning, profiling, cache usage, memory access patterns / architecture optimization, quantization.
- Excellent communication, analytical and problem solving skills, strong self motivation
- 3 years of relevant Industry experience (ideal) or completed MSc or PhD in a related technical field
Desired Experience:
- Python skills (inc. OpenCV, NumPy, PyTorch)
- Embedded ML model optimizations: compression & sparsification, Neural Engines or converting models for dedicated AI hardware
- Knowledge of Deep Learning implementations for imaging (e.g. Super-resolution, deconvolution, Denoising Diffusion generative models, NERF models, GANs, latest mobile-friendly CNN architectures, Image Transformers etc) with PyTorch or Tensorflow
- Computational photography methods. Inverse imaging: Super-resolution, deconvolution, inpainting. Knowledge of camera calibration, optics, lens design, color science, image quality
- Passion for keeping up to date with the latest AI research
- Experience with low level drivers, hardware interfaces, image sensors, FPGAs
We are a well funded VC-backed seed-stage startup with great benefits (including stock options, competitive pay, 401k, and health insurance), a small (but growing) and friendly team. We are all passionate about photography and hope you are too! We strongly prefer applicants based in or able to relocate to Bay Area, though remote/hybrid may be possible in the right circumstances. www.glass-imaging.com
Salary : $130,000 - $190,000