快速搭建Serverless人臉識(shí)別離線服務(wù)-創(chuàng)新互聯(lián)

簡(jiǎn)介

首先介紹下在本文出現(xiàn)的幾個(gè)比較重要的概念:

為瓊山等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及瓊山網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為做網(wǎng)站、網(wǎng)站制作、瓊山網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

函數(shù)計(jì)算(Function Compute):函數(shù)計(jì)算是一個(gè)事件驅(qū)動(dòng)的服務(wù),通過(guò)函數(shù)計(jì)算,用戶無(wú)需管理服務(wù)器等運(yùn)行情況,只需編寫代碼并上傳。函數(shù)計(jì)算準(zhǔn)備計(jì)算資源,并以彈性伸縮的方式運(yùn)行用戶代碼,而用戶只需根據(jù)實(shí)際代碼運(yùn)行所消耗的資源進(jìn)行付費(fèi)。函數(shù)計(jì)算更多信息參考

函數(shù)工作流(Function Flow):函數(shù)工作流是一個(gè)用來(lái)協(xié)調(diào)多個(gè)分布式任務(wù)執(zhí)行的全托管云服務(wù)。用戶可以用順序,分支,并行等方式來(lái)編排分布式任務(wù),F(xiàn)nF 會(huì)按照設(shè)定好的步驟可靠地協(xié)調(diào)任務(wù)執(zhí)行,跟蹤每個(gè)任務(wù)的狀態(tài)轉(zhuǎn)換,并在必要時(shí)執(zhí)行用戶定義的重試邏輯,以確保工作流順利完成。函數(shù)工作流更多信息參考

本文將重點(diǎn)介紹如何快速地通過(guò)函數(shù)計(jì)算與函數(shù)工作流部署一個(gè)定時(shí)離線批量處理圖片文件并標(biāo)注出人臉的服務(wù)。

開通服務(wù)

  1. 免費(fèi)開通函數(shù)計(jì)算,按量付費(fèi),函數(shù)計(jì)算有很大的免費(fèi)額度。
  2. 免費(fèi)開通函數(shù)工作流,按量付費(fèi),目前該產(chǎn)品在公測(cè)階段,可以免費(fèi)使用。
  3. 免費(fèi)開通對(duì)象存儲(chǔ),按量付費(fèi)。

解決方案

快速搭建 Serverless 人臉識(shí)別離線服務(wù)

流程如下:

  1. 設(shè)定定時(shí)觸發(fā)器,定時(shí)觸發(fā)函數(shù)計(jì)算中的函數(shù)。
  2. 函數(shù)被觸發(fā)后,調(diào)用一次函數(shù)工作流中的流程。
  3. 函數(shù)工作流中的流程被執(zhí)行:

    1. 調(diào)用函數(shù)計(jì)算中的函數(shù),列舉出 OSS Bucket 根路徑下的圖片文件列表。
    2. 對(duì)于步驟1中列出的文件列表,對(duì)每個(gè)文件:
    • 調(diào)用函數(shù)計(jì)算中的函數(shù)處理,進(jìn)行人臉識(shí)別并標(biāo)注。將標(biāo)注后的文件存入 OSS,最后將處理過(guò)的文件進(jìn)行轉(zhuǎn)移。

      1. 判斷當(dāng)前 OSS 根路徑下是否有更多的文件
    • 如是,繼續(xù)步驟1
    • 如否,結(jié)束流程

快速開始

  1. Clone 工程到本地

    • git clone git@github.com:ChanDaoH/serverless-face-recognition.git
  2. 替換項(xiàng)目目錄下 template.yml 文件中的 YOUR_BUCKET_NAME 為在杭州區(qū)域的 OSS Bucket (可以不是杭州區(qū)域的,需要同步修改 OSS_ENDPOINT)
