隨著ChatGPT的火爆,人們對于人工智能領域的發展產生了極大的興趣。很多專家認為,一個人工智能的時代將隨著軟硬件技術的快速發展即將到來。那么,作為信息技術領域的先鋒隊,對于程序員們來說,學習人工智能技術也就成了必然的課題。
通常來講,人工智能可以分為三個研究方向:計算智能、感知智能和認知智能。
計算智能是人們比較熟悉的計算機的常規操作,例如數值運算、矩陣分解、微積分計算等。
感知智能是指將物理世界的信號通過攝像頭、麥克風或者其他傳感器的硬件設備,借助語音識別、圖像識別等前沿技術,映射到數字世界,再將這些數字信息進一步提升至可認知的層次,比如記憶、理解、規劃、決策等等。
認知智能則更類似于人類的思維理解、知識共享、行動協同或博弈等,也就是說基于獲取的信息做出思考與決策。這一階段需要運用計算智能、感知智能的數據清洗、圖像識別等能力。除此之外,還需要擁有對于業務需求的理解以及對分散數據、知識的統籌治理能力,從而能夠針對業務場景進行策略構建和決策。
目前來說,大量的人工智能工作集中在感知智能階段,對于認知智能,則相對來說進展較為緩慢。
在認知智能領域,與人們生活最為接近的是視頻描述技術。通過感知智能技術中的視頻分類、物體檢測等技術,我們可以對于視頻中出現了什么物體進行識別。但是這并不能使人們理解視頻到底描述了什么,只能機械的描述說,一個紅臉的男人、一把刀和一匹紅色的馬之類的。
視頻描述需要識別出視頻中的物體,并理解物體之間的相互關系,同時理解場景的不同,物體運動和行為的不同,結合相應的已存儲知識,作出符合實現的描述。這都在技術上帶來了很大的挑戰性。是一個整合了計算機視覺和自然語言處理的綜合技術,類似于將一段視頻翻譯成一段話。不僅要正確理解視頻內容,還要用自然語言表達出視頻中物體之間的關系。
當前視頻內容描述算法主要分為基于語言模板的方法、基于檢索的方法和基本編碼器解碼器的方法。下面我們分別來介紹一下。
一、基于語言模板的方法
基于語言模板的方法首先通過視頻分類或目標檢測等方法檢測出視頻中目標、屬性、動作以及目標之間的關系等,然后將檢測到的物體,依據一定的規則,填入到事先制定好的語言模板中,從而形成一句完整的描述語句。
基于語言模板的方法簡單直觀,但是由于受到固定模板的限制,生成的句子語法結構單一,表達形式缺乏靈活性。同時這種方法必須進行前期細致的標注工作,為視頻中包含的每個物體、動作、屬性等制定統一的類別標簽。而且該方法對于超出模板范圍的視頻,會給出差異很大的結果。
二、基于檢索的方法
基于檢索的方法,首先需要建立一個數據庫,數據庫中每個視頻都有對應的語句描述標簽。輸入待描述的視頻,然后找到數據庫中與之最相似的一些視頻,經過歸納和重置,把該相似視頻對應的描述語句遷移到待描述的視頻。
通常來講,基于檢索的方法生成的描述語句更加貼近人類自然語言的表達形式,句子結構更加靈活。但是此方法嚴重依賴數據庫的大小,當數據庫中缺少與待描述視頻類似的視頻時,生成的描述語句將和視頻內容存在較大的誤差。上述兩種方法都嚴重依賴視覺前期復雜的處理過程,且存在對后期生成句子的語言模型優化不足的問題。對于視頻描述問題,這兩類方法都難以生成描述準確、表達形式多樣的高質量語句。
三、基于編碼器解碼器的方法
基于編碼解碼器的方法,是目前視頻描述領域的主流方法。這主要受益于基于深度神經網絡的編碼解碼模型在機器翻譯領域取得的突破進展。
機器翻譯的基本思路是: 將輸入的源語句和目標語句表示在同一向量空間內,首先使用編碼器將源語句編碼為一個中間向量,然后再通過解碼器將中間向量解碼為目標語句。
視頻描述問題本質上也可以看做是一個“翻譯”問題,即把視頻翻譯成自然語言。此方法前期不需要對視頻采取復雜的處理過程,能夠直接從大量的訓練數據中學習視頻到描述語言的映射關系,實現端到端的訓練,并且能夠產生內容更加精確、語法靈活和形式多樣的視頻描述。