基于Python考勤系统的设计与实现_第1页
基于Python考勤系统的设计与实现_第2页
基于Python考勤系统的设计与实现_第3页
基于Python考勤系统的设计与实现_第4页
基于Python考勤系统的设计与实现_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGEV基于Python考勤系统的设计与实现摘要:近几年来,人脸识别的应用技术发展迅速,有效地提高了人脸识别的准确率和速度,为人脸识别在许多领域的应用铺垫好了根底。而且自从2016年以来,人脸识别的应用领域逐步扩大,特别自从2016年下半年开始,人脸识别技术等的各种应用案例的运用落地速度飞快,普及程度也有所提高,诸如此类手机摄像头开锁及考勤门禁人脸识别功能等。2017年出现井喷,在各种应用和领域中熠熠生辉,目前来看很有发展得前景。经过几十年的发展,人脸识别技术已经成为计算机视觉领域的研究热点。随着人脸识别算法的成熟,人脸识别技术已广泛应用于诸如此类财务支付、各种认证、美容摄像、公安事业等领域。本文在如今Python人脸识别的现有研究成果下,显浅使用Python语言的第三方库Dlib,通过机器深度学习来实现人脸识别的各种功能,设计和实现创新的人脸识别的考勤系统,完成用户注册,用户识别,考勤系统管理等功能整合。该系统考勤相对于传统考勤系统具有灵活、编程简单、准确率相对较高等的优势。关键词:人脸识别;Python语言;dlib库;考勤系统。DesignandimplementationofattendancesystembasedonPythonAbstract:Inrecentyears,theapplicationtechnologyoffacerecognitionhasdevelopedrapidly,whichhaseffectivelyimprovedtheaccuracyandspeedoffacerecognition,andpavedthewayfortheapplicationoffacerecognitioninmanyfields.Since2016,theapplicationfieldoffacerecognitionhasgraduallyexpanded,especiallysincethesecondhalfof2016,thespeedoflandingofvariousapplicationcasesoffacerecognitiontechnologyhasbeensignificantlyaccelerated,andthepopularityhasalsoincreased.Facerecognitionfunction,etc.Ablowoutappearedin2017,whichisshininginvariousapplicationsandfields.Atpresent,ithasapromisingdevelopmentprospect.Afterdecadesofdevelopment,facerecognitiontechnologyhasbecomearesearchhotspotinthefieldofcomputervision.Withthematurityoffacerecognitionalgorithms,facerecognitiontechnologyhasbeenwidelyusedinsuchfieldsasfinancialpayment,variouscertifications,beautycameras,publicsecurity,andotherfields.BasedonthecurrentresearchresultsofPythonfacerecognition,thispaperusesthethird-partylibraryDlibofPythonlanguagetoimplementvariousfunctionsoffacerecognitionthroughmachinedeeplearning,anddesignandimplementaninnovativefacerecognitionattendancesystem.,Completeuserregistration,useridentification,attendancesystemmanagementandotherfunctionsintegration.Comparedwiththetraditionalattendancesystem,thissystemhastheadvantagesofflexibility,simpleprogramming,andrelativelyhighaccuracy.Keywords:Facerecognition;Pythonlanguage;dliblibrary;attendancesystem.目录TOC\o"1-3"\h\u27348第一章绪论 133691.1系统设计的背景 184311.2课题目的与意义 1220821.3课题的研究现状 23911.4论文系统结构与内容 216441.5考勤管理系统简介 3272231.5.1概述 347911.5.2考勤管理系统的历史概述 3208421.5.3常见考勤系统 48931第二章开发技术及环境搭建 5268172.1、Dlib库介绍 5295642.2、Python3.6+OpenCV3.2环境搭建 6237402.21、python安装 6269662.22、搭建python虚拟环境 7318452.23、安装openVC的先决条件 889152.24、编译openVC环境 9128442.25、安装验证 11225032.3、Python3.6+dlib19.4环境搭建 1162252.3.1、dlib之前的准备 11315992.3.2、安装dlib依赖 11310922.3.3、安装dlib 1330592.3.4、实例检测 11263042.4、数据库的建立 14219992.5、VisualStudio连接SQLServer数据库 16127022.5.1连接数据库流程 1620172.5.2注意事项 185016第三章设计需求分析 1996323.1开发需完成目标 19281403.2系统结构分析 19123.3系统性能需求分析 2056483.4功能性需求分析 2016783.5本章小结 215735第四章人脸识别考勤系统功能设计 2261624.1、功能概括 22163524.2、考勤系统用户注册功能 22165664.3、数据库设计 2365004.3.1SQLServer数据库平台 23291784.3.2SQL语言 2491544.3.3数据库设计概括 24290554.4、考勤系统识别流程 25240634.5、系统界面的设计 2623178第五章系统的实现 2754325.1、Python3.6+OpenCV3.2识别 27125275.1.1、获图实时检测 2793325.1.2、本地获取图片进行人脸检测并保存图片 28143565.2、Python3.6+dlib19.4识别实例 31112855.2.1、生成方形框识别人脸 3259195.2.2、关键线识别人脸 33178695.3用户界面模块的实现 3523443第六章考勤系统测试 3885126.1测试的目的和意义 38138046.2系统测试环境 3858226.3系统测试原则 38266156.4系统测试方法 39268056.5系统测试过程 40232806.6考勤系统测试总结 4229133参考文献: 4317340致谢 45PAGEPAGE45绪论1.1系统设计的背景人脸识别的研究起源在20世纪60年代,是Bledsoe和Chen最开始发表的。在过去的两年中,人脸识别技术发展迅速。一路走来有效地提高识别精确度和速度,为这项研究的广泛发展提供了基础。其实,从2016年以来,人脸识别的应用领域就开始逐步扩大,各种各样的人脸识别技术应用明显加快,百花齐放应接不暇。进入2017年后,它迎来了它的春天,并在许多应用程序和许多领域大放异彩。按行业划分的领域通常囊括:军事,公安,企业,机构,工厂,学校,房地产,家庭等等各行各业。例如准入在仓库,计算机室,办公楼,办公室,数据室,档案室,实验室等中进行控制,出勤签到,巡逻,识别,追踪和预警等适用范围也很广。随着人脸识别算法的不断改进,人脸识别技术在保险金融等行业得到了很深度的挖掘使用。本文在现有人脸识别领域钻研成果的基础上,利用Python语言的第三方库dlib,完成用户注册,用户识别,考勤系统管理等功能集成。1.2课题目的与意义人脸识别用于身份识别,它是一种取决于人脸模型的特征信息的生物识别技术,其中具有的唯一性和难以取代复制的特点,使人脸识别考勤系统等人脸识别类应用系统应运而生。它不仅因为人脸识别系统无需任何介质完成以往需要实物去达到的目的,所以可以节省不少成本,并且还免去实物造成的麻烦。铁打的系统,严格规范并且灵活管理员工或者学生的考勤,而流水的考勤人不需要导致修改更换物料,例如员工信息卡和门锁等,只需对新的人脸信息重新进行注册录入数据库,直接进行新的考勤运转。最后,人脸识别系统可以逐步完善,搭配各种平台,实现方式越来越简单,很好避免替代传统打卡的效率低下情况,还有统计困难造成的人力管理,甚至是性价比低的使用和维运成本。1.3课题的研究现状人脸是确定一个人身份的最重要的方法之一。而作为一个人的最显著差异化标签,人脸识别是通过生物特征对人的身份进行辨认,是未来的一个很有前景的方向。近几年来,人脸识别的应用技术发展迅速,有效地提高了人脸识别的准确率和速度,为人脸识别在许多领域的应用铺垫好了根底。而作为非常热门的编程语言Python,其作用也是越来越大。其中Python语言利用Dlib第三方库实现基于深度学习的人脸识别方法,也是受到了很广泛的挖掘。大到公安系统小到每一个人的手机人脸解锁,研究人脸识别具有非常重要的理论价值和应用价值。1.4论文系统结构与内容人脸识别考勤系统,重点是对人脸的检测和特征提取。因为其底层是一种Python语言利用Dlib第三方库实现基于深度学习的人脸识别方法。这里不同技术会采用不同的方法来实现人脸面部特征的抽象。归纳起来大致都可以分为以下几个流程:人脸检测、人脸规范化人脸特征提取、人脸识别。本文目标的实现可以分为以下功能需求:1.用户端人脸数据采集注册,通过摄像机收集面部图像,创建面部文件并将其存储在数据库中。2.系统进行考勤用户人脸识别,将相机收集的面部图像与文件中的数据进行比较,然后进行验证。3.考勤系统管理,由管理界面和考勤通过人脸识别记录,可迅速提取数据。该系统是一个基于人脸识别的考勤系统。在功能实现中使用的Dlib库是由深度学习的,利用人脸识别模型和经过训练的人脸关键点检测器得到人脸特征值。通过对一个人面部的观察,可以获得很多信息,如:性别、身体状况、情绪、年龄等。其实,人脸检测就是一个特别复杂的过程,本文所研究只是人脸识别的简单实现。1.5考勤管理系统简介1.5.1概述考勤管理是指用现代方法对单位内部,企业和事业单位,以及机关等人力资源进行合理的组织和配置,合理控制和协调员工的思想和行为,在约束条件下充分发挥人的主观能动性,使每个人都能发挥自己的才能,为自己的目标或业绩找到舞台。传统的公司企业,对于考勤,比如工资核算及发放、请假、员工上下班签到等都是通过指定的传统物料和考勤人员用人工操作来搞定的。1.5.2考勤管理系统的历史概述总体来说,在20世纪60年代开始,以往的人工考勤都是传统的人力打卡,系统的效率非常低,漏洞也非常多,这种情况持续在第一代计算机考勤管理系统诞生之前。在第一代计算机考勤管理系统研发之后,受制约于当时计算机发展水平,第一代计算机考勤系统并不好用。而后,得益于数据库技术的发展,在这段时间里考勤系统的开发和应用拥有着比以前雄厚的技术后盾。在大概20世纪70年代时候在第二代计算机考勤系统应运而生之,而且与第一代相比,第二代系统有了很大的进步,功能也相对完善。但第二代系统的实用性还是有待提高。而到了接近21世纪,人类越来越知道计算机的重要性,计算机技术、数据库技术和网络技术等系列学科迅猛成长,让考勤管理正逐步走向现代化。我国在走向国际化,全球化,市场竞争越来越激烈,特别是在现代企业中,开始重视人员考勤,而在跟国际接壤的影响下,懂得出勤效率的高低直接关系到企业的竞争力。在此背景下,第三代计算机考勤管理系统逐步普及,解决了人员考勤的诸多问题。1.5.3常见考勤系统总的来说,现在的考勤管理系统根据考勤方式的不同,具体可以分成几个主流的类型,有卡片式类型、生物识别式类型、动态人脸识别类型的考勤系统等。最基础的卡片式是最稳定的,以磁卡作为媒介进行考勤主体的运用,要求待考勤人必须携带与之身份相对应的磁卡,通过刷磁卡内保存的条码信息来实现考勤。简单容易,但缺点也是比较多的。物料的成本较高,后期维护的工作量也相对来说比较大,而且其采用的是始于“物”的方式,寿命短的同时也当然阻止不了别人代考勤的发生,保密性不好。还有在现代生活中,卡片具有容易被复制的缺陷,密码也有泄露风险。这里与卡片考勤系统相比,指纹考勤系统是更进步且越来越普遍的考勤系统使用。指纹考勤和人脸特征识别考勤系统都是是利用考勤人的生物特征来实现考勤流程的,总的来对比,物理打卡考勤存在易丢失、使用寿命有限的问题。一般来说,在先阶段考勤系统中,指纹识别考勤还是占据主要地位的,其应用范围也比较普遍。重要的是要有良好的保密性。指纹直接用于考勤,指纹唯一稳定。考勤方式也很灵活,可以满足复杂的考勤轮班需求。而本文所研究的是目前比较新颖的考勤系统办法,利用python人脸识别完成考勤,更加灵活地实现动态考勤,采用“人”为基础的出勤方式,能够有效解决代人出勤的问题,因为不受其他外来因素的影响,这样的考勤系统后期维护工作量小,成本低使用人脸识别考勤虽然在准确度亟需提升,但是进步有目共睹,得到的考勤可信度开始提高,结果更加真实、有效。开发技术及环境搭建2.1、Dlib库介绍最近这些年来,Python成长的开展适当迅猛。Python言语之所以开展得如此快,得益于其源代码开源性和代码开发的高效性。Python社区提供了很多的第三方库,它们可以完成数据可视化、数据剖析和科学计算等多个方面的功能,其中Dlib库便是一个比较出名的第三方库,可以完成人脸检测和识别,其算法选用HOG特征与级联分类器,算法的完成大概过程有:将照片图像进行灰度化;对于选用Gamma校正法对图画进行色彩空间的标准化;对每个图画像素进行梯度的计算;有效的小单元格区分图像画面;然后生成每个单元格的梯度直方图;把单元格组合成大的块,块内归一化梯度直方图;最后生成HOG特征描述向量。Dlib是一个包含机器学习算法的C++开源工具包。Dlib可以帮助开发者创建许多复杂的机器学习软件,来解决各种各样的实际问题。目前,Dlib已经广泛应用于工业和学术领域,包括机器人、嵌入式设备、手机和大规模高性能计算环境等。还有一点就是,Dlib是开源和免费的。其git如图2.1:图2.1这里说一下有关Dlib的主要特点:1.Dlib为每一个类和函数提供了完整的文档说明,同时还提供了debug模式;不像很多其他传统的开源库一样繁重。在debug模式中,用户大可以任意调试代码,查看变量和对象的值,并且能快速定位到错误点。此外,Dlib还提供了大量的实例供给参考。2.Dlib库具有高质量的可移植代码。众所周知,Dlib不依赖第三方库,无须安装和配置,这部分可前往官网howtocompile的介绍,介绍界面在左侧树形目录里。还有就是,Dlib可用在window、MacOS、Linux系统上,适配性比较高。3.可以供给大量的机器学习或图像处理算法,这边可以参考《Dlib学习及换脸程序》。可以总结为:(1)深度学习(2)基于SVM的分类和递归算法(3)针对大规模分类和递归的降维方法(4)相关向量机。是与支持向量机相同的函数形式稀疏概率模型,对未知函数进行预测或分类。其训练是在贝叶斯框架下进行的,与SVM相比,不需要估计正则化参数,其核函数也不需要满足Mercer条件,需要更少的相关向量,训练时间长,测试时间短。(5)聚类:linearorkernelk-means,ChineseWhispers,andNewmanclustering.

