全部產品
Search
文件中心

Image Search:映像上傳

更新時間:Jun 19, 2024

本文介紹如何將映像上傳到Image Search服務。

背景資訊

Image Search提供兩種方式上傳圖片,一種是通過Image Search產品API或者SDK,另一種方式是通過藉助阿里雲OSS通過大量操作進行上傳。

  • 如果您僅上傳少量圖片,建議您使用API或SDK方式。詳情請參見新增圖片

  • 如果您是企業級的使用者,或者您需要批量上傳圖片,但圖片沒有儲存在阿里雲OSS,可使用OSSImport工具將圖片儲存在阿里雲OSS上,然後進行批量上傳。具體步驟請參見操作流程

  • 如果您是企業級的使用者,或者您需要批量上傳圖片,且圖片已經儲存在阿里雲OSS。請參見大量操作

    重要

    使用Image Search的大量操作功能,需保證Image Search和阿里雲OSS在同一地區。

OSSImport介紹

OSSImport是阿里雲OSS提供的一款將資料移轉至OSS儲存空間(Bucket)的工具。您可以將OSSImport部署在本機伺服器或雲上ECS執行個體內,輕鬆將您本地或其它雲端儲存的資料移轉到OSS。

使用OSSImport上傳圖片具有以下優勢:

  • 保持圖片快速更新到Image Search引擎。

  • 同一個OSS儲存空間可供不同環境使用,像開發專案,線上專案等。

  • 根據業務需要,更好地組織和管理多種圖片的來源。

  • 更好地管理複雜環境的專案,例如開發專案,UAT專案等。

  • 最佳化使用網路頻寬:一次上傳,多次使用。

  • 使用這個工具,您可以將Image Search管理產業化。

圖片限制

  • 單張圖片大小不超過4 MB。

  • 圖片的長和寬解析度要求大於100px小於等於4096px。

操作流程

步驟一:下載OSSImport工具

OSSImport有單機模式和分布式模式兩種部署方式。

  • 單機模式:當您需要遷移的資料小於30TB時,推薦部署單機模式。您可以將OSSImport部署在任意一台可以訪問待遷移資料的機器上,且可以訪問OSS的機器上。單擊OSSImport下載。

  • 分布式模式:當您需要遷移的資料大於30TB時,推薦使用分布式模式。您可以將OSSImport部署在任意多台可以訪問您待遷移資料,且可以訪問OSS的機器上。單擊OSSImport下載。

說明

當您遷移的資料過大時,為了節約時間,您可以將OSSImport部署到與您OSS相同地區的ECS執行個體上,並通過專線將來源資料存放的伺服器掛載到阿里雲VPC網路中。多台ECS執行個體將資料通過內網遷移至OSS,會極大的提升資料移轉效率。

步驟二:開通Object Storage Service

具體操作步驟請參見開通OSS服務進行開通。

步驟三:建立儲存空間(bucket)

具體操作步驟請參見控制台建立儲存空間

說明

請確保開通的OSS服務以及建立的Bucket與已購買的Image Search服務在同一個地區。

步驟四:匯入increment.meta 資料

在OSS服務中存放圖片的路徑下,建立increment.meta檔案,該檔案用來儲存大量操作任務相關內容。

說明
  1. increment.meta檔案中涉及的圖片必須和increment.meta檔案在同一Bucket下,否則大量操作會失敗。

  2. increment.meta檔案名稱是固定的,Image Search將根據此檔案名稱讀取大量操作相關內容,不要擅自修改檔案名稱,否則會操作失敗。

  3. Image Search大量操作支援同一Bucket,不同路徑(path)圖片的大量操作,例如:Bucket為imagesearch,increment.meta檔案在此Bucket的根目錄下,path為girlCloth,圖片在此path目錄下,圖片名稱為girl_cloth8.jpg,則meta檔案中PicName應寫為“PicName":"girlCloth/girl_cloth8.jpg",注意:必須寫成"girlCloth/girl_cloth8.jpg",在girlCloth前面和girl_cloth8.jpg後面都不能加正斜線(/)。如果有多級目錄按照此邏輯依次類推。

  4. 在OSS中的圖片名稱尾碼必須填寫,例如圖片名稱為girl_cloth10.jpg,不能寫為"PicName":"girl_cloth10",必須寫為"PicName":"girl_cloth10.jpg",否則會處理失敗。

  5. increment.meta檔案中,一行代表處理一張圖片,處理另一張圖片必須換行,不得將所有圖片處理寫到一行中,否則會處理失敗。

檔案參考樣本如下:

