Repositori ini telah diarsipkan dan digabungkan ke dalam Label Studio SDK: https://github.com/HumanSignal/label-studio-sdk/tree/master/src/label_studio_sdk/converter
Situs web • Dokumen • Twitter • Bergabunglah dengan Komunitas Slack
Perkenalan
Contoh
JSON
CSV
CoNLL 2003
KELAPA
Pascal VOC XML
Konverter YOLO ke Label Studio
Penggunaan
Tutorial: Mengimpor Gambar Pra-Anotasi YOLO ke Label Studio menggunakan Penyimpanan Lokal
Berkontribusi
Lisensi
Label Studio Format Converter membantu Anda mengkodekan label ke dalam format perpustakaan pembelajaran mesin favorit Anda.
Berjalan dari baris perintah:
pip install -U label-studio-konverter python label-studio-converter ekspor -iexported_tasks.json -c contoh/sentiment_analisis/config.xml -o output_dir -f CSV
Berlari dari python:
dari label_studio_converter import Converterc = Converter('examples/sentiment_analisis/config.xml')c.convert_to_json('examples/sentiment_analisis/completions/', 'tmp/output.json')
Mendapatkan file keluaran: tmp/output.json
[ {"reviewText": "Kasus bagus, Nilai luar biasa.","sentiment": "Positif" }, {"reviewText": "Buang-buang uang dan waktu!","sentiment": "Negatif" }, {"reviewText": "Leher angsa perlu sedikit dibujuk","sentiment": "Netral" } ]
Kasus penggunaan: tugas apa pun
Berjalan dari baris perintah:
python label_studio_converter/cli.py --input contoh/sentiment_analisis/penyelesaian/ --config contoh/sentiment_analisis/config.xml --output output_dir --format CSV --csv-separator $'t'
Berlari dari python:
dari label_studio_converter import Converterc = Converter('examples/sentiment_lysis/config.xml')c.convert_to_csv('examples/sentiment_lysis/completions/', 'output_dir', sep='t', header=True)
Mendapatkan file keluaran tmp/output.tsv
:
ulasanTekssentimenKasus bagus, Nilai luar biasa.PositifBuang-buang uang dan waktu!NegatifLeher angsa perlu sedikit bujukanNetral
Kasus penggunaan: tugas apa pun
Berjalan dari baris perintah:
python label_studio_converter/cli.py --input contoh/named_entity/completions/ --config contoh/named_entity/config.xml --output tmp/output.conll --format CONLL2003
Berlari dari python:
dari label_studio_converter import Converterc = Converter('examples/named_entity/config.xml')c.convert_to_conll2003('examples/named_entity/completions/', 'tmp/output.conll')
Mendapatkan file keluaran tmp/output.conll
-DOCSTART- -X- O
Showers -X- _ O
continued -X- _ O
throughout -X- _ O
the -X- _ O
week -X- _ O
in -X- _ O
the -X- _ O
Bahia -X- _ B-Location
cocoa -X- _ O
zone, -X- _ O
...
Kasus penggunaan: penandaan teks
Berjalan dari baris perintah:
python label_studio_converter/cli.py --input example/image_bbox/completions/ --config example/image_bbox/config.xml --output tmp/output.json --format COCO --image-dir tmp/images
Berlari dari python:
dari label_studio_converter import Converterc = Converter('examples/image_bbox/config.xml')c.convert_to_coco('examples/image_bbox/completions/', 'tmp/output.conll', output_image_dir='tmp/images')
Gambar keluaran dapat ditemukan di tmp/images
Mendapatkan file keluaran tmp/output.json
{ "gambar": [ { "lebar": 800, "tinggi": 501, "id": 0, "nama_file": "tmp/images/62a623a0d3cef27a51d3689865e7b08a"} ], "kategori": [ { "id": 0, "nama": "Planet"}, { "id": 1, "nama": "Pejalan Bulan"} ], "anotasi": [ { "id": 0, "image_id": 0, "category_id": 0, "segmentasi": [], "bbox": [299,6,377,260 ], "ignore": 0, "iscrowd": 0, "area ": 98020}, { "id": 1, "image_id": 0, "category_id": 1, "segmentasi": [], "bbox": [288,300,132,90 ], "ignore": 0, "iscrowd": 0, "area ": 11880} ], "info": {"tahun": 2019,"versi": "1.0","kontributor": "Label Studio" } }
Kasus penggunaan: deteksi objek gambar
Berjalan dari baris perintah:
python label_studio_converter/cli.py --input example/image_bbox/completions/ --config example/image_bbox/config.xml --output tmp/voc-annotations --format VOC --image-dir tmp/images
Berlari dari python:
dari label_studio_converter import Converterc = Converter('examples/image_bbox/config.xml')c.convert_to_voc('examples/image_bbox/completions/', 'tmp/output.conll', output_image_dir='tmp/images')
Gambar keluaran dapat ditemukan di tmp/images
Anotasi yang sesuai dapat ditemukan di tmp/voc-annotations/*.xml
:
tmp/gambar 62a623a0d3cef27a51d3689865e7b08a Database Saya COCO2017 flickr BATAL BATAL Label Studio 800 501 3 0 Planet Tidak ditentukan 0 0 299 6 676 266 Penjelajah Bulan Tidak ditentukan 0 0 288 300 420 390
Kasus penggunaan: deteksi objek gambar
Periksa struktur folder YOLO terlebih dahulu, perlu diingat bahwa root adalah /yolo/datasets/one
.
/yolo/datasets/one images - 1.jpg - 2.jpg - ... labels - 1.txt - 2.txt classes.txt
contoh kelas.txt
Airplane Car
label-studio-converter import yolo -i /yolo/datasets/one -o ls-tasks.json --image-root-url "/data/local-files/?d=one/images"
Dimana jalur URL dari ?d=
relatif terhadap jalur yang Anda tetapkan di LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT
.
Catatan untuk Penyimpanan Lokal
Sangat penting untuk menyetel LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/yolo/datasets
( bukan ke /yolo/datasets/one
, tetapi /yolo/datasets
) agar Label Studio dapat dijalankan.
Tambahkan Penyimpanan Lokal baru di pengaturan proyek dan atur jalur lokal Absolut ke /yolo/datasets/one/images
(atau c:yolodatasetsoneimages
untuk Windows).
Catatan untuk Penyimpanan Cloud
Gunakan --image-root-url
untuk membuat awalan yang benar untuk URL tugas, misalnya --image-root-url s3://my-bucket/yolo/datasets/one
.
Tambahkan Cloud Storage baru di pengaturan proyek dengan bucket dan awalan yang sesuai.
Perintah bantuan
label-studio-converter import yolo -h usage: label-studio-converter import yolo [-h] -i INPUT [-o OUTPUT] [--to-name TO_NAME] [--from-name FROM_NAME] [--out-type OUT_TYPE] [--image-root-url IMAGE_ROOT_URL] [--image-ext IMAGE_EXT] optional arguments: -h, --help show this help message and exit -i INPUT, --input INPUT directory with YOLO where images, labels, notes.json are located -o OUTPUT, --output OUTPUT output file with Label Studio JSON tasks --to-name TO_NAME object name from Label Studio labeling config --from-name FROM_NAME control tag name from Label Studio labeling config --out-type OUT_TYPE annotation type - "annotations" or "predictions" --image-root-url IMAGE_ROOT_URL root URL path where images will be hosted, e.g.: http://example.com/images or s3://my-bucket --image-ext IMAGE_EXT image extension to search: .jpg, .png
Tutorial ini akan memandu Anda melalui proses mengimpor folder dengan anotasi YOLO ke Label Studio untuk anotasi lebih lanjut. Kami akan membahas penyiapan lingkungan Anda, mengonversi anotasi YOLO ke format Label Studio, dan mengimpornya ke proyek Anda.
Label Studio diinstal secara lokal
Gambar beranotasi YOLO dan file label .txt terkait di direktori /yolo/datasets/one
.
label-studio-converter diinstal (tersedia melalui pip install label-studio-converter
)
Sebelum memulai Label Studio, atur variabel lingkungan berikut untuk mengaktifkan penyajian file Penyimpanan Lokal:
Sistem Unix:
export LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true export LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/yolo/datasets label-studio
jendela:
set LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true set LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=C:yolodatasets label-studio
Ganti /yolo/datasets
dengan jalur sebenarnya ke direktori dataset YOLO Anda.
Buat proyek baru.
Buka pengaturan proyek dan pilih Cloud Storage .
Klik Tambahkan Penyimpanan Sumber dan pilih File lokal dari opsi Jenis Penyimpanan .
Setel jalur lokal Absolut ke /yolo/datasets/one/images
atau c:yolodatasetsoneimages
di Windows.
Klik Add storage
.
Periksa detail lebih lanjut tentang Penyimpanan Lokal di dokumentasi.
Sebelum mengimpor anotasi yang dikonversi dari YOLO, verifikasi bahwa Anda dapat mengakses gambar dari penyimpanan Lokal melalui Label Studio. Buka tab browser baru dan masukkan URL berikut:
http://localhost:8080/data/local-files/?d=one/images/.jpg
Ganti one/images/
dengan jalur ke salah satu gambar Anda. Gambar tersebut akan ditampilkan di tab baru browser . Jika Anda tidak dapat membuka gambar, konfigurasi Penyimpanan Lokal salah. Alasan yang paling mungkin adalah Anda melakukan kesalahan saat menentukan Path
Anda di pengaturan Penyimpanan Lokal atau di LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT
.
Catatan: Jalur URL dari ?d=
harus relatif terhadap LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/yolo/datasets
, artinya jalur sebenarnya adalah /yolo/datasets/one/images/
dan gambar ini harus ada di hard drive Anda menyetir.
Gunakan label-studio-converter untuk mengonversi anotasi YOLO Anda ke format yang dapat dipahami oleh Label Studio:
label-studio-converter import yolo -i /yolo/datasets/one -o output.json --image-root-url "/data/local-files/?d=one/images"
Sekarang impor file output.json
ke Label Studio:
Buka proyek Label Studio Anda.
Dari Manajer Data, klik Impor .
Pilih file output.json
dan impor.
Setelah mengimpor, Anda akan melihat gambar Anda dengan kotak pembatas yang telah diberi anotasi sebelumnya di Label Studio. Verifikasi bahwa anotasi sudah benar dan lakukan penyesuaian yang diperlukan.
Jika Anda mengalami masalah dengan jalur atau akses gambar, pastikan bahwa:
LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT disetel dengan benar.
--image-root-url
pada perintah konversi cocok dengan jalur relatif:
`Absolute local path from Local Storage Settings` - `LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT` = `path for --image_root_url`
misalnya:
/yolo/datasets/one/images - /yolo/datasets/ = one/images
Penyimpanan Lokal di Label Studio diatur dengan benar dengan jalur lokal Absolut ke gambar Anda ( /yolo/datasets/one/images
)
Untuk mengetahui detail selengkapnya, lihat dokumentasi tentang cara mengimpor data yang telah dianotasi sebelumnya dan menyiapkan Cloud Storages.
Kami ingin sekali mendapatkan bantuan Anda untuk membuat konverter ke model lain. Silakan membuat permintaan tarik.
Pedoman Berkontribusi
Kode Etik