
clarifai2.dto.prediction.Detection Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Clarifai Java API Client
The newest version!
package clarifai2.dto.prediction;
import clarifai2.internal.grpc.api.ConceptOuterClass;
import clarifai2.internal.grpc.api.DataOuterClass;
import clarifai2.dto.input.Crop;
import clarifai2.internal.grpc.api.FaceOuterClass;
import com.google.auto.value.AutoValue;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings("NullableProblems")
@AutoValue
public abstract class Detection extends Prediction {
Detection() {} // AutoValue instances only
@NotNull public abstract Crop crop();
@NotNull public abstract List concepts();
@NotNull public abstract List ageAppearances();
@NotNull public abstract List genderAppearances();
@NotNull public abstract List multiculturalAppearances();
@NotNull public static Detection deserialize(DataOuterClass.Region detection) {
Crop crop = Crop.deserialize(detection.getRegionInfo().getBoundingBox());
List concepts = new ArrayList<>();
for (ConceptOuterClass.Concept concept : detection.getData().getConceptsList()) {
concepts.add(Concept.deserialize(concept));
}
List ageAppearanceConcepts = new ArrayList<>();
List genderAppearanceConcepts = new ArrayList<>();
List multiculturalAppearanceConcepts = new ArrayList<>();
FaceOuterClass.Face face = detection.getData().getFace();
if (face != null) {
for (ConceptOuterClass.Concept concept : face.getAgeAppearance().getConceptsList()) {
ageAppearanceConcepts.add(Concept.deserialize(concept));
}
for (ConceptOuterClass.Concept concept : face.getGenderAppearance().getConceptsList()) {
genderAppearanceConcepts.add(Concept.deserialize(concept));
}
for (ConceptOuterClass.Concept concept : face.getMulticulturalAppearance().getConceptsList()) {
multiculturalAppearanceConcepts.add(Concept.deserialize(concept));
}
}
return new AutoValue_Detection(
crop, concepts, ageAppearanceConcepts, genderAppearanceConcepts, multiculturalAppearanceConcepts
);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy