做AI運動小程式有哪些解決方案,如何進行選型?

来源:https://www.cnblogs.com/alphaair/p/17186761.html
-Advertisement-
Play Games

引言:隨著深度學習技術的發展進步,已經不再依賴強大的GPU算力,便可實現AI推理了,讓AI技術滲透到了電腦、手機、智能設備等各類設備。體育、健身行業也不例外,阿裡體育等IT大廠,推出的樂動力、天天跳繩、百分運動等AI運動APP,讓雲上運動會、線上運動會、健身打卡、AI體育指導、AI體測等概念空前火熱 ...


引言:隨著深度學習技術的發展進步,已經不再依賴強大的GPU算力,便可實現AI推理了,讓AI技術滲透到了電腦、手機、智能設備等各類設備。體育、健身行業也不例外,阿裡體育等IT大廠,推出的樂動力、天天跳繩、百分運動等AI運動APP,讓雲上運動會、線上運動會、健身打卡、AI體育指導、AI體測等概念空前火熱。
那麼AI運動這個應用場景,除了在原生APP上實現,能否搬上微信小程式呢,今天就帶您探索幾種可能的解決方案,併進行一些橫向對比。

一、AI運動識別技術要點

要實現AI運動計時、計數,要解決主要技術問題有:視頻抽幀、視頻人體檢測、姿態識別、計時計數演算法,其中最主要的也是技術前提的便是人體識別檢測,實現上面的技術,便是一個完整的AI運動解決方案了。
image

二、離線方案

所謂離線方案,即把整套的視頻抽幀、視頻人體檢測、計時計數等環節放在後臺服務端執行,由於在後臺端執行,所以無法做到在小程式端根據視頻或攝像頭採集進度實時展示識別結果及進行互動,故叫離線方案。

1.1、全離線方案

全離線方案主要的技術方案在後端實現,運行在後臺伺服器,小程式端只負責上傳運動視頻或圖片,等待服端返回識別結果即可。 後端實現的相關技術棧相對比較成熟,如視頻抽幀可以選擇採用ffmpeg、opencv等成熟開源組件實現;人體檢測識別可以採用百度、阿裡、騰訊等成熟的第三方服務或私有化部署相關模型。

1.2、半離線方案

所謂半離線方案,與全離線方案的區別在於,將視頻抽幀放在小程式端執行,即可利用小程式的camera組件實時採集運動畫面,調用相應的API進行實時抽幀向後臺回傳,後臺反饋識別結果。

二、原生方案

所謂原生方案,也可叫本地原生方案,所有技術環節使用javascript在小程式端本地實現及運行,由於所有的計算在小程式端同步進行,所以實時體驗會更好,後端壓力也較輕,離線方案的後端壓力會隨著用戶量增長上升。

1.1、自研AI引擎方案

微信小程式端本身提供了Camera組件及攝像頭畫面抽幀API,使用現成的即可,重點在於人體關鍵點識別檢測的深度學習推理引擎的集成,這需要根據小程式的運行時,選擇好相應的識別引擎及檢測模型,進行適配集成。再編寫人體姿態識別演算法及運動分析器邏輯。

1.2、成熟的插件方案

相較於自研方案,也可以選擇成熟的小程式插件解決方案,比如我們推出的【AI運動識別】微信小程式插件,可以為您的小程式提供人體檢測、運動識別的AI能力,插件目前支持跳繩、開合跳、俯卧撐、仰卧起坐、捲腹、深蹲(深蹲起)、平板支撐、馬步蹲等運動的識別檢測計時、計數分析,更多的運動類型正在豐富中;插件運動識別引擎提供了基於規則配置的運動識別能力,您可以通過配置一些簡單的規則,增加一項新的運動(動作)識別能力,若是複雜的運動種類,也可以通過代碼擴展的方式進行。
image

三、方案對比

方案 難度 成本 體驗 優缺點
全離線方案 實現簡單,後臺伺服器、三方API調用成本高
半離線方案 實現簡單,後臺伺服器、帶寬要求高、三方API調用等成本高
自研原生方案 實現難度比較高,上線穩定周期較長
AI運動識別插件原生方案 實現簡單,成本低,且成熟穩定、開箱即用

根據上面的綜合對比得知,離線方案投入的成本和體驗不成正比,所以在新開發應用中不應將離線方案納入考慮範圍;無特殊的需求團隊建議直接使用AI運動識別插件方案,投入成本小且能避免很多實現陷井。

提供信息系統、公眾號、小程式、APP訂製開發服務

www.yztob.com

QQ:316455841

歡迎通過各種渠道咨詢瞭解,免費提供信息系統建設咨詢服務。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Android Compose 入門,深入底層源碼分析 我是跟著AS官網學習的,但是官方的教程寫的不是很詳細.官網鏈接 首先創建一個Compose項目,目錄結構是這樣: ui -> theme -> -> Color.kt -> -> Theme.kt -> -> Type.kt MainActiv ...
  • 一、Popup Popup組件通常用於在屏幕上彈出一個對話框或者浮動視窗。這個組件通常和其他組件一起用於用戶界面的交互和反饋。 Popup組件可以包含任何類型的組件或內容,比如文本、按鈕、輸入框、圖片等等。在打開和關閉Popup時,可以在代碼中設置不同的動畫效果來增強用戶體驗。 Popup組件的 ...
  • 一、Video 視頻組件是用於應用程式中嵌入視頻的一種方法。它可以讓用戶在網站上觀看視頻並與其進行交互。通常,視頻組件將一個視頻文件嵌入應用程式中,並提供一組控制項,這些控制項允許用戶播放、暫停、跳過、音量調整和全屏等。通過使用視頻組件,開發者可以更容易地將視頻嵌入應用程式,使其更易於管理和控制。 ...
  • 在我之前的文章中講了vue文件是如何編譯成js文件,今天這篇文章接著來講講vue3中是如何將template模塊編譯為render函數的。 ...
  • 本文分享自華為雲社區《3月閱讀周·你不知道的JavaScript | ES6生成器,看似同步的非同步流程式控制製表達風格》,作者: 葉一一。 生成器 打破完整運行 JavaScript開發者在代碼中幾乎普遍依賴的一個假定:一個函數一旦開始執行,就會運行到結束,期間不會有其他代碼能夠打斷它並插入其間。 ES ...
  • XSL(eXtensible Stylesheet Language)是一種用於 XML 的樣式語言。 XSL(T) 語言 XSLT 是一種用於轉換 XML 文檔的語言。 XPath 是一種用於在 XML 文檔中導航的語言。 XQuery 是一種用於查詢 XML 文檔的語言。 它始於 XSL XSL ...
  • 一、前言 演算法(Algorithm)是指用來操作數據、解決程式問題的一組方法。對於同一個問題,使用不同的演算法,也許最終得到的結果是一樣的,但在過程中消耗的資源和時間卻會有很大的區別 衡量不同演算法之間的優劣主要是通過時間和空間兩個維度去考量: 時間維度:是指執行當前演算法所消耗的時間,我們通常用「時間復 ...
  • vue3 快速入門系列 - vue3 路由 在vue3 基礎上加入路由。 vue3 需要使用 vue-router V4,相對於 v3,大部分的 Vue Router API 都沒有變化。 Tip:不瞭解路由的同學可以看一下筆者之前的文章:vue2 路由 參考:vue2 路由官網、vue3 路由官網 ...
一周排行
    -Advertisement-
    Play Games
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...