zoukankan      html  css  js  c++  java
  • 期末大作业

    一、选题简介

    1.选题名称

    • 生人报警

    2.选题原因

    • 首先是通过这两次实验,我们对利用OpenCV进行人脸识别有一定的知识了解和技术掌握

    • 其次,生人报警是人脸识别的一项重要用途,在生活中的许多方面都有涉及到。该项目通过摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸, 进而对检测到的人脸视觉特征信息进行身份鉴别,可对异常人员及陌生人徘徊逗留识别报警。

    3.预期功能

    • 遇到“生人”(未知人员)徘徊逗留进行报警
    • 记录“熟人”(认证人员)访问时间
    • 通过网页直播监控画面

    二、设计,重点说明系统部署所使用的容器

    1.工作流程

    image.png

    2.整体部署

    image.png

    3.具体布置

    (1)树莓派
    • 容器

    image.png

    (2)服务器
    • 容器

    image.png

    • 数据库

    image.png
    image.png
    image.png

    • rtml实现代码
    • docker-compose.yml
    version: "3"
    services:
            rtmp:
                    build: ./rtmp
                    ports:
                            - "1935:1935"
                            - "8080:80"
                    volumes:
                            - /home/pi/docker1/rtmp/conf/nginx.conf:/opt/nginx/nginx.conf
                            - /usr/local/python3/lib/python3.7/site-packages/django/bin/Home_surveillance/static:/www/static
            mysql:
                    build: ./mysql
                    ports:
                            - "3306:3306"
                    volumes:
                            - /home/pi/docker1/mysql/data/:/var/lib/mysql/
                    environment:
                            MYSQL_ROOT_PASSWORD : 123456
    
    
    • rtmp/Dockerfile
    FROM jun3/rtmp
    RUN apt-get update && apt-get install -y vim
    
    • mysql/Dockerfile
    FROM mysql:5.7
    # allow no password
    ENV MYSQL_ALLOW_EMPTY_PASSWORD no
    

    三、运行结果,展示容器启动后,程序的运行结果

    image.png

    四、最终的组内分工+贡献比

    学号 名称 任务 贡献比
    031702623 蔡嘉懿 搭建树莓派环境,部署树莓派镜像以及树莓派上python代码的编写 17%
    031702627 李志恒 nginx服务器等的设置以及django后端的大部分内容 22%
    031702632 林华伟 搭建树莓派环境,部署树莓派镜像以及树莓派上python代码的编写 17%
    031702606 余琳玲 搭建了docker环境、设计mysql数据库的以及部分网页的设计 17%
    111700306 陈佳雯 制作PPT、搭建了docker环境、设计mysql数据库以及部分网页的设计 17%
    031702616 林涛 编写博客、配置服务器端环境以及部分网页的的设计 10%

    五、总结(组员分别撰写,统一提交)

    • 蔡嘉懿:

    作为组长,在本次实验中我选择了项目内容,对任务进行分工,在具体实验中我负责树莓派的配置和相关代码的编写。在实验过程中,我们遇到了一些困难,绕了一些远路,做了些无用功,但从这些经验教训中,我们找到了正确的路,并成功完成了项目,当然这也少不了我的组员们的配合。总之,通过这次实验,我收获了许多。

    • 李志恒:

    在本次实验中我主要负责了django架构的部署和后端代码的编写,首先是将django和nginx连接起来,然后是django和mysql连接起来。刚开始的时候我们的项目整体部署在树莓派上,遇到的问题就是树莓派的arm架构不支持mysql,后面好不容易弄到了arm上的mysql镜像,结果版本不够,django3.0至少需要mysql5.7,所以又换了个镜像。结果最后换到了服务器上面部署......感觉这些活都白干了,然后又遇到了nginx和uwsgi沟通的问题,还有静态资源定位的问题,花了好长时间一个个解决这些问题。最后终于把应用部署到了服务器上面,感觉终于有一点产品的感觉了,虽然网站很简陋.......但是感觉还是可以的.......

    • 林华伟:

    这次基于树莓派的人脸识别监控实现过程中,我参与了后端的部署,通过架构云服务器和树莓派来部署web应用,实现了树莓派将视频等数据推流到云服务器上,用户再通过前端界面拉流查看直播监控界面。我们后端采用了nginx加rtmp模块的服务器以及python的管道部署实现了较低的直播延迟(大约只有一两秒,几乎无感),给予用户良好的直播观看体验。

    • 余琳玲:

    微服务的特点是可以将应用分解为多个部分,使得每一个微服务专注于一个功能,这样方便分工的同时也加大了一些工作量。在部署docker环境和写前端界面的时候遇到了不少问题,在这个过程中学习到uwsgi服务器本身是内网接口,通过nginx被浏览器访问到,用django或是uwsgi这种东西来负责静态文件的处理有点浪费资源,所以整个静态文件的处理都直接有nginx完成,微服务的关键是隔离和划分各个服务。

    • 陈佳雯:

    这门课磨了这么久终于了结束了!!不过,磨人的同时也确实收获了很多以前完全没了解过的知识。在这次大作业当中,更加深了微服务的了解。特别是nginx的conf配置吧...在这次大作业中,踩了不少坑。还学习了nginx的静态资源服务,才发现自己只了解了微服务的冰山一角啊。整个项目都是用python来写的,对flask框架搭建和视频在web端的传输有了初步的认识。不得不说,python的好多库都太香了...

    • 林涛:

    这次的大作业全靠大佬带,因为本人Python不怎么会(其实什么都不会),所以这次作业就只能做些简单的工作,比如写博客,配置树莓派、服务器,帮忙写网页等,但从这门课还是学会了许多新知识,比如容器的创建、镜像的部署以及树莓派的使用等。

  • 相关阅读:
    需求分析模板
    【转】卓有成效的敏捷开发流程
    敏捷建模者的个性
    四个凡事:有章可循,有人负责,有据可查,有人监督
    全局变量初始化的重要性
    Windows下虚拟串口工具:com0com可做串口调试用
    【转】各种加解密算法比较
    WSASocket函数未定义和重定义错误
    海明校验码
    stl学习总结
  • 原文地址:https://www.cnblogs.com/fdltbk/p/13200516.html
Copyright © 2011-2022 走看看