From c39080eafd23014aa1b3d2bdb0e93ce706a96592 Mon Sep 17 00:00:00 2001 From: Calvin <179209347@qq.com> Date: Sun, 20 Oct 2024 16:27:54 +0800 Subject: [PATCH] update readme --- 1_image_sdks/README.md | 438 ++++++++++++++++++ 1_image_sdks/crowd_sdk/README.md | 97 ++++ 1_image_sdks/face_sdks/README_CN.md | 102 ++++ 1_image_sdks/face_sdks/mask_sdk/README.md | 37 ++ 1_image_sdks/feature_extraction_sdk/README.md | 107 +++++ 1_image_sdks/fire_smoke_sdk/README.md | 117 +++++ 1_image_sdks/image_alignment_sdk/README.md | 30 ++ 1_image_sdks/image_colorization_sdk/README.md | 29 ++ 1_image_sdks/image_text_40_sdk/README.md | 164 +++++++ 1_image_sdks/image_text_sr_sdk/README.md | 27 ++ 1_image_sdks/ocr_sdks/README_CN.md | 153 ++++++ 1_image_sdks/pedestrian_sdk/README.md | 32 ++ 1_image_sdks/seg_unet_sdk/README.md | 60 +++ 1_image_sdks/smart_construction_sdk/README.md | 138 ++++++ 1_image_sdks/super_resolution_sdk/README.md | 38 ++ 1_image_sdks/vehicle_sdk/README.md | 42 ++ 2_nlp_sdks/README.md | 159 +++++++ 2_nlp_sdks/README_CN.md | 5 +- 2_nlp_sdks/embedding/README.md | 60 +++ 2_nlp_sdks/embedding/README_CN.md | 60 +++ 2_nlp_sdks/embedding/code2vec_sdk/README.md | 97 ++++ .../embedding/codet5p_110m_sdk/README.md | 97 ++++ 2_nlp_sdks/embedding/m3e_cn_sdk/README.md | 77 +++ .../embedding/mpnet_base_v2_sdk/README.md | 96 ++++ .../sentence_encoder_100_sdk/README.md | 119 +++++ .../sentence_encoder_15_sdk/README.md | 116 +++++ .../README.md | 73 +++ .../text2vec_base_chinese_sdk/README.md | 73 +++ .../README.md | 73 +++ .../text2vec_base_multilingual_sdk/README.md | 81 ++++ 2_nlp_sdks/translation/README.md | 36 ++ 2_nlp_sdks/translation/README_CN.md | 36 ++ .../translation/trans_nllb_sdk/README.md | 251 ++++++++++ .../translation/translation_sdk/README.md | 52 +++ 3_audio_sdks/README.md | 71 +++ 3_audio_sdks/tts_sdk/README.md | 75 +++ 5_bigdata_sdks/README.md | 43 ++ 6_web_app/README.md | 189 ++++++++ 6_web_app/asr/README.md | 130 ++++++ 6_web_app/code_search/README.md | 21 + 6_web_app/code_search/code_search/README.md | 148 ++++++ .../code_search/simple_code_search/README.md | 90 ++++ 6_web_app/face_search/README.md | 73 +++ 6_web_app/face_search/face_search/README.md | 228 +++++++++ .../face_search/simple_face_search/README.md | 165 +++++++ 6_web_app/image_gan/README.md | 115 +++++ 6_web_app/image_seg/README.md | 124 +++++ 6_web_app/image_text_search/README.md | 54 +++ .../image_text_search/README.md | 217 +++++++++ .../simple_image_text_search/README.md | 156 +++++++ 6_web_app/text_search/README.md | 48 ++ .../text_search/simple_text_search/README.md | 154 ++++++ 6_web_app/text_search/text_search/README.md | 194 ++++++++ 6_web_app/text_translation/README.md | 342 ++++++++++++++ 6_web_app/training/README_EN.md | 123 ----- 7_aigc/README.md | 395 ++++++++++++++++ 7_aigc/controlnet_sdks/README.md | 126 +++++ 7_aigc/controlnet_sdks/canny_sdk/README.md | 123 +++++ .../content_shuffle_sdk/README.md | 123 +++++ .../depth_estimation_dpt_sdk/README.md | 123 +++++ .../depth_estimation_midas_sdk/README.md | 123 +++++ .../lineart_anime_sdk/README.md | 123 +++++ .../lineart_coarse_sdk/README.md | 123 +++++ 7_aigc/controlnet_sdks/lineart_sdk/README.md | 123 +++++ 7_aigc/controlnet_sdks/mlsd_sdk/README.md | 123 +++++ .../controlnet_sdks/normal_bae_sdk/README.md | 123 +++++ 7_aigc/controlnet_sdks/pose_sdk/README.md | 123 +++++ .../scribble_hed_sdk/README.md | 123 +++++ .../scribble_pidinet_sdk/README.md | 123 +++++ .../softedge_hed_sdk/README.md | 123 +++++ .../softedge_pidinet_sdk/README.md | 123 +++++ 7_aigc/java_stable_diffusion_sdks/README.md | 168 +++++++ .../controlnet_canny_sdk/README.md | 165 +++++++ .../controlnet_depth_sdk/README.md | 165 +++++++ .../controlnet_inpaint_sdk/README.md | 165 +++++++ .../controlnet_lineart_anime_sdk/README.md | 165 +++++++ .../controlnet_lineart_coarse_sdk/README.md | 165 +++++++ .../controlnet_lineart_sdk/README.md | 165 +++++++ .../controlnet_normal_sdk/README.md | 165 +++++++ .../controlnet_p2p_sdk/README.md | 165 +++++++ .../controlnet_pose_sdk/README.md | 165 +++++++ .../controlnet_scribble_sdk/README.md | 165 +++++++ .../controlnet_seg_sdk/README.md | 165 +++++++ .../controlnet_shuffle_sdk/README.md | 165 +++++++ .../controlnet_softedge_sdk/README.md | 165 +++++++ .../image2image_sdk/README.md | 165 +++++++ .../lora_sdk/README.md | 165 +++++++ .../txt2image_sdk/README.md | 165 +++++++ 8_desktop_app/desktop_app_llm/README.md | 132 ++++++ 8_desktop_app/desktop_app_ocr/README.md | 143 ++++++ .../desktop_app_ocr/ocr_sdk/README.md | 68 +++ 8_desktop_app/desktop_app_upscale/README.md | 152 ++++++ 92 files changed, 11353 insertions(+), 125 deletions(-) create mode 100644 1_image_sdks/README.md create mode 100644 1_image_sdks/crowd_sdk/README.md create mode 100644 1_image_sdks/face_sdks/README_CN.md create mode 100644 1_image_sdks/face_sdks/mask_sdk/README.md create mode 100644 1_image_sdks/feature_extraction_sdk/README.md create mode 100644 1_image_sdks/fire_smoke_sdk/README.md create mode 100644 1_image_sdks/image_alignment_sdk/README.md create mode 100644 1_image_sdks/image_colorization_sdk/README.md create mode 100644 1_image_sdks/image_text_40_sdk/README.md create mode 100644 1_image_sdks/image_text_sr_sdk/README.md create mode 100644 1_image_sdks/ocr_sdks/README_CN.md create mode 100644 1_image_sdks/pedestrian_sdk/README.md create mode 100644 1_image_sdks/seg_unet_sdk/README.md create mode 100644 1_image_sdks/smart_construction_sdk/README.md create mode 100644 1_image_sdks/super_resolution_sdk/README.md create mode 100644 1_image_sdks/vehicle_sdk/README.md create mode 100644 2_nlp_sdks/README.md create mode 100644 2_nlp_sdks/embedding/README.md create mode 100644 2_nlp_sdks/embedding/README_CN.md create mode 100644 2_nlp_sdks/embedding/code2vec_sdk/README.md create mode 100644 2_nlp_sdks/embedding/codet5p_110m_sdk/README.md create mode 100644 2_nlp_sdks/embedding/m3e_cn_sdk/README.md create mode 100644 2_nlp_sdks/embedding/mpnet_base_v2_sdk/README.md create mode 100644 2_nlp_sdks/embedding/sentence_encoder_100_sdk/README.md create mode 100644 2_nlp_sdks/embedding/sentence_encoder_15_sdk/README.md create mode 100644 2_nlp_sdks/embedding/text2vec_base_chinese_paraphrase_sdk/README.md create mode 100644 2_nlp_sdks/embedding/text2vec_base_chinese_sdk/README.md create mode 100644 2_nlp_sdks/embedding/text2vec_base_chinese_sentence_sdk/README.md create mode 100644 2_nlp_sdks/embedding/text2vec_base_multilingual_sdk/README.md create mode 100644 2_nlp_sdks/translation/README.md create mode 100644 2_nlp_sdks/translation/README_CN.md create mode 100644 2_nlp_sdks/translation/trans_nllb_sdk/README.md create mode 100644 2_nlp_sdks/translation/translation_sdk/README.md create mode 100644 3_audio_sdks/README.md create mode 100644 3_audio_sdks/tts_sdk/README.md create mode 100644 5_bigdata_sdks/README.md create mode 100644 6_web_app/README.md create mode 100644 6_web_app/asr/README.md create mode 100644 6_web_app/code_search/README.md create mode 100644 6_web_app/code_search/code_search/README.md create mode 100644 6_web_app/code_search/simple_code_search/README.md create mode 100644 6_web_app/face_search/README.md create mode 100644 6_web_app/face_search/face_search/README.md create mode 100644 6_web_app/face_search/simple_face_search/README.md create mode 100644 6_web_app/image_gan/README.md create mode 100644 6_web_app/image_seg/README.md create mode 100644 6_web_app/image_text_search/README.md create mode 100644 6_web_app/image_text_search/image_text_search/README.md create mode 100644 6_web_app/image_text_search/simple_image_text_search/README.md create mode 100644 6_web_app/text_search/README.md create mode 100644 6_web_app/text_search/simple_text_search/README.md create mode 100644 6_web_app/text_search/text_search/README.md create mode 100644 6_web_app/text_translation/README.md delete mode 100644 6_web_app/training/README_EN.md create mode 100644 7_aigc/README.md create mode 100644 7_aigc/controlnet_sdks/README.md create mode 100644 7_aigc/controlnet_sdks/canny_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/content_shuffle_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/depth_estimation_dpt_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/depth_estimation_midas_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/lineart_anime_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/lineart_coarse_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/lineart_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/mlsd_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/normal_bae_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/pose_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/scribble_hed_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/scribble_pidinet_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/softedge_hed_sdk/README.md create mode 100644 7_aigc/controlnet_sdks/softedge_pidinet_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_canny_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_depth_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_inpaint_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_lineart_anime_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_lineart_coarse_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_lineart_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_normal_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_p2p_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_pose_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_scribble_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_seg_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_shuffle_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/controlnet_softedge_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/image2image_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/lora_sdk/README.md create mode 100644 7_aigc/java_stable_diffusion_sdks/txt2image_sdk/README.md create mode 100644 8_desktop_app/desktop_app_llm/README.md create mode 100644 8_desktop_app/desktop_app_ocr/README.md create mode 100644 8_desktop_app/desktop_app_ocr/ocr_sdk/README.md create mode 100644 8_desktop_app/desktop_app_upscale/README.md diff --git a/1_image_sdks/README.md b/1_image_sdks/README.md new file mode 100644 index 00000000..efc5e658 --- /dev/null +++ b/1_image_sdks/README.md @@ -0,0 +1,438 @@ + + + +#### 项目清单: + +- 1. 1_image_sdks - [图像识别 SDK] +```text + 1). 工具箱系列:图像处理工具箱(静态图像) + 2). 目标检测 + 3). 图像分割 + 4). GAN + 5). 其它类别:OCR等 + ... +``` + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

OCR工具箱 1:OCR方向检测与旋转 - ocr_sdks/ocr_direction_det_sdk

+ OCR图像预处理。 +
+
+
+ +
+
+
+

OCR工具箱 2:OCR文字识别 - ocr_sdks/ocr_v3_sdk

+ 1. V3 文本检测:
+ - 中文文本检测
+ - 英文文本检测
+ - 多语言文本检测
+ 2. V3 文本识别:
+ - 中文简体
+ - 中文繁体
+ - 英文
+ - 韩语
+ - 日语
+ - 阿拉伯
+ - 梵文
+ - 泰米尔语
+ - 泰卢固语
+ - 卡纳达文
+ - 斯拉夫
+
+
+
+ +
+
+
+

OCR工具箱 3:OCR文字识别 - ocr_sdks/ocr_v4_sdk

+ 原生支持旋转倾斜文本文字识别。 +
+
+
+ +
+
+
+

OCR工具箱 4:版面分析 - ocr_sdks/ocr_layout_sdk

+ 可以用于配合文字识别,表格识别的流水线处理使用。
+ 1. 中文版面分析
+ 2. 英文版面分析
+ 3. 中英文文档 - 表格区域检测
+
+
+
+ +
+
+
+

OCR工具箱 5: 表格识别 - ocr_sdks/ocr_table_sdk

+ 中英文表格识别。 +
+
+
+ +
+
+
+

OCR工具箱 6: led文字识别 - ocr_sdks/ocr_led_sdk

+ led表盘文字识别。 +
+
+
+ +
+
+
+

人脸工具箱 1:人脸检测(含5个人脸关键点) - face_sdks/face_detection_sdk

+ 人脸检测(含5个人脸关键点)提供了两个模型的实现。 +
+
+
+ +
+
+
+

人脸工具箱 2:人脸对齐- face_sdks/face_alignment_sdk

+ 根据人脸关键点对齐人脸。 +
+
+
+ +
+
+
+

人脸工具箱 3:人脸特征提取与比对- face_sdks/face_feature_sdk

+ 人脸识别完整的pipeline:人脸检测(含人脸关键点) --> 人脸对齐 --> 人脸特征提取 --> 人脸比对 +
+
+
+ +
+
+
+

人脸工具箱 4:人脸分辨率提升- face_sdks/face_sr_sdk

+ 包含两个功能:
+ 1.单张人脸图片超分辨。
+ 2.自动检测人脸,然后对齐人脸后提升分辨率。 +
+
+
+ +
+
+
+

人脸工具箱 5:图片人脸修复- face_sdks/face_restoration_sdk

+ - 自动检测人脸及关键地,然后抠图,然后根据人脸关键点转正对齐。
+ - 对所有转正对齐的人脸提升分辨率。
+ - 使用分割模型提取人脸,逆向变换后贴回原图。 +
+
+
+ +
+
+
+

人脸工具箱 6:口罩检测 - face_sdks/mask_sdk

+ 口罩检测,给出检测框。 +
+
+
+ +
+
+
+

动物分类识别 - classification/animal_sdk

+ 动物识别sdk,支持7978种动物的分类识别。 +
+
+
+ +
+
+
+

菜品分类识别 - classification/dish_sdk

+ 菜品识别sdk,支持8416种菜品的分类识别。 +
+
+
+ +
+
+
+

烟火检测 - fire_smoke_sdk

+ 烟火检测,给出检测框和置信度。 +
+
+
+ +
+
+
+

行人检测 - pedestrian_sdk

+ 行人检测,给出检测框和置信度。 +
+
+
+ +
+
+
+

反光衣检测 - reflective_vest_sdk

+ 实现施工区域或者危险区域人员穿戴检测。 +
+
+
+ +
+
+
+

智慧工地检测 - smart_construction_sdk

+ 支持检测的类别:人体,安全帽。 +
+
+
+ +
+
+
+

车辆检测 - vehicle_sdk

+ 车辆检测,给出检测框和置信度。 +
+
+
+ +
+
+
+

图片特征提取(512维)SDK - feature_extraction_sdk

+ 提取图片512维特征值,并支持图片1:1特征比对,给出置信度。 +
+
+
+ +
+
+
+

图像&文本的跨模态相似性比对检索 SDK【支持40种语言】 - image_text_40_sdk

+ -图像&文本特征向量提取
+ -相似度计算
+ -softmax计算置信度 +
+
+
+ +
+
+
+

图像矫正 - image_alignment_sdk

+ -自动检测边缘,透视变换转正
+
+
+
+ +
+
+
+

文本图像超分辨 - image_text_sr_sdk

+ -可以用于提升电影字幕清晰度。
+
+
+
+ +
+
+
+

图像超分辨(4倍)- super_resolution_sdk

+ -提升图片4倍分辨率。
+
+
+
+ +
+
+
+

黑白图片上色 - image_colorization_sdk

+ -应用到黑白图像中,从而实现黑白照片的上色。
+
+
+
+ +
+
+
+

一键抠图工具箱 - 1. 通用一键抠图

+ - seg_unet_sdk
+ -包括三个模型:满足不同精度,速度的要求。
+
+
+
+ +
+
+
+

一键抠图工具箱 - 2. 动漫一键抠图

+ - seg_unet_sdk
+ 无需手动绘制边界,大大提高了抠图的效率和精准度。应用场景如:
+ - 广告设计
+ - 影视后期制作
+ - 动漫创作等
+
+
+
+ +
+
+
+

一键抠图工具箱 - 3. 衣服一键抠图

+ - seg_unet_sdk
+ 衣服一键抠图应用场景可以在很多方面发挥作用,以下是一些简要介绍:
+ - 电子商务
+ - 社交媒体
+ - 广告设计
+ - 时尚设计
+ - 虚拟试衣
+
+
+
+ +
+
+
+

一键抠图工具箱 - 4. 人体一键抠图

