Bagaimana untuk melepaskan potensi pengimbas dokumen MLKit pada telefon Android anda

  • ML Kit menyediakan penyelesaian bersepadu untuk pengimbasan dan analisis imej pada Android, menjadikannya mudah untuk mengesan kod, objek, teks dan wajah dengan cekap dan pada peranti.
  • Penyepaduan dengan CameraX dan penyediaan imej yang betul memastikan hasil yang pantas dan tepat, mengoptimumkan prestasi masa nyata walaupun pada peranti terhad sumber.
  • Mengambil kesempatan daripada ciri lanjutan seperti autozoom, pengurusan format imej berbilang dan penyesuaian pengalaman pengguna membolehkan anda membangunkan apl pengimbasan yang lebih profesional dan komprehensif.

Pengimbas Dokumen MLKit

Dalam dunia pembangunan Android, memanfaatkan sepenuhnya alatan hari ini menjadikan perbezaan antara apl berfungsi dan yang benar-benar canggih. Salah satu komponen yang paling serba boleh ialah pengimbas berasaskan ML Kit, yang mampu mengubah cara aplikasi berinteraksi dengan persekitarannya melalui kamera. Daripada membaca kod bar dan kod QR kepada mengesan objek atau mengecam teks dan muka, kemungkinannya hampir tidak berkesudahan dengan pendekatan yang betul.

Ramai pembangun berpegang kepada asas, gagal mengeksploitasi sepenuhnya keupayaan ML Kit pada Android. Mengintegrasikannya dengan betul bukan sahaja tentang memasukkan kebergantungan dan contoh ujian; Kuncinya adalah untuk mengoptimumkan prestasi, mengkonfigurasi setiap parameter untuk kes tertentu dan memahami semua pilihan dan helah yang ditawarkan oleh kedua-dua dokumentasi rasmi dan pengalaman profesional lain. Dalam artikel ini, kami akan membincangkan, langkah demi langkah dan secara mendalam, semua yang anda perlu ketahui untuk memanfaatkan sepenuhnya pengimbas ML Kit pada Android, daripada pemasangan kepada tetapan yang lebih lanjutan, termasuk analisis imej, pengurusan koordinat dan petua penting untuk bekerja dalam masa nyata.

Apakah itu ML Kit dan sebab ia merevolusikan pengimbasan pada Android

ML Kit ialah SDK yang dibangunkan oleh Google yang menyepadukan teknologi kecerdasan buatan yang berkuasa untuk tugas penglihatan komputer pada peranti mudah alih. Ia bukan sahaja membenarkan aplikasi mudah teknik pembelajaran mesin, tetapi ia juga melakukannya pada peranti itu sendiri, tanpa memerlukan sambungan internet. Ini menjadikannya alat yang boleh dipercayai, pantas dan berguna untuk aplikasi yang memerlukan pengimbasan kod, pengecaman muka, bacaan teks atau pengenalan objek.

Seni bina modular ML Kit memberikan fleksibiliti bagi mereka yang ingin memasukkan perkara-perkara penting atau menyesuaikan sehingga ke butiran terkecil. Anda boleh memilih antara model berpakej (lebih besar, tersedia dari awal) atau model yang dimuat turun secara dinamik (yang menjimatkan ruang dalam apl tetapi memerlukan muat turun awal). Dualiti ini membolehkan anda mengutamakan saiz apl atau kesegeraan penggunaan bergantung pada keperluan projek.

Kit ML
Kit ML
pemaju: Logik Novum
Harga: Percuma

Mengintegrasikan Kit ML dengan CameraX: Gabungan Yang Menang

Jika anda sedang mencari integrasi yang mantap antara kamera Android dan keupayaan ML Kit, CameraX ialah sekutu terbaik anda. Pustaka ini sangat memudahkan akses kepada perkakasan kamera dan pengurusan strim imej, dan juga membenarkan tindan elemen antara muka dan hasil pembelajaran mesin pada pratonton kamera.

