FaceRecognize[{example1name1,example2name2,…}]
根据人脸示例和给定的名称生成 ClassifierFunction[…].
FaceRecognize[{example1,example2,…}{name1,name2,…}]
根据给出的示例和名称生成 ClassifierFunction[…].
FaceRecognize[name1{example11,…},name2{example21,…},…]
使用名称与其示例的关联.
FaceRecognize[training,image]
尝试查找 image 中存在的人脸,并使用给定的训练集对它们进行分类.
FaceRecognize[training,image,prop]
返回指定的属性 prop.
FaceRecognize
FaceRecognize[{example1name1,example2name2,…}]
根据人脸示例和给定的名称生成 ClassifierFunction[…].
FaceRecognize[{example1,example2,…}{name1,name2,…}]
根据给出的示例和名称生成 ClassifierFunction[…].
FaceRecognize[name1{example11,…},name2{example21,…},…]
使用名称与其示例的关联.
FaceRecognize[training,image]
尝试查找 image 中存在的人脸,并使用给定的训练集对它们进行分类.
FaceRecognize[training,image,prop]
返回指定的属性 prop.
更多信息和选项
- 可对 FaceRecognize 进行训练,以便用来识别图像中出现的人脸.
- FaceRecognize[training,{image1,image2,…}]返回所有 imagei 中识别出的人脸.
- 默认情况下,FaceRecognize 给出与其识别的人脸关联的名称列表.
- 属性 prop 的可能设置为:
-
"BoundingBox" 人脸的边界 Rectangle "Image" 对应于人脸的 image 裁剪 "Name" 与人脸关联的名称 "Position" 以 {x,y} 给出的每个人脸的位置 "Probability" 特定匹配的概率 "RarerProbability" 生成样本的的概率密度函数低于 image 中的人脸的概率 {prop1,prop2,…} 属性规范列表 - 可以给出以下选项:
-
AcceptanceThreshold Automatic 考虑示例异常的阈值 ClassPriors Automatic 匹配的先验概率 Method Automatic 使用方法 - 默认情况下,所有名称均采用统一的先验概率. 使用 ClassPriors<|name1p1,…|> 指定不同的先验概率.
- 默认自动检测人脸. 使用 Method{"FaceBoxes"boxes} 指定人脸周围的边界框.
- boxes 的可能值为以下任意值:
-
Automatic 使用 FindFaces 查找人脸框(默认) Full 假设整个图像是一张脸 {bbox1,…} 人脸的边界框列表 - FaceRecognize 使用机器学习. 其方法、训练集和偏见可能会随 Wolfram 语言版本的不同而变化并生成不同的结果.
- FaceRecognize 可能会下载资源,这些资源将存储在 $LocalBase 的本地对象存储中,并且可以使用 LocalObjects[] 列出并使用 ResourceRemove 删除.
范例
打开所有单元 关闭所有单元基本范例 (3)
FaceRecognize[{[image] -> "Dad", [image] -> "Mom", [image] -> "Daughter"}, [image]]从一组图像创建 ClassifierFunction:
cf = FaceRecognize[{[image] -> "Dad", [image] -> "Mom", [image] -> "Daughter"}]cf[[image]]如果人脸不在训练示例中,则返回 Missing:
cf[[image]]i = [image];
faces = FaceRecognize[{[image] -> "Dad", [image] -> "Mom", [image] -> "Daughter"}, i, {"Image", "Name", "BoundingBox"}];
Dataset[faces]HighlightImage[i, Lookup[faces, "BoundingBox"], ImageLabels -> Lookup[faces, "Name"], PlotRangePadding -> Scaled[.05]]范围 (6)
创建能识别人脸的 ClassifierFunction:
cf = FaceRecognize[{[image] -> "Dad", [image] -> "Mom"}]cf[[image]]FaceRecognize[{[image] -> "Dad", [image] -> "Mom"}, [image]]如果不能识别人脸,则返回 Missing:
FaceRecognize[{[image] -> "Dad", [image] -> "Mom"}, [image]]FaceRecognize[{[image] -> "Dad", [image] -> "Dad", [image] -> "Mom"}, [image]]将这些参照图组合在一个 Association 中:
FaceRecognize[<|"Dad" -> {[image], [image]}, "Mom" -> {[image]}|>, [image]]FaceRecognize[{[image] -> "Dad", [image] -> "Mom"}, [image], {"Name", "Probability"}]FaceRecognize[{[image] -> "Dad", [image] -> "Mom"}, [image], All]FaceRecognize[{[image] -> "Dad", [image] -> "Mom"}, [image], {"Image", "Name"}]//DatasetDataset /@ FaceRecognize[{[image] -> "Dad", [image] -> "Mom"}, {[image], [image]}, {"Image", "Name"}]选项 (3)
AcceptanceThreshold (1)
指定 AcceptanceThreshold 以控制可以识别的人脸个数:
training = {[image] -> "Dad", [image] -> "Mom", [image] -> "Daughter"};
test = [image];FaceRecognize[training, test, {"Image", "Name", "RarerProbability"}, AcceptanceThreshold -> .5]//DatasetFaceRecognize[training, test, {"Image", "Name", "RarerProbability"}, AcceptanceThreshold -> .1]//Dataset使用 AcceptanceThreshold0 始终返回与测试图像最近的类别:
FaceRecognize[training, test, {"Image", "Name", "RarerProbability"}, AcceptanceThreshold -> 0]//DatasetClassPriors (1)
默认情况下,FaceRecognize 假定类别之间的概率相同:
FaceRecognize[<|"Dad" -> {[image]}, "Mom" -> [image], "Daughter" -> [image]|>, [image], All]//DatasetFaceRecognize[{[image] -> "Dad", [image] -> "Mom", [image] -> "Daughter"}, [image], All, ClassPriors -> <|"Dad" -> 0.45, "Mom" -> 0.45, "Daughter" -> 0.1|>]//DatasetMethod (1)
training = {[image] -> "Dad", [image] -> "Son1", [image] -> "Son2", [image] -> "Daughter"};test = [image];FaceRecognize[training, test, {"Image", "Name"}]//Dataset使用 Method{"FaceBoxes"Full}假定测试图像是人脸的单幅裁剪:
FaceRecognize[training, [image], Method -> {"FaceBoxes" -> Full}]使用 Method{"FaceBoxes"bboxes} 识别指定边界框 bboxes 中的人脸:
bboxes = FindFaces[test, PaddingSize -> Scaled[.1]];
HighlightImage[test, bboxes]FaceRecognize[training, test, {"Image", "Name"}, Method -> {"FaceBoxes" -> bboxes}]//Dataset应用 (4)
cf = FaceRecognize[<|"Dad" -> {[image], [image]}, "Son" -> {[image], [image]}|>];
SameFaceQ[x_] := SameQ@@cf[x]SameFaceQ[{[image], [image]}]SameFaceQ[{[image], [image]}]training = <|"Dad" -> {[image], [image]}, "Mom" -> {[image]}|>;ContainsFaceQ[x_, name_] := MemberQ[FaceRecognize[training, x], name]i = [image];
ContainsFaceQ[i, "Dad"]ContainsFaceQ[i, "Mom"]FaceRecognize 可以用来找出最接近测试图像的人脸:
training = {[image] -> "Dad", [image] -> "Mom", [image] -> "Daughter"};
FaceRecognize[training, [image], {"Image", "Name"}, AcceptanceThreshold -> 0]//Datasetcf = FaceRecognize[<|"Dad" -> {[image]}, "Mom" -> {[image]}|>];
ImageFaceSearch[list_, name_] := Flatten@Position[FaceRecognize[cf, list], _ ? (ContainsAny[#, {name}]&), 1]ImageFaceSearch[{[image], [image]}, "Mom"]可能存在的问题 (2)
FaceRecognize[<|"name" -> {[image]}, "Dad" -> [image]|>]FaceRecognize[<|"Dad" -> {[image]}, "Mom" -> {[image]}|>, [image], Method -> {"FaceBoxes" -> Full}]FaceRecognize 预期所有训练的人脸样本都使用人脸剪裁:
FaceRecognize[{[image] -> "Son", [image] -> "Daughter"}]FaceRecognize[{[image] -> "Son", [image] -> "Daughter"}]文本
Wolfram Research (2020),FaceRecognize,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FaceRecognize.html.
CMS
Wolfram 语言. 2020. "FaceRecognize." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/FaceRecognize.html.
APA
Wolfram 语言. (2020). FaceRecognize. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/FaceRecognize.html 年
BibTeX
@misc{reference.wolfram_2026_facerecognize, author="Wolfram Research", title="{FaceRecognize}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/FaceRecognize.html}", note=[Accessed: 15-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_facerecognize, organization={Wolfram Research}, title={FaceRecognize}, year={2020}, url={https://reference.wolfram.com/language/ref/FaceRecognize.html}, note=[Accessed: 15-September-2026]}