Localization of thoracic abnormalities model based on VinBigData (top 1%)

Overview

Repository contains the code for 2nd place solution of VinBigData Chest X-ray Abnormalities Detection competition. The goal of competition was to automatically localize and classify thoracic abnormalities from chest radiographs.

Kaggle forum posts about the solution:

Details

Solution consists of 3 parts. Each part is models from each team member. Predictions of each part in the end ensembled in single 2nd place submission on LeaderBoard. You can use only inference or train models from scratch.

Warning: since some of the data is hosted on Kaggle, in order to be able to download it, save your Kaggle API token to .kaggle/kaggle.json

Only inference

cd part_zfturbo
pip install -r requirements.txt
sh ./preproc.sh
sh ./inference.sh
cd ..

cd part_ivan
sh ./setup.sh
sh ./preproc.sh
sh ./inference.sh
cd ..

cd part_sergey
sh ./inference.sh
cd ..

python3 ensemble_models.py

Train

cd part_zfturbo
pip install -r requirements.txt
sh ./preproc.sh
sh ./train.sh
sh ./inference.sh
cd ..

cd part_ivan
sh ./setup.sh
sh ./preproc_train.sh
sh ./train.sh
sh ./inference.sh
cd ..

cd part_sergey
sh ./train.sh
sh ./inference.sh
cd ..

python3 ensemble_models.py
Comments
  • Question to sergey part, 640 or 1024 size?

    Question to sergey part, 640 or 1024 size?

    Question to Sergey Part, why he first resizes to 640 for inference, but then normalizes the resultant boxes like they were for 1024*1024 pixels image?

    pred_boxes, pred_scores, pred_labels = predict_for_files(weights, folder, imagenames, 640, is_TTA)
    ....
    if len(cur_boxes) > 0:
        cur_boxes[:, [0, 2]] = (cur_boxes[:, [0, 2]] * image_width / 1024).astype(int)
        cur_boxes[:, [1, 3]] = (cur_boxes[:, [1, 3]] * image_height / 1024).astype(int)
    
    opened by RedMoon32 2
  • Regarding Learning Rate

    Regarding Learning Rate

    Regarding ivan part on mmdetection Can you please upload schedule_1x.py. The below error is seen. There was another solution recommended in (https://github.com/open-mmlab/mmdetection/issues/6456) Can you confirm on the same.

    Traceback (most recent call last): File "/home/prashant/anaconda3/envs/kmmdet/lib/python3.7/site-packages/mmcv/utils/registry.py", line 52, in build_from_cfg return obj_cls(**args) File "/home/prashant/anaconda3/envs/kmmdet/lib/python3.7/site-packages/mmcv/runner/hooks/lr_updater.py", line 264, in init super(CosineAnnealingLrUpdaterHook, self).init(**kwargs) TypeError: init() got an unexpected keyword argument 'step'

    opened by kailasdayanandan 1
  • No hyper-parameter yaml found

    No hyper-parameter yaml found

    Thanks for sharing your great work.

    I was trying to run the training code for yolov5, but then it gives me an error saying "AssertionError: File Not Found: data/hyp.scratch.yaml"

    I can not find any scrip that generates hyp.scratch.yaml.

    Am I missing something?

    Thanks, Joseph

    opened by shreka116 2
  • No MegaMix 341_healthy file

    No MegaMix 341_healthy file

    Hello! Again question about Sergey part) After inference, postprocess.py requires "../MegaMix/341_healthy.csv" file, can you please say where I can download it and why it is needed? Блин чет забыл что авторы русские и написал на английском вопрос опять)

    opened by RedMoon32 1
  • Any pre trained weights

    Any pre trained weights

    Thanks for posting the solution. do you have guys have trained weights that can be used for further fine tuning of different related tasks ? Regards Jaideep

    opened by jaideep11061982 2
Repository for Scene Text Detection with Supervised Pyramid Context Network with tensorflow.

