Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ierror/acid-chess
ACID Chess - The Chess Computer for nerds, by nerds.
https://github.com/ierror/acid-chess
ai chess image-processing neural-network python pytorch
Last synced: 2 months ago
JSON representation
ACID Chess - The Chess Computer for nerds, by nerds.
- Host: GitHub
- URL: https://github.com/ierror/acid-chess
- Owner: ierror
- License: mit
- Created: 2023-02-25T22:22:59.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-22T22:20:40.000Z (12 months ago)
- Last Synced: 2024-10-12T07:27:47.064Z (3 months ago)
- Topics: ai, chess, image-processing, neural-network, python, pytorch
- Language: Python
- Homepage:
- Size: 65.7 MB
- Stars: 22
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
*The Chess Computer for nerds, by nerds.*
[![RTFM badge](https://img.shields.io/readthedocs/acid-chess/latest?style=flat-square)](https://acid-chess.readthedocs.io/)
[![Discord badge](https://img.shields.io/discord/1083067212803354624?style=flat-square&logo=discord)](https://discord.com/invite/wdMdBr6jxs)
[![License badge](https://img.shields.io/github/license/ierror/acid-chess?style=flat-square&color=blue)](https://github.com/ierror/acid-chess/blob/main/LICENSE)
## Picture by Picture
ACID Chess is a chess computer written in Python, which can be used with any? board. By filming the board, the
contour of the board is recognized, and the positions of the individual pieces can be determined.Two [Neural Networks](https://acid-chess.readthedocs.io/en/latest/dev/neural_networks.html)
were trained for the board and squares recognition.### Board Segmentation Model
### Square Classification Model
~15585 square images
# Current Release
### 2023-11-23: v.0.2.0
- added support to play on Lichesscomplete [Changelog](https://acid-chess.readthedocs.io/en/latest/changelog.html)
# Features
You can play against an engine, Stockfish or Maia are available, or play a game against another human. In both variants,
a PGN is generated, which you can load later in the analysis board at Lichess, or so, for analysis.- Engine play against Stockfish or Maia
- Use polyglot opening books
- Play on Lichess
- PGN exports# Planned Features
- Clock
- ... see [issues](https://github.com/ierror/acid-chess/issues/) for details# Technology
- Python as a programming language
- Qt (PySide6) as toolkit for the GUI (with own extension for reactive bindings)
- PyTorch (Lightning ) for the development of AI models# I want to play against ACID!
We have tested ACID Chess with four different boards and were able to complete games without significant flaws. There
will be problems on unknown boards, but every tester makes ACID Chess better!Regardless of the chosen installation method: ACID Chess saves images of data that cannot be classified sufficiently.
Please provide us with this data. Create an [issue](https://github.com/ierror/acid-chess/issues/new) and upload a ZIP
file as an attachment. `<3`[Installation](https://acid-chess.readthedocs.io/en/latest/installation.html)
# Resources
## Documentation
[https://acid-chess.readthedocs.io](https://acid-chess.readthedocs.io)## Sourcecode
[https://github.com/ierror/acid-chess](https://github.com/ierror/acid-chess)# Contributing
Contributions are always welcome. Please discuss major changes via issue first before submitting a pull request.
# Data Attribution
[Google Programmable Search Engine](https://developers.google.com/custom-search) Rest API was used to search for
Creative Commons licensed images of chess boards used for training the neural network models.- [Notebook](https://github.com/ierror/acid-chess/blob/main/notebooks/board_google_images_dl.ipynb) for collecting the data
- [CSV](https://github.com/ierror/acid-chess/blob/main/data/training/boards/attribution.csv) to document the Attribution# Contact
- Mastodon [@[email protected]](https://chaos.social/@boerni)
- [Discord](https://discord.com/invite/wdMdBr6jxs)
======