Melalui kelas Penganalisis Kit ML, anda boleh menyambungkan output CameraX dengan pengesan dan penganalisis ML Kit. Penganalisis ini melaksanakan antara muka ImageAnalysis.Analyzer, mengurus peleraian imej dengan cekap, menyelaraskan transformasi dan penyampaian hasil, yang sangat memudahkan pembangunan fungsi pengimbasan lanjutan.

Menggunakan CameraController dan PreviewView memudahkan persembahan antara muka dan penerimaan hasil. Apabila menyepadukan Penganalisis Kit ML, anda hanya perlu menentukan jenis pengesan yang anda mahukan (contohnya, kod bar) dan cara anda mahu menerima hasilnya. Selain itu, CameraX menjaga butiran seperti putaran imej dan nisbah bidang, mengelakkan ralat biasa dalam pembangunan yang lebih manual.

Mengesan dan menyahkod kod bar: di luar contoh asas

Pembaca Kod Bar MLKit

El pengimbasan kod bar Ia adalah salah satu daripada kes penggunaan bintang ML Kit pada Android. Perkara yang menarik ialah APInya membolehkan anda melampaui pengesanan kod QR biasa. Daripada GS1, EAN-13, PDF417 kepada Data Matrix atau Aztec, serba boleh adalah maksimum, membuka pintu kepada aplikasi dalam logistik, perdagangan, pengenalan produk dan banyak lagi.

Apabila mengkonfigurasi pengesan, anda boleh mengehadkannya kepada format yang sebenarnya anda perlukan, yang menghasilkan a peningkatan kelajuan dan penggunaan sumber yang lebih rendah. Dengan mengehadkan carian, pemprosesan lebih cekap dan bertindak balas dengan lebih baik dalam masa nyata.

Antara pilihan yang diserlahkan ialah:

  • enableAllPotentialBarcodes(): Ia membolehkan untuk mengesan semua kemungkinan kod yang terdapat dalam imej, walaupun beberapa kod tidak boleh dinyahkod lagi. Ini berguna apabila pengguna perlu mengezum masuk atau memfokus dengan lebih baik pada kamera.
  • setZoomSuggestionOptions(): Mendayakan autozoom, jadi apl boleh mencadangkan secara automatik berapa banyak kamera perlu mengezum masuk untuk memaksimumkan kebolehbacaan kod yang dikesan.

Autocadangan zum ialah ciri baharu yang penting yang meningkatkan pengalaman pengguna, terutamanya dalam konteks di mana jarak atau saiz kod sangat berbeza-beza. Anda boleh melaksanakan sendiri panggil balik untuk melaraskan parameter zum mengikut pengesyoran pengesan ML Kit.

Menyediakan imej input dengan betul

Salah satu faktor paling kritikal untuk prestasi pengimbas ML Kit ialah kualiti dan saiz imej input. Dokumentasi rasmi memberi penekanan yang besar pada piksel dan resolusi yang mencukupi, kerana ketepatan pengesanan secara langsung bergantung pada perwakilan data dalam imej.

Contohnya, untuk kod EAN-13, bar dan ruang mestilah sekurang-kurangnya 2 piksel lebar; Keseluruhan kod hendaklah tidak kurang daripada 190 piksel lebar. Untuk format yang lebih kompleks seperti PDF417, dimensi yang diperlukan adalah lebih besar lagi, mencapai sehingga 1156 piksel lebar untuk satu baris.

Fokus dan resolusi adalah penting. Jika pengguna menangkap imej kabur atau resolusi rendah, hasilnya mungkin tidak menentu. Amalan yang baik ialah mencadangkan imej dengan resolusi 1280 x 720 atau 1920 x 1080, selagi prestasi peranti membenarkannya. Jika kependaman menjadi isu, anda boleh mengurangkan peleraian, tetapi pastikan kod mengambil sebanyak mungkin imej.

