final-project-level3-cv-16
โโ api_folder
โ โโ .streamlit
| | โโ config.toml
โ โโ backend
| | โโ epillid_benchmark(cloned from Link)
| | โโ Dockerfile
| | โโ Backend.py
| | โโ requirements.txt
โ โโ frontend
| | โโ Dockerfile
| | โโ frontend.py
| | โโ requirements.txt
โ โโ Docker
| โโ docker-compose.yml
โโ image_classification
| โโ data_preprocessing
| | โโ download_pill_data.py
| | โโ normalize_pill_data.py
| โโ image_concatenation
| | โโ concatenation_images.py
| โโ kaggle_pill_data_preprocessing
| | โโ 1_annotation_file_name_to_txt.py
| | โโ 2_edit_xml_path.py
| | โโ 3_xml_to_json.py
| โโ pill_excel_data
| | โโ README.md
| โโ .gitignore
| โโ data.py
| โโ dataset.py
| โโ log.py
| โโ train.py
โโ ocr
โโ CRAFT-pytorch
| โโ file_utils.py
| โโ test.py
โโ deep-text-recognition-benchmark
| โโ train.py
| โโ demo.py
| โโ train_KOR_ENG_data.py
| โโ create_lmdb_dataset.py
โโ text_classificaiton_exp
| โโ efficientnet_mark_text_nan.ipynb
โโ text_classificaiton_evaluation
| โโ text_recog_analysis.ipynb
โโ ocr_text_crop.py
-
Clone to CRAFT-pytroch (ยฉย ClovaAI)
git clone https://github.com/clovaai/CRAFT-pytorch.git pip install -r requirements.txt
-
Clone to deep-text-recognition-benchmark (ยฉย ClovaAI)
git clone https://github.com/clovaai/deep-text-recognition-benchmark.git pip install lmdb pillow torchvision nltk natsort
-
https://drive.google.com/file/d/1Jk4eGD7crsqCCg9C9VjCLkMN3ze8kutZ/view ์์ pth file์ ๋ค์ด ๋ฐ์ต๋๋ค.
-
Cloneํ CRAFT-pytroch ํด๋ ๋ด์ ์์์ ๋ค์ด๋ฐ์ pth file์ ์ ์ฅํฉ๋๋ค.
-
ํ๋จ ์ฝ๋๋ฅผ ์ ๋ ฅํ์ฌ CRAFT-pytorch๋ฅผ ์คํํฉ๋๋ค.
python test.py --trained_model=[weightfile] --test_folder=[folder path to test images]
-
ํ๋จ ์ฝ๋๋ฅผ ์ ๋ ฅํ์ฌ text๋ถ๋ถ๋ง ์ถ์ถํฉ๋๋ค.
python ocr_text_crop.py
-
https://www.dropbox.com/sh/j3xmli4di1zuv3s/AAArdcPgz7UFxIHUuKNOeKv_a?dl=0 ์์ TPS-ResNet-BiLSTM-Attn-case-sensitive.pth file์ ๋ค์ด๋ก๋ ๋ฐ์ต๋๋ค.
-
Clone ํ deep-text-recognition-benchmark ํด๋ ๋ด์ saved_model ํด๋๋ฅผ ์์ฑ ํ ์์์ ๋ค์ด๋ฐ์ pth file์ ํด๋น ๋๋ ํ ๋ฆฌ์ ๋ฃ์ต๋๋ค.
-
ํ๋จ ์ฝ๋๋ฅผ ์ ๋ ฅํ์ฌ deep-text-recognition-benchmark๋ฅผ ์คํํฉ๋๋ค.
python demo.py --Transformation TPS --FeatureExtraction ResNet --SequenceModeling BiLSTM --Prediction Attn --image_folder demo_image/ --saved_model TPS-ResNet-BiLSTM-Attn.pth
๐ค์์ ๋ง์ ๋ฐ์ดํฐ ์ ์ผ๋ก ํ์ตํ๊ฑฐ๋, ์์ด๊ฐ ์๋ ๋ฐ์ดํฐ ์ ์ ํ์ตํด์ผ ํ๋ ๊ฒฝ์ฐ
- Create your own lmdb dataset
pip install fire
# Please enter the path and file name according to the situation.
python create_lmdb_dataset.py --inputPath data/ --gtFile data/gt.txt --outputPath result/
-
The structure of the data folder should be as below.
data โโโ gt.txt โโโ test โโโ word_1.png โโโ word_2.png โโโ word_3.png โโโ ...
-
At this time, gt.txt should be {imagepath}\t{label}\n For example
test/word_1.png Tiredness test/word_2.png kills test/word_3.png A ...
-
Modify โselect_data, โbatch_ratio, and opt.character (Note the following Link or train_KOR_ENG_data.py)
parser.add_argument('--character', type=str, default='0123456789abcdefghijklmnopqrstuvwxyz๊ฐ๊ฐ๊ฐ๊ฐ๊ฐ๊ฐ๊ฐ๊ฐ๊ฐ๊ฐ๊ฐ๊ฐ๊ฐ๊ฐ๊ฐ๊ฐ๊ฑ๊ฑ๊ฑฐ๊ฑฑ๊ฑด๊ฑท๊ฑธ๊ฒ๊ฒ๊ฒ๊ฒ๊ฒ๊ฒจ๊ฒฉ๊ฒช๊ฒฌ๊ฒฐ๊ฒน๊ฒฝ๊ณ๊ณ๊ณ ๊ณก๊ณค๊ณง๊ณจ๊ณฐ๊ณฑ๊ณณ๊ณต๊ณผ๊ด๊ด๊ด๊ดด๊ต๊ต๊ตฌ๊ตญ๊ตฐ๊ตณ๊ตด๊ตต๊ตถ๊ตฝ๊ถ๊ถ๊ท๊ท๊ท๊ท ๊ทค๊ทธ๊ทน๊ทผ๊ธ๊ธ๊ธ๊ธ๊ธ๊ธ๊ธฐ๊ธด๊ธธ๊น๊น
๊น๊น๊น๊น๊น๊น๊น๊น๊นก๊นฅ๊นจ๊บผ๊บพ๊ป๊ป๊ป๊ป๊ป๊ปด๊ผฌ๊ผญ๊ผด๊ผผ๊ผฝ๊ฝ๊ฝ๊ฝ๊ฝค๊พธ๊พผ๊ฟ๊ฟ๋๋๋๋๋๋๋๋๋๋ผ๋๋๋๋๋๋ ๋ก๋จ๋ฉ๋ซ๋ญ๋ฎ๋ฏ๋ฑ๋ณ๋ด๋๋๋๋๋ฅ๋๋๋๋๋๋๋ฃ๋ค๋ฅ๋ท๋
๋
๋
๋
๋
๋
ธ๋
น๋
ผ๋๋๋๋๋๋๋๋จ๋๋๋๋๋ด๋๋๋๋๋๋๋ฅ๋ฆ๋ฌ๋๋๋๋ค๋ฅ๋ฆ๋จ๋ซ๋ฌ๋ญ๋ฎ๋ด๋ต๋ท๋น๋ฟ๋๋๋๋๋๋๋๋๋๋ค๋ฅ๋ง๋ฉ๋ฎ๋ฐ๋ธ๋๋
๋๋๋๋๋๋ผ๋๋๋๋๋๋ ๋ก๋ฅ๋ค๋ท๋๋๋ ๋ฃ๋ค๋ฌ๋ญ๋ฏ๋ฑ๋๋ฉ๋ช๋ฐ๋ฑ๋ด๋ธ๋๋
๋๋๋ ๋ก๋ค๋จ๋ป๋ผ๋๋๋๋ซ๋ฑ๋ฐ๋จ๋ฉ๋ฏ๋ฐ๋ป๋๋ผ๋ฝ๋๋๋๋๋๋๋๋จ๋ซ๋ต๋๋ฌ๋ญ๋ฐ๋ด๋ผ๋ฝ๋ฟ๋ ๋ ๋ ๋ ๋ ๋ ค๋ ฅ๋ จ๋ ฌ๋ ต๋ น๋ก๋ก๋ก๋ก ๋กฌ๋กญ๋กฏ๋ฃ๋ฃจ๋ฃฉ๋ฃน๋ฃป๋ค๋ฅ๋ฅ๋ฅ ๋ฅญ๋ฅด๋ฅธ๋ฆ๋ฆ๋ฆ๋ฆฌ๋ฆญ๋ฆฐ๋ฆผ๋ฆฝ๋ฆฟ๋ง๋ง๋ง๋ง๋ง๋ง๋ง๋ง๋ง๋ง๋ง๋ง๋งก๋งฃ๋งค๋งฅ๋งจ๋งต๋งบ๋จธ๋จน๋จผ๋ฉ๋ฉ๋ฉ๋ฉ๋ฉ๋ฉ๋ฉ๋ฉฉ๋ฉฐ๋ฉด๋ฉธ๋ช
๋ช๋ชจ๋ชฉ๋ชฌ๋ชฐ๋ชธ๋ชน๋ชป๋ชฝ๋ฌ๋ฌด๋ฌต๋ฌถ๋ฌธ๋ฌป๋ฌผ๋ญ๋ญ๋ญ๋ญ๋ญฃ๋ฏ๋ฏธ๋ฏผ๋ฏฟ๋ฐ๋ฐ๋ฐ๋ฐ๋ฐ๋ฐ๋ฐ๋ฐ๋ฐ๋ฐ๋ฐ๋ฐ๋ฐ๋ฐค๋ฐฅ๋ฐฉ๋ฐญ๋ฐฐ๋ฐฑ๋ฑ๋ฑ๋ฑ๋ฒ๋ฒ๋ฒ๋ฒ๋ฒ๋ฒ๋ฒ ๋ฒค๋ฒจ๋ฒผ๋ฒฝ๋ณ๋ณ๋ณ๋ณ๋ณ๋ณด๋ณต๋ณถ๋ณธ๋ณผ๋ด๋ด๋ด๋ต๋ต๋ถ๋ถ๋ถ๋ถ๋ถ๋ถ๋ถ๋ถ๋ถ๋ทฐ๋ธ๋ธ๋ธ๋น๋น๋น๋น๋น๋น๋น ๋นก๋นจ๋นต๋นผ๋บ๋บจ๋ป๋ป๋ป๋ผ๋ผ๋ฝ๋ฟ๋ฟ์์จ์ฌ์ญ์ฐ์ด์ถ์ผ์ฟ์์์์์์ค์์์์ ์ค์ฌ์ญ์ฏ์ฑ์ธ์น์ผ์
์
์
์
์์์์์์์ก์ฅ์์ ์ผ์์์์์ ์จ์ซ์ญ์ฒ์ฌ์ฐ์ฝ์์ค์จ์ฌ์ด์ต์ท์น์์์ ์ฃ์ค์ซ์ฌ์ญ์ฏ์ฑ์ถ์ธ์น์ผ์์์์จ์ฉ์ฐ์น์์์์ค์ฐ์ด์ธ์์์จ์ฉ์ฌ์น์ป์์
์์์์์์์์์์์ ์ก์จ์ผ์ฝ์์์์์์์์ด์ต์ธ์น์ป์ผ์์
์์์์์์์์์์ฌ์ญ์ฐ์ด์ท์ผ์ฝ์ฟ์์์์์ค์ฅ์จ์ฌ์ฎ์ณ์ท์น์์์์์ ์ธ์ผ์์์ฉ์ฐ์ฑ์ด์ธ์์์
์์์์จ์ฌ์์์ ์ก์จ์ผ์ฝ์์์์์์ด์ต์ธ์ผ์ฝ์์์
์์์์์์์์์์ ์ก์ฃ์ฅ์ฆ์ฌ์์ค์ ์ ์ ์ ์ ์ ์ ์ ์ ์ ์ ์ ์ ฏ์ ธ์กฐ์กฑ์กด์กธ์ข์ข์ข
์ข์ข์ฃ์ฃผ์ฃฝ์ค์ค์ค์ค์ค์ฅ์ฆ์ฆ์ฆ์ฆ์ฆ์ฆ์ง์ง์ง์ง์ง์ง์ง์ง์ง์ง์ง์ง์งง์งธ์จ์ฉ์ฉ์ฉ์ฉ์ฉ์ชฝ์ซ์ญ์ญ์ฐ์ฐ์ฐข์ฐจ์ฐฉ์ฐฌ์ฐฎ์ฐฐ์ฐธ์ฐป์ฐฝ์ฐพ์ฑ์ฑ
์ฑ์ฑ์ฒ์ฒ์ฒ์ฒ ์ฒฉ์ฒซ์ฒญ์ฒด์ณ์ด์ด์ด์ด์ด์ดฌ์ต์ถ์ถ์ถ์ถ์ถค์ถฅ์ถง์ถฉ์ทจ์ธ ์ธก์ธฐ์ธต์น์น์น์น ์นจ์นซ์นญ์นด์นธ์นผ์บ์บ์บ ์ปค์ปจ์ปฌ์ปด์ปต์ปท์ผ์ผ์ผ์ฝ์ฝ์ฝ์ฝค์ฝฉ์พ์ฟ์ฟ ํดํฌํฐํดํผํคํฌํํํํํํํํํํคํฐํฑํดํธํ
ํ
ํ
ํ
ํ
ํ ํคํจํฑํตํดํฌํดํผํํํํธํนํผํฟํํํฐํฑํํ
ํํํํํํจํฉํฌํผํฝํํํดํธํผํํํฌํญํฐํํธํนํํํํจํํํํผํฝํํํํํํํ ํจํฉํญํดํตํธํํํํฅํํํํคํฌํํํํํํํธํนํผํํํํํํํํํฉํํํํกํจํํํํํจํํดํํํํํํํกํฅํฉํฌํฐํํ-+/.&', help='character label')
ํด๋น ํ๋ก์ธ์ค๋ ipynb ํ์ผ์ ์ ๋ฆฌ๋์ด ์์ต๋๋ค.
Check out this link!