Lewati ke konten utama
ENGINEERING IDEAS INTO REALITY

Modul dekode dan penggabungan gambar termal lemari kontrol listrik untuk tim pemeliharaan pabrik industri di Thailand

Pelanggan: Grup manufaktur besar di Thailand

TIDM (Thermal Image Decoding Module) adalah modul perangkat lunak yang membaca nilai suhu dari file gambar kamera termal FLIR, menggabungkan gambar lemari kontrol listrik yang dipotret per bagian menjadi satu gambar, dan menampilkan suhu maksimum–minimum setiap sel grid. Kami mengembangkan dan menyerahkan modul ini kepada tim pemeliharaan pabrik industri di Thailand pada tahun 2018–2019.

Ilustrasi konsep: kamera termal (Thermal Imaging) untuk memeriksa titik panas pada peralatan listrik sebelum terjadi kerusakanPerbesar gambar
Ilustrasi konsep yang dibuat dengan AI untuk menjelaskan pekerjaan dalam kasus ini
Industri
Manufaktur umum
Tahun
2018–2019
lingkup pekerjaan
3 item serah terima, yaitu program utama modul TIDM beserta kode sumber untuk file gambar termal dari kamera FLIR, dokumen desain sistem (diagram sistem, diagram status kerja, diagram basis data, diagram aliran data, algoritma, dan daftar library yang digunakan), serta kajian pendekatan dan rekomendasi tambahan untuk file dari kamera Testo dan InfReC

Ringkasan

  • TIDM adalah modul perangkat lunak yang membaca nilai suhu dari file gambar .jpg kamera FLIR, menggabungkan gambar lemari kontrol listrik yang dipotret per bagian menjadi satu gambar, dan menampilkan suhu maksimum–minimum setiap sel grid.
  • Modul ini memiliki 2 bagian: bagian dekode gambar menyesuaikan semua gambar agar menggunakan skala suhu yang sama, dan bagian penggabungan panorama menyatukan gambar per bagian menjadi satu gambar seluruh lemari.
  • Pada tahun 2018–2019, kami menyerahkan seluruh 3 item pekerjaan ini kepada tim pemeliharaan pabrik industri di Thailand, yaitu program beserta kode sumber, dokumen desain sistem, serta kajian pendekatan dan rekomendasi tambahan untuk file dari kamera Testo dan InfReC.
  • Penggabungan panorama bergantung pada cara pengambilan gambar, sehingga dalam pekerjaan ini cara pengambilan gambar disesuaikan agar urutannya ditata ulang.
  • Pembuatan laporan per siklus pemeriksaan, perbandingan hasil antarsiklus, dan peringatan tidak termasuk dalam lingkup pekerjaan yang diserahkan.
01

Permasalahan di lapangan

Tim pemeliharaan memeriksa lemari kontrol listrik dengan kamera termal (Thermal Camera) yang disediakan sendiri oleh pelanggan (FLIR, Testo, InfReC), dengan memotret per bagian secara berurutan dalam baris dan kolom. File dari kamera menyimpan data suhu dalam format khusus produsen. Tim membutuhkan program yang membaca nilai suhu dari file, menggabungkan gambar menjadi satu gambar seluruh lemari, dan menampilkan suhu maksimum–minimum setiap bagian.

02

Apa yang kami lakukan

Kami mengembangkan modul TIDM dengan bahasa Python untuk file gambar .jpg dari kamera FLIR. Modul ini memiliki 2 bagian, yaitu bagian dekode gambar (Decoding) yang membaca data mentah dan menyesuaikan semua gambar agar menggunakan skala suhu yang sama, serta bagian penggabungan panorama (Panorama Stitching) yang menyatukan gambar per bagian menjadi satu gambar seluruh lemari. Selanjutnya, program menggambar tabel grid (Grid) pada gambar, membaca nilai maksimum–minimum setiap sel grid, dan menyimpan hasilnya ke basis data.

03

Hasil

Kami telah menyerahkan seluruh 3 item sesuai lingkup pekerjaan, dengan penyesuaian cara pengambilan gambar agar urutannya ditata ulang. Hasil dari modul ini adalah satu gambar seluruh lemari dan nilai suhu maksimum–minimum setiap sel grid yang dicatat ke basis data.

