# 2024 年「資訊科技產業專案設計」作業 3 ## 符合自身規劃的職務描述 & 所需能力 & 匹配程度 ### <u>Qualcomm</u> Computer Vision Systems Engineer, up to Staff <details> <summary>職務描述 & 所需能力</summary> **General Summary:** Qualcomm Computer Vision Systems group develops computer vision IP solutions for all of Qualcomm’s Snapdragon platforms including mobile, automotive, VR/AR. The team’s scope includes computer vision algorithm, architecture design and software implementation for CV solutions with power and performance optimization. We seek Systems Engineers with demonstrable knowledge and hands-on experience in one or more of the following areas: * Define systems architecture for computer vision solutions including data flow, task partition, user interface, systems interoperation, test plan and quality closure. * Design and implement simulator for computer vision functions to be used for algorithm evaluation, hardware verification, and customer training * Define methodology for performance and power analysis and develop innovative technologies to reduce memory bandwidth, processing latency, power consumption * Collaborate with other teams to commercialize the technologies and provide strong customer support to enable the best visual analytics experiences **Qualifications** * Required: Bachelors in, Computer Science and/or Electrical Engineering * * Preferred: Masters or Doctorate, Computer Science, and/or Electrical Engineering **Minimum Skills** * Working knowledge of visual signal processing, and computer vision * Strong analytical and mathematical skills to develop new computer vision algorithms * Proficiency in C/C++/Python or other programming languages * Experience with OpenCV library * Strong communication skills * Working Knowledge of Embedded systems and architectures * DSP/Neon/GPU optimization and multi-thread programming is a plus **Minimum Qualifications:** * Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Systems Engineering or related work experience. OR * Master's degree in Engineering, Information Systems, Computer Science, or related field and 1+ year of Systems Engineering or related work experience. OR * PhD in Engineering, Information Systems, Computer Science, or related field. </details> <br> **匹配程度** * 尚可 * 電資相關科系畢業,修課和專案內容主題皆是電腦視覺 * 熟悉Python * 有使用OpenCV的經驗 * 溝通能力強,具有跟不同學科的人長期溝通合作的經驗 * 不足 * 缺乏工作知識,例如:視覺信號跟電腦視覺、嵌入式系統和架構 * DSP/Neon/GPU optimization and multi-thread programming 皆沒接觸過 <br> ### <u>Synology</u> Product Developer (深度學習應用開發) <details> <summary>職務描述 & 所需能力</summary> **Job content** Synology's product developers create cutting-edge products used by millions of users around the world. Our portfolio of data storage, networking, and surveillance products are powered by our own software solutions, giving us a unique edge in today's crowded market. We are looking for engineers that can make an impact, bringing in fresh ideas from different areas to help expand our team of high-energy developers. Video surveillance solutions are ubiquitous and vital in maintaining accountability in our society today. They can serve as silent witnesses to a scene, act as a deterrent, and often simply serve as a means to reassure a property owner. Synology has been consistently innovating in the field of video surveillance, leveraging our storage expertise to built robust, feature-rich, and cost-effective solutions that are overseeing countless locations today. You’ll be joining an experienced team to build our next generation products. You will: * Create more capable video surveillance solutions using computer vision and deep learning techniques * Develop user-facing frontend applications using JavaScript * Optimize for performance and increase the reliability and capabilities of the entire system, whether through traditional or more creative techniques * Stay on top of cutting-edge machine learning developments and techniques Tools Proficiency:Linux、C、C++、JavaScript You are expected to have: * Proficiency in C/C++, Python and JavaScript * Proficiency with at least one framework: PyTorch, or Tensorflow * Experience with or a strong understanding of computer vision and deep learning applications and processes * Experience with or a strong understanding of deep learning, CNNs, and inferencing * Familiarity with programming in Linux environments * Excellent communication skills and the ability to work well alone or as part of a team </details> <br> **匹配程度** * 尚可 * 熟悉Python、Pytorch * 深度學習有多個專案經驗 * 溝通能力 * 不足 * 不熟悉C/C++/JavaScript * 不熟悉 Linux 環境中的程式設計 <br> ### <u>NOVATEK</u> 影像處理演算法工程師 <details> <summary>職務描述 & 所需能力</summary> 工作內容 【產品線描述】 行車及監控視訊相關產品 (CarDV, Surveillance relative video product) 【工作說明】 1. 影像處理演算法及ISP開發 (Digital Signal/Image Processing algorithm development) 2. 與IC designer合作完成演算法之硬體實作及驗證 (Co-work with IC designer for RTL implementaion and verification) 【必要條件】 1. 良好的溝通能力與團隊合作觀念, 快速的學習能力 2. 熟悉3A/Denoise/Sharpen/3DNR/HDR等數位影像處理演算法與ISP pipeline架構 3. C語言影像處理實作能力 4. 熟悉Matlab 5. 具備影像畫質分析能力, 熟悉Imatest操作 </details> **匹配程度** * 尚可 * 修過影像處理,對基礎的影像演算法有認知 * 不足 * 不熟悉3A/Denoise/Sharpen/3DNR/HDR與ISP pipeline架構 * 對C語言影像處理實作沒經驗 * 沒用過Matlab * 不具備影像畫質分析能力, 熟悉Imatest操作 ## 上述職缺 (或類似的職缺) 的面試題目 電腦視覺/影像處理: * [Top 50 Computer Vision Interview Questions](https://www.geeksforgeeks.org/computer-vision-interview-questions/) * 實作(sobel 遮罩)高頻強化 * 影像強度剖面圖如果邊界很明顯會長怎樣 * 高頻強化的影像強度剖面圖長怎樣 * 均值濾波、中值濾波有什麼特色 * 影像中有一個圓 怎麼計算最左上角到該圓的距離 * 給一個圓然後詢問如何找尋圓的中心點 AI: * [Deep Learning Interview Questions](https://www.geeksforgeeks.org/deep-learning-interview-questions/) * 手寫 Convolution, Multi-Layer Perception (MLP), Gradient Descent * 寫一個 Dataset 的 Class 要能夠處理 Imbalanced Data Sampling * 能否給出一個完整的 Machine Learning Pipeline,舉例來說 “請告訴我如何建構一個物件偵測系統預測農作物”。 * 推導Forward & Backward Propagation & Neural Network * 可參考資源:深度學習500問以及深度學習面試寶典 * 什麼是Support Vector Machine (SVM)? 請詳細解釋 * 解釋CNN、RNN差別,Resnet原理以及好處 * 解釋cross-entropy * 訓練模型時為什麼通常需要正則化?請解釋L1和L2正則化的差異 * 什麼是 confusion matrix? 怎麼從 confusion matrix 計算 sensitivity 以及 precision? * 請描述偏差(Bias)與變異(Variance)之差別,訓練過程哪項指標更重要? * 要如何做 Hyper-parameter tuning,請說明方法及原因 * KNN和multi-nominal logistic regression之間有什麼不同 * 何時需要進行降維?請詳細描述兩種降維方法 * 除了Mean Square Error (MSE)之外,如何評估回歸模型? ## 模擬面試 >:sunglasses::interviewer >👨‍🎓:interviewee #### 背景詢問 :sunglasses: :你好,想請問你在電腦視覺與深度學習等領域的相關經驗 👨‍🎓:相關經驗的部分可以以下幾個專案作為代表,第一個是使用OpenCV和Dlib來實作使用人臉特徵點,進行疲勞狀態的檢測。第二個是在某堂電腦視覺相關課程的專案中,使用影像處理技術與OpenCV,實作出車道線檢測的系統,第三個是與xx醫院合作的專案。目標是使用雙階段多模態醫學影像模型進行多種疾病預測,此專案目前還在進行中。 :sunglasses: :實驗室研究領域是什麼 👨‍🎓:實驗室主要是在做AI視覺相關的研究,而我目前的題目是XXX #### 專案詢問 :sunglasses: :可以說明一下你剛剛提到的車道線檢測系統是怎麼做到的嗎 👨‍🎓:好的,可以分為5個步驟,1. xxx、2. Edge detection、3. xxx、4. xxx、5. xxx :sunglasses: :你是使用哪種Edge detection的方法 👨‍🎓:我使用的是Canny edge detection,步驟為:1.高斯濾波去噪 2.計算梯度幅值和方向 3.非極大值抑制 4.雙閾值處理 5.邊緣追蹤 :sunglasses: :那如果你輸入的影像前面有一輛卡車擋住大部分的畫面,你的系統還可以運作嗎 👨‍🎓:沒辦法,會在第四個步驟的時候出錯,導致沒辦法正確畫出車道線 :sunglasses: :你會怎麼解決這個問題 👨‍🎓:我目前想到的方法是在做完Canny detection之後,先判斷前方有沒有卡車,如果有的話我再把第X個步驟的ROI設定縮小,沒有的話系統就照舊 :sunglasses: :為什麼你最後一個專案的評估指標會這樣選擇 👨‍🎓:只使用準確率的話,會在評估模型時產生盲點,許多醫學影像資料集都存在資料不平衡的問題,例如陽性病患是占極少數,如果模型盲目的猜測陰性,就會使準確率很高,所以我們使用這個評估指標來衡量模型的整體能力 ## Resume [Resume Link](https://drive.google.com/file/d/1PNxY1yoqOLphJ5AOrBTdgPjO-4Zg_6ty/view?usp=sharing) ## 參考資料 * 自身經驗 * [北美正職面試經驗分享](https://medium.com/@tsaolin/%E4%B9%BE%E8%B2%A8%E6%BB%BF%E6%BB%BF-2024-new-grad-in-machine-learning-computer-vision-robotics-%E5%8C%97%E7%BE%8E%E6%AD%A3%E8%81%B7%E9%9D%A2%E8%A9%A6%E7%B6%93%E9%A9%97%E5%88%86%E4%BA%AB-e11c8882dbc7) * [電腦視覺/ML/DL/AI 面試分享](https://www.ptt.cc/bbs/Soft_Job/M.1535716676.A.12B.html) * [美國軟體求職心得 (電腦視覺/自駕)](https://www.ptt.cc/bbs/studyabroad/M.1575218908.A.C69.html) * [Top 50 Computer Vision Interview Questions](https://www.geeksforgeeks.org/computer-vision-interview-questions/) * [AI演算法面試考題整理](https://medium.com/@ntuteeee/ai%E6%BC%94%E7%AE%97%E6%B3%95%E9%9D%A2%E8%A9%A6%E8%80%83%E9%A1%8C%E6%95%B4%E7%90%86-0ad09b42c73d) * [科技業公司面試心得(上)](https://home.gamer.com.tw/creationDetail.php?sn=4331239)