さまざまな依存環境によって常に荒廃していますか?コンピューターと携帯電話の両方で実行できる、C++ で書かれたクロスプラットフォームの顔検出プロジェクトをご覧ください。 プロジェクトアドレス: https://github.com/ShiqiYu/libfacedetection 顔検出は、人間とコンピュータのインタラクション、セキュリティ監視、ソーシャルエンターテイメントなどの分野で広く使用されており、実用価値が高いため、幅広い注目と研究を集めています。多くの顔検出方法の中で、畳み込みニューラル ネットワークを使用して検出する方法は、最も人気のある方法の 1 つです。しかし、他の人のオープンソース プロジェクトを使用する場合、さまざまな依存環境をインストールする必要があることがよくあります。依存環境によって、ハードウェア プラットフォームやオペレーティング システムごとにサポート レベルが異なるため、プロジェクトのクロスプラットフォーム移行の難易度が高くなります。 この記事では、顔検出に畳み込みニューラル ネットワークを使用するオープン ソース プロジェクトを紹介します。最大の特徴は、C/C++ をサポートするすべてのプラットフォームでコンパイルして実行できることです。作者は、事前トレーニング済みの CNN モデルを静的変数に変換し、C ファイルに保存したため、プロジェクトには他の依存関係は必要ありません (もちろん OpenCV は必要です)。任意のプラットフォームや組み込みシステムでプロジェクトをコンパイルして実行するには、C++ コンパイラのみが必要です。 特に魅力的なのは、このプロジェクトが C++ で書かれており、AVX2 をサポートし、i7 CPU で驚異的な 1000 FPS で実行できることです。下の図は、プロジェクト作成者による検出効果の例です。 このプロジェクトは検出速度が非常に速いだけでなく、検出精度も優れていることがわかります。そこで、Synced もテストを開始しました。 プロジェクト測定この顔検出プロジェクトの効果を Ubuntu 18.04 でテストしました。まず、比較的シンプルな集合写真をテストに使用します。合計 15 人で、解像度は 970 x 546 です。検出結果を下の図に示します。 写真に写っている人物をすべて正確に識別し、CPU でわずか 133 ミリ秒しかかからず、信頼度レベルは 99% であることがわかります。次の図は、境界ボックスを追加した後の検出効果を示しています。 今度は難易度を上げて、不正行為をしている国の写真を使って効果をテストしてみましょう。また、列車の前面に描かれた顔はほぼすべて認識されましたが、車体の肖像画は小さすぎたり密集しすぎたりしたためか認識できませんでした。 コンパイルプロセスプロジェクトのコンパイルには OpenCV が必要です。OpenCV がない場合、cmake を使用して makefile を生成するときに次のエラーが報告されます。 まず、wget https://github.com/opencv/opencv/archive/3.4.0.tar.gz を使用して OpenCV 3.4.0 のソース コードをダウンロードし、次に OpenCV をコンパイルするために必要な関連する依存関係をインストールします。
依存関係をインストールした後、OpenCV パッケージを現在のディレクトリに解凍します。
コンパイル中にソース コード ファイルが壊れるのを避けるために、linuxidcbuild という名前の新しいフォルダーを作成し、その中に OpenCV をコンパイルしてインストールします。
makefile を生成する過程で、次のような状況に陥る場合があります。 これは、ippicv のダウンロードの失敗が原因です。次のリンクから、システムに対応する ippicv バージョンを手動でダウンロードしてください。 参考: 次に、vim opencv-3.4.0/3rdparty/ippicv/ippicv.cmakeを使用してOpenCVコンパイル構成ファイルを修正し、次の内容を変更します。 「https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/」 ippicv を保存したディレクトリに変更します。 cmake ../opencv-3.4.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/local を再度実行します。次の内容が表示されたら、makefile が正常に生成されたことを意味します。 次に、make を実行して OpenCV をコンパイルします。 ここでのコンパイル プロセスは比較的長く、約 20 分かかります。また、かかる時間はコンピューターの構成によって異なります。次の図が表示されたらコンパイルは完了です。 次にmake installを使用してインストールします。 インストールが成功すると、図に示すインターフェースが表示されます。 以上でOpenCVのインストールは完了です。インストールが完了したら、vim /etc/ld.so.conf.d/opencv.conf を使用して設定し、ファイルに /usr/local/lib を追加して保存し、終了します。 vim /etc/bash.bashrc を使用して環境変数を追加し、テキストの最後に export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig を追加し、source /etc/bash.bashrc を使用して新しい環境変数を有効にします。これにより OpenCV が設定され、次のコマンドを使用してプロジェクトがコンパイルされます。
プロジェクトがコンパイルされると、対応する実行可能ファイルがビルド ディレクトリに生成され、次のコマンドを使用して実行できます。
操作は非常に複雑に見えますが、実際には OpenCV をコンパイルすることが主な内容です。他のモジュールはプロジェクト内で直接コンパイルできます。最後に、この非常に高速な顔検出モデルを安心して使用できます。 |
<<: ハン・ソン、チュー・ジュンヤンらがGAN圧縮方式を提案:計算電力消費は1/9以下、オープンソース化
>>: 企業はデータセンターで人工知能を広く利用する準備ができているでしょうか?
[[340767]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
本日北京時間のデイリーメール紙の報道によると、有名な技術専門家は、今後10年間で人工知能技術の発展に...
6月19日のニュース:AI産業の急速な発展に伴い、テクノロジー業界のAI人材に対する需要も高まってい...
サーセイ・ラニスターの策略やサー・ジョラー・モーモントの父親のような保護をもってしても、攻撃者が H...
[[431688]]最近、機械学習モデルは、モデルパラメータが増えながらも一般化性能が良好な大規模モ...
過去数年間、大規模な事前トレーニング済みモデルが NLP の分野で成功を収めてきました。このようなモ...
[[286440]] ▲ イラスト出典:エドモン・デ・ハロ2016年、ロンドンに拠点を置くアルファ...
最近、BAIR は強化学習研究コードライブラリ rlpyt をオープンソース化しました。このライブラ...
1. 背景1.1 ブースティングブースティング[1]は、アンサンブルモデルを訓練するための古典的な手...
人工知能は、企業のデジタル変革の方法を変え、効率性、俊敏性、顧客中心の機能を最前線にもたらします。要...
私の人生の 73% は、Web パフォーマンスについて考えています。低スペックの電話で 60 FPS...
世界中の人々は笑ったり悲しんだりするときに同じ表情をしますか? [[402741]]人々の表情が一貫...