Hướng dẫn xml to txt python yolo - xml sang txt python yolo

Làm thế nào chúng tôi chuyển đổi thư mục chú thích XML thành định dạng văn bản hoặc Yolov3 để phát hiện ??? Tôi đã sử dụng mã này để chuyển đổi nhưng nó chỉ lấy một hình ảnh XML và chuyển đổi thành .txt .. nhưng tôi muốn chuyển đổi thư mục đầy đủ của mình cùng một lúc. Bạn có bất kỳ giải pháp dễ dàng nào để chuyển đổi các tệp XML thành các tệp văn bản. Tôi có hơn 15000 hình ảnh.

from xml.dom import minidom
import os
import glob

lut={}
lut["14111"] =0
lut["14131"] =1
lut["14141"] =2

def convert_coordinates(size, box):
  dw = 1.0/size[0]
  dh = 1.0/size[1]
  x = (box[0]+box[1])/2.0
  y = (box[2]+box[3])/2.0
  w = box[1]-box[0]
  h = box[3]-box[2]
  x = x*dw
  w = w*dw
  y = y*dh
  h = h*dh
  return (x,y,w,h)


def convert_xml2yolo( lut ):

  for fname in glob.glob("/content/gdrive/MyDrive/Dataset /Annotation/14111_00000002.xml"):
      
      xmldoc = minidom.parse(fname)
      
      fname_out = (fname[:-4]+'.txt')

      with open(fname_out, "w") as f:

          itemlist = xmldoc.getElementsByTagName('object')
          size = xmldoc.getElementsByTagName('size')[0]
          width = int((size.getElementsByTagName('width')[0]).firstChild.data)
          height = int((size.getElementsByTagName('height')[0]).firstChild.data)

          for item in itemlist:
              # get class label
              classid =  (item.getElementsByTagName('name')[0]).firstChild.data
              if classid in lut:
                  label_str = str(lut[classid])
              else:
                  label_str = "-1"
                  print ("warning: label '%s' not in look-up table" % classid)

              # get bbox coordinates
              xmin = ((item.getElementsByTagName('bndbox')[0]).getElementsByTagName('xmin')[0]).firstChild.data
              ymin = ((item.getElementsByTagName('bndbox')[0]).getElementsByTagName('ymin')[0]).firstChild.data
              xmax = ((item.getElementsByTagName('bndbox')[0]).getElementsByTagName('xmax')[0]).firstChild.data
              ymax = ((item.getElementsByTagName('bndbox')[0]).getElementsByTagName('ymax')[0]).firstChild.data
              b = (float(xmin), float(xmax), float(ymin), float(ymax))
              bb = convert_coordinates((width,height), b)
              #print(bb)

              f.write(label_str + " " + " ".join([("%.6f" % a) for a in bb]) + '\n')

      print ("wrote %s" % fname_out)



def main():
  convert_xml2yolo( lut )


if __name__ == '__main__':
  main()

Có nhiều cách khác nhau để phát hiện đối tượng như phát hiện đối tượng TensorFlow, phát hiện đối tượng Yolo. Mỗi phương thức có định dạng dữ liệu đầu vào riêng. Phát hiện đối tượng TensorFlow lấy đầu vào ở định dạng XML và phát hiện đối tượng Yolo mất đầu vào ở định dạng TXT.

Ở đây tôi sẽ chia sẻ các mã để chuyển đổi dữ liệu có sẵn từ định dạng này sang định dạng khác.

  1. XML đến CSV
  2. XML đến TXT
  3. TXT đến XML
  4. TXT đến CSV
  5. CSV đến XML
  6. CSV đến TXT
  7. CSV đến JSON

Hãy vào phần mã hóa get into the coding part

XML đến CSV

Tải xuống tệp mã từ đây. Chạy lệnh dưới đây để thực thi nó. Python XML_TO_CSV.PY -I DATA/Train/XMLS -O Dữ liệu/Train/
python xml_to_csv.py -i data/train/xmls -o data/train/train.csv

XML đến TXT

Bạn có thể tải xuống một tập tin từ đây. Ở đây bạn cần thay đổi từ điển LUT theo dữ liệu của bạn. Bạn có thể tăng hoặc giảm các lớp trong Từ điển (dòng 72 -Line 77). Nhập lệnh sau vào thiết bị đầu cuối của bạn.
as per your data. you can increase or decrease the classes in the dictionary (line 72 -line 77). Type the following command in your terminal.

python xml_to_txt.py -i data/Train/XMLS -O Dữ liệu/Train/Txts

TXT đến CSV

Tải xuống tệp mã từ đây. Chạy lệnh sau.

python txt_to_csv.py -i dữ liệu/txts -img dữ liệu/hình ảnh -o dữ liệu/data.csv

TXT đến XML

Tải xuống tập lệnh từ đây và chạy lệnh sau.

python txt_to_xml.py -i dữ liệu/txts -img dữ liệu/hình ảnh -o dữ liệu/xmls

CSV đến XML

Tải xuống tệp mã từ đây, và sau đó chạy lệnh sau.

Python CSV_TO_XML.PY -I DATA/Train.csv -o Data/XMLS

CSV đến TXT

Tải xuống tập lệnh từ đây, và sau đó chạy lệnh sau.

python csv_to_txt.py -i data/Train_data.csv -o data/txts