+ - seg_unet_sdk
+ -人体一键抠图可以将人体从背景中抠出,形成一个透明背景的人体图像。
+
+
+
+ +
+
+
+ + + diff --git a/1_image_sdks/crowd_sdk/README.md b/1_image_sdks/crowd_sdk/README.md new file mode 100644 index 00000000..7602f623 --- /dev/null +++ b/1_image_sdks/crowd_sdk/README.md @@ -0,0 +1,97 @@ + +### Download the model and place it in the /models directory +- Link: https://github.com/mymagicpower/AIAS/releases/download/apps/crowdnet.zip + +### Crowd Density Detection SDK +The CrowdNet model is a crowd density estimation model proposed in 2016. The paper is "CrowdNet: A Deep Convolutional Network for DenseCrowd Counting". The CrowdNet model is mainly composed of deep convolutional neural networks and shallow convolutional neural networks. It is trained by inputting the original image and the density map obtained by the Gaussian filter. Finally, the model estimates the number of people in the image. Of course, this can not only be used for crowd density estimation, theoretically, density estimation of other animals, etc. should also be possible. + +The following is the structural diagram of the CrowdNet model. From the structural diagram, it can be seen that the CrowdNet model is composed of a deep convolutional network (Deep Network) and a shallow convolutional network (Shallow Network). The two groups of networks are spliced into one network and then input into a convolutional layer with a convolutional kernel size of 1. Finally, a density map data is obtained through interpolation, and the estimated number of people can be obtained by counting this density. + +![model](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/sec_sdks/images/network.png) + +### SDK functions: +- Calculate the number of people +- Calculate the density map + +### Running Example- CrowdDetectExample +- Test picture +![crowd](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/sec_sdks/images/crowd1.jpg) + +- Example code: +```text + Path imageFile = Paths.get("src/test/resources/crowd1.jpg"); + Image image = ImageFactory.getInstance().fromFile(imageFile); + + Criteria criteria = new CrowdDetect().criteria(); + + try (ZooModel model = ModelZoo.loadModel(criteria); + Predictor predictor = model.newPredictor()) { + NDList list = predictor.predict(image); + + //person quantity + float q = list.get(1).toFloatArray()[0]; + int quantity = (int)(Math.abs(q) + 0.5); + logger.info("人数 quantity: {}", quantity); + + NDArray densityArray = list.get(0); + logger.info("density: {}", densityArray.toDebugString(1000000000, 1000, 1000, 1000)); +``` + + +- After the operation is successful, the command line should see the following information: +```text +[INFO ] - Person quantity: 11 + +[INFO ] - Density: ND: (1, 1, 80, 60) cpu() float32 +[ + [ 4.56512964e-04, 2.19504116e-04, 3.44428350e-04, ..., -1.44560239e-04, 1.58709008e-04], + [ 9.59073077e-05, 2.53924576e-04, 2.51444580e-04, ..., -1.64886122e-04, 1.14555296e-04], + [ 6.42040512e-04, 5.44962648e-04, 4.95903892e-04, ..., -1.15299714e-04, 3.01052118e-04], + [ 1.58930803e-03, 1.43694575e-03, 7.95312808e-04, ..., 1.44582940e-04, 4.20258410e-04], + .... + [ 2.21548311e-04, 2.92199198e-04, 3.05847381e-04, ..., 6.77200791e-04, 2.88001203e-04], + [ 5.04880096e-04, 2.36357562e-04, 1.90203893e-04, ..., 8.42695648e-04, 2.92608514e-04], + [ 1.45231024e-04, 1.56763941e-04, 2.12623156e-04, ..., 4.69507067e-04, 1.36347953e-04], + [ 5.02332812e-04, 2.98928004e-04, 3.34762561e-04, ..., 4.80025599e-04, 2.72601028e-04], +] + +``` +#### Density map +![density](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/sec_sdks/images/density.png) + + +### Open source algorithm +#### 1. Open source algorithm used by SDK +- [PaddlePaddle-CrowdNet](https://github.com/yeyupiaoling/PaddlePaddle-CrowdNet) +#### 2. How to export the model? +- [how_to_create_paddlepaddle_model](http://docs.djl.ai/docs/paddlepaddle/how_to_create_paddlepaddle_model_zh.html) +- export_model.py +```text +import paddle +import paddle.fluid as fluid + +INFER_MODEL = 'infer_model/' + +def save_pretrained(dirname='infer/', model_filename=None, params_filename=None, combined=True): +if combined: +model_filename = "__model__" if not model_filename else model_filename +params_filename = "__params__" if not params_filename else params_filename +place = fluid.CPUPlace() +exe = fluid.Executor(place) + + program, feeded_var_names, target_vars = fluid.io.load_inference_model(INFER_MODEL, executor=exe) + + fluid.io.save_inference_model( + dirname=dirname, + main_program=program, + executor=exe, + feeded_var_names=feeded_var_names, + target_vars=target_vars, + model_filename=model_filename, + params_filename=params_filename) + + +if __name__ == '__main__': +paddle.enable_static() +save_pretrained() +``` \ No newline at end of file diff --git a/1_image_sdks/face_sdks/README_CN.md b/1_image_sdks/face_sdks/README_CN.md new file mode 100644 index 00000000..f09e4136 --- /dev/null +++ b/1_image_sdks/face_sdks/README_CN.md @@ -0,0 +1,102 @@ +#### 人脸工具箱 SDK + +### 官网: +[官网链接](http://www.aias.top/) + +#### 人脸识别 +广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等; +而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 +人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。 +生物特征识别技术所研究的生物特征包括脸、指纹、手掌纹、虹膜、视网膜、声音(语音)、体形、个人习惯(例如敲击键盘的力度和频率、签字)等, +相应的识别技术就有人脸识别、指纹识别、掌纹识别、虹膜识别、视网膜识别、语音识别(用语音识别可以进行身份识别,也可以进行语音内容的识别, +只有前者属于生物特征识别技术)、体形识别、键盘敲击识别、签字识别等。 + +#### 行业现状 +人脸识别技术目前已经广泛应用于包括人脸门禁系统、刷脸支付等各行各业。随着人脸识别技术的提升,应用越来越广泛。目前中国的人脸识 +别技术已经在世界水平上处于领先地位,在安防行业,国内主流安防厂家也都推出了各自的人脸识别产品和解决方案,泛安防行业是人脸识别技术主要应用领域。 + +#### 技术发展趋势 +目前人脸识别技术广泛采用的是基于神经网络的深度学习模型。利用深度学习提取出的人脸特征,相比于传统技术,能够提取更多的特征, +更能表达人脸之间的相关性,能够显著提高算法的精度。近些年大数据技术以及算力都得到了大幅提升,而深度学习非常依赖于大数据与算力, +这也是为什么这项技术在近几年取得突破的原因。更多更丰富的数据加入到训练模型中,意味着算法模型更加通用,更贴近现实世界。另一方面,算力的提升, +使得模型可以有更深的层级结构,同时深度学习的理论模型本身也在不断的完善中,模型本身的优化将会极大地提高人脸识别的技术水平。 + +#### 人脸识别关键技术 +人脸识别涉及的关键技术包含:人脸检测,人脸关键点,人脸特征提取,人脸比对,人脸对齐。 +![face_sdk](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/face_sdk/images/face_sdk.png) + +### 1. 人脸检测(含5个人脸关键点)SDK - face_detection_sdk +人脸检测(含5个人脸关键点)提供了两个模型的实现: +#### 小模型: +模型推理例子代码: LightFaceDetectionExample.java + +#### 大模型: +模型推理例子代码: RetinaFaceDetectionExample.java + +#### 运行人脸检测的例子: +1. 运行成功后,命令行应该看到下面的信息: +```text +[INFO ] - Face detection result image has been saved in: build/output/retinaface_detected.png +[INFO ] - [ + class: "Face", probability: 0.99993, bounds: [x=0.552, y=0.762, width=0.071, height=0.156] + class: "Face", probability: 0.99992, bounds: [x=0.696, y=0.665, width=0.071, height=0.155] + class: "Face", probability: 0.99976, bounds: [x=0.176, y=0.778, width=0.033, height=0.073] + class: "Face", probability: 0.99961, bounds: [x=0.934, y=0.686, width=0.032, height=0.068] + class: "Face", probability: 0.99949, bounds: [x=0.026, y=0.756, width=0.039, height=0.078] +] +``` +2. 输出图片效果如下: +![detected-faces](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/face_sdk/images/retinaface_detected.png) + +### 2. 人脸对齐 SDK - face_alignment_sdk +#### 运行人脸检测的例子 FaceAlignExample.java +运行成功后,输出图片效果如下: +![face_align](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/face_sdk/images/face_align.png) + +### 3. 人脸特征提取与比对SDK - face_feature_sdk +#### 3.1 人脸特征提取 - FeatureExtractionExample +运行成功后,命令行应该看到下面的信息: +```text +[INFO ] - Face feature: [-0.04026184, -0.019486362, -0.09802659, 0.01700999, 0.037829027, ...] +``` + +##### 3.2 人脸特征比对 - FeatureComparisonExample +人脸识别完整的pipeline:人脸检测(含人脸关键点) --> 人脸对齐 --> 人脸特征提取 --> 人脸比对 +- 首先检测人脸 +- 然后根据人脸关键点转正对齐 +- 提取特征比较相似度 +![face_feature](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/face_sdk/images/face_feature.png) + +运行成功后,命令行应该看到下面的信息: +比对使用的是欧式距离的计算方式。 + +```text +[INFO ] - face1 feature: [0.19923544, 0.2091935, -0.17899065, ..., 0.7100589, -0.27192503, 1.1901716] +[INFO ] - face2 feature: [0.1881579, -0.40177754, -0.19950306, ..., -0.71886086, 0.31257823, -0.009294844] +[INFO ] - kana1 - kana2 Similarity: 0.68710256 +``` +提取特征计算相似度。可以进一步对112 * 112 人脸图片按比例裁剪,去除冗余信息,比如头发等,以提高精度。 +如果图片模糊,可以结合人脸超分辨模型使用。 + +### 4. 人脸分辨率提升SDK - face_sr_sdk +#### 4.1 单张人脸图片超分辨 - GFPExample +- 测试图片(左侧原图,右侧效果) +![face_sr](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/face_sdk/images/single_face_sr.png) + +#### 4.2 多人脸超分辨(自动检测人脸,然后对齐人脸后提升分辨率 - FaceSrExample +- 自动检测人脸及关键地,然后抠图,然后根据人脸关键点转正对齐 +![face_sr](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/face_sdk/images/face_det.png) + +- 对所有转正对齐的人脸提升分辨率 +![face_sr](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/face_sdk/images/face_sr.png) + + +### 5. 图片人脸修复 SDK - face_restoration_sdk +- 自动检测人脸及关键地,然后抠图,然后根据人脸关键点转正对齐。 +- 对所有转正对齐的人脸提升分辨率。 +- 使用分割模型提取人脸,逆向变换后贴回原图。 + +#### 运行例子 - FaceRestorationExample +- 测试图片 + ![face_sr](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/face_sdk/images/face_res.png) + diff --git a/1_image_sdks/face_sdks/mask_sdk/README.md b/1_image_sdks/face_sdks/mask_sdk/README.md new file mode 100644 index 00000000..fed66cb8 --- /dev/null +++ b/1_image_sdks/face_sdks/mask_sdk/README.md @@ -0,0 +1,37 @@ + +### Download the model and place it in the /models directory +- Link 1: https://github.com/mymagicpower/AIAS/releases/download/apps/face_detection.zip +- Link 2: https://github.com/mymagicpower/AIAS/releases/download/apps/face_detection.zip + +### Mask Detection SDK +Mask detection helps fight against pneumonia, and artificial intelligence technology is being applied to epidemic prevention and control. Wearing a mask has become one of the most important measures to cut off transmission routes in epidemic prevention. However, in practical scenarios, there are still people who do not take it seriously, do not pay attention, and have a lucky mentality, especially in public places, which poses great risks to individuals and the public. +Based on artificial intelligence, mask detection function can perform real-time detection based on camera video stream. + +#### SDK function +- Mask detection + +#### Running example +1. After successful operation, the command line should see the following information: +```text +[INFO ] - Face mask detection result image has been saved in: build/output/faces_detected.png +[INFO ] - [ + class: "MASK", probability: 0.99998, bounds: [x=0.608, y=0.603, width=0.148, height=0.265] + class: "MASK", probability: 0.99998, bounds: [x=0.712, y=0.154, width=0.129, height=0.227] + class: "NO MASK", probability: 0.99997, bounds: [x=0.092, y=0.123, width=0.066, height=0.120] + class: "NO MASK", probability: 0.99986, bounds: [x=0.425, y=0.146, width=0.062, height=0.114] + class: "MASK", probability: 0.99981, bounds: [x=0.251, y=0.671, width=0.088, height=0.193] +] +``` +2. The output image effect is as follows: +![result](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/mask_sdk/face-masks.png) + + +### Open source algorithms +#### 1. Open source algorithms used by SDK +- [PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection) +- [PaddleClas](https://github.com/PaddlePaddle/PaddleClas/blob/release%2F2.2/README_ch.md) + +#### 2. How to export the model? +- [export_model](https://github.com/PaddlePaddle/PaddleDetection/blob/release%2F2.4/tools/export_model.py) +- [how_to_create_paddlepaddle_model](http://docs.djl.ai/docs/paddlepaddle/how_to_create_paddlepaddle_model_zh.html) + diff --git a/1_image_sdks/feature_extraction_sdk/README.md b/1_image_sdks/feature_extraction_sdk/README.md new file mode 100644 index 00000000..0f0be905 --- /dev/null +++ b/1_image_sdks/feature_extraction_sdk/README.md @@ -0,0 +1,107 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接: https://pan.baidu.com/s/1xjKfXLMmTs0iWwJ0NpDmKg?pwd=zpwa + +### 图片特征提取(512维)SDK +提取图片512维特征值,并支持图片1:1特征比对,给出置信度。 + +### SDK功能: +#### 1. 特征提取 +使用imagenet预训练模型resnet50,提取图片512维特征。 + +- 运行例子 - FeatureExtractionExample +测试图片 +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/feature_extraction_sdk/car1.png) + +- 运行成功后,命令行应该看到下面的信息: +```text +... +512 +[INFO ] - [..., 0.18182503, 0.13296463, 0.22447465, 0.07165501..., 0.16957843] + +``` + +#### 2. 图片1:1比对 +计算图片相似度。 + +- 运行例子 - FeatureComparisonExample +测试图片: 左右特征对比 +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/feature_extraction_sdk/comparision.png) + +- 运行成功后,命令行应该看到下面的信息: +```text +... +[INFO ] - 0.77396494 + +``` + + +### 开源算法 +#### 1. sdk使用的开源算法 +- [sentence-transformers](https://github.com/UKPLab/sentence-transformers) +- [预训练模型](https://www.sbert.net/docs/pretrained_models.html#image-text-models) +- [安装](https://www.sbert.net/docs/installation.html) + + +#### 2. 模型如何导出 ? +- [how_to_convert_your_model_to_torchscript](http://docs.djl.ai/docs/pytorch/how_to_convert_your_model_to_torchscript.html) + +- 导出CPU模型(pytorch 模型特殊,CPU&GPU模型不通用。所以CPU,GPU需要分别导出) +```text +from sentence_transformers import SentenceTransformer, util +from PIL import Image +import torch + +#Load CLIP model +model = SentenceTransformer('clip-ViT-B-32', device='cpu') + +#Encode an image: +# img_emb = model.encode(Image.open('two_dogs_in_snow.jpg')) + +#Encode text descriptions +# text_emb = model.encode(['Two dogs in the snow', 'A cat on a table', 'A picture of London at night']) +text_emb = model.encode(['Two dogs in the snow']) +sm = torch.jit.script(model) +sm.save("models/clip-ViT-B-32/clip-ViT-B-32.pt") + +#Compute cosine similarities +# cos_scores = util.cos_sim(img_emb, text_emb) +# print(cos_scores) +``` + +- 导出GPU模型 +```text + from sentence_transformers import SentenceTransformer, util + from PIL import Image + import torch + +#Load CLIP model +model = SentenceTransformer('clip-ViT-B-32', device='gpu') + +#Encode an image: +# img_emb = model.encode(Image.open('two_dogs_in_snow.jpg')) + +#Encode text descriptions +# text_emb = model.encode(['Two dogs in the snow', 'A cat on a table', 'A picture of London at night']) +text_emb = model.encode(['Two dogs in the snow']) +sm = torch.jit.script(model) +sm.save("models/clip-ViT-B-32/clip-ViT-B-32.pt") + +#Compute cosine similarities +# cos_scores = util.cos_sim(img_emb, text_emb) +# print(cos_scores) +``` + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/1_image_sdks/fire_smoke_sdk/README.md b/1_image_sdks/fire_smoke_sdk/README.md new file mode 100644 index 00000000..1e7741e0 --- /dev/null +++ b/1_image_sdks/fire_smoke_sdk/README.md @@ -0,0 +1,117 @@ + +### Download the model and place it in the models directory +- Link: https://github.com/mymagicpower/AIAS/releases/download/apps/fire_smoke.zip + +### Fire Detection SDK +Supports smoke-fire detection. + + +### SDK Features + +- Fire and smoke detection with bounding box and confidence level +- Supports two categories: + - fire + - smoke + +#### 运行例子 - FireSmokeDetectExample +- Test Image +![fire_detect](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/sec_sdks/images/fire_detect_result.png) + +After running successfully, the command line should display the following information: +```text +[INFO ] - [ + class: "fire 0.847178041934967", probability: 0.84717, bounds: [x=0.522, y=0.516, width=0.083, height=0.173] + class: "smoke 0.4434642493724823", probability: 0.44346, bounds: [x=0.492, y=0.000, width=0.295, height=0.116] + class: "smoke 0.36228814721107483", probability: 0.36228, bounds: [x=0.576, y=0.110, width=0.113, height=0.121] +] +``` + +### Open-source Algorithm +#### 1. Open-source algorithm used in the SDK +- [fire-smoke-detect-yolov4](https://github.com/gengyanlei/fire-smoke-detect-yolov4) + +#### 2. How to export the model? +- [how_to_convert_your_model_to_torchscript](http://docs.djl.ai/docs/pytorch/how_to_convert_your_model_to_torchscript.html) + +- Export the model (Note: pytorch models are different for CPU and GPU, so they should be exported separately) +- torch.device('cpu') +- torch.device('gpu') +```text +"""Exports a YOLOv5 *.pt model to ONNX and TorchScript formats + +Usage: + $ export PYTHONPATH="$PWD" && python models/export.py --weights ./weights/yolov5s.pt --img 640 --batch 1 +""" + +import argparse + +import torch + +from utils.google_utils import attempt_download + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--weights', type=str, default='./best.pt', help='weights path') + parser.add_argument('--img-size', nargs='+', type=int, default=[640, 640], help='image size') + parser.add_argument('--batch-size', type=int, default=1, help='batch size') + parser.add_argument('--augment', action='store_true', help='augmented inference') + opt = parser.parse_args() + opt.img_size *= 2 if len(opt.img_size) == 1 else 1 # expand + print(opt) + + # Input + img = torch.zeros((opt.batch_size, 3, *opt.img_size)) # image size(1,3,320,192) iDetection + + # Load PyTorch model + attempt_download(opt.weights) + model = torch.load(opt.weights, map_location=torch.device('cpu'))['model'].float() + model.eval() + model.model[-1].export = False # set Detect() layer export=True + if img.ndimension() == 3: + img = img.unsqueeze(0) + y = model(img) # dry run + + # TorchScript export + try: + print('\nStarting TorchScript export with torch %s...' % torch.__version__) + f = opt.weights.replace('.pt', '.torchscript.pt') # filename + ts = torch.jit.trace(model, img) + ts.save(f) + print('TorchScript export success, saved as %s' % f) + except Exception as e: + print('TorchScript export failure: %s' % e) + + # # ONNX export + # try: + # import onnx + # + # print('\nStarting ONNX export with onnx %s...' % onnx.__version__) + # f = opt.weights.replace('.pt', '.onnx') # filename + # model.fuse() # only for ONNX + # torch.onnx.export(model, img, f, verbose=False, opset_version=12, input_names=['images'], + # output_names=['classes', 'boxes'] if y is None else ['output']) + # + # # Checks + # onnx_model = onnx.load(f) # load onnx model + # onnx.checker.check_model(onnx_model) # check onnx model + # print(onnx.helper.printable_graph(onnx_model.graph)) # print a human readable model + # print('ONNX export success, saved as %s' % f) + # except Exception as e: + # print('ONNX export failure: %s' % e) + # + # # CoreML export + # try: + # import coremltools as ct + # + # print('\nStarting CoreML export with coremltools %s...' % ct.__version__) + # # convert model from torchscript and apply pixel scaling as per detect.py + # model = ct.convert(ts, inputs=[ct.ImageType(name='images', shape=img.shape, scale=1 / 255.0, bias=[0, 0, 0])]) + # f = opt.weights.replace('.pt', '.mlmodel') # filename + # model.save(f) + # print('CoreML export success, saved as %s' % f) + # except Exception as e: + # print('CoreML export failure: %s' % e) + + # Finish + print('\nExport complete. Visualize with https://github.com/lutzroeder/netron.') +``` diff --git a/1_image_sdks/image_alignment_sdk/README.md b/1_image_sdks/image_alignment_sdk/README.md new file mode 100644 index 00000000..1281aca6 --- /dev/null +++ b/1_image_sdks/image_alignment_sdk/README.md @@ -0,0 +1,30 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接: https://pan.baidu.com/s/1LrBs49Y32vU5Z71_E-qwIA?pwd=cfsc + +### 图像矫正 +在OCR文字识别的时候,我们得到的图像一般情况下都不是正的,多少都会有一定的倾斜。 并且图片有可能是透视视角拍摄,需要重新矫正,尤其此时,将图片转正可以提高文字识别的精度。 +智能图片裁剪框架。自动识别边框,手动调节选区,使用透视变换裁剪并矫正选区;适用于身份证,名片,文档等照片的裁剪。 +- 直线检测在好多实现应用中能用到到,比如文档扫描,辅助驾驶中的车道线检测,传统的算法用的最多应该属于霍夫曼直线检测,但传统算法都有一个痛苦的调参过程和只能对优化过的使用场景有较好的结果,换个场景可能就要重新调参。 +- MLSD是一种面向实时和轻量级的线段检测深度学习算法,论文地址:https://arxiv.org/abs/210600186, +相对于传统算法,MLSD只是在训练模型的层面上会比较麻烦,在实现检测并不用去关心各种参数就能达到很好的效果。 + + +#### 图像矫正java实现(自动检测边缘,透视变换转正) +图像转正提供了两个模型,根据需要使用。 +![MlsdSquareExample](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/MlsdSquareExample.jpeg) + + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/1_image_sdks/image_colorization_sdk/README.md b/1_image_sdks/image_colorization_sdk/README.md new file mode 100644 index 00000000..8603cff3 --- /dev/null +++ b/1_image_sdks/image_colorization_sdk/README.md @@ -0,0 +1,29 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接: https://pan.baidu.com/s/153hn2bzJ6WGElAgXE0Hb8A?pwd=7d2n + +### 黑白图片上色 SDK +黑白图片上色是一种基于人工智能技术的应用程序,旨在将黑白照片自动转换为彩色照片。这种技术通常利用深度学习和计算机视觉算法,通过分析图像中的像素和内容来预测合适的颜色,并将其应用到黑白图像中,从而实现黑白照片的上色。 +这种技术的应用领域非常广泛,包括历史照片的修复和彩色化、电影和视频的修复与彩色化、艺术创作等。通过黑白图片自动上色,用户可以快速、高效地将黑白照片转换为彩色照片,使得这些古老的影像更加生动和真实。 +值得注意的是,黑白图片上色AI虽然在许多方面表现出色,但在处理复杂图像和特定场景时仍然存在一定的局限性。在使用这类技术时,用户需要谨慎对待结果,并在需要时进行手动调整以获得最佳效果。 + + +### 图片上 - ColorExample +- 测试图片(左侧原图,右侧效果) + ![color](https://aias-home.oss-cn-beijing.aliyuncs.com/products/cv/image_colorization_sdk/color.png) + + + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/1_image_sdks/image_text_40_sdk/README.md b/1_image_sdks/image_text_40_sdk/README.md new file mode 100644 index 00000000..7a9221da --- /dev/null +++ b/1_image_sdks/image_text_40_sdk/README.md @@ -0,0 +1,164 @@ +### 官网: +[官网链接](http://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接: https://pan.baidu.com/s/1xjKfXLMmTs0iWwJ0NpDmKg?pwd=zpwa + +### 图像&文本的跨模态相似性比对检索 SDK【支持40种语言】 + +#### 背景介绍 +OpenAI 发布了两个新的神经网络:CLIP 和 DALL·E。它们将 NLP(自然语言识别)与 图像识别结合在一起, +对日常生活中的图像和语言有了更好的理解。 +之前都是用文字搜文字,图片搜图片,现在通过CLIP这个模型,可是实现文字搜图片,图片搜文字。 +其实现思路就是将图片跟文本映射到同一个向量空间。如此,就可以实现图片跟文本的跨模态相似性比对检索。 +- 特征向量空间(由图片 & 文本组成) +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/clip_Imagesearch.png) + +#### CLIP,“另类”的图像识别 +目前,大多数模型学习从标注好的数据集的带标签的示例中识别图像,而 CLIP 则是学习从互联网获取的图像及其描述, +即通过一段描述而不是“猫”、“狗”这样的单词标签来认识图像。 +为了做到这一点,CLIP 学习将大量的对象与它们的名字和描述联系起来,并由此可以识别训练集以外的对象。 +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/clip.png) +如上图所示,CLIP网络工作流程: 预训练图编码器和文本编码器,以预测数据集中哪些图像与哪些文本配对。 +然后,将CLIP转换为zero-shot分类器。此外,将数据集的所有分类转换为诸如“一只狗的照片”之类的标签,并预测最佳配对的图像。 + +### SDK功能: +- 图像&文本特征向量提取 +- 相似度计算 +- softmax计算置信度 + +#### 支持的语言列表: +* Albanian +* Amharic +* Arabic +* Azerbaijani +* Bengali +* Bulgarian +* Catalan +* Chinese (Simplified) +* Chinese (Traditional) +* Dutch +* English +* Estonian +* Farsi +* French +* Georgian +* German +* Greek +* Hindi +* Hungarian +* Icelandic +* Indonesian +* Italian +* Japanese +* Kazakh +* Korean +* Latvian +* Macedonian +* Malay +* Pashto +* Polish +* Romanian +* Russian +* Slovenian +* Spanish +* Swedish +* Tagalog +* Thai +* Turkish +* Urdu +* Vietnamese + +#### 运行例子 - ImageTextSearchExample +运行成功后,命令行应该看到下面的信息: +```text +... +# 测试文本: +[INFO ] - texts: [在雪地里有两条狗, 一只猫在桌子上, 夜晚的伦敦] + + +# 测试图片: +[INFO ] - image: src/test/resources/two_dogs_in_snow.jpg +``` +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/two_dogs_in_snow.jpeg) + +```text +# 向量维度: +[INFO ] - Vector dimension: 512 + +# 生成图片向量: +[INFO ] - image embeddings: [0.22221693, 0.16178696, ..., -0.06122274, 0.13340257] + +# 生成文本向量 & 计算相似度: +[INFO ] - text [在雪地里有两条狗] embeddings: [0.07365318, -0.011488605, ..., -0.10090914, -0.5918399] +[INFO ] - Similarity: 30.857948% + +[INFO ] - text [一只猫在桌子上] embeddings: [0.01640176, 0.02016575, ..., -0.22862512, -0.091851026] +[INFO ] - Similarity: 10.379046% + +[INFO ] - text [夜晚的伦敦] embeddings: [-0.19309878, -0.008406041, ..., -0.1816148, 0.12109539] +[INFO ] - Similarity: 14.382527% + + +#softmax 置信度计算: +[INFO ] - texts: [在雪地里有两条狗, 一只猫在桌子上, 夜晚的伦敦] +[INFO ] - Label probs: [0.9999999, 1.2768101E-9, 6.995442E-8] + +# "在雪地里有两条狗" 与图片相似的置信度为:0.9999999 +``` + +### 开源算法 +#### 1. sdk使用的开源算法 +- [sentence-transformers](https://github.com/UKPLab/sentence-transformers) +- [预训练模型](https://www.sbert.net/docs/pretrained_models.html#image-text-models) +- [安装](https://www.sbert.net/docs/installation.html) +- [说明](https://www.sbert.net/examples/applications/image-search/README.html) + + +#### 2. 模型如何导出 ? +- [how_to_convert_your_model_to_torchscript](http://docs.djl.ai/docs/pytorch/how_to_convert_your_model_to_torchscript.html) + +- 导出CPU模型(pytorch 模型特殊,CPU&GPU模型不通用。所以CPU,GPU需要分别导出) +- device='cpu' +- device='gpu' +- export_image_search.py +```text +from sentence_transformers import SentenceTransformer, util +from PIL import Image +import torch + +#Load CLIP model +model = SentenceTransformer('clip-ViT-B-32', device='cpu') + +#Encode an image: +# img_emb = model.encode(Image.open('two_dogs_in_snow.jpg')) + +#Encode text descriptions +# text_emb = model.encode(['Two dogs in the snow', 'A cat on a table', 'A picture of London at night']) +text_emb = model.encode(['Two dogs in the snow']) +sm = torch.jit.script(model) +sm.save("models/clip-ViT-B-32/clip-ViT-B-32.pt") + +#Compute cosine similarities +# cos_scores = util.cos_sim(img_emb, text_emb) +# print(cos_scores) +``` + +### 其它帮助信息 +http://aias.top/guides.html + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/1_image_sdks/image_text_sr_sdk/README.md b/1_image_sdks/image_text_sr_sdk/README.md new file mode 100644 index 00000000..926e3db3 --- /dev/null +++ b/1_image_sdks/image_text_sr_sdk/README.md @@ -0,0 +1,27 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接: https://pan.baidu.com/s/1cAh-o8CTeaSH-QSCGtfMgw?pwd=32ty + + +##### 文本图像超分辨 - image_text_sr_sdk +提供了两个模型,根据需要使用。 +可以用于提升电影字幕清晰度。 + +![image](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/TextSrExample.jpg) + + +#### 开源项目: +- [textbsr](https://github.com/csxmli2016/textbsr) + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/1_image_sdks/ocr_sdks/README_CN.md b/1_image_sdks/ocr_sdks/README_CN.md new file mode 100644 index 00000000..b60306bc --- /dev/null +++ b/1_image_sdks/ocr_sdks/README_CN.md @@ -0,0 +1,153 @@ +### 官网: +[官网链接](https://www.aias.top/) + +## 文字识别(OCR)工具箱 +文字识别(OCR)目前在多个行业中得到了广泛应用,比如金融行业的单据识别输入,餐饮行业中的发票识别, +交通领域的车票识别,企业中各种表单识别,以及日常工作生活中常用的身份证,驾驶证,护照识别等等。 +OCR(文字识别)是目前常用的一种AI能力。 + +### OCR工具箱功能: + +#### 1. 图像预处理SDK +在OCR文字识别的时候,我们得到的图像一般情况下都不是正的,多少都会有一定的倾斜。 并且图片有可能是透视视角拍摄,需要重新矫正,尤其此时,将图片转正可以提高文字识别的精度。 + +##### 1.1. 方向检测与旋转 - ocr_direction_det_sdk +##### 方向检测 - DirectionDetExample +模型本身支持 0 度,和 180 度两种方向分类。 +但是由于中文的书写习惯,根据宽高比可以判断文本的90度和270度两个方向。 +- 0度 +- 90度 +- 180度 +- 270度 +![OcrDirectionExample](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/OcrDirectionExample.jpeg) + +##### 方向旋转 - RotationExample +- 逆时针旋转 +- 每次旋转90度的倍数 + ![RotationExample](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/RotationExample.jpeg) + + + + + + +#### 2. 文字识别SDK +- ocr_v3_sdk ocr V3版本 +- ocr_v4_sdk ocr V4版本 + +##### 2.1. V3 文本检测 +- 中文文本检测 +- 英文文本检测 +- 多语言文本检测 +![OcrV3DetExample](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/OcrV3DetExample.jpeg) + +##### 2.2. V3 文本识别 +支持的语言模型: +- 中文简体 +- 中文繁体 +- 英文 +- 韩语 +- 日语 +- 阿拉伯 +- 梵文 +- 泰米尔语 +- 泰卢固语 +- 卡纳达文 +- 斯拉夫 + +![OcrV3RecExample1](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/OcrV3RecExample1.jpeg) + +![OcrV3RecExample2](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/OcrV3RecExample2.jpeg) + + +##### 2.3. 多线程文本识别 - OcrV3MultiThreadRecExample +CPU:2.3 GHz 四核 Intel Core i5 +同样图片单线程运行时间:1172 ms +多线程运行时间:707 ms +图片检测框较多时,多线程可以显著提升识别速度。 + + +#### 3. 版面分析 - ocr_layout_sdk +可以用于配合文字识别,表格识别的流水线处理使用。 +##### 3.1. 中文版面分析 - LayoutCNDetExample +中文版面分析模型,可以划分为表格、图片、图片标题、表格、表格标题、页眉、脚本、引用、公式10类区域: +- text +- title +- figure +- figure_caption +- table +- table_caption +- header +- footer +- reference +- equation +![LayoutCNDetExample](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/LayoutCNDetExample.jpeg) + +##### 3.2. 英文版面分析 - LayoutENDetExample +英文版面分析模型,可以划分文字、标题、表格、图片以及列表5类区域: +- text +- title +- list +- table +- figure +- 运行成功后,命令行应该看到下面的信息: + +![LayoutENDetExample](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/LayoutENDetExample.jpeg) + + +##### 3.3. 中英文文档 - 表格区域检测 - TableDetExample +表格数据集训练的版面分析模型,支持中英文文档表格区域的检测。 +![TableDetExample](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/TableDetExample.jpeg) + + +#### 4. 表格识别 - ocr_table_sdk +##### 4.1. 英文表格识别 - TableENRecExample +![TableENRecExample](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/TableENRecExample.jpeg) + + +##### 4.2. 中文表格识别 - TableCNRecExample +![TableCNRecExample](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/TableCNRecExample.jpeg) + +##### 4.3. 多表格自动检测识别 - MultiTableRecExample +![MultiTableRecExample](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/MultiTableRecExample.jpeg) + + +#### 5. led文字识别 - ocr_led_sdk +##### 5.1. 文本检测 - OcrV3DetExample + +![OcrV3DetExample](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/led_det_result.png) + +##### 5.2. 文本识别 - OcrV3RecExample + + +![OcrV3RecExample1](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/led_rec_result.png) + + + +### 开源算法 +#### 1. PaddleOCR开源大礼包 +- 链接:https://pan.baidu.com/s/1MiWrtgnR3Te1BOpAb3maqg?pwd=djbk + + +#### 2. sdk使用的开源算法 +- [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR) +- https://github.com/PaddlePaddle/PaddleOCR/blob/release%2F2.6/applications/%E6%B6%B2%E6%99%B6%E5%B1%8F%E8%AF%BB%E6%95%B0%E8%AF%86%E5%88%AB.md + +#### 3. 模型如何导出 ? +(readme.md 里提供了推理模型的下载链接) +- [export_model](https://github.com/PaddlePaddle/PaddleOCR/blob/release%2F2.5/tools/export_model.py) +- [how_to_create_paddlepaddle_model](http://docs.djl.ai/docs/paddlepaddle/how_to_create_paddlepaddle_model_zh.html) + + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html + diff --git a/1_image_sdks/pedestrian_sdk/README.md b/1_image_sdks/pedestrian_sdk/README.md new file mode 100644 index 00000000..887bca7c --- /dev/null +++ b/1_image_sdks/pedestrian_sdk/README.md @@ -0,0 +1,32 @@ + +### Download the model and place it in the /models directory +- Link: https://github.com/mymagicpower/AIAS/releases/download/apps/pedestrian.zip + +### Pedestrian Detection SDK +Pedestrian detection is the use of computer vision technology to determine whether there are pedestrians in the image and to provide accurate positioning, generally represented by a rectangular box. Pedestrian detection technology has strong practical value. It can be combined with pedestrian tracking, pedestrian re-identification, and other technologies, and applied to autonomous driving systems for cars, intelligent video surveillance, human behavior analysis, passenger flow statistics system, intelligent transportation and other fields. + +### SDK Functionality +- Pedestrian detection, providing detection boxes and confidence + +#### Running Example- PedestrianDetectExample +- Test image +![pedestrian](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/sec_sdks/images/ped_result.png) + +After successful operation, the command line should see the following information: +```text +[INFO ] - [ + class: "pedestrian", probability: 0.97251, bounds: [x=0.284, y=0.451, width=0.101, height=0.394] + class: "pedestrian", probability: 0.97015, bounds: [x=0.418, y=0.448, width=0.082, height=0.377] + class: "pedestrian", probability: 0.96476, bounds: [x=0.568, y=0.423, width=0.105, height=0.411] + class: "pedestrian", probability: 0.95523, bounds: [x=0.811, y=0.401, width=0.104, height=0.436] + class: "pedestrian", probability: 0.93908, bounds: [x=0.680, y=0.433, width=0.074, height=0.352] +] +``` + +### Open Source Algorithms +#### 1. Open source algorithms used by SDK +- [PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection) + +#### 2. How is the model exported? +- [export_model](https://github.com/PaddlePaddle/PaddleDetection/blob/release%2F2.4/tools/export_model.py) +- [how_to_create_paddlepaddle_model](http://docs.djl.ai/docs/paddlepaddle/how_to_create_paddlepaddle_model_zh.html) diff --git a/1_image_sdks/seg_unet_sdk/README.md b/1_image_sdks/seg_unet_sdk/README.md new file mode 100644 index 00000000..62e83d01 --- /dev/null +++ b/1_image_sdks/seg_unet_sdk/README.md @@ -0,0 +1,60 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接: https://pan.baidu.com/s/1zm8tN94p2UgUS3HN0NTHRA?pwd=uzfy + +### 一键抠图 SDK +一键抠图是一种图像处理技术,旨在自动将图像中的前景对象从背景中分离出来。它可以帮助用户快速、准确地实现抠图效果,无需手动绘制边界或进行复杂的图像编辑操作。 +一键抠图的原理通常基于计算机视觉和机器学习技术。它使用深度神经网络模型,通过训练大量的图像样本,学习如何识别和分离前景对象和背景。这些模型能够理解图像中的像素信息和上下文,并根据学习到的知识进行像素级别的分割。 + + + +#### 1. 通用一键抠图 +包括三个模型:满足不同精度,速度的要求。 +- 大模型 +- 中模型 +- 小模型 + +- 测试图片(左侧原图,右侧效果) + ![general](https://aias-home.oss-cn-beijing.aliyuncs.com/products/cv/seg_unet_sdk/general.png) + + +#### 2. 动漫一键抠图 +无需手动绘制边界,大大提高了抠图的效率和精准度。应用场景如: +- 广告设计 +- 影视后期制作 +- 动漫创作等 + +- 测试图片(左侧原图,右侧效果) + ![anime](https://aias-home.oss-cn-beijing.aliyuncs.com/products/cv/seg_unet_sdk/anime.png) + +#### 3. 衣服一键抠图 +衣服一键抠图应用场景可以在很多方面发挥作用,以下是一些简要介绍: +- 电子商务 +- 社交媒体 +- 广告设计 +- 时尚设计 +- 虚拟试衣 + +- 测试图片(左侧原图,右侧效果) + ![cloth](https://aias-home.oss-cn-beijing.aliyuncs.com/products/cv/seg_unet_sdk/cloth.png) + +#### 4. 人体一键抠图 +人体一键抠图可以将人体从背景中抠出,形成一个透明背景的人体图像。 + +- 测试图片(左侧原图,右侧效果) + ![cloth](https://aias-home.oss-cn-beijing.aliyuncs.com/products/cv/seg_unet_sdk/human.png) + + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/1_image_sdks/smart_construction_sdk/README.md b/1_image_sdks/smart_construction_sdk/README.md new file mode 100644 index 00000000..cf34b5b2 --- /dev/null +++ b/1_image_sdks/smart_construction_sdk/README.md @@ -0,0 +1,138 @@ + +### Download the model, place it in the models directory, and unzip +- Link: https://github.com/mymagicpower/AIAS/releases/download/apps/smart_construction_models.zip + +### Smart Construction Detection SDK +Supported categories: + +- person (human body) +- head (without safety helmet) +- helmet (with safety helmet) + +### SDK Functionality +Construction safety detection, providing detection boxes and confidence levels. + +- Provides three models: +- Small model (yolov5s 29.7M) +- Medium model (yolov5m 86.8M) +- Large model (yolov5l 190.8M) +- + +### Run Small Model Example- Yolov5sExample + +- Test image effect (only display safety helmet detection, filter out other categories for display, see code for details) +![small](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/sec_sdks/images/helmet_head_person_s.jpeg) + +### Run Medium Model Example- Yolov5mExample + +- Test image effect +![medium](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/sec_sdks/images/helmet_head_person_m.jpeg) + +### Run Large Model Example- Yolov5lExample + +- Test image effect +![large](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/sec_sdks/images/helmet_head_person_l.jpeg) + + +After a successful run, the command line should display the following information: +```text +[INFO ] - [ + class: "helmet", probability: 0.89502, bounds: [x=0.956, y=0.525, width=0.044, height=0.067] + class: "helmet", probability: 0.85951, bounds: [x=0.237, y=0.439, width=0.036, height=0.046] + class: "helmet", probability: 0.81705, bounds: [x=0.901, y=0.378, width=0.036, height=0.052] + class: "helmet", probability: 0.80817, bounds: [x=0.250, y=0.399, width=0.029, height=0.040] + class: "helmet", probability: 0.80528, bounds: [x=0.771, y=0.336, width=0.029, height=0.043] +] +``` + + +### Open source algorithm +#### 1. Open source algorithm used by the SDK +- [Smart_Construction](https://github.com/PeterH0323/Smart_Construction) + +#### 2. How to export the model? +- [how_to_convert_your_model_to_torchscript](http://docs.djl.ai/docs/pytorch/how_to_convert_your_model_to_torchscript.html) + +- Export model (pytorch model is special, CPU&GPU models are not universal. So CPU and GPU need to be exported separately) +- torch.device('cpu') +- torch.device('gpu') +```text +"""Exports a YOLOv5 *.pt model to ONNX and TorchScript formats + +Usage: + $ export PYTHONPATH="$PWD" && python models/export.py --weights ./weights/yolov5s.pt --img 640 --batch 1 +""" + +import argparse + +import torch + +from utils.google_utils import attempt_download + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--weights', type=str, default='./helmet_head_person_s.pt', help='weights path') + parser.add_argument('--img-size', nargs='+', type=int, default=[640, 640], help='image size') + parser.add_argument('--batch-size', type=int, default=1, help='batch size') + parser.add_argument('--augment', action='store_true', help='augmented inference') + opt = parser.parse_args() + opt.img_size *= 2 if len(opt.img_size) == 1 else 1 # expand + print(opt) + + # Input + img = torch.zeros((opt.batch_size, 3, *opt.img_size)) # image size(1,3,320,192) iDetection + + # Load PyTorch model + attempt_download(opt.weights) + model = torch.load(opt.weights, map_location=torch.device('cpu'))['model'].float() + model.eval() + model.model[-1].export = False # set Detect() layer export=True + if img.ndimension() == 3: + img = img.unsqueeze(0) + y = model(img) # dry run + + # TorchScript export + try: + print('\nStarting TorchScript export with torch %s...' % torch.__version__) + f = opt.weights.replace('.pt', '.torchscript.pt') # filename + ts = torch.jit.trace(model, img) + ts.save(f) + print('TorchScript export success, saved as %s' % f) + except Exception as e: + print('TorchScript export failure: %s' % e) + + # # ONNX export + # try: + # import onnx + # + # print('\nStarting ONNX export with onnx %s...' % onnx.__version__) + # f = opt.weights.replace('.pt', '.onnx') # filename + # model.fuse() # only for ONNX + # torch.onnx.export(model, img, f, verbose=False, opset_version=12, input_names=['images'], + # output_names=['classes', 'boxes'] if y is None else ['output']) + # + # # Checks + # onnx_model = onnx.load(f) # load onnx model + # onnx.checker.check_model(onnx_model) # check onnx model + # print(onnx.helper.printable_graph(onnx_model.graph)) # print a human readable model + # print('ONNX export success, saved as %s' % f) + # except Exception as e: + # print('ONNX export failure: %s' % e) + # + # # CoreML export + # try: + # import coremltools as ct + # + # print('\nStarting CoreML export with coremltools %s...' % ct.__version__) + # # convert model from torchscript and apply pixel scaling as per detect.py + # model = ct.convert(ts, inputs=[ct.ImageType(name='images', shape=img.shape, scale=1 / 255.0, bias=[0, 0, 0])]) + # f = opt.weights.replace('.pt', '.mlmodel') # filename + # model.save(f) + # print('CoreML export success, saved as %s' % f) + # except Exception as e: + # print('CoreML export failure: %s' % e) + + # Finish + print('\nExport complete. Visualize with https://github.com/lutzroeder/netron.') + +``` diff --git a/1_image_sdks/super_resolution_sdk/README.md b/1_image_sdks/super_resolution_sdk/README.md new file mode 100644 index 00000000..a93c3d0d --- /dev/null +++ b/1_image_sdks/super_resolution_sdk/README.md @@ -0,0 +1,38 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接: https://pan.baidu.com/s/1gFYlESlMulZo-PRrpE_c2g?pwd=kctk + +### 超分辨(4倍)SDK +提升图片4倍分辨率。 + + +### 运行例子 - SuperResolutionExample +- 测试图片(左侧原图,右侧效果) +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/super_resolution_sdk/stitch0.png) + +运行成功后,命令行应该看到下面的信息: +```text +... +[INFO ] - Images generated: 1 +``` + +### 开源算法 +#### 1. sdk使用的开源算法 +- [Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN) + +#### 2. 模型如何导出 ? +- [how_to_convert_your_model_to_torchscript](http://docs.djl.ai/docs/pytorch/how_to_convert_your_model_to_torchscript.html) + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/1_image_sdks/vehicle_sdk/README.md b/1_image_sdks/vehicle_sdk/README.md new file mode 100644 index 00000000..a5192f6b --- /dev/null +++ b/1_image_sdks/vehicle_sdk/README.md @@ -0,0 +1,42 @@ + +### Download the model and place it in the models folder +- Link: https://github.com/mymagicpower/AIAS/releases/download/apps/vehicle.zip + +### Vehicle Detection SDK +Vehicle detection is a very important and challenging task in urban traffic monitoring, and its difficulty lies in accurately locating and classifying relatively small vehicles in complex scenes. +Recognize vehicle types such as car, truck, bus, motorbike, and tricycle. + +### SDK functions + +- Vehicle detection, giving detection boxes and confidence +- Supported categories: + -car + -truck + -bus + -motorbike + -tricycle + -carplate + + +#### Example-VehicleDetectExample +- Test image +![vehicle](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/sec_sdks/images/vehicle_result.png) + +After running successfully, the command line should see the following information: +```text +[INFO ] - [ + class: "car", probability: 0.98734, bounds: [x=0.210, y=0.420, width=0.225, height=0.218] + class: "car", probability: 0.93550, bounds: [x=0.377, y=0.432, width=0.150, height=0.120] + class: "car", probability: 0.88870, bounds: [x=0.167, y=0.411, width=0.127, height=0.178] + class: "car", probability: 0.85094, bounds: [x=0.479, y=0.351, width=0.504, height=0.476] + class: "carplate", probability: 0.83096, bounds: [x=0.321, y=0.502, width=0.046, height=0.019] +] +``` + +### Open source algorithm +#### 1. Open source algorithms used by the SDK +- [PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection) + +#### 2. How to export the model? +- [export_model](https://github.com/PaddlePaddle/PaddleDetection/blob/release%2F2.4/tools/export_model.py) +- [how_to_create_paddlepaddle_model](http://docs.djl.ai/docs/paddlepaddle/how_to_create_paddlepaddle_model_zh.html) diff --git a/2_nlp_sdks/README.md b/2_nlp_sdks/README.md new file mode 100644 index 00000000..e402d11f --- /dev/null +++ b/2_nlp_sdks/README.md @@ -0,0 +1,159 @@ + + +#### 项目清单: +- 2_nlp_sdks - [自然语言 SDK] +```text + 1). 工具箱系列:sentencepiece,fastText,npy/npz文件处理等。 + 2). 大模型 + 3). 词向量 + 4). 机器翻译 + ... +``` + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

