clovaai / CRAFT-pytorch

Official implementation of Character Region Awareness for Text Detection (CRAFT)
MIT License
3.06k stars 866 forks source link

CRAFT detector is very sensible to lighting conditions #124

Open anavc94 opened 3 years ago

anavc94 commented 3 years ago

Hi,

CRAFT does a good job on mayor images I have used, but I have noticed that the text detection is very sensible to lighting conditions.

My question is: is there anything I can do try to detect these parts? Maybe I can go with some image preprocessing but I am not pretty sure what kind of preprocessing could help me. I'd appreciate any idea.

Thanks!

Pratyusha23 commented 3 years ago

Hi, one work around for this issue is, Convert the image into HSV, remove the saturation layer and try again.

may I know which algorithm you are using to extract such vertically oriented text. Facing a lot of issues while recognition in a similar use case.

Thanks!

anavc94 commented 3 years ago

Thank you for your advice! I will give it a try.

Of course! I have tried multiple algorithms for vertical text detection but CRAFT was the only one that gave me good results even without training.

These are the parameters I use (from a log):

[2020-11-09 11:04:50,229] INFO:-- Text Detection Neural Net Info -- [2020-11-09 11:04:50,229] INFO:Model used: .\CharacterLocalization\weights\craft_mlt_25k.pth [2020-11-09 11:04:50,230] INFO:Text Threshold: 0.8 [2020-11-09 11:04:50,234] INFO:Link Threhsold: 0.005 [2020-11-09 11:04:50,235] INFO:Low Text: 0.05 [2020-11-09 11:04:50,235] INFO:Canvas Size: 2350 [2020-11-09 11:04:50,236] INFO:Mag Ratio: 1.0 [2020-11-09 11:04:50,238] INFO:Using CUDA: True [2020-11-09 11:04:50,239] INFO:Using poly: False [2020-11-09 11:04:50,241] INFO:Use text refiner: False [2020-11-09 11:04:50,241] INFO:Use char refiner: False [2020-11-09 11:04:50,242] INFO:Refiner model (in case of use): .\CharacterLocalization\weights\craft_refiner_CTW1500.pth

In my case, the first step is recognizing the container with an object detection algoritm and then do the text detection.

Hope it helps!

Pratyusha23 commented 3 years ago

Thank you for your advice! I will give it a try.

Of course! I have tried multiple algorithms for vertical text detection but CRAFT was the only one that gave me good results even without training.

These are the parameters I use (from a log):

[2020-11-09 11:04:50,229] INFO:-- Text Detection Neural Net Info -- [2020-11-09 11:04:50,229] INFO:Model used: .\CharacterLocalization\weights\craft_mlt_25k.pth [2020-11-09 11:04:50,230] INFO:Text Threshold: 0.8 [2020-11-09 11:04:50,234] INFO:Link Threhsold: 0.005 [2020-11-09 11:04:50,235] INFO:Low Text: 0.05 [2020-11-09 11:04:50,235] INFO:Canvas Size: 2350 [2020-11-09 11:04:50,236] INFO:Mag Ratio: 1.0 [2020-11-09 11:04:50,238] INFO:Using CUDA: True [2020-11-09 11:04:50,239] INFO:Using poly: False [2020-11-09 11:04:50,241] INFO:Use text refiner: False [2020-11-09 11:04:50,241] INFO:Use char refiner: False [2020-11-09 11:04:50,242] INFO:Refiner model (in case of use): .\CharacterLocalization\weights\craft_refiner_CTW1500.pth

In my case, the first step is recognizing the container with an object detection algoritm and then do the text detection.

Hope it helps!

Hey, sorry I was not clear, I am also using a similar pipeline object detection and the CRAFT. the problem I am facing is the recognition of the text i.e FBIU0301487, all the recognition algorithms currently cater to horizontally oriented text not characters written one below the other. I am currently stitching the letters in a horizontal way and using deeptext algorithm Any help is appreciated.

Thanks, Pratyusha

lloydnguyen96 commented 3 years ago

I'm facing the same problem with @Pratyusha23 Does anyone have any ideas for scene text recognition algorithms for vertical text lines?

anavc94 commented 3 years ago

@Pratyusha23 @lloydnguyen96 Hi guys, I am using CRAFT as a char detector and doing the recognition letter by letter. Of course, this is for text with a standarized format such as codes, etc. my case is not very common. Maybe you can go with the repo https://github.com/clovaai/deep-text-recognition-benchmark suggested from the author and train the model with vertical texts.

Regards, Ana