CSV đến JSON

Tải xuống tệp mã từ đây, và sau đó chạy lệnh sau.

Python CSV_TO_XML.PY -I DATA/Train.csv -o Data/XMLS

CSV đến TXT

Đặt tệp convert_voc_to_yolo.py vào thư mục dữ liệu của bạn ..

Nếu công cụ ghi nhãn của bạn xuất trình chú thích trong

VOC

định dạng, nhưng bạn đang cố gắng sử dụng

mô hình cần

Yolo Darknet

Chú thích, chúng tôi đã bảo vệ bạn. Bạn có thể chuyển đổi chúng trong 3 lần nhấp với Roboflow.

Bước 1: Tạo không gian làm việc công cộng Roboflow miễn phí

Roboflow là công cụ chuyển đổi phổ quát cho các định dạng chú thích tầm nhìn máy tính. Kế hoạch công cộng là cách tốt nhất cho những dự án cá nhân, bài tập lớp và các thí nghiệm khác để thử Roboflow. Để chuyển đổi bộ dữ liệu của bạn, hãy bắt đầu bằng cách tạo một không gian làm việc trong kế hoạch công khai.

Bước 2: Tải dữ liệu của bạn lên Roboflow

Khi tài khoản của bạn đã được tạo, nhấp vào Tạo tập dữ liệu.

Hướng dẫn xml to txt python yolo - xml sang txt python yolo

Tải dữ liệu của bạn lên Roboflow bằng cách kéo và thả

Pascal VOC XML

Hình ảnh và chú thích vào không gian tải lên.

Hướng dẫn xml to txt python yolo - xml sang txt python yolo

Để tìm hiểu cách dán nhãn thủ công hình ảnh của bạn trong định dạng VOC & NBSP; XML & NBSP;, Hướng dẫn CVAT & NBSP;

Bước 3: Tạo phiên bản dữ liệu

Tiếp theo, bạn có thể chọn các tùy chọn tiền xử lý và tăng cường cho phiên bản dữ liệu của mình và sau đó nhấp vào Tạo.

Hướng dẫn xml to txt python yolo - xml sang txt python yolo

Bước 4: & NBSP; Xuất phiên bản dữ liệu

Sau khi tạo, bạn sẽ được nhắc xuất bộ dữ liệu của mình. Bạn có thể chọn nhận bộ dữ liệu của mình dưới dạng tệp .zip hoặc liên kết tải xuống Curl. Bạn cũng có thể chọn định dạng bạn muốn xuất. Chọn

Yolo Darknet TXT

.

Hướng dẫn xml to txt python yolo - xml sang txt python yolo

Xin chúc mừng, bạn đã chuyển đổi thành công dữ liệu của mình từ

Pascal VOC XML

Hình ảnh và chú thích vào không gian tải lên.

Yolo Darknet TXT

.

Xin chúc mừng, bạn đã chuyển đổi thành công dữ liệu của mình từ

Định dạng để

Yolo Darknet

Chú thích, chúng tôi đã bảo vệ bạn. Bạn có thể chuyển đổi chúng trong 3 lần nhấp với Roboflow.

Bước 1: Tạo không gian làm việc công cộng Roboflow miễn phí

Làm cách nào để chuyển đổi tệp XML thành Yolo?

Chuyển đổi Pascal VOC XML sang Yolo..
Nhập khẩu. Bắt đầu bằng cách nối thêm các câu lệnh nhập sau ở đầu tệp: Nhập XML.ETREE.ElementTree dưới dạng ET. ....
Các chức năng tiện ích. Sau đó, xác định các chức năng tiện ích sau: ....
Khởi tạo. ....
Nhận tệp XML. ....
Nội dung phân tích các tệp XML. ....
Chạy kịch bản ..

Làm cách nào để chuyển đổi XML thành văn bản?

Cách chuyển đổi XML thành TXT với phần mềm chuyển đổi tài liệu Doxillion..
Tải xuống phần mềm chuyển đổi tài liệu Doxillion.Tải xuống phần mềm chuyển đổi tài liệu Doxillion.....
Nhập tệp XML vào chương trình.....
Chọn một thư mục đầu ra.....
Đặt định dạng đầu ra.....
Chuyển đổi XML thành TXT ..

Làm cách nào để chuyển đổi tệp TXT thành XML trong Python?

Các bước để chuyển đổi TXT thành XML thông qua Python..
Tải tệp TXT với một phiên bản của sổ làm việc ..
Gọi Phương thức Workbook.Save ..
Vượt qua đường dẫn đầu ra với tiện ích mở rộng XML làm tham số ..
Kiểm tra đường dẫn được chỉ định cho tệp XML kết quả ..

Làm thế nào để bạn chuyển đổi chú thích sang định dạng Yolo?

Chuyển đổi chú thích Pascalvoc sang Yolo..
Đặt tệp convert_voc_to_yolo.py vào thư mục dữ liệu của bạn ..
Chỉnh sửa mảng Dirs (dòng 8) để chứa các thư mục nơi đặt hình ảnh và XML của bạn.Lưu ý: Tập lệnh này giả định tất cả các hình ảnh của bạn là.....
Chỉnh sửa mảng lớp (dòng 9) để chứa tất cả các lớp của bạn ..
Chạy kịch bản ..