โลโก้ Aspose.Imaging Cloud

การตรวจจับวัตถุเป็นเทคโนโลยีคอมพิวเตอร์ที่เกี่ยวข้องกับการมองเห็นด้วยคอมพิวเตอร์และการประมวลผลภาพซึ่งเกี่ยวข้องกับการตรวจจับอินสแตนซ์ของวัตถุที่มีความหมายในระดับหนึ่ง (เช่น มนุษย์ อาคาร หรือรถยนต์) ในรูปภาพและวิดีโอดิจิทัล ในกรณีที่คุณจำเป็นต้องดำเนินการตรวจจับวัตถุโดยใช้ Cloud API แบบโปรแกรม Aspose.Imaging Cloud APIs ถือเป็นตัวเลือกที่สมบูรณ์แบบ นอกจากนี้ เรายังพัฒนา SDK เฉพาะภาษาเพื่ออำนวยความสะดวกแก่ลูกค้าของเรา ดังนั้น Aspose.Imaging Cloud Java SDK จึงเป็นตัวเลือกที่เหมาะสมสำหรับการจดจำวัตถุโดยใช้ Java

ในเวอร์ชันที่วางจำหน่ายล่าสุด เราได้รวมฟีเจอร์ตรวจจับวัตถุไว้ใน SDK ของเรา และด้วยความช่วยเหลือของฟีเจอร์นี้ ผู้ใช้สามารถตรวจจับขอบเขตของวัตถุบนรูปภาพอินพุตได้ ตราบใดที่มีป้ายกำกับและความน่าจะเป็นของวัตถุนั้นๆ ปัจจุบัน API รองรับรูปแบบภาพแรสเตอร์ 3 รูปแบบ (BMP, JPG และ JPEG2000) และ Single Shot Detector (SSD) เป็นวิธีการตรวจจับเพื่อจดจำวัตถุ อย่างไรก็ตาม เรากำลังวางแผนที่จะรวมวิธีการและรูปแบบภาพอื่นๆ หลายวิธีในรุ่นต่อๆ ไป เมื่อดำเนินการผ่าน API แล้ว เราจะได้วัตถุ JSON ที่มีขอบเขตของวัตถุที่ตรวจพบ ป้ายกำกับ และคะแนน หรือภาพผลลัพธ์ที่มีขอบเขตของวัตถุและป้ายกำกับอยู่ด้วย ปัจจุบัน คุณสามารถระบุวัตถุ เช่น บุคคล จักรยาน รถยนต์ แมว สุนัข ม้า เป็นต้น คุณอาจลองไปที่ลิงก์ต่อไปนี้เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับ รายการป้ายกำกับที่พร้อมใช้งาน

ตรวจจับวัตถุและเน้นบนภาพ

มีสองตัวเลือกในการตรวจจับวัตถุภายในรูปภาพ เช่น ดำเนินการกับรูปภาพในที่จัดเก็บ หรือดำเนินการกับภาพที่ส่งมาในเนื้อหาคำขอ

ประมวลผลภาพจากระบบจัดเก็บข้อมูลบนคลาวด์

วิธีแรกคาดหวังให้คุณอัปโหลดรูปภาพไปยัง Cloud Storage ก่อน จากนั้นส่งชื่อรูปภาพใน URL ของ API หลังจากตรวจจับวัตถุได้แล้ว API จะส่งคืนรูปภาพที่ได้ในคำตอบ

นอกจากนี้ เรายังเข้าใจด้วยว่าการจัดเก็บข้อมูลบนคลาวด์เป็นวิธีที่รวดเร็วและง่ายดายในการจัดเก็บและเข้าถึงไฟล์ ขั้นตอนการตรวจจับวัตถุสามารถดำเนินการได้อย่างง่ายดายบนรูปภาพที่จัดเก็บบนคลาวด์สตอเรจ และไฟล์ผลลัพธ์จะถูกส่งกลับในส่วนหัวการตอบสนอง ในคำสั่ง cURL ต่อไปนี้ การดำเนินการตรวจจับวัตถุจะดำเนินการบนรูปภาพที่มีวัตถุหลายรายการ โดยระบุอาร์กิวเมนต์ให้ใช้ Single Shot Detector (SSD) เป็นแบบจำลองการตรวจจับ คงค่าเกณฑ์ไว้ที่ 50 รวมป้ายกำกับของวัตถุในรูปภาพผลลัพธ์ และระบุคะแนนการตรวจจับวัตถุด้วย นอกจากนี้ เราได้ระบุม้าลาย ยีราฟ ม้า เป็นรายการป้ายกำกับที่คั่นด้วยจุลภาคเทียบกับอาร์กิวเมนต์ allowedLabels อย่างไรก็ตาม หากคุณต้องการบันทึกไฟล์ผลลัพธ์บนระบบภายในเครื่อง คุณอาจลองใช้ -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

ตัวอย่างโค้ด Java

 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

ตัวอย่างโค้ด Java

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 โปรดติดต่อเราผ่าน ฟอรัมสนับสนุนผลิตภัณฑ์ฟรี

บทความที่เกี่ยวข้อง

เราขอแนะนำให้เยี่ยมชมลิงค์ต่อไปนี้เพื่อเรียนรู้เกี่ยวกับ: