線下場景的客流數(shù)字化探索與應(yīng)用
在互聯(lián)網(wǎng)時代,數(shù)據(jù)是所有應(yīng)用的基礎(chǔ),淘寶的商家可以基于商品歷史的點擊成交量來判斷店內(nèi)各個商品的情況,并做出相應(yīng)的運營行為,淘寶的買家會根據(jù)商品歷史的成交數(shù)據(jù),評論數(shù)據(jù)等,來輔助自己判斷是否進行購買,同時我們平臺也會基于用戶和商品的歷史數(shù)據(jù),來訓(xùn)練模型,預(yù)測各個商品的點擊率,預(yù)測各個用戶的偏好,使展示的結(jié)果更符合用戶的需求。可以看出,數(shù)據(jù)對于各個不同的角色都有很重要的作用。
在互聯(lián)網(wǎng)中,獲取數(shù)據(jù)相對容易,反觀線下零售場景,大部分數(shù)據(jù)都是缺失的,商家并不知道店內(nèi)多少商品被瀏覽了,多少商品被試穿了,買家也不知道各件商品的歷史數(shù)據(jù)。
因此,我們的客流數(shù)字化相關(guān)的探索,就是要將線下的用戶和商品的行為數(shù)據(jù)收集起來,讓線下的行為也能有跡可循,為商業(yè)決策和市場運營提供準確有效的數(shù)據(jù)支撐,將傳統(tǒng)零售中的導(dǎo)購經(jīng)驗逐漸數(shù)字化成可量化和統(tǒng)計的數(shù)字指標,能夠輔助商家運營,同時幫助用戶進行決策?;谶@些數(shù)據(jù),也能夠讓算法在線下發(fā)揮更大的作用。
整體方案
整體方案如下圖所示,方案涉及場外的選品策略指導(dǎo),線下引流,進店的人群畫像,顧客軌跡跟蹤,人貨交互數(shù)據(jù)沉淀,試衣鏡互動/推薦,以及離店后的線上二次觸達。從場外到場內(nèi)再到線上,構(gòu)成了整體全流程的產(chǎn)品方案。
客流數(shù)字化探索
在門店客流數(shù)字化的探索中,硬件部署上,我們使用了門店已有的監(jiān)控攝像頭和RFID標簽,并結(jié)合視覺及射頻相關(guān)技術(shù),通過在門店部署GPU終端進行計算。技術(shù)方案上,我們基于人臉識別技術(shù),識別進店用戶的性別,年齡,新老客等基礎(chǔ)屬性,并通過行人檢測跟蹤與跨攝像頭的行人重識別技術(shù)跟蹤用戶在門店內(nèi)的動線變化,同時得到整體門店各個區(qū)域的熱力圖分布,此外,還通過攝像頭與RFID 多傳感器融合的技術(shù)識別用戶在門店內(nèi)的行為,包括翻動,試穿等,精確定位門店內(nèi)各個商品的瀏覽與試穿頻次以及用戶在線下的偏好。下面會主要介紹其中的行人檢測,行人重識別和動作識別這3個技術(shù)方向相關(guān)的優(yōu)化。
行人檢測
在新零售的客流數(shù)字化場景中,我們需要通過監(jiān)控攝像頭對門店客流的進店頻次、性別、動作、行為軌跡、停留時間等全面的記錄和分析。要達到我們的目標,首先需要能夠檢測并識別出攝像頭中的行人。
雖然目前YOLO等目標檢測算法可以做到近乎實時的計算性能,但其評估環(huán)境都是Titan X、M40等高性能GPU,且只能支持單路輸入。無論從硬件成本或是計算能力方面考慮,這些算法都無法直接應(yīng)用到真實場景中。當然YOLO官方也提供了像YOLOv3-Tiny這種輕量級的模型方案,但模型性能衰減過大,在COCO上mAP下降超過40%。同時現(xiàn)有目標檢測方案的泛化能力還比較弱,不同場景的差異對模型性能會造成較大的影響。門店場景下的視角、光線、遮擋、相似物體干擾等情況與開源數(shù)據(jù)集差異較大,直接使用基于VOC、COCO數(shù)據(jù)集訓(xùn)練的模型對該場景進行檢查,效果非常不理想。我們分別針對模型的性能和在實際數(shù)據(jù)集的效果兩方面做了相應(yīng)的優(yōu)化。
網(wǎng)絡(luò)結(jié)構(gòu)精簡與優(yōu)化
我們在YOLO框架的基礎(chǔ)上對模型進行改進,實現(xiàn)了一種輕量級實時目標檢測算法,在服飾門店的真實場景下,和YOLOv3相比,模型性能下降不超過2%,模型大小縮小至原來的1/10,在Tesla P4上對比FPS提升268%,可直接部署到手機、芯片等邊緣設(shè)備上,真實業(yè)務(wù)場景中一臺GTX1070可以同時支持16路攝像機同時檢測,有效節(jié)約了門店改造的經(jīng)濟成本。
標準YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)有106層,模型大小有237M,為了設(shè)計一個輕量級的目標檢測系統(tǒng),我們使用Tiny DarkNet來作為骨干網(wǎng)絡(luò),Tiny DarkNet是一個極簡的網(wǎng)絡(luò)結(jié)構(gòu),最大通道數(shù)為512,模型大小僅4M,該模型結(jié)構(gòu)比YOLO官方的YOLOv3-Tiny的骨干網(wǎng)絡(luò)還要精簡,但精簡網(wǎng)絡(luò)會造成特征抽取能力的衰減,模型性能下降劇烈,在我們?nèi)斯俗⒌?萬多張服飾門店場景數(shù)據(jù)集上,替換后的Tiny DarkNet + FPN結(jié)構(gòu)較原生結(jié)構(gòu)的AP-50(IOU=0.5)下降30%。我們在特征抽取網(wǎng)絡(luò)之后進行Spatial Pyramid Pooling[10],與原特征一起聚合,之后通過下采樣與反卷積操作將不同層級特征合并,希望將底層的像素特征和高層的語義特征進行更充分的融合來彌補特征抽取能力的下降,整體網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示,精簡后的檢測模型大小約為原來的1/10。
目標檢測網(wǎng)絡(luò)結(jié)構(gòu)
知識蒸餾進一步優(yōu)化
知識蒸餾[2]通過Teacher Network輸出的Soft Target來監(jiān)督Student Network學(xué)習(xí)網(wǎng)絡(luò)中Dark Knowledge,以實現(xiàn)Knowledge Transfer的目的,與量化、剪枝、矩陣近似等方法常被用來實現(xiàn)對模型的壓縮。但蒸餾與量化等方法之間又是可以互相結(jié)合的,而且蒸餾本身對模型的修改更加透明,無需特殊的依賴及執(zhí)行框架。
知識蒸餾網(wǎng)絡(luò)結(jié)構(gòu)
上圖是我們網(wǎng)絡(luò)蒸餾的模型結(jié)構(gòu)設(shè)計,蒸餾時我們采用原生YOLOv3作為Teacher Network,雖然YOLOv3擁有較好的檢測性能,且結(jié)構(gòu)上與我們的模型比較相似,但直接在二者輸出層之間建立L2約束,無法克服Teacher Network中的噪聲及回歸預(yù)測的波動,結(jié)果反而抑制了Student Network的學(xué)習(xí)。實驗中發(fā)現(xiàn)Hint Layer的損失設(shè)計和回歸預(yù)測的不確定性是蒸餾效果的核心問題,強行在對應(yīng)Channel之間建立損失約束的方式過于嚴苛。對于普通卷積而言,我們無需要求Teacher / Student Network的Input Channel順序保持一致,僅需要整個輸入的分布是一致的。每個Channel相當于一次采樣結(jié)果,相同的分布,采出的樣本順序可能多種多樣,但整體結(jié)果符合相同分布,同時經(jīng)過激活函數(shù)的Channel分布不再穩(wěn)定,需要進行歸一處理。為了避免Teacher Network回歸預(yù)測本身的不穩(wěn)定,回歸損失設(shè)計時仍以Ground Truth為目標,將Teacher Network的Output作為Bound,僅對誤差大于Teacher Network的部分進行約束,本質(zhì)上是在借Teacher Network來進行Online Hard Example Mining。
行人重識別
行人重識別(Person Re-identification)問題是指在跨攝像頭場景下,給定待查找的行人圖片,查找在其他攝像頭是否出現(xiàn)該人。一般用來解決跨攝像頭追蹤。在線下門店場景中,每個門店都會在各個不同的區(qū)域安裝攝像頭,當顧客在店內(nèi)逛時,我們需要了解用戶是如何在各個區(qū)域之間活動,了解各個區(qū)域客流的去向與來源,因此需要將各個不同攝像頭中同一個行人進行關(guān)聯(lián)。
行人特征提取
行人重識別的難點在于,多個攝像頭下拍攝行人的角度不同,圖像中的行人可能72變,同時還有可能會有不同程度的遮擋,導(dǎo)致直接使用整體的行人特征來做重識別非常具有挑戰(zhàn)性,那能不能用人臉識別做行人重識別?理論上是可以的,但是在實際場景中非常難應(yīng)用,首先,廣泛存在后腦勺和側(cè)臉的情況,做正臉的人臉識別難,其次,攝像頭拍攝的像素可能不高,尤其是遠景攝像頭里面人臉截出來很可能都沒有32x32的像素。所以人臉識別在實際的重識別應(yīng)用中存在很大的限制。
行人重識別問題中,如何學(xué)得一個魯棒的行人特征表示成為了一個很關(guān)鍵的問題。學(xué)得行人特征表示最直觀的方式是直接以整張行人圖片作為輸入,提取一個全局特征,全局特征的目標是學(xué)到能夠區(qū)分不同行人之間最突出的信息,比如衣服顏色等,來區(qū)分這個行人。然而監(jiān)控場景的復(fù)雜性,使得這樣的方法的準確性受到了很大的限制,比如,各個攝像頭之間存在色差,并且門店的不同區(qū)域的光照條件會有差異,此外,還有很多穿相似服裝的行人。同時由于目前行人重識別數(shù)據(jù)集在體量及豐富性上有比較大的欠缺,一些不突出,不頻繁出現(xiàn)的細節(jié)特征在全局特征的訓(xùn)練中很容易被忽略。
要解決上面提到的問題,使用局部特征替換全局特征是一個比較好的解決方案,基于局部特征的行人重識別方法將原始輸入表示成多個特征塊,每一個特征塊代表一個局部的特征,基于局部特征的方法能夠更關(guān)注行人的局部細節(jié)方面的特征。
基于局部特征的方法,也存在一些問題,這一類方法將行人劃分為各個獨立的語義分塊,并沒有考慮各個局部特征之間的關(guān)聯(lián),因此,在我們的方案中,我們使用到了多級局部特征的融合方案,在考慮各個局部特征的同時考慮多個局部特征的關(guān)聯(lián)關(guān)系,具體網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示,在原始的局部特征的基礎(chǔ)之上增加了多個不同尺度的局部特征以及全局特征,學(xué)到的特征不僅能夠表示各個部位的細節(jié)特征,還能表達不同部位融合在一起的特征,相較原始版本更加豐富化。
目前基于此版本模型還在持續(xù)優(yōu)化中,在Market數(shù)據(jù)集上Rank@1能達到96.19%,使用同樣骨干網(wǎng)絡(luò)結(jié)構(gòu)的情況下提取全局特征的版本的Rank@1只能達到89.9%,而僅使用local特征的版本Rank@1能夠達到92.5%,融合的方案相比兩個版本均有較明顯的提升。
跨數(shù)據(jù)集的行人重識別的探索與嘗試
由于線下場景的特殊性,我們的模型需要部署到各家不同的門店,各個門店的光線,環(huán)境存在很大的差異,不同門店的攝像頭安裝的角度也會有些許不同,因此我們在一個數(shù)據(jù)集上訓(xùn)練的模型可能并不適用于所有門店,然而我們又不可能逐家門店去做數(shù)據(jù)的標注,因此,我們想通過一種方式,讓我們的模型能夠自適應(yīng)到新的門店的數(shù)據(jù)中。
在門店中,由于顧客是在一個封閉空間,因此顧客在各個攝像頭之間的轉(zhuǎn)移是存在一定的規(guī)律的,比如說:顧客肯定是最先出現(xiàn)在門口的攝像頭,顧客只能在相鄰的兩個區(qū)域之間進行轉(zhuǎn)移等,基于門店場景的特性,我們首先嘗試了基于攝像頭時空信息的混合模型,參考[7],模型結(jié)構(gòu)如下圖所示:
混合模型首先基于原始的視覺特征的分類器來計算各個攝像頭以及不同時間間隔之間轉(zhuǎn)移的概率分布,再使用時空信息與原始分類器結(jié)合得到最終的結(jié)果。
人貨動作檢測
除了基礎(chǔ)的客流動線數(shù)據(jù)以外,顧客在門店中的行為數(shù)據(jù)也是非常有價值的,我們嘗試使用視覺結(jié)合RFID射頻信號的融合方案,試圖解決顧客在門店中與貨物的交互問題,即哪個顧客在什么地點翻動/拿起了哪一件商品,比較類似線上的點擊數(shù)據(jù)。
人貨交互的數(shù)據(jù)在線下是很重要的一個環(huán)節(jié),人貨交互的數(shù)據(jù)可以讓商家知道哪些商品被翻動的多,了解哪些商品比較能夠吸引顧客,哪一類顧客更喜歡哪些風(fēng)格的商品,同時這一部分數(shù)據(jù)也完善了整個門店的漏斗轉(zhuǎn)化,以前商家僅僅能根據(jù)成交來判定每個商品的受歡迎程度,而有些潛在暢銷款可能是由于擺放的位置不恰當,導(dǎo)致可能根本沒有顧客仔細看到,導(dǎo)致最終成交額較低,同時有的商品雖然成交筆數(shù)不少,但是實際上被顧客拿起的次數(shù)也特別多,可能是因為這件商品在一個更顯眼的位置,相比同樣成交筆數(shù)的拿起次數(shù)較少的商品,實際轉(zhuǎn)化率更低。補全這個環(huán)節(jié)的數(shù)據(jù)對商家的線下運營有很關(guān)鍵的作用,同時這一部分行為數(shù)據(jù)在商家線上線下商品打通之后為線上服務(wù)起到最重要的作用。
人貨交互的數(shù)據(jù)是目前線下數(shù)據(jù)缺失的比較嚴重的環(huán)節(jié),商家一般都能很容易的拿到商品的成交的統(tǒng)計數(shù)據(jù),而人貨交互的數(shù)據(jù)由于發(fā)生更頻繁,且不易判斷,因此整體數(shù)據(jù)的收集難度比較高,此外人貨交互的數(shù)據(jù)需要精確到具體的SKU,單純的顧客發(fā)生了動作并沒有太大的意義,因此在人貨動作檢測的方案上,我們設(shè)計了一套結(jié)合視覺技術(shù)和RFID射頻信號的融合方案,得到最終的人貨交互數(shù)據(jù)。下圖為整體方案:
門店中裝配有監(jiān)控攝像機設(shè)備與RFID接收器器設(shè)備,分別錄制實時視頻與RFID標簽受激反射的 時序信號,首先基于回傳的RFID信號與檢測哪些RFID標簽可能被翻動了,由于店鋪服務(wù)員已經(jīng)將RFID標簽的EPC編號與商品的 SKU編號關(guān)聯(lián)入庫,基于被翻動的標簽EPC編號可以取到對應(yīng)商品的SKU,同時,使用回傳的顧客圖片檢測出疑似有在翻動商品的顧客,并根據(jù)顧客的圖像坐標進行坐標變換,得到該顧客的真實物理坐標,最后,將檢測出的疑似被翻動的商品與疑似有翻動商品動作的顧客進行關(guān)聯(lián),得到商品與行人的最佳匹配。
其中基于RFID射頻技術(shù)的商品動作識別是一個比較新的嘗試。當顧客翻動衣服時,衣服上的RFID標簽會隨之發(fā)生微小抖動,RFID接收機設(shè)備記錄標簽反射的信號RSSI,Phase等特征值的變化,回傳到后臺,算法通過對每個天線回傳的信號值進行分析判斷商品是否發(fā)生翻動。基于RFID信號判斷商品翻動存在諸多問題,包括信號自身噪聲、環(huán)境多徑效應(yīng)、偶然電磁噪聲、貨柜對信號遮擋的影響等。同時RFID反射信號的大小與接收器離標簽距離遠近存在非線性關(guān)系,
其中,d代表RFID標簽與接收器之間距離,,受Multipath和當前環(huán)境的影響
表示各種靜態(tài)設(shè)備誤差帶來的偏移。從公式中可以看出,接收器安裝的位置,商店環(huán)境等都會給RFID信號帶來很大影響,尋找統(tǒng)一的可以適用于不同商店、不同位置接收器的翻動判斷算法存在很大挑戰(zhàn)。最初的版本我們使用RSSI和Phase的原始值作為特征值來訓(xùn)練模型,這樣的模型存在一個問題,在我們的樣本不充足的情況下,受環(huán)境的影響較大,在真實環(huán)境中往往不能達到離線測試的結(jié)果,因此,我們試圖基于原始的信號值產(chǎn)生于空間位置不那么強相關(guān)的特征值來輔助動作的判斷。
雖然頻率信息中的幅度信息與空間位置存在關(guān)系,但是當我們只關(guān)注于頻率分布(不同頻率成份的占比)時,可以將頻率信息也當成與空間位置信息無關(guān)的特征。頻率信息的獲取需要對RSSI信號與Phase信號進行離散傅利葉變換, 然后統(tǒng)計頻率信號與相位信號的分布圖。對得到的分布圖,計算當前分布與前一個時刻分布的JS散度(相對于KL散度,JS散度具有加法的對稱性,因此可以用來衡量多個分布之間的相對距離)。
基于相鄰時刻前后兩個樣本的JS散差異的版本在我們的測試數(shù)據(jù)上能夠達到94%的識別精度,相比最初版本基于原始的RSSI值和phase值作為特征的版本的91.9%的精度,有一定的提升。
基于圖像的顧客動作檢測是經(jīng)典的分類問題,為了減小對計算能力的需求,我們使用了:MobileNet[12]對行人檢測的圖像進一步分類,并根據(jù)模型Logits輸出進行了最優(yōu)化參數(shù)尋優(yōu),在保持分類精度時,提高正例召回率,確保正例盡可能被召回,如下圖所示。
我們通過時間關(guān)聯(lián)程度與動作可疑程度兩個維度同時進行匹配,使得最終的匹配行人與翻動商品的準確率達到85.8%。
客流數(shù)字化應(yīng)用
客流數(shù)字化產(chǎn)出的客流相關(guān)數(shù)據(jù)不僅僅用于商家的線下運營,同時我們也基于這部分數(shù)據(jù)在線下場的流量分發(fā)上有一些初步應(yīng)用,淘寶是線上的一個很大的流量分發(fā)的入口,淘寶的搜索和推薦決定了消費者當前能看到哪些商品,也同時影響了各個商家和商品的整體流量情況,搜索和推薦就是將商家、商品和用戶做匹配,將適當?shù)纳唐氛故窘o合適的用戶,滿足消費者的購物體驗的同時,也平衡各個商家商品的流量分配,避免流量的浪費,實現(xiàn)流量的最大化的價值。
在線下商場,也有一樣的流量分發(fā)的需求。但是線下場相比線上,有兩個比較大的挑戰(zhàn):1) 線下目前沒有統(tǒng)一的入口,類似線上的搜索和推薦應(yīng)用,無法觸達到用戶;2) 線下沒有類似線上豐富的日志和行為數(shù)據(jù),沒有數(shù)據(jù)支撐比較難做到精準的個性化,無法優(yōu)化效果。
在線下場的流量分發(fā)的探索中,我們使用商場已有的互動屏幕、門店的互動屏幕作為流量分發(fā)的出口,同時,利用前文提到的客流數(shù)字化沉淀的數(shù)據(jù)來支撐線下場的個性化流量分發(fā)。
場外引流屏
場外引流屏的作用,是進行第一級的流量分發(fā),首先需要通過不同的互動玩法,營銷活動吸引用戶,再通過屏幕對用戶進行個性化的優(yōu)惠券投放,引導(dǎo)用戶進入不同的門店。
在傳統(tǒng)商場中,用戶剛進來商場,可能會隨機地在這個樓層進行活動,當看到感興趣的品牌完成進店的活動,或者用戶會基于導(dǎo)覽屏,大概了解商場樓層的品牌分布情況,再進行有一定針對性的瀏覽。而我們的引流屏的作用是將合適的優(yōu)惠推薦給對應(yīng)的人,從而引導(dǎo)用戶進店,相當于在商場中島進行整體的流量分發(fā),將集中在中島的用戶往各個不同的方向進行引導(dǎo)。整體方案如下圖所示:
整體方案依賴三部分的數(shù)據(jù),分別是基于用戶的圖像特征產(chǎn)出的人群屬性數(shù)據(jù),以及各個店鋪的進店人群分布數(shù)據(jù)和店鋪的其他統(tǒng)計量的特征,基于用戶當前的屬性特征與店鋪的人群分布進行匹配,可以得到初步的個性化的店鋪推薦結(jié)果,此外,使用店鋪本身的統(tǒng)計量特征作為輔助信息,在同等匹配條件下額外考慮各個店鋪本身的熱度,效率等維度特征,以及當前所提供的優(yōu)惠券的力度信息,得到最終的優(yōu)惠券的排序,并展示給用戶。
場內(nèi)試衣屏
場內(nèi)試衣屏的作用是做第二層的流量分發(fā),即用戶進店后,需要推薦哪些商品展示給用戶。在傳統(tǒng)的門店中,用戶進店后會在店內(nèi)進行隨機的瀏覽,對于感興趣的衣服會找導(dǎo)購員提供試穿,試穿后導(dǎo)購員也會對顧客進行推薦。整個過程中存在一些問題,首先,用戶對于商品的瀏覽和商品擺放的位置關(guān)系很大,櫥窗的商品會更容易吸引用戶注意,而部分較密集的衣架區(qū),用戶可能沒有辦法注意到部分貨品;其次,試穿之后導(dǎo)購進行的推薦也會因人而異,和導(dǎo)購本身的素質(zhì)關(guān)系也較大,有些經(jīng)驗豐富的導(dǎo)購員可以根據(jù)你個人的長相氣質(zhì)推薦更適合你的商品,而更多的導(dǎo)購員只能簡單的基于當前的熱銷款來進行推薦,無法做到因人而異。
試衣屏推薦要解決的就是上述的兩個問題,整體展現(xiàn)形式如下圖:
在用戶進行試穿時,會在鏡子側(cè)方顯示商品的詳情信息,包括目前商品是否有折扣等,同時會基于用戶的試穿行為,推薦相關(guān)商品與搭配商品,給部分商品一次額外的展示機會,同時也能夠基于用戶的試穿以及用戶當前的圖像特征給出個性化的推薦結(jié)果,方便用戶的選購,即使用戶暫時沒有這個消費習(xí)慣,鏡子屏幕上的推薦結(jié)果也能對導(dǎo)購員進行一些輔助決策,能夠幫助導(dǎo)購員給用戶推薦更加個性化更加豐富的商品。
整體算法方案如下圖所示:
考慮到隱私問題,在我們的應(yīng)用中,我們不去嘗試通過人臉關(guān)聯(lián)到對應(yīng)的id,僅在場內(nèi)通過用戶的行為和其他用戶行為的相似性進行推薦。
工程實現(xiàn)
AI inference是GPU終端計算重要的一環(huán),最開始探索的時候,AI inference采用串行模式:
通過觀察測試數(shù)據(jù),我們驚訝地發(fā)現(xiàn),雖然程序已經(jīng)處于視頻流圖片處理飽和的狀態(tài),但是6核心CPU的使用率才到150%,GPU的使用率才到30%,也就是說,超過一半的硬件資源處于閑置狀態(tài)。 為了使得原本間歇性閑置的資源得到重新的利用,我們改造成了流水線模式,結(jié)構(gòu)圖如下所示:
在多進程實現(xiàn)的流水線方案中,由于每個進程的數(shù)據(jù)都是相互獨立的,一個進程產(chǎn)生或修改的數(shù)據(jù)對另一個進程而言它是無感知。如何提高進程間的數(shù)據(jù)傳遞是能否高效實現(xiàn)并發(fā)的關(guān)鍵點。 我們采用了基于mmap ctypes實現(xiàn)的共享內(nèi)存,對比管道、socket多進程通訊機制,共享內(nèi)存在多進程數(shù)據(jù)通訊方案中是非常高效和靈活,參考multiprocessing Value的解決方案,使用ctypes內(nèi)置的基本數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)我們的數(shù)據(jù)模型,非常方便的進行內(nèi)存切分并轉(zhuǎn)換成可用的數(shù)據(jù)結(jié)構(gòu)。
結(jié)合業(yè)務(wù)情況,我們的流水線工作模式會將各個階段分割為子任務(wù),我們還設(shè)計了圖片共享隊列,整個過程只需要寫入一次圖片數(shù)據(jù),各個階段只需要從這個共享隊列讀取圖片即可,等所有流程都操作完之后再從圖片隊列刪除這個圖片數(shù)據(jù),這樣就能保證圖片操作的正確性和高效性。通過測試發(fā)現(xiàn),我們實現(xiàn)的共享內(nèi)存隊列在讀取數(shù)據(jù)上比pipe方式快了300多倍。
業(yè)務(wù)效果
目前我們客流數(shù)字化的數(shù)據(jù)已經(jīng)沉淀到相應(yīng)的產(chǎn)品,以下是基礎(chǔ)客流的示意圖,品牌商可以看到門店每日的基礎(chǔ)客流量以及分時段的客流情況,了解各個門店當前的經(jīng)營狀況。

