Aspose.Imaging Cloud Logo

ობიექტების ამოცნობა არის კომპიუტერული ტექნოლოგია, რომელიც დაკავშირებულია კომპიუტერულ ხედვასა და გამოსახულების დამუშავებასთან, რომელიც ეხება გარკვეული კლასის სემანტიკური ობიექტების (როგორიცაა ადამიანები, შენობები ან მანქანები) გამოვლენას ციფრულ სურათებსა და ვიდეოებში. თუ თქვენ გჭირდებათ პროგრამულად შეასრულოთ ობიექტის ამოცნობა Cloud API-ს გამოყენებით, მაშინ Aspose.Imaging Cloud API-ები შესანიშნავი არჩევანია. ჩვენ ასევე შევიმუშავეთ ენის სპეციფიკური SDK-ები, რათა ხელი შევუწყოთ ჩვენს მომხმარებლებს. ასე რომ, Aspose.Imaging Cloud Java SDK არის ეფექტური არჩევანი Java-ს გამოყენებით ობიექტების ამოცნობისთვის.

ბოლო გამოშვების ვერსიებში, ჩვენ ჩავრთეთ ობიექტის ამოცნობის ფუნქცია ჩვენს SDK-ებში და ამ ფუნქციის დახმარებით მომხმარებლებს შეუძლიათ ამოიცნონ ობიექტების საზღვრები შეყვანილ სურათზე, მათი ეტიკეტებისა და ალბათობების შესაბამისად. API ამჟამად მხარს უჭერს 3 რასტრული გამოსახულების ფორმატს (BMP, JPG და JPEG2000) და ერთჯერადი გასროლის დეტექტორი (SSD) არის აღმოჩენის მეთოდი ობიექტების ამოცნობისთვის. მიუხედავად ამისა, ჩვენ ვგეგმავთ რამდენიმე სხვა მეთოდის და გამოსახულების ფორმატის ინტეგრირებას ჩვენს შემდგომ გამოშვებებში. მას შემდეგ, რაც ოპერაცია შესრულდება API-ს საშუალებით, ჩვენ შეგვიძლია მივიღოთ JSON ობიექტი აღმოჩენილი ობიექტის საზღვრებით, ლეიბლებით და ქულებით ან შედეგის სურათი მასზე ობიექტების საზღვრებით და ლეიბლებით. ამჟამად შეგიძლიათ იდენტიფიციროთ ისეთი ობიექტები, როგორიცაა ადამიანი, ველოსიპედი, მანქანა, კატა, ძაღლი, ცხენი და ა.შ. დამატებითი ინფორმაციისთვის შეგიძლიათ ეწვიოთ შემდეგ ბმულს ხელმისაწვდომი ეტიკეტების სიაში.

აღმოაჩინე ობიექტები და მონიშნეთ სურათზე

არსებობს ორი ვარიანტი გამოსახულების შიგნით ობიექტების აღმოსაჩენად, ანუ შეასრულოს ოპერაცია სურათზე საცავში ან შეასრულოს ოპერაცია სურათზე გადაცემულ მოთხოვნის სხეულში.

სურათების დამუშავება 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);
}
წყაროს ფაილი ობიექტის აღმოჩენისთვის

სურათი 1: - წყაროს ფაილი ობიექტის აღმოჩენისთვის

შედეგიანი სურათი აღმოჩენილი ობიექტებით

სურათი 2: - შედეგიანი ფაილი აღიარებული ობიექტებით

სურათების დამუშავება შენახვის გარეშე

გამოსახულების დამუშავების 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);
}
შეიტანეთ სურათი ცხენით

სურათი 3: - შეიყვანეთ სურათი გაშვებული ცხენით

სურათზე აღმოჩენილი ცხენის ობიექტი

სურათი 4: - ცხენი აღმოჩენილია 98% ქულით

დასკვნა

ამ სტატიაში ჩვენ შევისწავლეთ ობიექტების ამოცნობასთან დაკავშირებული შესაძლებლობები Java SDK-ის გამოყენებით. SDK იმდენად საოცარია, რომ მას შეუძლია ზუსტად განსაზღვროს მრავალი ობიექტი ერთ მცდელობაში. მომხმარებლების შემდგომი გასაადვილებლად, ის საშუალებას აძლევს მათ მონიშნონ ობიექტები და დაასახელონ ისინი შესაბამისად. თუ API-ს გამოყენებისას რაიმე პრობლემას წააწყდებით, გთხოვთ, მოგერიდებათ დაგვიკავშირდეთ [პროდუქტის მხარდაჭერის უფასო ფორუმის] მეშვეობით 3.

დაკავშირებული სტატიები

ჩვენ გირჩევთ ეწვიოთ შემდეგ ბმულებს, რომ გაეცნოთ: