您的位置:首页 > 大数据 > 人工智能

【2】coreML基于图像的处理(图像识别)

2017-10-30 11:46 260 查看

什么是 Machine Learning?

机器学习是人工智能的一个分支,他的目的在于吸收任何的数据比如说(图像,文本,语音,统计数据) 然后作出预测数据当中所隐藏的特征或是行为。



ML可以做什么?

面部识别

面部特征识别 (微笑、哭泣…)

特征检测和替换 (把你的哭变成笑)

ML是怎么学习的?

我们使用海量的图片,数据等等来告诉他A是啥B是啥,笑是什么等等

然后让他通过这些数据找到最符合这个图的结果。

但是,怎么和学习有关吗?

一个模型,经过多次的使用,会越来越聪明,分辨的可靠性越来越高。

有点像走迷宫,有很多种出去的方法。走的多了,就知道最近的一条路是哪了。

万一遇到死胡同怎么办呢?对,比方说他识别是个砖头,但是后面的信息是它的叫声是汪汪汪,很明显猜测砖头是错。我们就返回去,接着去找其它的路。

直到所有的数据都分析完了,给你一个最可靠的答案。当然这个答案也可能是错的。。。

神经网络

1、人工神经网络(ANN)

人工神经网络Artificial Neuron Network是基于生物的神经结构和功能的一种计算模式。

2、积卷神经网络(CNN)

卷积神经网络Convolutional Neural Network是一种反馈形式的人工神经网络。

3、递归神经 (RNN)

递归神经网络Recurrent Neural Network 他是一种深层次的学习模式,他跟 CNN 有点不同,他会在许多的神经网络的隐藏层之间反覆的游走,我们甚至可以说他是有记忆的。

=============================================

【下面让我们通过coreML来识别一条狗,看它能不能行】

STEP1

我找到一只大金毛、
hello.jpeg




STEP2

导入
Resnet50.mlmodel


STEP3

代码如下:

import UIKit
import CoreML
import Vision

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

//在内存里面拿到这个图片。
let path = Bundle.main.path(forResource: "hello", ofType: "jpeg");

let imageUrl = NSURL.fileURL(withPath: path!);

let modelFile = Resnet50();

let model = try! VNCoreMLModel(for: modelFile.model); //把这个模型拿来视觉处理

let handler = VNImageRequestHandler(url: imageUrl);

//结果从模型里面取
let request = VNCoreMLRequest(model: model, completionHandler: myResultMethod);

try! handler.perform([request]);

}

//处理结果
func myResultMethod(request: VNRequest,error: Error?){

//判别结果是否存在
guard let resultes = request.results as? [VNClassificationObservation] else {
fatalError("拿不到结果");
}

//相似物名称
var bestPrediction = "";
//相似度
var bestConfidence:VNConfidence = 0;
//递归
for classIfication in resultes {

if(classIfication.confidence > bestConfidence){
bestConfidence = classIfication.confidence;
bestPrediction = classIfication.identifier;
}
}
print("预测结果\(bestPrediction) 可信度\(bestConfidence)")
}

}


STEP4

我们看下控制台的结果



我们可以看到预测的结果是golden retriever,准确度有96.434%

准确度很高了。我们看下是不是对。



恭喜恭喜!!你这个小家伙预测对了。就是我最爱的大金毛。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息