vision-camera-face-detection 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/ios/FaceHelper.swift +109 -89
  2. package/ios/VisionCameraFaceDetectionModule.swift +2 -8
  3. package/ios/VisionCameraFaceDetectionPlugin.swift +2 -5
  4. package/lib/commonjs/{Camera.cjs → Camera.js} +4 -4
  5. package/lib/commonjs/{Camera.cjs.map → Camera.js.map} +1 -1
  6. package/lib/commonjs/{FaceDetector.cjs → FaceDetector.js} +1 -1
  7. package/lib/commonjs/{Tensor.cjs → Tensor.js} +1 -1
  8. package/lib/commonjs/{index.cjs → index.js} +4 -4
  9. package/lib/commonjs/package.json +1 -0
  10. package/lib/module/{Camera.mjs → Camera.js} +6 -4
  11. package/lib/module/Camera.js.map +1 -0
  12. package/lib/module/{FaceDetector.mjs → FaceDetector.js} +3 -1
  13. package/lib/module/FaceDetector.js.map +1 -0
  14. package/lib/module/{Tensor.mjs → Tensor.js} +3 -1
  15. package/lib/module/Tensor.js.map +1 -0
  16. package/lib/module/index.js +6 -0
  17. package/lib/module/index.js.map +1 -0
  18. package/lib/module/package.json +1 -0
  19. package/lib/typescript/commonjs/package.json +1 -0
  20. package/lib/typescript/commonjs/src/Camera.d.ts.map +1 -0
  21. package/lib/typescript/commonjs/src/FaceDetector.d.ts.map +1 -0
  22. package/lib/typescript/commonjs/src/Tensor.d.ts.map +1 -0
  23. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  24. package/lib/typescript/module/package.json +1 -0
  25. package/lib/typescript/module/src/Camera.d.ts +17 -0
  26. package/lib/typescript/module/src/Camera.d.ts.map +1 -0
  27. package/lib/typescript/module/src/FaceDetector.d.ts +122 -0
  28. package/lib/typescript/module/src/FaceDetector.d.ts.map +1 -0
  29. package/lib/typescript/module/src/Tensor.d.ts +8 -0
  30. package/lib/typescript/module/src/Tensor.d.ts.map +1 -0
  31. package/lib/typescript/module/src/index.d.ts +4 -0
  32. package/lib/typescript/module/src/index.d.ts.map +1 -0
  33. package/package.json +18 -13
  34. package/src/Camera.tsx +1 -1
  35. package/lib/module/Camera.mjs.map +0 -1
  36. package/lib/module/FaceDetector.mjs.map +0 -1
  37. package/lib/module/Tensor.mjs.map +0 -1
  38. package/lib/module/index.mjs +0 -4
  39. package/lib/module/index.mjs.map +0 -1
  40. package/lib/typescript/src/Camera.d.ts.map +0 -1
  41. package/lib/typescript/src/FaceDetector.d.ts.map +0 -1
  42. package/lib/typescript/src/Tensor.d.ts.map +0 -1
  43. package/lib/typescript/src/index.d.ts.map +0 -1
  44. /package/lib/commonjs/{FaceDetector.cjs.map → FaceDetector.js.map} +0 -0
  45. /package/lib/commonjs/{Tensor.cjs.map → Tensor.js.map} +0 -0
  46. /package/lib/commonjs/{index.cjs.map → index.js.map} +0 -0
  47. /package/lib/typescript/{src → commonjs/src}/Camera.d.ts +0 -0
  48. /package/lib/typescript/{src → commonjs/src}/FaceDetector.d.ts +0 -0
  49. /package/lib/typescript/{src → commonjs/src}/Tensor.d.ts +0 -0
  50. /package/lib/typescript/{src → commonjs/src}/index.d.ts +0 -0
@@ -16,85 +16,85 @@ let inputHeight = 112
16
16
  var interpreter: Interpreter? = nil
17
17
 