API ML Kit sendiri membolehkan anda mengubah sumber imej yang anda terima daripada kamera menjadi InputImage. Anda boleh membina objek ini daripada:

  • media khusus kamera.Imej.
  • Peta bit, ByteBuffer atau ByteArray.
  • URI fail (berguna untuk memuatkan imej dari galeri).

Dalam kes CameraX, kebanyakan transformasi ini diselesaikan secara automatik., terutamanya dari segi penggiliran imej dan penghantaran bingkai masa nyata. Ini mengambil berat daripada pembangun dan memastikan imej yang diproses sentiasa betul.

Google Drive mengemas kini pengimbasnya dan menambah peningkatan yang ketara
artikel berkaitan:
Google Drive akan menambah baik pengimbas dokumennya

Memproses imej dan mengurus hasil

Pelabelan Imej MLKit

Setelah imej input disediakan, pengesan ML Kit memproses imej dan mengembalikan senarai keputusan. Untuk kod bar, anda akan menerima objek Barcode yang membolehkan anda mengakses koordinat dalam imej, nilai yang dinyahkod, jenis data (URL, kenalan, teks, dll.), dan juga atribut tambahan jika tersedia.

Pengurusan keputusan ini adalah fleksibel. Anda boleh menindan maklumat pada imej, berinteraksi dengan pengguna (contohnya, dengan membuka pautan web jika ia adalah kod QR), atau menyimpan nilai yang dikesan ke pangkalan data. Terima kasih kepada penggunaan pendengar, anda boleh mengurus kedua-dua kejayaan dan ralat atau peristiwa imej yang tidak dikenali.

Dalam penyepaduan dengan CameraX, adalah penting untuk menutup setiap satu dengan betul ImageProxy selepas memprosesnya, untuk mengelakkan kebocoran memori dan mengekalkan kecairan analisis masa nyata.

Pengoptimuman untuk analisis masa nyata

Potensi penuh ML Kit dilepaskan apabila anda memproses imej dalam masa nyata, contohnya daripada strim video. Untuk mengekalkan pengalaman yang lancar dan bebas lag, terdapat beberapa petua utama:

  • Jangan gunakan resolusi asli maksimum kamera melainkan sangat diperlukan. Dalam kebanyakan kes, imej 2 megapiksel adalah lebih daripada mencukupi dan meningkatkan kelajuan pemprosesan.
  • Kurangkan resolusi jika kelajuan adalah keutamaan, tetapi mengekalkan minimum yang diperlukan untuk pengekodan yang tepat.
  • Dalam strim video, pengesan mungkin memberikan hasil yang berbeza antara bingkai berturut-turut. Adalah dinasihatkan untuk menunggu sekurang-kurangnya beberapa pengesanan serupa berturut-turut sebelum menganggap keputusan sebagai sah.
  • Hadkan bilangan panggilan kepada pengesan. Contohnya, jika imej sedang diproses, abaikan bingkai berikutnya sehingga anda selesai.
  • Jika anda menggunakan CameraX, pastikan anda menetapkan strategi ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST untuk sentiasa menyampaikan imej terbaharu dan memastikan apl itu tangkas.
  • Untuk menindan grafik pada imej (cth. kotak sempadan), ia mula-mula memproses imej dan kemudian memaparkan kedua-dua imej dan tindanan dalam satu laluan, mengoptimumkan jumlah kerja grafik setiap bingkai.

Jenis format imej juga penting. Jika anda menggunakan Camera2, pilih untuk YUV_420_888; untuk API lama, NV21 menjamin keserasian dan kelajuan.

Pengesanan dan penjejakan objek dalam ML Kit

Penjejakan Objek MLKit

