Profile

Cover photo
William Payne
Works at Continental AG
Attended UMIST
240,983 views
AboutPostsPhotosVideos

Stream

William Payne

Shared publicly  - 
 
 
Whoa, this is a wake up call... CNN based learned optical flow (trained on synthetic flying chairs!) running at 10fps on a laptop which claims state of the art accuracy among real-time optical flow methods. So time for those of us working on non learning-based vision to pack up and go home?

Paper is at http://arxiv.org/abs/1504.06852
(Via +Ankur Handa)
3 comments on original post
1
Add a comment...

William Payne

Shared publicly  - 
1
Add a comment...

William Payne

Shared publicly  - 
 
Finally some sense:

"Some of the components are in the uncharted space (meaning unknown, novel, constantly changing) whilst others are more industrialised (well defined, well understood, common). Whilst the industrialised components can be specified in detail, no customer can ever specify that which is novel and unknown. Hence, we tend to use methods like six sigma, detailed specifications, utility services and outsourcing for the industrialised components of the project but at the same time we use agile, in-house development for the novel & unknown."

From: http://blog.gardeviance.org/2015/04/consultancy-takes-swipe-at-gds.html
The latest piece of craft from Kat Hall on how a “GDS Monopoly leaves UK.gov at risk of IT cock-ups” was interesting, to say the least. I’m sure Kat Hall is under pressure to write articles, I’ve seen the Register help create...
1
Simon Wardley's profile photoWilliam Payne's profile photoWilliam Payne's profile photo
4 comments
 
i'll look
Add a comment...

William Payne

Shared publicly  - 
1
Add a comment...

William Payne

Shared publicly  - 
Public services are becoming increasingly algorithmic, a reality that has spawned hyperbolic comparisons to RoboCop and Minority Report, enforcement droids and pre-cogs. But the future of high-tech policymaking looks less like science fiction and more like Google’s PageRank algorithm. For example, according to the Chicago Tribune, Robert McDaniel, a 22-year-old...
1
Add a comment...

William Payne

Shared publicly  - 
1
Add a comment...

William Payne

