使用機器學習方法識別視訊串流中的坦克(厄爾布魯士和貝加爾湖平台上的+2個視訊)

使用機器學習方法識別視訊串流中的坦克(厄爾布魯士和貝加爾湖平台上的+2個視訊)

在我們的活動過程中,我們每天都面臨著確定發展優先事項的問題。 考慮到IT產業的高速發展,企業和政府對新技術的需求不斷增加,每次我們確定發展向量並投入自己的力量和資金來挖掘公司的科學潛力時,我們都確保:我們所有的研究和項目都是基礎性和跨學科的。

因此,透過開發我們的主要技術-HIEROGLYPH資料識別框架,我們既關心提高文件識別(我們的主要業務線)的質量,也關心利用該技術解決相關識別問題的可能性。 在今天的文章中,我們將告訴您如何基於我們的識別引擎(文檔)來識別視訊串流中較大的、具有戰略意義的物件。

制定問題

利用現有的開發成果,建造一個坦克識別系統,可以對物體進行分類,並在控制不佳的條件下確定基本的幾何指標(方向和距離),而無需使用專用設備。

解決方法

我們選擇統計機器學習方法作為解決問題的主要演算法。 但機器學習的關鍵問題之一是需要有足夠的訓練資料。 顯然,我們無法獲得從包含我們需要的物體的真實場景中獲得的自然圖像。 因此,決定求助於產生必要的數據進行訓練,幸運的是 我們在這個地方有很多經驗。 然而,對我們來說,完全綜合該任務的數據似乎不自然,因此準備了特殊的佈局來模擬真實場景。 模型包含模擬鄉村的各種物件:特色景觀覆蓋物、灌木叢、樹木、柵欄等。 使用小型數位相機拍攝影像。 在影像捕捉過程中,場景的背景發生了顯著的變化,使得演算法對背景變化具有更強的穩健性。

使用機器學習方法識別視訊串流中的坦克(厄爾布魯士和貝加爾湖平台上的+2個視訊)

目標對象為4種型號的主戰坦克:T-90(俄羅斯)、M1A2艾布拉姆斯(美國)、T-14(俄羅斯)、梅卡瓦III(以色列)。 物件位於多邊形的不同位置,從而擴大了物件可接受的可見角度的清單。 工程屏障、樹木、灌木叢等景觀元素發揮了重要作用。

使用機器學習方法識別視訊串流中的坦克(厄爾布魯士和貝加爾湖平台上的+2個視訊)

因此,在幾天之內,我們收集了足夠的資料集用於訓練和隨後評估演算法的品質(數萬張影像)。

他們決定將識別本身分為兩部分:物件定位和物件分類。 使用訓練有素的 Viola 和 Jones 分類器進行定位(畢竟,坦克是普通的剛性物體,並不比臉差,因此 Viola 和 Jones 的「細節盲」方法可以快速定位目標物體)。 但我們將角度的分類和確定委託給了卷積神經網路——在這項任務中,偵測器成功識別出那些能夠區分 T-90 和 Merkava 的特徵對我們來說很重要。 因此,可以建立有效的演算法組合,成功解決同一類型物件的定位和分類問題。

使用機器學習方法識別視訊串流中的坦克(厄爾布魯士和貝加爾湖平台上的+2個視訊)

接下來,我們在所有現有平台(Intel、ARM、Elbrus、Baikal、KOMDIV)上啟動了最終的程序,優化了計算困難的演算法以提高效能(我們已經在文章中多次提到這一點,例如這裡 https://habr.com/ru/company/smartengines/blog/438948/https://habr.com/ru/company/smartengines/blog/351134/)並實現了程式在設備上即時穩定運行。


透過上述所有行動,我們獲得了具有顯著戰術和技術特徵的成熟軟體產品。

智慧型儲罐讀取器

因此,我們向您展示我們的新開發成果 - 一個用於識別視訊串流中坦克圖像的程序 智慧型儲罐讀取器, 哪個:

使用機器學習方法識別視訊串流中的坦克(厄爾布魯士和貝加爾湖平台上的+2個視訊)

  • 即時解決一組給定物件的「朋友或敵人」問題;
  • 確定幾何參數(到物體的距離、物體的首選方向);
  • 可在不受控制的天氣條件下以及物體被異物部分遮擋的情況下工作;
  • 在目標設備上完全自主運行,包括在沒有無線電通訊的情況下;
  • 支援的處理器架構清單:Elbrus、Baikal、KOMDIV,以及 x86、x86_64、ARM;
  • 支援的作業系統清單:Elbrus OS、AstraLinux OS、Atlix OS,以及 MS Windows、macOS、支援 gcc 4.8、Android、iOS 的各種 Linux 發行版;
  • 完全國內開發。

通常,在關於 Habré 的文章的結論中,我們會提供一個市場鏈接,任何使用手機的人都可以下載該應用程式的演示版本,以便實際評估該技術的性能。 這次,考慮到最終應用程式的具體情況,我們希望所有讀者一生中都不會遇到快速確定坦克是否屬於某一方的問題。

來源: www.habr.com

添加評論