RadialBasisFunctionNetworks(6)多层感知机2.2、Python3.6+OpenCV3.2环境搭建2.2.1、python安装可以从官网上下载最新版本的python,本文选择的是dmg文件,可以直接双击安装python3.6。python官网:/downloads/完成之后需要更新一下PATH的目录:Win+F,输入cmd,在~/.bash_profile中添加(显示不存在的话就要在这里进行添加)$vim~/.bash_profileexportPATH=/usr/local/bin:$PATH然后重新加载~/.bash_profile,保证更新成功$source~/.bash_profile确认python安装成功$whichpython3/usr/local/bin/python$python3–versionPython.2、搭建python虚拟环境首先需要重新开一个虚拟环境来做python里opencv的开发。这里的作用,虽然虚拟环境不是必须的步骤,但是因为我们电脑需要开发各种各样的项目,避免冲突。首先,安装虚拟环境virtualenv和virtualenvwrapper。pip3installvirtualenvvirtualenvwrapper这个虚拟环境是在python环境中都可以用的。这里我们更新~/.bash_profile的设置。#Virtualenv/VirtualenvWrapperexportVIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3source/usr/local/bin/virtualenvwrapper.sh然后重新加载.bash_profile:$source~/.bash_profile为了便于安装一些这个项目需要的额外的包并进行图片处理,这里创建一个cv3的虚拟环境进行开发。$mkvirtualenvcv3-ppython3mkvirtualenv后会自动进入cv3,这里有一个注意的事项:本身已经存在了此环境,需要再次进入该环境,用worken,成功进入到cv3环境:$workonCV3在这里安装numpy是进入python的前提条件:$pipinstallnumpy2.2.3、安装openVC的先决条件我把编译openVC能用到的开发工具这里详细列出来:先是:$brewinstallcmakepkg-config这里可以同时下载各种图片格式读取的包:$brewinstalljpeglibpnglibtiffopenexr这些包,用于优化openVC程序:$brewinstalleigentbb2.2.4、编译openVC环境官网上选择最新的版本进行检查更新,然后从Github用于下载openVC源码。其中,Github的地址是:/opencv/opencv代码如下:$cd~$gitclone/Itseez/opencv.git$cdopencv$gitcheckout3.2.0#需要下载opencv_contrib包。完成后,去让OpenCV供给额外的支持,像内容检测等等。对于这方面,可以选择和OpenCV相同的版本进行下载$cd~$gitclone/Itseez/opencv_contrib$cdopencv_contrib$gitcheckout3.2.0下载完成后,最后创建build文件夹:$cd~/opencv$mkdirbuild$cdbuild使用CMake进行build:注:这里要确认OpenCV和python3模块都加载完成。$cmake-DCMAKE_BUILD_TYPE=RELEASE\     -DCMAKE_INSTALL_PREFIX=/usr/local\     -DPYTHON3_PACKAGES_PATH=~/.virtualenvs/cv3/lib/python3.4/site-packages\     -DPYTHON3_LIBRARY=/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/libpython3.4m.dylib\     -DPYTHON3_INCLUDE_DIR=/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/include/python3.4m\     -DINSTALL_C_EXAMPLES=ON\     -DINSTALL_PYTHON_EXAMPLES=ON\     -DBUILD_EXAMPLES=ON\     -DBUILD_opencv_python3=ON\     -DOPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules..这里等CMake完成,没有产生报错,再继续进行编译:$make-j4$makeinstall(如果显示权限不足,就使用此语句)$make-j4$sudomakeinstall2.2.5、安装验证验证cv2.so正确:$cd~/.virtualenvs/cv3/lib/python3.4/site-packages/$ls-lcv2.so-rwxr-xr-x1admin_developer2017027April1406:11cv2.so验证python中可以使用opencv包,import不报错:(cv3)74-80-245-164:~admin$python3Python3.6.1(default,April142017,05:23:16)[GCC4.2.1CompatibleAppleLLVM6.1.0(clang-602.0.53)]ondarwinType“help”,“copyright”,“credits”or“license”formoreinformation.>>>importcv2————————————————2.3、Python3.6+dlib19.4环境搭建2.3.1、dlib之前的准备dlib之前的准备就是前提安装好安装python3.6环境,还有进入终端需要安装一系列可能用到的包如下:安装easy-install:$sudopipinstallpython-setuptools安装python-dev:$sudopipinstallpython-dev安装numpy:$sudopipinstallnumpy安装PIL:$sudopipinstallImage安装scipy:$sudoapt-getinstallpython-scipy安装matplotlib:$sudoapt-getinstallpython-matplotlib2.3.2、安装dlib依赖Dlib必要安装的依赖:openblas,opencv:$brewinstallopenblas$brewinstallopencv还有dlib中so库必要的依赖:libboost:$sudopipinstalllibboost-python-devcmake$cd/usr/local/opt$ln-s/opt/X11X112.3.3、安装dlib正常选择进入dlib官网,下载安装包地址为:/再选择合适位置解压或者使用git下载:$gitclone/davisking/dlib.git完成下载后解压与安装步骤:$cddlib/examples$mkdirbuild$cdbuild$cmake..$cmake–build.–configRelease这里再说一下dlib安装中的python模块:Dlib的18.17中还有包括之前的版本里面,进入python_examples下运用bat实行编译,前提是编译需要先update:libboost-python-dev及cmake。$cdtodlib-18.17/python_examples$./compile_dlib_python_module.bat如果在18.18版本之后,就采用新办法,使用setup.py安装,让其生成so依赖文件:$cddlib$sudopythonsetup.pyinstall在得到dlib.so之后将其复制到dist-packages目录下:$sudocpdlib.so/usr/local/lib/python3.6/dist-packages/设置python环境变量:#Putthefollowinglinein.bashrcor.profile$exportPYTHONPATH=/path/to/dlib/python_examples:$PYTHONPATH之后再安装一些可能会用到的依赖包:安装skimage$sudopipinstallpython-skimage安装imtools$sudopipinstallimtools2.3.4、实例检测实例1:出现了X11窗口:$cddlib/examples/build/(标注人脸landmar)我们需要手动打开笔记本的摄像头自动检验人脸头像:#下载facelandmark模型$wget/files/shape_predictor_68_face_landmarks.dat.bz2#解压文件$./webcam_face_pose_ex实例2:人脸标记图片的显示:$./face_landmark_detection_exshape_predictor_68_face_landmarks.dat../faces/2008_002506.jpg2.4、数据库的建立什么是数据库?现阶段我们所接触的数据库技术,诸如此类数据存储和统计,还有关于信息收集和整理以及信息发布等,一系列操作的完成。系统数据库,展开来剖析,数据库的设计应始于要求的前提下和相对统一的标准化的设计理论,根据各种技术处理的要求对真实的数据,符合软硬件操作系统的特点,并且可以使用现有的DBMS来满足用户对信息的需求进行合理的开发设计。系统的数据库必须按照规范来进行设计,数据库系统的开发应根据实际情况,制定相应的数据库流程图。如图2.41所示。图2.41:数据库开发流程图2.5、VisualStudio连接SQLServer数据库2.5.1连接数据库流程这里要说一下,在VS的开发环境中,需要点击菜单中选中流程“工具-链接到数据库”按钮,再如图2.5所显示的界面,点击“更改”即可,这里需要选中需要的数据源类型,并且点击“确定”按钮即可。图2.5:更改数据源类型图2.6:选择数据库文件此时这种情况下。可以点击“浏览”添加数据库文件,如上图2.6所示2.5.2注意事项在连接数据库的过程中,我们需要注意的是,这时可能会有权限访问限制:(图2.52)图2.52对应方法:鼠标右键点击该文件,之后“属性-安全-高级”,根据图片操作,在淡出的页面上点击“添加”按钮或者“启用继承”按钮,对当前用户有对该文件进行访问修改权限。还有就是,“应用-确定”,接着再按一下确定就可以了。如果出现了如2.53那样的问题,原因是SQLServer的数据库管理工具还在处于管理状态。需要用鼠标对该数据库进行右击,而后将它分离,最后,点击“确认”完成。图2.53完成以上步骤,我们呢再从vs上点击打开,再点击“测试连接”,完成流程后就可以进行这类型代码的日常编写和操作了。设计需求分析3.2系统结构分析为了实现完整的人脸识别考勤,先对本考勤系统的数据库进行设计。举例如下表格3.2(可选):表3.2人员属性表签到时间表信息注册属性表考勤特殊信息登记表统参数属性表考勤记录属性表对考勤方案的制定,在我们完成对考勤系统的需求分析及可行性分析后,需要设计好一个较为完整的系统架构与模型。其流程是,用户通过注册,使用摄像头来收集人脸头像数据,建立了人脸档案存储进数据库。用户人脸识别,通过摄像头手机人脸图像与档案中的数据进行对比来实现人脸识别的验证。考勤系统的管理,到考勤管理系统界面设计,还有通过人脸识别记录的考勤情况。可对整个考勤管理体系准确的设计并实现其正常运转,包括但不限于对此系统运转的流程:考勤人员进行注册、考勤人的识别、考勤系统管理以及人员信息管理的整合。(4)最后是对考勤系统进行功能测试,设计针对的测试界面,检验各模块和整个系统的运行是否正常,可用到软件测试里面的白盒测试和黑盒测试。3.3系统性能需求分析(1)考勤系统可以全天不间断稳定的运作,确保每天呈现的系统故障次数不得超过1次,而且不论系统正处于更新或者故障修复状态,也都应确保考勤系统的考勤签到登记稳定运行及数据库考勤数据的稳定录入存储;(2)在系统设计里面可以考虑加入,故障时具备数据恢复功能,这样更安全可靠。应该对考勤历史信息和注册人员信息等关键信息具备必要的自动备份,防止造成信息丢失;(3)由于考勤系统的签到以后,出勤结果只能隔很长时间才能送考勤管理者的系统里,这样考勤管理员就不能及时地了解考勤情况,这样在安全性上就会出现漏洞,因此,考勤信息同步的及时性就很有必要了。所以系统的设计就应考虑具有时效性,考勤管理端口及时了解考勤人员的考勤情况。3.1开发需完成目标本文的实现目标是完成一个简单的人脸识别考勤管理系统。该系统也可以简单设计分开考勤以及人脸识别模块分部实现模块的功能,而整个系统拥有的功能是:(1)利用数据库完成人员注册及考勤信息录入;(2)考勤系统人脸识别的功能,此为本论文重点研究的内容。(3)考勤信息设定,以及考勤结构的导出。(4)考勤系统拥有较高的识别率以及较快的识别速度其目标的实现可以分为以下功能需求:1.用户端人脸数据采集注册,通过摄像机收集面部图像,创建面部文件并将其存储在数据库中。2.系统进行考勤用户人脸识别,将相机收集的面部图像与文件中的数据进行比较,然后进行验证。3.考勤系统管理,管理界面和考勤通过人脸识别记录,迅速提取数据。该系统是一个基于人脸识别的考勤系统。在功能实现中使用的Dlib库是基于深度学习的,利用经过训练的人脸关键点检测器和人脸识别模型得到人脸特征值。3.4功能性需求分析由于根据需求设计的具有自身特色的考勤管理系统。在功能性需求分析方面分析设计如下:(1)考勤的工作由复杂到简单:将复杂的考勤工作量分担开来,多人协同完成考勤流程,可统一控制又可以分权管理,这样考勤工作面前人尽其能,各种信息交流也能做到实时无阻。更需要注意的是系统界面设计要简洁、易于操作,界面简洁易懂,对电脑知识贫乏的人也可以正常独立办公;(2)本管理系统是在线上进行考勤的,人员考勤动作和管理人员后台操作的结果都是实时可见的,不需要大量的传统考勤物料,减少了可操作性,更加环保科学,体现了办公环保无一次性损耗的优势。3.5本章小结本章首先对本系统的实现目标进行概述,阐述系统总体要满足的功能,并且加以说明。接着我们对系统的功能需求进行分析,先介绍该考勤系统系统的运行流程,然后从数据管理、人脸信息管理、用户管理、考勤管理以及系统设计等几个方面进行系统分析,之后介绍了系统的结构,系统性能需求及功能性需求的详细概括和总结。第四章人脸识别考勤系统功能设计4.1、功能概括全文总结起来,其目标的实现可以分为以下功能需求:1.用户端人脸数据采集注册,通过摄像机收集面部图像,创建面部文件并将其存储在数据库中。2.系统进行考勤用户人脸识别,将相机收集的面部图像与文件中的识别数据来比较,然后实现自我检验。3.最后的流程:考勤通过人脸识别来记录,及管理界面,并且迅速提取数据等考勤管理系统。该系统是一个基于人脸识别的考勤系统。在功能实现中使用的Dlib库是基于深度学习的,利用经过训练的人脸关键点检测器和人脸识别模型得到人脸特征值。4.2、考勤系统用户注册功能注册开始,用户注册操作下,需要登记用户本人资料以及脸部模块信息。注册流程下,用户必须在摄像头前拍摄五幅人脸线条较好的正面人脸图片准备进行训练,如果有异常的训练情况,则提示用户需要执行重新训练流程,然后训练结果的特征模板和用户资料放到数据库里面。所说如图表4.2展示,这里可以将注册内容分为登陆信息模块,个人资料模块和人脸采集模块。图4.24.3、数据库设计4.3.1SQLServer数据库平台在MicrosoftSQLServer的数据平台上,我们可以将数据实现查询,报表等一系列的功能的运用,能够实现对所有数据进行组织和管理。这里做一个特点的总结概括:(1)平台可信任性:这里的前提是完美搞定了企业公司最核心操作任务的应用。(2)平台的自动人性化:提供了一个全面的平台,在规定权限下,用户查询数据库实时更新的信息。4.3.2SQL语言StructuredQueryLanguage起于1974年,Boyce及Chamberlin提出了结构化查询语言,通过编写适当的SQL语句,可以从服务器得到想要的数据,简而言之,SQL是一个查询工具。SQL是一种功能强大并且通用的的关系数据库语言。作为一门基础语言,首先就可以在关系型数据库中使用,比如,你可以在Oracle或者MySQL中使用sql进行数据分析。另一方面,随着大数据的发展,我们在大数据平台上,也可以使用sql语言进行数据的分析和计算。它的影响已经超出了数据库领域,广泛应用于各个领域,SQL的可移植性也相当好。可以得出结论,标准化对工作非常重要,流程图4.32:图4.324.3.3数据库设计概括本考勤系统数据库可以分为几个部分,人员属性表、人脸属性表、设定的签到日期表、签到时间表、信息注册属性表、考勤记录属性表、考勤特殊信息登记表,统参数属性表等,根据需求来增减。要保证数据库的储存效率以及所设计数据库时数据表的结构拥有尽量少的冗余。本文为了更好的展示系统设计的数据库,于本文2.4章节详尽介绍数据库概述要点。用户管理在这里,用户的信息数据囊括了所有注册信息,里面有考勤者的基础资料、人脸登记信息和登陆信息,其中用户基础资料可以包括身份证号码、姓名、性别、邮箱、职位(可选)等。用户管理针对人事管理员,是对用户信息进行管理,系统的设计上人脸信息可以包括采集的人脸图像和人脸特征信息,登陆信息包括用户名和密码。人事管理员可以根据实际需求对用户信息进行增删除查等权限。考勤管理一方面,考勤管理针对人事管理员,是对考勤信息的管理(增加,删除,修改,查询)。顾名思义,人事管理员可以有相应权限根据实际需求对考勤信息进行实时修正整理。其中,考勤信息包括了考勤规则、考勤记录和考勤结果。考勤记录则包括实际签到时间、实际签退时间、实际考勤方案等记录。另外需要注意的是,考勤规则中有对规定签到时间、规定签退时间,甚至是请假事宜的设置,根据不同的情况设置不同的考勤方案。这样更能实时对时段考勤记录表进行统计及公开,这样能初步提高数据库管理效率。4.4、考勤系统识别流程1.首先是实现人脸进行检测,检测流程主要工作是在图像中检出人脸头像,之后连成关键点,反馈位置范围;2.规范化人脸,因为人脸头像在不一样的图像像素和关照强度里面等一系列影响于素霞,其展现的程度都是不一样的,更需要在此操作的之前一步基础进行校对。3、提取人脸特征,校对完成之后,识别到的比较清晰的人脸头像进行特征提取进行下一步的人脸识别。4:人脸识别是人脸检验的最后步骤,其流程就是把之前步骤提取的人脸特征和数据库中已有的人脸特征实行校正操作,完成最终识别流程(如图4.4)。图4.44.5、系统界面的设计本文设计的系统在运行界面里可以分为几个个模块,分别为考勤人员注册界面和登录界面、考勤人脸识别界面及考勤数据查询页面。流程如下:在登录的页面里,登录系统只需打开系统初始界面,前提是输入正确的账号(用户名)和密码,再选择正确的用户类型,就能登录。员工注册方面就需要管理员的权限,在系统界面中输入考勤管理人账号密码,进入管理人管理界面之后,点击注册,进入到员工注册界面进行注册。在填写完各个员工的基本信息后,就可以开始进行员工的数据采集。主要包括了员工的图像信息和员工基本信息两大类。要注意的是,员工在拍摄照片时,要将摄像头位置对准摆正,保持良好的光照条件。这里需要摄像窗口中显示出的人脸位置正确、大小合适且细节比较清晰的时候,点一下拍摄。收集够了五张合乎识别标准的照片后,点击“完成”,即可进行下一位员工的注册。需要对采集后的人脸图像进行处理,然后用选样编号来定名并存储在划定的目录当中。员工识别与考勤查询:完成员工注册后,每次登录时,只需输入用户名和密码进入到系统后,就可以登录到签到界面,并且程序可以实现实时识别。识别完成后,通过摄像头检测的待考勤人员人脸图片后再进行归一化的图片,界面左侧窗口中的图片在右侧窗口则是实时显示的匹配图像,系统将会根据识别结果自动读取员工个人信息并记录登录时间。在确认显示的信息正确无误后,点击“确定”按钮即可完成考勤识别。第五章系统的实现5.1、Python3.6+OpenCV3.2识别5.1.1、获图实时检测通过调用摄像头获取图片进行实时检测。而调用摄像头获取图片了以后,图片里面的头像会用方框自动圈起来,会实时跟随人脸调整位置。流程的代码如下图5.11:图5.11常见会遇到灰度处理报错,cv2.error:OpenCV(4.1.0)C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:182:error:(-215:Assertionfailed)!_src.empty()infunction'cv::cvtColor'这点需要注意目录和名字的问题:路径得是绝对路径,而且目录名和文件名不能出现中文。5.1.2、本地获取图片进行人脸检测并保存图片在本地目录里面获得人脸图片文件,识别人脸后将结果图片再重新保存到本地目录里面。流程如下图5.12:图5.12: 检测人脸图片自动获得图片中人脸的坐标 size=image.shape[:2]#当前桢彩色图像的获得。#image_set=np.zeros(size,dtype=np.float16)#这里定义一个的灰度图像矩阵,是与当前桢图像大小是相同的 image_grey=np.zeros(size,np.uint8)#创建一个空白图片,下图5.13图5.13 grey=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)img_binary=cv2.threshold(image,127,255,0)#将当前桢图像转化为灰度图像,而后将灰度图片再转化为二进制图片color=(135,206,250)#设置人脸框的颜色图5.14  #人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数,如图5,14 图5.15#单独框出图片中每一张人脸#画出矩形框(图5.15)图5.16保存新生成的图片,将当前帧保存为图片(图5.16) 图5.17 #获得相应图片,并检测(图5.17) image=cv2.imread(infile) #框框出图片中的人头像,选取每一个头像图,然后保存到单独文件夹中去。 #成立输出人像图的目录(图5.18)图5.18实现的效果如下:选取的图片与识别后的图片(图5.19,图5.20): 图5.19图5.20经过系统的反复试验,还是存在明显的识别问题,如果上传的头像照片有晃动情况,再比如出现戴帽子、眼镜遮挡的人脸图片等,这些明显影响线条的情况,识别效果就会很差,本试验只有唯一一个没有帽子遮挡的人脸被识别成功的情况,这里需要再作研究。————————————————5.2、Python3.6+dlib19.4识别实例5.2.1、生成方形框识别人脸官网代码简略总结:5.2.2、关键线识别人脸代码总结如下图5.22:图5.22#在源程序中,sys.argv命令行参数获取训练模型:sys.argv#这里可以直接把目录写在程序中了去:Predictor_path="./data/shape_Predictor_68_face_landmarks.dat"#用sys.argv命令行参数去获取文件夹路径,然后处理文件夹里的所有图片#直接把图片路径写在程序里,每运行一次就只能提取一张图片的关键点faces_path="./data/3.jpg"#这里是运用dlib自有的frontal_face_detector,由此作为人脸检测器(与人脸检测相同)detector=dlib.get_frontal_face_detector()#使用模型构建特征提取器,(官方提供)predictor=dlib.shape_predictor(predictor_path)#使用dlib提供的图片窗口win=dlib.image_window()#使用skimage的io读取图片img=io.imread(faces_path)#绘制图片win.clear_overlay()win.set_image(img)#这里与人脸检测的程序相同,用detector进行人脸检测,而dets则为返回结果来使用dets=detector(img,1)#dets的元素个数即为脸的个数print("Numberoffacesdetected:{}".format(len(dets)))#enumerate函数遍历序列中元素,和它们的下标其中,下标k即为人脸序号,在这里需要说明一下,Left是作为人脸左边距离图片左边界的距离;Right是人脸右边距离图片左边界的距离;Bottom则是人脸下边距离图片上边界的距离;Top是人脸上边距离图片上边界的距离。程序代码如下图5.23,5.24:图5.23图5.245.3用户界面模块的实现如图5.31,这是用户界面运行的结果。很显然,在这模块中用户界面模块是利用MFC来设计完成的。图5.31流程如下:待考勤人点击“打开图片”,系统保存个人待识别的人脸头像,并显示出来。程序会在后台实现人脸识别的流程,并且将结果输出右侧所示界面。这里所概括的识别结果囊括所识别出的注册人姓名、性别、及其正面图像等等信息。界面设计所用到的代码图5.32,5.33如下:图5.32图5.33用户拖动窗口实现最小化的时候,将调用此函数获得光标DrawPicToHDC显示。代码如下图5.34,5.35:图5.34图5.35//进行复制,复制后将图片指定的区域(显示控件)ReleaseDC(pDC);}考勤系统测试6.1测试的目的和意义本文认为,考勤系统测试,目的是为了跟进到开发系统到系统运行存在的错误信息。和我们知道的测试规则所规定的那样:系统测试的首要目标是就是发现查询中的错误信息而执行程序的过程。这里可以做一个引用,成功的系统检测方案是能够发现到现在为止都没发现到的错误的测试,而作为好的测试方案是发现到现在为止都没有发现错误的测试方案。其中,人脸准确识别测试是测试中的一个重要的环节。在系统最终交给客户投入使用之前,系统测试是对软件的需求分析、系统设计开发等各阶段结果的必不可少的检验流程。6.2系统测试环境测试环境:1)硬件环境:笔记本自带前置摄像头,参数配置:Intel酷睿i5-7300Q七代处理器,8GB内存,硬盘512g,gtx860M。2)开发环境:Windows7专业版操作系统,这里是Python3.6+OpenCV3.2,Python3.6+dlib19.4,本系统采用了MicrosoRsualStudi02012平台和0penCV2.0开源库为开发工具,数据库采用了SQLServer20086.3系统测试原则这里本文需要普及一下作为测试应遵循的原则:(1)首先是要严格依照测试计划来进行软件测试,不能随意更改。软件测试一经发现错误就立刻排查,贯穿系统开发研究的整个流程,从而减少成本完善质量,优质开发。(2)作为系统的开发人员,不应该而且尽量不要测试自己的程序。要做到保证了测试结果的公正客观,建议交给第三方的测试机构进行测试检验。(3)软件测试用例构成,可以是由输入数据和预期结果组成。其中输入的条件考虑合理的,还有寻找那些不合理的条件,这样更加能帮助开发人员发现更多难以发觉的bug。(4)系统测试过程中如果能发现错误的地方则很有可能是错误的高发之地,要做到对其重点照顾。也就是尽力注意“群集现象”。(5)务必全面检查每一个测试结果,避免遗漏错误。系统的测试如果遵从了如上的建议,就可以有事半功倍的回报,开发研究也能有更好的质量保障。6.4系统测试方法在本次系统测试过程当中,借用了软工中的黑盒测试和白盒测试。白盒测试作为一种验证的手段,验证软件系统的构造是否正确。而黑盒测试却是一种确认技术,用来确认构造的系统软件有没有出现错误的情况。所以通过本次测试,期待能够发现软件中主要错误信息。首先开始找寻系统中的运行错误,该类错误造成的原因大部分是脚本语言试图执行不可能的动作;还有一类错误信息是语法错误,非常常见,形成源于不正确的脚本语法。常见来看,错误地拼写命令,函数参数设置不正确等都会导致语法错误。还有需要注意的是语法错误会导致程序运行不顺畅导致错误信息,严格按照计划来测试;另外,逻辑错误通常难以发现。这类错误都会令程序执行结果会出现不对的现象。还有再可以设计测试过程中的算法测试。这里可以设置,识别率及时间效率的算法厕所,还有就是这是由OpenCV为主的图像处理库中人脸识别算法测试。图6.4效果如上图6.4,具体流程:测试数据在ORL数据库每单位筛出前2幅总为80张图,还有就是每单位选择前5张共200张图,到8张总320张图用于训练样本。每人后5幅共200幅图像作实验样本。6.5系统测试过程第一阶段测试:第一次测试中是让考勤系统的设计及研发人来实行,这样做的原因是为了测出考勤系统的语法和逻辑的错处。我们先将系统登录和登录后系统中的常用功能实行例行检查,校对系统各功能模块的运作情况。之后,功能检验里面可以实行黑盒测试的方法来实现某一功能。例如,通过实施诸如补勤等应用模块,测试应用模块能不能正常工作。之后在每一次接口转换测试中,先使用白盒测试的方法。这里需要科普一下,黑盒测试主要基于功能,不考虑程序逻辑,设计输入,验证输出。一般只有10%代码行需要做白盒测试。白盒对程序中的逻辑错误信息进行测试,来整体纠改了发现的错误信息。第二阶段测试:我们要先看看我们设计的系统适不适合交给用户去使用,还有满不满足使用需求。自然而然的,此测试是终端用户来完成。通过它们需要相互配合来操作功能,也需要进行测试,以便找到错误信息。这里需要作一个分类,黑盒测试的优点就是比较容易入门。只有通过代码,我们才能够知道更加详细和精确的信息。通软件系统初步交付给客户使用,可以在早期试运行阶段就可以对系统的整体运行进行测试。用户权限分配操作,测试系统管理权限是否满足初始要求,从而保证软件的稳定性、流畅性和正确性。其次操作用户和后台管理员分别进行各种操作,测试系统平台各功能模块的满意度。通过这一阶段的系列测试,我们主要为了找出软件系统的功能缺陷,即各种功能是否满足用户的需求,从而并进一步完善用户不满意的功能模块。最后,系统的总体测试是在每个模块测试成功的基础上进行的。测试的主要方向是各模块之间的接口是不是正确的,系统接口是否能正常加载,测试过程中的操作能不能正常。结果如下图6.51,6.52图6.51图6.526.6考勤系统测试总结通过了上文流程的系统测试环节,不出意料是出现了非常多的bug。对于系统本身的错误信息,已经尽力去完善和修复。通过这次测试,反映了好多之前没有发现的问题需要去跟进。总的来说,本次系统的计划及开发研讨初步解决了作为用户的考勤管理需求。各项功能相对完善,为考勤类应用场景工作带来便利。说到系统虽然完成了,但是出现的问题还是需要我们去正视的,鉴于本人水平有限,本设计理论上还有很大的进步空间。因为本文使用的人脸数据库容量有限,还有一点就是人脸检测的过程太多非控因素,比如光照、姿态、表情变化等多方面的影响,摄像机进行注册识别的时候,拍摄环境光线均匀,并且姿态相对正确,识别器的表情正常,这样子识别率会非常高,但如果将在非受控环境下采集的图像用于配准和识别,识别率会相对降低。参考文献:梁晶史记征.基于Python库的人脸识别方法研究[J].网络安全技术与应用,2019(07):49-50.

