GSP037

Ringkasan
Cloud Vision API adalah layanan berbasis cloud yang memungkinkan Anda menganalisis gambar dan mengekstrak informasi. Cloud Vision API dapat digunakan untuk mendeteksi objek, wajah, dan teks dalam gambar. Cloud Vision API memungkinkan Anda memahami konten gambar dengan mengenkapsulasi model machine learning yang canggih dalam REST API sederhana.
Di lab ini, Anda akan mempelajari cara mengirim gambar ke Cloud Vision API dan melihatnya mendeteksi objek, wajah, dan tempat terkenal.
Tujuan
Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:
- Membuat permintaan Cloud Vision API dan memanggil API menggunakan
curl.
- Menggunakan metode deteksi label, wajah, dan tempat terkenal dari API.
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
-
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
-
Klik Activate Cloud Shell
di bagian atas Konsol Google Cloud.
-
Klik jendela berikut:
- Lanjutkan melalui jendela informasi Cloud Shell.
- Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}
gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
- Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
- (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Tugas 1. Membuat kunci API
Dalam tugas ini, Anda akan membuat kunci API untuk meneruskan URL permintaan sebagai persiapan menggunakan curl untuk mengirim permintaan ke Vision API.
-
Untuk membuat kunci API, dari Navigation menu, buka APIs & Services > Credentials di Konsol Cloud.
-
Klik Create Credentials, lalu pilih API key.

- Selanjutnya, salin kunci yang baru saja Anda buat, lalu klik Close.
Klik Periksa progres saya untuk memeriksa progres lab Anda.
Membuat Kunci API
Selanjutnya, simpan kunci tersebut ke variabel lingkungan agar Anda tidak perlu memasukkan nilai kunci API dalam setiap permintaan.
- Perbarui perintah berikut untuk mengganti teks placeholder dengan kunci API yang Anda salin, lalu jalankan perintah di Cloud Shell untuk menetapkan nilai sebagai variabel lingkungan:
export API_KEY=<YOUR_API_KEY>
Tugas 2. Mengupload gambar ke bucket Cloud Storage
Ada dua cara untuk mengirim gambar ke Cloud Vision API untuk deteksi gambar: dengan mengirimkan string gambar berenkode base64 ke API, atau meneruskan URL file yang disimpan di Cloud Storage ke API.
Lab ini menggunakan pendekatan URL Cloud Storage. Langkah pertama adalah membuat bucket Cloud Storage untuk menyimpan gambar Anda.
-
Dari Navigation menu, pilih Cloud Storage > Buckets. Di samping Buckets, klik Create.
-
Beri nama yang unik untuk bucket Anda: -bucket.
-
Setelah memberi nama bucket, klik Choose how to control access to objects.
-
Hapus centang pada kotak Enforce public access prevention on this bucket, lalu pilih tombol pilihan Fine-grained.
Semua setelan lainnya untuk bucket Anda dapat tetap menggunakan setelan default.
- Klik Create.
Mengupload gambar ke bucket Anda
- Klik kanan gambar donat berikut, lalu klik Save image as dan simpan ke komputer Anda sebagai donuts.png.

- Buka bucket yang baru saja Anda buat dan klik Upload > Upload Files, lalu pilih donuts.png, dan klik Open.

Anda akan melihat file di bucket Anda.
Sekarang Anda perlu membuat gambar ini tersedia untuk publik.
- Klik 3 titik pada gambar Anda, lalu pilih Edit access.

-
Klik Add entry, lalu masukkan data berikut:
-
Entity: Public
-
Name: allUsers
-
Access: Reader
-
Lalu klik Save.
Setelah mengupload file ke bucket, Anda siap membuat permintaan Cloud Vision API, dengan meneruskan URL gambar donat ini ke API.
Klik Periksa progres saya untuk memeriksa progres lab Anda.
Mengupload gambar ke bucket Anda
Tugas 3. Membuat permintaan
Buat file request.json di direktori utama Cloud Shell.
- Menggunakan editor kode Cloud Shell (dengan mengklik ikon pensil di panel Cloud Shell),

atau editor command line pilihan Anda (nano, vim, atau emacs), buat file request.json.
- Tempel kode berikut ke dalam file
request.json:
{
"requests": [
{
"image": {
"source": {
"gcsImageUri": "gs://{{{project_0.project_id | PROJECT_ID}}}-bucket/donuts.png"
}
},
"features": [
{
"type": "LABEL_DETECTION",
"maxResults": 10
}
]
}
]
}
- Simpan file dengan mengklik tombol Save.
Mengaktifkan Gemini Code Assist di Cloud Shell IDE
Anda dapat menggunakan Gemini Code Assist di lingkungan pengembangan terintegrasi (IDE) seperti Cloud Shell untuk menerima panduan tentang kode atau menyelesaikan masalah dengan kode Anda. Sebelum mulai menggunakan Gemini Code Assist, Anda perlu mengaktifkannya.
- Di Cloud Shell, aktifkan Gemini for Google Cloud API dengan perintah berikut:
gcloud services enable cloudaicompanion.googleapis.com
- Klik Open Editor di toolbar Cloud Shell.
Catatan: Untuk membuka Cloud Shell Editor, klik Open Editor di toolbar Cloud Shell. Anda dapat beralih antara Cloud Shell dan Editor kode dengan mengklik Open Editor atau Open Terminal, sesuai kebutuhan.
-
Di panel kiri, klik ikon Settings, lalu di tampilan Settings, cari Gemini Code Assist.
-
Temukan dan pastikan kotak centang dipilih untuk Geminicodeassist: Enable, lalu tutup Settings.
-
Klik Cloud Code - No Project di status bar di bagian bawah layar.
-
Berikan otorisasi pada plugin seperti yang ditunjukkan. Jika project tidak dipilih secara otomatis, klik Select a Google Cloud Project, lalu pilih .
-
Pastikan project Google Cloud Anda () ditampilkan dalam pesan status Cloud Code di status bar.
Tugas 4. Melakukan deteksi label
Fitur Cloud Vision API pertama yang Anda pelajari adalah deteksi label. Metode yang Anda gunakan akan menampilkan daftar label (kata) tentang konten gambar Anda.
- Di terminal Cloud Shell, jalankan perintah
curl berikut untuk memanggil Cloud Vision API dan menyimpan respons dalam file label_detection.json:
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json https://vision.googleapis.com/v1/images:annotate?key=${API_KEY} -o label_detection.json && cat label_detection.json
Respons Anda akan terlihat seperti berikut.
Output:
{
"responses": [
{
"labelAnnotations": [
{
"mid": "/m/01dk8s",
"description": "Powdered sugar",
"score": 0.9861496,
"topicality": 0.9861496
},
{
"mid": "/m/01wydv",
"description": "Beignet",
"score": 0.9565117,
"topicality": 0.9565117
},
{
"mid": "/m/02wbm",
"description": "Food",
"score": 0.9424965,
"topicality": 0.9424965
},
{
"mid": "/m/0hnyx",
"description": "Pastry",
"score": 0.8173416,
"topicality": 0.8173416
},
{
"mid": "/m/02q08p0",
"description": "Dish",
"score": 0.8076026,
"topicality": 0.8076026
},
{
"mid": "/m/01ykh",
"description": "Cuisine",
"score": 0.79036003,
"topicality": 0.79036003
},
{
"mid": "/m/03nsjgy",
"description": "Kourabiedes",
"score": 0.77726763,
"topicality": 0.77726763
},
{
"mid": "/m/06gd3r",
"description": "Angel wings",
"score": 0.73792106,
"topicality": 0.73792106
},
{
"mid": "/m/06x4c",
"description": "Sugar",
"score": 0.71921736,
"topicality": 0.71921736
},
{
"mid": "/m/01zl9v",
"description": "Zeppole",
"score": 0.7111677,
"topicality": 0.7111677
}
]
}
]
}
API dapat mengidentifikasi jenis donat spesifik ini, yakni donat gula bubuk. Keren! Untuk setiap label yang ditemukan Vision API, API ini akan menampilkan:
-
description dengan nama item.
-
score, angka dari 0—1 yang menunjukkan tingkat keyakinan bahwa deskripsi tersebut cocok dengan konten gambar.
- Nilai
mid yang dipetakan ke mid item di Pustaka Pengetahuan Google. Anda dapat menggunakan mid saat memanggil Knowledge Graph API untuk mendapatkan informasi selengkapnya tentang item tersebut.
- Di Cloud Shell Editor, buka
label_detection.json. Tindakan ini mengaktifkan Gemini Code Assist, seperti yang ditunjukkan oleh keberadaan ikon
di sudut kanan atas editor.
Untuk membantu Anda menjadi lebih produktif sekaligus meminimalkan pengalihan konteks, Gemini Code Assist menyediakan tindakan cerdas berteknologi AI langsung di editor kode. Di bagian ini, Anda memutuskan untuk meminta bantuan Gemini Code Assist dalam menjelaskan respons Cloud Vision API kepada anggota tim.
-
Klik ikon Gemini Code Assist: Smart Actions
, lalu pilih Explain this.
-
Gemini Code Assist akan membuka panel chat dengan perintah yang sudah terisi, yakni Explain this. Di kotak teks inline chat Code Assist, ganti perintah yang sudah terisi dengan perintah berikut, lalu klik Send:
You are a Machine Learning Engineer at Cymbal AI. A new team member needs help understanding this Cloud Vision API response. Explain the label_detection.json file in detail. Break down its key components and their function within the JSON code.
For the suggested improvements, don't make any changes to the file's content.
Penjelasan mendetail untuk respons Cloud Vision API dalam kode label_detection.json akan muncul di chat Gemini Code Assist.
Tugas 5. Melakukan deteksi web
Selain mendapatkan label tentang konten gambar, Cloud Vision API juga dapat melakukan penelusuran di internet untuk mendapatkan detail tambahan tentang gambar Anda. Melalui metode WebDetection API, Anda akan mendapatkan banyak data menarik:
- Daftar entity yang ditemukan di gambar Anda, berdasarkan konten dari halaman dengan gambar serupa.
- URL gambar yang cocok persis dan parsial yang ditemukan di web, beserta URL halaman tersebut.
- URL gambar serupa, seperti melakukan penelusuran balik gambar.
Untuk mencoba deteksi web, gunakan gambar beignet yang sama dan ubah satu baris di file request.json (Anda juga dapat mencoba gambar baru dan menggunakan gambar yang sama sekali berbeda).
-
Di Cloud Shell Editor, masih di direktori yang sama, buka request.json.
-
Klik ikon Gemini Code Assist: Smart Actions
di toolbar.
Selain memberikan penjelasan kode yang mendetail, Anda juga dapat menggunakan fitur Gemini Code Assist berteknologi AI untuk membuat perubahan pada kode Anda langsung di editor kode. Dalam contoh ini, Anda memutuskan untuk meminta bantuan Gemini Code Assist guna mengedit konten file request.json.
- Untuk mengedit file
request.json, tempel perintah berikut ke kolom teks inline Gemini Code Assist yang terbuka dari toolbar.
Di file request.json, perbarui daftar fitur, ubah jenisnya dari LABEL_DETECTION menjadi WEB_DETECTION.
-
Untuk meminta Gemini Code Assist mengubah kode yang sesuai, tekan ENTER.
-
Saat diminta di tampilan Gemini Diff, klik Apply all changes.
Konten file request.json sekarang akan terlihat seperti berikut.
{
"requests": [
{
"image": {
"source": {
"gcsImageUri": "gs://{{{project_0.project_id | PROJECT_ID}}}-bucket/donuts.png"
}
},
"features": [
{
"type": "WEB_DETECTION",
"maxResults": 10
}
]
}
]
}
- Di terminal Cloud Shell, jalankan perintah
curl berikut untuk memanggil Cloud Vision API:
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json https://vision.googleapis.com/v1/images:annotate?key=${API_KEY}
- Pelajari responsnya, dimulai dengan
webEntities. Berikut beberapa entity yang ditampilkan gambar ini:
{
"responses": [
{
"webDetection": {
"webEntities": [
{
"entityId": "/m/0z5n",
"score": 0.8868,
"description": "Application programming interface"
},
{
"entityId": "/m/07kg1sq",
"score": 0.3139,
"description": "Encapsulation"
},
{
"entityId": "/m/0105pbj4",
"score": 0.2713,
"description": "Google Cloud Platform"
},
{
"entityId": "/m/01hyh_",
"score": 0.2594,
"description": "Machine learning"
},
...
]
Gambar ini telah banyak digunakan dalam presentasi tentang Cloud ML API, itulah sebabnya API menemukan entity "Machine learning" dan "Google Cloud Platform".
Jika Anda memeriksa URL di bagian fullMatchingImages, partialMatchingImages, dan pagesWithMatchingImages, perhatikan bahwa banyak URL yang mengarah ke situs lab ini (keren sekali!).
Misalkan Anda ingin menemukan gambar beignet lainnya, tetapi bukan gambar yang sama persis. Di sinilah bagian visuallySimilarImages dari respons API berguna. Berikut beberapa gambar yang mirip secara visual yang ditemukan:
"visuallySimilarImages": [
{
"url": "https://media.istockphoto.com/photos/cafe-du-monde-picture-id1063530570?k=6&m=1063530570&s=612x612&w=0&h=b74EYAjlfxMw8G-G_6BW-6ltP9Y2UFQ3TjZopN-pigI="
},
{
"url": "https://s3-media2.fl.yelpcdn.com/bphoto/oid0KchdCqlSqZzpznCEoA/o.jpg"
},
{
"url": "https://s3-media1.fl.yelpcdn.com/bphoto/mgAhrlLFvXe0IkT5UMOUlw/348s.jpg"
},
...
]
Anda dapat membuka URL tersebut untuk melihat gambar serupa:



Dan sekarang Anda mungkin sangat ingin makan beignet gula bubuk (maaf!). Cara ini mirip seperti melakukan penelusuran dengan gambar di Google Gambar.
Dengan Cloud Vision, Anda dapat mengakses fungsionalitas ini dengan REST API yang mudah digunakan dan mengintegrasikannya ke dalam aplikasi Anda.
Tugas 6. Melakukan deteksi wajah
Selanjutnya, pelajari metode deteksi wajah Vision API.
Metode deteksi wajah menampilkan data tentang wajah yang ditemukan dalam gambar, termasuk ekspresi wajah dan lokasinya dalam gambar.
Mengupload gambar baru
Untuk menggunakan metode ini, upload gambar baru yang berisi wajah ke bucket Cloud Storage.
- Klik kanan gambar berikut, lalu klik Save image as, dan simpan ke komputer Anda sebagai selfie.png.

- Sekarang, upload foto tersebut ke bucket Cloud Storage Anda dengan cara yang sama seperti sebelumnya, dan sediakan untuk publik.
Klik Periksa progres saya untuk memeriksa progres lab Anda.
Mengupload gambar untuk Deteksi Wajah ke bucket Anda
Memperbarui file permintaan
-
Di Cloud Shell Editor, masih di direktori yang sama, buka request.json.
-
Klik ikon Gemini Code Assist: Smart Actions
di toolbar.
-
Untuk membantu memperbarui file request.json, tempel perintah berikut ke kolom teks inline Gemini Code Assist yang terbuka dari toolbar.
Perbarui file JSON request.json untuk mencapai tiga perubahan spesifik:
*Perbarui nilai gcsImageUri dari donuts.png menjadi selfie.png.
*Ganti array fitur yang ada dengan dua jenis fitur baru: FACE_DETECTION dan LANDMARK_DETECTION.
*Hindari hasil maxResults.
-
Untuk meminta Gemini Code Assist mengubah kode yang sesuai, tekan ENTER.
-
Saat diminta di tampilan Gemini Diff, klik Apply all changes.
File permintaan yang telah diperbarui akan terlihat seperti berikut:
{
"requests": [
{
"image": {
"source": {
"gcsImageUri": "gs://{{{project_0.project_id | PROJECT_ID}}}-bucket/selfie.png"
}
},
"features": [
{
"type": "FACE_DETECTION"
},
{
"type": "LANDMARK_DETECTION"
}
]
}
]
}
Memanggil Vision API dan mengurai respons
- Di terminal Cloud Shell, jalankan perintah
curl berikut untuk memanggil Cloud Vision API:
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json https://vision.googleapis.com/v1/images:annotate?key=${API_KEY}
- Lihat objek
faceAnnotations dalam respons. Perhatikan bahwa API menampilkan objek untuk setiap wajah yang ditemukan dalam gambar—dalam kasus ini, tiga. Berikut adalah versi potongan dari respons:
{
"faceAnnotations": [
{
"boundingPoly": {
"vertices": [
{
"x": 669,
"y": 324
},
...
]
},
"fdBoundingPoly": {
...
},
"landmarks": [
{
"type": "LEFT_EYE",
"position": {
"x": 692.05646,
"y": 372.95868,
"z": -0.00025268539
}
},
...
],
"rollAngle": 0.21619819,
"panAngle": -23.027969,
"tiltAngle": -1.5531756,
"detectionConfidence": 0.72354823,
"landmarkingConfidence": 0.20047489,
"joyLikelihood": "LIKELY",
"sorrowLikelihood": "VERY_UNLIKELY",
"angerLikelihood": "VERY_UNLIKELY",
"surpriseLikelihood": "VERY_UNLIKELY",
"underExposedLikelihood": "VERY_UNLIKELY",
"blurredLikelihood": "VERY_UNLIKELY",
"headwearLikelihood": "VERY_LIKELY"
}
...
}
}
-
boundingPoly memberikan koordinat x,y di sekitar wajah dalam gambar.
-
fdBoundingPoly adalah kotak yang lebih kecil daripada boundingPoly, yang berfokus pada bagian kulit wajah.
-
landmarks adalah array objek untuk setiap fitur wajah, beberapa di antaranya mungkin belum Anda ketahui. Hal ini memberi tahu kita jenis tempat terkenal, beserta posisi 3D fitur tersebut (koordinat x,y,z) di mana koordinat z adalah kedalaman. Nilai lainnya memberi Anda detail lebih lengkap tentang wajah, termasuk kemungkinan ekspresi senang, sedih, marah, dan terkejut.
Respons yang Anda baca adalah untuk orang yang berdiri paling belakang dalam gambar. Anda dapat mengetahui bahwa ia membuat ekspresi wajah lucu yang menjelaskan joyLikelihood dari LIKELY.
Tugas 7. Melakukan anotasi tempat terkenal
Deteksi tempat terkenal dapat mengidentifikasi tempat terkenal umum (dan tersembunyi). Fitur ini menampilkan nama tempat terkenal, koordinat garis lintang dan bujurnya, serta lokasi tempat terkenal yang diidentifikasi dalam gambar.
Mengupload gambar baru
Untuk menggunakan metode ini, upload gambar baru ke bucket Cloud Storage.
- Klik kanan gambar berikut, lalu klik Save image as, dan simpan ke komputer Anda sebagai city.png.

Kutipan: Katedral Santo Basil, Moskow, Rusia (19 Desember 2019) oleh Adrien Wodey di Unsplash, repositori media gratis. Diambil dari https://unsplash.com/photos/multicolored-dome-temple-yjyWCNx0J1U. File ini dilisensikan berdasarkan lisensi Unsplash.
- Sekarang, upload foto tersebut ke bucket Cloud Storage Anda dengan cara yang sama seperti sebelumnya, dan sediakan untuk publik.
Klik Periksa progres saya untuk memeriksa progres lab Anda.
Mengupload gambar untuk Anotasi Tempat Terkenal ke bucket Anda
Memperbarui file permintaan
- Selanjutnya, perbarui file
request.json Anda dengan kode berikut, yang mencakup URL gambar baru, dan menggunakan deteksi tempat terkenal:
{
"requests": [
{
"image": {
"source": {
"gcsImageUri": "gs://{{{project_0.project_id | PROJECT_ID}}}-bucket/city.png"
}
},
"features": [
{
"type": "LANDMARK_DETECTION",
"maxResults": 10
}
]
}
]
}
Memanggil Vision API dan mengurai respons
- Di terminal Cloud Shell, jalankan perintah
curl berikut untuk memanggil Cloud Vision API:
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json https://vision.googleapis.com/v1/images:annotate?key=${API_KEY}
- Lihat bagian
landmarkAnnotations dari respons:
"landmarkAnnotations": [
{
"mid": "/m/0hm_7",
"description": "Red Square",
"score": 0.8557956,
"boundingPoly": {
"vertices": [
{},
{
"x": 503
},
{
"x": 503,
"y": 650
},
{
"y": 650
}
]
},
"locations": [
{
"latLng": {
"latitude": 55.753930299999993,
"longitude": 37.620794999999994
}
...
Cloud Vision API dapat mengidentifikasi lokasi pengambilan foto dan memberikan koordinat peta dari lokasi tersebut (Katedral Santo Basil di Red Square, Moskow, Rusia).
Nilai dalam respons ini akan terlihat mirip seperti respons labelAnnotations di atas:
-
mid dari tempat terkenal
- namanya (
description)
-
score keyakinan
-
boundingPoly menunjukkan area dalam gambar lokasi tempat terkenal diidentifikasi.
- Kunci
locations memberi tahu koordinat lintang bujur gambar.
Tugas 8. Melakukan pelokalan objek
Vision API dapat mendeteksi dan mengekstrak beberapa objek dalam gambar dengan Pelokalan Objek. Pelokalan objek mengidentifikasi beberapa objek dalam gambar dan menyediakan LocalizedObjectAnnotation untuk setiap objek dalam gambar. Setiap LocalizedObjectAnnotation mengidentifikasi informasi tentang objek, posisi objek, dan batas persegi panjang untuk area gambar yang berisi objek.
Pelokalan objek mengidentifikasi objek yang signifikan dan kurang terlihat dalam gambar.
Informasi objek hanya ditampilkan dalam bahasa Inggris. Cloud Translation dapat menerjemahkan label bahasa Inggris ke dalam bahasa lain.
Untuk menggunakan metode ini, gunakan gambar yang ada di internet dan perbarui file request.json.
Memperbarui file permintaan
- Perbarui file
request.json Anda dengan kode berikut, yang mencakup URL gambar baru, dan menggunakan pelokalan objek.
{
"requests": [
{
"image": {
"source": {
"imageUri": "https://cloud.google.com/vision/docs/images/bicycle_example.png"
}
},
"features": [
{
"maxResults": 10,
"type": "OBJECT_LOCALIZATION"
}
]
}
]
}
Memanggil Vision API dan mengurai respons
- Di terminal Cloud Shell, jalankan perintah
curl berikut untuk memanggil Cloud Vision API:
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json https://vision.googleapis.com/v1/images:annotate?key=${API_KEY}
- Selanjutnya, lihat bagian
localizedObjectAnnotations dari respons:
{
"responses": [
{
"localizedObjectAnnotations": [
{
"mid": "/m/01bqk0",
"name": "Bicycle wheel",
"score": 0.89648587,
"boundingPoly": {
"normalizedVertices": [
{
"x": 0.32076266,
"y": 0.78941387
},
{
"x": 0.43812272,
"y": 0.78941387
},
{
"x": 0.43812272,
"y": 0.97331065
},
{
"x": 0.32076266,
"y": 0.97331065
}
]
}
},
{
"mid": "/m/0199g",
"name": "Bicycle",
"score": 0.886761,
"boundingPoly": {
"normalizedVertices": [
{
"x": 0.312,
"y": 0.6616471
},
{
"x": 0.638353,
"y": 0.6616471
},
{
"x": 0.638353,
"y": 0.9705882
},
{
"x": 0.312,
"y": 0.9705882
}
]
}
},
...
Seperti yang Anda lihat, Vision API dapat mendeskripsikan bahwa gambar ini berisi sepeda dan roda sepeda. Nilai dalam respons ini akan terlihat mirip seperti respons labelAnnotations di atas: mid objek, namanya (name), score keyakinan, dan boundingPoly menunjukkan area dalam gambar tempat objek diidentifikasi.
Selain itu, boundingPoly memiliki kunci normalizedVertices, yang memberi Anda koordinat objek dalam gambar. Koordinat ini dinormalisasi ke rentang 0 hingga 1, 0 merepresentasikan bagian kiri atas gambar, dan 1 merepresentasikan bagian kanan bawah gambar.
Bagus! Anda berhasil menggunakan Vision API untuk menganalisis gambar dan mengekstrak informasi tentang objek dalam gambar.
Tugas 9. Mempelajari metode Vision API lainnya
Anda telah mempelajari metode pelokalan objek dan deteksi label, wajah, serta tempat terkenal di Vision API, tetapi ada tiga metode lain yang belum Anda pelajari. Pelajari dokumentasi Method: images.annotate untuk mempelajari ketiga metode lainnya:
-
Deteksi logo: Mengidentifikasi logo umum dan lokasinya dalam gambar.
-
Deteksi SafeSearch: Menentukan apakah gambar berisi konten vulgar atau tidak. Hal ini sangat bermanfaat untuk aplikasi apa pun yang memiliki konten buatan pengguna. Anda dapat memfilter gambar berdasarkan empat faktor: konten dewasa, medis, kekerasan, dan spoofing.
-
Deteksi teks: Menjalankan OCR untuk mengekstrak teks dari gambar. Metode ini bahkan dapat mengidentifikasi bahasa teks yang ada dalam gambar.
Selamat!
Anda telah mempelajari cara menganalisis gambar dengan Vision API. Di lab ini, Anda meneruskan URL Cloud Storage dari berbagai gambar ke API, dan API tersebut menampilkan label, wajah, tempat terkenal, dan objek yang ditemukannya dalam gambar. Anda juga dapat meneruskan string berenkode base64 dari sebuah gambar ke API, yang berguna jika Anda ingin menganalisis gambar yang disimpan dalam database atau di memori.
Langkah berikutnya/Pelajari lebih lanjut
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui pada 14 Oktober 2025
Lab Terakhir Diuji pada 14 Oktober 2025
Hak cipta 2025 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.