why smilie detect not work
i get false response , but my face is smile
info:
expo 5.3.2
import React,{useState,useEffect} from 'react';
import {View,StyleSheet,Text} from 'react-native'
import {
Box,
Stack,
VStack,
Heading
} from 'native-base'
import { AntDesign } from '@expo/vector-icons';
import { Camera } from 'expo-camera';
import * as FaceDetector from 'expo-face-detector';
export default function Masuk({navigation}){
const [hasPermission, setHasPermission] = useState(null);
const [type, setType] = useState(Camera.Constants.Type.front);
const [faceData, setFaceData] = useState([]);
useEffect(() => {
(async () => {
const { status } = await Camera.requestCameraPermissionsAsync();
setHasPermission(status === 'granted');
console.log("IZIN KAMERA")
})();
}, []);
function topengerror(){
console.log("Error tolol")
}
function handleFacesDetected({faces}){
if(faces.length === 1){
setFaceData(faces);
return faceData.map((face, index) => {
console.log(face)
const eyesShut = face.rightEyeOpenProbability < 0.4 && face.leftEyeOpenProbability < 0.4;
const winking = !eyesShut && (face.rightEyeOpenProbability < 0.4 || face.leftEyeOpenProbability < 0.4);
const smiling = face.smilingProbability > 0.7;
console.log(smiling.toString());
return (
<View style={styles.faces} key={index}>
<Text style={styles.faceDesc}>Eyes Shut: {eyesShut.toString()}</Text>
<Text style={styles.faceDesc}>Winking: {winking.toString()}</Text>
<Text style={styles.faceDesc}>Smiling: {smiling.toString()}</Text>
</View>
);
});
}
else{
console.log("ga ada muka")
return (
<View style={styles.faces}>
<Text style={styles.faceDesc}>No faces :(</Text>
</View>
);
}
}
function getFaceDataView() {
if (faceData.length === 0) {
return (
<View style={styles.faces}>
<Text style={styles.faceDesc}>No faces :(</Text>
</View>
);
} else {
}
}
return(
<View style={{flex:1}}>
<AntDesign name="arrowleft" size={24} color="black"
onClick={()=>navigation.goBack()}
/>
<View style={{width:"100%",height:"100%"}}>
<Camera
type={type}
style={styles.camera}
onFacesDetected={handleFacesDetected}
onFaceDetectionError={topengerror}
faceDetectorSettings={{
mode: FaceDetector.FaceDetectorMode.fast,
detectLandmarks: FaceDetector.FaceDetectorLandmarks.none,
runClassifications: FaceDetector.FaceDetectorClassifications.none,
minDetectionInterval: 100,
tracking: true,
}}
>
</Camera>
</View>
</View>
)
}
const styles = StyleSheet.create({
camera: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
faces: {
backgroundColor: '#ffffff',
alignSelf: 'stretch',
alignItems: 'center',
justifyContent: 'center',
margin: 16
},
faceDesc: {
fontSize: 20
}
});