Swift使用CoreML和MPSNNGraph实现YOLO目标检测

在 iOS 开发中,结合 CoreML 和 MPSNNGraph 实现 YOLO 目标检测挺有意思的。这种方式不仅能充分利用设备的 GPU 计算能力,还能确保物体检测的高效和实时性。CoreML 负责加载训练好的 YOLO 模型,而 MPSNNGraph 则通过构建神经网络计算图,优化 GPU 的性能。你只需要一些图像预、输入输出的转换,模型就能在本地完成目标检测,根本不需要依赖云端。尤其在实时视频流、增强现实等应用场景下,效果真的挺不错的。具体实现的话,先把 YOLO 模型通过coremltools转换为.mlmodel格式,利用MLModel类创建MPSNNGraph对象,再通过encodeToCommandBuffer把数据送入 GPU 执行。,解码输出结果并在图像上绘制边界框就完成了。你可以用这个技术做智能监控、自动驾驶等应用,简直太酷了!

zip
swift-使用CoreML和MPSNNGraph实现YOLO.zip 预估大小:79个文件
folder
YOLO-CoreML-MPSNNGraph-master 文件夹
file
.gitignore 435B
file
YOLO.jpg 21KB
folder
TinyYOLO-CoreML 文件夹
folder
TinyYOLO-CoreML.xcodeproj 文件夹
folder
project.xcworkspace 文件夹
folder
xcshareddata 文件夹
file
IDEWorkspaceChecks.plist 238B
file
contents.xcworkspacedata 160B
file
project.pbxproj 15KB
folder
TinyYOLO-CoreML 文件夹
file
Helpers.swift 9KB
file
ViewController.swift 11KB
file
VideoCapture.swift 4KB
file
Info.plist 1KB
file
UIImage+CVPixelBuffer.swift 2KB
file
YOLO.swift 6KB
file
TinyYOLO.mlmodel 60.53MB
folder
Base.lproj 文件夹
file
Main.storyboard 6KB
file
CVPixelBuffer+Helpers.swift 3KB
folder
Assets.xcassets 文件夹
folder
AppIcon.appiconset 文件夹
file
Contents.json 1KB
folder
TinyYOLO-NNGraph 文件夹
folder
TinyYOLO-NNGraph 文件夹
file
MTLTexture+Array.swift 2KB
file
UIImage+RawBytes.swift 2KB
file
ViewController.swift 6KB
file
VideoCapture.swift 5KB
file
Info.plist 1KB
file
Float16.swift 2KB
file
TextureLoader.swift 755B
file
YOLO.swift 15KB
file
MPSImage+Floats.swift 4KB
file
UIImage+MTLTexture.swift 4KB
file
Debugging.swift 992B
folder
Base.lproj 文件夹
file
Main.storyboard 6KB
folder
Assets.xcassets 文件夹
folder
AppIcon.appiconset 文件夹
file
Contents.json 1KB
folder
Parameters 文件夹
file
conv7.bin 18.02MB
file
conv3.bin 73KB
file
conv5.bin 1.13MB
file
conv2.bin 19KB
file
conv4.bin 290KB
file
conv9.bin 500KB
file
conv6.bin 4.51MB
file
conv1.bin 2KB
file
conv8.bin 36.02MB
folder
TinyYOLO-NNGraph.xcodeproj 文件夹
folder
project.xcworkspace 文件夹
folder
xcshareddata 文件夹
file
IDEWorkspaceChecks.plist 238B
file
contents.xcworkspacedata 161B
file
project.pbxproj 20KB
folder
Common 文件夹
file
Helpers.swift 4KB
file
dog416.png 292KB
file
BoundingBox.swift 2KB
file
AppDelegate.swift 347B
file
LICENSE.txt 1KB
file
README.markdown 5KB
folder
Convert 文件夹
file
coreml.py 784B
file
nngraph.py 2KB
file
tiny-yolo-voc.cfg 1KB
file
tiny-yolo-voc.weights 60.53MB
folder
yad2k 文件夹
folder
font 文件夹
file
SIL Open Font License.txt 4KB
file
FiraMono-Medium.otf 124KB
folder
images 文件夹
file
giraffe.jpg 374KB
file
horses.jpg 130KB
file
person.jpg 111KB
file
eagle.jpg 139KB
file
dog.jpg 160KB
file
scream.jpg 170KB
folder
model_data 文件夹
file
tiny-yolo-voc_anchors.txt 61B
file
pascal_classes.txt 135B
file
tiny-yolo-voc.h5 60.59MB
file
coco_classes.txt 625B
folder
etc 文件夹
file
yolo.png 661KB
file
dog_small.jpg 63KB
file
LICENSE 1KB
file
README.md 4KB
file
train_overfit.py 6KB
file
environment.yml 1KB
folder
voc_conversion_scripts 文件夹
file
voc_to_hdf5.py 7KB
file
voc_to_tfrecords.py 9KB
file
test_yolo.py 7KB
folder
yad2k 文件夹
folder
__init__.py 文件夹
folder
models 文件夹
folder
__init__.py 文件夹
file
keras_yolo.py 17KB
file
keras_darknet19.py 2KB
folder
utils 文件夹
file
__init__.py 21B
file
draw_boxes.py 3KB
file
utils.py 473B
file
yad2k.py 10KB
...
zip 文件大小:226.7MB