OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
顔解析

詳細説明

クラス

class  cv::face::BasicFaceRecognizer
 
struct  cv::face::CParams
 
class  cv::face::EigenFaceRecognizer
 
class  cv::face::Facemark
 すべてのfacemarkモデルの抽象基底クラス。 詳細...
 
class  cv::face::FacemarkAAM
 
class  cv::face::FacemarkLBF
 
class  cv::face::FacemarkTrain
 学習可能なfacemarkモデルの抽象基底クラス。 詳細...
 
class  cv::face::FaceRecognizer
 すべての顔認識モデルの抽象基底クラス。続き...
 
class  cv::face::FisherFaceRecognizer
 
class  cv::face::LBPHFaceRecognizer
 
class  cv::face::MACE
 (キャンセル可能な)生体特徴を用いた認証に有用な最小平均相関エネルギーフィルタ(Minimum Average Correlation Energy Filter)。(学習に多数の正例を必要とせず(10〜50個)、負例はまったく不要であり、ノイズや塩ノイズにも頑健である) 詳細...
 
class  cv::face::PredictCollector
 予測結果処理のすべての戦略の抽象基底クラス。 詳細...
 
class  cv::face::StandardCollector
 デフォルトの予測コレクタ。 詳細...
 

型定義

typedef bool(* cv::face::FN_FaceDetector) (InputArray, OutputArray, void *userData)
 

関数

Ptr< Facemarkcv::face::createFacemarkAAM ()
 AAM facemark検出器を構築する
 
Ptr< Facemarkcv::face::createFacemarkKazemi ()
 Kazemi facemark検出器を構築する
 
Ptr< Facemarkcv::face::createFacemarkLBF ()
 LBF facemark検出器を構築する
 
void cv::face::drawFacemarks (InputOutputArray image, InputArray points, Scalar color=Scalar(255, 0, 0))
 検出された顔のランドマーク点を描画するためのユーティリティ。
 
bool cv::face::getFaces (InputArray image, OutputArray faces, CParams *params)
 デフォルトの顔検出器。この関数は主に Facemark Algorithm の実装で利用される。エンドユーザは、手動で定義してFacemark::setFaceDetectorによりアルゴリズムに渡せるFacemark::getFaces関数を使用することが推奨される。
 
bool cv::face::getFacesHAAR (InputArray image, OutputArray faces, const String &face_cascade_name)
 
bool cv::face::loadDatasetList (String imageList, String annotationList, std::vector< String > &images, std::vector< String > &annotations)
 学習用画像へのパス一覧とアノテーションファイルを読み込むためのユーティリティ。
 
bool cv::face::loadFacePoints (String filename, OutputArray points, float offset=0.0f)
 指定されたファイルから顔のランドマーク情報を読み込むためのユーティリティ。
 
bool cv::face::loadTrainingData (std::vector< String > filename, std::vector< std::vector< Point2f > > &trainlandmarks, std::vector< String > &trainimages)
 この関数は、対応する画像名とランドマークを含む.txtファイルから学習用のデータを抽出する。各ファイルの最初の行には、そのファイルで記述されるランドマークを持つ画像のパスを記載する必要がある。続く行には、画像内のランドマークの座標を記載する必要がある。すなわち各行は x,y の形式であり、xはランドマークのx座標、yはランドマークのy座標を表す。
 
bool cv::face::loadTrainingData (String filename, std::vector< String > &images, OutputArray facePoints, char delim=' ', float offset=0.0f)
 単一のファイルから顔のランドマークデータセットを読み込むためのユーティリティ。
 
bool cv::face::loadTrainingData (String imageList, String groundTruth, std::vector< String > &images, OutputArray facePoints, float offset=0.0f)
 データセットから顔のランドマーク情報を読み込むためのユーティリティ。
 

型定義詳解

◆ FN_FaceDetector

typedef bool(* cv::face::FN_FaceDetector) (InputArray, OutputArray, void *userData)

関数詳解

◆ createFacemarkAAM()

Ptr< Facemark > cv::face::createFacemarkAAM ( )
Python:
cv.face.createFacemarkAAM() -> retval

#include <opencv2/face/facemark.hpp>

AAM facemark検出器を構築する

◆ createFacemarkKazemi()

Ptr< Facemark > cv::face::createFacemarkKazemi ( )
Python:
cv.face.createFacemarkKazemi() -> retval

#include <opencv2/face/facemark.hpp>

Kazemi facemark検出器を構築する

◆ createFacemarkLBF()

Ptr< Facemark > cv::face::createFacemarkLBF ( )
Python:
cv.face.createFacemarkLBF() -> retval

#include <opencv2/face/facemark.hpp>

LBF facemark検出器を構築する

◆ drawFacemarks()

