一鍵實現穿衣自由,揭秘淘寶AI試衣間硬核技術,AnalyticDB向量在線召回
2023-12-14 108743 發(fā)布于浙江
版權
舉報
版權聲明:
本文內容由阿里云實名注冊用戶自發(fā)貢獻,版權歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權,亦不承擔相應法律責任。具體規(guī)則請查看《 阿里云開發(fā)者社區(qū)用戶服務協(xié)議》和 《阿里云開發(fā)者社區(qū)知識產權保護指引》。如果您發(fā)現本社區(qū)中有涉嫌抄襲的內容,填寫 侵權投訴表單進行舉報,一經查實,本社區(qū)將立刻刪除涉嫌侵權內容。
隨著淘寶的蓬勃發(fā)展,網購已經融入日常生活。網購讓大家足不出戶就能挑選眾多品類商品,還能貨比N家,但同時網購也會帶來一些未知的問題。
相信大家都有線上購買服裝的經歷吧?在線上挑選的時候,只能根據價格、款式、尺碼等信息,選出可能合適的衣服,但是衣服穿上后效果如何?應該怎么搭配更好看?我更適合淑女風還是廢土風?畢竟淘寶商家的模特穿啥啥好看。
為了解決上述的痛點,淘寶服飾聯合通義實驗室XR實驗室借助AIGC強大科技力推出了重磅級的產品AI試衣間。
在手機淘寶APP上搜索 ifashion,上傳自己的照片即可體驗AI試衣~
在AI試衣間功能的背后,阿里云瑤池旗下的云原生數據倉庫AnalyticDB MySQL提供了高維向量低延時的在線向量召回檢索服務,下面將進行介紹。
1. 淘寶AI試衣間-技術揭秘
手淘搜ifashion即可進入線上AI試衣間,由淘寶服飾聯合通義實驗室XR實驗室借助AIGC將人工智能和時尚穿搭相結合。AI試衣間將結合數億用戶的尺碼數據和海量的服裝圖片實現推薦適合自己的穿搭搭配。為了滿足要求,從海量的商品素材圖片中快速找到需要的圖片是一個很重要的基礎服務。為了提升召回率,素材圖片Embedding后使用多維的向量特征值存儲,在線服務需要滿足低延時高并發(fā)的要求。
云原生數據倉庫AnalyticDB MySQL在此場景中提供了以圖搜圖服務,為試衣間提供滿足特定要求的相似性素材圖片的服務。AI試衣大模型訓練每個模特需要多張不同的模特圖,目前用戶只供給了一張,我們是把商品詳情圖文中的圖片數據,先通過算法識別把模特上身圖摳出來,然后根據用戶提供的那一張主圖,從商品sku/詳情圖文庫中對摳出的圖片集中做相似度檢索,按相似度閾值,生成不同的素材圖,滿足算法模型訓練的圖片數據供給數量,在滿足圖片相似度要求的情況下,可能也會有一些其他確定性的條件作為輸入。下圖簡略介紹了處理過程。
AnalyticDB MySQL可以管理和檢索圖片素材,可以根據商品圖片類別,屬性或者相似圖片做多模檢索圖片,在支持圖片相似性檢索的同時,同時支持和結構化數據的標量融合,包括多表的關聯查詢。例如,檢索和輸入圖片相似,并且滿足價格在200-300元之間和3個月內(新款)上架的商品照片。為了方便展示,假設向量的維度使用了8維長度。
1.1 數據模型
云原生數據倉庫AnalyticDB MySQL,向量檢索功能的使用很簡單,使用array數據類型存儲向量的特征值,array數據類型支持byte,smallint,int和float四種值類型,如果數據量很大,可以對需要進行向量召回的特征列定義一個向量的索引提升檢索的速度。向量特征列和向量索引的管理和普通列和索引的DDL類似,支持在創(chuàng)建表的時候設定,也可以通過ALTER TABLE語句添加。
服飾類素材圖片簡化后的數據表定義如下。
CREATE TABLE products ( product_id BIGINT COMMENT '商品ID', gmt_create DATETIME COMMENT '創(chuàng)建時間', gmt_modified DATETIME COMMENT '修改時間', image_url VARCHAR COMMENT '商品圖片地址', price FLOAT COMMENT '商品價格', document JSON COMMENT '知識文檔,json結構', status INT COMMENT '文檔狀態(tài), 1審核通過,0未審核,-1審核不通過', feature ARRAY <float>(8) COMMENT '商品圖片向量結果', PRIMARY KEY (product_id, gmt_create), ANN INDEX idx_feature(`feature`) ) DISTRIBUTE BY HASH(product_id) PARTITION BY VALUE(`date_format(gmt_create, '%Y%m')`) LIFECYCLE 36 INDEX_ALL = 'Y';
1.2 準備數據
數據入庫支持實時寫入和批量導入,下面的示例使用了insert into插入了1條測試數據。
INSERT INTO products (product_id, gmt_create, price, image_url, feature) VALUES(6, NOW(), 288.00, 'https://xxx/img6.jpg', '[0.83891445,0.50359607,0.9299093,0.19440076,0.5789051,0.12121256,0.6587046,0.86555034]');
1.3 數據檢索(向量召回)
AnalyticDB MySQL支持融合查詢,需要同時滿足下面的條件。
條件1:指定圖片相似度前5,并且按照相似度排序,KNN+ Top-K。
條件2:價格在200.00和300.00之間。
條件3:素材的創(chuàng)建時間在最近3天以內。
上述條件2和3是結構化數據標量數值計算,條件1是非機構化相似性計算。業(yè)務場景期望3個條件可以在1個引擎同時完成,達到提升效率和降低維護成本的作用。這種場景通過AnalyticDB能夠很方便支持,使用也很簡單。
SELECT product_id, l2_distance(feature, '[0.83891440,0.50359607,0.9299093,0.19440070,0.5789051,0.12121256,0.6587046,0.86555034]') as dis, image_url, price, document FROM products WHERE l2_distance(feature, '[0.83891445,0.50359607,0.9299093,0.19440076,0.5789051,0.12121256,0.6587046,0.86555034]') < 10 AND gmt_create > DATE_SUB(NOW(), INTERVAL 90 DAY) AND price between 200.00 and 300.00 ORDER BY l2_distance(feature, '[0.83891445,0.50359607,0.9299093,0.19440076,0.5789051,0.12121256,0.6587046,0.86555034]') LIMIT 5;
AnalyticDB MySQL除了提供實時OLAP多維分析和檢索外,還提供向量召回功能,支持淘寶APP的AI試衣間場景,解決了引擎冗余的問題,把結構化數據和非結構化數據檢索能力整合,適用于多?;旌县撦d檢索場景,降低了向量的使用和運維成本。
2. 經驗和總結
在電商行業(yè),以圖搜圖讓用戶所見即所搜,拍張照片可以找到相似的商品;在游戲行業(yè),通過識別玩家的情感狀態(tài),更好的理解玩家的感受和態(tài)度,進行針對性的優(yōu)化和改進,增加游戲玩家的趣味性;在智能客服行業(yè),通過結合企業(yè)領域知識和大模型語義理解能力構建智能客服。這些智能化應用落地的背后,離不開向量數據庫的加持。向量數據庫使用場景多且豐富,常常應用在以文搜圖、以圖搜圖、聽音識歌等等,技術已經得到了廣泛的應用,比如:
人臉識別服務,支持高維人臉識別。以圖搜圖服務,即通過圖片檢索圖片的應用服務。視頻檢索服務,即通過視頻中的某些幀圖片進行視頻圖片檢索,來實現視頻檢索。聲紋檢索服務,即通過音頻匹配音頻的應用服務。推薦系統(tǒng)服務,即通過用戶特征匹配實現推薦匹配的功能?;谡Z義的文本檢索和推薦,通過文本檢索近似文本。問答機器人,通過與大模型結合搭建高效的問答機器人服務。
為了實現特征向量的快速檢索,一般都會構建向量索引來實現。通常說的向量索引都屬于ANNS(Approximate Nearest Neighbors Search,近似最近鄰搜索),它不同于數字的等值或者字符串的term匹配,也不同于like或者全文檢索的近似匹配,而是在最大程度上通過非結構化數據的相似度進行檢索。
ANNS向量索引可以根據實現方式的不同區(qū)分為不同類型的索引,主要分為圖索引和量化索引,其中圖索引主要是HNSW和RNSW,量化索引主要是PQ、FLAT、SQ8和SQ8H等。為了能使ANNS向量索引能夠更加方便地應用到實際的生產環(huán)境中,目前業(yè)界主要有兩種實踐方式。一種是單獨將ANNS向量索引服務化,以提供向量索引創(chuàng)建和檢索的能力,從而使其成為人工智能服務體系中的一部分;另一種就是在傳統(tǒng)結構化數據庫的基礎之上,去融合ANNS向量索引的能力,從而使其能直接使用簡單的SQL就能完成復雜的結構化數據檢索,也能同時具備結構化與非結構化融合查詢的能力。
云原生數據倉庫AnalyticDB MySQL是一款阿里云數據庫團隊自研的云原生數據倉庫產品,支持向量和結構化數據的融合檢索,在各種條件組合的查詢的場景中,達到超過99%的召回率。它的數倉和湖倉提供了非結構化數據的存儲和通用數據庫檢索服務。通過深度學習網絡完成推理,可以將非結構化數據轉化成向量,提供基于向量的相似性檢索。
AnalyticDB MySQL在集成向量檢索引擎的同時也做了很多優(yōu)化,算法的核心思想是把HNSW(Hierarchical Small World Graph)算法和多版本PQ(Product Quantization, 乘積量化)編碼算法做一個融合,實現了不同場景下支持向量索引的實時增刪查改,使向量檢索引擎和數據庫本身融為一體,可以非常方便的使用。目前AnalyticDB使用的向量檢索引擎技術已經發(fā)表在了VLDB上,該文主要講述了HNSW算法和PQ算法在AnalyticDB中的實現以及相應的優(yōu)化策略。
3. 未來展望
向量服務的Embedding服務可以支持插件式,提供Serverless/Function的向量Embedding服務,支持根據不同的業(yè)務場景選擇不同的Embedding模型。在相似度的召回率上提供可配置的選項,支持在QPS和召回率之間做一個更自主的靈活配置。例如除了支持人臉,聲紋等需要高正確率的檢索,也需要支持圖片等素材更需要彈性的檢索。相關實踐學習
AnalyticDB MySQL海量數據秒級分析體驗
快速上手AnalyticDB MySQL,玩轉SQL開發(fā)等功能!本教程介紹如何在AnalyticDB MySQL中,一鍵加載內置數據集,并基于自動生成的查詢腳本,運行復雜查詢語句,秒級生成查詢結果。
阿里云云原生數據倉庫AnalyticDB MySQL版 使用教程
云原生數據倉庫AnalyticDB MySQL版是一種支持高并發(fā)低延時查詢的新一代云原生數據倉庫,高度兼容MySQL協(xié)議以及SQL:92、SQL:99、SQL:2003標準,可以對海量數據進行即時的多維分析透視和業(yè)務探索,快速構建企業(yè)云上數據倉庫。 了解產品 https://www.aliyun.com/product/ApsaraDB/ads
相關知識
AI虛擬教練助你練出人魚線,揭秘Keep AI運動技術實力
寶寶衣物清洗大揭秘
毫米波雷達助力保護嬰幼兒呼吸健康監(jiān)測,硬核科技護航寶寶健康成長
內衣的穿著寶典下=正確地穿著內衣
給寶寶穿衣有哪些技巧
穿上這款內衣,真能顯瘦20斤?揭秘背后原理!
2周歲寶寶穿多大碼衣服
嬰兒衣服穿多少合適、怎么把握,一文全了解
穿美體內衣好嗎
【寶寶衣物熒光劑】寶寶衣物污漬怎么去除
網址: 一鍵實現穿衣自由,揭秘淘寶AI試衣間硬核技術,AnalyticDB向量在線召回 http://www.u1s5d6.cn/newsview219084.html
推薦資訊
- 1發(fā)朋友圈對老公徹底失望的心情 12775
- 2BMI體重指數計算公式是什么 11235
- 3補腎吃什么 補腎最佳食物推薦 11199
- 4性生活姿勢有哪些 盤點夫妻性 10428
- 5BMI正常值范圍一般是多少? 10137
- 6在線基礎代謝率(BMR)計算 9652
- 7一邊做飯一邊躁狂怎么辦 9138
- 8從出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7828