chessai

Chinese Chess Advanced Analytics

https://github.com/nrl-ai/chessai

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

chess chess-engine opencv xiangqi
Last synced: 6 months ago · JSON representation

Repository

Chinese Chess Advanced Analytics

Basic Info
  • Host: GitHub
  • Owner: nrl-ai
  • Language: TypeScript
  • Default Branch: main
  • Homepage:
  • Size: 81.5 MB
Statistics
  • Stars: 10
  • Watchers: 2
  • Forks: 5
  • Open Issues: 1
  • Releases: 0
Topics
chess chess-engine opencv xiangqi
Created over 2 years ago · Last pushed about 2 years ago
Metadata Files
Readme Citation

README.md

ChessAI - Chinese Chess Game Analyzer

ChessAI is a groundbreaking tool that brings together computer vision, chess algorithms, and advanced analytics to revolutionize the Chinese Chess analytics landscape. With ChessAI, you don't need expensive electronic boards to analyze your games. Simply use your regular board, set up a camera to capture the position, and let ChessAI do the rest.

  • Main source code: chesssai.
  • Deep Learning / Data Preparation: dnn_models/data_preparation - Currenly only support for Chinese Chess (XiangQi), contact me for the license and the source code of the data preparation tool.
  • Deep Learning / Training: dnn_models/training.

ChessAI

Roadmap

  • [x] Chess position detection.
  • [x] Chess engine integration.
  • [x] Move suggestion.
  • [ ] Deep learning model for chess board detection (No need to use ARUCO markers).

Environment setup

  • Requirements: Python 3.9, Conda, Node.js 18+.
  • Clone this repository.

bash git clone https://github.com/vietanhdev/chessai --recursive

  • Create a new conda environment and the required packages.

bash conda create -n chessai python=3.9 conda activate chessai pip install -e .

  • Install Node.js packages and build the frontend.

bash cd chessai/frontend npm install cd .. bash build_frontend.sh

Build chess engine

  • This project uses godogpaw as the chess engine.
  • Install Go.
  • Build the engine.

bash cd godogpaw go build

Run the app

bash ENGINE_PATH="data/engines/godogpaw-macos-arm" python -m chessai.app --run_app

Replace ENGINE_PATH with the path to the chess engine executable file.

Data preparation & Training

This project uses computer vision and deep learning to detect chess pieces and chess board position.

AI flow for chess position detection:

AI flow for chess position detection

  • Go to dnn_models folder and follow the instructions in the README.md file to prepare the data and train the model.
  • NOTE: Only training source code and pretrained models are included in this repository. The data preparation scripts and the training datset are not included. Contact me for the license and the data.

References

Owner

  • Name: Neural Research Lab
  • Login: nrl-ai
  • Kind: organization
  • Email: contact@nrl.ai
  • Location: Vietnam

Build Together, Grow Together!

GitHub Events

Total
  • Issues event: 1
  • Watch event: 4
  • Fork event: 1