ROSTemplateFormatVersion: '2015-09-01'
Transform: 'Aliyun::Serverless-2018-04-03'
Resources:
  face-recognition:
    Type: 'Aliyun::Serverless::Service'
    Properties:
      Policies:
        - Version: '1'
          Statement:
            - Effect: Allow
              Action:
                - 'oss:ListObjects'
                - 'oss:GetObject'
                - 'oss:PutObject'
                - 'oss:DeleteObject'
                - 'fnf:*'
              Resource: '*'
    listObjects:
      Type: 'Aliyun::Serverless::Function'
      Properties:
        Handler: index.handler
        Runtime: python3
        Timeout: 60
        MemorySize: 128
        CodeUri: functions/listobjects
        EnvironmentVariables:
          OSS_ENDPOINT: 'https://oss-cn-hangzhou-internal.aliyuncs.com'
    detectFaces:
      Type: 'Aliyun::Serverless::Function'
      Properties:
        Handler: index.handler
        Runtime: python3
        Timeout: 60
        MemorySize: 512
        CodeUri: functions/detectfaces
        EnvironmentVariables:
          OSS_ENDPOINT: 'https://oss-cn-hangzhou-internal.aliyuncs.com'
    timer:
      Type: 'Aliyun::Serverless::Function'
      Properties:
        Handler: index.handler
        Runtime: python3
        Timeout: 60
        MemorySize: 512
        CodeUri: functions/timer
      Events:
        timeTrigger:
          Type: Timer
          Properties:
            CronExpression: '0 * * * * *'
            Enable: true 
            # replace YOUR_BUCKET_NAME to your oss bucket name
            Payload: '{"flowName": "oss-batch-process", "input": "{\"bucket\": \"YOUR_BUCKET_NAME\",\"prefix\":\"\"}"}'
  oss-batch-process:
    Type: 'Aliyun::Serverless::Flow'
    Properties:
      Description: batch process flow
      DefinitionUri: flows/index.flow.yml
      Policies:
        - AliyunFCInvocationAccess
  1. 一鍵部署函數(shù)計(jì)算和函數(shù)工作流資源至云端

    • 安裝最新版本的 Fun
    • 在項(xiàng)目根目錄下執(zhí)行 fun deploy

效果驗(yàn)證

  1. 在 OSS Bucket 的根目錄下放置圖片

快速搭建 Serverless 人臉識(shí)別離線服務(wù)

  1. 等待一分鐘后,定時(shí)觸發(fā)器觸發(fā)函數(shù)執(zhí)行函數(shù)工作流。

快速搭建 Serverless 人臉識(shí)別離線服務(wù)

  1. 工作流執(zhí)行完成后,查看 OSS Bucket

    • 標(biāo)注出人臉的圖像放置在 face-detection 目錄下

快速搭建 Serverless 人臉識(shí)別離線服務(wù)

  • 處理過(guò)的錄像放置在 processed 目錄下

快速搭建 Serverless 人臉識(shí)別離線服務(wù)

總結(jié)

通過(guò) 函數(shù)計(jì)算 + 函數(shù)工作流,搭建了一個(gè)定時(shí)批量處理圖片進(jìn)行人臉識(shí)別的服務(wù)。該服務(wù)因?yàn)槭褂昧撕瘮?shù)工作流的流程,將任務(wù)分為了多個(gè)步驟,只需要確保每個(gè)步驟的函數(shù)能夠在函數(shù)計(jì)算限制時(shí)間(10分鐘)內(nèi)完成即可。
通過(guò) Fun 工具,一鍵部署 函數(shù)計(jì)算 + 函數(shù)工作流,免去去多平臺(tái)進(jìn)行操作的步驟。

相關(guān)參考

  1. 函數(shù)計(jì)算
  2. 函數(shù)工作流
  3. Aliyun Serverless VSCode 插件
  4. Fun

參考示例

  1. serverless-face-recognition
  2. oss-batch-process

“阿里巴巴云原生關(guān)注微服務(wù)、Serverless、容器、Service Mesh 等技術(shù)領(lǐng)域、聚焦云原生流行技術(shù)趨勢(shì)、云原生大規(guī)模的落地實(shí)踐,做最懂云原生開發(fā)者的技術(shù)圈。”

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享標(biāo)題:快速搭建Serverless人臉識(shí)別離線服務(wù)-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://muchs.cn/article8/pgcop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航軟件開發(fā)、網(wǎng)站維護(hù)服務(wù)器托管、網(wǎng)站改版、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名