91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SAM(通用圖像分割基礎(chǔ)模型)丨基于BM1684X模型部署指南

視美泰 ? 2026-01-12 16:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

SAM是Meta提出的一個(gè)分割一切的提示型模型,其在1100萬(wàn)張圖像上訓(xùn)練了超過(guò)10億個(gè)掩碼,實(shí)現(xiàn)了強(qiáng)大的零樣本泛化,突破了分割界限。本例程對(duì)SAM官方開源倉(cāng)庫(kù)的模型和算法進(jìn)行移植,使之能在基于BM1684X芯片的嵌入式設(shè)備上進(jìn)行高效推理測(cè)試。


一、特性

  • ? 支持BM1684X平臺(tái)全系列部署方案(x86 PCIe、SoC、riscv PCIe)
  • ? 圖像壓縮(embedding)部分支持FP16 1batch(BM1684X)模型編譯和推理
  • ? 圖像推理(mask_decoder)部分支持FP32 1batch、FP16 1batch(BM1684X)模型編譯和推理
  • ? 支持基于OpenCV的Python推理
  • ? 支持單點(diǎn)和box輸入的模型推理,并輸出最高置信度mask或置信度前三的mask
  • ? 支持圖片測(cè)試
  • ? 支持無(wú)需點(diǎn)框輸入的自動(dòng)圖掩碼生成

特別說(shuō)明:
本例程已成功應(yīng)用于ShiMetaPi基于BM1684X打造的算力盒子,實(shí)現(xiàn)了圖像壓縮(embedding)和圖像推理(mask_decoder)兩個(gè)bmodel的高效協(xié)同運(yùn)行。圖像推理部分最后一層resize未編入bmodel模型,這種設(shè)計(jì)在ShiMetaPi算力盒子的實(shí)際部署中展現(xiàn)了良好的靈活性和性能平衡,為邊緣端分割任務(wù)提供了穩(wěn)定可靠的解決方案。


二、工程目錄

工程文件筆者對(duì)demo改動(dòng)較多,建議直接拷貝筆者文件到/data目錄下。

SAM

├─datasets##weby以及python案例的圖片保存

│ dog.jpg

│ groceries.jpg

│ truck.jpg

├─docs #

#幫助文檔

│ │ boxShare_PC_Wifi.md

│ │ sam.md

││ └─image #

#文檔中顯示的圖片

│ eth.png

│ ipv4.png

│ ping.png

│ regedit.png

│ result_0.jpg

│ result_auto.jpg

│ result_box_0.jpg

│ result_box_1.jpg

│ result_box_2.jpg

│ t2.png

│ t3.png

terminal.png

│ ui.png

│ uib.png

│ uip.png

│ wlan.png

├─models #

#模型文件

│ └─BM1684X #

#1684x的模型權(quán)重文件

│ ├─decode_bmodel

│ │ SAM-ViT-B_auto_multi_decoder_fp32_1b.bmodel

│ │ SAM-ViT-B_decoder_multi_mask_fp16_1b.bmodel

│ │ SAM-ViT-B_decoder_multi_mask_fp32_1b.bmodel

│ │ SAM-ViT-B_decoder_single_mask_fp16_1b.bmodel

│ │ SAM-ViT-B_decoder_single_mask_fp32_1b.bmodel

│ │

│ └─embedding_bmodel│

SAM-ViT-B_embedding_fp16_1b.bmodel

├─python #

#python腳本

│ amg.py

│ automatic_mask_generator.py

│ backend.py

│ predictor.py

│ sam_encoder.py

│ sam_model.py

│ sam_opencv.py

│ transforms.py

│└─web_ui web例程文件

│ index.html

│ ├─components

│ drawBox.png

│ firstPage.png

│ frontPage.png

│ singlePoint.png

├─css

│ styles.css

├─images

│ dog.jpg

│ groceries.jpg

│ truck.jpg

└─scripts

main.js


二、運(yùn)行步驟

檢查網(wǎng)絡(luò)環(huán)境:因?yàn)楹竺娴慕换ゾW(wǎng)頁(yè)用到了固定IP,所以這里使用開發(fā)板通過(guò)網(wǎng)線共享電腦網(wǎng)絡(luò)的方式進(jìn)行,詳細(xì)操作可以參考聯(lián)網(wǎng)文檔(注1)