Last Year
  • Issues event: 1
  • Watch event: 4
  • Fork event: 1

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 23
  • Total Committers: 1
  • Avg Commits per committer: 23.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Viet Anh Nguyen v****v@g****m 23

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • tinkerdragon (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

frontend/package-lock.json npm
  • 593 dependencies
frontend/package.json npm
  • @ianvs/prettier-plugin-sort-imports ^4.1.1 development
  • @types/node ^17.0.45 development
  • @types/react ^18.2.14 development
  • @types/react-dom ^18.2.6 development
  • @typescript-eslint/parser ^5.61.0 development
  • autoprefixer ^10.4.14 development
  • eslint ^8.44.0 development
  • eslint-config-next 13.0.0 development
  • eslint-config-prettier ^8.8.0 development
  • eslint-plugin-react ^7.32.2 development
  • eslint-plugin-tailwindcss ^3.13.0 development
  • postcss ^8.4.24 development
  • prettier ^3.0.3 development
  • tailwindcss ^3.3.2 development
  • typescript ^4.9.5 development
  • @dagrejs/dagre ^1.0.4
  • @hookform/resolvers ^3.3.2
  • @radix-ui/react-accessible-icon ^1.0.3
  • @radix-ui/react-accordion ^1.1.2
  • @radix-ui/react-alert-dialog ^1.0.4
  • @radix-ui/react-aspect-ratio ^1.0.3
  • @radix-ui/react-avatar ^1.0.3
  • @radix-ui/react-checkbox ^1.0.4
  • @radix-ui/react-collapsible ^1.0.3
  • @radix-ui/react-context-menu ^2.1.4
  • @radix-ui/react-dialog ^1.0.4
  • @radix-ui/react-dropdown-menu ^2.0.5
  • @radix-ui/react-hover-card ^1.0.6
  • @radix-ui/react-icons ^1.3.0
  • @radix-ui/react-label ^2.0.2
  • @radix-ui/react-menubar ^1.0.3
  • @radix-ui/react-navigation-menu ^1.1.3
  • @radix-ui/react-popover ^1.0.6
  • @radix-ui/react-progress ^1.0.3
  • @radix-ui/react-radio-group ^1.1.3
  • @radix-ui/react-scroll-area ^1.0.4
  • @radix-ui/react-select ^1.2.2
  • @radix-ui/react-separator ^1.0.3
  • @radix-ui/react-slider ^1.1.2
  • @radix-ui/react-slot ^1.0.2
  • @radix-ui/react-switch ^1.0.3
  • @radix-ui/react-tabs ^1.0.4
  • @radix-ui/react-toast ^1.1.4
  • @radix-ui/react-toggle ^1.0.3
  • @radix-ui/react-toggle-group ^1.0.4
  • @radix-ui/react-tooltip ^1.0.6
  • @tanstack/react-table ^8.9.1
  • class-variance-authority ^0.4.0
  • clsx ^1.2.1
  • cmdk ^0.2.0
  • date-fns ^2.30.0
  • jotai ^2.5.0
  • lucide-react 0.105.0-alpha.4
  • moment ^2.29.4
  • next ^13.4.8
  • next-themes ^0.2.1
  • react ^18.2.0
  • react-day-picker ^8.9.1
  • react-dom ^18.2.0
  • react-router-dom ^6.18.0
  • reactflow ^11.10.1
  • recharts ^2.9.1
  • sharp ^0.31.3
  • swr ^2.2.4
  • tailwind-merge ^1.13.2
  • tailwindcss-animate ^1.0.6
  • zod ^3.22.4
dnn_models/training/requirements.txt pypi
  • loguru ==0.72.0
  • ninja ==1.11.1
  • numpy ==1.26.0
  • onnx ==1.14.1
  • onnx-simplifier ==0.4.10
  • opencv-python ==4.8.0.76
  • psutil ==5.9.5
  • pycocotools >=2.0.2
  • tabulate ==0.9.0
  • tensorboard ==2.12.0
  • thop ==0.1.1.post2209072238
  • torch >=1.7
  • torchvision ==0.15.2
  • tqdm ==4.66.1
dnn_models/training/setup.py pypi
pyproject.toml pypi
setup.py pypi
  • PyYAML ==6.0.1
  • SQLAlchemy ==2.0.15
  • alembic ==1.11.1
  • extract-msg >=0.41.1
  • fastapi ==0.96.0
  • imutils ==0.5.4
  • opencv-contrib-python ==4.7.0.72
  • psutil ==5.9.6
  • pyinstaller ==5.13.2
  • pyserial ==3.5
  • python-multipart >=0.0.6
  • python-on-whales ==0.65.0
  • pywebview ==4.4.1
  • reportlab ==4.0.4
  • requests ==2.31.0
  • serial ==0.0.97
  • svglib ==1.5.1
  • tabulate >=0.9.0
  • tk ==0.1.0
  • urllib3 >=2.0.2
  • uvicorn ==0.23.2