Latar belakang permasalahan

Tantangan dalam kasus ini adalah membaca nilai suhu dari file gambar termal lemari kontrol listrik dengan program, dan melihat hasil seluruh lemari dalam satu gambar. Tim pemeliharaan pelanggan menggunakan kamera termal untuk memeriksa lemari kontrol listrik dengan memotret per bagian secara berurutan dalam baris dan kolom, sehingga hasil pemeriksaan satu lemari terdiri atas beberapa file gambar bagian.

Titik sambungan kabel atau perangkat di dalam lemari listrik yang mulai bermasalah sering kali lebih panas daripada area sekitarnya. Kamera termal membantu melihat titik-titik ini tanpa perlu menyentuh perangkat. Karena itu, tim membutuhkan gambaran menyeluruh seluruh lemari beserta nilai suhu maksimum dan minimum setiap bagian.

Persyaratan dan batasan

Modul harus bekerja dengan kamera dan file yang sudah dimiliki pelanggan. Pekerjaan ini tidak mencakup pengadaan kamera. Persyaratan dan batasan utamanya adalah sebagai berikut.

  • Pelanggan menyediakan sendiri kamera termal, yaitu FLIR, Testo, dan InfReC
  • File dari kamera menyimpan data suhu dalam format khusus masing-masing produsen
  • Program menerima file gambar .jpg kamera FLIR yang disalin dari kartu SD ke komputer
  • Hasilnya harus mencakup gambar asli dan gambar termal seluruh lemari, nilai suhu maksimum dan minimum setiap sel, serta dicatat ke basis data
  • Penggabungan gambar bergantung pada cara pengambilan gambar: harus dipotret berurutan dalam baris dan kolom, titik awal setiap gambar sebaiknya tidak banyak bergeser, dan pencahayaan di area pemotretan sebaiknya terang merata
  • Pembuatan laporan per siklus pemeriksaan dan perbandingan hasil antarsiklus pemeriksaan tidak termasuk dalam lingkup pekerjaan

Apa itu dekode (Decoding) gambar termal?

File dari banyak model kamera termal tidak hanya menyimpan gambar warna yang terlihat di layar, tetapi juga data mentah yang digunakan untuk menghitung suhu setiap titik, dalam format khusus produsen kamera. Dekode adalah proses membaca bagian data ini agar program dapat menghitung, menggabungkan gambar, dan menyimpan nilai suhu sendiri.

Mengapa file gambar termal harus didekode sebelum gambar digabungkan?

Dekode harus dilakukan lebih dahulu karena semua gambar harus menggunakan skala suhu yang sama sebelum digabungkan menjadi satu. Jika setiap gambar menggunakan skalanya sendiri, warna yang sama pada dua gambar dapat berarti suhu yang berbeda. Penyesuaian skala memerlukan nilai suhu dari data mentah dalam file, sehingga bagian data ini harus dibaca lebih dahulu.

Karena itu, kami membagi modul TIDM menjadi 2 bagian. Bagian pertama mendekode data mentah dan menyesuaikan semua gambar agar menggunakan skala suhu yang sama. Bagian kedua menggabungkan gambar menjadi satu gambar seluruh lemari. Karena semua gambar menggunakan bilah warna suhu yang sama, gambar panorama seluruh lemari dapat dibaca pada satu skala.

  1. 1

    Memotret lemari per bagian sesuai urutan baris dan kolom

    Petugas pemeriksa memotret gambar termal lemari kontrol listrik per bagian, berurutan dalam baris dan kolom. Urutan pemotretan yang jelas membuat program mengetahui gambar mana yang harus disambung dengan gambar mana.

  2. 2

    Mendekode file gambar termal

    Modul membaca data mentah yang disimpan kamera FLIR dalam file .jpg, mengubahnya menjadi gambar warna dan gambar hitam-putih (Grayscale), lalu menghitung ulang skala suhu agar semua gambar dalam satu set menggunakan skala suhu yang sama.

  3. 3

    Menggabungkan gambar menjadi satu panorama

    Modul menggabungkan gambar setiap bagian menjadi satu gambar besar, sehingga diperoleh gambar asli dan gambar termal seluruh lemari. Petugas pemeriksa dapat melihat lokasi yang lebih panas daripada area sekitarnya dalam satu gambar.

  4. 4

    Menggambar tabel grid dan membaca nilai suhu per sel grid

    Program menggambar tabel grid (Grid) pada gambar, lalu membaca nilai suhu maksimum dan minimum setiap sel grid, disertai bilah warna suhu pada gambar.

  5. 5

    Menyimpan hasil ke basis data

    Gambar yang dihasilkan dan nilai suhu setiap gambar dicatat ke basis data.