[2]魏庆丽朴冠宇李娇阳吴字宇凌振宝.基于射频卡式身份识别的智能教室考勤系统[J].吉林大学学报(信息科学版),2013(04):68-74.

[3]伍军辉.人脸识别市场问题面面观[J].中国公共安全,2014(19):75-78.

[4]王勇李英祥田娟彭亮殷礼安彭阳周浪.公路建设工程安全生产信息化管理方案设计[J].科技风,2019(02):113-115.

[5]落红卫.移动智能终端生物识别应用与安全研究[J].保密科学技术,2014(09):12-15.

[6]王丽达.论软件系统的测试[J].经济研究导刊,2011(14):317-318.

[7]宿静宜刘久付杨明海.采用人脸身份识别的智慧门禁系统[J].软件导刊,2019(04):38-41.

[8]袁凤连刘双全刘骐源.基于视频检测的人脸识别智能安防设计[J].无线互联科技,2018(21):77-78.

[9]陈瑶.浅析人力资源管理创新问题[J].现代企业文化,2016(9):2-2.

[10]胡博.A省农村信用社个人信贷管理系统的设计与实现[J].中国优秀硕士学位论文全文数据库,2016(02):68-68.

[11]段治川.数据导入关系型数据库内的探讨[J].电脑知识与技术,2011(09):13-14.