18
18
  class FaceHelper {
19
- static func processContours(from face: Face) -> [String:[[String:CGFloat]]] {
20
- let faceContoursTypes = [
21
- FaceContourType.face,
22
- FaceContourType.leftEyebrowTop,
23
- FaceContourType.leftEyebrowBottom,
24
- FaceContourType.rightEyebrowTop,
25
- FaceContourType.rightEyebrowBottom,
26
- FaceContourType.leftEye,
27
- FaceContourType.rightEye,
28
- FaceContourType.upperLipTop,
29
- FaceContourType.upperLipBottom,
30
- FaceContourType.lowerLipTop,
31
- FaceContourType.lowerLipBottom,
32
- FaceContourType.noseBridge,
33
- FaceContourType.noseBottom,
34
- FaceContourType.leftCheek,
35
- FaceContourType.rightCheek,
36
- ]
37
-
38
- let faceContoursTypesStrings = [
39
- "FACE",
40
- "LEFT_EYEBROW_TOP",
41
- "LEFT_EYEBROW_BOTTOM",
42
- "RIGHT_EYEBROW_TOP",
43
- "RIGHT_EYEBROW_BOTTOM",
44
- "LEFT_EYE",
45
- "RIGHT_EYE",
46
- "UPPER_LIP_TOP",
47
- "UPPER_LIP_BOTTOM",
48
- "LOWER_LIP_TOP",
49
- "LOWER_LIP_BOTTOM",
50
- "NOSE_BRIDGE",
51
- "NOSE_BOTTOM",
52
- "LEFT_CHEEK",
53
- "RIGHT_CHEEK",
54
- ];
55
-
56
- var faceContoursTypesMap: [String:[[String:CGFloat]]] = [:]
57
-
58
- for i in 0..<faceContoursTypes.count {
59
- let contour = face.contour(ofType: faceContoursTypes[i]);
60
-
61
- var pointsArray: [[String:CGFloat]] = []
62
-
63
- if let points = contour?.points {
64
- for point in points {
65
- let currentPointsMap = [
66
- "x": point.x,
67
- "y": point.y,
68
- ]
69
-
70
- pointsArray.append(currentPointsMap)
71
- }
72
-
73
- faceContoursTypesMap[faceContoursTypesStrings[i]] = pointsArray
74
- }
75
- }
76
-
77
- return faceContoursTypesMap
78
- }
19
+ // static func processContours(from face: Face) -> [String:[[String:CGFloat]]] {
20
+ // let faceContoursTypes = [
21
+ // FaceContourType.face,
22
+ // FaceContourType.leftEyebrowTop,
23
+ // FaceContourType.leftEyebrowBottom,
24
+ // FaceContourType.rightEyebrowTop,
25
+ // FaceContourType.rightEyebrowBottom,
26
+ // FaceContourType.leftEye,
27
+ // FaceContourType.rightEye,
28
+ // FaceContourType.upperLipTop,
29
+ // FaceContourType.upperLipBottom,
30
+ // FaceContourType.lowerLipTop,
31
+ // FaceContourType.lowerLipBottom,
32
+ // FaceContourType.noseBridge,
33
+ // FaceContourType.noseBottom,
34
+ // FaceContourType.leftCheek,
35
+ // FaceContourType.rightCheek,
36
+ // ]
79
37
 
80
- static func processBoundingBox(from face: Face) -> [String:Any] {
81
- let frameRect = face.frame
82
-
83
- let offsetX = (frameRect.midX - ceil(frameRect.width)) / 2.0
84
- let offsetY = (frameRect.midY - ceil(frameRect.height)) / 2.0
85
-
86
- let x = frameRect.maxX + offsetX
87
- let y = frameRect.minY + offsetY
88
-
89
- return [
90
- "x": frameRect.midX + (frameRect.midX - x),
91
- "y": frameRect.midY + (y - frameRect.midY),
92
- "width": frameRect.width,
93
- "height": frameRect.height,
94
- "boundingCenterX": frameRect.midX,
95
- "boundingCenterY": frameRect.midY
96
- ]
97
- }
38
+ // let faceContoursTypesStrings = [
39
+ // "FACE",
40
+ // "LEFT_EYEBROW_TOP",
41
+ // "LEFT_EYEBROW_BOTTOM",
42
+ // "RIGHT_EYEBROW_TOP",
43
+ // "RIGHT_EYEBROW_BOTTOM",
44
+ // "LEFT_EYE",
45
+ // "RIGHT_EYE",
46
+ // "UPPER_LIP_TOP",
47
+ // "UPPER_LIP_BOTTOM",
48
+ // "LOWER_LIP_TOP",
49
+ // "LOWER_LIP_BOTTOM",
50
+ // "NOSE_BRIDGE",
51
+ // "NOSE_BOTTOM",
52
+ // "LEFT_CHEEK",
53
+ // "RIGHT_CHEEK",
54
+ // ];
55
+
56
+ // var faceContoursTypesMap: [String:[[String:CGFloat]]] = [:]
57
+
58
+ // for i in 0..<faceContoursTypes.count {
59
+ // let contour = face.contour(ofType: faceContoursTypes[i]);
60
+
61
+ // var pointsArray: [[String:CGFloat]] = []
62
+
63
+ // if let points = contour?.points {
64
+ // for point in points {
65
+ // let currentPointsMap = [
66
+ // "x": point.x,
67
+ // "y": point.y,
68
+ // ]
69
+
70
+ // pointsArray.append(currentPointsMap)
71
+ // }
72
+
73
+ // faceContoursTypesMap[faceContoursTypesStrings[i]] = pointsArray
74
+ // }
75
+ // }
76
+
77
+ // return faceContoursTypesMap
78
+ // }
79
+
80
+ // static func processBoundingBox(from face: Face) -> [String:Any] {
81
+ // let frameRect = face.frame
82
+
83
+ // let offsetX = (frameRect.midX - ceil(frameRect.width)) / 2.0
84
+ // let offsetY = (frameRect.midY - ceil(frameRect.height)) / 2.0
85
+
86
+ // let x = frameRect.maxX + offsetX
87
+ // let y = frameRect.minY + offsetY
88
+
89
+ // return [
90
+ // "x": frameRect.midX + (frameRect.midX - x),
91
+ // "y": frameRect.midY + (y - frameRect.midY),
92
+ // "width": frameRect.width,
93
+ // "height": frameRect.height,
94
+ // "boundingCenterX": frameRect.midX,
95
+ // "boundingCenterY": frameRect.midY
96
+ // ]
97
+ // }
98
98
 
99
99
  static func getImageFaceFromUIImage(from image: UIImage, rectImage: CGRect) -> UIImage? {
100
100
  let imageRef: CGImage = (image.cgImage?.cropping(to: rectImage)!)!
@@ -107,11 +107,8 @@ class FaceHelper {
107
107
  return imageData.base64EncodedString()
108
108
  }
109
109
 
110
- static func rgbDataFromBuffer(
111
- _ buffer: CVPixelBuffer,
112
- byteCount: Int,
113
- isModelQuantized: Bool
114
- ) -> Data? {
110
+ static func rgbDataFromBuffer(_ buffer: CVPixelBuffer) -> Data? {
111
+ let byteCount = batchSize * inputWidth * inputHeight * inputChannels
115
112
  CVPixelBufferLockBaseAddress(buffer, .readOnly)
116
113
  defer {
117
114
  CVPixelBufferUnlockBaseAddress(buffer, .readOnly)
@@ -160,11 +157,6 @@ class FaceHelper {
160
157
  }
161
158
 
162
159
  let byteData = Data(bytes: destinationBuffer.data, count: destinationBuffer.rowBytes * height)
163
- if isModelQuantized {
164
- return byteData
165
- }
166
-
167
- // Not quantized, convert to floats
168
160
  let bytes = Array<UInt8>(unsafeData: byteData)!
169
161
  var floats = [Float]()
170
162
  for i in 0..<bytes.count {
@@ -218,6 +210,35 @@ class FaceHelper {
218
210
  return nil
219
211
  }
220
212
  }
213
+
214
+ // static func getDataFromPixel(pixelBuffer: CVPixelBuffer) -> Data {
215
+ // CVPixelBufferLockBaseAddress(pixelBuffer, [.readOnly])
216
+ // defer { CVPixelBufferUnlockBaseAddress(pixelBuffer, [.readOnly]) }
217
+ //
218
+ // // Calculate sum of planes' size
219
+ // var totalSize = 0
220
+ // for plane in 0 ..< CVPixelBufferGetPlaneCount(pixelBuffer) {
221
+ // let height = CVPixelBufferGetHeightOfPlane(pixelBuffer, plane)
222
+ // let bytesPerRow = CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, plane)
223
+ // let planeSize = height * bytesPerRow
224
+ // totalSize += planeSize
225
+ // }
226
+ //
227
+ // guard let rawFrame = malloc(totalSize) else { fatalError() }
228
+ // var dest = rawFrame
229
+ //
230
+ // for plane in 0 ..< CVPixelBufferGetPlaneCount(pixelBuffer) {
231
+ // let source = CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, plane)
232
+ // let height = CVPixelBufferGetHeightOfPlane(pixelBuffer, plane)
233
+ // let bytesPerRow = CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, plane)
234
+ // let planeSize = height * bytesPerRow
235
+ //
236
+ // memcpy(dest, source, planeSize)
237
+ // dest += planeSize
238
+ // }
239
+ //
240
+ // return Data(bytesNoCopy: rawFrame, count: totalSize, deallocator: .free)
241
+ // }
221
242
  }
222
243
 
223
244
  // MARK: - Extensions
@@ -235,4 +256,3 @@ extension Array {
235
256
  self = unsafeData.withUnsafeBytes { .init($0.bindMemory(to: Element.self)) }
236
257
  }
237
258
  }
238
-
@@ -66,19 +66,13 @@ class VisionCameraFaceDetectionModule: NSObject {
66
66
  reject("Failed to get pixelBuffer", nil, nil)
67
67
  return
68
68
  }
69
- guard let rgbData = FaceHelper.rgbDataFromBuffer(
70
- pixelBuffer,
71
- byteCount: batchSize * inputWidth * inputHeight * inputChannels,
72
- isModelQuantized: false
73
- ) else {
69
+ guard let rgbData = FaceHelper.rgbDataFromBuffer(pixelBuffer) else {
74
70
  reject("Failed to convert the image buffer to RGB data.", nil, nil)
75
71
  return
76
72
  }
77
- // Copy the RGB data to the input `Tensor`.
78
73
  try interpreter?.copy(rgbData, toInputAt: 0)
79
- // Run inference by invoking the `Interpreter`.
80
74
  try interpreter?.invoke()
81
- // Get the output `Tensor` to process the inference results.
75
+
82
76
  let outputTensor: Tensor? = try interpreter?.output(at: 0)
83
77
  if ((outputTensor?.data) != nil) {
84
78
  let result: [Float] = [Float32](unsafeData: outputTensor!.data) ?? []
@@ -279,13 +279,10 @@ public class VisionCameraFaceDetectionPlugin: FrameProcessorPlugin {
279
279
  guard let pixelBuffer = FaceHelper.uiImageToPixelBuffer(image: imageCrop, size: inputWidth) else {
280
280
  return nil
281
281
  }
282
- guard let rgbData = FaceHelper.rgbDataFromBuffer(
283
- pixelBuffer,
284
- byteCount: batchSize * inputWidth * inputHeight * inputChannels,
285
- isModelQuantized: false
286
- ) else {
282
+ guard let rgbData = FaceHelper.rgbDataFromBuffer(pixelBuffer) else {
287
283
  return nil
288
284
  }
285
+
289
286
  try interpreter?.copy(rgbData, toInputAt: 0)
290
287
  try interpreter?.invoke()
291
288
  let outputTensor: Tensor? = try interpreter?.output(at: 0)
@@ -8,7 +8,7 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _reactNativeVisionCamera = require("react-native-vision-camera");
10
10
  var _reactNativeWorkletsCore = require("react-native-worklets-core");
11
- var _FaceDetector = require("./FaceDetector.cjs");
11
+ var _FaceDetector = require("./FaceDetector.js");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
14
  // types
@@ -148,10 +148,10 @@ const Camera = exports.Camera = /*#__PURE__*/_react.default.forwardRef(({
148
148
  // });
149
149
  }, [runOnJs]);
150
150
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeVisionCamera.Camera, {
151
- ...props,
152
151
  ref: ref,
153
152
  frameProcessor: _reactNative.Platform.OS === 'android' ? processorAndroid : processorIOS,
154
- pixelFormat: _reactNative.Platform.OS === 'android' ? 'yuv' : 'rgb'
153
+ pixelFormat: _reactNative.Platform.OS === 'android' ? 'yuv' : 'rgb',
154
+ ...props
155
155
  });
156
156
  });
157
- //# sourceMappingURL=Camera.cjs.map
157
+ //# sourceMappingURL=Camera.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeVisionCamera","_reactNativeWorkletsCore","_FaceDetector","_jsxRuntime","e","__esModule","default","useWorklet","func","dependencyList","worklet","React","useMemo","context","Worklets","defaultContext","createRunAsync","useRunInJS","createRunOnJS","Camera","exports","forwardRef","faceDetectionOptions","faceDetectionCallback","props","ref","detectFaces","useFaceDetector","isAsyncContextBusy","useSharedValue","logOnJs","log","error","console","message","JSON","stringify","runInJs","runOnAsyncContext","frame","faces","incrementRefCount","finally","decrementRefCount","value","runAsync","internal","processorAndroid","useFrameProcessor","runOnJs","useRunOnJS","processorIOS","jsx","frameProcessor","Platform","OS","pixelFormat"],"sourceRoot":"../../src","sources":["Camera.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeVisionCamera","_reactNativeWorkletsCore","_FaceDetector","_jsxRuntime","e","__esModule","default","useWorklet","func","dependencyList","worklet","React","useMemo","context","Worklets","defaultContext","createRunAsync","useRunInJS","createRunOnJS","Camera","exports","forwardRef","faceDetectionOptions","faceDetectionCallback","props","ref","detectFaces","useFaceDetector","isAsyncContextBusy","useSharedValue","logOnJs","log","error","console","message","JSON","stringify","runInJs","runOnAsyncContext","frame","faces","incrementRefCount","finally","decrementRefCount","value","runAsync","internal","processorAndroid","useFrameProcessor","runOnJs","useRunOnJS","processorIOS","jsx","frameProcessor","Platform","OS","pixelFormat"],"sourceRoot":"../../src","sources":["Camera.tsx"],"mappings":"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","ignoreList":[]}
@@ -39,4 +39,4 @@ function createFaceDetectorPlugin(options) {
39
39
  function useFaceDetector(options) {
40
40
  return (0, _react.useMemo)(() => createFaceDetectorPlugin(options), [options]);
41
41
  }
42
- //# sourceMappingURL=FaceDetector.cjs.map
42
+ //# sourceMappingURL=FaceDetector.js.map
@@ -21,4 +21,4 @@ function initTensor(modelPath, count) {
21
21
  function detectFromBase64(imageString) {
22
22
  return VisionCameraFaceDetectionModule.detectFromBase64(imageString);
23
23
  }
24
- //# sourceMappingURL=Tensor.cjs.map
24
+ //# sourceMappingURL=Tensor.js.map
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _Camera = require("./Camera.cjs");
6
+ var _Camera = require("./Camera.js");
7
7
  Object.keys(_Camera).forEach(function (key) {
8
8
  if (key === "default" || key === "__esModule") return;
9
9
  if (key in exports && exports[key] === _Camera[key]) return;
@@ -14,7 +14,7 @@ Object.keys(_Camera).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
- var _FaceDetector = require("./FaceDetector.cjs");
17
+ var _FaceDetector = require("./FaceDetector.js");
18
18
  Object.keys(_FaceDetector).forEach(function (key) {
19
19
  if (key === "default" || key === "__esModule") return;
20
20
  if (key in exports && exports[key] === _FaceDetector[key]) return;
@@ -25,7 +25,7 @@ Object.keys(_FaceDetector).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
- var _Tensor = require("./Tensor.cjs");
28
+ var _Tensor = require("./Tensor.js");
29
29
  Object.keys(_Tensor).forEach(function (key) {
30
30
  if (key === "default" || key === "__esModule") return;
31
31
  if (key in exports && exports[key] === _Tensor[key]) return;
@@ -36,4 +36,4 @@ Object.keys(_Tensor).forEach(function (key) {
36
36
  }
37
37
  });
38
38
  });
39
- //# sourceMappingURL=index.cjs.map
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -1,10 +1,12 @@
1
+ "use strict";
2
+
1
3
  import React from 'react';
2
4
  import { Platform } from 'react-native';
3
5
  import { Camera as VisionCamera,
4
6
  // runAsync,
5
7
  useFrameProcessor } from 'react-native-vision-camera';
6
8
  import { Worklets, useRunOnJS, useSharedValue } from 'react-native-worklets-core';
7
- import { useFaceDetector } from "./FaceDetector.mjs";
9
+ import { useFaceDetector } from "./FaceDetector.js";
8
10
 
9
11
  // types
10
12
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -143,10 +145,10 @@ export const Camera = /*#__PURE__*/React.forwardRef(({
143
145
  // });
144
146
  }, [runOnJs]);
145
147
  return /*#__PURE__*/_jsx(VisionCamera, {
146
- ...props,
147
148
  ref: ref,
148
149
  frameProcessor: Platform.OS === 'android' ? processorAndroid : processorIOS,
149
- pixelFormat: Platform.OS === 'android' ? 'yuv' : 'rgb'
150
+ pixelFormat: Platform.OS === 'android' ? 'yuv' : 'rgb',
151
+ ...props
150
152
  });
151
153
  });
152
- //# sourceMappingURL=Camera.mjs.map
154
+ //# sourceMappingURL=Camera.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Platform","Camera","VisionCamera","useFrameProcessor","Worklets","useRunOnJS","useSharedValue","useFaceDetector","jsx","_jsx","useWorklet","func","dependencyList","worklet","useMemo","context","defaultContext","createRunAsync","useRunInJS","createRunOnJS","forwardRef","faceDetectionOptions","faceDetectionCallback","props","ref","detectFaces","isAsyncContextBusy","logOnJs","log","error","console","message","JSON","stringify","runInJs","runOnAsyncContext","frame","faces","incrementRefCount","finally","decrementRefCount","value","runAsync","internal","processorAndroid","runOnJs","processorIOS","frameProcessor","OS","pixelFormat"],"sourceRoot":"../../src","sources":["Camera.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,cAAc;AACvC,SACEC,MAAM,IAAIC,YAAY;AACtB;AACAC,iBAAiB,QACZ,4BAA4B;AACnC,SACEC,QAAQ,EACRC,UAAU,EACVC,cAAc,QACT,4BAA4B;AACnC,SAASC,eAAe,QAAQ,mBAAgB;;AAEhD;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CACjBC,IAAoC,EACpCC,cAA8B,EACd;EAChB,MAAMC,OAAO,GAAGd,KAAK,CAACe,OAAO,CAAC,MAAM;IAClC,MAAMC,OAAO,GAAGX,QAAQ,CAACY,cAAc;IACvC,OAAOD,OAAO,CAACE,cAAc,CAACN,IAAI,CAAC;IACnC;EACF,CAAC,EAAEC,cAAc,CAAC;EAElB,OAAOC,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,UAAUA,CACjBP,IAAkB,EAClBC,cAA8B,EACd;EAChB;EACA,OAAOb,KAAK,CAACe,OAAO,CAAC,MAAMV,QAAQ,CAACe,aAAa,CAACR,IAAI,CAAC,EAAEC,cAAc,CAAC;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMX,MAAM,gBAAGF,KAAK,CAACqB,UAAU,CACpC,CACE;EAAEC,oBAAoB;EAAEC,qBAAqB;EAAE,GAAGC;AAAqB,CAAC,EACxEC,GAA+B,KAC5B;EACH,MAAM;IAAEC;EAAY,CAAC,GAAGlB,eAAe,CAACc,oBAAoB,CAAC;EAC7D;AACJ;AACA;EACI,MAAMK,kBAAkB,GAAGpB,cAAc,CAAC,KAAK,CAAC;;EAEhD;AACJ;AACA;EACI,MAAMqB,OAAO,GAAGvB,QAAQ,CAACe,aAAa,CAAC,CAACS,GAAW,EAAEC,KAAa,KAAK;IACrE,IAAIA,KAAK,EAAE;MACTC,OAAO,CAACD,KAAK,CAACD,GAAG,EAAEC,KAAK,CAACE,OAAO,IAAIC,IAAI,CAACC,SAAS,CAACJ,KAAK,CAAC,CAAC;IAC5D,CAAC,MAAM;MACLC,OAAO,CAACF,GAAG,CAACA,GAAG,CAAC;IAClB;EACF,CAAC,CAAC;;EAEF;AACJ;AACA;EACI,MAAMM,OAAO,GAAGhB,UAAU,CAACI,qBAAqB,EAAE,CAACA,qBAAqB,CAAC,CAAC;;EAE1E;AACJ;AACA;EACI,MAAMa,iBAAiB,GAAGzB,UAAU,CACjC0B,KAAoB,IAAK;IACxB,SAAS;;IACT,IAAI;MACF,MAAMC,KAAK,GAAGZ,WAAW,CAACW,KAAK,CAAC;MAChC;MACA;MACAA,KAAK,CAACE,iBAAiB,CAAC,CAAC;MACzBJ,OAAO,CAACG,KAAK,EAAED,KAAK,CAAC,CAACG,OAAO,CAAC,MAAM;QAClC,SAAS;;QACT;QACAH,KAAK,CAACI,iBAAiB,CAAC,CAAC;MAC3B,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOX,KAAU,EAAE;MACnBF,OAAO,CAAC,kBAAkB,EAAEE,KAAK,CAAC;IACpC,CAAC,SAAS;MACRO,KAAK,CAACI,iBAAiB,CAAC,CAAC;MACzBd,kBAAkB,CAACe,KAAK,GAAG,KAAK;IAClC;EACF,CAAC,EACD,CAAChB,WAAW,EAAES,OAAO,CACvB,CAAC;;EAED;AACJ;AACA;AACA;AACA;EACI,SAASQ,QAAQA,CAACN,KAAY,EAAE;IAC9B,SAAS;;IACT,IAAIV,kBAAkB,CAACe,KAAK,EAAE;IAC9B;IACAf,kBAAkB,CAACe,KAAK,GAAG,IAAI;IAC/B;IACA,MAAME,QAAQ,GAAGP,KAAsB;IACvCO,QAAQ,CAACL,iBAAiB,CAAC,CAAC;IAC5B;IACAH,iBAAiB,CAACQ,QAAQ,CAAC;EAC7B;;EAEA;AACJ;AACA;EACI,MAAMC,gBAAgB,GAAGzC,iBAAiB,CACvCiC,KAAK,IAAK;IACT,SAAS;;IACTM,QAAQ,CAACN,KAAK,CAAC;EACjB,CAAC,EACD,CAACD,iBAAiB,CACpB,CAAC;;EAED;EACA;EACA;EACA;EACA;AACJ;AACA;EACI,MAAMU,OAAO,GAAGxC,UAAU,CAACiB,qBAAqB,EAAE,CAACA,qBAAqB,CAAC,CAAC;EAE1E,MAAMwB,YAAY,GAAG3C,iBAAiB,CACnCiC,KAAK,IAAK;IACT,SAAS;;IACTS,OAAO,CAACpB,WAAW,CAACW,KAAK,CAAC,EAAEA,KAAK,CAAC;IAClC;IACA;IACA;IACA;EACF,CAAC,EACD,CAACS,OAAO,CACV,CAAC;EAED,oBACEpC,IAAA,CAACP,YAAY;IACXsB,GAAG,EAAEA,GAAI;IACTuB,cAAc,EACZ/C,QAAQ,CAACgD,EAAE,KAAK,SAAS,GAAGJ,gBAAgB,GAAGE,YAChD;IACDG,WAAW,EAAEjD,QAAQ,CAACgD,EAAE,KAAK,SAAS,GAAG,KAAK,GAAG,KAAM;IAAA,GACnDzB;EAAK,CACV,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { useMemo } from 'react';
2
4
  import { VisionCameraProxy } from 'react-native-vision-camera';
3
5
  /**
@@ -33,4 +35,4 @@ function createFaceDetectorPlugin(options) {
33
35
  export function useFaceDetector(options) {
34
36
  return useMemo(() => createFaceDetectorPlugin(options), [options]);
35
37
  }
36
- //# sourceMappingURL=FaceDetector.mjs.map
38
+ //# sourceMappingURL=FaceDetector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","VisionCameraProxy","createFaceDetectorPlugin","options","plugin","initFrameProcessorPlugin","Error","detectFaces","frame","call","useFaceDetector"],"sourceRoot":"../../src","sources":["FaceDetector.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,iBAAiB,QAAoB,4BAA4B;AA+H1E;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,wBAAwBA,CAC/BC,OAA8B,EACV;EACpB,MAAMC,MAAM,GAAGH,iBAAiB,CAACI,wBAAwB,CAAC,aAAa,EAAE;IACvE,GAAGF;EACL,CAAC,CAAC;EAEF,IAAI,CAACC,MAAM,EAAE;IACX,MAAM,IAAIE,KAAK,CAAC,sDAAsD,CAAC;EACzE;EAEA,OAAO;IACLC,WAAW,EAAGC,KAAY,IAAa;MACrC,SAAS;;MACT;MACA,OAAOJ,MAAM,CAACK,IAAI,CAACD,KAAK,CAAC;IAC3B;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAC7BP,OAA8B,EACV;EACpB,OAAOH,OAAO,CAAC,MAAME,wBAAwB,CAACC,OAAO,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;AACpE","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { NativeModules, Platform } from 'react-native';
2
4
  const LINKING_ERROR = `The package 'vision-camera-face-detection' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
3
5
  ios: "- You have run 'pod install'\n",
@@ -14,4 +16,4 @@ export function initTensor(modelPath, count) {
14
16
  export function detectFromBase64(imageString) {
15
17
  return VisionCameraFaceDetectionModule.detectFromBase64(imageString);
16
18
  }
17
- //# sourceMappingURL=Tensor.mjs.map
19
+ //# sourceMappingURL=Tensor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","VisionCameraFaceDetectionModule","Proxy","get","Error","initTensor","modelPath","count","detectFromBase64","imageString"],"sourceRoot":"../../src","sources":["Tensor.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,uFAAuF,GACvFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,+BAA+B,GACnCN,aAAa,CAACM,+BAA+B,GACzCN,aAAa,CAACM,+BAA+B,GAC7C,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEP,OAAO,SAASQ,UAAUA,CAACC,SAAiB,EAAEC,KAAc,EAAmB;EAC7E,OAAON,+BAA+B,CAACI,UAAU,CAACC,SAAS,EAAEC,KAAK,CAAC;AACrE;AAEA,OAAO,SAASC,gBAAgBA,CAC9BC,WAAmB,EACO;EAC1B,OAAOR,+BAA+B,CAACO,gBAAgB,CAACC,WAAW,CAAC;AACtE","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ export * from "./Camera.js";
4
+ export * from "./FaceDetector.js";
5
+ export * from "./Tensor.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,cAAc,aAAU;AACxB,cAAc,mBAAgB;AAC9B,cAAc,aAAU","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../src/Camera.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,MAAM,IAAI,YAAY,EAGvB,MAAM,4BAA4B,CAAC;AAUpC,OAAO,KAAK,EACV,WAAW,EACX,KAAK,EAEN,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AASjE,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AA4C1E;;;;;GAKG;AACH,eAAO,MAAM,MAAM;2BA/CM,oBAAoB;2BACpB,YAAY;oDA+JpC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FaceDetector.d.ts","sourceRoot":"","sources":["../../../../src/FaceDetector.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAE3E,KAAK,kBAAkB,GAAG;IACxB;;;;OAIG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;CACvC,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,WAAW,IAAI;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,mBAAmB,EAAE,KAAK,EAAE,CAAC;IAC7B,iBAAiB,EAAE,KAAK,EAAE,CAAC;IAC3B,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,WAAW,EAAE,KAAK,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,KAAK,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAEtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE7B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4BD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,kBAAkB,CAEpB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tensor.d.ts","sourceRoot":"","sources":["../../../../src/Tensor.ts"],"names":[],"mappings":"AAoBA,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { Camera as VisionCamera } from 'react-native-vision-camera';
3
+ import type { CameraProps, Frame } from 'react-native-vision-camera';
4
+ import type { Face, FaceDetectionOptions } from './FaceDetector';
5
+ type CallbackType = (faces: Face[], frame: Frame) => void | Promise<void>;
6
+ /**
7
+ * Vision camera wrapper
8
+ *
9
+ * @param {ComponentType} props Camera + face detection props
10
+ * @returns
11
+ */
12
+ export declare const Camera: React.ForwardRefExoticComponent<{
13
+ faceDetectionOptions?: FaceDetectionOptions;
14
+ faceDetectionCallback: CallbackType;
15
+ } & CameraProps & React.RefAttributes<VisionCamera>>;
16
+ export {};
17
+ //# sourceMappingURL=Camera.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../src/Camera.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,MAAM,IAAI,YAAY,EAGvB,MAAM,4BAA4B,CAAC;AAUpC,OAAO,KAAK,EACV,WAAW,EACX,KAAK,EAEN,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AASjE,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AA4C1E;;;;;GAKG;AACH,eAAO,MAAM,MAAM;2BA/CM,oBAAoB;2BACpB,YAAY;oDA+JpC,CAAC"}
@@ -0,0 +1,122 @@
1
+ import { type Frame } from 'react-native-vision-camera';
2
+ type FaceDetectorPlugin = {
3
+ /**
4
+ * Detect faces on frame
5
+ *
6
+ * @param {Frame} frame Frame to detect faces
7
+ */
8
+ detectFaces: (frame: Frame) => Face[];
9
+ };
10
+ type Point = {
11
+ x: number;
12
+ y: number;
13
+ };
14
+ export interface Face {
15
+ pitchAngle: number;
16
+ rollAngle: number;
17
+ yawAngle: number;
18
+ bounds: Bounds;
19
+ leftEyeOpenProbability: number;
20
+ rightEyeOpenProbability: number;
21
+ smilingProbability: number;
22
+ contours: Contours;
23
+ landmarks: Landmarks;
24
+ data: any;
25
+ }
26
+ export interface Bounds {
27
+ width: number;
28
+ height: number;
29
+ x: number;
30
+ y: number;
31
+ }
32
+ export interface Contours {
33
+ FACE: Point[];
34
+ LEFT_EYEBROW_TOP: Point[];
35
+ LEFT_EYEBROW_BOTTOM: Point[];
36
+ RIGHT_EYEBROW_TOP: Point[];
37
+ RIGHT_EYEBROW_BOTTOM: Point[];
38
+ LEFT_EYE: Point[];
39
+ RIGHT_EYE: Point[];
40
+ UPPER_LIP_TOP: Point[];
41
+ UPPER_LIP_BOTTOM: Point[];
42
+ LOWER_LIP_TOP: Point[];
43
+ LOWER_LIP_BOTTOM: Point[];
44
+ NOSE_BRIDGE: Point[];
45
+ NOSE_BOTTOM: Point[];
46
+ LEFT_CHEEK: Point[];
47
+ RIGHT_CHEEK: Point[];
48
+ }
49
+ export interface Landmarks {
50
+ LEFT_CHEEK: Point;
51
+ LEFT_EAR: Point;
52
+ LEFT_EYE: Point;
53
+ MOUTH_BOTTOM: Point;
54
+ MOUTH_LEFT: Point;
55
+ MOUTH_RIGHT: Point;
56
+ NOSE_BASE: Point;
57
+ RIGHT_CHEEK: Point;
58
+ RIGHT_EAR: Point;
59
+ RIGHT_EYE: Point;
60
+ }
61
+ export interface FaceDetectionOptions {
62
+ /**
63
+ * Favor speed or accuracy when detecting faces.
64
+ *
65
+ * @default 'fast'
66
+ */
67
+ performanceMode?: 'fast' | 'accurate';
68
+ /**
69
+ * Whether to attempt to identify facial 'landmarks': eyes, ears, nose, cheeks, mouth, and so on.
70
+ *
71
+ * @default 'none'
72
+ */
73
+ landmarkMode?: 'none' | 'all';
74
+ /**
75
+ * Whether to detect the contours of facial features. Contours are detected for only the most prominent face in an image.
76
+ *
77
+ * @default 'none'
78
+ */
79
+ contourMode?: 'none' | 'all';
80
+ /**
81
+ * Whether or not to classify faces into categories such as 'smiling', and 'eyes open'.
82
+ *
83
+ * @default 'none'
84
+ */
85
+ classificationMode?: 'none' | 'all';
86
+ /**
87
+ * Sets the smallest desired face size, expressed as the ratio of the width of the head to width of the image.
88
+ *
89
+ * @default 0.15
90
+ */
91
+ minFaceSize?: number;
92
+ /**
93
+ * Whether or not to assign faces an ID, which can be used to track faces across images.
94
+ *
95
+ * Note that when contour detection is enabled, only one face is detected, so face tracking doesn't produce useful results. For this reason, and to improve detection speed, don't enable both contour detection and face tracking.
96
+ *
97
+ * @default false
98
+ */
99
+ trackingEnabled?: boolean;
100
+ /**
101
+ * Should auto scale face bounds, contour and landmarks on native side?
102
+ * This option should be disabled if you want to draw on frame using `Skia Frame Processor`.
103
+ * See [this](https://github.com/luicfrr/react-native-vision-camera-face-detector/issues/30#issuecomment-2058805546) and [this](https://github.com/luicfrr/react-native-vision-camera-face-detector/issues/35) for more details.
104
+ *
105
+ * @default false
106
+ */
107
+ autoScale?: boolean;
108
+ /**
109
+ * for enable/disable tensorflow lite logic, just face detection
110
+ */
111
+ enableTensor?: boolean;
112
+ }
113
+ /**
114
+ * Use an instance of face detector plugin.
115
+ *
116
+ * @param {FaceDetectionOptions | undefined} options Detection options
117
+ * @returns {FaceDetectorPlugin} Memoized plugin instance that will be
118
+ * destroyed once the component using `useFaceDetector()` unmounts.
119
+ */
120
+ export declare function useFaceDetector(options?: FaceDetectionOptions): FaceDetectorPlugin;
121
+ export {};
122
+ //# sourceMappingURL=FaceDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FaceDetector.d.ts","sourceRoot":"","sources":["../../../../src/FaceDetector.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAE3E,KAAK,kBAAkB,GAAG;IACxB;;;;OAIG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;CACvC,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,WAAW,IAAI;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,mBAAmB,EAAE,KAAK,EAAE,CAAC;IAC7B,iBAAiB,EAAE,KAAK,EAAE,CAAC;IAC3B,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,WAAW,EAAE,KAAK,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,KAAK,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAEtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE7B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4BD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,kBAAkB,CAEpB"}
@@ -0,0 +1,8 @@
1
+ export declare function initTensor(modelPath: string, count?: number): Promise<string>;
2
+ export declare function detectFromBase64(imageString: string): Promise<DetectBas64Type>;
3
+ export type DetectBas64Type = {
4
+ base64: string;
5
+ data: any;
6
+ message: string;
7
+ };
8
+ //# sourceMappingURL=Tensor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tensor.d.ts","sourceRoot":"","sources":["../../../../src/Tensor.ts"],"names":[],"mappings":"AAoBA,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './Camera';
2
+ export * from './FaceDetector';
3
+ export * from './Tensor';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,16 +1,20 @@
1
1
  {
2
2
  "name": "vision-camera-face-detection",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "Plugin Face Detection for Vision Camera 4",
5
5
  "source": "./src/index.tsx",
6
- "main": "./lib/commonjs/index.cjs",
7
- "module": "./lib/module/index.mjs",
8
- "types": "./lib/typescript/src/index.d.ts",
6
+ "main": "./lib/commonjs/index.js",
7
+ "module": "./lib/module/index.js",
9
8
  "exports": {
10
9
  ".": {
11
- "types": "./lib/typescript/src/index.d.ts",
12
- "import": "./lib/module/index.mjs",
13
- "require": "./lib/commonjs/index.cjs"
10
+ "import": {
11
+ "types": "./lib/typescript/module/src/index.d.ts",
12
+ "default": "./lib/module/index.js"
13
+ },
14
+ "require": {
15
+ "types": "./lib/typescript/commonjs/src/index.d.ts",
16
+ "default": "./lib/commonjs/index.js"
17
+ }
14
18
  }
15
19
  },
16
20
  "files": [
@@ -34,7 +38,7 @@
34
38
  "scripts": {
35
39
  "example": "yarn workspace vision-camera-face-detection-example",
36
40
  "test": "jest",
37
- "typecheck": "tsc --noEmit",
41
+ "typecheck": "tsc",
38
42
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
39
43
  "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
40
44
  "prepare": "bob build",
@@ -73,9 +77,9 @@
73
77
  "jest": "^29.7.0",
74
78
  "prettier": "^3.0.3",
75
79
  "react": "18.2.0",
76
- "react-native": "0.74.3",
77
- "react-native-builder-bob": "^0.25.0",
78
- "react-native-vision-camera": "4.5.0",
80
+ "react-native": "0.74.5",
81
+ "react-native-builder-bob": "^0.29.1",
82
+ "react-native-vision-camera": "4.5.1",
79
83
  "react-native-worklets-core": "1.3.3",
80
84
  "release-it": "^15.0.0",
81
85
  "turbo": "^1.10.7",
@@ -173,7 +177,8 @@
173
177
  [
174
178
  "typescript",
175
179
  {
176
- "project": "tsconfig.build.json"
180
+ "project": "tsconfig.build.json",
181
+ "esm": true
177
182
  }
178
183
  ]
179
184
  ]
@@ -181,6 +186,6 @@
181
186
  "create-react-native-library": {
182
187
  "type": "module-legacy",
183
188
  "languages": "kotlin-swift",
184
- "version": "0.38.1"
189
+ "version": "0.40.0"
185
190
  }
186
191
  }
package/src/Camera.tsx CHANGED
@@ -182,12 +182,12 @@ export const Camera = React.forwardRef(
182
182
 
183
183
  return (
184
184
  <VisionCamera
185
- {...props}
186
185
  ref={ref}
187
186
  frameProcessor={
188
187
  Platform.OS === 'android' ? processorAndroid : processorIOS
189
188
  }
190
189
  pixelFormat={Platform.OS === 'android' ? 'yuv' : 'rgb'}
190
+ {...props}
191
191
  />
192
192
  );
193
193
  }
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Platform","Camera","VisionCamera","useFrameProcessor","Worklets","useRunOnJS","useSharedValue","useFaceDetector","jsx","_jsx","useWorklet","func","dependencyList","worklet","useMemo","context","defaultContext","createRunAsync","useRunInJS","createRunOnJS","forwardRef","faceDetectionOptions","faceDetectionCallback","props","ref","detectFaces","isAsyncContextBusy","logOnJs","log","error","console","message","JSON","stringify","runInJs","runOnAsyncContext","frame","faces","incrementRefCount","finally","decrementRefCount","value","runAsync","internal","processorAndroid","runOnJs","processorIOS","frameProcessor","OS","pixelFormat"],"sourceRoot":"../../src","sources":["Camera.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["useMemo","VisionCameraProxy","createFaceDetectorPlugin","options","plugin","initFrameProcessorPlugin","Error","detectFaces","frame","call","useFaceDetector"],"sourceRoot":"../../src","sources":["FaceDetector.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,iBAAiB,QAAoB,4BAA4B;AA+H1E;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,wBAAwBA,CAC/BC,OAA8B,EACV;EACpB,MAAMC,MAAM,GAAGH,iBAAiB,CAACI,wBAAwB,CAAC,aAAa,EAAE;IACvE,GAAGF;EACL,CAAC,CAAC;EAEF,IAAI,CAACC,MAAM,EAAE;IACX,MAAM,IAAIE,KAAK,CAAC,sDAAsD,CAAC;EACzE;EAEA,OAAO;IACLC,WAAW,EAAGC,KAAY,IAAa;MACrC,SAAS;;MACT;MACA,OAAOJ,MAAM,CAACK,IAAI,CAACD,KAAK,CAAC;IAC3B;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAC7BP,OAA8B,EACV;EACpB,OAAOH,OAAO,CAAC,MAAME,wBAAwB,CAACC,OAAO,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;AACpE","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","VisionCameraFaceDetectionModule","Proxy","get","Error","initTensor","modelPath","count","detectFromBase64","imageString"],"sourceRoot":"../../src","sources":["Tensor.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,uFAAuF,GACvFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,+BAA+B,GACnCN,aAAa,CAACM,+BAA+B,GACzCN,aAAa,CAACM,+BAA+B,GAC7C,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEP,OAAO,SAASQ,UAAUA,CAACC,SAAiB,EAAEC,KAAc,EAAmB;EAC7E,OAAON,+BAA+B,CAACI,UAAU,CAACC,SAAS,EAAEC,KAAK,CAAC;AACrE;AAEA,OAAO,SAASC,gBAAgBA,CAC9BC,WAAmB,EACO;EAC1B,OAAOR,+BAA+B,CAACO,gBAAgB,CAACC,WAAW,CAAC;AACtE","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- export * from "./Camera.mjs";
2
- export * from "./FaceDetector.mjs";
3
- export * from "./Tensor.mjs";
4
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,cAAU;AACxB,cAAc,oBAAgB;AAC9B,cAAc,cAAU","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../src/Camera.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,MAAM,IAAI,YAAY,EAGvB,MAAM,4BAA4B,CAAC;AAUpC,OAAO,KAAK,EACV,WAAW,EACX,KAAK,EAEN,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AASjE,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AA4C1E;;;;;GAKG;AACH,eAAO,MAAM,MAAM;2BA/CM,oBAAoB;2BACpB,YAAY;oDA+JpC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FaceDetector.d.ts","sourceRoot":"","sources":["../../../src/FaceDetector.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAE3E,KAAK,kBAAkB,GAAG;IACxB;;;;OAIG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;CACvC,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,WAAW,IAAI;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,mBAAmB,EAAE,KAAK,EAAE,CAAC;IAC7B,iBAAiB,EAAE,KAAK,EAAE,CAAC;IAC3B,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,WAAW,EAAE,KAAK,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,KAAK,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAEtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE7B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4BD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,kBAAkB,CAEpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tensor.d.ts","sourceRoot":"","sources":["../../../src/Tensor.ts"],"names":[],"mappings":"AAoBA,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC"}
File without changes
File without changes
File without changes