cmdbug / YOLOv5_NCNN

🍅 Deploy ncnn on mobile phones. Support Android and iOS. 移动端ncnn部署,支持Android与iOS。
GNU General Public License v3.0
1.48k stars 302 forks source link

如何在不编译ncnn的情况下,将yolov5模型替换为自己的模型。 #114

Open h3fx111 opened 1 year ago

h3fx111 commented 1 year ago

前面我训练了一个用于检测行人的yolov5s模型(版本为6.0,只检测person一个类别),在转换为ncnn模型后直接替换了项目中的yolov5模型,发现检测时不出检测框了。查看前面别人的问题得知需要进行ncnn编译、使用yolov5_customlayer等操作,感觉很复杂且难懂,因为我是要完成导师布置的任务,不想花费过多的精力。 观察本项目中的yolov5.param文件和我自己的yolov5s.param文件,发现结构十分不同。所以,我想问一下作者使用的yolov5版本是多少,我能否直接在对应版本的yolov5工程中训练,从而能使用训练的模型文件直接替换本项目原有的yolov5模型(yolov5.param和yolov5.bin),使用yolov5文件而不是yolov5_customlayer文件(当然我也不想再编译ncnn)。这种做法是否可行? 如果不可行,我看到你分享了一个其他的工程 https://github.com/nihui/ncnn-android-yolox,这个可以使用yolov5模型吗?没有看到其中关于yolov5的教程,感觉是使用yolox来实现的。 万分期待你的回复! @cmdbug

cmdbug commented 1 year ago

https://github.com/nihui/ncnn-android-yolov5 https://zhuanlan.zhihu.com/p/275989233 https://zhuanlan.zhihu.com/p/471357671

h3fx111 commented 1 year ago

https://github.com/nihui/ncnn-android-yolov5 https://zhuanlan.zhihu.com/p/275989233 https://zhuanlan.zhihu.com/p/471357671 我需要相机进行实时检测。。而我似乎只有两个选择:1.使用该项目,我想知道你当初使用的是yolov5的哪个版本进行训练(我刚发现我的版本是v7.0),保证得到的模型可以直接用到该项目中(不需要编译ncnn等操作),2.使用[https://github.com/nihui/ncnn-android-yolox]这个项目,但是我想知道它可以使用yolov5模型文件吗

cmdbug commented 1 year ago

https://zhuanlan.zhihu.com/p/356991989 重新编译 ncnn 是因为与 opencv 冲突了,参考这个项目改一下,不用重新编译 ncnn

h3fx111 commented 1 year ago

Owner

那么是不是说,我的7.0版本的yolov5s模型,正常是可以用在该项目中的?我应该用yolov5.cpp文件还是yolov5customlayer.cpp文件呢,具体还需要修改哪些地方呢?

h3fx111 commented 1 year ago

https://zhuanlan.zhihu.com/p/356991989 重新编译 ncnn 是因为与 opencv 冲突了,参考这个项目改一下,不用重新编译 ncnn

这个是nanodet模型,我需要使用yolov5模型。大佬,我只想知道,怎样操作能够在你这个项目上实现我的人员检测功能(只有一个类别的目标检测)。是需要使用其他版本的yolov5重新训练,还是直接使用我当前7.0版本的yolov5s模型就行呢?