[12]刘向荣.对象关系阻抗不匹配的研究及其解决[J].电脑知识与技术,2011(02):21-22.

[13]宋昱.一种高性能即时通讯服务系统的设计[J].软件,2016(12):4-4.

[14]梁礼方.数据模型[J].金融科技时代,2014(01):52-58.

[15]谢新文.基于计算机视觉的电气化铁路绝缘子识别技术的研究[J].中国优秀硕士学位论文全文数据库,2016(10):70-70.

[16]李艳梅罗建.《数据库系统概论》教学改革探讨[J].四川师范学院学报(自然科学版),2003(01):19-21.

[17]程莉吴利瑞郭定夫尤鸣宇.基于人脸识别技术的新生入学复查工作研究[J].大学教育,2018(10):3-3.

[18]马松梅马松彪.高校一卡通系统认证方式选择分析[J].硅谷,2014(22):127-127.

[19]吴珊龚格格.一种基于监控视频中人脸检索解决方案[J].电子设计工程,2019(10):76-80.致谢经过了一个多月的努力,终于写好了毕业论文,从懵懂,都是一边写一边学的,前期遇到了很多难点,因为是第一次使用dlib第三方库,在配置和操作上有点不熟练,耽误了很多时间去再学习,使得我不能如期的完成老师的计划,在此感谢老师的指导。在学校生活的三年时间里面,受恩于老师,同学们,在你们的帮助下,我快速成长。虽然在学习上面还不够努力导致现在工作中时常感到遗憾,但是,总体来说,我也没有浪费在学校的时间,在你们的帮助下搞清楚自己以后需要走什么样的路,并为前途去奋斗。万分感谢学校里面对我负责的老师们,由她们的带领下,我在大学的生活里面少走了很多弯路,学到了以后在社会工作中有用的本领。同时。谢谢!