void cv::face::drawFacemarks ( InputOutputArray image,
InputArray points,
Scalar color = Scalar(255, 0, 0) )
Python:
cv.face.drawFacemarks(image, points[, color]) -> image

#include <opencv2/face/facemark_train.hpp>

検出された顔のランドマーク点を描画するためのユーティリティ。

引数
image処理対象の入力画像。
points描画される点のデータを格納する。
colorcv::Scalar で表されるBGR形式の点の色。

使用例

std::vector<Rect> faces;
std::vector<std::vector<Point2f> > landmarks;
facemark->getFaces(img, faces);
facemark->fit(img, faces, landmarks);
for(int j=0;j<rects.size();j++){
face::drawFacemarks(frame, landmarks[j], Scalar(0,0,255));
}
Scalar_< double > Scalar
Definition types.hpp:709
void drawFacemarks(InputOutputArray image, InputArray points, Scalar color=Scalar(255, 0, 0))
Utility to draw the detected facial landmark points.

◆ getFaces()

bool cv::face::getFaces ( InputArray image,
OutputArray faces,
CParams * params )

#include <opencv2/face/facemark_train.hpp>

デフォルトの顔検出器。この関数は主に Facemark Algorithm の実装で利用される。エンドユーザーは、手動で定義してFacemark::setFaceDetectorによってアルゴリズムに渡すことができるFacemark::getFaces関数の使用が推奨される。

引数
image処理対象の入力画像。
faces検出された顔の関心領域を表す関数の出力。各顔は cv::Rect コンテナに格納される。
params検出器の引数

使用例

