{"id":21001159,"url":"https://github.com/cmdbug/tnn_demo","last_synced_at":"2025-05-14T23:32:32.501Z","repository":{"id":37681232,"uuid":"325786212","full_name":"cmdbug/TNN_Demo","owner":"cmdbug","description":"🍉 移动端TNN部署学习笔记，支持Android与iOS。","archived":false,"fork":false,"pushed_at":"2021-04-25T12:52:53.000Z","size":92897,"stargazers_count":73,"open_issues_count":12,"forks_count":19,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-03T01:11:09.116Z","etag":null,"topics":["android","ios","nanodet","tnn","yolo","yolov5"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cmdbug.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-31T11:30:34.000Z","updated_at":"2024-11-15T02:10:05.000Z","dependencies_parsed_at":"2022-09-15T09:01:21.289Z","dependency_job_id":null,"html_url":"https://github.com/cmdbug/TNN_Demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdbug%2FTNN_Demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdbug%2FTNN_Demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdbug%2FTNN_Demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdbug%2FTNN_Demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cmdbug","download_url":"https://codeload.github.com/cmdbug/TNN_Demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254248402,"owners_count":22039007,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","ios","nanodet","tnn","yolo","yolov5"],"created_at":"2024-11-19T08:14:00.203Z","updated_at":"2025-05-14T23:32:27.486Z","avatar_url":"https://github.com/cmdbug.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## :rocket: 如果有帮助，点个star！:star: ##\n\n### 移动端TNN部署，摄像头实时捕获视频流进行检测。\n\n## iOS:\n- Xcode 12.4\n- macOS 11.2.3\n- iPhone 6sp 13.5.1\n\n## Android:\n- Android Studio 4.1.1\n- Win10 20H2\n- CPU:Qualcomm 710 GPU:Adreno 616\n\n安卓已经增加权限申请，但如果还是闪退请手动确认下相关权限是否允许。\n\n\u003e Android\n```\n从界面中选择需要测试的模型。\n```\n\u003e iOS\n```\n从界面中选择需要测试的模型。\n```\n\n### 模型\n| model | android | iOS | from | other |\n|-------------------|:--------:|:--------:|:--------:|:--------:|\n| YOLOv5s           | yes | yes |  [Github](https://github.com/ultralytics/yolov5)   | [NCNN](https://github.com/cmdbug/YOLOv5_NCNN) |\n| NanoDet           | yes | yes |  [Github](https://github.com/RangiLyu/nanodet)   | [NCNN](https://github.com/cmdbug/YOLOv5_NCNN) [MNN](https://github.com/cmdbug/MNN_Demo) |\n\n### iOS:\n- 如果缺少模型请从 \"android_TNN_Demo\\app\\src\\main\\assets\" 复制 .tnnproto 和 .tnnmodel 文件到 \"iOS_TNN_Demo\\TNNDemo\\res\" 下。\n- iOS如果opencv2.framework有用到也需要重新下载并替换到工程。\n- iOS默认使用的库为scripts/build_ios.sh编译生成。\n\n### Android：\n* 由于手机性能、图像尺寸等因素导致FPS在不同手机上相差比较大。该项目主要测试TNN框架的使用，具体模型的转换可以去TNN官方查看转换教程。\u003cbr/\u003e\n* 由于opencv库太大只保留 arm64-v8a/armeabi-v7a 有需要其它版本的自己去官方下载。\n* AS版本不一样可能编译会有各种问题，如果编译错误无法解决、建议使用AS4.0以上版本尝试一下。\n\n由于TNN官方还处于开发阶段，不同时间版本可能会出现功能异常或速度差距比较大都是正常的(当前版本功能正常，但速度变慢了)。\n\n懒人本地转换(不会上传模型): [xxxx -\u003e tnn](https://convertmodel.com/)\n\n轻量级OpenCV:[opencv-mobile](https://github.com/nihui/opencv-mobile)\n\n:art: 截图\u003cbr/\u003e\n\n| Android | iOS |\n|:-----:|:-----:|\n|\u003cimg width=\"324\" height=\"145\" src=\"./Screenshots/Android_CPU_or_GPU.jpg\"/\u003e| \u003cimg width=\"320\" height=\"166\" src=\"./Screenshots/iOS_CPU_or_GPU.jpg\"/\u003e |\n\n\u003e Android\n\n| YOLOv5s | NanoDet |\n|---------|---------|\n|\u003cimg width=\"270\" height=\"500\" src=\"./Screenshots/Android_Meizu16x_yolov5s.jpg\"/\u003e|\u003cimg width=\"270\" height=\"500\" src=\"./Screenshots/Android_Meizu16x_nanodet.jpg\"/\u003e|\n\n\u003e iOS\n\n| YOLOv5s | NanoDet |\n|---------|---------|\n| \u003cimg width=\"270\" height=\"480\" src=\"./Screenshots/iOS_iPhone6sp_yolov5s_gpu.jpg\"/\u003e | \u003cimg width=\"270\" height=\"480\" src=\"./Screenshots/iOS_iPhone6sp_nanodet.jpg\"/\u003e |\n\n\n感谢:\u003cbr/\u003e\n- https://github.com/Tencent/TNN\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmdbug%2Ftnn_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcmdbug%2Ftnn_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmdbug%2Ftnn_demo/lists"}