OpenCVプロジェクトの簡単な歴史

Itseezの開発チームのリーダーであるKirill Kornyakovによる投稿。



こんにちは、Habr!



画像



このエントリを使用して、 Itseez社のブログを開きます(見た英語から-「見た!」)。 同社は、13年以上にわたってこの分野で働いてきたコンピュータービジョンの支持者によって設立されました。その中には、 OpenCVプロジェクトの設立初日からの参加者もいます。 当社の戦略は、「Vision that works!」をモットーに、コンピュータービジョンの分野における技術と製品の開発に関連しています。 私たちのクライアントは、 ウィローガレージ 、NVidia、Intel、Microsoft、あまり知られていないいくつかの会社やスタートアップです。 現在、イッツェーズチームは40人のエンジニアと研究者のチームであり、多くの従業員が教育活動に積極的に関与しています。彼らは大学で教え、雑誌に発表し、会議で講演し、コンピュータービジョンスクールも実施しています。



ブログのページでは、コンピュータービジョンの世界だけでなく、私たちの周りの現実の空間やサイバー空間で何がおもしろいのかについてお話したいと思います。 出版された資料が、機械学習、ロボット工学、計算写真、インテリジェントなビデオ監視技術、拡張現実に近い人々、および科学技術の関連分野に関心を持つことを願っています。 Itseezの重要な機能は、開発の多くがオープンソースであるため、実際のコードの例を使用して言葉を補強しようとすることです。



これは私たちのブログの最初のエントリなので、何か面白いことを共有したいので、会社の主要プロジェクト-コンピュータービジョンアルゴリズムのOpenCVライブラリの開発( ROS(Robot Operating System)PCL(Point Cloud Library)への貢献について)についてお話します沈黙しながら)。 おそらく、訓練を受けた読者は「OpenCVはIntel / Willow Garageによって開発されています!」と尋ねて驚くでしょう。そして、それは正しいですが、部分的にしかありません。 実際、主要なOpenCV開発者のほとんどがロシアのニジニノヴゴロド市に住んで働いており、イッツェスの従業員であることを誰もが知っているわけではありません。 したがって、誤解を排除するために、OpenCVの歴史の要約に最初の投稿を捧げることにしました。 また、この機会を利用して、結論として、プロジェクトの将来に関する内部情報を共有します。



したがって、コンピュータービジョンに携わっているなら、おそらくOpenCVのことを聞いたことがあるでしょう。 このライブラリは非常に人気があり、現在は500万件以上のダウンロードがあります(リポジトリからのダウンロードは直接カウントしません)。最近、コンピュータービジョンのKhronos標準( http://www.khronos.org/vision )の基礎として提案されました。



2000年から2008年にかけて、OpenCVは主にIntelによって開発およびサポートされ、最初から会社のニジニノヴゴロド支部が図書館の外観を形作る上で主導的な役割を果たしました。 OpenCVは、その存在の初期に急速に広がり、基本的なデータ構造、画像処理アルゴリズム、基本的なコンピュータービジョンアルゴリズム、画像やビデオの入出力などの基本的な機能で大きくなりすぎました。 すでにその時点で、人間の顔(カスケード分類子)、ステレオマッチング、オプティカルフローなどを検出するためのアルゴリズムが実装されていました。 ただし、2004年にインテルはライブラリのサポートを事実上停止しました。 プロジェクトの多くの参加者は、それまでにコンピュータービジョンの分野の専門家として既に開発されていたため、再トレーニングを望まず、退職しました。 実際、それがItseezの由来であり、その活動は主にOpenCVの開発中に得られた経験に基づいています。



ウィローガレージの出現で受けたプロジェクト開発の2番目の強力な推進力は、パーソナルロボットを作成することを主な目標としています。 OpenCVはROS(Robot Operating System)の重要な部分になり、それに基づいてPR2ロボットの多くのコンポーネントが作成されましたが、これについては後で説明します。 この期間の始まりは、2008年にVadim Pisarevsky(別名OpenCV Tsar)がIntelからItseezに移行したことと一致します。 ウィローの支援により、ライブラリの大幅な改訂を開始するチームが結成されました。 これらの努力の結果、OpenCVはC ++およびPython API、 features2dモジュール、新しいアーキテクチャ、CMakeに基づくビルドシステム、BuildBotに基づく継続的インテグレーションシステム 、改善されたドキュメント、優れたチュートリアル 、その他多くのイノベーションを獲得しました。



今日は、NVidiaの出現に伴って、図書館の生活における3番目の重要な段階についてお話しすることができます。 2010年、この会社 CUDAに最適化されたライブラリのバージョンの作成をサポートしましたが、これもItseezのエンジニアによって行われました。 最初の公開結果は、FullHD解像度(1920x1080ピクセル)でリアルタイムのビデオ処理が可能なステレオマッチングアルゴリズムの実装でした。 現在まで、 opencv_gpuはフル機能のモジュールであり、多くの産業用アプリケーションで使用されています。 2011年以降、タスクのリストが拡大し、ItViezはNVidiaと協力して、NVidia Tegraプラットフォーム用に最適化されたAndroid向けライブラリのバージョンの開発を開始しました。 OpenCV4Androidはすでにいくつかのリリースを生き延び、独自のユーザーコミュニティを獲得しています。 さらに、OpenCVはJava API(これまではAndroidのみ)、統合されたパフォーマンステストシステム、および多くの改善により強化されました。 GPUおよびモバイルプロセッサ向けにOpenCVを最適化した結果に興味がある場合は、最近公開された記事「OpenCVを使用したリアルタイムコンピュータービジョン」 、およびGTC 2012カンファレンスのポスター「Tegra GPUを使用したコンピュータービジョンの加速」「GPUビジョン







したがって、ライブラリの現代的な外観は、長い進化の結果です。 このプロジェクトは、急速に発展しているコンピュータービジョンの分野に対応しています。 いくつかの世界的な企業が図書館の設立に参加しましたが、開発の完了について話すのは時期尚早です。 最近、プロジェクトは新しいタスクトラッカーを取得しました。 活動は勢いを増しており、 5Mの記念日ダウンロードが最近行われました。皆さんと共有できる興味深い資料がたくさんあることを願っています。



現在、アクティブなOpenCVユーザー向けの情報がいくつかあります。 まず、6月4日にリリース2.4.1がリリースされ、主に2.4.0の修正が行われました(Andrei KamaevとAlexander Shishkovに特に感謝します!)。 第二に、 opencv.orgで利用できる独自のライブラリWebサイトを立ち上げる予定です (リダイレクトが機能するようになりました)。 このサイトは、ライブラリを使い始めたばかりの人にとって特に便利です。 さらに、独自のQ&AフォーラムがStackOverflowのようなエンジンに展開されます。 第三に、図書館の開発のための資金を調達し、その開発を体系化する非営利財団であるOpenCV財団の設立に関する作業が進行中です。 開発者にとって、これはより多くの機能、ドキュメント、サンプル、パフォーマンスを意味します! このすべてが今年行われることを本当に願っています。私たちは皆に情報を提供するよう努めます!



最後に、OpenCV 2.4.0に取り組んでいる間、リポジトリ内のアクティビティの視覚化に慣れるように、全員を招待したいと思います(最大解像度で見てください!)。







OpenCV 2.5の次のメジャーリリースは11月1日に予定されており、作業は本格的です!



All Articles