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