百度大腦EasyDL零售版貨架拼接技術探祕

在快消行業的商品識別需求場景中,快消品牌商的業務代表在終端門店拜訪銷售時,需對商品陳列規範進行審查。傳統做法需要人工統計,耗費時間長,人力成本高,且數據真實性無法保障。快消品牌商為了對訪銷過程進行精細化管理,開始使用SFA、DMS等工具進行數字化轉型,並探索利用AI技術對現有的數字化訪銷實現“降本、增效、動銷”,推動其規模化落地,最終拉動業績增長。

EasyDL是基於百度飛槳框架PaddlePaddle推出的面向企業打造的一站式AI開發平臺,包括經典版、專業版、零售版三款產品,面向不同人群、不同場景需求,提供高效進行AI模型開發部署的平臺產品。其中百度EasyDL零售版圍繞零售快消品行業的數字化訪銷場景,提供了核心的商品檢測識別模型及配套服務能力,包括定製商品檢測服務、標準商品檢測服務和貨架拼接服務。標準商品檢測服務提供無需訓練即可直接使用的商品檢測API,支持識別數千種常見飲品和日化用品;定製商品檢測服務,提供易操作的定製模型頁面,用戶僅需要五步便可以定製新的商品識別模型。標準和定製商品檢測服務都支持返回商品的名稱、品牌、規格和商品在圖中的位置,可用於輔助統計完整貨架上的商品排面、貨架佔比、商品分銷等陳列指標。由於一些門店內的貨架較長,需要對多張貨架局部圖片進行拼接,才能統計完整貨架上的商品陳列指標,因此自動實現貨架拼接並智能識別商品,成為快消品行業陳列審核效率提升的重要環節。為了滿足這一需求,百度EasyDL零售版推出了貨架拼接服務。

百度飛槳EasyDL零售版貨架拼接服務支持將多個貨架的局部圖片或視頻,組合為完整貨架圖片;同時支持使用定製的或標準的商品檢測服務對局部貨架圖片進行商品檢測,並在拼接好的完整貨架圖中輸出商品檢測結果,其中包含SKU的名稱和數量,適用於需要在長貨架進行商品檢測的業務場景,並且支持雲服務調用、離線SDK部署或生成APP。下面,我們來看看貨架拼接服務的使用方式和具體實現細節。

1、百度飛槳EasyDL貨架拼接服務結構總覽

百度大腦EasyDL零售版貨架拼接技術探秘

上圖是貨架拼接服務的整體結構總覽圖,用戶可以通過三種方式使用與體驗:1)直接調用雲服務API;2)使用離線部署SDK;3)生成體驗APP。

在雲服務API方式中,為了方便用戶對需拼接的貨架圖片進行上傳、查詢等動作,我們提供了6個API接口,分別為:創建任務、上傳圖片、開始任務、查詢結果、終止任務和任務列表。其中,在查詢結果這個API中,根據任務狀態的進度不同,共有六種可能的任務狀態,包括:Created(已創建)、Queued(排隊中)、Running(正在拼接)、Success(拼接成功)、Failure(拼接失敗)、Terminated(已終止)。下圖為任務狀態的轉換圖:

百度大腦EasyDL零售版貨架拼接技術探秘

離線SDK是將API進行封裝後,支持用戶快速部署到多種硬件環境中離線使用,滿足各類無網絡環境或需要高併發返回預測結果的場景使用。

當用戶完成模型發佈後,在貨架拼接服務的頁面上可以選擇生成體驗APP,下載到手機進行使用。體驗APP支持用戶拍攝貨架視頻,APP會自動對視頻進行抽幀獲取局部貨架圖片。如果用戶尚未發佈一個模型但想要體驗APP的使用,也可以通過https://ai.baidu.com/easydl/app/1001/vas/img-stitch 申請邀測權限,步驟如下:

百度大腦EasyDL零售版貨架拼接技術探秘百度大腦EasyDL零售版貨架拼接技術探秘
百度大腦EasyDL零售版貨架拼接技術探秘

