Computer Vision Engineer
Location : Knoxville, TN
Headquarters : San Diego, California, United States
Hiring Mode : Full Time
Experience : Mid Level
Job Summary: Develops and programs integrated software algorithms to structure, analyze and leverage data in product and systems applications in both structured and unstructured environments. This position also develops and communicates descriptive, diagnostic, predictive and prescriptive insights/algorithms and works with state-of-the-art object tracking and machine learning algorithms and implement proposed methods in a real-time system. This position typically works under limited supervision and direction. Incumbents of this position will regularly exercise discretionary and substantial decision-making authority.
Essential Job Duties and Responsibilities:
Research and develop machine learning systems that help train and/or deploy models
Work both independently and collaboratively to develop robust computer vision algorithms that will be deployed in existing and new products
Uses machine language and statistical modeling techniques such as decision trees, logistic regression, Bayesian analysis and others to develop and evaluate algorithms to improve product/system performance, quality, data management and accuracy.
Completes programming and implements efficiencies, performs testing and debugging
Applies deep learning technologies to give computers the capability to visualize, learn and respond to complex situations
Work with large scale computing frameworks, data analysis systems and modeling environments.
Take ideas and algorithms from first conception to real-world, real-time implementation and deployment
Identifies, investigates and resolves technical issues.
Assists with the planning and evaluation of architectural design and identifies technical risks and associated ways to mitigate those risks.
Recommends test control, strategies, apparatus and equipment.
Defines test schedules and test data requirements. Tests software and documents results.
Prepares development software, codes software and designs specific enhancements.
Participates in in-house design reviews and technical meetings.
Maintains state-of-the-art awareness in areas of technical expertise - changes, advancements and improvements.
Interfaces with team members, other engineering groups, management staff, customers, subcontractors and vendors.
Minimum Job Requirements:
- Four-year college degree in computer science, electronic engineering or other related technical discipline, plus a minimum of two years of related experience or equivalent. Masters or PhD preferred.
- Strong proficiency in modern C++ with demonstrated knowledge of current standards, object-oriented programming, debugging and troubleshooting techniques and scientific scripting languages, particularly Python or Perl.
- Experience in In-depth fundamental knowledge of AI, deep learning, and machine learning algorithms and methods with proven experience, including strong knowledge of the mathematical underpinnings behind these various methods.
- Familiarity with statistical data processing, neural networks, decision trees, regression techniques, pattern recognition, clustering, statistical techniques, probability theory, stochastic systems, Bayesian inference, and dimensionality reduction, including mastery of the mathematical underpinnings of these methods.
- Software development / engineering, developing state-of-the-art computer software, exercising creativity in technical direction and successful strategy development.
- Ability to develop software in Windows and Linux. May require experience with embedded processing.
- Ability to effectively communicate verbally and in writing, and interface with customers, subcontractors and vendors at all levels.
- Must be able to solve complex and difficult engineering problems and prioritize work and complete multiple tasks under deadline and budget guidelines.
- Must be able to work in a lab environment and be able to use a computer.
- Ability to use PC software such as word processing, database, spreadsheet and flowchart.
- Must be available for domestic and possibly international travel.
- Proficient understanding of version control systems such as Git.
- Understanding of inter-process communication techniques, multi-threaded programing.
- Background in agile software development methodologies.
- Thorough knowledge of networking protocols.
- Knowledge of cybersecurity issues related to IoT and embedded systems.
- Knowledge of Restful APIs, embedded systems development.
- Knowledge of component data sheets and specifications.
- Experience with open source technologies, including OpenCV, Boost, Open Vino, Tensor RT, Yocto, CMAKE
- Experience with NVIDIA Jetson, Arm Cortex a plus.
- Familiarity with continuous integration.