Potensi pengimbas ML Kit tidak terhad kepada kod bar: pengesanan dan penjejakan objek ialah satu lagi ciri utama. API ini membolehkan anda mengenal pasti sehingga lima objek dalam imej atau bingkai, mendapatkan kedudukannya dan, sebagai tambahan, memberikan ID penjejakan unik kepada setiap satu. Apabila anda bekerja dengan video masa nyata, anda boleh menjejaki pergerakan objek pada bingkai berturut-turut dengan ketepatan yang lengkap.

Tetapan pengesanan objek membolehkan anda:

  • Pilih antara mod penghantaran (STREAM_MODE), dioptimumkan untuk kependaman dan penjejakan rendah, dan mod imej tunggal (SINGLE_IMAGE_MODE).
  • Hidupkan atau matikan pengisihan objek ke dalam kategori yang luas (fesyen, makanan, rumah, tempat, tumbuhan, orang yang tidak dikenali).
  • Tetapkan sama ada anda ingin memproses berbilang objek secara serentak atau hanya yang paling menonjol.

Aplikasi terdiri daripada pengiktirafan produk di kedai, analisis tumbuhan atau haiwan dalam apl pendidikan, kepada logistik lanjutan dan sistem bantuan gudang.

Penyediaan imej dan pengurusan putaran mengikut prinsip yang sama yang dinyatakan dalam pengimbasan kod, dan disyorkan untuk digunakan InputImage dicipta terus daripada format yang disokong untuk memaksimumkan prestasi.

Pengecaman teks dan pengesanan muka

Pengecaman teks (OCR) dan analisis muka masa nyata ialah dua tonggak utama ML Kit. API Teks mampu mengesan blok, baris dan elemen dalam imej, mengembalikan kedudukan tepatnya dan kandungan yang diiktiraf, walaupun untuk aksara kompleks atau pelbagai bahasa.

Pengecaman muka menambah keupayaan untuk mengenal pasti kontur, ciri khusus (mata, mulut, hidung, dsb.), mewujudkan kebarangkalian yang dikaitkan dengan gerak isyarat (seperti tersenyum atau berkelip), dan melukis pada imej untuk menggambarkan hasilnya. Dengan menyepadukan kelas tersuai, anda boleh, contohnya, tindanan kotak atau titik pada setiap muka yang dikesan dan memaparkan pelbagai maklumat kepada pengguna.

Jenis pelaksanaan ini memerlukan beberapa pengurusan tambahan dari segi perwakilan grafik., tetapi integrasi dengan CameraX dan GraphicOverlay memudahkan proses. Pembangun boleh menyesuaikan antara muka sepenuhnya dan menyesuaikan hasil analisis automatik kepada gaya visual yang mereka kehendaki.

Petua untuk pengalaman pengguna yang optimum

Kit ML

Kejayaan ciri pengimbasan lanjutan tidak bergantung semata-mata pada algoritma; ia juga penting untuk menjaga pengalaman pengguna. Berikut ialah beberapa garis panduan yang berguna:

  • Pastikan objek yang anda ingin kesan cukup menonjol dan mempunyai butiran visual. Elemen dengan kontras rendah atau butiran samar-samar mungkin memerlukan pengguna untuk mengalihkannya lebih dekat ke kamera.
  • Apabila menggunakan pengelasan objek, bersedia untuk mengendalikan objek yang tidak diketahui atau samar-samar, memberikan maklum balas yang jelas kepada pengguna.
  • Sertakan isyarat visual atau teks dalam antara muka untuk membantu pengguna memfokus dengan betul, mengelakkan kekecewaan akibat keputusan yang salah.
  • Jika berbilang objek dikesan, pertimbangkan pilihan untuk pengguna memilih hasil yang berkaitan (contohnya, dalam apl pendidikan atau inventori).
  • Ingat untuk menyesuaikan antara muka dan mesej ralat anda untuk konteks luar talian, terutamanya jika anda menggunakan model yang dimuat turun secara dinamik.

Analisis keputusan dan contoh praktikal

