General Dynamics Land Systems Computer Vision Software Engineer in Sterling Heights, Michigan

Job Title Computer Vision Software Engineer Location Sterling Heights (Main), MIRelocation NoPotential for Deployment NoRequisition Number SHC-LF-17-19720Job Function Engineering - Software Required Education Bachelor of Science Required Major Computer Engineering Computer Science Computer Science Engineering Engineering Software EngineeringJob Description Innovation is in Our DNAGeneral Dynamics Land Systems is a global leader in the design, development, production, support and enhancement of tracked and wheeled military vehicles around the world. Our primary focus is partnering with those who protect our freedom to ensure their readiness for tomorrow.General Dynamics Land Systems' innovation has resulted in increased survivability, greater fire power, unmatched mobility and enhanced battlefield effectiveness made possible by capabilities and products prepared and ready for whatever threat the military faces.We have a strong foundation of delivering innovative engineering and production capabilities to our clients across the military vehicle spectrum. Our team is focused on continuous process and productivity improvements that provide our clients with solutions, while reducing costs and speeding up delivery for urgent requirements.The Abrams Main Battle Tank, the Stryker and LAV Family of Vehicles, Specialty Wheeled Vehicles, and the AJAX armoured fighting vehicles, provide the DNA our customers need to defend freedom around the world.General Dynamics Land Systems is seeking Computer Vision and Image Processing Software Engineers to design, build and test software systems for computer automated systems. Candidates will work on sensor and image processing algorithms for automated driving and vehicle localization/navigation; Virtual Reality (VR) and Augmented Reality (AR) algorithms to aid vehicle operators; and enabling algorithms such as 3D scene reconstruction, camera pose estimation, 2D and 3D tracking, and object recognition. This position requires collaboration across engineering disciplines (electrical, mechanical, optical, firmware and software) and directly impacts user experiences. We are seeking people who quickly solve problems, generate big ideas, work in new technology areas, drive concepts into prototypes, and envision how prototypes transition to end user products.Job Requirements BS,MS,or PhD in Engineering or Computer Science with strong experience in computer software development. 6 to 9 years of post graduate work in software development preferred.Strong programming experience in C, C++, Object Oriented Software and associated design principles. Additional knowledge of C++ 11, C++ Templates, and Python.Hands-on experience in computer vision including 3D reconstruction, camera pose estimation, 2D and 3D tracking, sensor fusion, and object recognition.Working knowledge of OpenCV, OpenCL, OpenGL, CUDA, Point Cloud Library and GPGPU processing techniques is desirable.Experience with common Machine Learning methods (designing, training, deploying) is preferred.Working knowledge of 3D sensor and data visualization tools is required.Experience with Machine learning algorithms and toolsets (Caffee, Theano, Keras, Tensorflow, Torch, etc.) is desired.Expertise in 3D transformations, localization and mapping including SLAM, object detection, tracking, and classification is desired.Candidates preferably have experience in real-time computer vision systems and algorithm implementation and mapping onto real-time hardware.Excellent communication and collaborative skills including strong documentation and writing skills, and hands-on experience with real-world robotic applications is desired.General Dynamic