Shared publicly  - 
Unintended acceleration: A textbook study of how not to develop software and hardware, especially in safety-critical designs.
1
Add a comment...
Work
Occupation
Test (Development Automation) Group Leader
Skills
Machine Vision, Machine Learning, Algorithms, MATLAB, Python, C, C++, Bash, Simulink, Linux, Distributed Systems, Embedded Systems, QPID, MongoDB, Oracle, MySQL
Employment
  • Continental AG
    Test Group Leader, 2014 - present
    I support the development of machine vision algorithms for automotive surround view systems. My main focus is to build confidence across the business unit and to accelerate algorithm development by providing highly-automated test systems to the algorithm and software development teams. These systems are intended to provide continuous visibility of development progress and system performance to stakeholders across the organisation; and to provide continuous integration, continuous testing, classifier training, and algorithm parameter tuning functionality to the research and development teams. This responsibility extends to the collection, storage, analysis and exploitation of extremely large quantities of representative video data, gathered across a wide variety of environmental conditions; vehicle dynamics; platform and scene geometries, as well as the support of a range of "real-world" testing and performance evaluation activities.
  • Continental AG
    Research Engineer, 2013 - 2014
    I work on machine vision systems for advanced driver assistance and automated driving products; splitting my time between work on collision warning related algorithms and our cross-platform automated build & test systems. My machine vision software is written in C++ and MATLAB. My build-system is written in Python; Bash and CMake. Our version control and configuration management is done with Git. Continuous integration and code review are implemented using Jenkins and Gerritt. I use GCC; CppCheck; CCCC & PC-Lint for static analysis; Valgrind; GDB & DDD for debugging & profiling. As with most of my past roles, I wear the software engineering hat in a multidisciplinary research team, providing help and support with issues involving Git, GCC, profiling & static analysis.
  • EveryScreen Media
    Senior Data Engineer, 2011 - 2013
    I developed ESM's Data Science Systems, bridging the gap between ESM's academic advisers and the engineering team. I turned prototype data science concepts (MATLAB) into working products, implemented statistical and graph processing algorithms and scaled the data science systems to handle > 1 billion requests per day. I implemented data cleaning, monitoring and reporting tools. I also supported the development of ESM core production systems. It was a hands-on role, with most development done in Python, occasionally pitching in to support C++ and PHP development where required. Most of our data science systems sit on top of Linux/QPID/MongoDB/Python infrastructure.
  • Foreign & Commonwealth Office
    IT Support Officer, 2011 - 2011
    In this temporary role, I provided first line technical support to approximately 150 users.
  • Fidelity International
    Quantitative Developer, 2010 - 2011
    In this role, I provided MATLAB expertise to the “Equity Applied Research” (Quant.) team; promoting software development best practice through periodic “brown bag” sessions; writing MATLAB libraries for data handling & cleaning, statistics, distributed computing, graphing, report generation, testing, deployment, logging & fault reporting. I managed the team's production environment, as well as the development automation tool-chain, from source & configuration management through continuous integration, test & deployment automation. I implemented stock screens and charts; data quality screens and exception reports. I worked closely with quantitative analysts and gained a reputation for code quality, reliability and trustworthiness.
  • Thales Optronics
    Algorithms Engineer, 2007 - 2010
    In this role, I acted as a technical lead in a technical demonstrator programme: researching, proposing, securing funding for and implementing original machine vision (IRST) and image enhancement algorithms. I built relationships with experts from the customer community, obtained feedback and gathered requirements, carried out data analysis, proposed, designed & implemented original target detection, tracking, classification and image enhancement algorithms, whilst effecting change in the development process, successfully introducing iterative development, continuous integration and testing/performance evaluation using large scale video libraries. I gained an excellent reputation for enthusiastic engagement with problems, for effecting organisational change to improve our development processes, and for a pragmatic approach: identifying conceptually simple and computationally feasible algorithms, and driving development to get the job done. I implemented algorithms in MATLAB, Simulink, C and C++, using my software engineering background to understand how C code generated from Simulink models performed on an embedded target, advising on algorithm ease of implementation and performance issues, and prioritising algorithm development based on a solid understanding of the problem domain. Whilst in this role, I gained experience designing and implementing novel signal processing; target detection; tracking; image enhancement; navigation and machine vision algorithms. I also designed & implemented automated test & performance measurement systems, video ground-truth mark-up & ROI selection tools. I also consistently achieved the highest possible rating in all performance reviews undertaken.
  • Sophos Plc
    Software Engineer, 2006 - 2007
    In this role, I worked on Sophos Anti-Virus 7 Windows client program as part of a large development team. I carried out low-level development work on run-time code modification and analysis functionality as well as higher level work on configuration, upgrading & messaging systems, including the development of multi-threaded OO C++ code. Working in a large team on a complex and evolving software system, I gained experience using test-driven development & continuous integration techniques, carrying out code reviews & pair programming, writing unit tests & build scripts.
  • SmartSensors Ltd
    Consultant Machine Vision Engineer, 2006 - 2006
    In this role, I productised a prototype iris recognition system, developing iris image extraction and image quality estimation algorithms. I worked closely with researchers and the customer to reimplement MATLAB prototypes in C, proposing novel alternative algorithms where required to meet run-time performance and robustness guarantees. I gained experience developing image processing algorithms, translating complex mathematical and statistical concepts into code, writing optimisation & signal processing algorithms; developing embedded image processing code and developing portable embedded C code.
  • Cambridge Research Systems Ltd
    Staff Scientist, 2003 - 2005
    In this role, I developed a large MATLAB toolbox for Visual Stimulus Generation, experimental control, data calibration, collection and analysis. I built relationships with members of the customer community, providing demonstration code, advice, training and technical support for a range of visual stimulators, eye-trackers and assorted related scientific products. I developed data capture, analysis and visualisation applications in MATLAB, C and Java, as well as a CRT saccade contingent display, as part of a PhD researching adaptive control of saccades. I built up an understanding of the practicalities of experimental control and measurement in vision science, psychophysics and neuroscience; excellent MATLAB programming skills, an understanding of filtering, noise control, artefact detection and removal.
Basic Information
Gender
Male
Relationship
Married
Story
Tagline
Software Development, Machine Learning and Human Factors
Introduction
I am a sometime Algorithms Engineer, Quantitative Developer and Data Science Engineer.

I work with academics & domain experts to bring quantitative algorithms into production, often acting as a bridge between academic subject matter experts and engineering teams.

I am particularly interested in all the forgotten, mundane "Software Engineering" aspects of quantitative and statistical software development that make it different from normal software development.

How do you test a regression or a classification algorithm for which you cannot (easily) write a specification? How do you test software intended to operate on petabytes of data? How do you test a system where the cost of building a separate test or QA environment is prohibitive? or where even the cost of obtaining representative test data is prohibitive?

I am also interested in the application of robust statistics to image processing and machine vision.
Education
  • UMIST
    Artificial Intelligence, 1999 - 2003
    Image Processing and Machine Vision, Machine Learning, Neural Networks, Computational Linguistics, Formal Logic, Software Analysis & Design, Project Management, Prolog Programming, Java Programming