HYPERLINK如何选择组装电脑配件

如何选择组装的电脑配件.

第一,选择好CPU平台,就是INTER还是AMD,看你是要配什么样的电脑,高端还是低端的,两个平台都高低的产品。第二,选择主板了,主板的品牌比较多,质量,价格也不一,当你第一步却定了,那么主板也就相应的却定下来了,以INTER为例,只可以选择775接口的主板(早期有478接口的,不推荐),主板的选择主要有两种,一是集成显卡,二是不集成显卡。集成显卡的话,就可以省下显卡的钱,但是对游戏玩家不推荐。那么当然是选择不集成显卡的主板了,而且最好选择一线品牌,如华硕,技嘉等。主板里,还有个蕊片组的选择。关于蕊片组,各个品牌的主板命名有些不一样,主流是INTER965,945,915,VIA的KT890,还有NFORCE4,NFORCE5。等。比较难说清楚。最好是选择INTER的蕊片组,虽然价格会稍高一些。推荐945,技术比较成熟。第三,显卡的选择。显卡主要还是有两类品牌,GEFORCE和ATI,两个品牌有高,中,低的显卡。显卡选择要看你个人喜欢了,预算充足的话,最好是买中,高端的显卡。

第四,就是内存了,内存关系电脑的稳定性。当然是要好一点的。买一线品牌的。现在配电脑,主流是DDR667,DDR800DDR1333第五,显示器的选择,推荐液晶。如何选择硬件组装电脑这是一个老生常谈的问题了,这也是一个让高手们显示自己硬件功底的问题,同时这还是一个让很多新手为之焦头烂额的问题。该怎么配?具体配什么?怎样配才能尽量减小瓶颈?本文就将从内到外,从理论到实践,为朋友们抽丝剥茧一一道来。