整個貨架拼接流程中使用的關鍵模塊和功能包括:

1)Task Manager: 任務信息管理服務,提供了6個通用的API,管理貨架拼接任務的meta數據、完成用戶對任務的各種操作,對用戶數據鑑權等;

2)Daemon Scheduler:後臺守護進程,負責掃描和調度可執行的貨架拼接離線任務;對任務進行流控管理;任務執行異常檢查等;

3)DagTask Scheduler:基於有向無環圖(DAG)調度和執行任務。由於貨架拼接離線任務流程較為複雜,可以分為若干個子任務,部分子任務可並行執行,通過DAG的方式來組織和運行整體離線任務,可以提升任務的運行效率,後面會詳細介紹離線任務的完整結構。

2、百度飛槳EasyDL貨架拼接離線任務實現詳解

接下來,一起了解下離線任務是如何實現的。貨架拼接服務支持用戶上傳從上到下、橫向拍攝的多個視頻或者多組局部貨架圖片,貨架拼接任務會先後進行橫向和縱向的貨架圖片拼接,獲取完整的貨架大圖;另外由於用戶在百度EasyDL平臺訓練商品檢測模型使用的往往是貨架的局部圖片,因此需要使用局部圖片調用API進行商品檢測,並根據拼接參數將檢測框的位置校準的拼接大圖上。整個流程可拆分為以下5個子任務:

1)調用用戶指定的定製或者標準的商品檢測模型服務對局部貨架圖片進行商品檢測,獲取商品名稱和在局部圖片上的檢測框位置信息。

百度大腦EasyDL零售版貨架拼接技術探秘

2)對每一組從左到右拍攝的局部貨架圖片,獲得一張拼接的完整貨架圖片。

百度大腦EasyDL零售版貨架拼接技術探秘

3)經過步驟2,獲取N組貨架圖片橫向拼接後生成的大圖,對N張大圖進行縱向的圖片拼接,獲得最終完整的貨架完整大圖。

百度大腦EasyDL零售版貨架拼接技術探秘

4) 對於每一組從左到右拍攝的圖片,通過步驟2會得到的一組拼接參數,使用這組參數計算,對這組圖片的商品檢測框的位置進行相應的平移、旋轉、拉伸等,將檢測框橫向校準到拼接大圖上的相應位置,並對重疊較多的檢測框進行去重。

百度大腦EasyDL零售版貨架拼接技術探秘

5) 類似與步驟4,通過步驟3產生的拼接參數,對步驟4橫向校準後的商品檢測框,再次做縱向的位置校準,得到商品在最終大圖上的位置。

百度大腦EasyDL零售版貨架拼接技術探秘

整個流程總體可以組織如下所示的DAG:

百度大腦EasyDL零售版貨架拼接技術探秘

從上圖可以發現,在任務開始階段,子任務1和2沒有依賴的關係,可並行運行;在子任務2成功後,任務3即可運行,無需等待子任務1的結果;通過DAG方式可以使得子任務局部並行運行,加快整體拼接任務的處理速度。 另外,貨架圖片拼接子任務通過容器化的方式運行,避免對部署環境的依賴,提升可擴展性;通過調度資源工具,避免GPU、CPU等資源的搶佔衝突,提升拼接任務的可靠性。

3、百度飛槳EasyDL貨架拼接算法詳解

縱觀整個貨架拼接離線任務,其中較為核心的還是貨架拼接算法,算法的設計決定了拼接任務的速度、可靠性以及結果的準確性等。下面,將對貨架拼接算法進行詳細介紹。

3.1、貨架拼接算法

貨架拼接算法本質上是屬於圖像拼接算法的範疇,在圖像拼接算法中,目前主要有三種不同的方法:1)全局對齊方法,以一個單應性矩陣來對齊圖像,通過求解相機參數對圖像進行變換和融合,輸出拼接圖像;2)空域變化繪製方法,將圖像劃分為密集的網格,每個網格都用一個單應性矩陣對齊,然後對每個網格進行優化變形,採用全局對齊類似的方法對網格圖像進行拼接;3)縫合線主導方法,以匹配圖像之間的縫合線為主導,不用嚴格去對齊整個重疊區域,而是隻對齊縫合線附近的區域,通過縫合線實現圖像的拼接。