Scene-Text-Detection-with-SPCNET Unofficial repository for [Scene Text Detection with Supervised Pyramid Context Network][https://arxiv.org/abs/1811.0

121 Oct 15, 2021
A Python wrapper for the tesseract-ocr API

tesserocr A simple, Pillow-friendly, wrapper around the tesseract-ocr API for Optical Character Recognition (OCR). tesserocr integrates directly with

Fayez 1.7k Dec 31, 2022
kaldi-asr/kaldi is the official location of the Kaldi project.

Kaldi Speech Recognition Toolkit To build the toolkit: see ./INSTALL. These instructions are valid for UNIX systems including various flavors of Linux

Kaldi 12.3k Jan 05, 2023
An application of high resolution GANs to dewarp images of perturbed documents

Docuwarp This project is focused on dewarping document images through the usage of pix2pixHD, a GAN that is useful for general image to image translat

Thomas Huang 97 Dec 25, 2022
OpenMMLab Text Detection, Recognition and Understanding Toolbox

Introduction English | 简体中文 MMOCR is an open-source toolbox based on PyTorch and mmdetection for text detection, text recognition, and the correspondi

OpenMMLab 3k Jan 07, 2023
Regions sanitàries (RS), Sectors Sanitàris (SS) i Àrees Bàsiques de Salut (ABS) de Catalunya

Regions sanitàries (RS), Sectors Sanitaris (SS), Àrees de Gestió Assistencial (AGA) i Àrees Bàsiques de Salut (ABS) de Catalunya Fitxers GeoJSON de le

Glòria Macià Muñoz 2 Jan 23, 2022
Code for the "Sensing leg movement enhances wearable monitoring of energy expenditure" paper.

EnergyExpenditure Code for the "Sensing leg movement enhances wearable monitoring of energy expenditure" paper. Additional data for replicating this s

Patrick S 42 Oct 26, 2022
Some Boring Research About Products Recognition 、Duplicate Img Detection、Img Stitch、OCR

Products Recognition 介绍 商品识别,围绕在复杂的商场零售场景中,识别出货架图像中的商品信息。主要组成部分: 重复图像检测。【更新进度 4/10】 图像拼接。【更新进度 0/10】 目标检测。【更新进度 0/10】 商品识别。【更新进度 1/10】 OCR。【更新进度 1/10】

zhenjieWang 18 Jan 27, 2022
This repo contains several opencv projects done while learning opencv in python.

opencv-projects-python This repo contains both several opencv projects done while learning opencv by python and opencv learning resources [Basic conce

Fatin Shadab 2 Nov 03, 2022
One Metrics Library to Rule Them All!

onemetric Installation Install onemetric from PyPI (recommended): pip install onemetric Install onemetric from the GitHub source: git clone https://gi

Piotr Skalski 49 Jan 03, 2023
Python tool that takes the OCR.space JSON output as input and draws a text overlay on top of the image.

OCR.space OCR Result Checker = Draw OCR overlay on top of image Python tool that takes the OCR.space JSON output as input, and draws an overlay on to

a9t9 4 Oct 18, 2022
Detect text blocks and OCR poorly scanned PDFs in bulk. Python module available via pip.

doc2text doc2text extracts higher quality text by fixing common scan errors Developing text corpora can be a massive pain in the butt. Much of the tex

Joe Sutherland 1.3k Jan 04, 2023
Using computer vision method to recognize and calcutate the features of the architecture.

building-feature-recognition In this repository, we accomplished building feature recognition using traditional/dl-assisted computer vision method. Th

4 Aug 11, 2022
A curated list of resources dedicated to scene text localization and recognition

Scene Text Localization & Recognition Resources A curated list of resources dedicated to scene text localization and recognition. Any suggestions and

CarlosTao 1.6k Dec 22, 2022
fishington.io bot with OpenCV and NumPy

fishington.io-bot fishington.io bot with using OpenCV and NumPy bot can continue to fishing fully automatically how to use Open cmd in fishington.io-b

Bahadır Araz 77 Jan 02, 2023
SRA's seminar on Introduction to Computer Vision Fundamentals

Introduction to Computer Vision This repository includes basics to : Python Numpy: A python library Git Computer Vision. The aim of this repository is

Society of Robotics and Automation 147 Dec 04, 2022
An OCR evaluation tool

dinglehopper dinglehopper is an OCR evaluation tool and reads ALTO, PAGE and text files. It compares a ground truth (GT) document page with a OCR resu

QURATOR-SPK 40 Dec 20, 2022
Creating of virtual elements of the graphical interface using opencv and mediapipe.

Virtual GUI Creating of virtual elements of the graphical interface using opencv and mediapipe. Element GUI Output Description Button By default the b

Aleksei 4 Jun 16, 2022
[EMNLP 2021] Improving and Simplifying Pattern Exploiting Training

ADAPET This repository contains the official code for the paper: "Improving and Simplifying Pattern Exploiting Training". The model improves and simpl

Rakesh R Menon 138 Dec 26, 2022
Can We Find Neurons that Cause Unrealistic Images in Deep Generative Networks?

Can We Find Neurons that Cause Unrealistic Images in Deep Generative Networks? Artifact Detection/Correction - Offcial PyTorch Implementation This rep

CHOI HWAN IL 23 Dec 20, 2022