ობიექტების ამოცნობა არის კომპიუტერული ტექნოლოგია, რომელიც დაკავშირებულია კომპიუტერულ ხედვასა და გამოსახულების დამუშავებასთან, რომელიც ეხება გარკვეული კლასის სემანტიკური ობიექტების (როგორიცაა ადამიანები, შენობები ან მანქანები) გამოვლენას ციფრულ სურათებსა და ვიდეოებში. თუ თქვენ გჭირდებათ პროგრამულად შეასრულოთ ობიექტის ამოცნობა Cloud API-ს გამოყენებით, მაშინ Aspose.Imaging Cloud API-ები შესანიშნავი არჩევანია. ჩვენ ასევე შევიმუშავეთ ენის სპეციფიკური SDK-ები, რათა ხელი შევუწყოთ ჩვენს მომხმარებლებს. ასე რომ, Aspose.Imaging Cloud Java SDK არის ეფექტური არჩევანი Java-ს გამოყენებით ობიექტების ამოცნობისთვის.
ბოლო გამოშვების ვერსიებში, ჩვენ ჩავრთეთ ობიექტის ამოცნობის ფუნქცია ჩვენს SDK-ებში და ამ ფუნქციის დახმარებით მომხმარებლებს შეუძლიათ ამოიცნონ ობიექტების საზღვრები შეყვანილ სურათზე, მათი ეტიკეტებისა და ალბათობების შესაბამისად. API ამჟამად მხარს უჭერს 3 რასტრული გამოსახულების ფორმატს (BMP, JPG და JPEG2000) და ერთჯერადი გასროლის დეტექტორი (SSD) არის აღმოჩენის მეთოდი ობიექტების ამოცნობისთვის. მიუხედავად ამისა, ჩვენ ვგეგმავთ რამდენიმე სხვა მეთოდის და გამოსახულების ფორმატის ინტეგრირებას ჩვენს შემდგომ გამოშვებებში. მას შემდეგ, რაც ოპერაცია შესრულდება API-ს საშუალებით, ჩვენ შეგვიძლია მივიღოთ JSON ობიექტი აღმოჩენილი ობიექტის საზღვრებით, ლეიბლებით და ქულებით ან შედეგის სურათი მასზე ობიექტების საზღვრებით და ლეიბლებით. ამჟამად შეგიძლიათ იდენტიფიციროთ ისეთი ობიექტები, როგორიცაა ადამიანი, ველოსიპედი, მანქანა, კატა, ძაღლი, ცხენი და ა.შ. დამატებითი ინფორმაციისთვის შეგიძლიათ ეწვიოთ შემდეგ ბმულს ხელმისაწვდომი ეტიკეტების სიაში.
აღმოაჩინე ობიექტები და მონიშნეთ სურათზე
არსებობს ორი ვარიანტი გამოსახულების შიგნით ობიექტების აღმოსაჩენად, ანუ შეასრულოს ოპერაცია სურათზე საცავში ან შეასრულოს ოპერაცია სურათზე გადაცემულ მოთხოვნის სხეულში.
- მიიღეთ /imaging/ai/objectdetection/{name}/visualbounds
- POST /imaging/ai/object detection/visualbounds
სურათების დამუშავება Cloud Storage-დან
პირველი მეთოდი ელოდება, რომ თქვენ ჯერ ატვირთავთ სურათს Cloud Storage-ში და შემდეგ გადასცემთ მის სახელს API URL-ში. ობიექტის აღმოჩენის შემდეგ, API აბრუნებს მიღებულ სურათს პასუხში.
ჩვენ ასევე გვესმის, რომ ღრუბლოვანი საცავი არის ფაილების შესანახად და წვდომის სწრაფი და მარტივი გზა. ობიექტის აღმოჩენის პროცედურა ადვილად შეიძლება შესრულდეს ღრუბლოვან საცავში შენახულ სურათებზე და შედეგად ფაილი ბრუნდება პასუხის სათაურში. შემდეგ cURL ბრძანებაში, ობიექტის აღმოჩენის ოპერაცია შესრულებულია სურათზე, რომელიც შეიცავს მრავალ ობიექტს, სადაც არგუმენტები მითითებულია, რომ გამოიყენოს ერთჯერადი დარტყმის დეტექტორი (SSD), როგორც გამოვლენის მოდელი, შეინარჩუნოს ზღურბლის მნიშვნელობა 50-ზე, შეიტანოს ობიექტების ეტიკეტები შედეგად გამოსახულებაში და ასევე მიუთითეთ ობიექტის გამოვლენის ქულა. გარდა ამისა, ჩვენ დავაკონკრეტეთ ზებრა, ჟირაფი, ცხენი, როგორც მძიმით გამოყოფილი ნებადართული ეტიკეტების სია, allowLabels არგუმენტის წინააღმდეგ. მიუხედავად ამისა, თუ გსურთ შეინახოთ შედეგიანი ფაილი ლოკალურ სისტემაში, შეგიძლიათ სცადოთ გამოიყენოთ -o და მიუთითოთ ადგილი შედეგიანი ფაილისთვის.
cURL ბრძანება
curl -v "https://api.aspose.cloud/v3.0/imaging/ai/objectdetection/71ElMFUKIvL.jpg/visualbounds?method=ssd&threshold=50&includeLabel=true&includeScore=true&allowedLabels=zebra, giraffe, horse" \
-X GET \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o c:/pdftest/mydetected.jpeg
ჯავის კოდის ნაწყვეტი
public void VisualBoundsAnImageInCloud() throws Exception {
String fileName = "object_detection_example.jpg";
String method = "ssd";
int threshold = 50;
Boolean includeLabel = true;
Boolean includeScore = true;
String color = "blue";
String folder = CloudPath; // Input file is saved at the Examples folder in the storage
String storage = null; // We are using default Cloud Storage
GetVisualObjectBoundsRequest request = new GetVisualObjectBoundsRequest(getSampleImageFileName(), method, threshold, includeLabel, includeScore, color, folder, storage);
byte[] resultImage = ImagingApi.getVisualObjectBounds(request);
Path path = Paths.get(OutputFolder, "object_detection_example_out.jpg").toAbsolutePath();
Files.write(path, resultImage);
}
სურათების დამუშავება შენახვის გარეშე
გამოსახულების დამუშავების API გთავაზობთ მეორე მეთოდს (POST), სადაც შეგიძლიათ პირდაპირ გადაიტანოთ სურათი ადგილობრივი მეხსიერებიდან მოთხოვნის სხეულში. ის ასევე საშუალებას გაძლევთ შეინახოთ მიღებული სურათი Cloud Storage-ზე outPath პარამეტრის მნიშვნელობის მითითებით. თუმცა, თუ მნიშვნელობას არ მიუთითებთ, პასუხი შეიცავს სტრიმინგ სურათს.
cURL ბრძანება
curl -X POST "https://api.aspose.cloud/v3.0/imaging/ai/objectdetection/visualbounds?method=ssd&threshold=50&includeLabel=true&includeScore=true&allowedLabels=bird, cat, dog, horse, sheep, cow, elephant, bear, zebra, giraffe&color=yellow" -H "accept: application/json" -H "authorization: Bearer <jwt token>" -H "Content-Type: multipart/form-data" -d {"imageData":{}}
მოითხოვეთ URL
https://api.aspose.cloud/v3.0/imaging/ai/objectdetection/visualbounds?method=ssd&threshold=50&includeLabel=true&includeScore=true&allowedLabels=bird, cat, dog, horse, sheep, cow, elephant, bear, zebra, giraffe&color=yellow
ჯავის კოდის ნაწყვეტი
public void VisualBoundsAnImageInRequestBody() throws Exception {
String fileName = "object_detection_example.jpg";
String method = "ssd";
int threshold = 50;
Boolean includeLabel = true;
Boolean includeScore = true;
String color = null;
String outPath = null;
String storage = null; // We are using default Cloud Storage
byte[] inputStream = Files.readAllBytes(Paths.get(ExampleImagesFolder, getSampleImageFileName()));
CreateVisualObjectBoundsRequest request = new CreateVisualObjectBoundsRequest(inputStream, method, threshold, includeLabel, includeScore, color, outPath, storage);
byte[] resultImage = ImagingApi.createVisualObjectBounds(request);
Path path = Paths.get(OutputFolder, "object_detection_example_out.jpg").toAbsolutePath();
Files.write(path, resultImage);
}
დასკვნა
ამ სტატიაში ჩვენ შევისწავლეთ ობიექტების ამოცნობასთან დაკავშირებული შესაძლებლობები Java SDK-ის გამოყენებით. SDK იმდენად საოცარია, რომ მას შეუძლია ზუსტად განსაზღვროს მრავალი ობიექტი ერთ მცდელობაში. მომხმარებლების შემდგომი გასაადვილებლად, ის საშუალებას აძლევს მათ მონიშნონ ობიექტები და დაასახელონ ისინი შესაბამისად. თუ API-ს გამოყენებისას რაიმე პრობლემას წააწყდებით, გთხოვთ, მოგერიდებათ დაგვიკავშირდეთ [პროდუქტის მხარდაჭერის უფასო ფორუმის] მეშვეობით 3.
დაკავშირებული სტატიები
ჩვენ გირჩევთ ეწვიოთ შემდეგ ბმულებს, რომ გაეცნოთ: