This issue recommends an AI identification framework based on Java development – easyAi.
easyAi is an AI recognition framework for JAVA programmers to use, without any algorithmic knowledge, through a simple api call can realize the commonly used image object recognition, positioning and other image AI services and natural language classification processing services, does not rely on any third-party libraries.
easyAi currently has three features:
Identify single images and single objects
Identify and locate multiple objects in a single image
Classification and semantic recognition of Chinese language, determine what the semantic meaning of the user’s speech is, and what to do
Some API descriptions:
Image learning
//Create an image parsing class Picture picture = new Picture();//Create a static singleton configuration template static TempleConfig templeConfig = new TempleConfig();//The third parameter and the fourth parameter are the width and height of the training picture respectively. In order to ensure the stability of the training, please ensure the consistency of the size of the training picture templeConfig.init(StudyPattern.Accuracy_Pattern, true, 640, 640, 2);//Insert the configuration template class as a construct into the compute class Operation operation = new Operation(templeConfig);//One stage reads different pictures in a loop for (int i = 1; i < 1900; i++) {//Read the local URL address image and transform it into a matrix Matrix a = picture.getImageMatrixByLocal("/Users/lidapeng/Desktop/myDocment/picture/a" + i + ".jpg");Matrix c = picture.getImageMatrixByLocal("/Users/lidapeng/Desktop/myDocment/picture/c" + i + ".jpg");//The matrix is inserted into the operation class for learning. The first parameter is the picture matrix, the second parameter is the picture classification label ID, and the third parameter is the first learning fixed falseoperation.learning(a, 1, false);operation.learning(c, 2, false);}for (int i = 1; i < 1900; i++) {//Read the local URL address image and transform it into a matrix Matrix a = picture.getImageMatrixByLocal("D:\\share\\picture/a" + i + ".jpg");Matrix c = picture.getImageMatrixByLocal("D:\\share\\picture/c" + i + ".jpg");//The image matrix and annotations are added for learning ,Accuracy_Pattern The third parameter must be when the pattern learns the second time // learns the second time trueoperation.learning(a, 1, true);operation.learning(c, 2, true);}templeConfig.finishStudy();//End learning // Get the parameters of the model at the end of learning and save the model to the databaseModelParameter modelParameter = templeConfig.getModel();String model = JSON.toJSONString(modelParameter);
- Natural language classification
//Create a template read class TemplateReader templateReader = new TemplateReader();//Read the language template, the first parameter is the template address, the second parameter is the text encoding method // is also the learning processtemplateReader.read("/Users/lidapeng/Desktop/myDocment/a1.txt", "UTF-8");//End of learning Get the model parameters //WordModel wordModel = WordTemple.get().getModel();//不用学习注入模型参数//WordTemple.get().insertModel(wordModel);Talk talk = new Talk();//The input statement is identified, and if there is a punctuation mark, each element in the LIST is formed. // Each value in the returned set represents the classification of the input statement, and each punctuation mark precedes the statementList<Integer> list = talk.talk("Make me a lock");System.out.println(list);//Here is a special note, semantic classification id do not use "0", this framework convention if the category returns the number 0, it means that the semantic can not be understood, that is, classification failure // usually due to insufficient template, or the semantics of the user said, not within your semantic classification training scope
Example:
Single object recognition effect
One stage reads different pictures in a loop
- Multi-object recognition effect
- The effect of Chinese language classification
You can read more on your own.