網路城邦
上一篇 回創作列表 下一篇  字體:
研發的進步必須看得見,也能講得清楚!
2023/05/19 11:21:45瀏覽974|回應0|推薦8

這大約就是我十天來掐頭去尾的研發紀錄!面對一批很難辨識的路邊開單員拍的車牌影像,它們是客戶前幾年剛買我的軟體建置了雲端辨識平台之後,後台運作時發現無法辨識或辨識錯誤的照片集錦!也就是以實驗研究的角度,這篇資料的初始辨識率應該是0%!每隔一陣子我就會拿出來玩幾天,看看新的辨識核心進步了多少?

這一波從5/105/19日,辨識率從83.3%提高到85.3%,辨識平均使用時間從大約一秒鐘進步到0.73秒!算是大有斬獲了!須知這是一批特殊難辨識的邊緣照片,所以辨識時間較長,正常的這種尺寸影像我的辨識時間都是0.1到0.2秒左右而已!辨識核心升級了,我的所有車牌辨識產品也都可以跟著升級了!辨識率變好一點,速度也會快一點!這就是我的日常工作了!

所謂的進步不只是辨識率要逐步提升,原來無法辨識的要盡量找到方法讓它能夠辨識,辨識會錯的,也要找到錯誤的關鍵修補升級辨識程序,讓辨識結果變得正確!同樣重要的還有辨識速度不能變慢,最好還要持續變得更快!聽起來是不可能的任務?辨識能力越來越廣越強,程式不是必須變多嗎?怎麼可能更快?

但是研究複雜演算法的好玩之處就在這裡!其實為了爭取時效,盡快拿出產品去賣,及時賺到公司營運需要的錢!我的車牌辨識程式一開始真的都很隨興,好像古時候有個非常適合人類居住的地方,一批人發現桃花源開始進駐開墾,一開始當然是很隨興地建屋墾地,沒有甚麼全面規劃或都市計畫的!

但是當人口與田地變多了,整體生產力當然是提高了,但很多事情也會變得卡卡沒效率了!譬如不夠規模不夠順暢的灌溉系統無法兼顧更多田地,或街道規劃不合理,無法容納更多房子還保持交通順暢等等!所以定期的重新規劃整理就是都更啦!是絕對必要的!經過整理的系統當然就會更有效率也更快速了!

但是當系統複雜到一個程度,就不是可以光靠靈感與有限的記憶能力就都可以準確的研發與處理了!所以我們寫複雜的軟體時就必須隨時做好筆記了!包括程式內的註解,與保留每個時期的程式碼原版,以便必要時倒帶回頭參考比較研究!

我的車牌辨識核心模組已經開發近十年了!從初版的七八百行已經擴充到七八千行,有如一個原本只有數百人的小村莊,已經發展成一個各項功能完備順暢的現代化大都市了!但這是一個活的組織!隨著環境的需求與變化,我的辨識核心也必須一直進化,精益求精居安思危嘛!現在最好的軟體,明年人家可能就追上來了!軟體業是贏者全拿的,第二名可能就只能喝西北風了!

所以大家以為我的神奇車牌辨識核心是靠著甚麼神奇的創意技術或演算法嗎?其實解析起來都是很基本的OCR技術與幾何學應用而已。只是我有持續的整理與管理,所以每個細節都很合理,如同大都市裡面每條水溝與道路都很暢通的狀態!只有這樣才能建構出很「AI」的軟體!也才能讓軟體持續升級進步!

如果我賣的的軟體是我自己都無法完全理解與掌握的黑盒子呢?我是絕對無法成就目前的事業的!所以奉勸想從事軟體業的後進,想要公司有未來,有可以持續升級進步的產品,必須自己認真打好基礎!千萬不能依賴外購的黑盒子!你賣的軟體必須每一個細節都能掌握,這是絕對必要的!沒有自有技術就千萬不要嘗試開軟體公司!

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

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