1、環(huán)境準(zhǔn)備

修改.bashrc文件,將sophon的python環(huán)境引入。

sudovim ~/.bashrc

在文件末尾加上下面字段:

exportPYTHONPATH=$PYTHONPATH:/opt/sophon/libsophon-current/lib:/opt/sophon/sophon-opencv-latest/opencv-python/

:wq保存退出后重新加載終端。

source~/.bashrc

可echo $PYTHONPATH,檢查是否是對(duì)應(yīng)字段。

此外,運(yùn)行環(huán)境還需要以下python庫(kù):

pip3install torch

torchvision安裝過(guò)慢,可指定清華源安裝

pip3 install torchvision -i https://pypi.tuna.tsinghua.edu.cn/simple

pip3 install matplotlib

pip3 install flask flask-cors## 運(yùn)行web交互案例所需,可選擇性安裝

安裝完畢可pip show 包名進(jìn)行檢查。

2、python例程測(cè)試

2.1 參數(shù)說(shuō)明

python例程主要運(yùn)行sam_opencv.py文件,參數(shù)說(shuō)明如下:

usage: sam_opencv.py [--input_image INPUT_PATH] [--input_point INPOINT_POINT]

[--embedding_bmodel EMBEDDING_BMODEL] [--bmodel BMODEL]

[--auto bool][--dev_id DEV_ID]

--input_image: 測(cè)試圖片路徑,需輸入圖片路徑;

--input_point: 輸入點(diǎn)的坐標(biāo),輸入格式為x,y;或者輸入框坐標(biāo),格式為x1,y1,x2,y2

--embedding_bmodel 用于圖像壓縮(embedding)的bmodel路徑;

--decode_bmodel: 用于推理(mask_decode)的bmodel路徑;

--dev_id: 用于推理的tpu設(shè)備id;

--auto: 是否啟用自動(dòng)分割,為bool,默認(rèn)為0不開啟,1為開啟;'''以下為automatic masks generator的可調(diào)參數(shù),可控制采樣點(diǎn)的密度以及去除低質(zhì)量或重復(fù)mask的閾值'''

--points_per_side: 沿圖像一側(cè)采樣的點(diǎn)數(shù)??傸c(diǎn)數(shù)為points_per_side2^2。默認(rèn)值為32;

--points_per_batch: 設(shè)置模型同時(shí)檢測(cè)的點(diǎn)數(shù)。數(shù)字越大可能速度越快,但會(huì)使用更多GPU內(nèi)存。默認(rèn)值為64;

--pred_iou_thresh: [0,1]中的過(guò)濾閾值,模型的預(yù)測(cè)mask質(zhì)量。默認(rèn)值為0.88;

--stability_score_thresh: [0,1] 中的過(guò)濾閾值(截止值變化時(shí)掩模的穩(wěn)定性)用于對(duì)模型的mask預(yù)測(cè)進(jìn)行二值化。默認(rèn)值為0.95;

--stability_score_offset: 計(jì)算穩(wěn)定性分?jǐn)?shù)時(shí),偏移截止值的量。默認(rèn)值為1.0;

--box_nms_thresh: 用于過(guò)濾重復(fù)mask的非極大值抑制框IoU截止。默認(rèn)值為0.7;

--crop_nms_thresh: 用于非極大值抑制的框IoU截止,以過(guò)濾不同對(duì)象之間的重復(fù)mask。默認(rèn)值為0.7;

--crop_overlap_ratio: 設(shè)置物體重疊的程度。在第一個(gè)裁剪層中,裁剪將重疊圖像長(zhǎng)度的這一部分。物體較多的后幾層會(huì)縮小這種重疊。默認(rèn)值為512 / 1500;

--crop_n_points_downscale_factor: 在層n中采樣的每側(cè)的點(diǎn)數(shù)按比例縮小"crop_n_points_downscale_factorn"^n。默認(rèn)值為1;

--min_mask_region_area: 如果>0,將應(yīng)用后處理來(lái)移除面積小于"min_mask_region_area"的mask來(lái)中斷開連接的區(qū)域和孔。需要opencv。默認(rèn)為0;

--output_mode: mask輸出方式??梢允莃inary_mask、uncompressed_rle或coco_rle ,coco_rle需要pycocotools。對(duì)于大分辨率,binary_mask可能會(huì)消耗大量?jī)?nèi)存。默認(rèn)為'binary_mask';