std::vector<cv::Rect> faces;
CParams params("haarcascade_frontalface_alt.xml");
cv::face::getFaces(frame, faces, &params);
for(int j=0;j<faces.size();j++){
cv::rectangle(frame, faces[j], cv::Scalar(255,0,255));
}
cv::imshow("detection", frame);
bool getFaces(InputArray image, OutputArray faces, CParams *params)
Default face detector This function is mainly utilized by the implementation of a Facemark Algorithm....
void imshow(const String &winname, InputArray mat)
Displays an image in the specified window.
void rectangle(InputOutputArray img, Point pt1, Point pt2, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
Draws a simple, thick, or filled up-right rectangle.
Definition facemark_train.hpp:29

◆ getFacesHAAR()

bool cv::face::getFacesHAAR ( InputArray image,
OutputArray faces,
const String & face_cascade_name )
Python:
cv.face.getFacesHAAR(image, face_cascade_name[, faces]) -> retval, faces

◆ loadDatasetList()

bool cv::face::loadDatasetList ( String imageList,
String annotationList,
std::vector< String > & images,
std::vector< String > & annotations )
Python:
cv.face.loadDatasetList(imageList, annotationList, images, annotations) -> retval

#include <opencv2/face/facemark_train.hpp>

学習用画像とアノテーションファイルへのパスのリストを読み込むためのユーティリティ。

引数
imageList指定されたファイルには学習用画像へのパスが含まれる。
annotationList指定されたファイルには学習用アノテーションへのパスが含まれる。
images読み込まれた学習用画像のパス。
annotations読み込まれたアノテーションファイルのパス。

使用例:

String imageFiles = "images_path.txt";
String ptsFiles = "annotations_path.txt";
std::vector<String> images_train;
std::vector<String> landmarks_train;
loadDatasetList(imageFiles,ptsFiles,images_train,landmarks_train);
std::string String
Definition cvstd.hpp:151
bool loadDatasetList(String imageList, String annotationList, std::vector< String > &images, std::vector< String > &annotations)
A utility to load list of paths to training image and annotation file.

◆ loadFacePoints()

bool cv::face::loadFacePoints ( String filename,
OutputArray points,
float offset = 0.0f )
Python:
cv.face.loadFacePoints(filename[, points[, offset]]) -> retval, points

#include <opencv2/face/facemark_train.hpp>

指定されたファイルから顔ランドマーク情報を読み込むユーティリティ。

引数
filename顔のランドマークデータを含むファイルのファイル名。
points読み込まれた顔のランドマーク点。
offset読み込まれた点を調整するためのオフセット値。

使用例

std::vector<Point2f> points;
face::loadFacePoints("filename.txt", points, 0.0f);
bool loadFacePoints(String filename, OutputArray points, float offset=0.0f)
A utility to load facial landmark information from a given file.

アノテーションファイルは次のデフォルト形式に従う必要がある

version: 1
n_points: 68
{
212.716603 499.771793
230.232816 566.290071
...
}

ここで n_points は対象となる点の数であり、各点は x と y による位置として表される。

◆ loadTrainingData() [1/3]

bool cv::face::loadTrainingData ( std::vector< String > filename,
std::vector< std::vector< Point2f > > & trainlandmarks,
std::vector< String > & trainimages )
Python:
cv.face.loadTrainingData(filename, images[, facePoints[, delim[, offset]]]) -> retval, facePoints
cv.face.loadTrainingData(imageList, groundTruth, images[, facePoints[, offset]]) -> retval, facePoints
cv.face.loadTrainingData(filename, trainlandmarks, trainimages) -> retval

#include <opencv2/face/facemark_train.hpp>

この関数は、対応する画像名とランドマークを含む .txt ファイルから訓練用データを抽出する。各ファイルの先頭行は、そのファイルでランドマークが記述されている画像のパスを示す必要がある。続く各行にはその画像内のランドマークの座標、すなわち x,y の形式で記述する。ここで x はランドマークの x 座標、y はランドマークの y 座標を表す。

参考として、HELEN dataset で提供されているファイルを参照するとよい

引数
filename.txtファイルの名前を含む cv::String 型のベクトル。
trainlandmarksすべての画像の形状またはランドマークを格納する cv::Point2f 型のベクトル。
trainimagesランドマークが追跡される画像の名前を格納する cv::String 型のベクトル
戻り値
ブール値。データの読み込みに成功した場合は true を、それ以外の場合は false を返す

◆ loadTrainingData() [2/3]

bool cv::face::loadTrainingData ( String filename,
std::vector< String > & images,
OutputArray facePoints,
char delim = ' ',
float offset = 0.0f )
Python:
cv.face.loadTrainingData(filename, images[, facePoints[, delim[, offset]]]) -> retval, facePoints
cv.face.loadTrainingData(imageList, groundTruth, images[, facePoints[, offset]]) -> retval, facePoints
cv.face.loadTrainingData(filename, trainlandmarks, trainimages) -> retval

#include <opencv2/face/facemark_train.hpp>

単一のファイルから顔ランドマークデータセットを読み込むユーティリティ。

引数
filenameデータセット情報を含むファイルのファイル名。各行には画像のファイル名に続いて、顔のランドマーク点のx座標とy座標の値のペアがスペースで区切られて記述される。例
/home/user/ibug/image_003_1.jpg 336.820955 240.864510 335.266918 ...
/home/user/ibug/image_005_1.jpg 376.158428 230.845712 383.265403 ...
images各要素がデータセット内の画像のファイル名を表すベクトル。メモリを節約するため、画像はデフォルトでは読み込まれない。
facePointsすべての学習データに対して読み込まれたランドマーク点。
delim各要素間の区切り文字。デフォルト値は空白である。
offset読み込まれた点を調整するためのオフセット値。

使用例

cv::String imageFiles = "../data/images_train.txt";
cv::String ptsFiles = "../data/points_train.txt";
std::vector<String> images;
std::vector<std::vector<Point2f> > facePoints;
loadTrainingData(imageFiles, ptsFiles, images, facePoints, 0.0f);
bool loadTrainingData(String filename, std::vector< String > &images, OutputArray facePoints, char delim=' ', float offset=0.0f)
A utility to load facial landmark dataset from a single file.

◆ loadTrainingData() [3/3]

bool cv::face::loadTrainingData ( String imageList,
String groundTruth,
std::vector< String > & images,
OutputArray facePoints,
float offset = 0.0f )
Python:
cv.face.loadTrainingData(filename, images[, facePoints[, delim[, offset]]]) -> retval, facePoints
cv.face.loadTrainingData(imageList, groundTruth, images[, facePoints[, offset]]) -> retval, facePoints
cv.face.loadTrainingData(filename, trainlandmarks, trainimages) -> retval

#include <opencv2/face/facemark_train.hpp>

データセットから顔ランドマーク情報を読み込むユーティリティ。

引数
imageList学習用データセット内の画像ファイル名のリストを含むファイル。
groundTruthランドマーク点情報が格納されているファイル名のリストを含むファイル。各ファイルの内容は標準形式に従う必要がある(face::loadFacePoints を参照)。
images各要素がデータセット内の画像のファイル名を表すベクトル。メモリを節約するため、画像はデフォルトでは読み込まれない。
facePointsすべての学習データに対して読み込まれたランドマーク点。
offset読み込まれた点を調整するためのオフセット値。

使用例

cv::String imageFiles = "../data/images_train.txt";
cv::String ptsFiles = "../data/points_train.txt";
std::vector<String> images;
std::vector<std::vector<Point2f> > facePoints;
loadTrainingData(imageFiles, ptsFiles, images, facePoints, 0.0f);

images_train.txt の内容例

/home/user/ibug/image_003_1.jpg
/home/user/ibug/image_004_1.jpg
/home/user/ibug/image_005_1.jpg
/home/user/ibug/image_006.jpg

points_train.txt の内容の例

/home/user/ibug/image_003_1.pts
/home/user/ibug/image_004_1.pts
/home/user/ibug/image_005_1.pts
/home/user/ibug/image_006.pts