길이와 형식이 더 좋으므로 답변으로 게시하십시오.
TL;
이 필터는 입력 이미지와 CoreML 또는 얼굴 인식의 Vision 프레임 워크 출력을 두 개 (또는 그 이상)의 입력으로 예상 할 수 있습니다.
내 생각에 inputFocusRect
, CIVector
(원점이 왼쪽 하단에있는 반전 된 좌표)은 CoreML 또는 Vision 프레임 워크 출력이 더 큰 이미지에서 얼굴을 인식 한 곳입니다.
설명 :
CIDepthBlurEffect
는 아이폰 OS (11) 또는 맥 OS 10.3에서 사용할 수있는 새로운 필터입니다. 실제로 그것은 아주 새롭다, Apple는 아직 그것을 위해 그들의 CI Filter Reference를 새롭게하지 않았다.
나는 내가 무엇을 찾을 수 있는지 투기해야했다. 그것은 오히려 간단한 코드입니다. 필터의 인스턴스를 생성 해, 그 속성을 출력합니다. 사용 가능한 필터 (모든 또는 특정 카테고리)에 대한 장치를 조회 표시 이름 등을 얻을 수있는 특정 속성을 사용 -
let filter = CIFilter(name: "CIDepthBlurEffect")
print(filter?.attributes)
는이 작업을 수행하는 더 나은 방법이 있습니다, 이해합니다. 내 의도는이 질문에 내가 할 수있는 것을 제공하는 것이었다. "덤프"는 사전 요소 배열 [String:Any]
을 가져 오며 여기에는 형식이 지정되지 않습니다. 수동 서식 수율이 - 2 CIImages
5 CIVectors
1 NSDictionary
NSNumbers
3, 1 AVCameraCalibrationData
[
"inputRightEyePositions": {
CIAttributeClass = CIVector;
CIAttributeDisplayName = "Right Eye Positions";
CIAttributeType = CIAttributeTypePosition;
},
"inputCalibrationData": {
CIAttributeClass = AVCameraCalibrationData;
CIAttributeDisplayName = CalibrationData;
},
"inputImage": {
CIAttributeClass = CIImage;
CIAttributeDescription = "The image to use as an input image. For filters that also use a background image, this is the foreground image.";
CIAttributeDisplayName = Image;
CIAttributeType = CIAttributeTypeImage;
},
"inputChinPositions": {
CIAttributeClass = CIVector;
CIAttributeDisplayName = "Chin Positions";
CIAttributeType = CIAttributeTypePosition;
},
"inputLeftEyePositions": {
CIAttributeClass = CIVector;
CIAttributeDisplayName = "Left Eye Positions";
CIAttributeType = CIAttributeTypePosition;
},
"inputAuxDataMetadata": {
CIAttributeClass = NSDictionary;
CIAttributeDisplayName = AuxDataMetadata;
},
"CIAttributeFilterAvailable_Mac": 10.13,
"CIAttributeFilterName": CIDepthBlurEffect,
"CIAttributeReferenceDocumentation": http://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html#//apple_ref/doc/filter/ci/CIDepthBlurEffect,
"inputAperture": {
CIAttributeClass = NSNumber;
CIAttributeDefault = 0;
CIAttributeDisplayName = Aperture;
CIAttributeMax = 22;
CIAttributeMin = 0;
CIAttributeSliderMax = 22;
CIAttributeSliderMin = 1;
CIAttributeType = CIAttributeTypeScalar;
},
"CIAttributeFilterDisplayName": Depth Blur Effect,
"CIAttributeFilterAvailable_iOS": 11,
"inputNosePositions": {
CIAttributeClass = CIVector;
CIAttributeDisplayName = "Nose Positions";
CIAttributeType = CIAttributeTypePosition;
},
"inputLumaNoiseScale": {
CIAttributeClass = NSNumber;
CIAttributeDefault = 0;
CIAttributeDisplayName = "Luma Noise Scale";
CIAttributeMax = "0.1";
CIAttributeMin = 0;
CIAttributeSliderMax = "0.1";
CIAttributeSliderMin = 0;
CIAttributeType = CIAttributeTypeScalar;
},
"inputScaleFactor": {
CIAttributeClass = NSNumber;
CIAttributeDefault = 1;
CIAttributeDisplayName = "Scale Factor";
CIAttributeSliderMax = 1;
CIAttributeSliderMin = 0;
CIAttributeType = CIAttributeTypeScalar;
},
"inputFocusRect": {
CIAttributeClass = CIVector;
CIAttributeDisplayName = "Focus Rectangle";
CIAttributeIdentity = "[-8.98847e+307 -8.98847e+307 1.79769e+308 1.79769e+308]";
CIAttributeType = CIAttributeTypeRectangle;
},
"inputDisparityImage": {
CIAttributeClass = CIImage;
CIAttributeDisplayName = DisparityImage;
},
"CIAttributeFilterCategories": <__NSArrayI 0x1c46588a0>(
CICategoryBlur,
CICategoryVideo,
CICategoryStillImage,
CICategoryBuiltIn
)
I은 12 입력 수를 카운트.
일부는 꽤 쉽게 해독됩니다 ... 카메라, 이미지, 이미지 메타 데이터 및 얼굴 구성 요소를 처리합니다. 일부는 그렇게 적지 만, Vision 프레임 워크에 더 깊숙이 들어있는 누군가는 더 많이 알고 있습니다. (! 그렇지 않으면, 어쩌면 그 모습 수있는 좋은 장소가)
특히, 내 질문은 :
- 은 무엇 정확하게
inputDisparityImage
입니까?
nil
또는 chi 위치를 찾을 수 없다고 예상되는 다양한 입력 얼굴 기능은 무엇입니까?
이것은 많은 SO 표준에 의한 대답이 아니며 아래로 투표하면 기꺼이 삭제할 것입니다. 그러나 에 대한 아이디어를 제공하고 싶습니다.은 필터의 속성을 파악하고 도움을 받으려합니다.
CoreML 및 Vision 프레임 워크에 대한 지식이 거의 없습니다. 나는 그들 뒤에있는 개념을 이해하고, 이미지 (또는 비디오)를보고, 을 발견/인식하는 것을 모두 두들겨 봤다.은 무엇인가이며 (일반적으로) 확신 요인을 제공한다.
얼굴 특징에 대한 다른 입력도 CIVectors
이기 때문에 inputFocusRect
은 전체 얼굴이 감지 된 지점이라고 생각합니다. Vision 프레임 워크가이 출력을이 필터와 긴밀하게 통합되도록 쉽게 제공 할 수 있습니다.
마지막으로, 은으로 속성 내에서 문서 링크를 시도했는데 비어 있습니다.
조금 더 많은 코드를 게시하십시오. CIDepthBlurEffect라는 CIFilter가 없습니다. https://developer.apple.com/library/content/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html#//apple_ref/doc/uid/TP40004346 – dfd
또한 CoreImage 필터의 Y 축 좌표가 " 원래대로 (X == 0, Y == 0)는 왼 J * 맨 위 *가 아닌 왼쪽 * *에 있습니다. – dfd
iOS11의 새로운 필터입니다! WWDC에 대한 이야기는 여기를 참조하십시오. https://developer.apple.com/videos/play/wwdc2017/508/ –