2.2 測(cè)試圖片

2.2.1 點(diǎn)輸入測(cè)試

cd/data/SAMpython3 python/sam_opencv.py --input_image datasets/truck.jpg --input_point 700,375 --embedding_bmodel models/BM1684X/embedding_bmodel/SAM-ViT-B_embedding_fp16_1b.bmodel --decode_bmodel models/BM1684X/decode_bmodel/SAM-ViT-B_decoder_single_mask_fp16_1b.bmodel --dev_id 0

結(jié)果如下:

終端:

圖片:圖片位于SAM目錄下的results/中

2.2.2 box輸入

python3python/sam_opencv.py --input_image datasets/truck.jpg --input_point100,300,1700,800--embedding_bmodel models/BM1684X/embedding_bmodel/SAM-ViT-B_embedding_fp16_1b.bmodel --decode_bmodel models/BM1684X/decode_bmodel/SAM-ViT-B_decoder_multi_mask_fp16_1b.bmodel --dev_id0

效果以及位置與point中類似

2.2.3 自動(dòng)分割

若是要使用無(wú)需點(diǎn)和框輸入的全自動(dòng)掩碼生成則需要設(shè)置輸入?yún)?shù)auto為1,并設(shè)置--bmodel為auto的bmodel,操作如下:

python3 python/sam_opencv.py--input_image datasets/dog.jpg--embedding_bmodel models/BM1684X/embedding_bmodel/SAM-ViT-B_embedding_fp16_1b.bmodel--decode_bmodel models/BM1684X/decode_bmodel/SAM-ViT-B_auto_multi_decoder_fp32_1b.bmodel--dev_id0--auto1--pred_iou_thresh0.86

運(yùn)行結(jié)束后,會(huì)將結(jié)果圖保存在results/下,同時(shí)會(huì)打印推理時(shí)間等信息。

3. web例程

用于交互的圖片文件存放于SAM/web_ui/images目錄下,程序會(huì)自動(dòng)讀取目錄下所有*.jpg的所有圖片,并在前端頁(yè)面下拉框中顯示圖片名。

3.1 啟動(dòng)后端程序

后端程序位于SAM/python/中,腳本名字叫 backend.py。此web_ui的python例程不需要編譯,可以直接運(yùn)行。

3.1.1 參數(shù)說(shuō)明

usage: backend.py [--embedding_bmodel EMBEDDING_BMODEL] [

--bmodel BMODEL] [--dev_id DEV_ID]--embedding_bmodel 用于圖像壓縮(embedding)的bmodel路徑;

--bmodel: 用于推理(mask_decode)的bmodel路徑;

--dev_id: 用于推理的tpu設(shè)備id;

3.1.2 運(yùn)行示例

cd/data/SAMpython3 python/backend.py --embedding_bmodel models/BM1684X/embedding_bmodel/SAM-ViT-B_embedding_fp16_1b.bmodel --decode_bmodel models/BM1684X/decode_bmodel/SAM-ViT-B_decoder_single_mask_fp16_1b.bmodel --dev_id 0

出現(xiàn)下面內(nèi)容,說(shuō)明后端已經(jīng)啟動(dòng)

3.2 啟動(dòng)前端服務(wù)

前端程序在/data/SAM/web_ui 里面,可以通過(guò) python 啟動(dòng)。

保留后端session窗口,新開一個(gè)session窗口用于前端:

cd/data/SAM/web_ui/

python3 -m http.server 8080

打開PC端瀏覽器界面,在網(wǎng)址處輸入192.168.49.32:8080,進(jìn)入交互界面,點(diǎn)擊選擇要加載的圖像...的下拉框,即可選擇預(yù)存圖像。選擇Single Point進(jìn)入點(diǎn)擊模式,Draw BOX進(jìn)入框選模式。

3.2.1 點(diǎn)擊模式

點(diǎn)擊模式待圖片加載成功,點(diǎn)擊感興趣區(qū)域即可,等待1-2S,頁(yè)面繪制掩碼結(jié)果。

3.2.2 框選模式

點(diǎn)擊模式待圖片加載成功,點(diǎn)擊鼠標(biāo)拖動(dòng)框選感興趣區(qū)域即可,等待1-2S,頁(yè)面繪制掩碼結(jié)果。

