国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android 導(dǎo)入ncnn-android-yolov8-seg : 實(shí)現(xiàn)人體識(shí)別和人像分割

這篇具有很好參考價(jià)值的文章主要介紹了Android 導(dǎo)入ncnn-android-yolov8-seg : 實(shí)現(xiàn)人體識(shí)別和人像分割。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 前言

上篇文章我們在Android中使用OpenCV實(shí)現(xiàn)了人臉識(shí)別,這篇文章我們使用OpenCV+YOLOv8+NCNN 來實(shí)現(xiàn)人像分割的功能。

首先來看下效果,這里會(huì)識(shí)別出人體,并會(huì)用藍(lán)色的框框出來,并會(huì)有標(biāo)簽標(biāo)注識(shí)別出的物體是什么,概率是多少。
識(shí)別出的人像,會(huì)覆蓋上一層粉紅色,其實(shí)就是識(shí)別出了整個(gè)人體輪廓了。

yolov8 人像分割,音視頻開發(fā),android,yolov8,OpenCV,NCNN,人體識(shí)別,人像分割,人工智能

2. YOLOv8是什么

YOLOv8 是來自 Ultralytics2023年最新的基于 YOLO 的對象檢測模型系列,提供了先進(jìn)的性能。
要了解YOLOv8,就要先看一下YOLO (you only look once)的誕生歷史,這部分具體詳見 童心未泯的 YOLO 之父,Joseph Redmon 笑傲 CV 江湖記,這里就不過多介紹了,我們只需要知道,YOLO只需要瀏覽一次就可以識(shí)別出圖中的物體的類別和位置,并且能夠進(jìn)行圖像分割。

3. NCNN是什么

ncnn 是一個(gè)為手機(jī)端極致優(yōu)化的高性能神經(jīng)網(wǎng)絡(luò)前向計(jì)算框架。 ncnn 從設(shè)計(jì)之初深刻考慮手機(jī)端的部署和使用。 無第三方依賴,跨平臺(tái),手機(jī)端 cpu 的速度快于目前所有已知的開源框架。 基于 ncnn,開發(fā)者能夠?qū)⑸疃葘W(xué)習(xí)算法輕松移植到手機(jī)端高效執(zhí)行, 開發(fā)出人工智能 APP ,將 AI 帶到你的指尖。 ncnn 目前已在騰訊多款應(yīng)用中使用,如:QQ,Qzone,微信,天天 P 圖等。

NCNN目前已經(jīng)支持大部分的CNN網(wǎng)絡(luò),包括YOLO。這意味著YOLO算法可以集成到NCNN框架中,并在手機(jī)端進(jìn)行高效執(zhí)行。因此,NCNNYOLO可以相互結(jié)合使用,以實(shí)現(xiàn)更快速、更高效的目標(biāo)檢測。

4. OpenCV是什么

OpenCV是一個(gè)跨平臺(tái)計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫,它輕量級而且高效,由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。在本篇文章中,OpenCV主要是以圖像轉(zhuǎn)化與傳遞的作用引入的。

5. 運(yùn)行ncnn-android-yolov8-seg

那么,怎么在Android中如何使用OpenCV+YOLOv8+NCNN呢 ?
首先,我們可以在Github上找到這個(gè)庫 : Digital2Slave/ncnn-android-yolov8-seg,內(nèi)部已經(jīng)使用OpenCV+YOLOv8+NCNN,來實(shí)現(xiàn)人像分割功能了,這里我們可以來導(dǎo)入這個(gè)項(xiàng)目,運(yùn)行一下看下效果。

5.1 導(dǎo)入ncnn-android-yolov8-seg

我們下載好Digital2Slave/ncnn-android-yolov8-seg的代碼后,使用Android Studio 3.6導(dǎo)入項(xiàng)目。

這個(gè)時(shí)候,會(huì)提示報(bào)錯(cuò)