下圖為區(qū)域熱力圖和區(qū)域動線圖,區(qū)域熱力圖展示了門店在一天內(nèi)各個小時各個區(qū)域的人流量密度情況,我們將各個不同攝像頭的數(shù)據(jù)進行整合,最終映射到門店的平面CAD圖上展示區(qū)域熱力,讓門店能夠更直觀的看到各個區(qū)域的熱度,區(qū)域動線圖展示了各個區(qū)域客流的去向和來源的占比,基于區(qū)域熱力和動線數(shù)據(jù),商家能夠清晰的了解到門店各個區(qū)域的密度情況以及各個區(qū)域之間顧客的轉(zhuǎn)移情況,目前合作的品牌商也會基于區(qū)域的數(shù)據(jù)對店內(nèi)的陳列做適當?shù)恼{(diào)整,甚至有門店基于動線的數(shù)據(jù)重新調(diào)整整個門店的區(qū)域分布情況。
下圖為門店進店客流的人群畫像,展示了門店每天進店客流的性別和年齡的分布,商家會基于進店的人群畫像數(shù)據(jù)與當前品牌的目標人群進行對比,并基于實際進店客流的分布調(diào)整門店陳列商品的品類結(jié)構(gòu)以及不同類型商品的占比。
參考文獻:
[1] Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.
[2] Hinton G, Vinyals O, Dean J. Distilling knowledge in a neural network. In Deep Learning and Repre-sentation Learning Workshop, NIPS, 2014.
[3] Romero A, Ballas N, Kahou S E, et al. Fitnets: Hints for thin deep nets[J]. arXiv preprint arXiv:1412.6550, 2014.
[4] Chen G, Choi W, Yu X, et al. Learning efficient object detection models with knowledge distillation[C]//Advances in Neural Information Processing Systems. 2017: 742-751.
[5] Yifan Sun, Liang Zheng, Yi Yang, Qi Tian, Shengjin Wang. Beyond Part Models: Person Retrieval with Refined Part Pooling
[6] Wei Li, Xiatian Zhu, Shaogang Gong.Person Re-Identification by Deep Joint Learning of Multi-Loss Classification, IJCAI 2017
[7] Jianming Lv, Weihang Chen, Qing Li, Can Yang. Unsupervised Cross-dataset Person Re-identification by Transfer Learning of Spatial-Temporal Patterns, CVPR 2018
[8]Liang Zheng ; Liyue Shen ; Lu Tian ; Shengjin Wang ; Jingdong Wang ; Qi Tian. Scalable Person Re-identification: A Benchmark, ICCV 2015
[9] Guanshuo Wang, Yufeng Yuan, Xiong Chen, Jiwei Li, Xi Zhou.Learning Discriminative Features with Multiple Granularities for Person Re-Identification, MM 2018
[10] Liu S, Qi L, Qin H, et al. Path aggregation network for instance segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 8759-8768.
[11]Tianci Liu ; Lei Yang ; Xiang-Yang Li ; Huaiyi Huang ; Yunhao Liu,TagBooth: Deep shopping data acquisition powered by RFID tags. INFOCOM 2015
[12]https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet_v1.md
【本文為51CTO專欄作者“阿里巴巴官方技術(shù)”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】