誰才是真正的C位,讓AI告訴你

大數據技術2019-06-25 17:37:50

來自公眾號:視説AI

作者簡介:李翔,國內某互聯網大廠AI民工,前攜程酒店圖像技術負責人,計算機視覺和深度學習重度愛好者。



寫在前面


C位是近年網絡上一個比較熱門的詞,最早來源於DOTA等遊戲領域,是核心位置(Carry位)的簡稱,代表的是能夠在遊戲前中期打錢發育並在遊戲後期帶領隊伍力挽狂瀾的角色。現在C位一詞逐漸擴大到了娛樂圈乃至我們的生活中,在社交、表演、比賽以及各種日常活動場景中,只要當某一個人在人羣中處於中心位置,即最重要的人,大家便稱呼他是C位(Center位)。



在包含眾多人像的照片中,由於每個人的穿着和動作各異,同時人與人之間存在各種交互信息,以及所處的場景不同,我們通過肉眼來確定C位的時候可能會出現各種偏差。在人工智能快速發展的今天,我們能否可以通過AI來自動找出C位呢?答案當然是肯定的。在這篇文章中,我們將介紹如何利用計算機視覺和深度學習技術構建一個性能優異的C位檢測器,從而快速準確地在一羣人中發現真正站C位的那個最重要的人。



C位檢測器前傳


C位檢測器的目標是檢測出一羣人中最重要的人。一般來説,C位檢測器主要由兩部分組成,第一部分是人臉/全身檢測模型,通過該模型首先檢測出照片中的所有人像;第二部分是人像重要性預測模型,通過該模型對檢測出的每個人像計算重要性得分,重要性得分最高的人即為C位。

 

當前的人臉/全身檢測模型的性能已經比較理想,而人像重要性預測模型還處在研究和探索階段,所以下面我們的內容將主要圍繞如何量化一羣人中每個人的重要性展開。


最直接的人像重要性計算可以基於照片中人像所處的位置和麪積進行設計,例如,離照片中心點越近則重要性越高,人像的面積越大則重要性越高等等。然而我們判斷一個人是不是C位,除了利用照片中人像所處的位置和麪積這類人像自身的幾何信息外,還會根據照片上的各種信息綜合判斷:人像自身的外表信息(上圖(a))、與其他人之間的關係信息(上圖(b))以及所處的全局場景信息(上圖(c))。

 

人與人之間的關係和人與場景之間的關係對C位的判斷起到關鍵性作用。如果我們只利用人像的自身特徵進行重要性計算,例如上圖(a)中的紅框女性,我們其實無法知道她是否是照片中最重要的人。但我們通過她與周圍人之間和與整體場景之間的關係信息分析便可以得出她是C位的結論。

 

一個理想的人像重要性預測模型應根據上面提到的各方面信息進行聯合計算。如何提取照片上豐富的多元化信息?如何對人與人之間和人與場景之間的關係建模,從而獲取高層次的語義信息?如何最終根據照片上人像的多元化信息和高層次語義信息的特徵進行重要性評估?這些都是擺在我們面前的問題,需要我們去一一解決。



一個出色的C位檢測器


為了解決上節末提出的三個問題,我們實驗室的小夥伴們攻堅克難,提出了一種全新而高效的人像重要性預測模型,構建了一個出色的C位檢測器,相關工作發表在CVPR 2019。下面我們對其中的模型框架和建模思路進行一一介紹,希望給大家帶來更多的啟發和思考。

 

整個人像重要性預測模型分為三個模塊,分別是特徵表達模塊、關係計算模塊和重要性分類模塊。特徵表達模塊能夠有效地提取照片中每個人的自身特徵和整張照片的全局場景特徵。關係計算模塊能夠對人與人之間和人與場景之間的關係進行建模。重要性分類模塊能夠計算每個人像的重要性得分,從而最終識別出最重要的C位人選。完整的模型框架如下圖所示。



特徵表達模塊針對上節末“如何提取照片上豐富的多元化信息?”這一問題進行設計。為了充分地獲取人像自身豐富的特徵表達,人像的外表信息和幾何信息都會進行特徵提取。深度卷積神經網絡被用來實現提取流程,如下圖所示。其中,外表信息被分為內在(綠框)和外在(藍框)兩部分,內在區域更多提取人像固有的外表信息,外在區域更多用於提取人像外表以及與周圍環境的上下文信息,從而保證了人像信息的多元化。此外整張照片的全局場景信息(黃框)也會通過卷積神經網絡實現特徵提取。



關係計算模塊針對上節末“如何對人與人之間和人與場景之間的關係建模,從而獲取高層次的語義信息?”這一問題進行設計,是整個模型中最關鍵的模塊。在該模塊中,關係網絡(Relation Networks)被用來對在特徵表達模塊中提取的人像特徵和場景特徵進行關係建模。關係網絡能夠在沒有額外監督信息的前提下,自動學習人與人之間和人與場景之間的關係,從而提取更高層次的語義信息以表徵人在場景中的重要性。具體會分別建立人與人之間的關係圖和人與場景之間的關係圖,通過多個並行的關係網絡提取關係特徵並連接,再與原有的人像特徵相加,得到最終的特徵表達。

重要性分類模塊針對上節末“如何最終根據照片上人像的多元化信息以及高層次語義信息的特徵進行重要性評估?”這一問題進行設計。通過對在關係計算模型中提取的每個人像的最終特徵表達進行重要/不重要的二分類,將每個人像被分為重要這個類別的概率作為重要性得分,得分最高的人像就是模型認定的C位。



以上三個模塊一起實現了端到端的人像重要性訓練和預測。最後我們來看一看利用上述模型進行C位檢測的可視化結果。紅框代表的是模型檢測出來的C位,綠框代表的是當前其他最好方法的檢測結果,可以看出在充分考慮了照片中人與人之間和人與場景之間的關係信息後,在各種複雜場景下,AI均能夠準確地檢測出真正的C位。



寫在最後

 

C位檢測可以自動快速地在人羣中找出最重要的那個人。通過這篇文章,我們介紹了利用AI進行C位檢測的一般流程和遇到的挑戰,也進一步分享了一種優秀的C位檢測器的構建思路與過程。其中的更多細節大家可以在arXiv上搜索《Learning to Learn Relation for Important People Detection in Still Images》進行查看。最後祝大家都能在各自的領域內不斷進步,實現自我價值,站上屬於自己的C位。



一些資料

[1] Learning to learn relation for important people detection in still images

[2] Personrank:Detecting important people in images

[3] Relation networks for object detection


代碼及更多技術細節可在此鏈接中查看:https://weihonglee.github.io/Projects/POINT/POINT.htm



●編號840,輸入編號直達本文

●輸入m獲取文章目錄

推薦↓↓↓

Linux學習

更多推薦25個技術類公眾微信

涵蓋:程序人生、算法與數據結構、黑客技術與網絡安全、大數據技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、數據庫、運維等。

https://hk.wxwenku.com/d/201001974