Shunya Ueta

OpenCV 3.3から使えるDNNモジュールを使って物体検出

OpenCV と MobileNet を使って物体検出を行った

image

Object Detection with OpenCV dnn modules and MobileNetSSD on Jupyter Notebook

Introduction

物体検出を Deep Leaning と OpenCV を用いて行う

OpenCV 3.3 からdnnモジュールが正式にリリースされた

The main news is that we promoted DNN module from opencv_contrib to the main repository, improved and accelerated it a lot. An external BLAS implementation is not needed anymore. For GPU there is experimental DNN acceleration using Halide (http://halide-lang.org_). The detailed information about the module can be found in our wiki: Deep Learning in OpenCV.
_https://opencv.org/opencv-3-3.html

今回はその dnn モジュールを使って物体検出を行う

この記事は主にpyimagesearch の記事を参考に行いました。詳細な解説がありがたいです Deep Leaning を基にした物体検出で有名な手法は以下の 3 つである

物体検出を行う際の DNN のアーキテクチャでは主に VGG か ResNet が用いられる。しかし欠点としてこれらのアーキテクチャは非常に大きく 200–500MB のサイズになってしまう

物体検出において速度、精度、メモリの3つのバランスを考慮する場合、どのアーキテクチャを選ぶべきかを Google が論文としてまとめている

[1611.10012] Speed/accuracy trade-offs for modern convolutional object detectors

一行でまとめると、基本的に速度と精度はトレードオフであり、最速は SSDs MobileNet, 最高精度は Faster R-CNN w/Inception Resnet at stride 8

今回は省メモリかつ速度が早い SSDs MobileNet を用いて物体検出を行った

Demo on JupyterNotebook

Code

hurutoriya/yolov2_api

Study

Future Work

---

関連しているかもしれない記事


📮 📧 🐏: 記事への感想のおたよりをおまちしてます。 お気軽にお送りください。 メールアドレス入力があればメールで返信させていただきます。 もちろんお返事を希望せずに単なる感想だけでも大歓迎です。

このサイトの更新情報をRSSで配信しています。 お好きなフィードリーダーで購読してみてください。

このウェブサイトの運営や著者の活動を支援していただける方を募集しています。 もしよろしければ、Buy Me a Coffee からサポート(投げ銭)していただけると、著者の活動のモチベーションに繋がります✨
Amazonでほしいものリストも公開しているので、こちらからもサポートしていただけると励みになります。

#python #opencv #machinelearning #computervision