今年もOpenCV Advent Calandarを楽しんでいただき、ありがとうございました!
最初に、寄稿頂いた皆様、ご精読下さった皆様に、心よりお礼申し上げます。本当にありがとうございました!
この記事では、今年のOpenCV Advent Calendarで取り上げたトピックをいくつか紹介させていただきたいと思います。(OpenCV 4.7.0のリリースノートが12/24 21:00時点でまだ出ないからです)。
どの投稿も個人的には非常に興味深い内容でした。時間と体力が許すならば、全投稿へお礼とコメントしたかったところでしたが、流石につらいです。そこで、今回は、各テーマ2つ程度に対して「個人的オススメ」とコメントさせていただきます。 正直、まだ見ていない記事があるならば、全部読んでほしいです!!
■ OpenCVを利用したアプリケーションの話
OpenCVを実応用したアプリケーションに関する投稿です。
◯ 個人的オススメ
- ノードエディタ形式の画像処理ツール「Image-Processing-Node-Editor」 は、「なるほど、コンピュータ性能向上というのはこのような形で活用していくものなんだな!!」と感じるほど、非常に感慨深かったです。
- 【画像認識】AIひろゆきがスプラトゥーン3のキルデス報告してくれるアプリ作った話 は、スプラトゥーン側で表現を豊かに変更されたことにどう対応していくのか、という工夫が非常に楽しめる投稿となっております。
◯ 今年の投稿
- 12/ 3 【画像認識】AIひろゆきがスプラトゥーン3のキルデス報告してくれるアプリ作った話
- 12/ 7 Google Colaboratory+OpenCVでWebカメラ画像からリアルタイム顔検出
- 12/13 OpenCVとMatplotlibでAR(拡張現実)する
- 12/14 OpenCVで面積を計算してみた on iOS
- 12/19 OpenCV.jsを使って、グリーンバック撮影用のカメラをウェブページ上で実装する
- 12/20 顔のパーツ検出を利用し、顔写真をちいかわにする
- 12/21 ノードエディタ形式の画像処理ツール「Image-Processing-Node-Editor」
■ OpenCV ライブラリTips/利用方法
OpenCVライブラリをどう使えばいいのか、に関してのトピックです。
◯ 個人的オススメ
- OpenCVのdnnモジュールのクラス分類で信頼度を[0.0-1.0]にする は、現状のOpenCVでサポートしていないレイヤーがあったときにどうやるのか、についての考察となっております。今後も機械学習で学習モデルの進化に伴い、OpenCV側が対応できていないようなケースも出てきそうです。当該記事はそういった場合にどう対応するのか考える良い切っ掛けとなりそうです。Deep Learning系をやられている方には、ぜひ読んでいただきたいです。
- OpenCVで上下のあるサンプルの角度を取得する は、OpenCVで実際に画像から情報を抜き出すときにつまづきそうな課題への検討です!「なるほど!」と納得できる内容になっております。
◯ 今年の投稿
- 12/ 2 OpenCVのdnnモジュールのクラス分類で信頼度を[0.0-1.0]にする
- 12/ 4 cv::Formatter、cv::printを使いこなす
- 12/ 8 cv::VideoCaptureで動画から読んだRGB画素値の誤差について
- 12/10 描画した線をつまんで編集できる、CLIP STUDIOのようなベクターレイヤーを実装する
- 12/16 OpenCVで上下のあるサンプルの角度を取得する
■ OpenCV モジュール実装の説明や機能拡張等
OpenCVを構成する各モジュールの実装についての知識や、あるいは、その機能拡張などの説明になります。
◯ 個人的オススメ
- OpenCVのvideoioモジュールでソースビルドのFFmpegを使う は、OpenCVのMITライセンスとFFmpeg(に関連するライブラリ)のGPL/LGPLライセンス問題を解決するのに非常に役立ちそうです!製品に組み込みたい、でも、ffmpegは使えない…などと悩む場合に、非常に参考になると思います!
- OpenCVを使って連番画像をアニメーションWebPとして出力する方法 は、WebPでのアニメーション出力をOpenCVから直接やってしまおう、という投稿です!確かに、アニメーションを簡単にファイル化したいならば、GIFはもう古いですね!ファイルサイズ差などにも注目下さい!
- NiceGUI と OpenCV を組み合わせたい。 は、Pythonを使ったWeb based UIでOpenCVとの接続方法です。なお、記事のアップデートによって動画にも対応できるようになりました。「OpenCV使って機械学習のデモ見せたいけど、うーん、Native Applicationはいまいち。とはいえ、OpenCV.jsもどうなのかな」とか、もう悩まなくていいです!!
◯ 今年の投稿
- 12/ 1 13年前からの潜在バグを修正しようとして、9年前の潜在バグに悩まされた話
- 12/ 5 OpenCVにおける画像ファイル入出力の仕組み(imwrite編)
- 12/ 6 OpenCVにおける画像ファイル入出力の仕組み(imread編)
- 12/11 OpenCVのvideoioモジュールでソースビルドのFFmpegを使う
- 12/18 OpenCVを使って連番画像をアニメーションWebPとして出力する方法
- 12/23 NiceGUI と OpenCV を組み合わせたい。
- 12/24 OpenCVのstitchモジュールのバグを直した話
■ OpenCV そのほか
◯ 個人的オススメ
- OpenCV の dispatch機能についてとOpenCV-pythonをdispatchから読み解くは、OpenCVからSIMD実装(SSE/AVX/...)を使うときの流れや確認方法を学べます!なるほど、こういう仕組みになっていたのか・・・となるのでSIMD計算好きな方には是非とも見ていただきたいです!
- 「Interview with Vadim Pisarevsky on class cv::Mat in OpenCV」を読み解く は、cv::Matの歴史がまとまっている非常に興味深い記事です!!OpenCVを扱う上では(ほぼ)必須であるcv::Matについて、更に詳しくなれる事間違いありません!!
- facebook(現Meta)のキャリブレーションパターン検出器の精度はOpenCV実装よりも高い は、OpenCV実装よりももっといい実装があるよ、という紹介になります。facebookさん(Metaさん)、もうちょっとメンテナンスしてくれるといいなあと思いつつ、「今まで当たり前だったことにこそ見直す必要がある」事を今一度考えさせられました。
◯ 今年の投稿
- 12/ 9 OpenCV の dispatch機能について
- 12/12 facebook(現Meta)のキャリブレーションパターン検出器の精度はOpenCV実装よりも高い
- 12/15 OpenCV-pythonをdispatchから読み解く
- 12/22 「Interview with Vadim Pisarevsky on class cv::Mat in OpenCV」を読み解く
まとめと今後の展望
OpenCV Advent Calandar 2022 に寄稿・精読頂きまして、誠にありがとうございました!
Computer Vision は「機械が人と同じ視線で物を見て、認識するための普遍的な手段」として、2023年も更にその先も必須になると考えます。その中で、OpenCVは、Computer Visionを実現するためのライブラリとして、来年以後も様々ん分野で活用されていくと思います。
OpenCV 4.7.0
昨年は、「できらぁ!」と、クリスマスリリースされるOpenCV 4.5.5 のリリースノートを読んでみました。今年は、2022/12/24 21:30現在でもまだOpenCV のRelease notesも準備ができてないので、今年は流石になしという方向でお願いします。
OpenCV 5.0.0
OpenCV 5.0はなかなかこれまで出てこなかったが、来年!!とうとうリリースされそうな勢いです!
DNNモジュールの見直しができ次第、OpenCV 5.0の時代が来る(かもしれません)!
NPU活用などの強化もどんどん進んでいくようです(たぶんきっと)。
Computer Visionの未来
ここは完全に余談です。
OpenCVでもマルチセンサーAI対応強化も来るのかも?と個人的には考えています。複数のカメラ画像を同時入力して突き合わせる事で、単一カメラだけではできなかった以上の情報を抽出・推定・認識する時代がくる(といいなあと考えています)。
最後に
1か月間/25日間という、長いようで短い期間ではありましたが、無事に25日分の全記事が揃いました(1日代打投稿もさせていただきました、投稿したいネタがあったかもしれませんが、ごめんなさい)。
寄稿頂きました皆様、そして、精読頂きました皆様のおかげです。重ねてお礼申し上げます、ありがとうございました!!
それでは、よいお年をお迎えくださいませ! 2023年も、よろしくお願いいたします。