
Welcome to the project! For other languages, see:
Anime Imprimatura assists 2D animation artists with character base coloring. By uploading a small number of character design images (CHD) and character sketches (CHS), users can generate base-colored character sketches (CHSF), significantly improving efficiency.
(These terms were defined specifically for this project for better communication.)
[Test images](TESTimages/)
| CHD, Character Design | CHS, Character Sketch | CHSF, Character Sketch Finished | ||||
|---|---|---|---|---|---|---|
CHD |
CHS_01
CHS_02
CHS_03 |
CHSF_01
CHSF_02
CHSF_03 | ||||

UserIO
For 2D animation, 24 frames per second are usually required for dynamic effects. This highlights the significant labor and time costs involved in base coloring. Discussions with professional animators confirmed our perspective:
The core philosophy of Anime Imprimatura revolves around:
During use, users may have three common questions:

User Module Flowchart

System Workflow Diagram

AI Functional Module Diagram

System Architecture Diagram
git clone --branch release --single-branch https://github.com/ThanatosJun/Anime-Imprimatura.git
npm install
pip install -r requirements.txt
Edit the .env file:
Open the .env file.



MONGO_URI=
# MONGO_URI=mongodb+srv://<USER_NAME>:<USER_PASSWORD>@<CLUSTER_SEQUENCE>.mongodb.net/?retryWrites=true&w=majority&appName=<PROJECTNAME>
JWT_SECRET=
# JWT_SECRET=somerandomstringthatissecureandlongenough
node app.js
python AI_Function/test.py
turn on with brower http://localhost:3000/
The zero123 model used in this project performs poorly in generating multi-angle perspectives for 2D animation characters, significantly affecting the performance of the custom recognition model trained on the data. Adobe's Project Turntable could potentially address this limitation by generating diverse perspectives to compensate for the lack of training data.
The project initially tested Meta's SAM model, which excels at identifying fine-grained enclosed regions. However, it struggles to distinguish which segment belongs to which body part. Additionally, SAM requires higher computational power compared to the custom segmentation model trained using Roboflow. Consequently, a custom-trained segmentation model was adopted. This model is limited in its ability to segment intricate parts and fine-grained enclosed regions, and it struggles with images in different art styles, recognizing only the 15 basic components:
Component Categories:
Arm, Ear, Eye, Eyebrow, Face, Foot, Hair, Hand, Leg, Lower_clothes, Neck, Open_mouth, Shoe, Stock, Upper_clothes.
The current method uses masks to extract colors, forming a class dictionary [class, color] and a position dictionary [class, position]. Flood-fill is then applied for coloring. While this approach accurately retrieves the average color for a mask when its position is correct, it cannot handle gradient colors and is therefore limited to flat coloring. For successful coloring, line segments must be closed; otherwise, color overflow is likely to occur.
Contains scattered functions and an overall project introduction.
A fully organized and deployable local system.
This project is licensed under the MIT License. See the LICENSE file for details.
Python
48.4%
JavaScript
33.1%
Jupyter Notebook
7.3%
CSS
6.3%
Pug
4.8%

Welcome to the project! For other languages, see:
Anime Imprimatura assists 2D animation artists with character base coloring. By uploading a small number of character design images (CHD) and character sketches (CHS), users can generate base-colored character sketches (CHSF), significantly improving efficiency.
(These terms were defined specifically for this project for better communication.)
[Test images](TESTimages/)
| CHD, Character Design | CHS, Character Sketch | CHSF, Character Sketch Finished | ||||
|---|---|---|---|---|---|---|
CHD |
CHS_01
CHS_02
CHS_03 |
CHSF_01
CHSF_02
CHSF_03 | ||||

UserIO
For 2D animation, 24 frames per second are usually required for dynamic effects. This highlights the significant labor and time costs involved in base coloring. Discussions with professional animators confirmed our perspective:
The core philosophy of Anime Imprimatura revolves around:
During use, users may have three common questions:

User Module Flowchart

System Workflow Diagram

AI Functional Module Diagram

System Architecture Diagram
git clone --branch release --single-branch https://github.com/ThanatosJun/Anime-Imprimatura.git
npm install
pip install -r requirements.txt
Edit the .env file:
Open the .env file.



MONGO_URI=
# MONGO_URI=mongodb+srv://<USER_NAME>:<USER_PASSWORD>@<CLUSTER_SEQUENCE>.mongodb.net/?retryWrites=true&w=majority&appName=<PROJECTNAME>
JWT_SECRET=
# JWT_SECRET=somerandomstringthatissecureandlongenough
node app.js
python AI_Function/test.py
turn on with brower http://localhost:3000/
The zero123 model used in this project performs poorly in generating multi-angle perspectives for 2D animation characters, significantly affecting the performance of the custom recognition model trained on the data. Adobe's Project Turntable could potentially address this limitation by generating diverse perspectives to compensate for the lack of training data.
The project initially tested Meta's SAM model, which excels at identifying fine-grained enclosed regions. However, it struggles to distinguish which segment belongs to which body part. Additionally, SAM requires higher computational power compared to the custom segmentation model trained using Roboflow. Consequently, a custom-trained segmentation model was adopted. This model is limited in its ability to segment intricate parts and fine-grained enclosed regions, and it struggles with images in different art styles, recognizing only the 15 basic components:
Component Categories:
Arm, Ear, Eye, Eyebrow, Face, Foot, Hair, Hand, Leg, Lower_clothes, Neck, Open_mouth, Shoe, Stock, Upper_clothes.
The current method uses masks to extract colors, forming a class dictionary [class, color] and a position dictionary [class, position]. Flood-fill is then applied for coloring. While this approach accurately retrieves the average color for a mask when its position is correct, it cannot handle gradient colors and is therefore limited to flat coloring. For successful coloring, line segments must be closed; otherwise, color overflow is likely to occur.
Contains scattered functions and an overall project introduction.
A fully organized and deployable local system.
This project is licensed under the MIT License. See the LICENSE file for details.
Python
48.4%
JavaScript
33.1%
Jupyter Notebook
7.3%
CSS
6.3%
Pug
4.8%