Time Code JS
Time code detection on a video frame. Detects 'xx:xx:xx:xx' and 'xx:xx:xx;xx' formats. Runs in a web browser without backend.
Usage
npm install timecodejs
get ocr model dir "newocr.tf/"
Build timecodeocr.js Plugin
# Clone the repo
git clone https://github.com/videogorillas/timecodejs.git
cd timecodejs/
# install node_modules/
make install
# webpack src/*.js
make pack
# Install dev http server
pip install rangehttpserver
# Mount test data if needed
ln -s /GTS_Proxy_Source_examples/norm/ ./videos/norm
# Start dev http server
python -m RangeHTTPServer
# Open test HTML in your browser
open http://localhost:8000/test/test_bundle.html
Train OCR model
cd trainModel/
virtualenv -p python3.6 venv/
./venv/bin/activate
pip3 install -r ./requierments.txt
pip3
# Prepare backgound images
find ~/train/coco/train2017/ -type f > ./bcgs.txt
# Train char OCR
CUDA_VISIBLE_DEVICES=0 python newocr.py
# Convert model to TF javascript
tensorflowjs_converter --input_format keras ./checkpoints/newocr2.hdf5 ../newocr.tf/
Train HAAR clssifier
-
Go to HAAR training home
cd ./haar/
-
Create positive samples list
unzip cuts.zip find cuts/ -type f > positives.txt
-
Create negative samples list
mkdir negs/ ln -s /mnt/coco/train2017/ ./negs/train2017 find negs/ -type f > negs/negatives.txt
-
Create opencv VEC file from positives and negs
./create_samples.sh > haar.log 2>&1 python ./mergevec.py -v ./samples_v6/cuts/ -o samples_v6.vec
-
Train cascade
mkdir cascade_v6/ ./train_cascade.sh
-
Validate cascade
python check_cascade.py ./cascade_v6/cascade.xml