Keupayaan daripada Kit ML Ia membolehkan kami menyampaikan maklumat yang sangat kaya dan berstruktur kepada pengguna akhir. Untuk pengesanan objek dan pengimbasan kod bar, anda mempunyai kedudukan, nilai, jenis dan tahap keyakinan. Ini membolehkan anda memaparkan jadual, ringkasan atau melakukan tindakan automatik (seperti membuka pautan atau menyimpan maklumat di latar belakang).

Contohnya, dalam kes pengesanan objek, anda boleh memberikan pengguna kategori yang dikenal pasti dengan tahap keyakinannya, ID penjejakan untuk membandingkan objek yang sama merentas berbilang bingkai dan sempadan kawasan yang dikesan. Jadi, dalam apl inventori, mudah untuk menyerlahkan objek utama dan mengikutinya bingkai demi bingkai untuk memproses tindakan atau mencetuskan automasi.

Penyepaduan antara modul ML Kit yang berbeza membolehkan anda menggabungkan fungsi: Bayangkan membaca kod bar pada objek yang dikesan, mendapatkan nilainya dan mengelaskannya, semuanya dalam masa nyata dan pada imej kamera. Jenis sinergi ini hanya boleh dilakukan dengan konfigurasi lanjutan dan penguasaan lengkap semua pilihan yang ada.

Bagaimana untuk memastikan segala-galanya dikemas kini dan mengelakkan masalah

Kadar kemas kini perpustakaan ML Kit adalah tinggi dan adalah penting untuk sentiasa mengetahui setiap keluaran baharu, kerana prestasi, keserasian dan peningkatan ciri baharu diperkenalkan dengan kerap.

Sentiasa semak kebergantungan dalam fail anda membina.gradle dan semak bahawa tahap SDK minimum ditakrifkan dengan betul (biasanya API 21 atau lebih tinggi). Juga, semak kaedah permulaan, kerana versi terkini telah mengoptimumkan beberapa proses dan memperkenalkan ciri baharu, seperti muat turun model automatik semasa memasang apl.

Pengesyoran lain ialah merujuk contoh apl dan bahan pengajaran yang tersedia dalam kedua-dua dokumentasi Google rasmi dan repositori sumber terbuka. Sumber-sumber ini selalunya termasuk Ujian prestasi, contoh penyepaduan dengan antara muka lanjutan dan penyelesaian kepada ralat biasa.

Kekalkan keserasian dan pengoptimuman merentas pelbagai peranti

Salah satu cabaran membangunkan apl Android ialah pelbagai jenis peranti, resolusi dan kamera yang tersedia di pasaran. ML Kit dioptimumkan untuk pelbagai jenis peranti, tetapi adalah idea yang baik untuk menguji apl pada berbilang peranti, kedua-dua mewah dan rendah, untuk memastikan pemprosesan dan kualiti visual adalah mencukupi dalam semua kes.

Jika khalayak anda terutamanya menggunakan peranti berkuasa rendah, utamakan kecekapan dan kelajuan, mengorbankan resolusi atau julat fungsi jika perlu untuk mengelakkan menjejaskan pengalaman pengguna.

Kami menyimpulkan dengan gambaran keseluruhan yang menyegarkan perkara utama untuk memanfaatkan sepenuhnya pengimbas ML Kit pada Android: pilih strategi penyepaduan terbaik antara CameraX dan ML Kit, sediakan imej input anda dengan baik, uruskan format dan resolusi dengan betul mengikut penggunaan anda, serta sesuaikan antara muka dan aliran kerja anda untuk memberikan pengalaman yang paling mantap dan termaju yang mungkin untuk kedua-dua pengguna dan pembangun.

Aplikasi terbaik untuk melihat dan mengedit dokumen di Android
artikel berkaitan:
5 aplikasi terbaik untuk melihat dan mengedit dokumen di Android

Ikuti kami di Google News

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Blog Sebenar
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.