Giter Club home page Giter Club logo

ws-yolo's Introduction

WS-Yolo: Weakly Supervised Yolo Network for Surgical Tool Localization in Endoscopic Videos

This repository is an officail PyTorch implementation of WS-Yolo: Weakly Supervised Yolo Network for Surgical Tool Localization in Endoscopic Videos.

Overview

 We proposed a Weakly Supervised Yolo Network (WS-YOLO) for Surgical Tool Localization in Endoscopic Videos, which significantly diminishes the necessary human annotation labor while striking an optimal balance between the quantity of manually annotated data and detection performance. The fine-grained semantic information with location and category was generated from coarse-grained semantic information outputted bu the da Vinci surgical robot through multiple iterations.

Requirements

This repo was forked from YOLOv8.

Dataset

Challenge dataset: download from grand challenge. Additional dataset: https://www.synapse.org/#!Synapse:syn47193563/files/

Additional Dataset Preprocess:

./simds_dataset/data_prepare.py 将数据集划分为train和test

./simds_dataset/get_annotation.py 将mask转换为txt label

Training

Train $Det_{parts}$:

yolo detect train data=simd_det.yaml model=yolox.pt imsz=640 epochs=1000

Sample video or images

/sample_util.py

Predict parts use $Det_{parts}$:

yolo detect predict model=runs/detect/train6/weights/best.pt source=../surgtooloc2022_dataset/sampled_data/ save=False save_txt=True project=regenerate_round1 name=bbox1

Initial Match:

取消注释./yolo/engine/predictor.py中breezewrf部分的代码

pseudo_label_path = "/mnt/shared/wrf/yolov8/regenerate_round1/bbox2/labels"

yolo detect predict model=runs/detect/train6/weights/best.pt source=../surgtooloc2022_dataset/sampled_data/ save=False save_txt=True

注释./yolo/engine/predictor.py中breezewrf部分的代码

Train $Det_{tools}$:

yolo detect train data=simd_det.yaml model=yolox.pt imsz=640 epochs=1000

Predict tools use $Det_{tools}$:

yolo detect predict model=runs/detect/train7/weights/best.pt source=../surgtooloc2022_dataset/sampled_data/ save=False save_txt=True project=regenerate_round2 name=bbox2

multi-round match

python yolov8/regenerate_round1/match_util.py

return to train Det_tools, bbox1 is copied from regenerated_round1

some test demo: yolov8/test

summary the classes distribution python ./summary.py

Submit

transfer model to submit

in Ubuntu desktop

scp server:/mnt/shared/wrf/yolov8/runs/detect/train25/weights/best.pt .

change the pth file name in process.py and Dockerfile

sudo sh build.sh

sudo sh test.sh
(never mind the Error of tmp not exist)

sudo sh export.sh

Acknowledgement

ws-yolo's People

Contributors

glenn-jocher avatar ayushexel avatar laughing-q avatar breezewrf avatar onuralpszr avatar triple-mu avatar shcheklein avatar democat3457 avatar yermandy avatar sergiuwaxmann avatar adrianboguszewski avatar pre-commit-ci[bot] avatar nihui avatar dependabot[bot] avatar developer0hye avatar snyk-bot avatar ouphi avatar rizwanmunawar avatar kayzwer avatar kalenmike avatar dennisjcy avatar daavoo avatar soumik12345 avatar simlevesque avatar siddhantsadangi avatar yulv-git avatar semihhdemirel avatar wiqzard avatar rangeking avatar pderrenger avatar

Stargazers

Stephen Petrides avatar  avatar  avatar  avatar cgnerds avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.