--- title: info2022-homework3 tags: info2022 --- # 資訊科技產業專案設計課程 HW3 ## 工作職缺 ### [Software Engineer, Google Silicon](https://careers.google.com/jobs/results/89995286794904262-software-engineer-silicon/?company=Google&company=YouTube&employment_type=FULL_TIME&gclid=CjwKCAiA9qKbBhAzEiwAS4yeDVWpeoEqdUAbMXMPdEz_IVnr6j43D_AK_ztziZ2JGlj7IV356ZXsURoCKB8QAvD_BwE&gclsrc=aw.ds&hl=en_US&jlo=en_US&location=Taiwan&q=Computer%20Vision,%20Software%20Engineering&sort_by=relevance&src=Online%2FHouse%20Ads%2FBKWS_Cloud_APAC) :::spoiler *Minimum qualifications:* * Bachelor’s degree in Computer Science, Electrical Engineering, related technical field or equivalent practical experience. * Experience in the field of software engineering (i.e. working with data structures, algorithms, software design). * Experience in Software development, one or more programming languages such as: C/C++, Java or Python. *Preferred qualifications:* * Master's or PhD degree in Computer Science, Electrical Engineering, or related technical field, specializing in computer architecture, operating system, compilers, or hardware-software codesign. * Experience in compiler design and implementation, image/video/speech algorithms, and software/hardware implementation techniques. * Experience in programming domain-specific accelerators, including GPU, TPU, or DSP. * Experience in Android operating system, framework, and application. * Experience in machine learning software stack and hardware architecture. * Experience in system power and performance benchmark, profiling, analysis, and optimization. ::: ### [Imaging and Vision Architect, Google Silicon](https://careers.google.com/jobs/results/106748262670574278-imaging-and-vision-architect-devices-and-services-silicon/?%2F=) :::spoiler *Minimum qualifications:* * Master's degree in Electrical Engineering, Computer Science, or equivalent practical experience. * **5 years** of experience in **digital imaging and computer vision methods and algorithms**. * **5 years** of experience in **imaging or vision pipeline**. *Preferred qualifications:* * Doctorate's degree in Computer Science or Electrical Engineering, or a related field. * 5 years of relevant industry experience. * Experience developing hardware IP. * Experience in **array cameras, computational photography techniques**,**depth sensing cameras**, and others. * Deep understanding of **machine learning or image/video processing algorithms** for photography applications. * Understanding of **image quality metrics**. ::: ### [Camera Imaging Software Engineer, Tesla Autonomy](https://www.tesla.com/careers/search/job/camera-imaging-software-engineer-autonomy-89983) :::spoiler *Requirements* * Practical experience programming in C/C++ software, including modern **C/C++** (C++14/17/20), **multithreading**, and **Python**. **Cuda/OpenCL** experience a plus. * Knowledge of digital camera systems and related concepts, including **color filters, exposure control, timing, drivers, and in-sensor HDR techniques**. Experience with imager bring-up. * Experience or familiarity with **ISP pipelines**, drivers, and associated tunings * Experience or familiarity with **Computer Vision, Machine Learning** & related software concepts * Experience with performant **embedded software design**, object-oriented C++ * Proficient developing software on a Linux host, for embedded Linux targets a plus ::: ### [Machine Learning and Computer Vision Algorithm Engineer, MediaTek](https://careers.mediatek.com/eREC/JobSearch/JobDetail/MTK120160906004?langKey=en-US) :::spoiler Requirements * Familiar with deep learning framework: **Tensorflow, Pytorch, Caffe/Caffe2**. * Familiar with on-device framework for mobile/embedding devices: **TFLite, ANN**. * Required programming language: **Python, C/C++, Java**. * **2+ years experience** **in deep learning** algorithm/model development/optimization, model training methodology. * Have experience in developing **deep learning algorithms for mobile/embedding devices**. * Familiar with software development and software engineering, **version control system** ::: ## 專業上匹配程度評估 ### Computer Vision and Machine Learning Jobs * camera 和 depth sensor(LiDAR,Stereo)相關應用實作經驗 * 了解 ISP Pipeline,數位影像處理基礎,經典電腦視覺演算法 * 有 Machine Learning 背景知識會是加分點 * Deep Learning方面開發工具要會用Tensorflow,Pytorch * Embedded System 實作經驗 ### 自我評估 * 非純血電資:中字輩電機,成大AI所 * 具備 Computer Vision 和 Machine Learning 相關背景和實作經驗 * 有把深度學習演算法移植到Embedded System的產學合作經驗 * 自己的研究都有用到camera 和 depth sensor * 有關ISP的知識要補强 * 缺乏 Multi-Thread Programming 背景 * 缺乏 Android,TPU,CUDA C 等應用開發能力 ## 模擬面試 🧔:interviewer 👶:interviewee 🧔:您好,今天會由我來主持這場面試。可以請你先簡單介紹一下自己嗎? 👶:您好我是XXX,目前就讀國立成功大學人工智慧科技碩士學位學程,預計2023年8月畢業。研究領域為**電腦視覺與深度學習**,主要應用在**視覺引導機械手臂控制**上。在學期間曾經把即時手臂控制系統從PC端移植到嵌入式系統上做優化,嵌入式系統的規格都是針對公司產線需求訂立的。過程中除了學到技術外,也學到如何把實驗結果整理好,然後與公司的工程師開會討論系統規格。除了研究以外,我平常也喜歡留意AI技術在其他領域的發展,跟實驗室同學也會討論彼此的研究和看法。 🧔:剛才有提到嵌入式系統上的優化,你可以具體講一下你的做法嗎? 👶:這個手臂控制系統其實已經經過很多前輩開發,程式碼也有幾千行,如果只trace code 的話不太容易發現問題。所以我有利用Vtune 這個profiler來幫助找出效能瓶頸,結果發現程式碼有一部分把灰階影像當成彩色影像來儲存,導致後面利用Gaussian Filter 去除高頻雜訊時多耗費了30 ms。 🧔:請問你是如何判斷可以使用灰階影像來處理問題呢? 👶:彩色影像跟灰階影像最大的分別是,彩色影像保留了物體顔色的資訊,但因為用了3通道(channel),處理彩色影像的運算複雜度會比較高。所以如果我們不需要利用顔色資訊的話就可以用灰階影像作處理,例如車道的綫條偵測就可以用灰階影像作處理。 ![](https://i.imgur.com/tL8mAL2.png) 🧔:那你可以分析一下Gaussian Filter的使用方法嗎? 👶:一般情況Gaussian Filter能有效的去除雜訊,比較大的限制是它不能去除 Salt-and-Pepper Noise。在影像上這種雜訊通常會以極值(0 或 255) 出現,即一個小黑點(0) 或小白點(255)。通常這種雜訊會用 median filter 來處理。 ![](https://i.imgur.com/hGLhpnH.png) 🧔:為何影像會出現Salt-and-Pepper Noise? 👶:通常是 sensor 在 sensing 的過程中,突然被一個 脈衝(pulse)干擾到,很可能就會產生Salt-and-Pepper Noise。 sensor 在 sensing 的過程中,突然被一個脈波(pulse)干擾到,很可能就會產生所謂的 Impulse noise。 ![](https://i.imgur.com/JfqsDNL.png) 🧔:那請問你的手臂控制系統有用到深度學習嗎? 👶:有的,深度學習主要用在辨識物體得到物體的2D影像坐標,然後透過手眼校正的參數把2D坐標轉成3D坐標,最後讓機械手去夾取物體。 ![](https://i.imgur.com/sVEkybR.png) 🧔:有用到一些深度學習模型優化技術嗎? 👶:我有把深度學習模型從FP32量化成INT8來表示,從而減少模型用到的儲存空間和推論時内存的消耗量。 ![](https://i.imgur.com/FawYnaB.png) 🧔:你還瞭解其他模型優化技術嗎?你有聽過AutoML嗎? 👶:有,我之前有研究過Google發表的論文,它提出的MobileNetV3和 EfficientNetV1/V2 都有用到 NAS(Neural Architecture Search)。NAS是一種AutoML的技術,主要是讓機器自己設計類神經網路的架構,不過我們要先定義可以選擇的網路基本元素 (如convolution、batch normalization)、與可以調整的內容 (如kernel size、filter number)。 ![](https://i.imgur.com/kVsAkLe.png) 🧔:好,今天的面試就到這謝謝!