而對於貨架拼接的場景來說,拍攝圖片的方式一般都是手機端平移拍攝,存在拍攝的角度比較隨意、拍攝距離近、需要拼接的圖片數量比較多的問題。而在上述的圖像拼接算法中,全局對齊方法要求各次拍攝時相機的光心近乎重合,即拍攝時相機只能做純旋轉運動,對拍攝方式的要求很高。空域變化繪製方法和縫合線主導方法對匹配的特徵內點的數量和質量要求較高,而且需要調整更多的超參數,計算量較大,拼接速度慢,無法用於大量圖片的拼接任務。因此,上述幾種圖像拼接的方法都無法很好地解決貨架拼接場景存在的問題,不能直接用於貨架拼接。

針對上述貨架拼接場景存在的問題,我們在全局對齊方法的基礎上對拼接算法進行了優化。首先,針對平移拍攝角度比較隨意的問題,在進行貨架圖像拼接之前,我們對輸入的貨架圖像進行水平矯正,將所有圖像都矯正到相同的拍攝視角下,這樣可以有效減小拍攝角度對拼接效果的影響,拼接效果有了很大提升。其次,當輸入的貨架圖片數量較多時,為了減小拼接難度,提高拼接的效率,我們自動對輸入的貨架圖片進行分組,將大量圖片的單次拼接分解成少量圖片的多次並行拼接,可以有效降低拼接時間。

在分組拼接的過程中,我們採用與全局對齊類似的方法對單個分組的貨架圖片進行拼接,通過貨架圖像之間的匹配、變換和融合,得到每個分組的拼接圖片。之後對多個分組的拼接圖片進行合併,輸出整個貨架的拼接圖片和拼接參數。貨架拼接算法的整體流程如下:

百度大腦EasyDL零售版貨架拼接技術探秘

3.2、SKU檢測框合併去重

SKU檢測框合併去重整體流程圖:

百度大腦EasyDL零售版貨架拼接技術探秘

對於在相鄰圖片重疊部分的SKU,其在兩張圖片上都會被檢測出來,因此我們需要對這部分SKU進行合併和去重,去除相同的SKU。具體步驟如下:

1)將每張圖片上檢測到的SKU檢測框座標根據貨架拼接的參數進行變換,將單張圖片上的SKU檢測框座標轉換成拼接圖片上的SKU檢測框座標。

2)對於當前圖片上的每個SKU檢測框,當與其他某個SKU檢測框之間有重疊部分,且重疊部分的交併比(IOU)大於某一個閾值時,判定這兩個SKU檢測框屬於同一個檢測框。

3)根據這兩個SKU檢測框的座標以及置信度進行合併去重,得到最終的SKU檢測框座標。

4)當對所有圖片上的SKU檢測框都進行合併去重後,統計拼接圖片上的每一個種類的SKU檢測框的數量,可以得到整個貨架上SKU的種類以及數量,輸出整個貨架上SKU的統計信息。

以上為百度飛槳EasyDL零售版貨架拼接服務架構和算法詳解的全部內容,為了全面助力快消品牌商對訪銷過程進行精細化管理,圍繞快速消費品企業在線下渠道中的銷量邏輯,百度大腦推出了基於AI技術的數字化訪銷解決方案,在EasyDL零售版的基礎上,還提供翻拍識別、門臉識別和門店拜訪行程規劃等AI能力,幫助品牌商有效提升一線業務人員人效,最終實現銷量的增長。

目前已有多家零售快消品牌商和服務商在實際業務中使用百度EasyDL零售版,提升終端門店管理與執行的效率和效果,準確地洞察商品在貨架上的真實信息,讓數據分析更高效精準,有效縮短決策時長,從而實現市場運營與決策的智能化。


分享到:


相關文章: