電腦幫你算社交距離 世界第一物件偵測技術:YOLOv4-科學人雜誌
中研院-研之有物

電腦幫你算社交距離 世界第一物件偵測技術:YOLOv4

2021/09/29 中央研究院企劃製作
本文節錄自中央研究院「研之有物」科普平臺
▲YOLOv4 可用於計算行人是否保持社交距離。

最新的人工智慧(AI)物件偵測演算法YOLO第四版(You Only Look Once version 4, YOLOv4)是至今最快、精準度最高的物件偵測系統,除了即時偵測車流速度之外,甚至能辨識並捕捉高速滑雪運動中的人與物體。而這項YOLOv4系統,正是由中央研究院資訊科學研究所特聘研究員兼所長廖弘源、博士後研究員王建堯,與俄羅斯學者博科夫斯基(Alexey Bochkovskiy)共同研發。


物件偵測演算法緣起:十字路口的交通分析

幾年前,在科技部的「產學共創」模式之下,有企業詢問中研院資訊所:如何改善十字路口的交通分析?也就是即時偵測車流量、車速等。當時十字路口已架設了監視器,接下來還待補足的就是辨識車輛的物件偵測技術。


「但我們需要的不只是辨識車輛而已。」王建堯說。車輛在馬路上運行的速度很快,物件偵測技術必須即時辨識出車輛,並能持續追蹤以計算車速。


此外,影像資料不斷產生,若全數上傳雲端運算,不但耗時,雲端電腦也會負擔太大。所以偵測技術的計算量必須夠小,讓裝在十字路口監視器上的小型計算器都能完成偵測物件的任務。


訓練這個卷積神經網路的方法是:先輸入大量已標記正確答案的素材 (例如各種車輛的圖片),讓機器學習如何判斷。機器判斷結果與正確答案不符,就反饋資訊給前面的網路層,藉此調整每層參數,以期達到更準確的判斷。


那麼,改善哪一步可以大幅提升表現?王建堯找到的關鍵是:學習的反饋過程。


卷積神經網路的難題:梯度消失問題

當卷積神經網路的網路層數越多,在反饋學習階段,因為每回傳一層就會損失部分資料,導致越前面的網路層學到的資料越少,訓練效率變差,稱為「梯度消失問題」(vanishing gradient problem)。


為了解決梯度消失問題, 前人曾經提出ResNet、DenseNet等卷積神經網路,把後一層資料備份後往前「跳級」傳遞。以ResNet為例,我們可以想像成「含水傳話」,如果從最後一層開始,每一層都備份錄音,再把錄音跳過一層直接往前傳,那麼前面的每一層都可接收到資訊,前面的網路層就不會學不到東西。


然而,ResNet具有太多重複的備份,不但浪費計算量,而且不同層的參數用來學習多餘的資訊,每一層能學到的東西都差不多。

▲上圖為原始的卷積神經網路(CNN),假設只有三層,在資料回傳的過程中會逐層遞減,稱為梯度消失問題。 下圖為改良版ResNet,從最後一層開始,每一層都備份,再把備份越過一層「跳級」傳遞,前面網路層就能接收到後面的資訊。


CSPNet讓機器學習更快更準

「是否有一種更好的方式,在不改參數量的前提下,讓機器運算變快,省下來的資源(參數)還能讓機器多學一點,提高精確度?」廖弘源說。於是在2019年初,廖弘源與王建堯團隊首先研發出局部殘差網路(partial residual networks, PRNet),把資訊「分流」,減少無謂的計算量,讓運算速度增加兩倍。同年11月,他們在PRNet的基礎上,緊接著研發出跨階段局部網路(cross stage partial network, CSPNet),利用分割-分流-合併的路徑,大幅減少計算量、卻能增加學習多元化,因此也得到更好的精確度。


CSPNet的重點在於資訊的分流與多了過渡層(Transtion),讓反饋的學習資訊在分流後產生差異,提高每一網路層參數的利用率,目標是讓機器學到更多元的東西,提高判斷的精確度。另一方面,因為資料分流的關係,有部份直接往後傳,不經過分析計算,使整個計算量變少,運算速度也因此加快。


技術開放創造更大價值

CSPNet發表之後,也吸引YOLO技術的維護者博科夫斯基的注意,於是他們很快展開合作,把CSPNet用於開發新一代的YOLO,並於2020年4月發表了YOLOv4,在全球的AI社群引爆討論。廖弘源笑說:「我們4月發表的論文,短短不到三個月,閱讀次數就超過了1,400次,比我以往發表的任何論文都還多。」其中的關鍵技術正是CSPNet。

由於 YOLOv4的技術是開放的,也開啟各式各樣的應用可能。例如即時偵測人們的社交距離,或快速判斷行人有沒有戴口罩,都是疫情下YOLOv4的不同應用。面對斐然也頗具商機潛力的科研成果,廖弘源卻對獎項或申請專利淡然以對,他強調研究的主要目的不是賺錢,「只希望我們對世界的好奇與探索,能真正轉化為對人類的貢獻。」


# 關鍵字:中研院社交距離物件偵測YOLOv4AI
更多文章
活動推薦更多
追蹤科學人