Computer Vision Software Engineer

AnyVision, Research · Full-time

About The Position

AnyVision Research is a world leading team of scientists and engineers that creates AI for theReal World. With deployments and clients spanning the globe, we are recognised as leaders in the fields of Face recognition, Object recognition, Object detection, and Visual Target Tracking.

AnyVision is dedicated to providing a diverse and flexible work environment so that we can recruit and retain the best talent. Working for AnyVision you will:

·        Be a part of a diverse, multinational and inclusive team

·        Receive challenging work and assignments

·        Receive world class training and experience on cutting edge systems and complex projects

·        Be supported by a flexible and supportive work environment

As we grow in scope and ambition in 2019, we are looking for a highly motivated Runtime Optimisation Engineer to join our research team.

You are:-

A highly motivated individual with a rigorous, meticulous, and scientific approach to life. You are also passionate about the impact that AI is having in the world and you want to be part of it. You should be comfortable working within a team when it suites the project at hand, but also be capable of working on your own if needs be. You are a person with creativity to tackle new problems and challenges never tested before in the field. You will be happy travelling occasionally.

You will:-

Your primary responsibilities will be to implement and improve runtime systems to target hardware such as standard CPUs and GPUs (Nvidia, Intel embedded) and mobile CPUs, GPUs and DSPs (e.g. Qualcomm). We deploy our algorithms everywhere from the cloud systems with enterprise GPUs (e.g. Nvidia T4) down to low-power edge devices (e.g. Nvidia Nano, Intel NUC) and smartphones. Writing, testing, debugging and maintaining code, whilst interacting closely with other team members and clients, is a central part of the job.

Working at AnyVision offers the opportunity to help deliver world-leading ‘A.I.’ technology. We offer unique opportunities and challenges to learn new technologies and be at the very bleeding edge of the computer vision and machine/deep learning industry. Within the optimisation team, projects include: creating tools and tool sets (custom kernels, APIs, test systems/suites, etc.) for state-of-the-art hardware; developing and optimizing machine/deep learning and computer vision applications; research and development into emerging heterogeneous languages (Halide, TVM, OpenCL); prototyping new hardware specific deep learning inference engines and pipelines (e.g. Qualcomm SNPE, ARM NN).

Requirements

Required Skills/Experience:

  • A bachelor’s degree or higher in a relevant engineering or mathematical field
  • Experience of at least one of the machine learning inference frameworks:TensorRT, Caffe, OpenVino, SNPE, ARM NN OR at least one GPGPU frameworks: OpenCL/CUDA/C++AMP/other OR experience developing GStreamer components/pipelines with a broad understanding of video codecs, colour-space/pixel-formats and streaming protocols.
  • Strong knowledge and experience of C++11 onwards
  • Experience developing robust, maintainable, efficient and testable code for secure and reliable systems
  • Minimisation of memory footprints, data movements, allocations and de-allocations
  • Development of fast, scalable and correct concurrent programs
  • Cross-platform (Linux, Android and/or Windows) development
  • Profiling and optimisation of performance and memory system usage
  • Experience with software development practices e.g. debug tools, agile, design patterns
  • Experience with source control and collaborative development tools
  • Excellent communication and teamwork skills
  • Minimum 1 year industry experience

Desirable Skills/Experience:

  • A PhD in a relevant engineering or mathematical field
  • Computer vision experience
  • Experience developing for hardware devices such as DSPs, FPGAs, embedded Linux
  • Clang/LLVM compiler projects
  • Knowledge/experience of domain specific languages (e.g. Halide/TVM)
  • OpenVX

Benefits:

  • Highly competitive salary and regular salary reviews
  • Technical training
  • Contributory pension scheme
  • Private healthcare
  • Gym membership
  • Flexible working
  • Regular company social events and activities


Location:

Belfast, United Kingdom

The closing date for applications:

28th February 2020

Apply for this position