Hasil serah terima

Kami telah menyerahkan seluruh 3 item sesuai lingkup pekerjaan. Item serah terima adalah sebagai berikut.

  • Program utama modul TIDM beserta kode sumber, ditulis dengan bahasa Python untuk file gambar .jpg dari kamera FLIR
  • Dokumen desain sistem: diagram sistem, diagram status kerja, diagram basis data, diagram aliran data, algoritma, dan daftar library yang digunakan
  • Kajian pendekatan dan rekomendasi tambahan untuk file dari kamera Testo dan InfReC

Hasil yang dapat dikonfirmasi dari serah terima

Pada tahun 2018–2019, kami menyerahkan modul TIDM kepada tim pemeliharaan pabrik industri di Thailand, seluruhnya 3 item sesuai lingkup pekerjaan. Program yang diserahkan menghasilkan 2 jenis keluaran. Yang pertama adalah gambar panorama seluruh lemari, baik gambar asli maupun gambar termal yang menggunakan bilah warna suhu yang sama. Yang kedua adalah nilai suhu maksimum dan minimum setiap sel grid, yang dicatat ke basis data bersama gambar.

Kasus ini tidak memiliki angka pengukuran hasil penggunaan, seperti jumlah lemari yang diperiksa atau waktu yang berkurang. Karena itu, kami hanya melaporkan hal yang diserahkan dan dapat dikonfirmasi dari dokumen. Program yang diserahkan membaca file dari kamera FLIR, sedangkan kamera Testo dan InfReC berada dalam lingkup sebagai kajian pendekatan dan rekomendasi tambahan, dan belum merupakan program yang diserahkan.

Pelajaran yang kita dapatkan

Pekerjaan ini memberikan 3 prinsip untuk pekerjaan pembacaan nilai suhu dari gambar termal.

  • Cara pengambilan gambar adalah bagian dari sistem, bukan sekadar langkah sebelum menggunakan program. Kualitas gambar panorama bergantung pada urutan pemotretan yang disepakati sebelum pemotretan dimulai.
  • Nilai suhu harus berada pada skala yang sama sebelum dibandingkan. Data mentah gambar dari kamera harus didekode dan disesuaikan agar menggunakan skala suhu yang sama sebelum gambar digabungkan atau warna antargambar dibandingkan.
  • Dukungan untuk setiap model kamera harus dikonfirmasi dari file asli model tersebut, karena format file berbeda menurut produsen. Karena itu, penyebutan model kamera yang didukung program sebaiknya hanya mengacu pada file yang telah diuji.

Cara menerapkan pendekatan ini di pabrik Anda

Jika tim Anda sudah memeriksa lemari kontrol listrik dengan kamera termal, Anda dapat menggunakan pendekatan yang sama dengan kasus ini, yaitu mendekode file dari kamera, menyesuaikan semua gambar agar menggunakan skala yang sama, menggabungkan gambar menjadi satu, lalu membaca nilai per sel dan menyimpannya ke basis data. Bagian yang perlu disesuaikan adalah pembacaan file, jika kamera Anda bermerek atau bermodel lain.

Bagian yang dapat digunakan kembali dan bagian yang perlu disesuaikan