fastText - kits/fasttext_sdk

+ fastText是一个快速文本分类算法。 +
+
+
+ +
+
+
+

解析npy/npz文件 - kits/npy_npz_sdk

+ java读取python numpy保存的npz、npy文件。。 +
+
+
+ +
+
+
+

Sentencepiece分词 - kits/sentencepiece_sdk

+ Sentencepiece分词的Java实现。 +
+
+
+ +
+
+
+

jieba分词 - lexical_analysis/jieba_sdk

+ jieba分词java版本的简化实现。 +
+
+
+ +
+
+
+

词法分析SDK [中文] - lexical_analysis/lac_sdk

+ 词法分析模型能整体性地完成中文分词、词性标注、专名识别任务。 +
+
+
+ +
+
+
+

202种语言互相翻译 - translation/trans_nllb_sdk

+ 支持202种语言互相翻译,支持 CPU / GPU。 +
+
+
+ +
+
+
+

中英互相翻译 - translation/translation_sdk

+ 可以进行英语和中文之间的翻译,支持 CPU / GPU。 +
+
+
+ +
+
+
+

代码特征向量提取工具箱 - embedding/*

+ 3个SDK:
+ 1.code2vec_sdk
+ 2.codet5p_110m_sdk
+ 3.mpnet_base_v2_sdk
+ 自然语言与代码特征提取工具箱提供3个SDK,以满足不同精度与速度的需要。。 +
+
+
+ +
+
+
+

文本特征提取向量工具箱【中文】 - embedding/*

+ 文本语义特征提取工具箱提供4个 SDK:
+ 1.m3e_cn_sdk
+ 2.text2vec_base_chinese_sdk
+ 3.text2vec_base_chinese_sentence_sdk
+ 4.text2vec_base_chinese_paraphrase_sdk +
+
+
+ +
+
+
+

文本特征提取向量工具箱【中文】 - embedding/*

+ 文本语义特征向量提取工具箱【多语言】提供 3 个 SDK:
+ 1.sentence_encoder_15_sdk(支持 15 种语言)
+ 2.sentence_encoder_100_sdk(支持100种语言)
+ 3.text2vec_base_multilingual_sdk(支持50+种语言) +
+
+
+ +
+
+
+ + diff --git a/2_nlp_sdks/README_CN.md b/2_nlp_sdks/README_CN.md index a5fef45d..e402d11f 100644 --- a/2_nlp_sdks/README_CN.md +++ b/2_nlp_sdks/README_CN.md @@ -103,6 +103,7 @@ +

代码特征向量提取工具箱 - embedding/*

@@ -119,7 +120,7 @@
- +

文本特征提取向量工具箱【中文】 - embedding/*

@@ -136,7 +137,7 @@
- +

文本特征提取向量工具箱【中文】 - embedding/*

diff --git a/2_nlp_sdks/embedding/README.md b/2_nlp_sdks/embedding/README.md new file mode 100644 index 00000000..fc82a2cf --- /dev/null +++ b/2_nlp_sdks/embedding/README.md @@ -0,0 +1,60 @@ + + +#### 项目清单: + +
+ + + + + + + + + + + + + +
+
+

代码特征向量提取工具箱 - embedding/*

+ 3个SDK:
+ 1.code2vec_sdk
+ 2.codet5p_110m_sdk
+ 3.mpnet_base_v2_sdk
+ 自然语言与代码特征提取工具箱提供3个SDK,以满足不同精度与速度的需要。。 +
+
+
+ +
+
+
+

文本特征提取向量工具箱【中文】 - embedding/*

+ 文本语义特征提取工具箱提供4个 SDK:
+ 1.m3e_cn_sdk
+ 2.text2vec_base_chinese_sdk
+ 3.text2vec_base_chinese_sentence_sdk
+ 4.text2vec_base_chinese_paraphrase_sdk +
+
+
+ +
+
+
+

文本特征提取向量工具箱【中文】 - embedding/*

+ 文本语义特征向量提取工具箱【多语言】提供 3 个 SDK:
+ 1.sentence_encoder_15_sdk(支持 15 种语言)
+ 2.sentence_encoder_100_sdk(支持100种语言)
+ 3.text2vec_base_multilingual_sdk(支持50+种语言) +
+
+
+ +
+
+
+ + diff --git a/2_nlp_sdks/embedding/README_CN.md b/2_nlp_sdks/embedding/README_CN.md new file mode 100644 index 00000000..fc82a2cf --- /dev/null +++ b/2_nlp_sdks/embedding/README_CN.md @@ -0,0 +1,60 @@ + + +#### 项目清单: + +
+ + + + + + + + + + + + + +
+
+

代码特征向量提取工具箱 - embedding/*

+ 3个SDK:
+ 1.code2vec_sdk
+ 2.codet5p_110m_sdk
+ 3.mpnet_base_v2_sdk
+ 自然语言与代码特征提取工具箱提供3个SDK,以满足不同精度与速度的需要。。 +
+
+
+ +
+
+
+

文本特征提取向量工具箱【中文】 - embedding/*

+ 文本语义特征提取工具箱提供4个 SDK:
+ 1.m3e_cn_sdk
+ 2.text2vec_base_chinese_sdk
+ 3.text2vec_base_chinese_sentence_sdk
+ 4.text2vec_base_chinese_paraphrase_sdk +
+
+
+ +
+
+
+

文本特征提取向量工具箱【中文】 - embedding/*

+ 文本语义特征向量提取工具箱【多语言】提供 3 个 SDK:
+ 1.sentence_encoder_15_sdk(支持 15 种语言)
+ 2.sentence_encoder_100_sdk(支持100种语言)
+ 3.text2vec_base_multilingual_sdk(支持50+种语言) +
+
+
+ +
+
+
+ + diff --git a/2_nlp_sdks/embedding/code2vec_sdk/README.md b/2_nlp_sdks/embedding/code2vec_sdk/README.md new file mode 100644 index 00000000..faefec11 --- /dev/null +++ b/2_nlp_sdks/embedding/code2vec_sdk/README.md @@ -0,0 +1,97 @@ +### 官网: +[官网链接](http://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接:https://pan.baidu.com/s/1zOFT88EHwYQDbkCjN025HQ?pwd=tn44 + +### 自然语言与代码特征提取 SDK +自然语言与代码特征提取工具箱提供3个SDK,以满足不同精度与速度的需要。特征向量提取应用场景有: +代码推荐:基于代码特征提取算法,可以分析代码库中的代码片段,并为开发人员提供代码补全、代码片段推荐等功能,提高开发效率。 +代码克隆检测:通过比较代码的特征表示,可以检测出相似的代码片段或代码文件,帮助开发人员避免代码重复和维护困难。 +漏洞检测:利用代码特征提取算法,可以分析代码中潜在的漏洞模式或异常结构,帮助自动化漏洞检测和修复。 +代码质量分析:通过代码特征提取,可以评估代码的复杂性、重复性、规范性等指标,帮助开发团队改进代码质量和可维护性。 +自然语言处理与代码混合领域:在自然语言处理和代码之间建立桥梁,例如将自然语言描述转换为代码或代码注释生成等任务。 +代码特征提取算法在软件工程领域有着广泛的应用,可以帮助开发人员更好地理解、分析和利用代码,提高软件开发的效率和质量。 + + +- 句向量 + ![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + + +### SDK功能: +- 向量提取 +- 相似度(余弦)计算 +- 两个模型: all-MiniLM-L12-v2.pt, all-MiniLM-L6-v2.pt + +### 应用场景: +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 聚类,代码文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 分类,表示成句向量,直接用简单分类器即训练文本分类器 + + + +#### 运行例子 - Text2VecExample +运行成功后,命令行应该看到下面的信息: +```text +... +# 测试代码: + String input1 = "calculate cosine similarity between two vectors"; + String input2 = " public static float dot(float[] feature1, float[] feature2) {\n" + + " float ret = 0.0f;\n" + + " int length = feature1.length;\n" + + " // dot(x, y)\n" + + " for (int i = 0; i < length; ++i) {\n" + + " ret += feature1[i] * feature2[i];\n" + + " }\n" + + "\n" + + " return ret;\n" + + " }"; + String input3 = " public static float cosineSim(float[] feature1, float[] feature2) {\n" + + " float ret = 0.0f;\n" + + " float mod1 = 0.0f;\n" + + " float mod2 = 0.0f;\n" + + " int length = feature1.length;\n" + + " for (int i = 0; i < length; ++i) {\n" + + " ret += feature1[i] * feature2[i];\n" + + " mod1 += feature1[i] * feature1[i];\n" + + " mod2 += feature2[i] * feature2[i];\n" + + " }\n" + + " // dot(x, y) / (np.sqrt(dot(x, x)) * np.sqrt(dot(y, y))))\n" + + " return (float) (ret / Math.sqrt(mod1) / Math.sqrt(mod2));\n" + + " }"; + +# 向量维度: +[INFO ] - Vector dimensions: 384 + +#计算相似度: +[INFO ] - Code Similarity: 0.33148342 +[INFO ] - Code Similarity: 0.54401565 + +``` + +### 开源算法 +#### 1. sdk使用的开源算法 +- sentence-transformers/all-MiniLM-L12-v2 +- sentence-transformers/all-MiniLM-L6-v2 + + +### 其它帮助信息 +http://aias.top/guides.html + + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html + diff --git a/2_nlp_sdks/embedding/codet5p_110m_sdk/README.md b/2_nlp_sdks/embedding/codet5p_110m_sdk/README.md new file mode 100644 index 00000000..d4048836 --- /dev/null +++ b/2_nlp_sdks/embedding/codet5p_110m_sdk/README.md @@ -0,0 +1,97 @@ +### 官网: +[官网链接](http://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接:https://pan.baidu.com/s/1T_BVZTuYTTk4SweV9dnHzA?pwd=euxp + +### 自然语言与代码特征提取 SDK +自然语言与代码特征提取工具箱提供3个SDK,以满足不同精度与速度的需要。特征向量提取应用场景有: +代码推荐:基于代码特征提取算法,可以分析代码库中的代码片段,并为开发人员提供代码补全、代码片段推荐等功能,提高开发效率。 +代码克隆检测:通过比较代码的特征表示,可以检测出相似的代码片段或代码文件,帮助开发人员避免代码重复和维护困难。 +漏洞检测:利用代码特征提取算法,可以分析代码中潜在的漏洞模式或异常结构,帮助自动化漏洞检测和修复。 +代码质量分析:通过代码特征提取,可以评估代码的复杂性、重复性、规范性等指标,帮助开发团队改进代码质量和可维护性。 +自然语言处理与代码混合领域:在自然语言处理和代码之间建立桥梁,例如将自然语言描述转换为代码或代码注释生成等任务。 +代码特征提取算法在软件工程领域有着广泛的应用,可以帮助开发人员更好地理解、分析和利用代码,提高软件开发的效率和质量。 + + +- 句向量 + ![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + + +### SDK功能: +- 向量提取 +- 相似度(余弦)计算 +- 两个模型: codet5p-110m.pt, codet5p-220m.pt + +### 应用场景: +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 聚类,代码文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 分类,表示成句向量,直接用简单分类器即训练文本分类器 + + + +#### 运行例子 - Text2VecExample +运行成功后,命令行应该看到下面的信息: +```text +... +# 测试代码: + String input1 = "calculate cosine similarity between two vectors"; + String input2 = " public static float dot(float[] feature1, float[] feature2) {\n" + + " float ret = 0.0f;\n" + + " int length = feature1.length;\n" + + " // dot(x, y)\n" + + " for (int i = 0; i < length; ++i) {\n" + + " ret += feature1[i] * feature2[i];\n" + + " }\n" + + "\n" + + " return ret;\n" + + " }"; + String input3 = " public static float cosineSim(float[] feature1, float[] feature2) {\n" + + " float ret = 0.0f;\n" + + " float mod1 = 0.0f;\n" + + " float mod2 = 0.0f;\n" + + " int length = feature1.length;\n" + + " for (int i = 0; i < length; ++i) {\n" + + " ret += feature1[i] * feature2[i];\n" + + " mod1 += feature1[i] * feature1[i];\n" + + " mod2 += feature2[i] * feature2[i];\n" + + " }\n" + + " // dot(x, y) / (np.sqrt(dot(x, x)) * np.sqrt(dot(y, y))))\n" + + " return (float) (ret / Math.sqrt(mod1) / Math.sqrt(mod2));\n" + + " }"; + +# 向量维度: +[INFO ] - Vector dimensions: 256 + +#计算相似度: +[INFO ] - Code Similarity: 0.5335303 +[INFO ] - Code Similarity: 0.7281074 + +``` + +### 开源算法 +#### 1. sdk使用的开源算法 +- Salesforce/codet5p-110m-bimodal +- Salesforce/codet5p-220m-bimodal + + +### 其它帮助信息 +http://aias.top/guides.html + + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html + diff --git a/2_nlp_sdks/embedding/m3e_cn_sdk/README.md b/2_nlp_sdks/embedding/m3e_cn_sdk/README.md new file mode 100644 index 00000000..3a2fec5b --- /dev/null +++ b/2_nlp_sdks/embedding/m3e_cn_sdk/README.md @@ -0,0 +1,77 @@ +### 官网: +[官网链接](http://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接:https://pan.baidu.com/s/1CX7mHfcHXSvywK44ENjDCg?pwd=1b2q + +### 句向量SDK【支持中文】 +使用场景主要是中文,少量英文的情况。 +- 模型通过千万级 (2200w+) 的中文句对数据集进行训练 +- 模型支持中英双语的同质文本相似度计算,异质文本检索等功能 +- 模型是文本嵌入模型,可以将自然语言转换成稠密的向量 +- 说明: +- s2s, 即 sentence to sentence ,代表了同质文本之间的嵌入能力,适用任务:文本相似度,重复问题检测,文本分类等 +- s2p, 即 sentence to passage ,代表了异质文本之间的嵌入能力,适用任务:文本检索,GPT 记忆模块等 + +- 句向量 + ![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + + +### SDK功能: +- 句向量提取 +- 相似度(余弦)计算 +- +### 句向量应用: +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 文本聚类,文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 文本分类,表示成句向量,直接用简单分类器即训练文本分类器 + + + +#### 运行例子 - SentenceEncoderExample +运行成功后,命令行应该看到下面的信息: +```text +... +# 测试语句: +[INFO ] - input Sentence1: 今天天气不错 +[INFO ] - input Sentence2: 今天风和日丽 + +# 向量维度: +[INFO ] - Vector dimensions: 768 + +# 中文 - 生成向量: +[INFO ] - Sentence1 embeddings: [0.38705915, 0.47916633, ..., -0.38182813, -0.3867086] +[INFO ] - Sentence2 embeddings: [0.504677, 0.52846897, ..., -0.36328274, -0.62557095] + +#计算中文相似度: +[INFO ] - Chinese Similarity: 0.9068957 + +``` + +### 开源算法 +#### 1. sdk使用的开源算法 +- [m3e-base](https://huggingface.co/moka-ai/m3e-base) + + + + +### 其它帮助信息 +http://aias.top/guides.html + + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html + diff --git a/2_nlp_sdks/embedding/mpnet_base_v2_sdk/README.md b/2_nlp_sdks/embedding/mpnet_base_v2_sdk/README.md new file mode 100644 index 00000000..97856bc4 --- /dev/null +++ b/2_nlp_sdks/embedding/mpnet_base_v2_sdk/README.md @@ -0,0 +1,96 @@ +### 官网: +[官网链接](http://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接:https://pan.baidu.com/s/1rIQjfxJGrhFbjy2UG3p7kA?pwd=2mud + +### 自然语言与代码特征提取 SDK +自然语言与代码特征提取工具箱提供3个SDK,以满足不同精度与速度的需要。特征向量提取应用场景有: +代码推荐:基于代码特征提取算法,可以分析代码库中的代码片段,并为开发人员提供代码补全、代码片段推荐等功能,提高开发效率。 +代码克隆检测:通过比较代码的特征表示,可以检测出相似的代码片段或代码文件,帮助开发人员避免代码重复和维护困难。 +漏洞检测:利用代码特征提取算法,可以分析代码中潜在的漏洞模式或异常结构,帮助自动化漏洞检测和修复。 +代码质量分析:通过代码特征提取,可以评估代码的复杂性、重复性、规范性等指标,帮助开发团队改进代码质量和可维护性。 +自然语言处理与代码混合领域:在自然语言处理和代码之间建立桥梁,例如将自然语言描述转换为代码或代码注释生成等任务。 +代码特征提取算法在软件工程领域有着广泛的应用,可以帮助开发人员更好地理解、分析和利用代码,提高软件开发的效率和质量。 + + +- 句向量 + ![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + + +### SDK功能: +- 向量提取 +- 相似度(余弦)计算 + +### 应用场景: +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 聚类,代码文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 分类,表示成句向量,直接用简单分类器即训练文本分类器 + + + +#### 运行例子 - Text2VecExample +运行成功后,命令行应该看到下面的信息: +```text +... +# 测试代码: + String input1 = "calculate cosine similarity between two vectors"; + String input2 = " public static float dot(float[] feature1, float[] feature2) {\n" + + " float ret = 0.0f;\n" + + " int length = feature1.length;\n" + + " // dot(x, y)\n" + + " for (int i = 0; i < length; ++i) {\n" + + " ret += feature1[i] * feature2[i];\n" + + " }\n" + + "\n" + + " return ret;\n" + + " }"; + String input3 = " public static float cosineSim(float[] feature1, float[] feature2) {\n" + + " float ret = 0.0f;\n" + + " float mod1 = 0.0f;\n" + + " float mod2 = 0.0f;\n" + + " int length = feature1.length;\n" + + " for (int i = 0; i < length; ++i) {\n" + + " ret += feature1[i] * feature2[i];\n" + + " mod1 += feature1[i] * feature1[i];\n" + + " mod2 += feature2[i] * feature2[i];\n" + + " }\n" + + " // dot(x, y) / (np.sqrt(dot(x, x)) * np.sqrt(dot(y, y))))\n" + + " return (float) (ret / Math.sqrt(mod1) / Math.sqrt(mod2));\n" + + " }"; + +# 向量维度: +[INFO ] - Vector dimensions: 768 + +#计算相似度: +[INFO ] - Code Similarity: 0.40372553 +[INFO ] - Code Similarity: 0.57055503 + +``` + +### 开源算法 +#### 1. sdk使用的开源算法 +- sentence-transformers/all-mpnet-base-v2 + + + +### 其它帮助信息 +http://aias.top/guides.html + + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html + diff --git a/2_nlp_sdks/embedding/sentence_encoder_100_sdk/README.md b/2_nlp_sdks/embedding/sentence_encoder_100_sdk/README.md new file mode 100644 index 00000000..d1078caa --- /dev/null +++ b/2_nlp_sdks/embedding/sentence_encoder_100_sdk/README.md @@ -0,0 +1,119 @@ +### 官网: +[官网链接](http://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接: https://pan.baidu.com/s/1EcT7QH_yoqIQDqdO0Hiv5A?pwd=1e1k + +### 句向量SDK【支持100种语言】 +句向量是指将语句映射至固定维度的实数向量。 +将不定长的句子用定长的向量表示,为NLP下游任务提供服务。 + +- 支持下面100种语言: +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/languages_100.jpeg) + +- 句向量 +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + +- + +句向量应用: +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 文本聚类,文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 文本分类,表示成句向量,直接用简单分类器即训练文本分类器 + +### SDK功能: +- 句向量提取 +- 相似度(余弦)计算 +- max_seq_length: 128(subword切词,如果是英文句子,上限平均大约60个单词) + +#### 运行例子 - SentenceEncoderExample +运行成功后,命令行应该看到下面的信息: +```text +... +# 测试语句: +# 英文一组 +[INFO ] - input Sentence1: This model generates embeddings for input sentence +[INFO ] - input Sentence2: This model generates embeddings + +# 中文一组 +[INFO ] - input Sentence3: 今天天气不错 +[INFO ] - input Sentence4: 今天风和日丽 + +# 向量维度: +[INFO ] - Vector dimensions: 768 + +# 英文 - 生成向量: +[INFO ] - Sentence1 embeddings: [0.10717804, 0.0023716218, ..., -0.087652676, 0.5144994] +[INFO ] - Sentence2 embeddings: [0.06960095, 0.09246655, ..., -0.06324193, 0.2669841] + +#计算英文相似度: +[INFO ] - 英文 Similarity: 0.84808713 + +# 中文 - 生成向量: +[INFO ] - Sentence1 embeddings: [0.19896796, 0.46568888,..., 0.09489663, 0.19511698] +[INFO ] - Sentence2 embeddings: [0.1639189, 0.43350196, ..., -0.025053274, -0.121924624] + +#计算中文相似度: +#由于使用了sentencepiece切词器,中文切词更准确,比15种语言的模型(只切成字,没有考虑词)精度更好。 +[INFO ] - 中文 Similarity: 0.67201 + +``` + +### 开源算法 +#### 1. sdk使用的开源算法 +- [sentence-transformers](https://github.com/UKPLab/sentence-transformers) +- [预训练模型](https://www.sbert.net/docs/pretrained_models.html) +- [安装](https://www.sbert.net/docs/installation.html) + + +#### 2. 模型如何导出 ? +- [how_to_convert_your_model_to_torchscript](http://docs.djl.ai/docs/pytorch/how_to_convert_your_model_to_torchscript.html) + +- 导出CPU模型(pytorch 模型特殊,CPU&GPU模型不通用。所以CPU,GPU需要分别导出) +- device = torch.device("cpu") +- device = torch.device("gpu") +- export_model_100.py +```text +from sentence_transformers import SentenceTransformer +import torch + +# model = SentenceTransformer('stsb-distilbert-base', device='cpu') +model = SentenceTransformer('paraphrase-xlm-r-multilingual-v1', device='cpu') +model.eval() +batch_size=1 +max_seq_length=128 +device = torch.device("cpu") +model.to(device) +input_ids = torch.zeros(batch_size, max_seq_length, dtype=torch.long).to(device) +input_type_ids = torch.zeros(batch_size, max_seq_length, dtype=torch.long).to(device) +input_mask = torch.zeros(batch_size, max_seq_length, dtype=torch.long).to(device) +# input_features = (input_ids, input_type_ids, input_mask) +input_features = {'input_ids': input_ids, 'attention_mask': input_mask} + +# traced_model = torch.jit.trace(model, example_inputs=input_features) +traced_model = torch.jit.trace(model, example_inputs=input_features,strict=False) +traced_model.save("models/paraphrase-xlm-r-multilingual-v1/paraphrase-xlm-r-multilingual-v1.pt") +``` + + + +### 其它帮助信息 +http://aias.top/guides.html + + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/2_nlp_sdks/embedding/sentence_encoder_15_sdk/README.md b/2_nlp_sdks/embedding/sentence_encoder_15_sdk/README.md new file mode 100644 index 00000000..a5f30c85 --- /dev/null +++ b/2_nlp_sdks/embedding/sentence_encoder_15_sdk/README.md @@ -0,0 +1,116 @@ +### 官网: +[官网链接](http://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接: https://pan.baidu.com/s/1jFs6RzsWohumXYERvpGKrw?pwd=m7at + +### 句向量SDK【支持15种语言】 +句向量是指将语句映射至固定维度的实数向量。 +将不定长的句子用定长的向量表示,为NLP下游任务提供服务。 +支持 15 种语言: +Arabic, Chinese, Dutch, English, French, German, Italian, Korean, Polish, Portuguese, Russian, Spanish, Turkish. + +- 句向量 +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + + +句向量应用: +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 文本聚类,文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 文本分类,表示成句向量,直接用简单分类器即训练文本分类器 + +### SDK功能: +- 句向量提取 +- 相似度(余弦)计算 + + +#### 运行例子 - SentenceEncoderExample +运行成功后,命令行应该看到下面的信息: +```text +... +# 测试语句: +# 英文一组 +[INFO ] - input Sentence1: This model generates embeddings for input sentence +[INFO ] - input Sentence2: This model generates embeddings + +# 中文一组 +[INFO ] - input Sentence3: 今天天气不错 +[INFO ] - input Sentence4: 今天风和日丽 + +# 向量维度: +[INFO ] - Vector dimensions: 512 + +# 英文 - 生成向量: +[INFO ] - Sentence1 embeddings: [-0.07397884, 0.023079528, ..., -0.028247012, -0.08646198] +[INFO ] - Sentence2 embeddings: [-0.084004365, -0.021871908, ..., -0.039803937, -0.090846084] + +#计算英文相似度: +[INFO ] - 英文 Similarity: 0.77445346 + +# 中文 - 生成向量: +[INFO ] - Sentence1 embeddings: [0.012180057, -0.035749275, ..., 0.0208446, -0.048238125] +[INFO ] - Sentence2 embeddings: [0.016560446, -0.03528302, ..., 0.023508975, -0.046362665] + +#计算中文相似度: +[INFO ] - 中文 Similarity: 0.9972926 + +``` + +### 开源算法 +#### 1. sdk使用的开源算法 +- [sentence-transformers](https://github.com/UKPLab/sentence-transformers) +- [预训练模型](https://www.sbert.net/docs/pretrained_models.html) +- [安装](https://www.sbert.net/docs/installation.html) + + +#### 2. 模型如何导出 ? +- [how_to_convert_your_model_to_torchscript](http://docs.djl.ai/docs/pytorch/how_to_convert_your_model_to_torchscript.html) + +- 导出CPU模型(pytorch 模型特殊,CPU&GPU模型不通用。所以CPU,GPU需要分别导出) +- device = torch.device("cpu") +- device = torch.device("gpu") +- export_model_15.py +```text +from sentence_transformers import SentenceTransformer +import torch + +# model = SentenceTransformer('stsb-distilbert-base', device='cpu') +model = SentenceTransformer('distiluse-base-multilingual-cased-v1', device='cpu') +model.eval() +batch_size=1 +max_seq_length=128 +device = torch.device("cpu") +model.to(device) +input_ids = torch.zeros(batch_size, max_seq_length, dtype=torch.long).to(device) +input_type_ids = torch.zeros(batch_size, max_seq_length, dtype=torch.long).to(device) +input_mask = torch.zeros(batch_size, max_seq_length, dtype=torch.long).to(device) +# input_features = (input_ids, input_type_ids, input_mask) +input_features = {'input_ids': input_ids, 'attention_mask': input_mask} + +# traced_model = torch.jit.trace(model, example_inputs=input_features) +traced_model = torch.jit.trace(model, example_inputs=input_features,strict=False) +traced_model.save("models/distiluse-base-multilingual-cased-v1/distiluse-base-multilingual-cased-v1.pt") +``` + + + +### 其它帮助信息 +http://aias.top/guides.html + + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html + diff --git a/2_nlp_sdks/embedding/text2vec_base_chinese_paraphrase_sdk/README.md b/2_nlp_sdks/embedding/text2vec_base_chinese_paraphrase_sdk/README.md new file mode 100644 index 00000000..1ca5f54d --- /dev/null +++ b/2_nlp_sdks/embedding/text2vec_base_chinese_paraphrase_sdk/README.md @@ -0,0 +1,73 @@ +### 官网: +[官网链接](http://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接:https://pan.baidu.com/s/1hW3HZ9iIuz20FXtrZBAoKg?pwd=96ij + +### 句向量SDK【支持中文】 +用CoSENT方法训练,基于nghuyong/ernie-3.0-base-zh用人工挑选后的中文STS数据集,加入了s2p(sentence to paraphrase)数据, +强化了其长文本的表征能力,并在中文各NLI测试集评估达到SOTA,中文s2p(句子vs段落)语义匹配任务推荐使用。 +- 说明: +- s2p, 即 sentence to passage ,代表了异质文本之间的嵌入能力,适用任务:文本检索,GPT 记忆模块等 + +- 句向量 + ![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + + +### SDK功能: +- 句向量提取 +- 相似度(余弦)计算 +- +### 句向量应用: +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 文本聚类,文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 文本分类,表示成句向量,直接用简单分类器即训练文本分类器 + + + +#### 运行例子 - Text2VecExample +运行成功后,命令行应该看到下面的信息: +```text +... +# 测试语句: +[INFO ] - input Sentence1: 如何更换花呗绑定银行卡 +[INFO ] - input Sentence2: 花呗更改绑定银行卡 + +# 向量维度: +[INFO ] - Vector dimensions: 768 + +# 中文 - 生成向量: +[INFO ] - Sentence1 embeddings: [0.7316301, 0.16452518, ..., -0.6056768, -0.22449276] +[INFO ] - Sentence2 embeddings: [0.58031255, 0.04431232, ..., -0.40282968, -0.07049167] + +#计算中文相似度: +[INFO ] - Chinese Similarity: 0.93226075 + +``` + +### 开源算法 +#### 1. sdk使用的开源算法 +- [text2vec-base-chinese-paraphrase](https://huggingface.co/shibing624/text2vec-base-chinese-paraphrase) + + + +### 其它帮助信息 +http://aias.top/guides.html + + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html + diff --git a/2_nlp_sdks/embedding/text2vec_base_chinese_sdk/README.md b/2_nlp_sdks/embedding/text2vec_base_chinese_sdk/README.md new file mode 100644 index 00000000..cc642e5b --- /dev/null +++ b/2_nlp_sdks/embedding/text2vec_base_chinese_sdk/README.md @@ -0,0 +1,73 @@ +### 官网: +[官网链接](http://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接:https://pan.baidu.com/s/1tUAXk-xx4s-ehcXjclplFQ?pwd=dakb + +### 句向量SDK【中文】 +用CoSENT方法训练,基于hfl/chinese-macbert-base在中文STS-B数据训练得到,并在中文STS-B测试集评估达到较好效果, +中文通用语义匹配任务推荐使用。 +- 说明: +- s2s, 即 sentence to sentence ,代表了同质文本之间的嵌入能力,适用任务:文本相似度,重复问题检测,文本分类等 +- s2p, 即 sentence to passage ,代表了异质文本之间的嵌入能力,适用任务:文本检索,GPT 记忆模块等 + +- 句向量 + ![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + + +### SDK功能: +- 句向量提取 +- 相似度(余弦)计算 +- +### 句向量应用: +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 文本聚类,文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 文本分类,表示成句向量,直接用简单分类器即训练文本分类器 + + +#### 运行例子 - Text2VecExample +运行成功后,命令行应该看到下面的信息: +```text +... +# 测试语句: +[INFO ] - input Sentence1: 如何更换花呗绑定银行卡 +[INFO ] - input Sentence2: 花呗更改绑定银行卡 + +# 向量维度: +[INFO ] - Vector dimensions: 768 + +# 中文 - 生成向量: +[INFO ] - Sentence1 embeddings: [-4.439566E-4, -0.29734704, 0.8579005, ..., -0.14315642, -0.10007854] +[INFO ] - Sentence2 embeddings: [0.6536212, -0.0766671, 0.9596233, ..., -0.0016796805, 0.2145769] + +#计算中文相似度: +[INFO ] - Chinese Similarity: 0.85514605 + +``` + +### 开源算法 +#### 1. sdk使用的开源算法 +- [text2vec-base-chinese](https://huggingface.co/shibing624/text2vec-base-chinese) + + + +### 其它帮助信息 +http://aias.top/guides.html + + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html + diff --git a/2_nlp_sdks/embedding/text2vec_base_chinese_sentence_sdk/README.md b/2_nlp_sdks/embedding/text2vec_base_chinese_sentence_sdk/README.md new file mode 100644 index 00000000..12269074 --- /dev/null +++ b/2_nlp_sdks/embedding/text2vec_base_chinese_sentence_sdk/README.md @@ -0,0 +1,73 @@ +### 官网: +[官网链接](http://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接:https://pan.baidu.com/s/1Cg39GHycfjoghwsihHblYA?pwd=iap1 + +### 句向量SDK【支持中文】 +用CoSENT方法训练,基于nghuyong/ernie-3.0-base-zh,用人工挑选后的中文STS数据集: +shibing624/nli-zh-all/text2vec-base-chinese-sentence-dataset训练得到。 +并在中文各NLI测试集评估达到较好效果,中文s2s(句子vs句子)语义匹配任务推荐使用. +- s2s, 即 sentence to sentence ,代表了同质文本之间的嵌入能力,适用任务:文本相似度,重复问题检测,文本分类等 + +- 句向量 + ![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + + +### SDK功能: +- 句向量提取 +- 相似度(余弦)计算 +- +### 句向量应用: +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 文本聚类,文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 文本分类,表示成句向量,直接用简单分类器即训练文本分类器 + + + +#### 运行例子 - Text2VecExample +运行成功后,命令行应该看到下面的信息: +```text +... +# 测试语句: +[INFO ] - input Sentence1: 如何更换花呗绑定银行卡 +[INFO ] - input Sentence2: 花呗更改绑定银行卡 + +# 向量维度: +[INFO ] - Vector dimensions: 768 + +# 中文 - 生成向量: +[INFO ] - Sentence1 embeddings: [0.36803457, -0.32426378, ..., -0.89762807, -0.37553307] +[INFO ] - Sentence2 embeddings: [0.33208293, -0.38463414, ..., -0.7069321, -0.09533284] + +#计算中文相似度: +[INFO ] - Chinese Similarity: 0.9704481 + +``` + +### 开源算法 +#### 1. sdk使用的开源算法 +- [text2vec-base-chinese-sentence](https://huggingface.co/shibing624/text2vec-base-chinese-sentence) + + + +### 其它帮助信息 +http://aias.top/guides.html + + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html + diff --git a/2_nlp_sdks/embedding/text2vec_base_multilingual_sdk/README.md b/2_nlp_sdks/embedding/text2vec_base_multilingual_sdk/README.md new file mode 100644 index 00000000..7377ba6b --- /dev/null +++ b/2_nlp_sdks/embedding/text2vec_base_multilingual_sdk/README.md @@ -0,0 +1,81 @@ +### 官网: +[官网链接](http://www.aias.top/) + +### 下载模型,放置于models目录 +- 链接:https://pan.baidu.com/s/1Hg4eF1IntXlkOVCy1SEsyg?pwd=3rs3 + +### 句向量SDK【支持中文】 +是用CoSENT方法训练,基于sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 +用人工挑选后的多语言STS数据集训练得到, 并在中英文测试集评估相对于原模型效果有提升。 +- 说明: +- s2s, 即 sentence to sentence ,代表了同质文本之间的嵌入能力,适用任务:文本相似度,重复问题检测,文本分类等 +- s2p, 即 sentence to passage ,代表了异质文本之间的嵌入能力,适用任务:文本检索,GPT 记忆模块等 + + +### 支持的语言 50+ languages: +: ar, bg, ca, cs, da, de, el, en, es, et, fa, fi, fr, fr-ca, gl, gu, he, hi, +hr, hu, hy, id, it, ja, ka, ko, ku, lt, lv, mk, mn, mr, ms, my, nb, nl, pl, pt, pt-br, +ro, ru, sk, sl, sq, sr, sv, th, tr, uk, ur, vi, zh-cn, zh-tw. + +- 句向量 + ![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + + +### SDK功能: +- 句向量提取 +- 相似度(余弦)计算 +- +### 句向量应用: +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 文本聚类,文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 文本分类,表示成句向量,直接用简单分类器即训练文本分类器 + + + +#### 运行例子 - SentenceEncoderExample +运行成功后,命令行应该看到下面的信息: +```text +... +# 测试语句: +[INFO ] - input Sentence1: 如何更换花呗绑定银行卡 +[INFO ] - input Sentence2: 花呗更改绑定银行卡 + +# 向量维度: +[INFO ] - Vector dimensions: 384 + +# 中文 - 生成向量: +[INFO ] - Sentence1 embeddings: [0.07825765, 0.39537004, 0.0050692777, ..., 0.08910287, 0.1219089] +[INFO ] - Sentence2 embeddings: [0.07381156, 0.37328288, 0.026979268, ..., 0.040807277, 0.10056336] + +#计算中文相似度: +[INFO ] - Chinese Similarity: 0.9376931 + +``` + +### 开源算法 +#### 1. sdk使用的开源算法 +- [text2vec-base-multilingual](https://huggingface.co/shibing624/text2vec-base-multilingual) + + + + +### 其它帮助信息 +http://aias.top/guides.html + + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html + diff --git a/2_nlp_sdks/translation/README.md b/2_nlp_sdks/translation/README.md new file mode 100644 index 00000000..eb9f844c --- /dev/null +++ b/2_nlp_sdks/translation/README.md @@ -0,0 +1,36 @@ + + +#### 项目清单: + +
+ + + + + + + + + +
+
+

202种语言互相翻译 - translation/trans_nllb_sdk

+ 支持202种语言互相翻译,支持 CPU / GPU。 +
+
+
+ +
+
+
+

中英互相翻译 - translation/translation_sdk

+ 可以进行英语和中文之间的翻译,支持 CPU / GPU。 +
+
+
+ +
+
+
+ + diff --git a/2_nlp_sdks/translation/README_CN.md b/2_nlp_sdks/translation/README_CN.md new file mode 100644 index 00000000..eb9f844c --- /dev/null +++ b/2_nlp_sdks/translation/README_CN.md @@ -0,0 +1,36 @@ + + +#### 项目清单: + +
+ + + + + + + + + +
+
+

202种语言互相翻译 - translation/trans_nllb_sdk

+ 支持202种语言互相翻译,支持 CPU / GPU。 +
+
+
+ +
+
+
+

中英互相翻译 - translation/translation_sdk

+ 可以进行英语和中文之间的翻译,支持 CPU / GPU。 +
+
+
+ +
+
+
+ + diff --git a/2_nlp_sdks/translation/trans_nllb_sdk/README.md b/2_nlp_sdks/translation/trans_nllb_sdk/README.md new file mode 100644 index 00000000..d4533b26 --- /dev/null +++ b/2_nlp_sdks/translation/trans_nllb_sdk/README.md @@ -0,0 +1,251 @@ +
+ 点击前往网站首页 +
+ +### 下载模型,放置于models目录 +- 链接: https://pan.baidu.com/s/1KRrr0zQE601fqHZhf4oG4Q?pwd=e4lq + +## 202种语言互相翻译 SDK + +### SDK功能: +- 支持202种语言互相翻译。 + + +### 运行例子 - TextGeneration +```text +// 输入文字 +String input = "智利北部的丘基卡马塔矿是世界上最大的露天矿之一,长约4公里,宽3公里,深1公里。"; + +SearchConfig config = new SearchConfig(); +// 设置输出文字的最大长度 +config.setMaxSeqLength(128); +// 设置源语言id:中文 "zho_Hans": 256200, 其它语言信息请查看:语言编码.xlsx +config.setSrcLangId(256200); +// 设置目标语言id:英文 "eng_Latn": 256047, 其它语言信息请查看:语言编码.xlsx +config.setForcedBosTokenId(256047); + +// 运行模型,获取翻译结果 +String result = nllbModel.translate(input); + +// 输出翻译结果 +logger.info("{}", result); +[INFO ] - The Chuki Kamata mine in northern Chile is one of the largest open-pit mines in the world, about 4 km long, 3 km wide and 1 km deep. + +``` + + +## 语言编码 +### 详情请参考excel文档: 语言编码.xlsx + +Language | Code +---|--- +Acehnese (Arabic script) | ace_Arab +Acehnese (Latin script) | ace_Latn +Mesopotamian Arabic | acm_Arab +Ta’izzi-Adeni Arabic | acq_Arab +Tunisian Arabic | aeb_Arab +Afrikaans | afr_Latn +South Levantine Arabic | ajp_Arab +Akan | aka_Latn +Amharic | amh_Ethi +North Levantine Arabic | apc_Arab +Modern Standard Arabic | arb_Arab +Modern Standard Arabic (Romanized) | arb_Latn +Najdi Arabic | ars_Arab +Moroccan Arabic | ary_Arab +Egyptian Arabic | arz_Arab +Assamese | asm_Beng +Asturian | ast_Latn +Awadhi | awa_Deva +Central Aymara | ayr_Latn +South Azerbaijani | azb_Arab +North Azerbaijani | azj_Latn +Bashkir | bak_Cyrl +Bambara | bam_Latn +Balinese | ban_Latn +Belarusian | bel_Cyrl +Bemba | bem_Latn +Bengali | ben_Beng +Bhojpuri | bho_Deva +Banjar (Arabic script) | bjn_Arab +Banjar (Latin script) | bjn_Latn +Standard Tibetan | bod_Tibt +Bosnian | bos_Latn +Buginese | bug_Latn +Bulgarian | bul_Cyrl +Catalan | cat_Latn +Cebuano | ceb_Latn +Czech | ces_Latn +Chokwe | cjk_Latn +Central Kurdish | ckb_Arab +Crimean Tatar | crh_Latn +Welsh | cym_Latn +Danish | dan_Latn +German | deu_Latn +Southwestern Dinka | dik_Latn +Dyula | dyu_Latn +Dzongkha | dzo_Tibt +Greek | ell_Grek +English | eng_Latn +Esperanto | epo_Latn +Estonian | est_Latn +Basque | eus_Latn +Ewe | ewe_Latn +Faroese | fao_Latn +Fijian | fij_Latn +Finnish | fin_Latn +Fon | fon_Latn +French | fra_Latn +Friulian | fur_Latn +Nigerian Fulfulde | fuv_Latn +Scottish Gaelic | gla_Latn +Irish | gle_Latn +Galician | glg_Latn +Guarani | grn_Latn +Gujarati | guj_Gujr +Haitian Creole | hat_Latn +Hausa | hau_Latn +Hebrew | heb_Hebr +Hindi | hin_Deva +Chhattisgarhi | hne_Deva +Croatian | hrv_Latn +Hungarian | hun_Latn +Armenian | hye_Armn +Igbo | ibo_Latn +Ilocano | ilo_Latn +Indonesian | ind_Latn +Icelandic | isl_Latn +Italian | ita_Latn +Javanese | jav_Latn +Japanese | jpn_Jpan +Kabyle | kab_Latn +Jingpho | kac_Latn +Kamba | kam_Latn +Kannada | kan_Knda +Kashmiri (Arabic script) | kas_Arab +Kashmiri (Devanagari script) | kas_Deva +Georgian | kat_Geor +Central Kanuri (Arabic script) | knc_Arab +Central Kanuri (Latin script) | knc_Latn +Kazakh | kaz_Cyrl +Kabiyè | kbp_Latn +Kabuverdianu | kea_Latn +Khmer | khm_Khmr +Kikuyu | kik_Latn +Kinyarwanda | kin_Latn +Kyrgyz | kir_Cyrl +Kimbundu | kmb_Latn +Northern Kurdish | kmr_Latn +Kikongo | kon_Latn +Korean | kor_Hang +Lao | lao_Laoo +Ligurian | lij_Latn +Limburgish | lim_Latn +Lingala | lin_Latn +Lithuanian | lit_Latn +Lombard | lmo_Latn +Latgalian | ltg_Latn +Luxembourgish | ltz_Latn +Luba-Kasai | lua_Latn +Ganda | lug_Latn +Luo | luo_Latn +Mizo | lus_Latn +Standard Latvian | lvs_Latn +Magahi | mag_Deva +Maithili | mai_Deva +Malayalam | mal_Mlym +Marathi | mar_Deva +Minangkabau (Arabic script) | min_Arab +Minangkabau (Latin script) | min_Latn +Macedonian | mkd_Cyrl +Plateau Malagasy | plt_Latn +Maltese | mlt_Latn +Meitei (Bengali script) | mni_Beng +Halh Mongolian | khk_Cyrl +Mossi | mos_Latn +Maori | mri_Latn +Burmese | mya_Mymr +Dutch | nld_Latn +Norwegian Nynorsk | nno_Latn +Norwegian Bokmål | nob_Latn +Nepali | npi_Deva +Northern Sotho | nso_Latn +Nuer | nus_Latn +Nyanja | nya_Latn +Occitan | oci_Latn +West Central Oromo | gaz_Latn +Odia | ory_Orya +Pangasinan | pag_Latn +Eastern Panjabi | pan_Guru +Papiamento | pap_Latn +Western Persian | pes_Arab +Polish | pol_Latn +Portuguese | por_Latn +Dari | prs_Arab +Southern Pashto | pbt_Arab +Ayacucho Quechua | quy_Latn +Romanian | ron_Latn +Rundi | run_Latn +Russian | rus_Cyrl +Sango | sag_Latn +Sanskrit | san_Deva +Santali | sat_Olck +Sicilian | scn_Latn +Shan | shn_Mymr +Sinhala | sin_Sinh +Slovak | slk_Latn +Slovenian | slv_Latn +Samoan | smo_Latn +Shona | sna_Latn +Sindhi | snd_Arab +Somali | som_Latn +Southern Sotho | sot_Latn +Spanish | spa_Latn +Tosk Albanian | als_Latn +Sardinian | srd_Latn +Serbian | srp_Cyrl +Swati | ssw_Latn +Sundanese | sun_Latn +Swedish | swe_Latn +Swahili | swh_Latn +Silesian | szl_Latn +Tamil | tam_Taml +Tatar | tat_Cyrl +Telugu | tel_Telu +Tajik | tgk_Cyrl +Tagalog | tgl_Latn +Thai | tha_Thai +Tigrinya | tir_Ethi +Tamasheq (Latin script) | taq_Latn +Tamasheq (Tifinagh script) | taq_Tfng +Tok Pisin | tpi_Latn +Tswana | tsn_Latn +Tsonga | tso_Latn +Turkmen | tuk_Latn +Tumbuka | tum_Latn +Turkish | tur_Latn +Twi | twi_Latn +Central Atlas Tamazight | tzm_Tfng +Uyghur | uig_Arab +Ukrainian | ukr_Cyrl +Umbundu | umb_Latn +Urdu | urd_Arab +Northern Uzbek | uzn_Latn +Venetian | vec_Latn +Vietnamese | vie_Latn +Waray | war_Latn +Wolof | wol_Latn +Xhosa | xho_Latn +Eastern Yiddish | ydd_Hebr +Yoruba | yor_Latn +Yue Chinese | yue_Hant +Chinese (Simplified) | zho_Hans +Chinese (Traditional) | zho_Hant +Standard Malay | zsm_Latn +Zulu | zul_Latn + + + +
+ 点击前往网站首页 +
\ No newline at end of file diff --git a/2_nlp_sdks/translation/translation_sdk/README.md b/2_nlp_sdks/translation/translation_sdk/README.md new file mode 100644 index 00000000..1a46c782 --- /dev/null +++ b/2_nlp_sdks/translation/translation_sdk/README.md @@ -0,0 +1,52 @@ +
+ 点击前往网站首页 +
+ +### 下载模型,放置于models目录 +- 链接: https://pan.baidu.com/s/1sCH0dPjQoBchN8T2BbTRHw?pwd=388n + +## 中英互相翻译 - SDK + +### SDK功能: +- 可以进行英语和中文之间的翻译 +- 支持 CPU / GPU + + +### 运行例子 - TextGeneration +```text +// 输入文字 +String input = "智利北部的丘基卡马塔矿是世界上最大的露天矿之一,长约4公里,宽3公里,深1公里。"; + +SearchConfig config = new SearchConfig(); +config.setMaxSeqLength(128); + +String modelPath = "models/opus-mt-zh-en/"; + +try (TranslationModel translationModel = new TranslationModel(config, modelPath, 4, Device.cpu()); +) { + System.setProperty("ai.djl.pytorch.graph_optimizer", "false"); + + long start = System.currentTimeMillis(); + String result = translationModel.translate(input); + long end = System.currentTimeMillis(); + logger.info("Time: {}", (end - start)); + logger.info("{}", result); + +} finally { + System.clearProperty("ai.djl.pytorch.graph_optimizer"); +} + +// 输出翻译结果 +logger.info("{}", result); +[INFO ] - The Chuki Kamata mine in northern Chile is one of the largest open-pit mines in the world, about 4 km long, 3 km wide and 1 km deep. + +``` + + + + + + +
+ 点击前往网站首页 +
\ No newline at end of file diff --git a/3_audio_sdks/README.md b/3_audio_sdks/README.md new file mode 100644 index 00000000..f013d710 --- /dev/null +++ b/3_audio_sdks/README.md @@ -0,0 +1,71 @@ + +#### 项目清单: +- 3_audio_sdks - [语音处理 SDK] +```text + 1). 工具箱系列:音素工具箱,librosa,java sound,javacv ffmpeg, fft, vad工具箱等。 + 2). 声音克隆 + 3). 语音合成 + 4). 声纹识别 + 5). 语音识别 + ... +``` + +
+ + + + + + + + + + + + + + + + + +
+
+

语音识别(ASR)【短语音】 - asr_whisper_sdk

+ 中文语音识别。 +
+
+
+ +
+
+
+

语音识别(ASR)【长语音】 - asr_whisper_long_sdk

+ 中文语音识别。 +
+
+
+ +
+
+
+

语音处理包Librosa- librosa_sdk

+ python语音处理库librosa的java实现。 +
+
+
+ +
+
+
+

TTS 文本转为语音 - tts_sdk

+ TTS 文本转为语音。 +
+
+
+ +
+
+
+ + + diff --git a/3_audio_sdks/tts_sdk/README.md b/3_audio_sdks/tts_sdk/README.md new file mode 100644 index 00000000..f7411ce0 --- /dev/null +++ b/3_audio_sdks/tts_sdk/README.md @@ -0,0 +1,75 @@ + +### Download the model and place it in the models directory +- Link 1: https://github.com/mymagicpower/AIAS/releases/download/apps/denoiser.zip +- Link 2: https://github.com/mymagicpower/AIAS/releases/download/apps/speakerEncoder.zip +- Link 3: https://github.com/mymagicpower/AIAS/releases/download/apps/tacotron2.zip +- Link 4: https://github.com/mymagicpower/AIAS/releases/download/apps/waveGlow.zip +- +### TTS text to speech + +Note: To prevent the cloning of someone else's voice for illegal purposes, the code limits the use of voice files to only those provided in the program. +Voice cloning refers to synthesizing audio that has the characteristics of the target speaker by using a specific voice, combining the pronunciation of the text with the speaker's voice. +When training a speech cloning model, the target voice is used as the input of the Speaker Encoder, and the model extracts the speaker's features (voice) as the Speaker Embedding. +Then, when training the model to resynthesize speech of this type, in addition to the input target text, the speaker's features will also be added as additional conditions to the model's training. +During prediction, a new target voice is selected as the input of the Speaker Encoder, and its speaker's features are extracted, finally realizing the input of text and target voice and generating a speech segment of the target voice speaking the text. +The Google team proposed a neural system for text-to-speech synthesis that can learn the speech features of multiple different speakers with only a small amount of samples, and synthesize their speech audio. In addition, for speakers that the network has not encountered during training, their speech can be synthesized with only a few seconds of unknown speaker audio without retraining, that is, the network has zero-shot learning ability. +Traditional natural speech synthesis systems require a large amount of high-quality samples during training, usually requiring hundreds or thousands of minutes of training data for each speaker, which makes the model generally not universal and cannot be widely used in complex environments (with many different speakers). These networks combine the processes of speech modeling and speech synthesis. +The SV2TTS work first separates these two processes and uses the first speech feature encoding network (encoder) to model the speaker's speech features, and then uses the second high-quality TTS network to convert features into speech. + +- SV2TTS paper +[Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis](https://arxiv.org/pdf/1806.04558.pdf) + +- Network structure +![SV2TTS](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/voice_sdks/SV2TTS.png) + +#### Mainly composed of three parts: +#### Sound feature encoder (speaker encoder) +Extract the speaker's voice feature information. Embed the speaker's voice into a fixed dimensional vector, which represents the speaker's potential voice features. +The encoder mainly embeds the reference speech signal into a vector space of fixed dimension, and uses it as supervision to enable the mapping network to generate original voice signals (Mel spectrograms) with the same features. +The key role of the encoder is similarity measurement. For different speeches of the same speaker, the vector distance (cosine angle) in the embedding vector space should be as small as possible, while for different speakers, it should be as large as possible. +In addition, the encoder should also have the ability to resist noise and robustness, and extract the potential voice feature information of the speaker's voice without being affected by the specific speech content and background noise. +These requirements are consistent with the requirements of the speech recognition model (speaker-discriminative), so transfer learning can be performed. +The encoder is mainly composed of three layers of LSTM, and the input is a 40-channel logarithmic Mel spectrogram. After the output of the last frame cell of the last layer is processed by L2 regularization, the embedding vector representation of the entire sequence is obtained. +In actual inference, any length of input speech signal will be divided into multiple segments by an 800ms window, and each segment will get an output. Finally, all outputs are averaged and superimposed to obtain the final embedding vector. +This method is very similar to the Short-Time Fourier Transform (STFT). +The generated embedding space vector is visualized as follows: +![embedding](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/voice_sdks/embedding.jpeg) + +It can be seen that different speakers correspond to different clustering ranges in the embedding space, which can be easily distinguished, and speakers of different genders are located on both sides. +(However, synthesized speech and real speech are also easy to distinguish, and synthesized speech is farther away from the clustering center. This indicates that the realism of synthesized speech is not enough.) + +####Sequence-to-sequence mapping synthesis network (Tacotron 2) +Based on the Tacotron 2 mapping network, the vector obtained from the text and sound feature encoder is used to generate a logarithmic Mel spectrogram. +The Mel spectrogram takes the logarithm of the spectral frequency scale Hz and converts it to the Mel scale, so that the sensitivity of the human ear to sound is linearly positively correlated with the Mel scale. +This network is trained independently of the encoder network. The audio signal and the corresponding text are used as inputs. The audio signal is first feature-extracted by a pre-trained encoder, and then used as input to the attention layer. +The network output feature consists of a sequence of length 50ms and a step size of 12.5ms. After Mel scaling filtering and logarithmic dynamic range compression, the Mel spectrogram is obtained. +In order to reduce the influence of noisy data, L1 regularization is additionally added to the loss function of this part. + +The comparison of the input Mel spectrogram and the synthesized spectrogram is shown below: +![embedding](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/voice_sdks/tacotron2.jpeg) +The red line on the right graph represents the correspondence between text and spectrogram. It can be seen that the speech signal used for reference supervision does not need to be consistent with the target speech signal in the text, which is also a major feature of the SV2TTS paper. + + +#### Speech synthesis network (WaveGlow) +WaveGlow: A network that synthesizes high-quality speech by relying on streams from Mel spectrograms. It combines Glow and WaveNet to generate fast, good, and high-quality rhythms without requiring automatic regression. +The Mel spectrogram (frequency domain) is converted into a time series sound waveform (time domain) to complete speech synthesis. +It should be noted that these three parts of the network are trained independently, and the voice encoder network mainly plays a conditional supervision role for the sequence mapping network, ensuring that the generated speech has the unique voice features of the speaker. + +## Running Example- TTSExample + +After successful operation, the command line should see the following information: +```text +... +[INFO] - Text: Convert text to speech based on the given voice +[INFO] - Given voice: src/test/resources/biaobei-009502.mp3 + +#Generate feature vector: +[INFO] - Speaker Embedding Shape: [256] +[INFO] - Speaker Embedding: [0.06272025, 0.0, 0.24136968, ..., 0.027405139, 0.0, 0.07339379, 0.0] +[INFO] - Mel spectrogram data Shape: [80, 331] +[INFO] - Mel spectrogram data: [-6.739388, -6.266942, -5.752069, ..., -10.643405, -10.558134, -10.5380535] +[INFO] - Generate wav audio file: build/output/audio.wav +``` +The speech effect generated by the text "Convert text to speech based on the given voice": +[audio.wav](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/voice_sdks/audio.wav) + diff --git a/5_bigdata_sdks/README.md b/5_bigdata_sdks/README.md new file mode 100644 index 00000000..1713305a --- /dev/null +++ b/5_bigdata_sdks/README.md @@ -0,0 +1,43 @@ + +#### 项目清单: +- 5_bigdata_sdks - [大数据SDK] + +```text + 1). flink-情感倾向分析【英文】- flink_sentence_encoder_sdk + 2). kafka-情感倾向分析【英文】- kafka_sentiment_analysis_sdk + ... +``` + +
+ + + + + + + + + +
+
+

flink-情感倾向分析【英文】SDK - flink_sentiment_analysis_sdk

+ 情感倾向分析(Sentiment Classification) + 针对带有主观描述的文本,可自动判断该文本的情感极性类别并给出相应的置信度。 +
+
+
+ +
+
+
+

kafka-情感倾向分析【英文】SDK - kafka_sentiment_analysis_sdk

+ 情感倾向分析(Sentiment Classification) + 针对带有主观描述的文本,可自动判断该文本的情感极性类别并给出相应的置信度。 +
+
+
+ +
+
+
+ diff --git a/6_web_app/README.md b/6_web_app/README.md new file mode 100644 index 00000000..1fad4d03 --- /dev/null +++ b/6_web_app/README.md @@ -0,0 +1,189 @@ + + + +#### 项目清单: +- 6_web_app - [Web应用,前端VUE,后端Springboot] +```text + 1). 训练引擎 + ... +``` + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

AI 训练平台 - training

+ AI训练平台提供分类模型训练能力。
+ 并以REST API形式为上层应用提供接口。
+
+
+
+ +
+
+
+

代码语义搜索 - code_search

+ 用于软件开发过程中的,代码搜代码,语义搜代码。
s + 1. 代码语义搜索【无向量引擎版】
+ - simple_code_search
+ 主要特性
+ - 支持100万以内的数据量
+ - 随时对数据进行插入、删除、搜索、更新等操作
+ 2. 代码语义搜索【向量引擎版】 - code_search
+ 主要特性
+ - 底层使用特征向量相似度搜索
+ - 单台服务器十亿级数据的毫秒级搜索
+ - 近实时搜索,支持分布式部署
+ - 随时对数据进行插入、删除、搜索、更新等操作 +
+
+
+ +
+
+
+

202种语言互相翻译 Web 应用 - text_translation

+ - 支持202种语言互相翻译。
+ - 支持 CPU / GPU
+
+
+
+ +
+
+
+

一键抠图 Web 应用 - image_seg

+ 当前版本包含了下面功能:
+ - 1. 通用一键抠图
+ - 2. 人体一键抠图
+ - 3. 动漫一键抠图 +
+
+
+ +
+
+
+

图片一键高清- image_gan

+ 当前版本包含了下面功能:
+ - 图片一键高清: 提升图片4倍分辨率。
+ - 头像一键高清
+ - 人脸一键修复
+
+
+
+ +
+
+
+

图像&文本的跨模态相似性比对检索【支持40种语言】
+ - image_text_search

+ - 包含两个项目,满足不同场景的需要
+ - 1. 图像&文本的跨模态相似性比对检索
+ 【无向量引擎版】
+ - simple_image_text_search
+ - 支持100万以内的数据量
+ - 随时对数据进行插入、删除、搜索、更新等操作
+ - 2. 图像&文本的跨模态相似性比对检索
+ 【向量引擎版】
+ - image_text_search
+ - 以图搜图:上传图片搜索
+ - 以文搜图:输入文本搜索
+ - 数据管理:提供图像压缩包(zip格式)上传
+
+
+
+ +
+
+
+

文本向量搜索 - text_search

+ - 包含两个项目,满足不同场景的需要
+ - 1. 文本向量搜索【无向量引擎版】
+ - simple_text_search
+ - 2. 文本向量搜索【向量引擎版】
+ - text_search
+ - 语义搜索,通过句向量相似性,
检索语料库中与query最匹配的文本
+ - 文本聚类,文本转为定长向量,
通过聚类模型可无监督聚集相似文本
+ - 文本分类,表示成句向量,
直接用简单分类器即训练文本分类器
+ - RAG 用于大模型搜索增强生成 +
+
+
+ +
+
+
+

人像搜索 - face_search

+ - 包含两个项目,满足不同场景的需要
+ - 1. 人像搜索【精简版】
+ - simple_face_search
+ - 2. 人像搜索【完整版】
+ - face_search
+ - 搜索管理:提供通用图像搜索,
人像搜索,图像信息查看
+ - 存储管理:提供图像压缩包(zip格式)上传,
人像特征提取,通用特征提取
+ - 用户管理:提供用户的相关配置,
新增用户后,默认密码为123456
+ - 角色管理:对权限与菜单进行分配,
可根据部门设置角色的数据权限
+ - 菜单管理:已实现菜单动态路由,
后端可配置化,支持多级菜单
+ - 部门管理:可配置系统组织架构,
树形表格展示
+ - 岗位管理:配置各个部门的职位
+ - 字典管理:可维护常用一些固定的数据,
如:状态,性别等
+ - 系统日志:记录用户操作日志与异常日志,
方便开发人员定位排错
+ - SQL监控:采用druid 监控数据库访问性能,
默认用户名admin,密码123456
+ - 定时任务:整合Quartz做定时任务,
加入任务日志,任务运行情况一目了然
+ - 服务监控:监控服务器的负载情况 +
+
+
+ +
+
+
+

语音识别Web 应用 - asr

+ - 本例子提供了英文语音识别,
中文语音识别。 +
+
+
+ +
+
+
+ + + diff --git a/6_web_app/asr/README.md b/6_web_app/asr/README.md new file mode 100644 index 00000000..04db4287 --- /dev/null +++ b/6_web_app/asr/README.md @@ -0,0 +1,130 @@ +### 目录: +https://www.aias.top/ + + +### 下载模型,更新 asr_backend 的yaml配置文件 +- 链接: https://pan.baidu.com/s/12DB6Z-f6Akdz8OxsPuoj9A?pwd=6irx + +```bash +model: + # 如果是CPU推理,最高设置为 CPU 核心数 (Core Number) + poolSize: 2 + # tiny, base, small + type: base + uri: + # tiny 模型 + tiny: D:\\ai_projects\\asr\\asr_backend\\models\\traced_whisper_tiny.pt + # base 模型 + base: D:\\ai_projects\\asr\\asr_backend\\models\\traced_whisper_base.pt + # small 模型 + small: D:\\ai_projects\\asr\\asr_backend\\models\\traced_whisper_small.pt +``` + +### 语音识别 +本例子提供了英文语音识别,中文语音识别。 + +### 1. 前端部署 + +#### 1.1 直接运行: +```bash +npm run dev +``` + +#### 1.2 构建dist安装包: +```bash +npm run build:prod +``` + +#### 1.3 nginx部署运行(mac环境为例): +```bash +cd /usr/local/etc/nginx/ +vi /usr/local/etc/nginx/nginx.conf +# 编辑nginx.conf + + server { + listen 8080; + server_name localhost; + + location / { + root /Users/calvin/Documents/asr/dist/; + index index.html index.htm; + } + ...... + +# 重新加载配置: +sudo nginx -s reload + +# 部署应用后,重启: +cd /usr/local/Cellar/nginx/1.19.6/bin + +# 快速停止 +sudo nginx -s stop + +# 启动 +sudo nginx +``` + +## 2. 后端jar部署 +#### 2.1 环境要求: +- 系统JDK 1.8+ + +- application.yml +```bash +model: + # 如果是CPU推理,最高设置为 CPU 核心数 (Core Number) + poolSize: 2 + # 提供了三个模型从小到大:tiny, base, small,模型越大速度越慢,精度越高 + type: base + uri: + # tiny 模型 + tiny: D:\\ai_projects\\asr\\asr_backend\\models\\traced_whisper_tiny.pt + # base 模型 + base: D:\\ai_projects\\asr\\asr_backend\\models\\traced_whisper_base.pt + # small 模型 + small: D:\\ai_projects\\asr\\asr_backend\\models\\traced_whisper_small.pt +``` + + +#### 2.2 运行程序: +```bash +# 运行程序 + +java -jar aias-asr-0.1.0.jar + +``` + +## 3. 打开浏览器 +- 输入地址: http://localhost:8090 + +#### 3.1. 英文语音识别 +- 1). 输入音频文件地址,在线识别 +- 2). 点击上传按钮,上传音频文件识别 +
+ +
+ +#### 3.2. 中文语音识别 +- 1). 输入音频文件地址,在线识别 +- 2). 点击上传按钮,上传音频文件识别 +
+ +
+ +## 5. 帮助信息 +- swagger接口文档: +http://localhost:8089/swagger-ui.html + +
+ +
+ +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/6_web_app/code_search/README.md b/6_web_app/code_search/README.md new file mode 100644 index 00000000..e31b88d8 --- /dev/null +++ b/6_web_app/code_search/README.md @@ -0,0 +1,21 @@ +## 目录: +http://aias.top/ + + +### 代码语义搜索 +- 包含两个项目,满足不同场景的需要 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/data/images/code_search_arc.png) + +### 1. 代码语义搜索【无向量引擎版】 - simple_code_search +#### 主要特性 +- 支持100万以内的数据量 +- 随时对数据进行插入、删除、搜索、更新等操作 + + +### 2. 代码语义搜索【向量引擎版】 - code_search +#### 主要特性 +- 底层使用特征向量相似度搜索 +- 单台服务器十亿级数据的毫秒级搜索 +- 近实时搜索,支持分布式部署 +- 随时对数据进行插入、删除、搜索、更新等操作 diff --git a/6_web_app/code_search/code_search/README.md b/6_web_app/code_search/code_search/README.md new file mode 100644 index 00000000..bdb5b541 --- /dev/null +++ b/6_web_app/code_search/code_search/README.md @@ -0,0 +1,148 @@ +## 目录: +http://aias.top/ + +### 下载模型,放置于models目录 +- 链接:https://pan.baidu.com/s/1eKaVbBwGOcx0IFeYTG0Gjg?pwd=5c0x + + +### 代码语义搜索 +本例子提供了代码语义搜索,支持上传csv文件,使用句向量模型提取特征,并基于milvus向量引擎进行后续检索。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/data/images/code_search_arc.png) + + +#### 主要特性 +- 底层使用特征向量相似度搜索 +- 单台服务器十亿级数据的毫秒级搜索 +- 近实时搜索,支持分布式部署 +- 随时对数据进行插入、删除、搜索、更新等操作 + + + +### 向量模型【支持15种语言】 + +向量是指将语句映射至固定维度的实数向量。将不定长的文本用定长的向量表示,为NLP下游任务提供服务。 + + +- 句向量 + ![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + + +向量应用: + +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 文本聚类,文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 文本分类,表示成句向量,直接用简单分类器即训练文本分类器 + + + +### 1. 前端部署 + +#### 1.1 安装运行: +```bash +# 安装依赖包 +npm install +# 运行 +npm run dev +``` + +#### 1.2 构建dist安装包: +```bash +npm run build:prod +``` + +#### 1.3 nginx部署运行(mac环境为例): +```bash +cd /usr/local/etc/nginx/ +vi /usr/local/etc/nginx/nginx.conf +# 编辑nginx.conf + + server { + listen 8080; + server_name localhost; + + location / { + root /Users/calvin/Documents/text_search/dist/; + index index.html index.htm; + } + ...... + +# 重新加载配置: +sudo nginx -s reload + +# 部署应用后,重启: +cd /usr/local/Cellar/nginx/1.19.6/bin + +# 快速停止 +sudo nginx -s stop + +# 启动 +sudo nginx +``` + +## 2. 后端jar部署 +#### 2.1 环境要求: +- 系统JDK 1.8+ + + +#### 2.2 运行程序: +```bash +# 运行程序 + +java -jar code-search-0.1.0.jar + +``` + +## 3. 后端向量引擎部署(Milvus 2.2.8) +#### 3.1 环境要求: +- 需要安装docker运行环境,Mac环境可以使用Docker Desktop + +#### 3.2 拉取Milvus向量引擎镜像(用于计算特征值向量相似度) +下载 milvus-standalone-docker-compose.yml 配置文件并保存为 docker-compose.yml +[单机版安装文档](https://milvus.io/docs/v2.2.x) +```bash +wget $ wget https://github.com/milvus-io/milvus/releases/download/v2.2.8/milvus-standalone-docker-compose.yml -O docker-compose.yml +``` + +#### 3.3 启动 Docker 容器 +```bash +sudo docker-compose up -d +``` + +#### 3.5 编辑向量引擎连接配置信息 +- application.yml +- 根据需要编辑向量引擎连接ip地址127.0.0.1为容器所在的主机ip +```bash +################## 向量引擎 ################ +search: + host: 127.0.0.1 + port: 19530 +``` + +## 4. 打开浏览器 +- 输入地址: http://localhost:8090 + +- 上传CSV数据文件 +1). 点击上传按钮上传jsonl文件. +[测试数据](https://aias-home.oss-cn-beijing.aliyuncs.com/data/testData.jsonl) +2). 点击特征提取按钮. +等待文件解析,特征提取,特征存入向量引擎。通过console可以看到进度信息。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/storage.png) + +- 相似代码搜索 + 输入代码片段,点击查询,可以看到返回的清单,根据相似度排序。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/data/images/codesearch.png) + +## 5. 帮助信息 +- swagger接口文档: +http://localhost:8089/swagger-ui.html +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/swagger.png) + +- 初始化向量引擎(清空数据): +me.aias.tools.MilvusInit.java + +- Milvus向量引擎参考链接 +[Milvus向量引擎官网](https://milvus.io/cn/docs/overview.md) +[Milvus向量引擎Github](https://github.com/milvus-io) diff --git a/6_web_app/code_search/simple_code_search/README.md b/6_web_app/code_search/simple_code_search/README.md new file mode 100644 index 00000000..d3aa3864 --- /dev/null +++ b/6_web_app/code_search/simple_code_search/README.md @@ -0,0 +1,90 @@ +## 目录: +http://aias.top/ + +### 下载模型,放置于models目录 +- 链接:https://pan.baidu.com/s/1eKaVbBwGOcx0IFeYTG0Gjg?pwd=5c0x + + +### 代码语义搜索【无向量引擎版】 - simple_code_search +#### 主要特性 +- 支持100万以内的数据量 +- 随时对数据进行插入、删除、搜索、更新等操作 + + +### 1. 前端部署 + +#### 1.1 安装运行: +```bash +# 安装依赖包 +npm install +# 运行 +npm run dev +``` + +#### 1.2 构建dist安装包: +```bash +npm run build:prod +``` + +#### 1.3 nginx部署运行(mac环境为例): +```bash +cd /usr/local/etc/nginx/ +vi /usr/local/etc/nginx/nginx.conf +# 编辑nginx.conf + + server { + listen 8080; + server_name localhost; + + location / { + root /Users/calvin/Documents/text_search/dist/; + index index.html index.htm; + } + ...... + +# 重新加载配置: +sudo nginx -s reload + +# 部署应用后,重启: +cd /usr/local/Cellar/nginx/1.19.6/bin + +# 快速停止 +sudo nginx -s stop + +# 启动 +sudo nginx +``` + +## 2. 后端jar部署 +#### 2.1 环境要求: +- 系统JDK 1.8+ + + +#### 2.2 运行程序: +```bash +# 运行程序 + +java -jar code-search-0.1.0.jar + +``` + +## 3. 打开浏览器 +- 输入地址: http://localhost:8090 + +- 上传CSV数据文件 +1). 点击上传按钮上传jsonl文件. +[测试数据](https://aias-home.oss-cn-beijing.aliyuncs.com/data/testData.jsonl) +2). 点击特征提取按钮. +等待文件解析,特征提取。通过console可以看到进度信息。 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/storage.png) + +- 相似代码搜索 + 输入代码片段,点击查询,可以看到返回的清单,根据相似度排序。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/data/images/codesearch.png) + +## 5. 帮助信息 +- swagger接口文档: +http://localhost:8089/swagger-ui.html +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/swagger.png) + diff --git a/6_web_app/face_search/README.md b/6_web_app/face_search/README.md new file mode 100644 index 00000000..300634a1 --- /dev/null +++ b/6_web_app/face_search/README.md @@ -0,0 +1,73 @@ +## 目录: +http://aias.top/ + + +### 人像搜索 +
+ +
+ + +#### 主要特性 +- 底层使用特征向量相似度搜索 +- 单台服务器十亿级数据的毫秒级搜索 +- 近实时搜索,支持分布式部署 +- 随时对数据进行插入、删除、搜索、更新等操作 +- 支持在线用户管理与服务器性能监控,支持限制单用户登录 + + +### 1. 人像搜索【精简版】 - simple_face_search +#### 功能介绍 +- 人像搜索:上传人像图片搜索 +- 数据管理:提供图像压缩包(zip格式)上传,人像特征提取 + + +### 2. 人像搜索【完整版】 - face_search +#### 功能介绍 +- 搜索管理:提供通用图像搜索,人像搜索,图像信息查看 +- 存储管理:提供图像压缩包(zip格式)上传,人像特征提取,通用特征提取 +- 用户管理:提供用户的相关配置,新增用户后,默认密码为123456 +- 角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限 +- 菜单管理:已实现菜单动态路由,后端可配置化,支持多级菜单 +- 部门管理:可配置系统组织架构,树形表格展示 +- 岗位管理:配置各个部门的职位 +- 字典管理:可维护常用一些固定的数据,如:状态,性别等 +- 系统日志:记录用户操作日志与异常日志,方便开发人员定位排错 +- SQL监控:采用druid 监控数据库访问性能,默认用户名admin,密码123456 +- 定时任务:整合Quartz做定时任务,加入任务日志,任务运行情况一目了然 +- 服务监控:监控服务器的负载情况 + + +#### 功能演示 +- 登录 +
+ +
+ +- 用户管理 +
+ +
+ +- 角色管理 +
+ +
+ +- 运维管理 +
+ +
+ +- 图片上传 +1). 支持zip压缩包上传. +2). 支持服务器端文件夹上传(大量图片上传使用,比如几十万张图片入库). +3). 支持客户端文件夹上传. +
+ +
+ +- 人像搜索 +
+ +
diff --git a/6_web_app/face_search/face_search/README.md b/6_web_app/face_search/face_search/README.md new file mode 100644 index 00000000..4ed3a608 --- /dev/null +++ b/6_web_app/face_search/face_search/README.md @@ -0,0 +1,228 @@ +
+ 点击返回网站首页 +
+ + +### 人像搜索 +
+ +
+ +### 下载模型,更新 face_vector_search 的yaml配置文件 +- 链接: https://pan.baidu.com/s/1XbMhZ4c1B-7hKKpCJMte2Q?pwd=ctva + +```bash +# Model URI +#Face +face: + saveDetectedFace: true + # 高精度大模型 retinaface detection model URI + retinaface: /Users/calvin/ai_projects/face_search_bak/simple_face_search/face_search/models/retinaface.onnx + # 速度快小模型,精度低于大模型 mobilenet face detection model URI + mobilenet: /Users/calvin/ai_projects/face_search_bak/simple_face_search/face_search/models/mobilenet.onnx + # face feature model URI + feature: /Users/calvin/ai_projects/face_search_bak/simple_face_search/face_search/models/face_feature.onnx + +model: + # 设置为 CPU 核心数 (Core Number) + poolSize: 4 +``` + +#### 主要特性 +- 底层使用特征向量相似度搜索 +- 单台服务器十亿级数据的毫秒级搜索 +- 近实时搜索,支持分布式部署 +- 随时对数据进行插入、删除、搜索、更新等操作 +- 支持在线用户管理与服务器性能监控,支持限制单用户登录 + +#### 系统功能 +- 搜索管理:提供通用图像搜索,人像搜索,图像信息查看 +- 存储管理:提供图像压缩包(zip格式)上传,人像特征提取,通用特征提取 +- 用户管理:提供用户的相关配置,新增用户后,默认密码为123456 +- 角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限 +- 菜单管理:已实现菜单动态路由,后端可配置化,支持多级菜单 +- 部门管理:可配置系统组织架构,树形表格展示 +- 岗位管理:配置各个部门的职位 +- 字典管理:可维护常用一些固定的数据,如:状态,性别等 +- 系统日志:记录用户操作日志与异常日志,方便开发人员定位排错 +- SQL监控:采用druid 监控数据库访问性能,默认用户名admin,密码123456 +- 定时任务:整合Quartz做定时任务,加入任务日志,任务运行情况一目了然 +- 服务监控:监控服务器的负载情况 + + +#### 功能介绍 +- 登录 +
+ +
+ +- 用户管理 +
+ +
+ +- 角色管理 +
+ +
+ +- 运维管理 +
+ +
+ +- 图片上传 +1). 支持zip压缩包上传. +2). 支持服务器端文件夹上传(大量图片上传使用,比如几十万张图片入库). +3). 支持客户端文件夹上传. +
+ +
+ +- 人像搜索 +
+ +
+ + +### 1. 前端部署 + +#### 1.1 直接运行: +```bash +npm run dev +``` + +#### 1.2 构建dist安装包: +```bash +npm run build:prod +``` + +#### 1.3 nginx部署运行(mac环境部署管理前端为例): +```bash +cd /usr/local/etc/nginx/ +vi /usr/local/etc/nginx/nginx.conf +# 编辑nginx.conf + + server { + listen 8080; + server_name localhost; + + location / { + root /Users/calvin/face_vector_search_ui/dist/; + index index.html index.htm; + } + ...... + +# 重新加载配置: +sudo nginx -s reload + +# 部署应用后,重启: +cd /usr/local/Cellar/nginx/1.19.6/bin + +# 快速停止 +sudo nginx -s stop + +# 启动 +sudo nginx +``` + +### 2. 后端jar部署 +#### 环境要求: +- 系统JDK 1.8+ +- 需要安装并redis +- 需要安装MySQL数据库 + + +### 3. 后端向量引擎部署 + +#### 3.1 环境要求: +- 需要安装docker运行环境,Mac环境可以使用Docker Desktop + +#### 3.2 拉取Milvus向量引擎镜像(用于计算特征值向量相似度) +下载 milvus-standalone-docker-compose.yml 配置文件并保存为 docker-compose.yml + +[单机版安装文档](https://milvus.io/docs/install_standalone-docker.md) +[引擎配置文档](https://milvus.io/docs/configure-docker.md) +[milvus-sdk-java](https://github.com/milvus-io/milvus-sdk-java) + + +```bash +# 例子:v2.2.11,请根据官方文档,选择合适的版本 +wget https://github.com/milvus-io/milvus/releases/download/v2.2.11/milvus-standalone-docker-compose.yml -O docker-compose.yml +``` + +#### 3.3 启动 Docker 容器 +```bash +sudo docker-compose up -d +``` + +#### 3.4 编辑向量引擎连接配置信息 +- application.yml +- 根据需要编辑向量引擎连接ip地址127.0.0.1为容器所在的主机ip +```bash +##################### 向量引擎 ############################### +search: + host: 127.0.0.1 + port: 19530 + indexFileSize: 1024 # maximum size (in MB) of each index file + nprobe: 256 + nlist: 16384 + dimension: 128 #dimension of each vector + collectionName: face_search #collection name + +``` + +#### 3.5 启动redis(mac环境为例) +```bash +nohup /usr/local/bin/redis-server & +``` + +#### 3.6 启动MySQL,并导入sql DLL +```bash +# Start MySQL +sudo /usr/local/mysql/support-files/mysql.server start + +# sql 文件位置: +# face_vector_search/sql/data.sql +# 导入 data.sql, 如:使用 MySQL WorkBench 之类工具导入。 +``` + +### 4. 运行程序: +使用IDE运行 AppRun: +位置:face_vector_search/aiplatform-system/src/main/java/me/calvin/AppRun +或者运行编译后的jar: +```bash +# 运行程序 +nohup java -Dfile.encoding=utf-8 -jar xxxxx-1.0.jar > log.txt 2>&1 & +``` + +### 5. 打开浏览器 +- 输入地址: http://localhost:8089 + +- 图片上传 +1). 点击上传按钮上传zip压缩包. +2). 点击提取人脸特征按钮. +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/face_search/data.png) + +- 人像搜索 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/face_search/search.png) + + +### 6. 重置Milvus向量引擎(清空数据) +- : +```bash +# face_vector_search/aiplatform-system/src/main/java/me/calvin/modules/search/tools +MilvusInit.java +``` + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/6_web_app/face_search/simple_face_search/README.md b/6_web_app/face_search/simple_face_search/README.md new file mode 100644 index 00000000..92539450 --- /dev/null +++ b/6_web_app/face_search/simple_face_search/README.md @@ -0,0 +1,165 @@ +### 目录: +https://aias.top/ + + + +### 下载模型,更新 face_vector_search 的yaml配置文件 +- 链接: https://pan.baidu.com/s/1XbMhZ4c1B-7hKKpCJMte2Q?pwd=ctva + +```bash +# Model URI +#Face +face: + saveDetectedFace: true + # 高精度大模型 retinaface detection model URI + retinaface: /Users/calvin/ai_projects/face_search_bak/simple_face_search/face_search/models/retinaface.onnx + # 速度快小模型,精度低于大模型 mobilenet face detection model URI + mobilenet: /Users/calvin/ai_projects/face_search_bak/simple_face_search/face_search/models/mobilenet.onnx + # face feature model URI + feature: /Users/calvin/ai_projects/face_search_bak/simple_face_search/face_search/models/face_feature.onnx + +model: + # 设置为 CPU 核心数 (Core Number) + poolSize: 4 +``` + + +### 人脸大数据搜索介绍 +- 人像高精度搜索:人脸特征提取(使用人脸特征模型提取128维特征)前先做 - 人脸检测,人脸关键点提取,人脸对齐 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/image_search/images/search_engine.png) + + +#### 主要特性 +- 底层使用特征向量相似度搜索 +- 单台服务器十亿级数据的毫秒级搜索 +- 近实时搜索,支持分布式部署 +- 随时对数据进行插入、删除、搜索、更新等操作 + +#### 功能介绍 +- 人像搜索:上传人像图片搜索 +- 数据管理:提供图像压缩包(zip格式)上传,人像特征提取 + +### 1. 前端部署 + +#### 1.1 直接运行: +```bash +npm run dev +``` + +#### 1.2 构建dist安装包: +```bash +npm run build:prod +``` + +#### 1.3 nginx部署运行(mac环境为例): +```bash +cd /usr/local/etc/nginx/ +vi /usr/local/etc/nginx/nginx.conf +# 编辑nginx.conf + + server { + listen 8080; + server_name localhost; + + location / { + root /Users/calvin/face_search/dist/; + index index.html index.htm; + } + ...... + +# 重新加载配置: +sudo nginx -s reload + +# 部署应用后,重启: +cd /usr/local/Cellar/nginx/1.19.6/bin + +# 快速停止 +sudo nginx -s stop + +# 启动 +sudo nginx +``` + +## 2. 后端jar部署 +#### 2.1 环境要求: +- 系统JDK 1.8+ +- 需要安装redis +- 需要安装MySQL数据库 + +#### 2.2 运行程序: +```bash +# 运行程序 + +java -jar face-search-1.0.jar + +``` + +### 3. 后端向量引擎部署 + +#### 3.1 环境要求: +- 需要安装docker运行环境,Mac环境可以使用Docker Desktop + +#### 3.2 拉取Milvus向量引擎镜像(用于计算特征值向量相似度) +下载 milvus-standalone-docker-compose.yml 配置文件并保存为 docker-compose.yml + +[单机版安装文档](https://milvus.io/docs/install_standalone-docker.md) +[引擎配置文档](https://milvus.io/docs/configure-docker.md) +[milvus-sdk-java](https://github.com/milvus-io/milvus-sdk-java) + + +```bash +# 例子:v2.2.11,请根据官方文档,选择合适的版本 +wget https://github.com/milvus-io/milvus/releases/download/v2.2.11/milvus-standalone-docker-compose.yml -O docker-compose.yml +``` + +#### 3.3 启动 Docker 容器 +```bash +sudo docker-compose up -d +``` + +#### 3.4 编辑向量引擎连接配置信息 +- application.yml +- 根据需要编辑向量引擎连接ip地址127.0.0.1为容器所在的主机ip +```bash +##################### 向量引擎 ############################### +search: + host: 127.0.0.1 + port: 19530 + indexFileSize: 1024 # maximum size (in MB) of each index file + nprobe: 256 + nlist: 16384 + dimension: 128 #dimension of each vector + collectionName: face_search #collection name + +``` + +## 4. 打开浏览器 +- 输入地址: http://localhost:8089 + +- 图片上传 +1). 点击上传按钮上传zip压缩包. +2). 点击提取人脸特征按钮. +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/face_search/data.png) + +- 人像搜索 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/face_search/search.png) + + +- 重置Milvus向量引擎(清空数据): +```bash +top.aias.tools.MilvusInit.java +``` + + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html diff --git a/6_web_app/image_gan/README.md b/6_web_app/image_gan/README.md new file mode 100644 index 00000000..cd296f0c --- /dev/null +++ b/6_web_app/image_gan/README.md @@ -0,0 +1,115 @@ +### 目录: +https://www.aias.top/ + +### 下载模型,配置yml文件 image_backend\src\main\resources\application-xxx.yml +- 链接: https://pan.baidu.com/s/1H1EQvrgMfb07pXyyHsFQXQ?pwd=bpm1 +```bash +model: + # 设备类型 cpu gpu + device: cpu + # 最大设置为 CPU 核心数 (Core Number) + poolSize: 1 + # 模型路径 + modelPath: D:\\ai_projects\\products\\4_apps\\image_gan\\image_backend\\models\\ + # 人脸检测模型 + faceModelName: retinaface_traced_model.pt + # 人像分割模型 + faceSegModelName: parsenet_traced_model.pt + # 人脸修复模型 + faceGanModelName: gfpgan_traced_model.pt + # 图像超分模型 + srModelName: realsr_traced_model.pt +``` + + +### 图像增强 +图像超分辨是指通过使用计算机算法将低分辨率图像转换为高分辨率图像的过程。在图像超分辨的任务中,我们希望通过增加图像的细节和清晰度来提高图像的质量。 +图像超分辨的挑战在于从有限的信息中恢复丢失的细节。低分辨率图像通常由于传感器限制、图像压缩或其他因素而失去了细节。图像超分辨技术通过利用图像中的上下文信息和统计特征来推测丢失的细节。 +目前,有多种图像超分辨方法可供选择,包括基于插值的方法、基于边缘的方法、基于学习的方法等。其中,基于学习的方法在图像超分辨领域取得了显著的进展。这些方法使用深度学习模型,如卷积神经网络(CNN)或生成对抗网络(GAN),通过训练大量的图像样本来学习图像的高频细节和结构,从而实现图像超分辨。 +图像超分辨技术在许多领域都有应用,包括医学影像、安防监控、视频增强等。它可以改善图像的视觉质量,提供更多细节和清晰度,有助于改善图像分析、图像识别和人机交互等任务的准确性和效果。 +人工智能图片人脸修复是一种应用计算机视觉技术和深度学习算法进行图像修复的方法。这种技术可以自动识别图像中的人脸,并进行修复和还原,从而使图像更加完整、清晰和自然。相较于传统的图像修复方法,人工智能图片人脸修复更加高效和准确。它可以快速地修复照片中的缺陷,例如面部皮肤瑕疵、眼睛或嘴巴的闭合问题等,使其看起来更加美观自然。这种技术在图像处理、医学影像、电影制作等领域都有着广泛的应用前景,并且随着人工智能技术的不断发展,其应用领域也会越来越广泛。 + + +当前版本包含了下面功能: +- 图片一键高清: 提升图片4倍分辨率。 +- 头像一键高清 +- 人脸一键修复 + + +### 1. 前端部署 + +#### 1.1 直接运行: +```bash +npm run dev +``` + +#### 1.2 构建dist安装包: +```bash +npm run build:prod +``` + +#### 1.3 nginx部署运行(mac环境部署管理前端为例): +```bash +cd /usr/local/etc/nginx/ +vi /usr/local/etc/nginx/nginx.conf +# 编辑nginx.conf + + server { + listen 8080; + server_name localhost; + + location / { + root /Users/calvin/image_ui/dist/; + index index.html index.htm; + } + ...... + +# 重新加载配置: +sudo nginx -s reload + +# 部署应用后,重启: +cd /usr/local/Cellar/nginx/1.19.6/bin + +# 快速停止 +sudo nginx -s stop + +# 启动 +sudo nginx +``` + +### 2. 后端jar部署 +#### 环境要求: +- 系统JDK 1.8+,建议11 + +### 3. 运行程序: +运行编译后的jar: +```bash +# 运行程序 +nohup java -Dfile.encoding=utf-8 -jar xxxxx.jar > log.txt 2>&1 & +``` + +### 4. 打开浏览器 +- 输入地址: http://localhost:8089 + + +#### 1. 图片一键高清 (提升图片4倍分辨率) +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/assets/imageSr.png) + +#### 2. 头像一键高清 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/assets/faceGan.png) + +#### 3. 人脸一键修复 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/assets/faceSr.png) + + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/6_web_app/image_seg/README.md b/6_web_app/image_seg/README.md new file mode 100644 index 00000000..ed8f9c2e --- /dev/null +++ b/6_web_app/image_seg/README.md @@ -0,0 +1,124 @@ +### 目录: +https://www.aias.top/ + +### 下载模型,配置yml文件 image_backend\src\main\resources\application-xxx.yml +- 链接: https://pan.baidu.com/s/1zm8tN94p2UgUS3HN0NTHRA?pwd=uzfy +```bash +model: + # 设备类型 cpu gpu + device: cpu + # 最大设置为 CPU 核心数 (Core Number) + poolSize: 4 + # 遮罩层 + mask: false + # 模型路径 + modelPath: D:\\ai_projects\\products\\1_image_sdks\\seg_unet_sdk\\models\\ + # 通用分割模型 + bigModelName: u2net.onnx + middleModelName: silueta.onnx + smallModelName: u2netp.onnx + # 人体分割模型 + humanModelName: human.onnx + # 动漫分割模型 + animeModelName: anime.onnx + # 衣服分割模型 + clothModelName: cloth.onnx +``` + +### 一键抠图 + +一键抠图是一种图像处理技术,旨在自动将图像中的前景对象从背景中分离出来。它可以帮助用户快速、准确地实现抠图效果,无需手动绘制边界或进行复杂的图像编辑操作。 +一键抠图的原理通常基于计算机视觉和机器学习技术。它使用深度神经网络模型,通过训练大量的图像样本,学习如何识别和分离前景对象和背景。这些模型能够理解图像中的像素信息和上下文,并根据学习到的知识进行像素级别的分割。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/assets/seg_all.png) + +使用一键抠图可以带来许多实际用途,包括但不限于以下几个方面: +1. 图像编辑:一键抠图可以用于图像编辑软件中,帮助用户轻松地将前景对象从一个图像中提取出来,并将其放置到另一个图像或背景中,实现合成效果。 +2. 广告设计:在广告设计中,一键抠图可以用于创建吸引人的广告素材。通过将产品或主题从原始照片中抠出,可以更好地突出产品或主题,并与其他元素进行组合。 +3. 虚拟背景:一键抠图可以用于视频会议或虚拟现实应用中,帮助用户实现虚拟背景效果。通过将用户的前景对象从实际背景中抠出,可以将其放置在虚拟环境中,提供更丰富的交互体验。 +4. 图像分析:一键抠图可以用于图像分析和计算机视觉任务中。通过将前景对象与背景分离,可以更好地理解和分析图像中的不同元素,如目标检测、图像分类、图像分割等。 + +当前版本包含了下面功能: +- 1. 通用一键抠图 +- 2. 人体一键抠图 +- 3. 动漫一键抠图 + + + +### 1. 前端部署 + +#### 1.1 直接运行: +```bash +npm run dev +``` + +#### 1.2 构建dist安装包: +```bash +npm run build:prod +``` + +#### 1.3 nginx部署运行(mac环境部署管理前端为例): +```bash +cd /usr/local/etc/nginx/ +vi /usr/local/etc/nginx/nginx.conf +# 编辑nginx.conf + + server { + listen 8080; + server_name localhost; + + location / { + root /Users/calvin/image_ui/dist/; + index index.html index.htm; + } + ...... + +# 重新加载配置: +sudo nginx -s reload + +# 部署应用后,重启: +cd /usr/local/Cellar/nginx/1.19.6/bin + +# 快速停止 +sudo nginx -s stop + +# 启动 +sudo nginx +``` + +### 2. 后端jar部署 +#### 环境要求: +- 系统JDK 1.8+,建议11 + +### 3. 运行程序: +运行编译后的jar: +```bash +# 运行程序 +nohup java -Dfile.encoding=utf-8 -jar xxxxx.jar > log.txt 2>&1 & +``` + +### 4. 打开浏览器 +- 输入地址: http://localhost:8089 + + +#### 1. 通用一键抠图 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/assets/seg_general.jpg) + +#### 2. 人体一键抠图 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/assets/seg_human.jpg) + +#### 3. 动漫一键抠图 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/assets/seg_anime.jpg) + + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/6_web_app/image_text_search/README.md b/6_web_app/image_text_search/README.md new file mode 100644 index 00000000..840040cb --- /dev/null +++ b/6_web_app/image_text_search/README.md @@ -0,0 +1,54 @@ +## 目录: +http://aias.top/ + + +### 图像&文本的跨模态相似性比对检索【支持40种语言】 +- 包含两个项目,满足不同场景的需要 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/arc.png) + +### 1. 图像&文本的跨模态相似性比对检索【无向量引擎版】 - simple_image_text_search +#### 1.1 主要特性 +- 支持100万以内的数据量 +- 随时对数据进行插入、删除、搜索、更新等操作 + +#### 1.2 功能介绍 +- 以图搜图:上传图片搜索 +- 以文搜图:输入文本搜索 +- 数据管理:提供图像压缩包(zip格式)上传,图片特征提取 + + +### 2. 图像&文本的跨模态相似性比对检索【向量引擎版】 - image_text_search +#### 2.1 主要特性 +- 底层使用特征向量相似度搜索 +- 单台服务器十亿级数据的毫秒级搜索 +- 近实时搜索,支持分布式部署 +- 随时对数据进行插入、删除、搜索、更新等操作 + +#### 2.2 功能介绍 +- 以图搜图:上传图片搜索 +- 以文搜图:输入文本搜索 +- 数据管理:提供图像压缩包(zip格式)上传,图片特征提取 + + +### 3. 打开浏览器 +- 输入地址: http://localhost:8090 + +#### 3.1 图片上传 +1). 点击上传按钮上传文件. +[测试图片数据](https://pan.baidu.com/s/1QtF6syNUKS5qkf4OKAcuLA?pwd=wfd8) +2). 点击特征提取按钮. +等待图片特征提取,特征存入向量引擎。通过console可以看到进度信息。 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/storage.png) + +#### 3.2 跨模态搜索 - 文本搜图 + 输入文字描述,点击查询,可以看到返回的图片清单,根据相似度排序。 + +- 例子1,输入文本:车 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/search1.png) + +- 例子2,输入文本:雪地上两只狗 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/search2.png) + +#### 3.3 跨模态搜索 - 以图搜图 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/search3.png) diff --git a/6_web_app/image_text_search/image_text_search/README.md b/6_web_app/image_text_search/image_text_search/README.md new file mode 100644 index 00000000..61e4e56b --- /dev/null +++ b/6_web_app/image_text_search/image_text_search/README.md @@ -0,0 +1,217 @@ +### 目录: +http://aias.top/ + +### 下载模型,更新 image_text_search的yaml配置文件 +- 链接: https://pan.baidu.com/s/1bc3MGsZjWz6TKFmSMUn5Ow?pwd=33b3 +```bash +# Model URI +model: + # Embedding Model + textModel: /Users/calvin/ai_projects/image_text_search/image_text_search/image_text_search/models/M-BERT-Base-ViT-B/M-BERT-Base-ViT-B.pt + imageModel: /Users/calvin/ai_projects/image_text_search/image_text_search/image_text_search/models/CLIP-ViT-B-32-IMAGE.pt +``` + +### 图像&文本的跨模态相似性比对检索【支持40种语言】 +本例子提供了通过文本搜图片的能力展示(模型本身当然也支持图片搜文字,或者混合搜索)。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/arc.png) + + +#### 主要特性 +- 底层使用特征向量相似度搜索 +- 单台服务器十亿级数据的毫秒级搜索 +- 近实时搜索,支持分布式部署 +- 随时对数据进行插入、删除、搜索、更新等操作 + +#### 功能介绍 +- 以图搜图:上传图片搜索 +- 以文搜图:输入文本搜索 +- 数据管理:提供图像压缩包(zip格式)上传,图片特征提取 + + +#### 背景介绍 +OpenAI 发布了两个新的神经网络:CLIP 和 DALL·E。它们将 NLP(自然语言识别)与 图像识别结合在一起,对日常生活中的图像和语言有了更好的理解。 +之前都是用文字搜文字,图片搜图片,现在通过CLIP这个模型,可是实现文字搜图片,图片搜文字。其实现思路就是将图片跟文本映射到同一个向量空间。如此,就可以实现图片跟文本的跨模态相似性比对检索。 +- 特征向量空间(由图片 & 文本组成) +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/clip_Imagesearch.png) + +#### CLIP - “另类”的图像识别 +目前,大多数模型学习从标注好的数据集的带标签的示例中识别图像,而 CLIP 则是学习从互联网获取的图像及其描述, 即通过一段描述而不是“猫”、“狗”这样的单词标签来认识图像。 +为了做到这一点,CLIP 学习将大量的对象与它们的名字和描述联系起来,并由此可以识别训练集以外的对象。 +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/clip.png) +如上图所示,CLIP网络工作流程: 预训练图编码器和文本编码器,以预测数据集中哪些图像与哪些文本配对。 +然后,将CLIP转换为zero-shot分类器。此外,将数据集的所有分类转换为诸如“一只狗的照片”之类的标签,并预测最佳配对的图像。 + +CLIP模型地址: +https://github.com/openai/CLIP/blob/main/README.md + +#### 支持的语言列表: +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/languages.png) + +### 1. 前端部署 + +#### 1.1 直接运行: +```bash +npm run dev +``` + +#### 1.2 构建dist安装包: +```bash +npm run build:prod +``` + +#### 1.3 nginx部署运行(mac环境为例): +```bash +cd /usr/local/etc/nginx/ +vi /usr/local/etc/nginx/nginx.conf +# 编辑nginx.conf + + server { + listen 8080; + server_name localhost; + + location / { + root /Users/calvin/Documents/image_text_search/dist/; + index index.html index.htm; + } + ...... + +# 重新加载配置: +sudo nginx -s reload + +# 部署应用后,重启: +cd /usr/local/Cellar/nginx/1.19.6/bin + +# 快速停止 +sudo nginx -s stop + +# 启动 +sudo nginx +``` + +### 2. 后端jar部署 +#### 2.1 环境要求: +- 系统JDK 1.8+ + +- application.yml +1). 根据需要编辑图片上传根路径rootPath +```bash +# 文件存储路径 +file: + mac: + path: ~/file/ + # folder for unzip files + rootPath: ~/file/data_root/ + linux: + path: /home/aias/file/ + rootPath: /home/aias/file/data_root/ + windows: + path: file:/D:/aias/file/ + rootPath: file:/D:/aias/file/data_root/ + ... +``` + +2). 根据需要编辑图片baseurl +```bash +image: + #baseurl是图片的地址前缀 + baseurl: http://127.0.0.1:8089/files/ +``` + +#### 2.2 运行程序: +```bash +# 运行程序 + +java -jar image-text-search-0.1.0.jar + +``` + +### 3. 后端向量引擎部署 + +#### 3.1 环境要求: +- 需要安装docker运行环境,Mac环境可以使用Docker Desktop + +#### 3.2 拉取Milvus向量引擎镜像(用于计算特征值向量相似度) +下载 milvus-standalone-docker-compose.yml 配置文件并保存为 docker-compose.yml + +[单机版安装文档](https://milvus.io/docs/install_standalone-docker.md) +[引擎配置文档](https://milvus.io/docs/configure-docker.md) +[milvus-sdk-java](https://github.com/milvus-io/milvus-sdk-java) + +```bash +# 例子:v2.2.11,请根据官方文档,选择合适的版本 +wget https://github.com/milvus-io/milvus/releases/download/v2.2.11/milvus-standalone-docker-compose.yml -O docker-compose.yml +``` + +#### 3.3 启动 Docker 容器 +```bash +sudo docker-compose up -d +``` + +#### 3.5 编辑向量引擎连接配置信息 +- application.yml +- 根据需要编辑向量引擎连接ip地址127.0.0.1为容器所在的主机ip +```bash +################## 向量引擎 ################ +search: + host: 127.0.0.1 + port: 19530 +``` + +### 4. 打开浏览器 +- 输入地址: http://localhost:8090 + +#### 4.1 图片上传 +1). 点击上传按钮上传文件. +[测试图片数据](https://pan.baidu.com/s/1QtF6syNUKS5qkf4OKAcuLA?pwd=wfd8) +2). 点击特征提取按钮. +等待图片特征提取,特征存入向量引擎。通过console可以看到进度信息。 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/storage.png) + +#### 4.2 跨模态搜索 - 文本搜图 + 输入文字描述,点击查询,可以看到返回的图片清单,根据相似度排序。 + +- 例子1,输入文本:车 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/search1.png) + +- 例子2,输入文本:雪地上两只狗 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/search2.png) + +#### 4.3 跨模态搜索 - 以图搜图 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/search3.png) + +### 5. 帮助信息 +- swagger接口文档: +http://localhost:8089/swagger-ui.html +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/video_search/swagger.png) + +- 初始化向量引擎(清空数据): + +```bash +top.aias.tools.MilvusInit.java + ... +``` + +- Milvus向量引擎参考链接 +[Milvus向量引擎官网](https://milvus.io/cn/docs/overview.md) +[Milvus向量引擎Github](https://github.com/milvus-io) + +### 官网: +[官网链接](http://www.aias.top/) + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html diff --git a/6_web_app/image_text_search/simple_image_text_search/README.md b/6_web_app/image_text_search/simple_image_text_search/README.md new file mode 100644 index 00000000..1a6c0333 --- /dev/null +++ b/6_web_app/image_text_search/simple_image_text_search/README.md @@ -0,0 +1,156 @@ +### 目录: +http://aias.top/ + +### 下载模型,更新 image_text_search的yaml配置文件 +- 链接: https://pan.baidu.com/s/1bc3MGsZjWz6TKFmSMUn5Ow?pwd=33b3 +```bash +# Model URI +model: + # Embedding Model + textModel: /Users/calvin/ai_projects/image_text_search/image_text_search/image_text_search/models/M-BERT-Base-ViT-B/M-BERT-Base-ViT-B.pt + imageModel: /Users/calvin/ai_projects/image_text_search/image_text_search/image_text_search/models/CLIP-ViT-B-32-IMAGE.pt +``` + +### 图像&文本的跨模态相似性比对检索【支持40种语言】 +#### 主要特性 +- 支持100万以内的数据量 +- 随时对数据进行插入、删除、搜索、更新等操作 + +#### 功能介绍 +- 以图搜图:上传图片搜索 +- 以文搜图:输入文本搜索 +- 数据管理:提供图像压缩包(zip格式)上传,图片特征提取 + + +#### 背景介绍 +OpenAI 发布了两个新的神经网络:CLIP 和 DALL·E。它们将 NLP(自然语言识别)与 图像识别结合在一起,对日常生活中的图像和语言有了更好的理解。 +之前都是用文字搜文字,图片搜图片,现在通过CLIP这个模型,可是实现文字搜图片,图片搜文字。其实现思路就是将图片跟文本映射到同一个向量空间。如此,就可以实现图片跟文本的跨模态相似性比对检索。 +- 特征向量空间(由图片 & 文本组成) +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/clip_Imagesearch.png) + +#### CLIP - “另类”的图像识别 +目前,大多数模型学习从标注好的数据集的带标签的示例中识别图像,而 CLIP 则是学习从互联网获取的图像及其描述, 即通过一段描述而不是“猫”、“狗”这样的单词标签来认识图像。 +为了做到这一点,CLIP 学习将大量的对象与它们的名字和描述联系起来,并由此可以识别训练集以外的对象。 +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/clip.png) +如上图所示,CLIP网络工作流程: 预训练图编码器和文本编码器,以预测数据集中哪些图像与哪些文本配对。 +然后,将CLIP转换为zero-shot分类器。此外,将数据集的所有分类转换为诸如“一只狗的照片”之类的标签,并预测最佳配对的图像。 + +#### 支持的语言列表: +![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/languages.png) + +### 1. 前端部署 + +#### 1.1 直接运行: +```bash +npm run dev +``` + +#### 1.2 构建dist安装包: +```bash +npm run build:prod +``` + +#### 1.3 nginx部署运行(mac环境为例): +```bash +cd /usr/local/etc/nginx/ +vi /usr/local/etc/nginx/nginx.conf +# 编辑nginx.conf + + server { + listen 8080; + server_name localhost; + + location / { + root /Users/calvin/Documents/image_text_search/dist/; + index index.html index.htm; + } + ...... + +# 重新加载配置: +sudo nginx -s reload + +# 部署应用后,重启: +cd /usr/local/Cellar/nginx/1.19.6/bin + +# 快速停止 +sudo nginx -s stop + +# 启动 +sudo nginx +``` + +### 2. 后端jar部署 +#### 2.1 环境要求: +- 系统JDK 1.8+ + +- application.yml +1). 根据需要编辑图片上传根路径rootPath +```bash +# 文件存储路径 +file: + mac: + path: ~/file/ + # folder for unzip files + rootPath: ~/file/data_root/ + linux: + path: /home/aias/file/ + rootPath: /home/aias/file/data_root/ + windows: + path: file:/D:/aias/file/ + rootPath: file:/D:/aias/file/data_root/ + ... +``` + +2). 根据需要编辑图片baseurl +```bash +image: + #baseurl是图片的地址前缀 + baseurl: http://127.0.0.1:8089/files/ +``` + +#### 2.2 运行程序: +```bash +# 运行程序 + +java -jar image-text-search-0.1.0.jar + +``` + +### 3. 功能使用 +打开浏览器 +- 输入地址: http://localhost:8090 + +#### 3.1 图片上传 +1). 点击上传按钮上传文件. +[测试图片数据](https://pan.baidu.com/s/1QtF6syNUKS5qkf4OKAcuLA?pwd=wfd8) +2). 点击特征提取按钮. +等待图片特征提取,特征存入json文件。 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/mini_search_3.png) + +#### 3.2 跨模态搜索 - 文本搜图 + 输入文字描述,点击查询,可以看到返回的图片清单,根据相似度排序。 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/mini_search_1.png) + +#### 3.3 跨模态搜索 - 以图搜图 +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/7_engine_hub/image_text_search/mini_search_2.png) + +### 4. 帮助信息 +- swagger接口文档: +http://localhost:8089/swagger-ui.html +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/video_search/swagger.png) + + +### 官网: +[官网链接](http://www.aias.top/) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html diff --git a/6_web_app/text_search/README.md b/6_web_app/text_search/README.md new file mode 100644 index 00000000..c7603230 --- /dev/null +++ b/6_web_app/text_search/README.md @@ -0,0 +1,48 @@ +## 目录: +http://aias.top/ + + +### 文本向量搜索 +本例子提供了文本搜索,支持上传csv文件,使用句向量模型提取特征,用于后续检索。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/arc.png) + +#### 文本句向量搜索应用: +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 文本聚类,文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 文本分类,表示成句向量,直接用简单分类器即训练文本分类器 +- RAG 用于大模型搜索增强生成 + +### 1. 文本向量搜索【无向量引擎版】 - simple_text_search +#### 1.1 主要特性 +- 支持100万以内的数据量 +- 随时对数据进行插入、删除、搜索、更新等操作 + + +### 2. 文本向量搜索【向量引擎版】 - text_search +#### 2.1 主要特性 +- 底层使用特征向量相似度搜索 +- 单台服务器十亿级数据的毫秒级搜索 +- 近实时搜索,支持分布式部署 +- 随时对数据进行插入、删除、搜索、更新等操作 + +## 3. 打开浏览器 +- 输入地址: http://localhost:8090 + +- 上传CSV数据文件 +1). 点击上传按钮上传CSV文件. +[测试数据](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/example.csv) +2). 点击特征提取按钮. +等待CSV文件解析,特征提取,特征存入向量引擎。通过console可以看到进度信息。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/storage.png) + +- 文本搜索 + 输入文字,点击查询,可以看到返回的清单,根据相似度排序。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/search.png) + +## 4. 帮助信息 +- swagger接口文档: +http://localhost:8089/swagger-ui.html +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/swagger.png) diff --git a/6_web_app/text_search/simple_text_search/README.md b/6_web_app/text_search/simple_text_search/README.md new file mode 100644 index 00000000..128251f0 --- /dev/null +++ b/6_web_app/text_search/simple_text_search/README.md @@ -0,0 +1,154 @@ +## 目录: +http://aias.top/ + +### 下载模型,更新 text-search 的yaml配置文件 +- 链接: https://pan.baidu.com/s/1hI_aiTyj34mkrtGrI7Ij4A?pwd=g8fu +```bash +# Model URI +model: + # 模型路径,注意路径最后要有分隔符 + modelPath: /Users/calvin/products/4_apps/simple_text_search/text-search/models/m3e/ + # 模型名字 + modelName: traced_m3e_base_model.pt + # for chinese - ture, others - false + chinese: true + # 设置为 CPU 核心数 (Core Number) + poolSize: 4 +``` + +#### 主要特性 +- 支持100万以内的数据量 +- 随时对数据进行插入、删除、搜索、更新等操作 + + +### 句向量模型【支持15种语言】 + +句向量是指将语句映射至固定维度的实数向量。将不定长的句子用定长的向量表示,为NLP下游任务提供服务。 +支持 15 种语言: +Arabic, Chinese, Dutch, English, French, German, Italian, Korean, Polish, Portuguese, Russian, Spanish, Turkish. + +- 句向量 + ![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + + +句向量应用: + +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 文本聚类,文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 文本分类,表示成句向量,直接用简单分类器即训练文本分类器 + + + +### 1. 前端部署 + +#### 1.1 安装运行: +```bash +# 安装依赖包 +npm install +# 运行 +npm run dev +``` + +#### 1.2 构建dist安装包: +```bash +npm run build:prod +``` + +#### 1.3 nginx部署运行(mac环境为例): +```bash +cd /usr/local/etc/nginx/ +vi /usr/local/etc/nginx/nginx.conf +# 编辑nginx.conf + + server { + listen 8080; + server_name localhost; + + location / { + root /Users/calvin/Documents/text_search/dist/; + index index.html index.htm; + } + ...... + +# 重新加载配置: +sudo nginx -s reload + +# 部署应用后,重启: +cd /usr/local/Cellar/nginx/1.19.6/bin + +# 快速停止 +sudo nginx -s stop + +# 启动 +sudo nginx +``` + +## 2. 后端jar部署 +#### 2.1 环境要求: +- 系统JDK 1.8+ + +- application.yml +```bash +# 文件存储路径 +file: + mac: + path: ~/file/ + linux: + path: /home/aias/file/ + windows: + path: file:/D:/aias/file/ + # 文件大小 /M + maxSize: 3000 + ... +``` + +#### 2.2 运行程序: +```bash +# 运行程序 + +java -jar text-search-0.1.0.jar + +``` + + +## 3. 打开浏览器 +- 输入地址: http://localhost:8090 + +- 上传CSV数据文件 +1). 点击上传按钮上传CSV文件. +[测试数据](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/example.csv) +2). 点击特征提取按钮. +等待CSV文件解析,特征提取,特征存入向量引擎。通过console可以看到进度信息。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/storage.png) + +- 文本搜索 + 输入文字,点击查询,可以看到返回的清单,根据相似度排序。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/search.png) + +## 4s. 帮助信息 +- swagger接口文档: +http://localhost:8089/swagger-ui.html +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/swagger.png) + + + +### 官网: +[官网链接](http://www.aias.top/) + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html diff --git a/6_web_app/text_search/text_search/README.md b/6_web_app/text_search/text_search/README.md new file mode 100644 index 00000000..cb2d8bd6 --- /dev/null +++ b/6_web_app/text_search/text_search/README.md @@ -0,0 +1,194 @@ +## 目录: +http://aias.top/ + +### 下载模型,更新 text-search 的yaml配置文件 +- 链接: https://pan.baidu.com/s/1hI_aiTyj34mkrtGrI7Ij4A?pwd=g8fu +```bash +# Model URI +model: + # 模型路径,注意路径最后要有分隔符 + modelPath: /Users/calvin/products/4_apps/simple_text_search/text-search/models/m3e/ + # 模型名字 + modelName: traced_m3e_base_model.pt + # for chinese - ture, others - false + chinese: true + # 设置为 CPU 核心数 (Core Number) + poolSize: 4 +``` + + +### 文本向量搜索 +本例子提供了文本搜索,支持上传csv文件,使用句向量模型提取特征,并基于milvus向量引擎进行后续检索。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/arc.png) + + +#### 主要特性 +- 底层使用特征向量相似度搜索 +- 单台服务器十亿级数据的毫秒级搜索 +- 近实时搜索,支持分布式部署 +- 随时对数据进行插入、删除、搜索、更新等操作 + + + +### 句向量模型【支持15种语言】 + +句向量是指将语句映射至固定维度的实数向量。将不定长的句子用定长的向量表示,为NLP下游任务提供服务。 +支持 15 种语言: +Arabic, Chinese, Dutch, English, French, German, Italian, Korean, Polish, Portuguese, Russian, Spanish, Turkish. + +- 句向量 + ![img](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/Universal-Sentence-Encoder.png) + + +句向量应用: + +- 语义搜索,通过句向量相似性,检索语料库中与query最匹配的文本 +- 文本聚类,文本转为定长向量,通过聚类模型可无监督聚集相似文本 +- 文本分类,表示成句向量,直接用简单分类器即训练文本分类器 + + + +### 1. 前端部署 + +#### 1.1 安装运行: +```bash +# 安装依赖包 +npm install +# 运行 +npm run dev +``` + +#### 1.2 构建dist安装包: +```bash +npm run build:prod +``` + +#### 1.3 nginx部署运行(mac环境为例): +```bash +cd /usr/local/etc/nginx/ +vi /usr/local/etc/nginx/nginx.conf +# 编辑nginx.conf + + server { + listen 8080; + server_name localhost; + + location / { + root /Users/calvin/Documents/text_search/dist/; + index index.html index.htm; + } + ...... + +# 重新加载配置: +sudo nginx -s reload + +# 部署应用后,重启: +cd /usr/local/Cellar/nginx/1.19.6/bin + +# 快速停止 +sudo nginx -s stop + +# 启动 +sudo nginx +``` + +## 2. 后端jar部署 +#### 2.1 环境要求: +- 系统JDK 1.8+ + +- application.yml +```bash +# 文件存储路径 +file: + mac: + path: ~/file/ + linux: + path: /home/aias/file/ + windows: + path: file:/D:/aias/file/ + # 文件大小 /M + maxSize: 3000 + ... +``` + +#### 2.2 运行程序: +```bash +# 运行程序 + +java -jar text-search-0.1.0.jar + +``` + +## 3. 后端向量引擎部署(Milvus 2.0) +#### 3.1 环境要求: +- 需要安装docker运行环境,Mac环境可以使用Docker Desktop + +#### 3.2 拉取Milvus向量引擎镜像(用于计算特征值向量相似度) +下载 milvus-standalone-docker-compose.yml 配置文件并保存为 docker-compose.yml +[单机版安装文档](https://milvus.io/docs/v2.0.0/install_standalone-docker.md) +```bash +wget https://github.com/milvus-io/milvus/releases/download/v2.0.0/milvus-standalone-docker-compose.yml -O docker-compose.yml +``` + +#### 3.3 启动 Docker 容器 +```bash +sudo docker-compose up -d +``` + +#### 3.5 编辑向量引擎连接配置信息 +- application.yml +- 根据需要编辑向量引擎连接ip地址127.0.0.1为容器所在的主机ip +```bash +################## 向量引擎 ################ +search: + host: 127.0.0.1 + port: 19530 +``` + +## 4. 打开浏览器 +- 输入地址: http://localhost:8090 + +- 上传CSV数据文件 +1). 点击上传按钮上传CSV文件. +[测试数据](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/example.csv) +2). 点击特征提取按钮. +等待CSV文件解析,特征提取,特征存入向量引擎。通过console可以看到进度信息。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/storage.png) + +- 文本搜索 + 输入文字,点击查询,可以看到返回的清单,根据相似度排序。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/search.png) + +## 5. 帮助信息 +- swagger接口文档: +http://localhost:8089/swagger-ui.html +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/text_search/swagger.png) + +- 初始化向量引擎(清空数据): +me.aias.tools.MilvusInit.java + +- Milvus向量引擎参考链接 +[Milvus向量引擎官网](https://milvus.io/cn/docs/overview.md) +[Milvus向量引擎Github](https://github.com/milvus-io) + +### 官网: +[官网链接](http://www.aias.top/) + +### Git地址: +[Github链接](https://github.com/mymagicpower/AIAS) +[Gitee链接](https://gitee.com/mymagicpower/AIAS) + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html diff --git a/6_web_app/text_translation/README.md b/6_web_app/text_translation/README.md new file mode 100644 index 00000000..59e148a7 --- /dev/null +++ b/6_web_app/text_translation/README.md @@ -0,0 +1,342 @@ +## 目录: +http://aias.top/ + +### 下载模型 +- 链接: https://pan.baidu.com/s/1KRrr0zQE601fqHZhf4oG4Q?pwd=e4lq + +### 202种语言互相翻译 Web 应用 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/nlp_sdks/translation.jpeg) + + +#### 主要特性 +- 支持202种语言互相翻译。 +- 支持 CPU / GPU + + + +### 1. 前端部署 + +#### 1.1 安装运行: +```bash +# 安装依赖包 +npm install +# 运行 +npm run dev +``` + +#### 1.2 构建dist安装包: +```bash +npm run build:prod +``` + +#### 1.3 nginx部署运行(mac环境为例): +```bash +cd /usr/local/etc/nginx/ +vi /usr/local/etc/nginx/nginx.conf +# 编辑nginx.conf + + server { + listen 8080; + server_name localhost; + + location / { + root /Users/calvin/Documents/text_translation/dist/; + index index.html index.htm; + } + ...... + +# 重新加载配置: +sudo nginx -s reload + +# 部署应用后,重启: +cd /usr/local/Cellar/nginx/1.19.6/bin + +# 快速停止 +sudo nginx -s stop + +# 启动 +sudo nginx +``` + +## 2. 后端jar部署 +#### 2.1 环境要求: +- 系统JDK 1.8+ +- 根据实际路径更新配置文件 application.yml + +```bash +# Model URI +model: + # 模型路径,注意路径最后要有分隔符 + # /Users/calvin/products/4_apps/trans_nllb_sdk/text-translation/models/ + modelPath: D:\\ai_projects\\products\\2_nlp_sdks\\trans_nllb_sdk\\models\\ + # 模型名字 + modelName: traced_translation.pt + # 设置为 CPU 核心数 (Core Number) + poolSize: 4 + +# 参数配置 +config: + # 输出文字最大长度 + maxLength: 128 + # 是否启用显卡 GPU, true, false + gpu: false + ... +``` + +#### 2.2 运行程序: +```bash +# 运行程序 + +java -jar text-translation-0.1.0.jar + +``` + + +## 4. 打开浏览器 +- 输入地址: http://localhost:8090 + +### 文本翻译 +- 选择源语言 +- 目标语言 +- 输入文字 +- 点击查询 + +然后可以看到返回的翻译结果。 + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/products/assets/nllb.png) + +## 5. 帮助信息 +- swagger接口文档: +- http://localhost:8089/swagger-ui.html + +![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/products/assets/nllb_swagger.png) + + + +### 官网: +[官网链接](http://www.aias.top/) + + + +#### 帮助文档: +- http://aias.top/guides.html +- 1.性能优化常见问题: +- http://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- http://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- http://aias.top/AIAS/guides/windows.html + + +## 语言编码 +### 详情请参考excel文档: 语言编码.xlsx + +Language | Code +---|--- +Acehnese (Arabic script) | ace_Arab +Acehnese (Latin script) | ace_Latn +Mesopotamian Arabic | acm_Arab +Ta’izzi-Adeni Arabic | acq_Arab +Tunisian Arabic | aeb_Arab +Afrikaans | afr_Latn +South Levantine Arabic | ajp_Arab +Akan | aka_Latn +Amharic | amh_Ethi +North Levantine Arabic | apc_Arab +Modern Standard Arabic | arb_Arab +Modern Standard Arabic (Romanized) | arb_Latn +Najdi Arabic | ars_Arab +Moroccan Arabic | ary_Arab +Egyptian Arabic | arz_Arab +Assamese | asm_Beng +Asturian | ast_Latn +Awadhi | awa_Deva +Central Aymara | ayr_Latn +South Azerbaijani | azb_Arab +North Azerbaijani | azj_Latn +Bashkir | bak_Cyrl +Bambara | bam_Latn +Balinese | ban_Latn +Belarusian | bel_Cyrl +Bemba | bem_Latn +Bengali | ben_Beng +Bhojpuri | bho_Deva +Banjar (Arabic script) | bjn_Arab +Banjar (Latin script) | bjn_Latn +Standard Tibetan | bod_Tibt +Bosnian | bos_Latn +Buginese | bug_Latn +Bulgarian | bul_Cyrl +Catalan | cat_Latn +Cebuano | ceb_Latn +Czech | ces_Latn +Chokwe | cjk_Latn +Central Kurdish | ckb_Arab +Crimean Tatar | crh_Latn +Welsh | cym_Latn +Danish | dan_Latn +German | deu_Latn +Southwestern Dinka | dik_Latn +Dyula | dyu_Latn +Dzongkha | dzo_Tibt +Greek | ell_Grek +English | eng_Latn +Esperanto | epo_Latn +Estonian | est_Latn +Basque | eus_Latn +Ewe | ewe_Latn +Faroese | fao_Latn +Fijian | fij_Latn +Finnish | fin_Latn +Fon | fon_Latn +French | fra_Latn +Friulian | fur_Latn +Nigerian Fulfulde | fuv_Latn +Scottish Gaelic | gla_Latn +Irish | gle_Latn +Galician | glg_Latn +Guarani | grn_Latn +Gujarati | guj_Gujr +Haitian Creole | hat_Latn +Hausa | hau_Latn +Hebrew | heb_Hebr +Hindi | hin_Deva +Chhattisgarhi | hne_Deva +Croatian | hrv_Latn +Hungarian | hun_Latn +Armenian | hye_Armn +Igbo | ibo_Latn +Ilocano | ilo_Latn +Indonesian | ind_Latn +Icelandic | isl_Latn +Italian | ita_Latn +Javanese | jav_Latn +Japanese | jpn_Jpan +Kabyle | kab_Latn +Jingpho | kac_Latn +Kamba | kam_Latn +Kannada | kan_Knda +Kashmiri (Arabic script) | kas_Arab +Kashmiri (Devanagari script) | kas_Deva +Georgian | kat_Geor +Central Kanuri (Arabic script) | knc_Arab +Central Kanuri (Latin script) | knc_Latn +Kazakh | kaz_Cyrl +Kabiyè | kbp_Latn +Kabuverdianu | kea_Latn +Khmer | khm_Khmr +Kikuyu | kik_Latn +Kinyarwanda | kin_Latn +Kyrgyz | kir_Cyrl +Kimbundu | kmb_Latn +Northern Kurdish | kmr_Latn +Kikongo | kon_Latn +Korean | kor_Hang +Lao | lao_Laoo +Ligurian | lij_Latn +Limburgish | lim_Latn +Lingala | lin_Latn +Lithuanian | lit_Latn +Lombard | lmo_Latn +Latgalian | ltg_Latn +Luxembourgish | ltz_Latn +Luba-Kasai | lua_Latn +Ganda | lug_Latn +Luo | luo_Latn +Mizo | lus_Latn +Standard Latvian | lvs_Latn +Magahi | mag_Deva +Maithili | mai_Deva +Malayalam | mal_Mlym +Marathi | mar_Deva +Minangkabau (Arabic script) | min_Arab +Minangkabau (Latin script) | min_Latn +Macedonian | mkd_Cyrl +Plateau Malagasy | plt_Latn +Maltese | mlt_Latn +Meitei (Bengali script) | mni_Beng +Halh Mongolian | khk_Cyrl +Mossi | mos_Latn +Maori | mri_Latn +Burmese | mya_Mymr +Dutch | nld_Latn +Norwegian Nynorsk | nno_Latn +Norwegian Bokmål | nob_Latn +Nepali | npi_Deva +Northern Sotho | nso_Latn +Nuer | nus_Latn +Nyanja | nya_Latn +Occitan | oci_Latn +West Central Oromo | gaz_Latn +Odia | ory_Orya +Pangasinan | pag_Latn +Eastern Panjabi | pan_Guru +Papiamento | pap_Latn +Western Persian | pes_Arab +Polish | pol_Latn +Portuguese | por_Latn +Dari | prs_Arab +Southern Pashto | pbt_Arab +Ayacucho Quechua | quy_Latn +Romanian | ron_Latn +Rundi | run_Latn +Russian | rus_Cyrl +Sango | sag_Latn +Sanskrit | san_Deva +Santali | sat_Olck +Sicilian | scn_Latn +Shan | shn_Mymr +Sinhala | sin_Sinh +Slovak | slk_Latn +Slovenian | slv_Latn +Samoan | smo_Latn +Shona | sna_Latn +Sindhi | snd_Arab +Somali | som_Latn +Southern Sotho | sot_Latn +Spanish | spa_Latn +Tosk Albanian | als_Latn +Sardinian | srd_Latn +Serbian | srp_Cyrl +Swati | ssw_Latn +Sundanese | sun_Latn +Swedish | swe_Latn +Swahili | swh_Latn +Silesian | szl_Latn +Tamil | tam_Taml +Tatar | tat_Cyrl +Telugu | tel_Telu +Tajik | tgk_Cyrl +Tagalog | tgl_Latn +Thai | tha_Thai +Tigrinya | tir_Ethi +Tamasheq (Latin script) | taq_Latn +Tamasheq (Tifinagh script) | taq_Tfng +Tok Pisin | tpi_Latn +Tswana | tsn_Latn +Tsonga | tso_Latn +Turkmen | tuk_Latn +Tumbuka | tum_Latn +Turkish | tur_Latn +Twi | twi_Latn +Central Atlas Tamazight | tzm_Tfng +Uyghur | uig_Arab +Ukrainian | ukr_Cyrl +Umbundu | umb_Latn +Urdu | urd_Arab +Northern Uzbek | uzn_Latn +Venetian | vec_Latn +Vietnamese | vie_Latn +Waray | war_Latn +Wolof | wol_Latn +Xhosa | xho_Latn +Eastern Yiddish | ydd_Hebr +Yoruba | yor_Latn +Yue Chinese | yue_Hant +Chinese (Simplified) | zho_Hans +Chinese (Traditional) | zho_Hant +Standard Malay | zsm_Latn +Zulu | zul_Latn \ No newline at end of file diff --git a/6_web_app/training/README_EN.md b/6_web_app/training/README_EN.md deleted file mode 100644 index 48105c06..00000000 --- a/6_web_app/training/README_EN.md +++ /dev/null @@ -1,123 +0,0 @@ -### This project is only for study and research purposes. For project development, it is recommended to use Python training frameworks such as PaddlePaddle, PyTorch, TensorFlow, etc. - -### Download the model and place it in the models directory -- Link: https://github.com/mymagicpower/AIAS/releases/download/apps/resnet50_v2.zip - -### AI Training Platform - -The AI training platform provides classification model training capabilities and provides interfaces to upper-layer applications in the form of REST APIs. The current version includes the following functions: - -- Classification model training (resnet50 model pre-trained with Imagenet dataset) -- Model training visualization -- Image classification inference -- Image feature extraction (512-dimensional feature) -- Image 1:1 comparison - -## Front-end deployment - -### nginx deployment operation: -```bash -cd /usr/local/etc/nginx/ -vi /usr/local/etc/nginx/nginx.conf -#Edit nginx.conf - -server { -listen 8080; -server_name localhost; - -location / { -root /Users/calvin/platform/dist/; -index index.html index.htm; - } -...... - -#Reload configuration: -sudo nginx -s reload - -#After deploying the application, restart: -cd /usr/local/Cellar/nginx/1.19.6/bin - -#Fast stop -sudo nginx -s stop - -#Start -sudo nginx - -``` - -#### Configure the hosts file: -```bash -#Add the mapping <127.0.0.1 train.aias.me> to the hosts file of the client (browser) machine, -#where 127.0.0.1 is replaced with the IP address of the server where the JAR package is running. - -127.0.0.1 train.aias.me -``` - -## Back-end deployment -```bash -# Compile & run the program -java -jar aais-platform-train-0.1.0.jar - -``` - -## Open the browser - -Enter the address: http://localhost:8080 - -#### 1. 训练数据准备-ZIP格式压缩包: -### 1. Training data preparation-ZIP format compression package: - -The compressed package must contain 2 directories (named strictly the same): --TRAIN: Contains training data, and each folder corresponds to a classification (try to keep the number of images in each classification as balanced as possible) --VALIDATION: Contains validation data, and each folder corresponds to a classification - -![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/train_platform/images/folder.png) - --[Download 320 vehicle image test data](https://github.com/mymagicpower/AIAS/releases/download/apps/Cars_320.zip) - -### 2. Upload data and start training: - -- Select the zip file and upload it -- Click the train button to start training -![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/train_platform/images/storage.png) - -#### 3. View the training process: -![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/train_platform/images/training.png) - -#### 4. Image classification test: -![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/train_platform/images/classification.png) - -#### 5. Feature extraction test: -The image feature extraction uses the newly trained model. The features come from the feature extraction layer of the model. -![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/train_platform/images/feature.png) - -#### 6. Image comparison test: -![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/train_platform/images/comparision.png) - -#### 7. API documentation: -http://127.0.0.1:8089/swagger-ui.html -![Screenshot](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/train_platform/images/swagger.png) - -### Edit the application.yml in the JAR package - -Edit the image upload path and model save path in the application.yml as needed -(Windows environment can use 7-zip to edit directly, no need to decompress and recompress the JAR package) - -```bash -#File storage path -file: - mac: - path: ~/file/ - imageRootPath: ~/file/image_root/ #Folder for decompressing compressed files - newModelPath: ~/file/model/ #Folder for storing models after training - linux: - path: /home/aias/file/ - imageRootPath: /home/aias/file/image_root/ #Folder for decompressing compressed files - newModelPath: /home/aias/file//model/ #Folder for storing models after training - windows: - path: C:\\aias\\file\\ - imageRootPath: C:\\aias\\file\\image_root\\ #Folder for decompressing compressed files - newModelPath: C:\\aias\\file\\modelv2\\ #Folder for storing models after training - #File size / M - maxSize: 3000 -``` diff --git a/7_aigc/README.md b/7_aigc/README.md new file mode 100644 index 00000000..6eaaa370 --- /dev/null +++ b/7_aigc/README.md @@ -0,0 +1,395 @@ + + +#### 项目清单: +- 7_aigc - [图像生成] + +```text + 1). 图像生成预处理工具箱 controlnet_sdks + 2). 图像生成SD工具箱 stable_diffusion_sdks + ... +``` + +- 7.1 图像生成预处理工具箱 controlnet_sdks +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

1. Canny 边缘检测

+ - canny_sdk
+ - Canny 边缘检测预处理器可很好识别出
图像内各对象的边缘轮廓,常用于生成线稿。
+ - 对应ControlNet模型: control_canny
+
+
+
+ +
+
+
+

2. MLSD 线条检测

+ - mlsd_sdk
+ - MLSD 线条检测用于生成房间、
直线条的建筑场景效果比较好。
+ - 对应ControlNet模型: control_mlsd
+
+
+
+ +
+
+
+

3. Scribble 涂鸦

+ - scribble_hed_sdk
+ - scribble_pidinet_sdk
+ - 图片自动生成类似涂鸦效果的草图线条。
+ - 对应ControlNet模型: control_mlsd
+
+
+
+ +
+
+
+

4. SoftEdge 边缘检测

+ - softedge_hed_sdk
+ - HED - HedScribbleExample
+ - HED Safe - HedScribbleExample
+ - softedge_pidinet_sdk
+ - PidiNet - PidiNetGPUExample
+ - PidiNet Safe - PidiNetGPUExample
+ - SoftEdge 边缘检测可保留更多柔和的边缘细节,
类似手绘效果。
+ - 对应ControlNet模型: control_softedge。
+
+
+
+ +
+
+
+

5. OpenPose 姿态检测

+ - pose_sdk
+ - OpenPose 姿态检测可生成图像中角色动作
姿态的骨架图(含脸部特征以及手部骨架检测)
,这个骨架图可用于控制生成角色的姿态动作。
+ - 对应ControlNet模型: control_openpose。
+
+
+
+ +
+
+
+

6. Segmentation 语义分割

+ - seg_upernet_sdk
+ - 语义分割可多通道应用,
原理是用颜色把不同类型的对象分割开,
让AI能正确识别对象类型和需求生成的区界。
+ - 对应ControlNet模型: control_seg。 +
+
+
+ +
+
+
+

7. Depth 深度检测

+ - depth_estimation_midas_sdk
+ - Midas - MidasDepthEstimationExample
+ - depth_estimation_dpt_sdks
+ - DPT - DptDepthEstimationExample
+ - 通过提取原始图片中的深度信息,
生成具有原图同样深度结构的深度图,
越白的越靠前,越黑的越靠后。
+ - 对应ControlNet模型: control_depth。 +
+
+
+ +
+
+
+

8. Normal Map 法线贴图

+ - normal_bae_sdk
+ - NormalBaeExample
+ - 根据图片生成法线贴图,适合CG或游戏美术师。
法线贴图能根据原始素材生成
一张记录凹凸信息的法线贴图,
便于AI给图片内容进行更好的光影处理,
它比深度模型对于细节的保留更加的精确。
法线贴图在游戏制作领域用的较多,
常用于贴在低模上模拟高模的复杂光影效果。
+ - 对应ControlNet模型: control_normal。 +
+
+
+ +
+
+
+

9. Lineart 生成线稿

+ - lineart_sdk
+ - lineart_coarse_sdk
+ - Lineart 边缘检测预处理器可很好识别出
图像内各对象的边缘轮廓,用于生成线稿。 + - 对应ControlNet模型: control_lineart。 +
+
+
+ +
+
+
+

10. Lineart Anime 生成线稿

+ - lineart_anime_sdk
+ - LineArtAnimeExample
+ - Lineart Anime 边缘检测预处理器
可很好识别出卡通图像内
各对象的边缘轮廓,用于生成线稿。
+ - 对应ControlNet模型: control_lineart_anime。 +
+
+
+ +
+
+
+

11. Content Shuffle

+ - content_shuffle_sdk
+ - ContentShuffleExample
+ - Content Shuffle 图片内容变换位置,
打乱次序,配合模型
control_v11e_sd15_shuffle 使用。
+ - 对应ControlNet模型: control_shuffle。 +
+
+
+ +
+
+
+ +- 7.2 图像生成SD工具箱 stable_diffusion_sdks +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

1. 文生图:输入提示词(仅支持英文),
生成图片(仅支持英文)

+ - txt2image_sdk
+
+
+
+ +
+
+
+

2. 图生图:根据图片及提示词
(仅支持英文)生成图片

+ - image2image_sdk
+
+
+
+ +
+
+
+

3. Lora 文生图

+ - lora_sdk
+
+
+
+ +
+
+
+

4. Controlnet 图像生成-4.1. Canny 边缘检测

+ - controlnet_canny_sdk
+ - Canny 边缘检测预处理器可
很好识别出图像内各对象
的边缘轮廓,常用于生成线稿。
+
+
+
+ +
+
+
+

4. Controlnet 图像生成-4.2. MLSD 线条检测

+ - controlnet_mlsd_sdk
+ - MLSD 线条检测用于生成房间、
直线条的建筑场景效果比较好。
+
+
+
+ +
+
+
+

4. Controlnet 图像生成-4.3. Scribble 涂鸦

+ - controlnet_scribble_sdk
+ - 图片自动生成类似涂鸦效果的草图线条。
+
+
+
+ +
+
+
+

4. Controlnet 图像生成-4.4. SoftEdge 边缘检测

+ - controlnet_softedge_sdk
+ - SoftEdge 边缘检测可保留更多
柔和的边缘细节,类似手绘效果。
+
+
+
+ +
+
+
+

4. Controlnet 图像生成-4.5. OpenPose 姿态检测

+ - controlnet_pose_sdk
+ - OpenPose 姿态检测可生成图像
中角色动作姿态的骨架图
(含脸部特征以及手部骨架检测)
,这个骨架图可用于控制生成角色的姿态动作。 +
+
+
+ +
+
+
+

4. Controlnet 图像生成-4.6. Segmentation 语义分割

+ - controlnet_seg_sdk
+ - 语义分割可多通道应用,
原理是用颜色把不同类型的对象分割开,
让AI能正确识别对象类型和需求生成的区界。 +
+
+
+ +
+
+
+

4. Controlnet 图像生成-4.7. Depth 深度检测

+ - controlnet_depth_sdk
+ - 通过提取原始图片中的深度信息,
生成具有原图同样深度结构的深度图,
越白的越靠前,越黑的越靠后。 +
+
+
+ +
+
+
+

4. Controlnet 图像生成-4.8. Normal Map 法线贴图

+ - controlnet_normal_sdk
+ - 根据图片生成法线贴图,
适合CG或游戏美术师。
法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,
便于AI给图片内容进行更好的光影处理,
它比深度模型对于细节的保留更加的精确。
法线贴图在游戏制作领域用的较多,
常用于贴在低模上模拟高模的复杂光影效果。 +
+
+
+ +
+
+
+

4. Controlnet 图像生成-4.9. Lineart 生成线稿

+ - controlnet_lineart_sdk
+ - controlnet_lineart_coarse_sdk
+ - Lineart 边缘检测预处理器可很好识别出
图像内各对象的边缘轮廓,用于生成线稿。 +
+
+
+ +
+
+
+

4. Controlnet 图像生成-4.10. Lineart Anime 生成线稿

+ - controlnet_lineart_anime_sdk
+ - Lineart Anime
边缘检测预处理器可很好
识别出卡通图像内各对象的边缘轮廓,
用于生成线稿。 +
+
+
+ +
+
+
+

4. Controlnet 图像生成-4.11. Content Shuffle

+ - controlnet_shuffle_sdk
+ - Content Shuffle 图片内容变换位置,
打乱次序,配合模型
control_v11e_sd15_shuffle 使用。 +
+
+
+ +
+
+
+ diff --git a/7_aigc/controlnet_sdks/README.md b/7_aigc/controlnet_sdks/README.md new file mode 100644 index 00000000..28330409 --- /dev/null +++ b/7_aigc/controlnet_sdks/README.md @@ -0,0 +1,126 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 下载模型,放置于各自项目的models目录 +- 链接: https://pan.baidu.com/s/1BUnSYila9LQ_7hREZzY-3Q?pwd=h5fv + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/canny_sdk/README.md b/7_aigc/controlnet_sdks/canny_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/canny_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/content_shuffle_sdk/README.md b/7_aigc/controlnet_sdks/content_shuffle_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/content_shuffle_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/depth_estimation_dpt_sdk/README.md b/7_aigc/controlnet_sdks/depth_estimation_dpt_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/depth_estimation_dpt_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/depth_estimation_midas_sdk/README.md b/7_aigc/controlnet_sdks/depth_estimation_midas_sdk/README.md new file mode 100644 index 00000000..1920fda8 --- /dev/null +++ b/7_aigc/controlnet_sdks/depth_estimation_midas_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - top.aias.sd.MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/lineart_anime_sdk/README.md b/7_aigc/controlnet_sdks/lineart_anime_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/lineart_anime_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/lineart_coarse_sdk/README.md b/7_aigc/controlnet_sdks/lineart_coarse_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/lineart_coarse_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/lineart_sdk/README.md b/7_aigc/controlnet_sdks/lineart_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/lineart_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/mlsd_sdk/README.md b/7_aigc/controlnet_sdks/mlsd_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/mlsd_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/normal_bae_sdk/README.md b/7_aigc/controlnet_sdks/normal_bae_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/normal_bae_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/pose_sdk/README.md b/7_aigc/controlnet_sdks/pose_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/pose_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/scribble_hed_sdk/README.md b/7_aigc/controlnet_sdks/scribble_hed_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/scribble_hed_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/scribble_pidinet_sdk/README.md b/7_aigc/controlnet_sdks/scribble_pidinet_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/scribble_pidinet_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/softedge_hed_sdk/README.md b/7_aigc/controlnet_sdks/softedge_hed_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/softedge_hed_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/controlnet_sdks/softedge_pidinet_sdk/README.md b/7_aigc/controlnet_sdks/softedge_pidinet_sdk/README.md new file mode 100644 index 00000000..6ed834c6 --- /dev/null +++ b/7_aigc/controlnet_sdks/softedge_pidinet_sdk/README.md @@ -0,0 +1,123 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 图像生成预处理 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. Canny 边缘检测 +- CannyExample +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 2. MLSD 线条检测 +- MlsdExample +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 3. Scribble 涂鸦 +- HedScribbleExample +- PidiNetScribbleGPUExample +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4. SoftEdge 边缘检测 +- HED - HedScribbleExample +- HED Safe - HedScribbleExample +- PidiNet - PidiNetGPUExample +- PidiNet Safe - PidiNetGPUExample +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 5. OpenPose 姿态检测 +- PoseExample +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 6. Segmentation 语义分割 +- SegUperNetExample +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 7. Depth 深度检测 +- Midas - MidasDepthEstimationExample +- DPT - DptDepthEstimationExample +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 8. Normal Map 法线贴图 +- NormalBaeExample +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 9. Lineart 生成线稿 +- LineArtExample +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 10. Lineart Anime 生成线稿 +- LineArtAnimeExample +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 11. Content Shuffle +- ContentShuffleExample +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/README.md b/7_aigc/java_stable_diffusion_sdks/README.md new file mode 100644 index 00000000..3acbdb4d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/README.md @@ -0,0 +1,168 @@ +### 官网: +[官网链接](https://www.aias.top/) + +### 下载模型,放置于各自项目的models目录 +- 链接: https://pan.baidu.com/s/1sQu1mVR6pPqyBL8nil89tg?pwd=g287 + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_canny_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_canny_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_canny_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_depth_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_depth_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_depth_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_inpaint_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_inpaint_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_inpaint_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_lineart_anime_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_lineart_anime_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_lineart_anime_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_lineart_coarse_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_lineart_coarse_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_lineart_coarse_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_lineart_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_lineart_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_lineart_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_normal_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_normal_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_normal_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_p2p_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_p2p_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_p2p_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_pose_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_pose_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_pose_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_scribble_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_scribble_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_scribble_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_seg_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_seg_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_seg_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_shuffle_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_shuffle_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_shuffle_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/controlnet_softedge_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/controlnet_softedge_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/controlnet_softedge_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/image2image_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/image2image_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/image2image_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/lora_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/lora_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/lora_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/7_aigc/java_stable_diffusion_sdks/txt2image_sdk/README.md b/7_aigc/java_stable_diffusion_sdks/txt2image_sdk/README.md new file mode 100644 index 00000000..65bb713d --- /dev/null +++ b/7_aigc/java_stable_diffusion_sdks/txt2image_sdk/README.md @@ -0,0 +1,165 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 图像生成提示词参考 +- https://arthub.ai/ + +#### 作品欣赏 +
+ +
+ +#### 测试环境和数据 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 1. 文生图:输入提示词(仅支持英文),生成图片(仅支持英文) +- GPU版本 StableDiffusionGPU.java +- CPU版本 StableDiffusionCPU.java +#### 文生图测试 +- 提示词 prompt: a photo of an astronaut riding a horse on mars +- 生成图片效果: +
+ +
+ +### 2. 图生图:根据图片及提示词(仅支持英文)生成图片 +- CPU版本 Image2ImageCpu.java +- GPU版本 Image2ImageGpu.java + +### 3. Lora 文生图 +- CPU版本 LoraTxt2ImageCpu.java + +### 4. Controlnet 图像生成 +- 显卡CUDA:11.7版本 +- 参考测试数据:分辨率 512*512 25步 CPU(i5处理器) 5分钟。 3060显卡20秒。 + +#### 4.1. Canny 边缘检测 +- CPU版本 ControlNetCannyCpu.java +- GPU版本 ControlNetCannyGpu.java +- Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。 +- 对应ControlNet模型: control_canny + +
+ +
+ +#### 4.2. MLSD 线条检测 +- CPU版本 ControlNetMlsdCpu.java +- GPU版本 ControlNetMlsdGpu.java +- MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。 +- 对应ControlNet模型: control_mlsd + +
+ +
+ +#### 4.3. Scribble 涂鸦 +- CPU版本 ControlNetScribbleHedCpu.java,ControlNetScribblePidiNetCpu.java +- GPU版本 ControlNetScribbleHedGpu.java,ControlNetScribblePidiNetGpu.java +- 不用自己画,图片自动生成类似涂鸦效果的草图线条。 +- 对应ControlNet模型: control_scribble + +
+ +
+ +#### 4.4. SoftEdge 边缘检测 +- HED Safe +- PidiNet +- PidiNet Safe +- CPU版本 ControlNetSoftEdgeCpu +- GPU版本 ControlNetSoftEdgeGpu +- SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。 +- 对应ControlNet模型: control_softedge。 + +
+ +
+ +#### 4.5. OpenPose 姿态检测 +- CPU版本 ControlNetPoseCpu.java +- GPU版本 ControlNetPoseGpu.java +- OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。 +- 对应ControlNet模型: control_openpose。 + +
+ +
+ +#### 4.6. Segmentation 语义分割 +- CPU版本 ControlNetSegCpu.java +- GPU版本 ControlNetSegGpu.java +- 语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。 +- 对应ControlNet模型: control_seg。 + +
+ +
+ +#### 4.7. Depth 深度检测 +- Midas +- CPU版本 ControlNetDepthDptCpu.java +- GPU版本 ControlNetDepthDptGpu.java +- DPT +- CPU版本 ControlNetDepthMidasCpu.java +- GPU版本 ControlNetDepthMidasGpu.java +- 通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。 +- 对应ControlNet模型: control_depth。 + +
+ +
+ +#### 4.8. Normal Map 法线贴图 +- CPU版本 ControlNetNormalbaeCpu.java +- GPU版本 ControlNetNormalbaeGpu.java +- 根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。 +- 对应ControlNet模型: control_normal。 + +
+ +
+ +#### 4.9. Lineart 生成线稿 +- CPU版本 ControlNetLineArtCpu.java +- GPU版本 ControlNetLineArtGpu.java +- Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart。 + +
+ +
+ +#### 4.10. Lineart Anime 生成线稿 +- CPU版本 ControlNetLineArtAnimeCpu.java +- GPU版本 ControlNetLineArtAnimeGpu.java +- Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。 +- 对应ControlNet模型: control_lineart_anime。 + +
+ +
+ +#### 4.11. Content Shuffle +- CPU版本 ControlNetShuffleCpu.java +- GPU版本 ControlNetShuffleGpu.java +- Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。 +- 对应ControlNet模型: control_shuffle。 + +
+ +
+ + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html \ No newline at end of file diff --git a/8_desktop_app/desktop_app_llm/README.md b/8_desktop_app/desktop_app_llm/README.md new file mode 100644 index 00000000..dfec793e --- /dev/null +++ b/8_desktop_app/desktop_app_llm/README.md @@ -0,0 +1,132 @@ + +### 大模型桌面离线版App +#### 主要特性 +- 支持中/英文 +- 模型支持chatglm2,baichuan2,llama2,alpaca2等 +- 支持4位,8位量化,16位半精度模型。 +- 支持windows及mac系统 +- 支持CPU,GPU + + +#### 功能介绍 +- 选择模型,并运行 +
+image +
+ +- 创建新的对话,与模型聊天 +
+image +
+ +#### 项目构建 +```text +# 环境搭建 +npm install +# 开发环境运行 +npm run dev +# mac生产环境发布 +npm run build:mac +# windows生产环境发布 +npm run build:win +# linux生产环境发布 +npm run build:linux +``` + +#### 调用llama的关键代码(根据环境修改命令) +```text + let bin_path = process.env.PY_SCRIPT || "../llama_bin/main" + + let proc = require('child_process').spawn(bin_path, ['-m', model_path, '-n', "256", '--repeat_penalty', "1.0", '-r', "User:", '-f', "/Users/calvin/Downloads/llm/llama_bin/chat-with-bob.txt", '-i']); +``` + + +#### Llama.cpp项目构建 +```text +下载代码: +git clone https://github.com/ggerganov/llama.cpp && cd llama.cpp + + +GPU Build: +复制所有文件: +From: +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\extras\visual_studio_integration\MSBuildExtensions +To: +C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\BuildCustomizations + +cd D:\githubs\llama.cpp\ +mkdir build +cd build +cmake -DLLAMA_CUBLAS=ON -DBUILD_SHARED_LIBS=ON .. +cmake --build . --config Release + +CPU Build: +cd D:\githubs\llama.cpp\ +mkdir build2 +cd build2 +cmake -DLLAMA_CUBLAS=OFF -DBUILD_SHARED_LIBS=ON .. +cmake --build . --config Release + +``` + +#### Llama.cpp模型转换参考例子 +```text +# install Python dependencies +python3 -m pip install -r requirements.txt + +模型量化: +python3 convert.py /root/autodl-tmp/Chinese-LLaMA-2-7B/ --outfile models/llama2_7b_f16.gguf --outtype f16 + + ./quantize ./models/llama2_7b_f16.gguf ./models/llama2_7b_q4_0.bin q4_0 + +Linux 运行: +cd /root/autodl-tmp/llama.cpp +./main -m ./models/llama2_7b_q4_0.bin -p "古希腊历史简介" + +Mac 运行: +cd /Users/calvin/aias_projects/llama.cpp/ +./build/bin/main -m /Users/calvin/Downloads/llama2_7b_q4_0.bin -p "古希腊历史简介" + +交互模式运行:(-i flag) +./build/bin/main -m /Users/calvin/Downloads/llama2_7b_q4_0.bin -i + +``` + + +#### windows环境参考命令配置 +```text + // let jar_path = process.env.PY_SCRIPT; + let jar_path = "D:\\easy_AI_apps\\3_ocr\\backends_ocr\\ocr_sdk\\target\\ocr-sdk-0.20.0.jar"; + + if(jar_path && (fs.existsSync(jar_path))){ + proc = require('child_process').spawn('java' , ['-Dfile.encoding=utf-8', '-jar' , jar_path , '-i' , input_path , '-o' , out_path ]); + } + else{ + const path = require('path'); + let java_path = path.join(path.dirname(__dirname), 'core','jdk-11.0.16.1','bin','java.exe'); + let jar_path = path.join(path.dirname(__dirname), 'core' , 'ocr-sdk-0.20.0.jar' ); + // let proc = require('child_process').spawn( bin_path , ['-i' , input_path , '-o' , out_path ]); + proc = require('child_process').spawn(java_path, ['-Dfile.encoding=utf-8', '-jar' , jar_path , '-i' , input_path , '-o' , out_path ]); + } + +``` + + +#### windows环境进程无法正常关闭问题 +```text +app.on('window-all-closed', () => { + require('child_process').exec('taskkill /F /IM electron.exe /T') + require('child_process').exec('taskkill /F /IM 文字识别.exe /T') + // console.log('window-all-closed') + // if(java_process){ + // console.log('kill java process') + // is_app_closing = true; + // java_process.kill('SIGKILL') + // // process.exit(java_process.pid) + // app.quit() + // // app.exit(); + // } + +}) + +``` \ No newline at end of file diff --git a/8_desktop_app/desktop_app_ocr/README.md b/8_desktop_app/desktop_app_ocr/README.md new file mode 100644 index 00000000..da203540 --- /dev/null +++ b/8_desktop_app/desktop_app_ocr/README.md @@ -0,0 +1,143 @@ +# OCR 文字识别桌面app +## 介绍 +使用Electron构建UI界面,ocr识别使用paddle开源ocr模型,模型推理框架使用amazon djl推理引擎。 + +### 功能清单 +- 图片文字识别 +- 支持windows, linux, mac 一键安装 +
+ +
+ + +## 项目配置 +### 1. OCR SDK +### 1.1. 更新模型路径(替换成你的本地路径,或者参考其它的模型加载方式) +``` + String detModelUri ="E:\\desktop_app\\ocr\\models\\ch_PP-OCRv3_det_infer_onnx.zip"; + String recModelUri ="E:\\desktop_app\\ocr\\models\\ch_PP-OCRv3_rec_infer_onnx.zip"; +``` + +### 1.2. java 命令行调试 +``` +java -Dfile.encoding=utf-8 -jar ocr-sdk-0.22.1.jar -i "E:\\Data_OCR\\ticket_new.png" -o "E:\\Data_OCR\\" +``` + +### 1.3. 如何通过url在线加载模型? +``` +# 文档: +http://aias.top/AIAS/guides/load_model.html + +# 使用 optModelUrls 在线加载url模型 + Criteria criteria = + Criteria.builder() + .optEngine("OnnxRuntime") + .optModelName("inference") + .setTypes(Image.class, NDList.class) + .optModelUrls("https://aias-home.oss-cn-beijing.aliyuncs.com/models/ocr_models/ch_PP-OCRv3_det_infer_onnx.zip") + .optTranslator(new OCRDetectionTranslator(new ConcurrentHashMap())) + .optProgress(new ProgressBar()) + .build(); + +``` + + +### 2. OCR Electron 前端App + +### 2.1. 项目初始化 +``` +npm install + +``` + +### 2.2. 开发环境 +``` + npm run electron:serve +``` + +### 2.3. 生产环境发布 +``` +npm run electron:build +``` + +### 2.4. 如何配置启动java的命令行? +``` +native_functions.js: + + //1. 开发环境:配置 jar_path + let jar_path = "D:\\easy_AI_apps\\3_ocr\\backends_ocr\\ocr_sdk\\target\\ocr-sdk-0.22.1.jar"; + + if(jar_path && (fs.existsSync(jar_path))){ + proc = require('child_process').spawn('java' , ['-Dfile.encoding=utf-8', '-jar' , jar_path , '-i' , input_path , '-o' , out_path ]); + } + + //2. 生产环境:配置 java_path, jar_path, 如果环境中有java可以不使用 spawn(java_path...,直接使用 spawn('java' .... + else{ + const path = require('path'); + let java_path = path.join(path.dirname(__dirname), 'core','jdk-11.0.16.1','bin','java.exe'); + let jar_path = path.join(path.dirname(__dirname), 'core' , 'ocr-sdk-0.22.1.jar' ); + // let proc = require('child_process').spawn( bin_path , ['-i' , input_path , '-o' , out_path ]); + proc = require('child_process').spawn(java_path, ['-Dfile.encoding=utf-8', '-jar' , jar_path , '-i' , input_path , '-o' , out_path ]); + } +``` + +### 2.5. jar包该放在哪里?- 更新 native_functions.js +``` +native_functions.js: + + //1. 开发环境:调试的时候,直接hardcode jar的路径 + let jar_path = "F:\dev\easy_AI_apps_win\3_ocr_desktop_app\backends_ocr\\ocr_sdk\\target\\ocr-sdk-0.20.0.jar"; + + if(jar_path && (fs.existsSync(jar_path))){ + proc = require('child_process').spawn('java' , ['-Dfile.encoding=utf-8', '-jar' , jar_path , '-i' , input_path , '-o' , out_path ]); + } + + //2. 生产环境:自动根据 vue.config.js里面的配置复制打包 + else{ + const path = require('path'); + let java_path = path.join(path.dirname(__dirname), 'core','jdk-11.0.16.1','bin','java.exe'); + let jar_path = path.join(path.dirname(__dirname), 'core' , 'ocr-sdk-0.20.0.jar' ); + // let proc = require('child_process').spawn( bin_path , ['-i' , input_path , '-o' , out_path ]); + proc = require('child_process').spawn(java_path, ['-Dfile.encoding=utf-8', '-jar' , jar_path , '-i' , input_path , '-o' , out_path ]); + } +``` + +### 2.6. vue.config.js 如何配置? +``` +1. mac, linux 环境配置: // "from": "../backends/ocr/" +2. windows环境配置: "from": "E:\\ocr\\" +------------------ +E:\ocr 的目录 +2023/01/11 19:35 . +2023/08/15 19:45 .. +2023/01/11 19:29 jdk-11.0.16.1 +2023/01/11 19:35 977,666,281 ocr-sdk-0.20.0.jar +------------------ + + builderOptions: { + productName:"文字识别",//项目名 这也是生成的exe文件的前缀名 + appId: 'top.aias.ocr', + copyright:"All rights reserved by aias.top",//版权 信息 + afterSign: "./afterSignHook.js", + "extraResources": [{ + "from": "E:\\ocr\\" , // 将需要打包的文件,放在from指定的目录下 + "to": "core", //安装时候复制文件的目标目录 + "filter": [ + "**/*" + ] + }], +``` + +### 2.7. 如何启用web开发者工具?- background.js +``` + if (process.env.WEBPACK_DEV_SERVER_URL) { + // Load the url of the dev server if in development mode + await win.loadURL(process.env.WEBPACK_DEV_SERVER_URL) + + // 打开下面这行的注释 + // if (!process.env.IS_TEST) win.webContents.openDevTools() + } else { + createProtocol('app') + // Load the index.html when not in development + win.loadURL('app://./index.html') +``` \ No newline at end of file diff --git a/8_desktop_app/desktop_app_ocr/ocr_sdk/README.md b/8_desktop_app/desktop_app_ocr/ocr_sdk/README.md new file mode 100644 index 00000000..59268e29 --- /dev/null +++ b/8_desktop_app/desktop_app_ocr/ocr_sdk/README.md @@ -0,0 +1,68 @@ +### 官网: +[官网链接](https://www.aias.top/) + +#### 下载模型,放置于models目录 +- 链接:https://pan.baidu.com/s/1GSdLe3jxPzzn-5GzUfze9A?pwd=2g6f + + +## 文字识别(OCR)工具箱 +文字识别(OCR)目前在多个行业中得到了广泛应用,比如金融行业的单据识别输入,餐饮行业中的发票识别, +交通领域的车票识别,企业中各种表单识别,以及日常工作生活中常用的身份证,驾驶证,护照识别等等。 +OCR(文字识别)是目前常用的一种AI能力。 + +### OCR工具箱功能: +#### 文字识别SDK (原生支持旋转倾斜文本, 如果需要,图像预处理SDK可以作为辅助) +##### 1. 文本检测 - OcrV3DetExample +- 中文文本检测 +- 英文文本检测 +- 多语言文本检测 +![OcrV3DetExample](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/OcrV3DetExample.jpeg) + +##### 2. 文本识别 - OcrV3RecExample +支持的语言模型: +- 中文简体 +- 中文繁体 +- 英文 +- 韩语 +- 日语 +- 阿拉伯 +- 梵文 +- 泰米尔语 +- 泰卢固语 +- 卡纳达文 +- 斯拉夫 + +![OcrV3RecExample1](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/OcrV3RecExample1.jpeg) + +![OcrV3RecExample2](https://aias-home.oss-cn-beijing.aliyuncs.com/AIAS/OCR/images/OcrV3RecExample2.jpeg) + + +##### 3. 多线程文本识别 - OcrV3MultiThreadRecExample +CPU:2.3 GHz 四核 Intel Core i5 +同样图片单线程运行时间:1172 ms +多线程运行时间:707 ms +图片检测框较多时,多线程可以显著提升识别速度。 + + +### 开源算法 +#### 1. sdk使用的开源算法 +- [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR) + +#### 2. 模型如何导出 ? +(readme.md 里提供了推理模型的下载链接) +- [export_model](https://github.com/PaddlePaddle/PaddleOCR/blob/release%2F2.5/tools/export_model.py) +- [how_to_create_paddlepaddle_model](http://docs.djl.ai/docs/paddlepaddle/how_to_create_paddlepaddle_model_zh.html) + + + +#### 帮助文档: +- https://aias.top/guides.html +- 1.性能优化常见问题: +- https://aias.top/AIAS/guides/performance.html +- 2.引擎配置(包括CPU,GPU在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/engine_config.html +- 3.模型加载方式(在线自动加载,及本地配置): +- https://aias.top/AIAS/guides/load_model.html +- 4.Windows环境常见问题: +- https://aias.top/AIAS/guides/windows.html + diff --git a/8_desktop_app/desktop_app_upscale/README.md b/8_desktop_app/desktop_app_upscale/README.md new file mode 100644 index 00000000..d4cf9bbe --- /dev/null +++ b/8_desktop_app/desktop_app_upscale/README.md @@ -0,0 +1,152 @@ +# 图像高清放大桌面App +## 介绍 +使用Electron构建UI界面,使用realesrgan模型,模型推理框架使用vulkan。 + +### 功能清单 +- 单张图片分辨率放大 +- 批量图片分辨率放大 +- 支持 windows, macos, ubuntu +
+ +
+ + +## 项目配置 +### 1. 模型sdk +-模型地址: +[realsr-ncnn-vulkan](https://github.com/nihui/realsr-ncnn-vulkan) + +### 1.1. 下载模型项目 +``` +https://github.com/nihui/realsr-ncnn-vulkan/releases + +realesrgan_ncnn_macos +realsr-ncnn-vulkan-windows +``` + +### 1.2. 命令 +``` +realsr-ncnn-vulkan.exe -i input.jpg -o output.png -s 4 + +------------------------------------------------------------------- +Usage: realsr-ncnn-vulkan -i infile -o outfile [options]... + + -h show this help + -v verbose output + -i input-path input image path (jpg/png/webp) or directory + -o output-path output image path (jpg/png/webp) or directory + -s scale upscale ratio (4, default=4) + -t tile-size tile size (>=32/0=auto, default=0) can be 0,0,0 for multi-gpu + -m model-path realsr model path (default=models-DF2K_JPEG) + -g gpu-id gpu device to use (-1=cpu, default=0) can be 0,1,2 for multi-gpu + -j load:proc:save thread count for load/proc/save (default=1:2:2) can be 1:2,2,2:2 for multi-gpu + -x enable tta mode + -f format output image format (jpg/png/webp, default=ext/png) +``` + + +### 2. Electron 前端App + +### 2.1. 项目初始化 +``` +npm install + +``` + +### 2.2. 开发环境 +``` +npm run electron:serve +``` + +### 2.3. 生产环境发布 +``` +npm run electron:build +``` + +### 2.4. 如何配置启动realesrgan命令行? +``` +native_functions.js: + + // 1. 开发环境:配置 bin_path + // - windows bin_path:realsr-ncnn-vulkan.exe + // - linux bin_path:realsr-ncnn-vulkan + let bin_path = "D:\\ai_projects\\AIAS\\9_desktop_app\\desktop_app_upscale\\realesrgan_ncnn\\realsr-ncnn-vulkan.exe" + + if(bin_path && (fs.existsSync(bin_path))){ + proc = require('child_process').spawn( bin_path , ['-i' , input_path , '-o' , out_path ]); + } + + // 2. 生产环境:配置 bin_path + // - windows bin_path:realsr-ncnn-vulkan.exe + // - linux bin_path:realsr-ncnn-vulkan + else{ + const path = require('path'); + bin_path = path.join(path.dirname(__dirname), 'core' , 'realsr-ncnn-vulkan.exe' ); + proc = require('child_process').spawn( bin_path , ['-i' , input_path , '-o' , out_path ]); + } +``` + +### 2.5. realesrgan_ncnn该放在哪里?- 更新 native_functions.js +``` +native_functions.js: + + //1. 开发环境:调试的时候,直接hardcode jar的路径 + let bin_path = "D:\\ai_projects\\AIAS\\9_desktop_app\\desktop_app_upscale\\realesrgan_ncnn\\realsr-ncnn-vulkan.exe" + + if(bin_path && (fs.existsSync(bin_path))){ + proc = require('child_process').spawn( bin_path , ['-i' , input_path , '-o' , out_path ]); + } + + //2. 生产环境:自动根据 vue.config.js里面的配置复制打包 + else{ + const path = require('path'); + bin_path = path.join(path.dirname(__dirname), 'core' , 'realsr-ncnn-vulkan.exe' ); + proc = require('child_process').spawn( bin_path , ['-i' , input_path , '-o' , out_path ]); + } + +``` + +### 2.6. vue.config.js 如何配置? +``` +1. mac, linux 环境配置: // "from": "../backends/upscale/" +2. windows环境配置: "from": "E:\\desktop_app\\upscale\\" +------------------ +E:\desktop_app\upscale 的目录 + +2023/01/12 10:00 . +2023/08/15 19:45 .. +2023/01/12 10:00 11,985 input.jpg +2023/01/12 10:00 10,286 input2.jpg +2023/01/12 09:49 models-DF2K +2023/01/12 09:49 models-DF2K_JPEG +2022/07/28 13:59 6,104,064 realsr-ncnn-vulkan.exe +2022/06/10 19:52 181,680 vcomp140.dll +------------------ + + builderOptions: { + productName:"图像放大",//项目名 这也是生成的exe文件的前缀名 + appId: 'top.aias.ocr', + copyright:"All rights reserved by aias.top",//版权 信息 + afterSign: "./afterSignHook.js", + "extraResources": [{ + "from": "E:\\desktop_app\\upscale\\" , // 将需要打包的文件,放在from指定的目录下 + "to": "core", //安装时候复制文件的目标目录 + "filter": [ + "**/*" + ] + }], +``` + +### 2.7. 如何启用web开发者工具?- background.js +``` + if (process.env.WEBPACK_DEV_SERVER_URL) { + // Load the url of the dev server if in development mode + await win.loadURL(process.env.WEBPACK_DEV_SERVER_URL) + + // 打开下面这行的注释 + // if (!process.env.IS_TEST) win.webContents.openDevTools() + } else { + createProtocol('app') + // Load the index.html when not in development + win.loadURL('app://./index.html') +``` \ No newline at end of file