PS:可在原來(lái)終端中檢測(cè)后端和前端的運(yùn)行狀態(tài),前端狀態(tài)還可在瀏覽器開發(fā)者工具中檢測(cè)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SAM
    SAM
    +關(guān)注

    關(guān)注

    0

    文章

    118

    瀏覽量

    34392
  • AI算力
    +關(guān)注

    關(guān)注

    1

    文章

    143

    瀏覽量

    9843
  • 大模型
    +關(guān)注

    關(guān)注

    2

    文章

    3647

    瀏覽量

    5176
  • BM1684
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    227
  • AI大模型
    +關(guān)注

    關(guān)注

    0

    文章

    398

    瀏覽量

    998
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    模型到產(chǎn)品:Qwen2.5-VL在BM1684X邊緣計(jì)算部署全攻略

    前言:部署意義與應(yīng)用場(chǎng)景1.1Qwen-2-5-VL與BM1684X的組合行業(yè)意義:?邊緣AI革命:大模型從云端下沉到邊緣設(shè)備是當(dāng)前AI發(fā)展的關(guān)鍵趨勢(shì)。根據(jù)ABIResearch數(shù)據(jù),到2026年
    的頭像 發(fā)表于 01-13 14:17 ?4532次閱讀
    從<b class='flag-5'>模型</b>到產(chǎn)品:Qwen2.5-VL在<b class='flag-5'>BM1684X</b>邊緣計(jì)算<b class='flag-5'>部署</b>全攻略

    【算能RADXA微服務(wù)器試用體驗(yàn)】Radxa Fogwise 1684X Mini 規(guī)格

    通過(guò)網(wǎng)絡(luò)可以了解到,算能RADXA微服務(wù)器的具體規(guī)格: 處理器:BM1684X 算力:高達(dá)32Tops INT8峰值算力 內(nèi)存:16GB LPDDR4X 內(nèi)存 存儲(chǔ):64GB eMMC 編程框架
    發(fā)表于 02-28 11:21

    bm1684運(yùn)行demo報(bào)錯(cuò)怎么解決?

    ../models/BM1684X/yolov5s_v6.1_3output_fp32_1b.bmodel[BMRT][bmcpu_setup:406] INFO:cpu_lib \'libcpuop.so
    發(fā)表于 05-20 07:24

    【算能RADXA微服務(wù)器試用體驗(yàn)】+ GPT語(yǔ)音與視覺交互:2,圖像識(shí)別

    圖像識(shí)別也屬于是AI的一個(gè)非?;镜慕?jīng)典應(yīng)用。在主打AI功能的BM1684X上自然也是得到了廣泛的支持。 算能官方提供了一個(gè)叫做Radxa-Model-Zoo的倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)里包含了許多AI方面
    發(fā)表于 07-14 23:36

    bmneto轉(zhuǎn)換模型時(shí)報(bào)錯(cuò)誤split_conv_float: Assertion \"valid\" failed是什么原因?

    ;[[1,3,1080,1920],[1,3,1080,1920]]" --target BM1684X --outdir bmodel/fp32 --output_names "pha,fgr,err,hid" --cmp False 報(bào)錯(cuò)截圖:
    發(fā)表于 09-18 09:15

    基于多級(jí)混合模型圖像分割方法

    本文研究了典型的基于區(qū)域的圖像分割方法主動(dòng)形狀模型(Active Shape Model, ASM)和基于邊緣的圖像分割snake 算法,分
    發(fā)表于 07-08 09:58 ?20次下載

    SAM分割模型是什么?

    SAM是一類處理圖像分割任務(wù)的通用模型。與以往只能處理某種特定類型圖片的圖像
    的頭像 發(fā)表于 05-20 09:30 ?3725次閱讀

    近期分割模型發(fā)展情況

    SAM(Segment Anything Model)Meta 的 FAIR 實(shí)驗(yàn)室發(fā)布的一種最先進(jìn)的圖像分割模型,該模型將自然語(yǔ)言處理領(lǐng)域
    的頭像 發(fā)表于 05-22 16:26 ?2029次閱讀
    近期<b class='flag-5'>分割</b>大<b class='flag-5'>模型</b>發(fā)展情況

    32Tops算力!BM1684行業(yè)主機(jī)系列

    采用BM1684/BM1684X,INT8算力高達(dá)32TOPS;支持主流編程框架,工具鏈完備易用度高,算法遷移代價(jià)??;適用于視覺計(jì)算、邊緣計(jì)算、通用算力服務(wù)、智慧交通、智慧課堂、無(wú)人超市、監(jiān)控安防等
    的頭像 發(fā)表于 03-15 11:22 ?8141次閱讀
    32Tops算力!<b class='flag-5'>BM1684</b>行業(yè)主機(jī)系列

    基于算能第四代AI處理器BM1684X的邊緣計(jì)算盒子

    英碼IVP03X智能工作站搭載算能全新一代AI處理器BM1684X,八核ARM Cortex-A53,主頻2.3GHz;INT8算力高達(dá)32Tops,F(xiàn)P16算力達(dá)16 TFLOPS,F(xiàn)P32算力 2 TFLOPS,邊緣端少有的大算力。
    發(fā)表于 08-10 09:46 ?2981次閱讀
    基于算能第四代AI處理器<b class='flag-5'>BM1684X</b>的邊緣計(jì)算盒子

    本地化ChatGPT?Firefly推出基于BM1684X的大語(yǔ)言模型本地部署方案

    API的方式來(lái)應(yīng)用,很難本地化部署。隨著大模型適用領(lǐng)域的擴(kuò)展,大模型登陸邊緣設(shè)備的需求凸顯,越來(lái)越多的行業(yè)需要把大語(yǔ)言模型應(yīng)用在專業(yè)的領(lǐng)域上。在這個(gè)背景下,F(xiàn)iref
    的頭像 發(fā)表于 09-09 08:02 ?2615次閱讀
    本地化ChatGPT?Firefly推出基于<b class='flag-5'>BM1684X</b>的大語(yǔ)言<b class='flag-5'>模型</b>本地<b class='flag-5'>部署</b>方案

    探索ChatGLM2在算能BM1684X上INT8量化部署,加速大模型商業(yè)落地

    1.背景介紹在2023年7月時(shí)我們已通過(guò)靜態(tài)設(shè)計(jì)方案完成了ChatGLM2-6B在單顆BM1684X上的部署工作,量化模式F16,模型大小12GB,平均速度約為3token/s,詳見《算豐技術(shù)揭秘
    的頭像 發(fā)表于 10-10 10:18 ?5664次閱讀
    探索ChatGLM2在算能<b class='flag-5'>BM1684X</b>上INT8量化<b class='flag-5'>部署</b>,加速大<b class='flag-5'>模型</b>商業(yè)落地

    一種新的分割模型Stable-SAM

    SAM、HQ-SAM、Stable-SAM在提供次優(yōu)提示時(shí)的性能比較,Stable-SAM明顯優(yōu)于其他算法。這里也推薦工坊推出的新課程《如何將深度學(xué)習(xí)
    的頭像 發(fā)表于 12-29 14:35 ?1616次閱讀
    一種新的<b class='flag-5'>分割</b><b class='flag-5'>模型</b>Stable-<b class='flag-5'>SAM</b>

    圖像分割與語(yǔ)義分割中的CNN模型綜述

    圖像分割與語(yǔ)義分割是計(jì)算機(jī)視覺領(lǐng)域的重要任務(wù),旨在將圖像劃分為多個(gè)具有特定語(yǔ)義含義的區(qū)域或?qū)ο蟆>矸e神經(jīng)網(wǎng)絡(luò)(CNN)作為深度學(xué)習(xí)的一種核心模型
    的頭像 發(fā)表于 07-09 11:51 ?3039次閱讀

    Qwen3-VL 4B/8B全面適配,BM1684X成邊緣最佳部署平臺(tái)!

    算能BM1684X上完成Qwen3-VL4B/8B模型的適配,推理速度13.7/7.2tokens/s,使其成為邊緣部署多模態(tài)大模型的最佳選擇。近日,阿里千問(wèn)正式開源Qwen3-VL系
    的頭像 發(fā)表于 10-16 18:00 ?2645次閱讀
    Qwen3-VL 4B/8B全面適配,<b class='flag-5'>BM1684X</b>成邊緣最佳<b class='flag-5'>部署</b>平臺(tái)!