Bagian sistemDapat digunakan kembaliPerlu disesuaikan ketika
Pembacaan fileDekode file .jpg dari kamera FLIRKamera bermerek lain atau menyimpan file dalam format berbeda, sehingga file contoh asli harus diperiksa lebih dahulu
Penggabungan panoramaPenggabungan gambar yang dipotret berurutan dalam baris dan kolomCara pemotretan tidak memiliki urutan baris dan kolom yang pasti, sehingga cara pemotretan harus ditetapkan lebih dahulu
Pembacaan nilai per sel gridTabel grid dan nilai maksimum–minimum setiap sel gridMembutuhkan nilai selain maksimum dan minimum, sehingga metode perhitungan harus disepakati sebelum pengembangan
Penggunaan hasil suhuPencatatan gambar dan nilai suhu ke basis dataMembutuhkan laporan per siklus pemeriksaan atau peringatan, yang tidak termasuk dalam lingkup kasus ini, sehingga perlu rancangan tambahan

Selain hal-hal dalam tabel, ada 2 hal lain yang sebaiknya disepakati sebelum pengembangan dimulai.

  • Sepakati kasus uji (Test Case) dan tetapkan dengan jelas jadwal pengiriman file contoh sebelum pengembangan dimulai, agar pengujian dapat dilakukan sesuai rencana
  • Putuskan sejak awal ke mana hasil suhu akan digunakan selanjutnya, misalnya laporan per siklus pemeriksaan atau sistem peringatan, agar struktur basis data dapat dirancang untuk mendukungnya

Mulailah dari satu set gambar lemari sungguhan

Satu set gambar termal lemari sungguhan yang dipotret lengkap untuk semua bagian sesuai urutan adalah data yang paling cepat digunakan untuk menguji dekode sekaligus penggabungan gambar.

Teknologi yang digunakan

Thermal Image Decoding Module (TIDM)Kamera termal FLIR (file .jpg)Panorama Image StitchingTabel pembacaan suhu (Grid Max/Min)PythonBasis data hasil suhu

Pertanyaan yang Sering Diajukan

Modul ini dapat membaca file dari kamera merek apa saja? Apakah perlu membeli kamera baru?

Pekerjaan yang diserahkan mendukung file gambar .jpg dari kamera FLIR yang sudah dimiliki pelanggan dan tidak mencakup pengadaan kamera. Kamera Testo dan InfReC berada dalam lingkup sebagai kajian pendekatan dan rekomendasi tambahan, dan belum merupakan program yang diserahkan. Jika Anda menggunakan kamera model atau merek lain, Anda perlu mengirimkan file contoh asli untuk kami periksa lebih dahulu, baru kemudian dapat dinilai seberapa banyak pengembangan tambahan yang diperlukan.

Bagaimana cara memotret agar gambar dapat digabungkan menjadi panorama?

Potret per bagian secara berurutan menurut baris dan kolom, usahakan titik awal setiap gambar tidak banyak bergeser, dan usahakan pencahayaan di area pemotretan terang merata. Dalam kasus ini, cara pengambilan gambar juga disesuaikan agar urutannya ditata ulang.

Apakah kode sumber dan dokumen desain sistem juga diberikan?

Ya. Pekerjaan yang diserahkan dalam kasus ini mencakup kode sumber Python modul TIDM dan dokumen desain sistem, yaitu diagram sistem, diagram status kerja, diagram basis data, diagram aliran data, algoritma, dan daftar library yang digunakan.

Apakah sistem ini dapat membuat laporan atau memberi peringatan saat suhu tidak normal?

Pekerjaan yang diserahkan dalam kasus ini belum mencakup bagian tersebut. Modul ini menyimpan gambar dan nilai suhu ke basis data, sedangkan pembuatan laporan per putaran inspeksi, perbandingan hasil antarputaran, dan peringatan tidak termasuk dalam lingkup pekerjaan. Jika Anda membutuhkannya, struktur data dan layar tambahan perlu dirancang.

Jika membutuhkan sistem seperti ini, berapa harganya?

Tidak ada harga standar karena bergantung pada model kamera, format berkas, dan hal yang ingin dilakukan terhadap hasil suhu. Hubungi kami untuk meminta penawaran harga. Kami menilai berdasarkan berkas contoh dan lingkup pekerjaan yang sebenarnya.

Menginginkan sistem seperti ini untuk pekerjaan Anda?