Tensorflow官方現在釋出TensorFlow.js新的人物分割模型BodyPix 2.0,這個新版本新增多人支援,且也以ResNet50改善了精確度,官方也提供了權重量化功能,並支援不同圖像尺寸。最新版本的BodyPix已經可以在GitHub儲存庫中取得。

BodyPix是一個開源的機器學習模型, 讓開發者在瀏覽器中,使用TensorFlow.js對圖像進行人物(Person Segmentation)和身體部分(Body-part Segmentation)的分割。圖像分割技術是對圖像中的畫素進行語義分類,通常用於偵測物體或是邊界,而BodyPix模型可以在圖像中辨識出人,或是人的24個身體部位,也就是說,BodyPix可以將圖像的畫素分為人物與背景兩類,而針對人物的畫素,還可細分為24個部位。

官方提到,之所以要在瀏覽器支援人物分割的功能,是因為目前大多數的人物分割對系統的要求都很嚴苛,像是要使用專用硬體以及安裝較複雜的軟體,才能進行即時的人物分割,但BodyPix提供一個簡單的方式,讓使用者不需要安裝軟體,也不需要使用專業的攝影機。

BodyPix模型可以搭配任意網路攝影鏡頭和行動裝置的鏡頭使用,而使用者只需要在瀏覽器輸入URL,即可存取這些人物分割應用程式,而且因為所有的計算都是在裝置上完成,使用者資料皆能保持私密。

在進行人物分割的時候,BodyPix模型會預測所有畫素屬於人的機率,這些數字是介於0到1之間的浮點數,開發者可調整分割閾值,設定一個畫素屬於人的值,當閾值為0.5時,畫素的值大於0.5則會被設定成二進位的1,而小於0.5便會被轉換成0,藉以分割圖像中人與背景(下圖)。身體部位分割也是採用類似的方法,身體的每個畫素都會被分類為0到23的整數值,指示像素屬於24個身體部位的其中一個,而身體外部的畫素則會被設定為-1。

在之前,BodyPix都只能處理圖像中的單一人物,而新推出的BodyPix 2.0,最重要的更新便是開始支援即時多人物分割,在包含多人的圖像中,模型可以分別預測每個人的分割,不只如此,現在還能進行多人物的身體部位分割,將圖像中的每個人從背景分割出來後,並且分割每個人物的每個身體部位。

熱門新聞

Advertisement