# YOLOv8 + MobileSAM在AirBox上实现自动标注 **Repository Path**: xju_kjc/airbox ## Basic Information - **Project Name**: YOLOv8 + MobileSAM在AirBox上实现自动标注 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-17 - **Last Updated**: 2023-10-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## YOLOv8 + MobileSAM在AirBox上实现自动标注 本文档将介绍如何在AirBox部署YOLOv8 + MobileSAM程序,实现自动标注(图片或者视频)的功能。 ### 1、连接AirBox 将AirBox通过WAN口与计算机相连,插上电源线,长按PWR按钮开机。亮绿灯即代表开机成功。如下图所示: ![](img/0.jpg) 然后设置计算机端的IP地址。 以windows操作系统为例,打开`控制面板\网络和 Internet\网络和共享中心`,点击`以太网2——>属性`,手动设置IP地址为192.168.150.2,如图所示。连接成功后,AirBox的IP即是192.168.150.1。 ![image-20231017142503889](img/1.png) 然后把网线插到LAN口AirBox就可以接入互联网了。 ### 2、环境配置 打开ssh远程连接工具。以mobaxterm为例:点击`会话——>SSH`,远程主机填192.168.150.1,其他选项默认,点击”OK“。 ![image-20231017143107426](img/2.png) 用户名:linaro 密码:linaro 登陆成功后,输入`cd ..` 命令两次,来到这个路径: ![](img/6.png) 我们一般在/data目录下存放文件。 然后安装SDK,在算能官网(https://developer.sophgo.com/site/index/material/37/all.html) 下载SDK-23.05.01: ![690e63de1007e0ba6ba03a33eb73261](img/3.png) 下载好之后,请到`Release_230501-public.zip\Release_230501-public\sophon-sail_20230605_085400\sophon-sail_3.5.0.tar.gz\sophon-sail_3.5.0.tar\sophon-sail\python_wheels\soc\libsophon-0.4_sophonmw-0.6\py38\`路径下提取`sophon_arm-3.5.0-py3-none-any.whl`文件到AirBox上。 将whl文件拷贝到AirBox的/data下,输入`pip3 install "/data/sophon_arm-3.5.0-py3-none-any.whl"`安装SDK。 ### 3、文件下载 GitHub链接如下:https://github.com/ZillaRU/AnnoSeg 将项目文件拷贝到AirBox的/data下。 项目结构树如下: ``` . ├── README.md ├── app.py ├── argparse3-0.0.0-py3-none-any.whl ├── assets │ ├── image.png │ └── image1.png ├── requirements.txt ├── sam │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-38.pyc │ │ └── sam_demo_fast.cpython-38.pyc │ ├── sam_demo_fast.py │ └── sam_utils │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-38.pyc │ │ └── transforms.cpython-38.pyc │ └── transforms.py ├── test_imgs │ ├── cat.jpg │ ├── picture1.jpg │ └── picture3.jpg ├── test_videos │ ├── 10s_Trim.mp4 │ └── dog_trim.mp4 ├── utils │ ├── __init__,py │ ├── __pycache__ │ │ ├── tools.cpython-38.pyc │ │ └── tools_gradio.cpython-38.pyc │ ├── tools.py │ └── tools_gradio.py ├── weight │ ├── mask_decoder.bmodel │ ├── mobilesam_encoder_hwc.bmodel │ ├── no_mask_embed_weight.npz │ ├── not_a_point_embed_weight.npz │ ├── point_embeddings.npz │ ├── positional_encoding_gaussian_matrix.npy │ └── sam_tinyvit_0915.bmodel └── yolov8 ├── BM1684X_models │ ├── yolov8s_fp16_1b.bmodel │ ├── yolov8s_fp32_1b.bmodel │ ├── yolov8s_int8_1b.bmodel │ └── yolov8s_int8_4b.bmodel ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-38.pyc │ ├── postprocess_numpy.cpython-38.pyc │ ├── utils.cpython-38.pyc │ └── yolov8_det_demo.cpython-38.pyc ├── postprocess_numpy.py ├── utils.py └── yolov8_det_demo.py 13 directories, 43 files ``` ### 4、运行程序 安装依赖:`pip3 install -r requirements.txt`,运行`python3 app.py`。这里我的包和版本如下,您如有包没安装pip安装即可。 > 如果pip安装不成功,尝试换成pip3、或者`pip install –upgrade pip`命令更新pip。 ``` Package Version ------------------------- ----------- aiofiles 23.2.1 aiohttp 3.8.5 aiosignal 1.3.1 altair 5.0.1 annotated-types 0.6.0 anyio 3.7.1 argilla 1.1.1 argparse3 0.0.0 async-timeout 4.0.3 attrs 23.1.0 backoff 2.2.1 backports.zoneinfo 0.2.1 blinker 1.6.2 Brotli 1.0.9 cachetools 5.3.1 certifi 2023.7.22 cffi 1.15.1 chardet 5.2.0 charset-normalizer 3.2.0 click 8.1.6 contourpy 1.1.0 cryptography 41.0.3 cycler 0.11.0 dataclasses-json 0.5.14 dbus-python 1.2.16 Deprecated 1.2.14 distro 1.4.0 distro-info 0.23ubuntu1 duckduckgo-search 3.8.5 et-xmlfile 1.1.0 exceptiongroup 1.1.3 faiss-cpu 1.7.4 fastapi 0.101.1 ffmpy 0.3.1 filelock 3.12.2 Flask 2.3.3 fonttools 4.42.0 frozenlist 1.4.0 fsspec 2023.6.0 gitdb 4.0.10 GitPython 3.1.32 gradio 3.33.1 gradio_client 0.4.0 greenlet 3.0.0 h11 0.14.0 h2 4.1.0 hpack 4.0.0 httpcore 0.17.3 httpx 0.24.1 huggingface-hub 0.16.4 hyperframe 6.0.1 idna 3.4 importlib-metadata 6.8.0 importlib-resources 6.0.1 itsdangerous 2.1.2 Jinja2 3.1.2 joblib 1.3.2 jsonschema 4.19.0 jsonschema-specifications 2023.7.1 kiwisolver 1.4.4 langchain 0.0.189 latex2mathml 3.76.0 linkify-it-py 2.0.2 lxml 4.9.3 Markdown 3.4.4 markdown-it-py 2.2.0 MarkupSafe 2.1.3 marshmallow 3.20.1 matplotlib 3.7.2 mdit-py-plugins 0.3.3 mdtex2html 1.2.0 mdurl 0.1.2 monotonic 1.6 mpmath 1.3.0 msg-parser 1.2.0 multidict 6.0.4 mypy-extensions 1.0.0 netifaces 0.10.4 networkx 3.1 nltk 3.8.1 numexpr 2.8.5 numpy 1.23.5 olefile 0.46 openai 0.27.10 openapi-schema-pydantic 1.2.4 opencv-python 4.8.1.78 opencv-python-headless 4.8.1.78 openpyxl 3.1.2 orjson 3.9.4 packaging 23.1 pandas 1.5.3 pdf2image 1.16.3 pdfminer.six 20221105 Pillow 9.5.0 pip 23.3 pkgutil_resolve_name 1.3.10 protobuf 3.20.3 psutil 5.9.1 py-cpuinfo 9.0.0 pyarrow 12.0.1 pycparser 2.21 pydantic 1.10.12 pydantic_core 2.10.1 pydeck 0.8.0 pydub 0.25.1 Pygments 2.16.1 PyGObject 3.36.0 pymacaroons 0.13.0 Pympler 1.0.1 PyNaCl 1.3.0 pypandoc 1.11 pyparsing 3.0.9 pyserial 3.5 python-apt 2.0.0 python-dateutil 2.8.2 python-docx 0.8.11 python-magic 0.4.27 python-multipart 0.0.6 python-pptx 0.6.21 pytz 2023.3 pytz-deprecation-shim 0.1.0.post0 PyYAML 6.0.1 referencing 0.30.2 regex 2023.8.8 requests 2.31.0 requests-unixsocket 0.2.0 rfc3986 1.5.0 rich 13.5.2 rpds-py 0.9.2 sam 3.1.11 scikit-learn 1.2.2 scipy 1.10.1 semantic-version 2.10.0 sentence-transformers 2.2.2 sentencepiece 0.1.99 setuptools 45.2.0 six 1.16.0 smmap 5.0.0 sniffio 1.3.0 socksio 1.0.0 sophon-arm 3.5.0 SQLAlchemy 2.0.20 ssh-import-id 5.10 starlette 0.27.0 streamlit 1.25.0 sympy 1.12 tabulate 0.9.0 tenacity 8.2.3 threadpoolctl 3.2.0 tiktoken 0.4.0 tokenizers 0.13.3 toml 0.10.2 toolz 0.12.0 torch 2.0.1 torchvision 0.15.2 tornado 6.3.3 tqdm 4.66.1 transformers 4.27.1 typing_extensions 4.7.1 typing-inspect 0.9.0 tzdata 2023.3 tzlocal 4.3.1 ubuntu-advantage-tools 20.3 uc-micro-py 1.0.2 unattended-upgrades 0.1 unstructured 0.7.1 urllib3 2.0.4 uvicorn 0.23.2 validators 0.21.2 watchdog 3.0.0 websockets 11.0.3 Werkzeug 2.3.7 wheel 0.34.2 wrapt 1.13.3 xlrd 2.0.1 XlsxWriter 3.1.2 yarl 1.9.2 zipp 3.16.2 ``` 运行成功截图如下: ![image-20231017151550017](img/4.png) 这里我的端口是7860,在计算机浏览器中输入`192.168.150.1:7860`即可愉快的玩耍啦~ > 如果打不开,app.py最后一行 改成demo.launch(ssl_verify=False, server_name="0.0.0.0")就可以了 ### 5、自动标注 **标注图片** 上传图片,选取需要标注的类别(可多选),点击Annotate,标注结果显示在右侧。 ![image annotation](img/image.png) **标注视频** 上传视频,选取需要标注的类别(单选),点击Annotate,标注完成的视频在右侧可下载。 ![video annotation](img/image1.png)