HORUS 防水鏡頭 – 即時水下影像處理(OpenCV + Python)

水下影像分析是一個極具挑戰性的研究。與空氣對比,水的特質具備,(1)比空氣較易有混濁環境,(2)較大的折射率(1.33)與(3)較強吸光性。前兩者讓水下影像較易模糊影像而常常必須進行除霧化;後者讓水下影像顏色失真而必須進行還原。

目前的水下影像分析比較著重在,針對單一的水下影像檔案進行除霧化或顏色還原,日前麻省理工學院工程師開發新技術 Sea-thru,可把水底照片「去水」

Underwater-image-processing

除了還原水下實際影像,水下物體與地形辨識也是一個重要課題。

針對上述水下影像進行分析,研究者往往需要利用水下機器人(ROV)下水進行拍照,ROV上岸後再取下影像輸入特定電腦進行研究。如這樣的學習曲線也是比較沒有效率且漫長的。

如果搭配現有AI演算進行即時水下影像分析,就必須被電腦語言程式(比方python + OpenCV)取得水下機器人原始即時影像(一般ROV的控制介面影像會包含導航等資料),同時進行AI分析。即時影,這往往需要原廠支持。一般市售便宜的娛樂ROV很少提供這樣的服務。自己DIY ROV 成了這些影像分析者的另一個選擇,也增加了相關成本。

HORUS防水鏡頭提供了另一種思維的水下影像分析解決方案。

現有水下機器人的即時影像取得困難,主要原因是ROV影像信號嵌入在廠商設計的系統透過纜線到終端顯示,這往往需要廠商的支持才可以做特定需求的修改。如果把HORUS防水鏡頭作為ROV的第二甚至更多的輔助鏡頭,便可以取得更多不同角度的即時影像。有別於一般掛載的水下攝影機比如Gopro,HORUS防水鏡頭 的傳輸線可依附在水下機器人的控制線上,提供的USB接頭讓筆電上運行的電腦程式可以直接讀取即時影像並且馬上分析。

此外如果把水下機器人的操控系統與影像系統分開設計,也可以簡化水下機器人的複雜度與成本。伊帕內瑪水管ROV與HORUS的搭配就是一個很好的範例。

HORUS+IPANEMA-STEM-PVC-ROV

在影像分析領域,OpenCV 加上 Python 語言是最常被搭配使用的程式語言之一,網路上有非常多的程式範例。Anaconda 是一個免費開源的 Python 和 R 語言的開發環境(IDE),整合了Python常用的資料分析、機器學習、視覺化的套件,用於計算科學(數據科學、機器學習、大數據處理和預測分析)。

ROV MAKER 團隊提供了在 Anaconda 上運行的 OpenCV + Python 程式範例供參考, 下載連結。程式執行影片參考如下:

ROV MAKER 目前嘗試利用STEM 水管ROV 搭配 HOURS防水鏡頭,成為一個初級的ROV控制專案。概念是在筆電Anaconda運行python程式,接收HORUS防水鏡頭的即時影像進行判斷,依據結果指揮水管ROV的運作,這可以追蹤水中特定形狀或顏色物體。以下是相關概念影片:

了解更多