Caused by: java.lang.NullPointerException
	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:787)
	at com.android.build.gradle.internal.ndk.NdkHandler.getPlatformVersion(NdkHandler.java:159)
	at com.android.build.gradle.internal.ndk.NdkHandler.supports64Bits(NdkHandler.java:332)
	at com.android.build.gradle.internal.ndk.NdkHandler.getSupportedAbis(NdkHandler.java:404)
	...

這是因?yàn)槲覀冞€沒有配置NDK路徑

5.2 配置CMake和NDK路徑

local.properties添加如下代碼

# 設(shè)置cmake路徑,這里的路徑要改成你的實(shí)際cmake路徑
cmake.dir=C\:\\Developer\\Android_SDK\\cmake\\3.10.2.4988404
# 設(shè)置ndk路徑,這里的路徑要改成你的實(shí)際ndk路徑
ndk.dir=C\:\\Developer\\Android_SDK\\ndk\\20.0.5594570

5.3 配置 NDK DANDROID_STL

appbuild.gradle中,externalNativeBuildcmake代碼塊中,可以添加如下代碼

arguments "-DANDROID_STL=c++_shared"

總體代碼如下

externalNativeBuild {
    cmake {
        cppFlags "-std=c++11 -frtti -fexceptions"
        abiFilters 'arm64-v8a'
        arguments "-DANDROID_STL=c++_shared"
    }
}   

5.4 解決報(bào)錯(cuò) unknown argument

我們再同步一下項(xiàng)目,可以發(fā)現(xiàn)報(bào)如下錯(cuò)誤,使用ndk16ndk20都會(huì)出現(xiàn)這個(gè)報(bào)錯(cuò)。

Execution failed for task ':app:externalNativeBuildDebug'.
> Build command failed.
  Error while executing process C:\Developer\Android_SDK\cmake\3.10.2.4988404\bin\cmake.exe with arguments {--build E:\WorkSpace\Demo\Tnn\New\ncnn-android-yolov8-seg\app\.externalNativeBuild\cmake\debug\arm64-v8a --target yolov8ncnn}
...
clang++.exe: error: unknown argument: '-static-openmp'
ninja: build stopped: subcommand failed.
5.4.1 解決方式一

這里我們?nèi)炙阉?code>-static-openmp,將其都刪除。

yolov8 人像分割,音視頻開發(fā),android,yolov8,OpenCV,NCNN,人體識(shí)別,人像分割,人工智能

5.4.2 解決方式二

使用高版本的NDK,比如NDK 25.1.8937393

# 設(shè)置cmake路徑,這里的路徑要改成你的實(shí)際cmake路徑
cmake.dir=C\:\\Developer\\Android_SDK\\cmake\\3.10.2.4988404
# 設(shè)置ndk路徑,這里的路徑要改成你的實(shí)際ndk路徑
ndk.dir=C\:\\Developer\\Android_SDK\\ndk\\25.1.8937393
5.4.3 重新編譯運(yùn)行

接著重新編譯一下 C++ Projects
yolov8 人像分割,音視頻開發(fā),android,yolov8,OpenCV,NCNN,人體識(shí)別,人像分割,人工智能
然后,點(diǎn)擊運(yùn)行,發(fā)現(xiàn)項(xiàng)目正常運(yùn)行起來了。
yolov8 人像分割,音視頻開發(fā),android,yolov8,OpenCV,NCNN,人體識(shí)別,人像分割,人工智能

6. 接入OpenCV+YOLOv8+NCNN

然后我們可以在自己的項(xiàng)目中接入OpenCV+YOLOv8+NCNN了,但是看了下源碼,我們可以發(fā)現(xiàn)ncnn-android-yolov8-seg這個(gè)項(xiàng)目里的相機(jī)是用的c/c++,但是在我們項(xiàng)目中,使用的Java層的Camera API來實(shí)現(xiàn)的API。

yolov8 人像分割,音視頻開發(fā),android,yolov8,OpenCV,NCNN,人體識(shí)別,人像分割,人工智能

