2023年のOpenCVの進化

最近はOpenCVを全然触ってなくて、情報を追いかけることも自然と無くなってきた今日この頃ですが、このブログでOpenCVを最後に扱ったのは2019年のこちらのONNXサポートについての記事でした。 OpenCV 4.0のONNXサポートについて – Rest Term 2019年以降は一切使ってないかというとそんなことは無くて、簡単な画像処理が必要な所では小さく活躍してはいました。ただ、近年は画像処理と言っても機械学習が前提のタスクがほとんどで、PyTorchやTensorFlowなどの機械学…

PyTorch 2.0の新しいコンパイラで機械学習を速くする

12/02にPyTorch 2.0のアナウンスがありました。まだnightly版(α版)で正式リリースされるのは2023年3月頃のようですが、機能自体は試すことができるので早速使ってみました。 12/05現在、絶賛検証中なので結論のようなものは書けませんが、全体の傾向としては概ね公称通りに高速化の効果が認められました。 精度が低下することはない 小さなモデルに対して、学習は速くならず、コンパイルオーバヘッドのためepochsが少ない場合は全体として遅くなる、GPU使用率はAMPだと僅かに低くなる…

Kaggle振り返り – Help Protect the Great Barrier Reef

数年ぶりにKaggle復帰してみようということで。 若い頃はKaggleに時間を奪われすぎていたのと、家庭を持ってからは個人活動の優先度が著しく下がったこともあり、実は2,3年前に一度退会して足を洗っていました。ただ、最近はKaggle Notebook環境がまぁまぁ使えて環境格差が昔よりはマシになったとか画像コンペが多くて楽しいとかそういう話をいろいろ聞いて、また一から始めてみようかなぁと。煙草とか酒とか麻薬と同じなんでしょうか。子育ての時間を削るのは良いことだとは全然思いませんが、本当にすみ…

ONNX Runtime for Webで画像認識

前回はONNX Runtime for Web (ORT Web)をVue.jsアプリケーションで使ってみました。 ONNX Runtime for WebをVue.js+WebGL環境で試す 公式チュートリアルは単純な行列計算でしたので、今回はもう少し実践的に自前のモデルを使った画像認識を試してみたいと思います。 環境 前回の環境とほぼ同じですが、実装言語はTypeScriptに変更しました。数値計算系の部分は型があるとデバッグしやすいので。 Vue.js: 3.2.11 ONNX Runti…

BRISQUE – リファレンス画像無しで画質を評価する

今回はリファレンス画像無しで画質を評価する手法を紹介しようと思います。 先日、OpenCV4.1がリリースされました。 OpenCV 4.1 has been released changelogを見ると、quality という新しいモジュールが opencv_contrib レポジトリに追加されたようです。 New Image Quality Analysis module (quality) has been added to the opencv_contrib, referenceles…

OpenCV 4.0のONNXサポートについて

前回の記事に引き続きOpenCV4.0の新機能を紹介します。今回は待望のONNXフォーマット対応を試してみます。 また、OpenCVのDeep Learning関連機能については昔の記事に書いてあります。基本的な使い方はこの頃からあんまり変わってないので参考までに。 OpenCVのDeep Learningモジュールの紹介 ONNXとは ONNX is a open format to represent deep learning models. With ONNX, AI developer…