{"OperationType": "ADD","ProductId": "1000","PicName": "girl_cloth1.jpg","CategoryId": 0,"IntAttr": 0,"StrAttr": "value1","CustomContent": "k1:v1,k2:v2,k3:v3","Region": "20,40,60,80"}
{"OperationType": "ADD","ProductId": "1000","PicName": "girl_cloth2.jpg","CategoryId": 0,"IntAttr": 0,"StrAttr": "value2","CustomContent": "k1:v1,k2:v2,k3:v3","Region": "20,40,60,80"}
{"OperationType": "ADD","ProductId": "1001","PicName": "girl_cloth3.jpg","CategoryId": 1,"CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "ADD","ProductId": "1002","PicName": "girl_cloth4.jpg","CategoryId": 0,"CustomContent": "k1:v1,k2:v2,k3:v3","Crop": false}
{"OperationType": "ADD","ProductId": "1003","PicName": "girl_cloth7.jpg","CustomContent": "https://www.aliyun.com/imagesearch/girl_cloth7.jpg"}
{"OperationType": "ADD","ProductId": "1003","PicName": "girl_cloth6.jpg","CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "ADD","ProductId": "1006","PicName": "girlCloth/girl_cloth10.jpg","CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "DELETE","ProductId": "1004","PicName": "fengyi.jpg"}
{"OperationType": "DELETE","ProductId": "1005"}

每個圖片由JSON格式表示,具體欄位含義如下表所示:

參數

類型

是否必選

說明

OperationType

String

操作類型。

  • ADD:新增圖片。

  • DELETE:刪除圖片。

ProductId

String

圖片唯一識別碼,最多支援512個字元。

PicName

String

圖片名稱。OSS的Bucket中圖片名稱。最多支援512個字元。

重要
  1. 每行最多隻允許填寫1個圖片名稱。若同一個ProductId,對應多個PicName則需要填寫多行。

  2. 圖片名稱必須填寫尾碼,例如:girl_cloth.jpg,不能寫為girl_cloth,必須寫為girl_cloth.jpg,否則會處理失敗。

  3. 如果圖片具有相同的商品ID+圖片名稱,則以最後一次添加為準。即如果圖片具有相同的商品ID+圖片名稱,則不管圖片本身是否相同,後一張圖片都會覆蓋前一張圖片。

  4. 新增圖片具體要求如下

    • 圖片大小要求不超過4 MB。

    • 圖片格式:PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、PPM。

    • 傳輸等待時間不超過5秒。

    • 服務類型為商品圖片搜尋、通用圖片搜尋、傢具家居圖片搜尋、工業五金圖片搜尋時,圖片長和寬像素要求大於等於100且小於等於4096px。

    • 圖片中不能包含旋轉資訊。

CategoryId

Integer

更多說明,請參見類目參考

  • 對於商品搜尋,如果設定類目,則以設定的為準,並且設定的類目必須在類目參考的範圍之內,否則會入庫失敗。

  • 如果不設定類目,將由系統進行類目預測,預測的類目結果可在Response中擷取。

  • 對於通用搜尋、著作權圖片搜尋、工業五金、傢具家居圖片搜尋,不論是否設定類目,系統會將類目設定為88888888。

CustomContent

String

使用者自訂內容。最多支援4096個字元。

說明

圖片的CustomContent會在搜尋結果中自動關聯出來。通過CustomContent欄位,您可以填寫圖片的URL地址,圖片額外附加資訊等,以便與您的業務關聯。

IntAttr

Integer

整數類型屬性。用於查詢時設定過濾。

說明

整數型別屬性與圖片查詢時的過濾條件組合使用,以起到過濾查詢的功能。請參考條件過濾

StrAttr

String

字串類型屬性。最多支援128字元。用於查詢時設定過濾。

說明

字串類型屬性與圖片查詢時的過濾條件組合使用,以起到過濾查詢的功能。請參考條件過濾

Crop

Boolean

是否進行主體識別。預設為true。

  • true:系統自動進行主體識別,以識別的主體進行搜尋。

  • false:不進行主體識別,以整張圖進行搜尋。

Region

String

圖片的主體地區。格式為x1,x2,y1,y2,其中x1和y1是左上方的點,x2和y2是右下角的點。

說明

若設定了該參數,則Crop參數不生效,以該設定為準。

步驟五:授予Image Search服務訪問OSS的許可權

Image Search服務通過OSS來實現資料大量操作,首次使用需完成帳號一鍵授權。如已完成授權,可跳過此步驟。

步驟六:上傳圖片

  1. 登入Image Search控制台

  2. 選擇目標服務類型和目標執行個體。

  3. 單擊大量操作頁簽。

    大量操作

  4. 單擊建立批量任務

    p278660.png

  5. 設定批量任務參數。

    • 所屬地區

      執行個體所在地區。

    • Bucket名稱

      OSS上建立的相應的Bucket名稱。

      重要

      請確保開通的OSS服務與已購買的Image Search服務在同一個地區。

    • 資料路徑

      需要上傳的圖片和increment.meta檔案的儲存路徑。

      批量上傳.png

    • meta檔案

      需要處理圖片的列表檔案,支援檢測是否存在,檔案名稱為increment.meta。

    • 完成後資訊回調

      輸入回調地址,僅支援HTTP或者HTTPS開頭。

      {
        "finishTime": "2021-05-19 17:50:00",
        "instanceId": "imagesearch-cn-xxxx",
        "instanceName": "instanceName",
        "message": "success",
        "processResultUrl": "https://image-search-task-info.oss-cn-shanghai.aliyuncs.com/yyyyyyyyyy",
        "status": "NORMAL",
        "taskId": 111
      }

      欄位名

      描述

      finishTime

      完成時間,精確到秒。

      instanceName

      Image Search執行個體名稱。

      instanceId

      Image Search執行個體ID。

      status

      任務執行結果,NORMAL為正常,FAIL為執行失敗。

      taskId

      任務ID。

      message

      資訊描述;success為成功。

      processResultUrl

      錯誤結果下載。

執行結果

任務運行完之後,您可以單擊執行個體ID查看任務啟動並執行狀態。