大数据分析技术

陈清华、田启明、施郁文等

目录

  • 课程简介
    • ● 课程简介
  • 环境准备
    • ● Anaconda环境安装与使用
    • ● Pycharm环境安装
    • ● 常用第三方包的安装与配置
  • 项目一 电影数据统计
    • ● 任务简介
    • ● 数据获取
    • ● 数据解析
    • ● 数据分析
    • ● 数据可视化
    • ● 课堂思政:新型冠状病毒疫情分析与可视化
    • ● 课堂思政:中国工匠精神
  • 项目二 电影数据分析(回归)
    • ● 任务简介
    • ● 使用一元线性回归分析电影票房数据
    • ● 使用多项式回归分析电影票房数据
    • ● 使用多元线性回归分析电影票房数据
    • ● 课堂实训:工资分析
  • 项目三 爬取房产租赁数据
    • ● 任务简介
    • ● 电影数据爬取
    • ● 房产租赁数据爬取
    • ● 房产租赁数据统计
    • ● 课后实训:二手房数据爬取
    • ● 课堂思政:疫情数据的爬取与可视化
  • 项目四 房屋租赁数据分析与可视化
    • ● 任务简介
    • ● 使用箱形图展现租赁价格分布特征
    • ● 使用散点图展现房屋面积与租赁价格的关系
    • ● 使用饼图展现不同行政区域的可租赁房源占比
    • ● 使用折线图可视化房间数与租赁价格的关系
    • ● 使用热力图展现地理位置的影响
    • ● 课后实训:二手房数据分析
    • ● 课堂思政:疫情数据分析与可视化
  • 项目五 身高与体重数据分析(分类器)
    • ● 使用身高、体重数据进行性别分类
      • ● 使用逻辑回归进行性别分类
      • ● 使用朴素贝叶斯进行性别分类
      • ● 使用决策树模型进行性别分类
      • ● 使用支持向量机进行性别分类
    • ● 使用支持向量机进行肥胖程度分类
    • ● 课后实训: 身高体重数据分析(分类器)
  • 项目六 鸢尾花分类
    • ● 任务简介
    • ● 使用K近邻对鸢尾花进行分类
    • ● 使用随机森林对鸢尾花进行分类
    • ● 使用神经网络对鸢尾花进行分类
  • 项目七 电影评分数据分析(聚类)
    • ● 任务简介
    • ● 使用BDSCAN确定质心个数
    • ● 使用K-Means对观影用户进行聚类
  • 项目八 人脸检测与人脸识别
    • ● 任务简介
    • ● 图像中的人脸检测
    • ● 视频中的人脸检测
    • ● 图像中的人脸识别
    • ● 视频中的人脸识别
    • ● 课后实训:眼睛与笑脸检测
    • ● 课堂思政:人工智能与弯道超车
  • 项目九 手写数字识别应用
    • ● 任务简介
    • ● 图像数据集准备
    • ● 使支持向量机识别手写数字
    • ● 使用神经网络识别手写数字
    • ● 课后实训:使用不同的机器学习方法识别数字手写体
  • 项目十  深度学习在行为识别中的应用
    • ● 任务简介
    • ● 使用卷积神经网络识别行为
    • ● 使用循环神经网络识别行为
    • ● 课后实训:电影评论数据分析
  • 项目十一 TensorFlow与神经网络
    • ● 任务简介
    • ● 使用单层神经网络预测花瓣宽度
    • ● 设计多层神经网络实现鸢尾花分类
    • ● 课后实训:卷积神经网络的实现与应用
  • 项目综合实训(17级学生案例)
    • ● 综合实训要求
    • ● 确定数据采集目标
    • ● 数据采集与预处理
    • ● 数据统计与分析
    • ● 数据分析与预测
    • ● 数据分类应用
    • ● 17级实训案例:二手车数据获取与市场分析
视频中的人脸识别

以上,我们对人脸检测和人脸识别进行了简单地应用。假如,现需要在视频中实现人脸识别,又该如何实现?根据视频道理的原理,结合以上代码实现并进行修改。参考代码如下:

 

if __name__ == '__main__':
     cascade_path =
"cascade_files/haarcascade_frontalface_alt.xml"
    
path_train = 'faces_dataset/train'
    
path_test = 'faces_dataset/test'
    
# 人脸检测训练结果读取
    
face_cascade = cv2.CascadeClassifier(cascade_path)
    
# 人脸识别方法初始化
    
recognizer =  cv2.face.LBPHFaceRecognizer_create()
    
# 获取训练数据集
    
images, labels, le  = get_images_and_labels(path_train)
    
# 读取训练模型
    
print('\n读取模型...')
    
recognizer.read('my_LBPHFaceRecognizer.xml')
    
# 识别测试数据集
    
print('\n识别视频中的人脸...')
    
cap = cv2.VideoCapture(0)
    
scaling_factor = 0.8
    
# 点击ESC退出
    
while True:
 
        ret, frame =  cap.read()
         frame = cv2.resize(frame,
None, fx=scaling_factor,  fy=scaling_factor,
                           
interpolation=cv2.INTER_AREA)
 
        gray = cv2.cvtColor(frame,  cv2.COLOR_BGR2GRAY)
 
        face_rects = face_cascade.detectMultiScale(gray, 1.3, 5)
         predicted_person =
''
 
        for (x, y, w, h) in face_rects:
             cv2.rectangle(frame, (x,  y), (x + w, y + h), (
255, 0, 0), 2)
             predicted_index, conf =  recognizer.predict(
                 gray[y:y + h, x:x + w])
            
# 文字到数字的转换
            
predicted_person  = le.num_to_word(predicted_index)
             cv2.
putText(frame[y:y + h,  x:x + w], predicted_person,
                     (
10, 30),  cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 255), 2)
        
# 显示结果
        
cv2.imshow("result", frame)
        
c = cv2.waitKey(1)
        
if c == 27:
            
break
    
cap.release()
     cv2.
destroyAllWindows()

 

运行上述程序代码,结果如图所示。

    


接下来,对显示结果进行格式化,参考代码如下:

 cv2.rectangle(frame, (x, y + h - 30), (x + w, y +  h), (0, 0, 255), 2)

 cv2.putText(frame[y:y + h, x:x + w], predicted_person,
         (
6,h - 4),  cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)

    运行结果如图所示。


    最后,对识别结果可以根据需要进行存储与处理。