要想在自己項(xiàng)目里集成ncnn,那就需要把ncnn-android-yolov8-seg里的核心代碼給抽離,然后對接到JavaCamera API中。

那需要怎么做呢 ?

下一篇文章來實(shí)現(xiàn)一下

詳見 : Android 在自己的項(xiàng)目接入OpenCV+YOLOv8+NCNN,實(shí)現(xiàn)人像分割-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-765562.html

到了這里,關(guān)于Android 導(dǎo)入ncnn-android-yolov8-seg : 實(shí)現(xiàn)人體識(shí)別和人像分割的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Android Studio】【NCNN】YOLOV5安卓部署

    【Android Studio】【NCNN】YOLOV5安卓部署

    坑非常多,兄弟們,我已經(jīng)踩了三天的坑了,我這里部署了官方的yolov5s和我自己訓(xùn)練的yolov5n的模型 下載Android Studio,配置安卓開發(fā)環(huán)境,這個(gè)過程比較漫長。 安裝cmake,注意安裝的是cmake3.10版本。 根據(jù)手機(jī)安卓版本選擇相應(yīng)的安卓版本,我的是紅米K30Pro,安卓12。 使用騰訊

    2024年02月20日
    瀏覽(20)
  • 使用Android studio,安卓手機(jī)編譯安裝yolov8部署ncnn,頻繁出現(xiàn)編譯錯(cuò)誤

    使用Android studio,安卓手機(jī)編譯安裝yolov8部署ncnn,頻繁出現(xiàn)編譯錯(cuò)誤

    從編譯開始就開始出現(xiàn)錯(cuò)誤,解決步驟: 1.降低graddle版本,7.2-bin? ---? ?降低為 6.1.1-all 2.仍舊有報(bào)錯(cuò),jdk從17降為?jdk 13, 在setting配置里, 進(jìn)入build,excution,deployment文件夾中,(是一個(gè)文件夾,名字長,不是三個(gè)) 進(jìn)入build?tools,再進(jìn)入 Gradle,? 如圖所示, 勾選,選擇

    2024年04月28日
    瀏覽(38)
  • YOLOv5-7.0-seg+YOLOv8-seg自定義數(shù)據(jù)集訓(xùn)練

    下載源碼 ? https://github.com/ultralytics/yolov5.git 參考鏈接? ?yolov5-實(shí)例分割 1.如何使用yolov5實(shí)現(xiàn)實(shí)例分割,并訓(xùn)練自己的數(shù)據(jù)集_嗶哩嗶哩_bilibili 目錄: - datasets ? ? - JPEImages #存放圖片和標(biāo)注后的json文件以及轉(zhuǎn)換后的txt文件 ? ? - classes-4 #存放切分好的數(shù)據(jù)集 ? ? ? ? - images ? ?

    2024年02月01日
    瀏覽(30)
  • YOLOv5在android端實(shí)現(xiàn)目標(biāo)檢測+跟蹤+越界識(shí)別并報(bào)警

    YOLOv5在android端實(shí)現(xiàn)目標(biāo)檢測+跟蹤+越界識(shí)別并報(bào)警

    想要獲取源碼和相關(guān)資料說明的可以關(guān)注我的微信公眾號: 雨中算法屋 , 后臺(tái)回復(fù) 越界識(shí)別 即可獲取,有問題也可以關(guān)注公眾號加我微信聯(lián)系我,相互交流學(xué)習(xí)。 算法功能: 判斷劃定的區(qū)域內(nèi),在某個(gè)時(shí)間內(nèi),是否有?體闖?,涉及到了?體檢測+?體追蹤+業(yè)務(wù)功能(區(qū)

    2023年04月12日
    瀏覽(19)
  • 【YOLOv8-Seg】實(shí)戰(zhàn)二:LabVIEW+OpenVINO加速YOLOv8-seg實(shí)例分割

    【YOLOv8-Seg】實(shí)戰(zhàn)二:LabVIEW+OpenVINO加速YOLOv8-seg實(shí)例分割

    ????博客主頁: virobotics的CSDN博客:LabVIEW深度學(xué)習(xí)、人工智能博主 ??所屬專欄:『LabVIEW深度學(xué)習(xí)實(shí)戰(zhàn)』 ??上期文章: 【YOLOv8-seg】實(shí)戰(zhàn)一:手把手教你使用YOLOv8實(shí)現(xiàn)實(shí)例分割 ??如覺得博主文章寫的不錯(cuò)或?qū)δ阌兴鶐椭脑?,還望大家多多支持呀! 歡迎大家?關(guān)注、??

    2024年02月13日
    瀏覽(25)
  • 舌頭分割YOLOV8-SEG

    舌頭分割YOLOV8-SEG

    舌頭分割,基于YOLOV8-SEG,訓(xùn)練得到PT模型,然后轉(zhuǎn)換成ONNX,OPENCV的DNN調(diào)用,從而擺脫YOLO依賴,支持C++,PYTHON,ANDROID開發(fā) 舌頭分割YOLOV8-SEG

    2024年04月28日
    瀏覽(24)
  • yolov8seg 瑞芯微RKNN部署

    yolov8seg 瑞芯微RKNN部署

    首先是把yolov8的onnx模型轉(zhuǎn)成rknn模型,這里用的是yolov8n-seg. 轉(zhuǎn)模型代碼如下,這段是python代碼: 運(yùn)行成功之后會(huì)得到y(tǒng)olov8n_seg.rknn模型。 往下是cpp代碼。 運(yùn)行rknn模型,不是零copy的話用這段代碼。 零copy方法用這段代碼。 下面來看下rknn模型運(yùn)行結(jié)果outputs的結(jié)構(gòu)。 具體這個(gè)結(jié)

    2024年02月13日
    瀏覽(22)
  • YOLOv7安卓部署 ncnn

    YOLOv7安卓部署 ncnn

    本文將講述如何利用ncnn在安卓手機(jī)端部署YOLOv7,這里以YOLOv7-tiny為例進(jìn)行講解,YOLOv7按照步驟依次進(jìn)行即可,同時(shí)對于Android Studio的安裝不在本次教程之內(nèi) 標(biāo)準(zhǔn) YOLOv7-tiny 部署指的是沒有更改 YOLOv7-tiny 的網(wǎng)絡(luò)模型架構(gòu),直接利用訓(xùn)練好的模型權(quán)重進(jìn)行部署,下面分幾步進(jìn)行講

    2024年02月03日
    瀏覽(26)
  • Android Studio Electric Eel 2022.1.1 Patch 2 導(dǎo)入opencv 4.5,并實(shí)現(xiàn)圖片灰度變換和圖片疊加

    Android Studio Electric Eel 2022.1.1 Patch 2 導(dǎo)入opencv 4.5,并實(shí)現(xiàn)圖片灰度變換和圖片疊加

    Android Studio Electric Eel 2022.1.1 Patch 2 https://sourceforge.net/projects/opencvlibrary/files/4.5.0/opencv-4.5.0-android-sdk.zip/download with API23: 導(dǎo)入opencv sdk: File-New-Import Module 添加工程依賴:File-Project Structure, sdk為opencv sdk. plugins { id ‘com.android.application’ version ‘7.4.2’ apply false id ‘com.android.library’

    2024年02月05日
    瀏覽(30)
  • Android studio導(dǎo)入Android源碼(AOSP Android 14)

    1. 完整編譯AOSP源碼 有些java文件是在編譯過程中動(dòng)態(tài)生成的,需要完整編譯一遍,源碼的依賴才能完整。 2. 生成IDE導(dǎo)入的工程文件 執(zhí)行完成后,在AOSP根目錄下生成文件: 3. 導(dǎo)入前,編輯工程文件 (這步很重要,影響代碼的加載速度和跳轉(zhuǎn)) 編輯android.iml文件,需要修改2部

    2024年02月10日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包