use of com.google.cloud.aiplatform.v1.schema.predict.params.ImageObjectDetectionPredictionParams in project java-aiplatform by googleapis.
the class PredictImageObjectDetectionSample method predictImageObjectDetection.
static void predictImageObjectDetection(String project, String fileName, String endpointId) throws IOException {
PredictionServiceSettings settings = PredictionServiceSettings.newBuilder().setEndpoint("us-central1-aiplatform.googleapis.com:443").build();
// the "close" method on the client to safely clean up any remaining background resources.
try (PredictionServiceClient predictionServiceClient = PredictionServiceClient.create(settings)) {
String location = "us-central1";
EndpointName endpointName = EndpointName.of(project, location, endpointId);
byte[] contents = Base64.encodeBase64(Files.readAllBytes(Paths.get(fileName)));
String content = new String(contents, StandardCharsets.UTF_8);
ImageObjectDetectionPredictionParams params = ImageObjectDetectionPredictionParams.newBuilder().setConfidenceThreshold((float) (0.5)).setMaxPredictions(5).build();
ImageObjectDetectionPredictionInstance instance = ImageObjectDetectionPredictionInstance.newBuilder().setContent(content).build();
List<Value> instances = new ArrayList<>();
instances.add(ValueConverter.toValue(instance));
PredictResponse predictResponse = predictionServiceClient.predict(endpointName, instances, ValueConverter.toValue(params));
System.out.println("Predict Image Object Detection Response");
System.out.format("\tDeployed Model Id: %s\n", predictResponse.getDeployedModelId());
System.out.println("Predictions");
for (Value prediction : predictResponse.getPredictionsList()) {
ImageObjectDetectionPredictionResult.Builder resultBuilder = ImageObjectDetectionPredictionResult.newBuilder();
ImageObjectDetectionPredictionResult result = (ImageObjectDetectionPredictionResult) ValueConverter.fromValue(resultBuilder, prediction);
for (int i = 0; i < result.getIdsCount(); i++) {
System.out.printf("\tDisplay name: %s\n", result.getDisplayNames(i));
System.out.printf("\tConfidences: %f\n", result.getConfidences(i));
System.out.printf("\tIDs: %d\n", result.getIds(i));
System.out.printf("\tBounding boxes: %s\n", result.getBboxes(i));
}
}
}
}
Aggregations