網路城邦
上一篇 回創作列表 下一篇  字體:
精益求精,每天都會有事作的!
2020/02/13 06:16:16瀏覽1073|回應0|推薦9

我現在的工作是校長兼撞鐘,既是公司的RD也是業務,做生意的過程是先創作出可以賣的軟體,上網打廣告,有人想買就盡力接洽讓他成交。然後是售後服務,讓客戶拿到軟體之後確定可以順利使用,有問題立即修改程式解決。然後呢?如果可以作到的生意都搞定了,上班就沒事幹,上網閒逛哈拉等電話嗎?

不會的!軟體的開發過程,如同走路時左腳與右腳交替前進。左腳是作出客戶想要的功能,達到客戶的需求;右腳就是繼續研發更新的軟體,或者讓現有的軟體變得更好!最近主要的軟體客製化調整以及專案開發都告一段落,我就開始重新研究我的車牌辨識核心,深入檢討所有演算程序的效能,看看有沒有可以讓計算更節省,速度跑更快的空間?

一個複雜到有幾千行程式的影像辨識核心,開發過程如同從一個小鄉村發展成大都市,常常是計畫趕不上變化,很多程序是被動因應客戶立即的需求而新增或急轉彎的!就像大都市裡都有違章建築,會蓋出來一定是有人有需要,等不及等都市計畫更新就搶先蓋了!

如果我的生意很好,軟體持續賣出,暫時穩定也沒時間作有系統的研究修改,就會讓那些違章建築繼續擺著,因為沒有時間規畫更理想的替代方案,就暫時不拆,以免引起民怨的意思!在我的程式中,這種違章建築不會讓辨識產生錯誤,但總是會拖慢速度,所以只要有一天沒其他節目,我就會開始整理這些其實沒壞的軟體!

這是很好玩的工作,雖然這個辨識核心已經玩了五年多了!但每一次回顧整裡都會有新的改善工程,像這兩天一一測試所有的主要程序,精簡一些運算之後,辨識速度又提升了大約10%,如上圖一般停車場兩百多K畫素的影像,辨識時間可以低到100毫秒以下,就是不到0.1秒!

但也有時候某些辨識會忽然變慢好多,譬如下面這張就花了136毫秒,怎麼回事?事實上是我的辨識核心還有自我評分的功能,如果覺得答案不是很有把握,會有變更參數組合重新計算的動作,如果前後答案不一樣就會選擇評分較高,較有把握正確的一個答案輸出!這個車牌明顯比較陰暗甚至有點髒,當然辨識可靠度會比較低,就啟動重算了!所以「想」比較久。這個厲害吧?算不算是有自我調整能力的人工智慧呢?

寫到這邊又忍不住要酸一下機器學習了!如果我的軟體是用機器學習或深度學習作的,所有演算法與參數是由電腦依照大數據的資料統計決定的,我就絕對不敢動「電腦寫出來的程式」!我應該會完全看不懂「電腦」為何要那麼作?為何要用那種參數組合?像我這種研發精進演算法的機會就完全沒有了!我只能被迫相信電腦比我聰明?那我有沒有讀過書?懂不懂影像辨識原理都無所謂了!

一般車牌辨識系統也常誇耀辨識速度,數字常是幾十毫秒,但那些通常是「理想狀況」下的辨識速度。但我追求的是單一辨識核心,在不需要調整參數的狀況下就可以辨識複雜背景中的車牌,這樣才能有效的運用於我的動態車牌辨識軟體,所謂動態就是隨著攝影機的畫面,所有距離傾斜角度的車牌都要能盡量辨識正確!如上圖,而不只是像下面這種特寫鏡頭哦!

( 心情隨筆工作職場 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=131724850