---
# System prepended metadata

title: '[2021-10-29] Dr. Gelion Lin (Chun Wei Lin), Garmin International (Taiwan), "An introduction of image/signal algorithm design"'

---

# [2021-10-29] Dr. Gelion Lin (Chun Wei Lin), Garmin International (Taiwan), "An introduction of image/signal algorithm design"

GARMIN除了是車載導航領導品牌外，亦有另外五大領域的服務，包含Automotive(ADAS、前車碰撞、車載導航、行人偵測及警示)、Outdoor、Fitness(組次紀錄、經期分析、自動指針校正、手勢辨識、抬手喚醒)、Marine(漁探、自動停泊、聲納、環場鳥瞰系統)、Aviation(飛航輔助系統)。
在開發流程上，從Request開始，找出客戶的需求，並釐清硬體限制以及什麼演算法能夠達成需求，如何在硬體限制下演算法能夠表現依舊。進入演算法開發階段時，在設計上除了看可不可行外，亦要看演算法是否採到專利；實作階段時，從實現演算法到部屬終端；進而到驗證階段，評估演算法正確性；最終回到分析階段，若結果不如預期，便將回到設計階段，改良演算法，若接以達標，便可Release到使用者端，最後由Maintenance階段收取客戶feedback，從而改進之。在NN開發上，Data Collect要保證找到夠好夠多的data，並在Model Training時決定是CNN或RNN滿足需求，驗證時亦是看accuracy以及model size是否不盡理想，最後一樣Release & Maintenance，從客戶端取得feedback。
實務上，環場鳥瞰系統開發上，發現到了使用者對於渴望知道周圍環境的需求，因而發想出一套提供上視圖、單獨畫面以及虛擬保險桿的系統。在車用環場系統上該技術已經趨近成熟，但是在船隻上，將會面臨尺度太大從而放大error的問題，且也會有拼接面對齊以及水平面偵測問題。因此在設計演算法上，採用了6顆魚眼，如何將球面影像轉成平便辨識一大挑戰，GARMIN演算法團隊使用OpenCV先將球面轉成立體面，在用電腦視覺的做法，將立體面經過Homography/Projective，8參數矩陣計算轉回水平面。最後在拚接時，使用Blending的方法去把交接處柔和化。應用上發現每次都要經過此類計算將消耗太多時間，因此透過look up table把魚眼的位置以及平面的位置map起來，便能節省運算資源了。最後在驗證上，除了實地到瑞典使用廠商提供的船隻實際測試外，亦有模擬測試以及台灣島內測試。
而在手錶訊號處理的議題，手勢辨識主題中，如何使使用者抬手時正確喚醒手錶變成一大議題。團隊採用小型RNN，以Apple Watch的反應作為label，有良好的dataset便能產生足夠好且符合限制的結果。在健身次數偵測上，其採用C-RNN，除了抓取當下動作的feaature外，亦利用RNN儲存歷史資訊的特性，進而偵測確切的開始-結束動作時間點，進而精準計算出次數，與傳統方法相比，準確度甚至提升至90%，且使用者介入的時間也縮短不少。
NN不是萬靈丹，他需要品質好的data，耗費很多時間labeling，以及需要model pruning使之能符合硬體限制。但NN不是不行使用，NVDA/ARM/Android接提供了現成的API使得Developer能直接call function實現NN以及其硬體加速。

## Note
### The note I write is totally summarized version of speaker with minor my opinion. The citation is described below.

## Citation
### Topic: An introduction of image/signal algorithm design
### Speaker: Dr. Gelion Lin