一、CPU

作为一台电脑最关键的组成部分,CPU确实起着举足轻重的作用,但体现一台电脑的综合速度,并不是仅仅依靠CPU的,常常看到很多新手们在配电脑的时候,把CPU选的很好,但其他的东西诸如内存、主板、硬盘等都选的不太理想,好像这台电脑速度的快慢就体现在CPU速度的快慢上似的。甚至很多著名的品牌机厂商,都推出过类似“P4+256M内存”的这种跛脚配置。其实对于一般的家用电脑而言,一个真正会配的高手,是不会把大量的钱花在CPU上的。家用电脑,毕竟不是做密集型科学计算用的,它讲求的是多种媒体的配合工作,讲求的是能一边下载文件、一边上网浏览网页、一边听音乐、一边还能打开其他的程序,在这种情况下,提升内存的容量比提升CPU的主频对速度的影响要明显的多。现今的中国家庭用户,很多家长对于电脑一窍不通,他们只听说“奔四”代表着速度快,并不知道整机速度的快慢除了CPU以外,还有很多其他的因素影响着它。但在买电脑的时候,最后做决定并掏钱的人,往往都是这些啥都不懂的家长们,于是就出现了上面的一幕:品牌机厂商为了能有更好的销路、兼容机装机店的销售人员为了能拿到更多的奖金,开始违背良心来配置出这种高主频处理器、低容量内存的跛脚电脑。说严重点,这是属于对消费者的不负责任,是一种商业欺诈行为!同样5000元的配置,高手配出来的赛扬,比新手配出来的P4还要快很多,曾经有一家全球著名的硬件网站在2003年的时候刊登过一篇关于配置家用电脑时各硬件占用总预算百分比的文章,文中很明确的提到了CPU的价钱最好不要超过总预算的10%-15%,我们虽然不能说他肯定完全正确,但至少人家是通过很多调查后得出的结论,有借鉴的理由。反观现在的很多所谓的“低价奔四电脑”、“3999元买P4品牌机”之类的广告,我想说的就是:你花了3999元,只买了一块P4的处理器,其他的什么都没有了!

