作為電腦視覺領域骨幹超過20年的OpenCV,在相隔15年後,為了能充分發揮最新硬體的效能,將從底層架構徹底重構,推出OpenCV 5。
想像一下。清晨,您走在街道上。用智慧型手機的相機對準陌生的外語路標,螢幕上隨即浮現即時翻譯;相機還能流暢地偵測路過車輛的車牌或人們的動作。如果視障人士戴上智慧眼鏡,眼鏡能瞬間掌握前方的樓梯或突然出現的障礙物,並以親切的語音發出警告。像這樣讓電腦與機器能宛如人類的眼睛般,甚至比人類更精準、更快速地以視覺來感知世界的技術,我們稱之為「電腦視覺(Computer Vision,幫助電腦從數位影像或影片中擷取並理解有意義資訊的AI分支領域)」。
在這項如魔法般的技術背後,有著一根肉眼看不見,卻穩穩支撐著世界的巨大支柱。那就是名為「OpenCV」的開源(將程式碼公開,讓任何人都能免費查看與修改的軟體)函式庫。超過20年來,OpenCV一直扮演著全球電腦視覺技術堅實的基礎骨幹(OpenCV 檔案館 - OpenCV)。然而現在,這個低調卻巨大的骨幹正在發生歷史性的地殼變動。因為距離2009年已經過了15年,從根本上顛覆程式架構與規則的「OpenCV 5」即將問世。OpenCV 5被譽為電腦視覺史上最重要的更新之一,它究竟是什麼?為什麼我們必須關注這項改變?接下來我們將為您淺顯易懂地解說。
為什麼這很重要? (Why It Matters)
首先,我們來探討為什麼這項改變如此重要。近年來,我們日常生活中每天接觸的智慧型裝置,其硬體發展速度令人驚豔。智慧型手機、機器人、自動駕駛無人機等設備所搭載的晶片組與處理器,已經變得比過去無與倫比地快速且強大。但是,無論製造出搭載多麼頂級引擎的跑車,如果它要行駛的道路是未鋪裝的泥土路,或者控制方向的轉向裝置(軟體)是老舊的型號,這輛車絕對無法發揮應有的速度。
一直以來,研究電腦視覺領域的專家們最大的煩惱之一,就是「該如何毫不浪費、有效率地充分利用這些突飛猛進的現代硬體效能?」。OpenCV 5正是精準對焦了這個令人氣結的痛點。為了讓視覺數據處理的效能飛躍性地提升,並100%充分活用現今強大的最新硬體,這次的新版本在內部結構(架構)上導入了相當程度的變更(「我們使用 Claude Code 移植到 OpenCV 5 所學到的事…」)。這不僅僅是改變外觀或添加幾項小功能的程度而已。正如字面上的意思,它被評價為從地基開始重新打造,是OpenCV史上最重要的版本發布之一(OpenCV - 開源電腦視覺函式庫)。
這對我們平凡的日常生活有著非常重大的意義。舉例來說,在人工智慧(AI)相關競賽中,最顯著的正面技術趨勢之一,就是利用電腦視覺來提升視障人士的生活品質。協助視障人士行走或尋找物品的溫暖技術正在不斷被開發出來(OpenCV AI 競賽中電腦視覺應用的 5 大新興趨勢 - OpenCV)。如果作為系統最底層的OpenCV能提供更快、更流暢的效能會如何呢?它可以更平順地處理相機捕捉到的危險動作,並大幅縮短發出警告音的反應時間。攸關人類性命的自動駕駛汽車之眼,或是投入災難現場的危險物偵測機器人之視野,也必然會變得更加迅速敏捷。
輕鬆理解 (The Explainer)
那麼,OpenCV 5到底改變了什麼?怎麼改變的呢?讓我們先放下複雜的技術術語,透過兩個淺顯易懂的比喻來了解。
第一,簡單來說,這就像是將老舊大型建築物裡破舊狹窄的管線網,全面更換為最新型大型直水管的大工程。 OpenCV 5是自2009年公開的OpenCV 2.x版本以來,首次將API(應用程式介面,即軟體之間傳遞指令的溝通規則)與函式庫內容進行激進改版的歷史性發布(OE 5. OpenCV 5)。
讓我們再發揮一點想像力。有一棟在很久以前建造得非常堅固的大型建築物。幾十年來,全世界有許多人一直順利地使用著這棟建築,但建築物的管線網(舊版API)是配合過去狹窄的規格所設計的。然而最近,發明了超強力的抽水馬達(最新硬體),能以極大的壓力與速度將水推出。可是因為老舊的水管又窄又彎曲,無法好好承受那巨大的水壓,或者在中間發生了水流堵塞的瓶頸現象。過去,我們都只是稍微修補外觀,或是用臨時應急的方式加裝水管來苦撐。但現在終於下定決心,果斷地露出建築物的骨架,進行一場將其全面更換為最粗、最堅固的最新型水管的工程,這就是這次OpenCV 5的改版。現在可以100%發揮抽水馬達的力量,以超高速處理龐大高畫質影像數據的擁塞道路將變得無比暢通。開發者們也能更快地將高效能視覺系統製作成原型(試作品)來進行驗證(建立高效能資料路徑:AI 與視覺系統的全新評估平台…)。
第二,打個比方,這就像是一個聚集了全世界眾多廚師一起工作的全球廚房裡,擁有完美的食譜翻譯系統。 讓電腦能看見世界的這項魔法技術,早期是使用名為C++的電腦語言編寫的;這是一種非常快速、強大但難以駕馭的語言。不過,世上並不是所有的程式設計師都只使用C++。因此,OpenCV經過長時間的演進,發展出能在Python、Java、MATLAB等其他程式語言環境中也能完美運行的能力(OpenCV 與 Python 中的電腦視覺:這是什麼… / Skillbox Media)。
這就像是提供各國語言用的料理工具與翻譯本,讓只懂韓文、英文、西班牙文的人,也能輕鬆閱讀用法文(C++)寫成的完美米其林食譜,並做出美味的料理。例如,現在使用最受歡迎的Python語言的開發者們,會使用像「opencv-python」這樣的專用包裝紙(Wrapper套件,將其他語言的複雜功能包裝起來以便輕鬆呼叫使用的程式碼),非常簡便地套用這項功能(OpenCV Python 綁定的 Wrapper 套件。)。其原理就是,當作為骨幹的原始食譜庫(OpenCV 5)本身變得更有效率時,透過翻譯來使用的無數其他語言開發者們,也能用更少的精力做出更美味的料理(快速且精準的尖端AI視覺技術)。
現狀 (Where We Stand)
然而,要將固化了數十年的巨大骨幹整個換掉,工程絕對不輕鬆。令人驚訝的是,OpenCV 5.0版本最初是計畫在2020年推出的。但這項龐大的改版作業日程被推遲了足足4年,最終發布日程被重新調整至2024年夏天(OE 5. OpenCV 5)。正因為是相隔15年的大手術,這證明了開發團隊為了確保沒有任何錯誤,非常謹慎地一再修飾與完善。為了完成這次的大規模更新,社群中無數的開發者每週會統整並分享工作進度,與專案貢獻者(如 Jia Wu 等貢獻者)不斷溝通,以持續提升完成度(OpenCV 5 進度更新(2024 年 5 月 9 日) - OpenCV)。
回顧OpenCV的歷史,您就會點頭明白為什麼他們如此謹慎。OpenCV的第一個Alpha版本(為了內部測試而首度製作的草案),早在2000年的「IEEE電腦視覺與圖形識別大會(CVPR)」學術研討會上就首次亮相。而在2001年到2005年之間,更是推出了多達5個Beta版本(正式發布前用於檢查的版本),經歷了近5年漫長的淬鍊(OpenCV - 維基百科)。當時OpenCV所追求的最重要理念就是「為了促進商業視覺應用程式的發展,讓任何人都能免費使用效能最佳化的程式碼」。他們甚至推行了非常寬容且自由的授權條款,就算您利用這項技術製作出能賺錢的商業成品,也沒有強制要求必須將該程式碼向大眾公開的條件(OpenCV - 維基百科)。
這份溫暖且開放的理念,二十多年來始終如一地延續著。正因為如此,如今的OpenCV已經成為全世界所有學習和應用深度學習(Deep Learning,讓電腦像人腦一樣思考與學習的技術)與AI的人們,第一個會尋求的堅實故鄉(OpenCV - 開源電腦視覺函式庫)。它依然是全球開發者的遊樂場,透過GitHub作為任何人都能查看的開源專案,透明地營運著(GitHub - opencv/opencv: 開源電腦視覺函式庫)。
| 今日,我們不需要宏偉的超級電腦,只要用常見的一般筆記型電腦CPU(中央處理器)效能,就能輕鬆實現每秒處理30張照片的即時手部追蹤(Hand Tracking)技術([使用 CPU 達到 30 FPS 的手部追蹤 | OpenCV Python (2021) - YouTube](https://www.youtube.com/watch?v=NZde8Xt78Iw))。電腦能毫無卡頓、自然地跟隨我們手勢的這項技術,其底層正鋪墊著OpenCV的心血結晶。不僅如此,在訓練AI模型有多聰明時所使用的資料增強技術(透過遮擋或混合部分影像,來訓練AI不被混淆的方法),如果沒有強大的視覺函式庫,也很難順利進行研究([電腦視覺的現代資料增強技術 | W&B](https://wandb.ai/authors/tfaugmentation/reports/Modern-Data-Augmentation-Techniques-for-Computer-Vision–VmlldzoxNzU3NTU))。一句話來說,我們所享有的電腦視覺技術現況,實際上就是與OpenCV一起成長過來的。 |
未來會如何發展? (What’s Next)
那麼,當捨棄老舊骨幹、搭載全新超高速引擎的OpenCV 5完全在世上扎根之後,我們在日常生活中會面臨什麼樣的改變呢?
當然,明天早上的智慧型手機App設計並不會像施了魔法般瞬間改變。這項變化發生在肉眼看不見的地方。控制無人商店攝影機、自動駕駛無人機、智慧型手機臉部辨識App的「數據血管」將變得非常寬闊。過去,即使安裝了昂貴且優質的攝影機,也會因為受限於舊版軟體,導致畫面出現微小的卡頓,或者必須勉強降低畫質;但現在,即便是高畫質的數據,也能如流水般流暢且平順地被處理。
最先切身感受到這巨大飛躍所帶來好處的人,將是AI開發者與工程師們。他們可以大幅減少每次有新設備推出時,為了勉強相容舊版軟體與修補瓶頸現象而浪費的時間(建立高效能資料路徑:AI 與視覺系統的全新評估平台…)。而工程師們所節省下來的寶貴時間,將會化為更出色的成果回饋給我們。這將直接催生出耗電量低且速度快的智慧型手機相機App、能在0.1秒的瞬間防止事故的自動駕駛汽車,以及能成為視障人士真正雙眼的超高反應力智慧眼鏡。
說到底,OpenCV 5的登場,是一個將停留在老舊規格15年的發條重新上緊的歷史轉捩點。這個默默開拓著以視覺感知世界方式的巨大專案,未來會將我們的生活引領至多麼令人驚豔的人工智慧世界?我們只需要輕鬆地期待並拭目以待即可。
AI的觀點 (AI’s Take)
MindTickleBytes AI記者觀點:在建造堅固的建築物時,最重要的不是華麗的大理石外牆,而是深深打入地底的鋼骨骨架。硬體無論發展得多麼耀眼,如果沒有軟體這個大腦與骨架來作為堅實的後盾,其潛力終將被困在狹窄的管線裡。
OpenCV 5是一個將暢通我們身邊長期累積的軟體架構壅塞,並完全釋放最新硬體巨大力量的「沉靜巨人」。即使在大眾眼中,這或許不像是一場華麗的新產品發表會,但它絕對是一個能在看不見的地方,突破性提升我們日常生活中視覺智能(Visual Intelligence)技術的體感速度與效能的真正破局者。這次的大規模更新清楚地證明了:不是改變華麗的外表,而是從根本上改變最底層堅實的骨架,這才是改變世界最確實的創新。我們現在正站在電腦視覺全新文藝復興的開端。
參考資料
- OpenCV - 維基百科
- OpenCV - 開源電腦視覺函式庫
- OE 5. OpenCV 5
- OpenCV AI 競賽中電腦視覺應用的 5 大新興趨勢 - OpenCV
- OpenCV 5 進度更新(2024 年 5 月 9 日) - OpenCV
- OpenCV 檔案館 - OpenCV
-
[使用 CPU 達到 30 FPS 的手部追蹤 OpenCV Python (2021) - YouTube](https://www.youtube.com/watch?v=NZde8Xt78Iw) - GitHub - opencv/opencv: 開源電腦視覺函式庫
- 建立高效能資料路徑:AI 與視覺系統的全新評估平台…
-
[電腦視覺的現代資料增強技術 W&B](https://wandb.ai/authors/tfaugmentation/reports/Modern-Data-Augmentation-Techniques-for-Computer-Vision–VmlldzoxNzU3NTU) - 「我們使用 Claude Code 移植到 OpenCV 5 所學到的事…」
- OpenCV Python 綁定的 Wrapper 套件。
- OpenCV 與 Python 中的電腦視覺:這是什麼… / Skillbox Media
- 轉為付費制
- API與內部架構的全面改版
- 改為網頁瀏覽器專用
- 2000年
- 2009年
- 2020年
- Python
- Java
- C++