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
Generate a list of papers with publicly available source code in the daily arxiv

2021-06-08 paper code optimal network slicing for service-oriented networks with flexible routing and guaranteed e2e latency networkslicing multi-moda

79 Jan 03, 2023
Convert PDF/Image to TXT using EasyOcr - the best OCR engine available!

PDFImage2TXT - DOWNLOAD INSTALLER HERE What can you do with it? Convert scanned PDFs to TXT. Convert scanned Documents to TXT. No coding required!! In

Hans Alemão 2 Feb 22, 2022
End-to-end pipeline for real-time scene text detection and recognition.

Real-time-Scene-Text-Detection-and-Recognition-System End-to-end pipeline for real-time scene text detection and recognition. The detection model use

Fangneng Zhan 89 Aug 04, 2022
Document blur detection based on Laplacian operator and text detection.

Document Blur Detection For general blurred image, using the variance of Laplacian operator is a good solution. But as for the blur detection of docum

JoeyLr 5 Oct 20, 2022
OCR engine for all the languages

Description kraken is a turn-key OCR system optimized for historical and non-Latin script material. kraken's main features are: Fully trainable layout

431 Jan 04, 2023
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
learn how to use Gesture Control to change the volume of a computer

Volume-Control-using-gesture In this project we are going to learn how to use Gesture Control to change the volume of a computer. We first look into h

Diwas Pandey 49 Sep 22, 2022
ERQA - Edge Restoration Quality Assessment

ERQA - a full-reference quality metric designed to analyze how good image and video restoration methods (SR, deblurring, denoising, etc) are restoring real details.

MSU Video Group 27 Dec 17, 2022
A real-time dolly zoom camera effect

Dolly-Zoom I've always been amazed by the gradual perspective change of dolly zoom, and I have some experience in python and OpenCV, so I decided to c

Dylan Kai Lau 52 Dec 08, 2022
Text language identification using Wikipedia data

Text language identification using Wikipedia data The aim of this project is to provide high-quality language detection over all the web's languages.

Vsevolod Dyomkin 28 Jul 09, 2022
Satoshi is a discord bot template in python using discord.py that allow you to track some live crypto prices with your own discord bot.

Satoshi ~ DiscordCryptoBot Satoshi is a simple python discord bot using discord.py that allow you to track your favorites cryptos prices with your own

Théo 2 Sep 15, 2022
Solution for Problem 1 by team codesquad for AIDL 2020. Uses ML Kit for OCR and OpenCV for image processing

CodeSquad PS1 Solution for Problem Statement 1 for AIDL 2020 conducted by @unifynd technologies. Problem Given images of bills/invoices, the task was

Burhanuddin Udaipurwala 111 Nov 27, 2022
Introduction to Augmented Reality (AR) with Python 3 and OpenCV 4.2.

Introduction to Augmented Reality (AR) with Python 3 and OpenCV 4.2.

fernanda rodríguez 85 Jan 02, 2023
The world's simplest facial recognition api for Python and the command line

Face Recognition You can also read a translated version of this file in Chinese 简体中文版 or in Korean 한국어 or in Japanese 日本語. Recognize and manipulate fa

Adam Geitgey 47k Jan 07, 2023
textspotter - An End-to-End TextSpotter with Explicit Alignment and Attention

An End-to-End TextSpotter with Explicit Alignment and Attention This is initially described in our CVPR 2018 paper. Getting Started Installation Clone

Tong He 323 Nov 10, 2022
Use Convolutional Recurrent Neural Network to recognize the Handwritten line text image without pre segmentation into words or characters. Use CTC loss Function to train.

Handwritten Line Text Recognition using Deep Learning with Tensorflow Description Use Convolutional Recurrent Neural Network to recognize the Handwrit

sushant097 224 Jan 07, 2023
Links to awesome OCR projects

Awesome OCR This list contains links to great software tools and libraries and literature related to Optical Character Recognition (OCR). Contribution

Konstantin Baierer 2.2k Jan 02, 2023
Code for the head detector (HeadHunter) proposed in our CVPR 2021 paper Tracking Pedestrian Heads in Dense Crowd.

Head Detector Code for the head detector (HeadHunter) proposed in our CVPR 2021 paper Tracking Pedestrian Heads in Dense Crowd. The head_detection mod

Ramana Subramanyam 76 Dec 06, 2022
零样本学习测评基准,中文版

ZeroCLUE 零样本学习测评基准,中文版 零样本学习是AI识别方法之一。 简单来说就是识别从未见过的数据类别,即训练的分类器不仅仅能够识别出训练集中已有的数据类别, 还可以对于来自未见过的类别的数据进行区分。 这是一个很有用的功能,使得计算机能够具有知识迁移的能力,并无需任何训练数据, 很符合现

CLUE benchmark 27 Dec 10, 2022
TextBoxes++: A Single-Shot Oriented Scene Text Detector

TextBoxes++: A Single-Shot Oriented Scene Text Detector Introduction This is an application for scene text detection (TextBoxes++) and recognition (CR

Minghui Liao 930 Jan 04, 2023