二、内存

对于配置一台电脑来说,内存是重头戏,容量、速度、类型等等每一项指标都对最终的整机综合速度起着至关重要的影响,尤其是内存的带宽和容量。对于内存带宽而言,很多人都认为400MHz、533MHz前端总线的赛扬四或P4,配单通道的DDR内存就足够了,双通道DDR内存是配合800MHz以上前端总线的P4处理器用的,其实这样就大错特错了,哪怕是最老的赛扬四,都需要双通道的DDR内存才能达到它的带宽!也就是说,你如果选择赛扬四1.8G,必须配合865以上的主板和至少双通道DDR200的内存,才能满足它的带宽要求!稍微计算一下就可以得知:赛扬四1.8G的前端总线是400MHz,它的内存带宽理论值是400MHz×64bit÷8=3.2G/s,但当它装在845系列的主板上时,由于845主板的限制,即使你插上能符合它带宽要求的DDR400内存,也只能运行在DDR266上,这时的内存所能提供的带宽是266MHz×64bit÷8=2.1G/s,比3.2G/s要小很多,即使你通过BIOS里的内存调节选项往上调节一档(也只能调节一档而已),让内存运行在DDR333下,所能提供的带宽也仅仅是333MHz×64bit÷8=2.66G/s,离3.2G/s还是有一定的距离,而内存带宽的降低,能非常明显的降低整机的综合速度,运行任何程序都能明显的感觉出来!所以如果想满足赛扬1.8G处理器的内存带宽要求,你必须要为它配置865以上的主板和双通道的内存才行!P4亦是如此。很多人也许会问:那845系列的主板是配什么处理器的呢?我想回答你的就是:845系列的主板是属于“不能用”的主板,因为处理器永远比主板发展的快,当初Intel造出845系列的芯片组是为了能给当时的赛扬和P4提供一个过渡的平台,不至于让它们成为“没有主板配合”的处理器而已,也是为了能在低端市场分一杯羹,而现今865甚至9xx系列的主板横行的时候,845系列的主板确实是属于“不能用”的主板了,满足不了任何一款处理器的内存带宽,造成性能上的严重低下,试问这种主板你会选择么?即使配台2000多元的超低价电脑,也不要去选择845系列的主板,至少需要865以上的和双通道内存才行,因为内存带宽是一个非常影响系统性能的参数,倘若一味的为了省钱而配置845系列的主板,那就得不偿失了。

