Computer Vision isn’t just the strain on your eyes from staring at the computer for too long.
Computer Vision is a diverse and widespread field of study. In the most basic description, Computer Vision is a way for a machines to recognize, understand and interact with a picture, 3D objects, or videos.
We already interact with computer vision programs on a daily basis. When Facebook suggests that you tag your friend in a photo, it’s because their algorithms have recognized their face. Smart cars that have automatic breaking are able to do so because of Computer Vision. Remember the 3D printing craze of 2014? Who could forget it? That’s done using 3D modeling, another application of computer vision.
How is this done? The technology behind computer vision differs based on the function. The algorithm and technology for 3D Modeling is largely different than that of the technology that recognizes characters in photos. Companies like MathWorks are working to make it even easier for engineers to perform these tasks from with programs like MATLAB and Simulink, instead of in the lab. With the increased resources and speed of production, Computer Vision has the potential to really take off.
These are just 4 of MANY applications of Computer Vision:
Engineers can use CAD software (Computer-aided design) software in order to create 3D models of their project. 3D Modeling takes a 3D object and allows it to be adapted on a 2D screen.
While this technique has been used for many years, we’re starting to see more applications than ever. With the improvements and preciseness of CAD software, engineers are much more nimble than their old system of pencil and paper. For example, hardware engineers can use CAD software such as SOLIDWORKS, OrCAD, Eagle CAD, or Altium CAD to design PCBs.
CAD software is the way by which designers of all industries can create their product, and then 3D print it or save it as an STL file. Not only is CAD software of use in the tech industry, but in healthcare, manufacturing, architecture, and fashion, to name a few. They use this software because it’s cost effective, easy to use and intricately precise. CAD software HAS to be precise, after all, Harvard just used it to create a 3D-printed organ-on-a-chip heart.
Optical Character Recognition
Optical Character Recognition, or OCR, is the way by which a computer can identify handwritten or printed text from a scanned document into an editable document.
Scanning a long document into your computer can be pretty much useless when it comes to editing. Instead of having to manually type out the document in order to edit it, OCR comes into play. It will be able to pick up on the characters of the document because it recognizes the font.
Handwriting OCR is a bit more complex. When writing, there can be many variations to your lettering, whereas document text is uniform: each letter is the same. OCR software recognizes patterns in the characters to identify the lettering. It also uses feature detection – looking for specific data points – in order to correctly classify characters.
There are plenty of options when it comes to OCR software – free and for a fee. If you are interested in building your own OCR software, there’s also open sourced code available such as Tesseract and OCR Engine.
This one seems easy – a computer recognizes an object and identifies it. This includes image recognition – where a computer can recognize an object within an image. Object recognition now can refer to identifying objects in a 3D environment. For example, this has applications in virtual reality and autonomous cars.
Despite the concept of object recognition seeming simple, if it is incorrect, it could have catastrophic consequences. Consider the case of the Tesla autopilot death in China at the beginning of the year. Autopilot was allegedly engaged, but didn’t detect a stationary vehicle on the side of the road, causing a fatality.
Object detection is not yet perfect, but it does need to be close before autonomous cars become more trusted. After the two fatalities with Autopilot this year, Tesla severed their ties with their partner Mobileye, their image processing system. It’s been rumored that Tesla is now using NVIDIA’s CUDA to make their own framework for computer vision.
Another usage for object analyzation and recognition comes from Microsoft Cognitive Services. They’ve created the Computer Vision API that will analyze the content of a picture and then specifically hide or show the photo based on the user’s preferences. It also works in conjunction with OCR (Optical Character Recognition) to determine any text within the photo.
Face Detection and Recognition
Most everyone has experienced the same initial confusion after uploading a photo to Facebook – how does it accurately guess which of your friends is which?
Face detection and recognition are two different concepts. Face detection can tell you when there’s a face in the photo, while face recognition can tell it’s your buddy Steve. Recognition is much more difficult as the human face is constantly changing, whether it be in features or expression.
Facebook has actually dedicated a whole team to bringing computer face recognition on par with human abilities. DeepFace will be able to not only pick you out of a picture that you posted, but find you in a crowd of people at an event you went to. They can figure out who you are, with 83% accuracy, based on your posture, clothing and hair. Even Microsoft is using face detection software to allow users to unlock their Surface Pro using just their face.
With all of these exciting uses for Computer Vision, it should be no surprise that there are a plethora of Computer Vision jobs in the Silicon Valley. If you’re interested in finding a role in Computer Vision, contact ERG today by submitting your resume to firstname.lastname@example.org. One of our skilled technical recruiters can help you find an exciting role.