Motivasi utama di balik pembuatan rubrix
adalah untuk memiliki mesin pencari visual yang sepenuhnya didukung oleh Kecerdasan Buatan, yang menggabungkan konsep-konsep dalam bidang Pemrosesan Bahasa Alami dan Visi Komputer, sesuatu yang kami sebut sebagai "pencarian kesamaan gabungan". Saat ini rubrix
mempunyai dua fungsi utama:
Silakan klik di sini untuk mengetahui lebih detail tentang arsitektur dan cara kerja rubrix
!
rubrix
dalam Aksi Anda dapat melihat beberapa gambar yang diambil oleh rubrix
untuk contoh pertanyaan di sini.
Bagian ini menjelaskan prasyarat, dan berisi instruksi, untuk menjalankan dan menjalankan proyek.
Saat ini, rubrix
bekerja dengan sempurna di Linux, dan dapat dikonfigurasi dengan mudah menggunakan semua paket prasyarat dengan mengikuti petunjuk berikut:
Unduh versi conda yang sesuai untuk mesin Anda.
Instal dengan menjalankan file conda_install.sh
, dengan perintah:
$ bash conda_install.sh
Tambahkan conda
ke profil bash:
$ source ~ /.bashrc
Navigasikan ke rubrix/
(direktori tingkat atas) dan buat lingkungan virtual conda dengan file environment.yml
yang disertakan menggunakan perintah berikut:
$ conda env create -f environment.yml
Aktifkan lingkungan virtual dengan perintah berikut:
$ conda activate rubrix
Untuk menginstal paket dengan tambahan setuptools, gunakan perintah berikut di rubrix/
(direktori tingkat atas) yang berisi file setup.py
:
$ pip install .
Setelah prasyarat diinstal, ikuti petunjuk berikut untuk membangun proyek:
Arahkan ke direktori rubrix/index
.
Jalankan skrip bash setup.sh
dengan perintah berikut:
$ bash setup.sh
Apa fungsinya?
darknet/
dalam rubrix/index
untuk mengaktifkan deteksi objek dengan YOLOv4.assets/index.json
, yang pada dasarnya adalah indeks gambar terbalik yang memetakan semua objek tempat YOLOv4 dilatih, ke gambar yang berisi objek tersebut.assets/imageEmbeddingLocations.json
, yang pada dasarnya memetakan semua gambar dalam database ke vektor penyematan kalimat yang dihasilkan untuk setiap keterangan dalam database.assets/descriptors
.CATATAN: Skrip di atas memerlukan waktu antara 1,5 - 2 jam untuk menyelesaikan eksekusi.
rubrix/assets
.rubrix/assets/index.json
dan rubrix/assets/imageEmbeddingLocations.json
relatif terhadap mesin lokal. Hal ini dapat dilakukan sebagai berikut:$ conda activate rubrix
>> > from rubrix . utils import fix_paths_in_index
>> > path_to_index = < absolute / path / to / rubrix / assets / index . json >
>> > path_to_emb = < absolute / path / to / rubrix / assets / imageEmbeddingLocations . json >
>> > fix_paths_in_index ( path_to_index , path_to_emb )
rubrix/rubrix/index
dan jalankan skrip bash berikut: $ bash quick_setup.sh
Dengan selesainya langkah-langkah ini, Anda seharusnya sudah bisa menggunakan rubrix
.
rubrix/query/query_by_text
.rubrix/query/query_by_image_objects
.Anda juga dapat mengikuti contoh kerja untuk ini di sini.
Alternatifnya adalah dengan menggunakan rubrix
sebagai aplikasi pada web browser.
rubrix/rubrix/web
.$ python app.py
Ini untuk jika Anda ingin menerapkan rubrix
di server misalnya server Linux Ubuntu di AWS
$ sudo docker build -t < YOUR-NAME > /rubrix .
$ sudo docker run -p 9000:80 < YOUR-NAME > /rubrix
Pengaturan ideal untuk ini adalah memiliki pengaturan proxy terbalik Apache/Nginx pada sistem host, dalam hal ini menunjuk ke port 9000
, dan Apache/Nginx sistem host akan menangani SSL. Ini agar Anda dapat menerapkan aplikasi berulang kali tanpa khawatir membuat ulang sertifikat SSL.
environment.yml
karena menggunakan conda pada lingkungan produksi apa pun adalah mimpi buruk. Perubahan yang dilakukan di sana tidak akan tercermin dalam container Dockerized. Tidak ada pedoman khusus untuk berkontribusi, selain beberapa pedoman umum yang coba kami ikuti, seperti:
Jika Anda melihat sesuatu yang dapat ditingkatkan, kirimkan permintaan penarikan! Kami selalu senang melihat perbaikan, untuk memastikan bahwa rubrix
, sebagai sebuah proyek, adalah versi terbaiknya.
Jika menurut Anda sesuatu harus dilakukan secara berbeda (atau sekadar rusak), silakan buat masalah.
Lihat file LISENSI untuk lebih jelasnya.