2017-09-04 2 views
1

私はOpenCVを使ってカメラから顔を検出しているAndroidプロジェクトに取り組んでいます。アプリケーションは顔を正しく検出しますが、パフォーマンスは非常に遅いです。私はこの問題のために何回もチェックしましたが、解決策が見つかりませんでした。パフォーマンスを改善する方法はありますか?AndroidでOpenCVを使用して顔検出のパフォーマンスを向上させるにはどうすればよいですか?

私のコードは次のとおりです。

 QVideoFrame FilterRunnable::run(QVideoFrame *input, 
          const QVideoSurfaceFormat &surfaceFormat, 
          QVideoFilterRunnable::RunFlags flags) 
     { 
      input->map(QAbstractVideoBuffer::ReadOnly); 
      QImage image = imageWrapper(*input); 
      image = image.scaled(640,480); 
      cv::Mat mat(image.width(),image.height(),CV_8UC3,image.bits(),    image.bytesPerLine()); 

      vector<Rect> detectedFaces; 
      detectedFaces.clear(); 
      frontalFaceClassifier.detectMultiScale(mat, detectedFaces, 
            1.6, 3, 2 | CV_HAAR_SCALE_IMAGE , Size(60,60)); 

      qDebug()<<"Cantidad de caras en el vector : " << detectedFaces.size(); 
      if(detectedFaces.size() > 0){ 
       actualFace = detectedFaces.at(0); 

      countDetectedFaces++; 
      qDebug()<<"**********qwerty**********"<<detectedFaces.size(); 
      } 
      for(int i=0;i<detectedFaces.size();i++) 
      { 
      Rect dibujarCuadrado = detectedFaces.at(i); 

      cv::rectangle (mat, dibujarCuadrado, 20, 1, LINE_8, 0); 
      } 
     } 
+0

モバイルから重い荷物を移動してクラウドでその部分を行うとどうなりますか? – Wayne

+0

迅速な回答ありがとうございました。私はそれが非常に良いアイデアだろうと思うが、それは私が思う良いインターネットを持つことに多く依存するだろう。あなたは私を導くためにクラウドにいくつかの処理部分を削除するいくつかのporjectを持っていますか?もしそうなら、大きな助けになるでしょう、ありがとうございました。 –

+0

@Wayneイメージあたり約1メガバイトをサーバーに送ることを意味します。私は街にいて、私のLTEアップストリームはわずか2Mbpsです(そして、私は多くの人がずっと悪くなっています) –

答えて

1

私はあなたが唯一のHaar分類を実施していました。私はあなたが前線面のものを使用すると仮定しました。正確性を高めるために、プロファイルの顔分類子(opencv haarパッケージで利用可能)をelse文に組み込むことができます。一般的には、必要な分類子を訓練して組み込むことができます。クラシファイアをトレーニングする場合、これは素晴らしいビデオですhere

+0

ありがとう、あなたが言うことを実装することがアイデアではなく、カメラのスピードを上げることです。なぜなら、私が1つのクラシファイアだけでは遅くなると、2つではより悪いと思うからです。 –

+1

私は前にpythonで同様の作業を行っていましたが、haarカスケードでの顔検出は、フレームをxmlに処理するだけなので、レイテンシはほとんどありません。 yrフレームをグレーに変えましたか? – chrisckwong821

+0

私は自分のプロジェクトでフレームを灰色で表示し、パフォーマンスが向上し、顔検出の精度を失うことなく、アドバイスをいただきありがとうございます –

関連する問題