Wie is een Computer Vision Engineer?

Mogelijke functietitels: Computer Vision Engineer / Computer Vision Systems Engineer / Computer Vision Algorithm Engineer / Computer Vision Developer / Computer Vision Developer

Computervisie is een verzameling technologieën, methoden en algoritmen waarmee een computer afbeeldingen en videostreams kan verwerken, bijvoorbeeld van videocamera’s, scanners, 3D-gegevens, enzovoort. Door het gebruik van computervisie kunt u bepalen wat er wordt afgebeeld, deze afbeeldingen classificeren en analyseren. Dergelijke methoden worden op verschillende gebieden gebruikt: in de geneeskunde voor het diagnosticeren en detecteren van tumoren op afbeeldingen van patiënten, voor het navigeren in onbemande voertuigen, voor gezichtsherkenning en filtering, zoals op Instagram en Snapchat, en vele anderen.

Computer vision wordt vaak “machine vision” genoemd, maar dit is niet helemaal correct: computer vision is de algemene naam voor technologieën en een kennisgebied, terwijl machine vision een specifiek toepassingsgebied is. Het gebied van computervisie is ook nauw verwant aan machine learning, waarover u in onze post kunt lezen.

Computer vision-ontwikkelaars gebruiken meestal Python of C ++, evenals gespecialiseerde bibliotheken: OpenCV, Scikit-learn, SciPy, NumPy, Matplotlib, Tensorflow, Caffe, Catboost en anderen. Tegelijkertijd is kennis van wiskunde en algoritmen, evenals voortdurende onderdompeling in het onderwerp, van bijzonder belang voor de ontwikkelaar. Voor succesvol werk moet zo’n specialist altijd voorop lopen in technologie en op de hoogte zijn van moderne algoritmen en ontwikkelingen.

Onlangs is de arbeidsmarkt op het gebied van machine learning, in het bijzonder computer vision, in Moskou ongelooflijk heet. Nieuwe projecten worden voortdurend geboren, internationale bedrijven openen nieuwe kantoren, de bijbehorende trainingsprogramma’s ontwikkelen zich in vooraanstaande technische universiteiten – het beest rent naar de vanger en het beest. Mijn ervaring is dat de meeste specialisten op het gebied van machine learning hun eerste opleiding in een ander profiel hebben gevolgd en daarna, nadat ze geïnteresseerd waren geraakt, de nodige kennis hebben opgedaan. Dankzij SHAD, Coursera, Kaggle, OpenDataScience is het mogelijk (en zelfs de norm) geworden om zelf de nodige vaardigheden te verwerven.

Hoe vind je een kandidaat als hij misschien zelfs niet aan een gespecialiseerde universiteit heeft gestudeerd? Ja, allemaal op dezelfde plek —Coursera, Kaggle, OpenDataScience. Of in thematische publicaties, forums, Slack / Telegram. Slack ODS weerspiegelt naar mijn mening het meest de markt voor vacatures op het gebied van Machine Learning. Maar als u van beroep recruiter bent, wees dan voorzichtig, de ban komt onmiddellijk. Het is beter om geïnteresseerde kandidaten onmiddellijk persoonlijk te schrijven, beleefdheid te observeren en de voorwaarden onmiddellijk in detail te beschrijven.

Als je een kandidaat vindt met de trefwoorden in je cv – Machine Learning / Deep Learning / Computer Vision – hoe weet je dan of hij de taken aankan? De eerste is een wiskundige achtergrond. In Machine Learning en computervisie is het niet moeilijk, maar lineaire algebra en wiskundige analyse zijn noodzakelijk. U kunt van eenvoudige naar complexe concepten van Deep Learning gaan, maar wees erop voorbereid dat de kandidaat misschien nog niets van iets heeft gehoord. Dit is volkomen normaal, omdat de methoden binnen zes maanden klassiek worden.

De tweede is codering. In de Machine Learning-omgeving zijn er, aangezien veel mensen van buiten de programmeerwereld erin komen, veel mensen die slecht programmeren (ikzelf ben geen uitzondering). Het is een heel goed teken als iemand al als een eenvoudige ontwikkelaar heeft gewerkt en het is alarmerend als de persoon afstudeert aan de universiteit en gepassioneerd is door wiskunde in zijn puurste vorm. Als een persoon niet met git heeft gewerkt, niet op de hoogte is van unit-tests, maar alleen weet hoe hij experimenten in Jupyter moet uitvoeren, zal het slechts in een zeldzaam geval nuttig zijn voor het bedrijfsleven.

Het is belangrijk om te begrijpen dat, hoewel het belangrijk en noodzakelijk is dat een kandidaat weet hoe hij een neuraal netwerk moet trainen, hij dit in het beste geval 20% van de tijd zal doen. De rest is het rommelen met gegevens, het optillen en opzetten van de infrastructuur, en hoe meer ervaring en vaardigheid een kandidaat heeft in basisprogrammering en Linux-beheer, hoe minder tijd hij aan routine zal besteden en hoe verder hij uw bedrijf vooruit zal helpen.

Interview vragen:

  • Met welke projecten heb je moeten werken?
  • Vertel ons over de moeilijkste en interessantste taak? Welke technische middelen zijn gebruikt om het te implementeren?
  • Hoe ziet het projectteam eruit? Hoe worden taken ingesteld en toegewezen?
  • Heb je deelgenomen aan kaggle-wedstrijden? Wat waren de successen?
  • Zijn er huisdierenprojecten? Wat studeer je op je gemak?

global recruitment

https://www.globalrecruitment.info/