|
# Character Detection Matching (CDM) |
|
|
|
## Demo |
|
|
|
CDM: A Reliable Metric for Fair and Accurate Formula Recognition |
|
|
|
![demo](assets/demo/demo.png) |
|
|
|
Compair with BLEU and ExpRate: |
|
|
|
![demo](assets/demo/cases.png) |
|
|
|
## Installation Guide |
|
|
|
Nodejs, imagemagic, pdflatex are requried packages when render pdf files and convert them to images, here are installation guides. |
|
|
|
### install nodejs |
|
|
|
download the package from [offical website](https://registry.npmmirror.com/binary.html?path=node/latest-v16.x/), and then run these commands. |
|
``` |
|
tar -xvf node-v16.13.1-linux-x64.tar.gz |
|
|
|
mv node-v16.13.1-linux-x64/* /usr/local/nodejs/ |
|
|
|
ln -s /usr/local/nodejs/bin/node /usr/local/bin |
|
|
|
ln -s /usr/local/nodejs/bin/npm /usr/local/bin |
|
|
|
node -v |
|
``` |
|
|
|
### install imagemagic |
|
|
|
the version of imagemagic installed by `apt-gt` usually be 6.x, so we also install it from source code. |
|
``` |
|
git clone https://github.com/ImageMagick/ImageMagick.git ImageMagick-7.1.1 |
|
|
|
cd ImageMagick-7.1.1 |
|
|
|
./configure |
|
|
|
make |
|
|
|
sudo make install |
|
|
|
sudo ldconfig /usr/local/lib |
|
|
|
convert --version |
|
``` |
|
|
|
### install latexpdf |
|
|
|
``` |
|
apt-get update |
|
|
|
sudo apt-get install texlive-full |
|
``` |
|
|
|
### install python requriements |
|
|
|
``` |
|
conda create -n CDM python=3.10 # optional |
|
|
|
git clone xxx |
|
|
|
cd xxx |
|
|
|
pip install -r requirements.txt |
|
``` |
|
|
|
|
|
## Usage |
|
|
|
Should the installation go well, you may now enjoy the evaluation pipeline. |
|
|
|
### 1. batch evaluation |
|
|
|
``` |
|
python evaluation.py -i {path_to_your_input_json} |
|
``` |
|
|
|
the format of input json like this: |
|
``` |
|
[ |
|
{ |
|
"img_id": "case_1", # optional key |
|
"gt": "y = 2z + 3x", |
|
"pred": "y = 2x + 3z" |
|
}, |
|
{ |
|
"img_id": "case_2", |
|
"gt": "y = x^2 + 1", |
|
"pred": "y = x^2 + 1" |
|
}, |
|
... |
|
] |
|
``` |
|
|
|
### 2. run a gradio demo |
|
|
|
``` |
|
python app.py |
|
``` |