轉貼自亞馬遜AWS官方博客
幾天前CNBC 的一則新聞引起了我的興趣。文章說的是美國康涅狄格州布魯克菲爾德一家在建商店的有了應用“Just Walk Out”技術的跡象,包括門控系統和可能用於安裝天花板攝像頭的硬件等等。這一下子讓我聯想到了2017年出現的那個讓人興奮不已的“Amazon Go”無人值守的零售商店以及在其背後的科技。
在电子商务以及零售领域,亚马逊公司堪称业内翘楚。竞争者经常带着崇敬和恐惧的口吻谈论这个名字。亚马逊以不断创新的步伐取得了几乎神话般的地位,让尾随者难以跟上他的步伐。在过去的26年中遵循着“亚马逊增长飞轮”,不断提高易用性、增加选择,实现快速交付和完善整体用户体验。而Amazon
Go 无疑是这许多亮眼的成就中最显著的一个。
2017年,因為員工的便利條件我第一次體驗了位於西雅圖亞馬遜辦公樓DayOne一層的Amazon Go商店。這個第一家Amazon Go商店的面積約為550平方米,看起來就像是一家街角的便利店。裡面有很多新鮮的水果,麵包,沙拉,飲料等商品,供上班族們取個早餐,拿個零食。沒有用“買”這個詞是因為在這裡你看不到任何我們習以為常的“買”的動作。
人類購買這個行為已經延續了幾千年,一成不變的是物品以等值進行交換的商業規則。而變化的則是商品、購物環境、交互體驗以及結算方式。隨著雲計算的興起以及各種新技術應用不斷地優化購物體驗、簡化購買流程,讓我們得以更從容,更優雅的享受購物的樂趣。Amazon Go就是以這個“不用排隊,拿了就走( no lines,no check out)的全新購物體驗在零售行業和科技圈吸引了無數目光。今天我們就來一起看看這個拿了就走的新的零售體驗是如何實現的。
使用體驗
用戶體驗:手機App
Amazon Go 的使用者首先需要下載並安裝一個尺寸大約為11MB的一個名為Amazon Go的手機App。安裝後,將使用Amazon帳戶ID和密碼進行登錄。首次登錄時,這個應用程序將引導完成9步動畫教程的學習。該教程介紹瞭如何將自己掃描到商店以及如何購物。整個教程花費了大約一分鐘的時間。接下來,應用程序將顯示一個二維條形碼以識別使用者的身份,憑藉掃描這個二維碼進入商店。
出於安全的考慮,這個二維碼每30秒在手機App重新生成一次,這可以提供一定程度的保護,防止人們僅通過拍照我的二維碼碼就可以在我的帳戶上購物。
用戶體驗:進入商店
進入亞馬遜商店有點類似於進入地鐵站,對我們來說這個體驗並不陌生。不過在商店入口經常有一兩個身穿橙色襯衫的亞馬遜員工幫助人們解決任何問題,最常見的就是向顧客解釋他們需要下載應用程序,並向他們解釋它是如何工作的。隨著越來越多的人習慣於這個進店的方式,人們將會減少對入口處工作人員的需求。
用戶體驗:購物與付款
購物者可以通過拿走開放式貨架上的商品並走出商店來購買和付款。購物的體驗就是這樣的簡單。因此,Amazon Go的出現並非是炫技,而是出於解決真實存在的購物中排隊、等候結賬這個真實的問題。
Amazon Go的技術複雜性
在一段廣為流傳的Amazon Go 宣傳視頻中,顧客進店掃碼-取物-出門,一氣呵成。簡單到很多人第一次去都會有一種隱隱的“我是不是在偷東西”的質疑。但細細想來,被這個名為“Just walk out” 技術簡化的只是商品價格的手動或自動的複核過程。而實現它看起來我們只需知道哪些亞馬遜賬戶在商店內購物,哪些商品被拿走。這樣我們就可以在顧客完成購物時向其收取費用了。夠簡單,但又是什麼使這個過程變複雜的?
設想一下,如果我們來解決這個問題,或許你會從這個場景出發:一個人在商店,悠閒地閒逛,隨意拿起一件商品. 看起來我們只需處理這樣的場景即可。然而,現實情況更像這樣:擁擠的人群,人們在購物,孩子們四處奔跑,嬰兒車上的嬰兒還在熟睡。現實且自然的購物行為就是人們並不總是拿上商品然後離開— 他們往往挑選一個商品,看看它,然後把它放回貨架上;或者有時他們把它放回另一個錯誤的貨架之上。相信你已經在腦海裡想像出來這件事的複雜性了。在亞馬遜解決這個問題的方案被稱作“Just Walk Out”。這個方案體現了最新的工程技術的進步,特別是在復雜的計算機視覺、傳感器融合和深度學習方面。
讓我們先從方案的架構說起。我們將這個看似複雜的框架分成幾個部分。
“Just Walk Out”技術框架
圖中頂部代表了店鋪中部署的設備,這些設備包括了定制的攝像頭以及用於商品銷售的重力傳感器。這些攝像頭實時捕獲需要進行算法處理的視頻,算法運行在亞馬遜雲中。在AmazonGo商店中捕獲這些視頻並將其發送到雲中處理,統稱為“流媒體服務”。
然後是核心的“Just Walk Out” 技術。這可以說是整個Amazon Go無人商店的的大腦。這是構建在深度學習算法方面最重要的技術部分,其目的是解決“誰拿了什麼” 的問題。與傳統商店不同,在這裡沒有收銀櫃檯。但是,仍然需要確認顧客的支付工具(信用卡),在顧客離開商店後,就可以使用該支付工具向他們收取費用。為此建立了一種全新的體驗,讓顧客使用Amazon Go的移動應用進入商店,並將他們的Amazon帳戶和存儲的付款方式相關聯。我們統稱這些為“入口和出口”服務,他們負責管理客戶會話和相關付款方式。
現在我們把所有這一切集成到一起。我們將由“Just walk out ”技術負責的的購物活動與”入口/出口“服務管理的客戶管理相關聯,最後生成客戶購物車。一旦顧客離開商店,就會向他們發送收據,並使用他們的付款方式進行扣款。
正如我前面提到的,流媒體服務負責將視頻從商店中運行的攝像頭傳輸到亞馬遜雲中。為了使算法發揮作用,就需要在客戶挑選或放置商品時可靠地捕捉視頻圖像以實現真實場景。當然,商店中部署有很多攝像頭。因此需要一組雲服務器以及一種在攝像機和服務器之間傳輸的方法。而在現實世界中,事情並不總是順利運行,所以需要有容錯能力。因此,需要有檢測攝像頭故障、網絡延遲、和服務器故障的系統,並且能夠有效地處理這些故障。一旦將視頻傳入雲端,就需要一種使用這些視頻數據的方法,一種使它們可用於算法進行處理的方法。因此,一套服務負責存儲和索引這些視頻,它們提供了視頻檢索的接口,這些接口由視頻處理應用所使用。就是這樣。這些高可用、高吞吐量的服務集群們提供了基礎架構,在此基礎架構上構建了“Just walk out”技術。可以說缺少了雲計算“Just walk out”的可用性以及容錯能力就無從談起了。
挑戰與細節
說到這裡您大概已經有了一個整體印象。再讓我們再回頭看看入場體驗。顧客打開Amazon Go 移動應用,掃描主屏幕上的二維碼,然後進入商店
在這裡面臨的挑戰之一是設計出一種體驗,使顧客感覺自然和無縫。例如,需要考慮決定掃描二維碼時手機是是正面朝上還是反面朝下感覺更自然。與此同時,還希望客戶能夠順利且暢通無阻地走進去。因此,設計了入口閘門的硬件和軟件,使顧客可以向下掃描二維碼進入,同時系統可以驗證顧客身份,並打開閘門。而所有這一切的處理都需要在很短的時間內完成,通常不到一秒鐘。這樣客戶就不必在進入的過程中放慢步伐。同樣的問題也適用在出口上,顧客也不必為了打開閘門而放慢速度或採取其它的動作。
另一個挑戰是如何能夠適應現實世界的情況,因為事情總是不可預測的。例如,在理想的世界中,每一位顧客在進入商店時只掃描一次。然而,有時人們掃描手機後會分心,並開始與朋友交談,所以如果他們再次掃描之後進入商店,系統必須足夠聰明以處理所有這些特殊的場景。最後,我們需要更順暢的處理家庭或者團隊購物的場景。或者說,一組打算共享一個賬戶共同付款的顧客。在這種情況下,掃碼者將作為這一組的付款人,在組中的每個成員進入商店時只需掃描他的手機。但顯然他們中的任何人都可以隨時離開商店,所以會話管理邏輯必須在這些情況下正常的工作。
因此,作為入口/出口服務的一部分,構建了用於驗證客戶帳戶、組關聯和會話管理的系統。總體而言,這個部分的服務的目的是管理當前在商店中處於活動狀態的一組客戶的會話(session)以及每個服務相關的支付方式。
“誰”拿了“什麼”
對於“Just walk out技術”來說簡直可以用來編寫一本計算機視覺的教科書,因為它包含了對象識別、人員檢測、姿勢預估、活動分析,傳感器融合以及校準等一系列的應用算法。最重要的是,這些算法不僅必須像大多數最先的算法所顯示的那樣有較高的準確率,還必須產生準確的購物的收據。下面讓我們深入了解“Just Walk Out” 技術的一些組件,就是這些組件解決了“誰拿了什麼” 的難題。讓我們從“誰” 這個部分開始,其中包含三個主要模塊、定位器、鏈接器和復雜狀態解析器。
大多數人想當然會認為只需要在貨架上購物時找到顧客就可以滿足需要。但是,這種片段的識別處理並不能提供所需的準確性。事實上,這個場景中需要的是顧客從店鋪入口到出口的全程定位。當只有幾個人在商店裡時解決問題很簡單。但是,當有許多人彼此接近時這個問題就變得極具挑戰性。人群會導致顧客彼此遮擋,有時候他們甚至看起來很相似。Amazon Go店舖裡佈置的每個攝像頭都會產生一個3D 點雲。基於每個攝像頭的校準參數,將這些參數聚合為一個全局的表示,並提取出移動的對象。並非所有的移動物體對應的都是顧客,還可能是購物籃、推車以及嬰兒車等。系統中的人員定位器查看分段的圖像數據,並決定它是某人還是另一種對象。然後,將人員在一幀中的位置鏈接到下一幀。為每個顧客的數據分配一個標籤。
鏈接器的作用是將標籤從第一幀保留到最後一幀。這樣我們就可以看到顧客在店鋪中的軌跡,例如1H8,他正走向準備店舖的食品區域。
比較棘手的情況是當人們彼此接近時識別將變得困難。這被稱之為複雜狀態。因此,要對人員位置的不確定性進行建模,並通過運動特徵和圖像特徵來解決人員位置的不確定性的問題。
現在,請注意標籤為“117”的顧客。他與另一個顧客非常接近,但係統知道他在那裡,但不確切地知道他在哪裡。實際上他已經已進入“複雜狀態”,這個狀態由黃色標籤表示。在進行分離處理後,系統將重新將其定位,並重新使標籤為“117”的顧客獲得綠色標籤。
這是另一個真實的記錄,所有客戶在店鋪中的位置如下圖。
系統將所有店舖內的俯瞰視圖拼接在一起,以便定位在店內移動的顧客和人員,例如有顧客進入商店,或者員工將商品添加到貨架上。在這個示例中,我們的老朋友標籤為“117” 的顧客在屏幕的中間結束糾結狀態後重新獲得了新的ID。而標籤為“B6”的人員則是一個從房間後面進來的店內工作人員。他在推車,負責將商品添加到零食區域。右下角的W4 從精選即熱食品區域來到飲料區域。這時候他獲得了複雜狀態標籤,然後重新獲得綠色的W4的標籤。
計算機視覺,傳感器融合和深度學習
“Just Walk
Out”在技术方面的一个显著的特点是结合使用计算机视觉、传感器融合和深度学习来完成跟踪个人以及他们拾取或放下的物体的任务。具体来说,系统推断出在拥挤场景中进行关节运动分析的姿势。换句话说,通过不间断地分析视频流,以建立每个顾客在商店中的位置和姿势的模型;每个人的四肢和手处于什么位置,以及它们如何在空间中移动。这涉及将人体及其各个关节建模到可行位置。当图片中只有一个人时,这已经足够困难了。当有很多人时,这变得异常困难,从而很容易隐藏或暴露不同部分并弄清楚是什么。這就是為什麼在店鋪中部署有200多個攝像頭的原因,用以確保沒有人可以欺騙系統。
現在我們知道“誰”的部分,讓我們來看看“拿了什麼“的部分。在Amazon Go中有許多商品,包括早午餐、零食、飲料等。特別具有挑戰性的是,一些商品在視覺上看起來非常相似。結合產品分類(通過索引方案)和基於殘差網絡的細粒度計算機視覺算法來解決這個問題。這種方法可識別成千上萬的產品,並且能夠適應店舖裡照明變化、陰影和反射帶來的種種影響。
至此,我們討論了將視頻從Amazon Go的店鋪中的攝像頭傳輸到雲端的流媒體服務、提供會話數據的入口/出口服務以及相關支付方式。“Just Walk Out” 技術的關鍵就在於解決了“誰拿了什麼” 的這個最重要的問題。
對零售行業的影響
目前Amazon Go在全美已有22家店鋪。此外,亞馬遜還打算將這項技術應用到了商品類別更豐富,能容納更多顧客的雜貨舖Amazon Go Grocery中。也許就像20多年前電子商務興起的時候那樣,一種新的體驗以及其背後的工程技術將會深度的改變這個行業。
Amazon Go商店應比傳統的商店具有更高的銷售速度。因為收銀台沒有等待時間,人們可以更快地進出商店。這意味著一定規模的商店可以支持更多的流量和單位時間內更多的銷售額。另一種看待它的方式是收銀台和排隊區域所需要的空間可以改為專門用於更多的貨架和商品。因此,如果有更多產品處於相同的佔地面積,則商店單位面積應產生更高的銷售額。當然,與便利店相比,Amazon Go商店的商品中很大一部分是現場準備的新鮮食材和餐盒,這些利潤較高的產品應進一步提高商店的單位面積的收益。節省勞動力的程度存在一定的疑問。的卻,沒有了收銀員。但是較高的銷售速度意味著需要更頻繁地補貨,從而需要更多的勞動力。商店的酒精飲料專區有專門的員工檢查顧客的ID。入口大門前始終有一兩個人在外面,可以幫助人們下載該應用程序並回答問題。而且,有很多人正在準備新鮮食品。因此,與同等大小的便利店相比,這種形式的店鋪實際上可能需要更多的人工。
總之,建立這樣的商店需要大量額外的前期資本投入以及需要克服工程技術上的難題。但隨著時間的推移,單位面積的收入和利潤會增加。勞動力成本可能不會降低。相反,更高的利潤可能是由較低的收縮率、較高的銷售速度和較高利潤率的商品共同實現的。此外,在這個階段這項技術似乎只應用在小規模的商店中實現。最終,它將擴展到大型的零售店中。但這可能需一些時間以及技術上的不斷優化、改進。
此外,Amazon Go商店將生成大量的數據。亞馬遜已經徹底改變了在線購物數據的使用方式,根據消費者在網上的一舉一動提出建議並嘗試讓顧客購買更多商品。對亞馬遜來說,將其運行Amazon Go商店所觀察到的每個購物者的購物行為加入其中,以更全面地了解購物者的綜合在線和線下購物角色、品味和購物模式,這才是更有價值的所在。當其他零售商一直在努力提供統一的全渠道體驗時,亞馬遜有機會在其實體店和網上購物之間實現真正的無縫連接。
Amazon Go背後的技術是革命性的,我相信這些變化對整個零售業的影響將是深遠的。也許這種變革還需要時間,但這種變革一旦形成趨勢將徹底改變我所熟悉的一切。就如同亞馬遜的創始人Jeff
Bezos 說過的那樣“If you only do things where you know the answer in advance,
your company goes away.” (如果你只做那些你事先知道答案的事情,你的公司就會消失)。我們探索一種新的可能的時候,就注定了有可能去顛覆一個行業。對此,你準備好了嗎?
如果大家對於文章中話題以及涉及到的技術有興趣,歡迎通過我的郵箱進行討論lianghon@amazon.com