内存的容量方面,应每个人对电脑的使用方向不同,容量的要求也是不同的,现在配置的家用电脑,笔者建议:如果不打游戏,或者是打打扫雷、纸牌之类的游戏,平时注重于上网浏览或者是聊天、看电影之类的应用的话,内存容量不应该低于1G;如果是偶尔打打单机游戏或者是网络游戏,内存容量应该选择在2G左右,如果是经常打大型的游戏或是进行HDTV视频编辑等应用,那么4G的内存是必不可少的。

三、主板

一台电脑的稳定性和兼容性,一大部分是看主板的,一款优秀的主板不仅需要拥有上等的用料和优良的做工,还需要拥有合理的走线设计,那些没有技术实力的三、四线主板厂家生产的主板,多数是采用公版走线,而且用料非常差,稳定性不堪一击,这种类型的主板,笔者建议宁愿不买电脑也不要配这种主板,否则以后将会是个淘气的祖宗。对于家庭用户,主板方面一定不能省钱,预算够的话最好能买个一线的主板品牌,如果预算实在不足,二线的主板是底线了,不要再往下选择了,毕竟家用电脑是用来使用的,不是用来整天维修的。再谈到主板的用料,笔者常常看到很多新手在配置主板的时候,貌似老鸟似的说某某品牌的主板好,某某品牌的不好,试问你知道它好在哪里么?不好在哪里么?这个就要看主板的用料了,虽然用料好的主板并不能代表一定是高档主板,但最少能代表它的电气性能出色。举一个很简单的例子吧:有A、B两款主板,A主板的处理器供电滤波电容采用的是日系电容,B主板的处理器供电滤波电容采用的是台系电容,那么基本上可以肯定的是:如果在电源输出电压的波动范围比较大的情况下,A主板就比较能耐得住,而B主板就很容易产生电容鼓包、漏夜等情况。不要小看这小小的电容,笔者从一个开维修店的朋友那里得知,来维修主板的人,有80%的都是这几个小电容损坏,究其原因,就是电源选择的不好,导致了输出电压的不稳定,久而久之最终导致这几个小电容爆浆,并且详细叙述了主板的品牌:“一线厂家的×硕牌主板就很少出现这种情况,但同样为一线厂家的×星牌主板,经常遇到!原因就是前者的大部分主板使用的是日系电容,而后者的大部分主板为了省钱,选用的是台系电容!”厂家的广告不能信,宣传也不能信,看到一个产品的广告之后,你所能相信的唯一一点就是:地球上有这么个产品的存在!然后其他的就统统都不能信了!网上有好多所谓的“评测”文章,都是枪手写的,基本上没有任何参考余地,只能作为一篇小说来读,一款主板的真正性能,只有你自己使用了之后才能知道。厂家为了销量、商家为了利润,他们能把最最垃圾的主板宣传为最顶级的产品,笔者曾经就看到过一款四线品牌的主板厂商,在对其主流主板的广告上说“最优秀的设计、最精湛的工艺、最稳定的性能”……结果一看报价:550元/块……其他的话我也不想多说了,只想问问这家厂商:你这么垃圾的主板都用了三个“最”字,那么华硕的同芯片组主板,售价是你三倍的,应该用什么词语来描述了??中国有一句古话:一分钱一分货,说的非常正确!不要认为价格高的主板就是暴利产品,从市场经济学上说,暴利产品是不会被市场所接受的,之所以他能存活到今天,而且售价依然是这么高,肯定有他的理由,他在做工用料方面肯定比其他品牌的要好很多,成本高所以售价高,在此,笔者奉劝大家一句:买主板千万不要凭侥幸心理,认为自己能花很少的钱买到很好的东西,只有错买的没有错卖的,商家永远都比你精明!主板上面还是老老实实的多花点钱来买个一线产品吧,否则以后有你吃苦的时候!

四、硬盘

现在的电脑,硬盘的速度当之无愧的成为了“第一大瓶颈”,无论你是再高的高手,配电脑的时候也无法消除这个瓶颈的存在,我们只有尽量的减小…再减小……。对于家用电脑的硬盘来说,容量和速度是两个非常重要的参数,容量上而言,笔者建议:如果你的电脑只是上网浏览浏览、偶尔打打小游戏的,那么160G的硬盘是个不错的选择;如果你常常下载软件或电影,那么250G的硬盘是个不错的选择,如果你是个下载狂人,那么400G的硬盘比较适合你;如果你有DV或者是经常编辑大型的视频文件,那么400G×2比较适合你,如果你是个玩HDTV的人,那么恭喜你,400G×4也许你都不够用。对于硬盘容量上的选择,你不能考虑现在是否够用,你应该考虑未来的1年里是否够用,大概的公式是:现在需要的容量×3。也就是说,如果你现在感觉80G的硬盘差不多够用了,那么你就需要买个250G的硬盘。如果你现在感觉120G的硬盘够用了,那么就去买个400G的硬盘吧。硬盘另外的一个参数就是速度,受到内部传输率等诸多因素的限制,一块硬盘的实际传输速度是不可能达到它的接口速度的,现在的并口硬盘基本上都是ATA133了,串口硬盘也都是150了,但民用级

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论