日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

k210 hc-05 智慧课堂 人脸识别签到

發(fā)布時(shí)間:2023/12/9 pytorch 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 k210 hc-05 智慧课堂 人脸识别签到 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基于k210開發(fā)板的智能課堂簽到設(shè)計(jì)

李佳奇,李佳,李敏,武林,王俊海

??????????????????????????????(淮北師范大學(xué),計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,淮北,團(tuán)隊(duì)ID:383717)

摘要:

基于k210開發(fā)板的智能課堂簽到設(shè)計(jì)可以快速實(shí)現(xiàn)對(duì)課堂同學(xué)的考勤簽到,并通過APP實(shí)時(shí)將數(shù)據(jù)信息傳送給老師,系統(tǒng)基于yolo2神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別、軟件設(shè)計(jì)、硬件設(shè)計(jì)、數(shù)據(jù)庫等技術(shù),實(shí)現(xiàn)了動(dòng)態(tài)無感課堂數(shù)據(jù)采集、考勤確認(rèn)、考勤統(tǒng)計(jì)等功能,真正實(shí)現(xiàn)人工智能取代落后的人工點(diǎn)名。

關(guān)鍵字:

人臉識(shí)別、人工智能、數(shù)據(jù)庫、k210硬件設(shè)計(jì)、智慧課堂、嵌入式開發(fā)。

引言

隨著信息產(chǎn)業(yè)的高速發(fā)展,教學(xué)系統(tǒng)信息化已被廣泛應(yīng)用于各大院校的教學(xué)實(shí)踐,比如我們?nèi)粘=佑|到的:掃描二維碼完成簽到、線上完成老師布置的作業(yè)、網(wǎng)上選課等等。如何在人工智能應(yīng)用及信息化的基礎(chǔ)上,提高課堂的管理效率,減少學(xué)校設(shè)備投資成本,構(gòu)建智能化課堂管理,一直是困擾各高校的首要難題。因此,開展人工智能時(shí)代下的智能課堂簽到系統(tǒng)的研究與設(shè)計(jì),具有重大價(jià)值和現(xiàn)實(shí)意義。

近年來,隨著信息技術(shù)的不斷發(fā)展,現(xiàn)代化科技手段已經(jīng)融入各行各業(yè),而人們對(duì)肖像權(quán)概念越來越淡化,隨時(shí)隨地拍照錄像已經(jīng)成為生活的一部分。教室攝像頭的安裝已經(jīng)成為標(biāo)配,同學(xué)們已經(jīng)習(xí)以為常,然而在課堂上獲取的視頻化數(shù)據(jù)被利用的概率確很低,在同學(xué)們的不經(jīng)意之間,若能能將這些視頻數(shù)據(jù)利用在課堂的考勤上,具有重要意義,而近些年來新興起的k210芯片,具有極強(qiáng)的算力,在人臉識(shí)別能力上獨(dú)樹一幟,另,由python語言作為編程語言的k210,不僅應(yīng)用場景設(shè)計(jì)難度較小,且代碼的開源性較強(qiáng),要實(shí)現(xiàn)課堂的智能簽到設(shè)計(jì),k210開發(fā)板可以說是最佳的選擇。

第一部分:產(chǎn)品介紹

硬件篇:

一、K210開發(fā)板介紹:

K210全稱為堪智K210,是嘉楠科技自主研發(fā)的一款采用RISC-V處理器架構(gòu),具備視聽一體、自主IP內(nèi)核與可編程能力強(qiáng)三大特點(diǎn),支持機(jī)器視覺與機(jī)器聽覺多模態(tài)識(shí)別,可廣泛應(yīng)用于智能家居、智能園區(qū)、智能能耗和智能農(nóng)場等場景。堪智K210使用臺(tái)積電超低功耗的28納米先進(jìn)制程,具有雙核64位處理器,總算力可達(dá)1TOPS,內(nèi)置多種硬件加速單元(KPU、FPU、FFT等),并且擁有較好的功耗性能、穩(wěn)定性與可靠性。

K210功耗僅為0.3w,典型設(shè)備工耗為1W,算力為1TOPS(比樹莓派、Jetson Nano要高),但是1TOPS≠1TFlops。TOPS,(Tera Operations Per Second),1TOPS代表處理器每秒鐘可進(jìn)行一萬億次(10^12)操作。TFlops/s,(Tera Floating Point Operations Per Second),可以簡單寫為T/s, 是數(shù)據(jù)流量的計(jì)數(shù)單位,意思是”1萬億次浮點(diǎn)指令每秒”。

?

?

二、k210實(shí)現(xiàn)人臉識(shí)別:

1、數(shù)據(jù)的收集。

2、運(yùn)行人臉檢測模型,在圖片中找到人臉位置并框出人臉。

3、將裁出的人臉圖片轉(zhuǎn)換成kpu接收的格式。

4、運(yùn)行人臉5點(diǎn)關(guān)鍵點(diǎn)模型,獲取到左眼、右眼、鼻子、左嘴角、右嘴角的位置。

5、對(duì)原始圖片人臉圖片進(jìn)行仿射變換,變換為正臉圖像,將正臉圖像轉(zhuǎn)為kpu格式。

6、使用人臉196維特征值模型計(jì)算正臉圖片的196維特征值,計(jì)算得到最終的人臉特征feature。

再將得到的人臉特征與之前保存過的人臉特征進(jìn)行對(duì)比得到一組分?jǐn)?shù),選擇其中最大的一個(gè)分?jǐn)?shù),且該分?jǐn)?shù)超過65分(可以自己設(shè)置)就認(rèn)為識(shí)別出該人,并根據(jù)對(duì)應(yīng)下標(biāo)從names列表中得到該人的姓名。

具體操作如下:

1.訓(xùn)練模型并燒錄到開發(fā)板中:

模型獲取:首先通過手機(jī)拍攝一小段10s左右的視頻,通過視頻轉(zhuǎn)圖片平臺(tái)(www.img2go.com)將視頻轉(zhuǎn)換為(224*224)的圖片

緊接著,將圖片文件移至Maixhub(官方模型訓(xùn)練平臺(tái)),完成對(duì)數(shù)據(jù)的整理與標(biāo)注,進(jìn)行訓(xùn)練。

上圖為數(shù)據(jù)的整理過程

上圖為數(shù)據(jù)的標(biāo)注過程

上圖為數(shù)據(jù)的訓(xùn)練過程

訓(xùn)練平臺(tái)選擇nncase平臺(tái);模型網(wǎng)絡(luò)選擇transfer_learning;主干網(wǎng)絡(luò)選擇mobilenet_0.75;照片尺寸選擇224*224,以上選擇均為適應(yīng)k210正常運(yùn)行的選擇。

將燒錄得到的模型經(jīng)過解壓,得到運(yùn)行在MaixPy IDE上的代碼以及燒錄進(jìn)kflash_gui的模型,運(yùn)行結(jié)果如下顯示:

2.1編程環(huán)境的搭建:

???????????????????????????????

首先介紹集成開發(fā)環(huán)境(MaixPy Integrated Development Environment);

MaixPy IDE是搭配k210開發(fā)的應(yīng)用程序,集成了代碼編寫功能、分析功能、編譯功能、調(diào)試功能等一體化的開發(fā)軟件服務(wù)。

???????用于連接開發(fā)板

如果需要將訓(xùn)練的模型在k210的flash中存儲(chǔ)并運(yùn)行,需要通過此軟件將模型燒錄進(jìn)k210的flash中。

  • HC-05藍(lán)牙模塊介紹&&pyIOT-BLE TLS01

?????????????????

圖() hc-05外觀圖

圖() hc-05 原理圖 ???

相關(guān)參數(shù)介紹

1.引腳

6根引腳,名稱與功能如下;

VCC 接電源的正極,電壓的范圍為3.3v到5.0v

vdd 為外接供電電源輸入端

GND 地線

TXD:模塊串口發(fā)送引腳(TTL電平,不能直接接RS232電平),可直接接單片機(jī)的RXD引腳

RXD:模塊串口接收引腳(TTL電平,不能直接接RS232電平),可直接接單片機(jī)的TXD引腳

KEY:用于進(jìn)入AT狀態(tài):

LED:這個(gè)引腳是用來檢測藍(lán)牙模塊是否已經(jīng)連接上了其他藍(lán)牙設(shè)備

  • 通訊方式(txrx)
  • HC-05通過TX和RX引腳,支持使用標(biāo)準(zhǔn)AT命令。為此,用戶必須在設(shè)備啟動(dòng)時(shí)進(jìn)入特殊命令模式。啟動(dòng)進(jìn)入數(shù)據(jù)模式,這樣它就可以與其他設(shè)備進(jìn)行無線通信

    1.優(yōu)點(diǎn):

    麻雀雖小,五臟俱全,hc-05不僅價(jià)格實(shí)惠(在某魚上八快就能拍到),而且數(shù)據(jù)傳輸速率并不影響,支持的波特率有9600,19200,38400,57600,115200,230400,460800體積小,重量輕,非常適合搭配同級(jí)別的便攜式硬件k210。唯一的缺點(diǎn)是信號(hào)接收范圍較小,僅有15米(假設(shè)無障礙)左右,為此,為了項(xiàng)目能搭配更多的應(yīng)用場景,即滿足距離上的要求,我們選擇使用k210官方設(shè)計(jì)的pyIOT-BLE TLS01藍(lán)牙模塊,可接收60米左右范圍內(nèi)信號(hào)(假設(shè)無障礙)。

    ?????????????

    圖() pyIOT-BLE TLS-01外觀圖

    蜂匯物聯(lián)科技推出的 TLS-01 藍(lán)牙無線透傳模塊是基于 TELINK 公司的TLSR8266F512 芯片研發(fā)的低功耗 BLE 射頻模塊,模塊能夠以非常低的總材料成本實(shí)現(xiàn)與藍(lán)牙設(shè)備的通信,具有功耗低、體積小、抗干擾能力強(qiáng)等特點(diǎn)。TLS-01 藍(lán)牙模塊可以實(shí)現(xiàn)模塊與手機(jī)數(shù)據(jù)透傳,通過簡單的 IO 控制便可以快速使用 BLE 技術(shù)。模塊作為從角色,可使用 AT 指令控制, 通過串口即可設(shè)置IO 引腳狀態(tài)、串口波特率、修改模塊的廣播名稱,修改廣播間隔和連接間隔等參數(shù)。

    圖() pyIOT-BLE TLS-01原理圖 圖() pyIOT-BLE TLS-01 功能圖

    1.優(yōu)點(diǎn)?k210官方推出的藍(lán)牙模塊,擁有和k210一樣任意配置引腳的特點(diǎn),通過串口即可設(shè)置IO 引腳狀態(tài)、串口波特率、修改模塊的廣播名稱,修改廣播間隔和連接間隔等,這是優(yōu)于hc-05的特點(diǎn),在本項(xiàng)目中,使用該藍(lán)牙模塊僅是為了利用其信號(hào)接收和傳播范圍廣的優(yōu)點(diǎn),其他優(yōu)點(diǎn),暫且不展開闡述。

    1.攝像頭介紹(OV2640攝像頭)

    OV2640是Omni Vision公司生產(chǎn)的一顆1/4寸的CMOS UXGA(1632*1232)圖像傳感器,如圖1.1 OV2640攝像頭所示。該傳感器體積小、工作電壓低,提供單片 UXGA 攝像頭和影像處理器的所有功能。通過 SCCB 總線控制,可以輸出整幀、子采樣、縮放和取窗口等方式的各種分辨率 8/10 位影像數(shù)據(jù)。該產(chǎn)品 UXGA 圖像最高達(dá)到 15 幀/秒(SVGA 可達(dá) 30 幀,CIF 可達(dá) 60 幀)。用戶可以完全控制圖像質(zhì)量、數(shù)據(jù)格式和傳輸方式。所有圖像處理功能過程包括伽瑪曲線、白平衡、對(duì)比度、色度等都可以通過 SCCB 接口編程。Omni Vision圖像傳感器應(yīng)用獨(dú)有的傳感器技術(shù),通過減少或消除光學(xué)或電子缺陷如固定圖案噪聲、拖尾、浮散等,提高圖像質(zhì)量,得到清晰的穩(wěn)定的彩色圖像。

    OV2640優(yōu)點(diǎn):

    高靈敏度、工作電壓低適合嵌入式應(yīng)用;

    通過 SCCB 總線控制,標(biāo)準(zhǔn)的 SCCB 接口,類似 IIC 接口,SDA數(shù)據(jù)線和SCL時(shí)鐘線;

    支持圖像壓縮,即可輸出壓縮后的JPEG圖像數(shù)據(jù),大大減少數(shù)據(jù)量;

    支持 RawRGB、RGB(RGB565/RGB555)、GRB422、YUV(422/420)和 YCbCr (422)輸出格式;

    支持自動(dòng)曝光控制、自動(dòng)增益控制、自動(dòng)白平衡、自動(dòng)消除燈光條紋等自動(dòng)控制功能,對(duì)圖像進(jìn)行處理;

    自帶嵌入式微處理器;

    支持圖像縮放、平移和窗口設(shè)置。

    UXGA最高15幀/秒,SVGA可達(dá)30幀,CIF可達(dá)60幀。UXGA,即分辨率位1600*1200的輸出格式,類似還有SXGA(1280*1024)、XVGA(1280*960)、WXGA(1280*800)、XGA(1024*768)、SVGA(800*600)、VGA(640*480)、CIF(352*288)和QQVGA(160*120)等。

    圖() 圖像濾波操作函數(shù)庫

    通過圖像濾波處理,可以使得機(jī)器應(yīng)對(duì)不同的環(huán)境。

    圖()2.8寸顯示屏(320x240) 圖()杜邦線若干 usb數(shù)據(jù)線1條

    核心代碼:

    import sensor,image,lcd,time import KPU as kpu from machine import UART from fpioa_manager import fm import utime lcd.init() lcd.rotation(1)sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) #sensor.set_vflip(1) #flip camera; maix go use sensor.set_hmirror(0)sensor.set_hmirror(1) sensor.set_vflip(True) sensor.run(1)clock = time.clock()li=[] classes = ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor'] task = kpu.load(0x800000) anchor = (1.08, 1.19, 3.42, 4.41, 6.63, 11.38, 9.42, 5.11, 16.62, 10.52) a = kpu.init_yolo2(task, 0.5, 0.3, 5, anchor)fm.register(7, fm.fpioa.UART1_TX, force=True) fm.register(6, fm.fpioa.UART1_RX, force=True) uart = UART(UART.UART1, 9600, read_buf_len=4096)\uart.write("歡迎使用丟了湯圓隊(duì)設(shè)計(jì)的智能課堂系統(tǒng)"+'\r\n')uart.write("輸入以下數(shù)字:跳轉(zhuǎn)到各班人臉數(shù)據(jù)庫"+'\r\n') uart.write("1-->智能科學(xué)班"+'\r\n') uart.write("2-->大數(shù)據(jù)科學(xué)與技術(shù)班"+'\r\n') uart.write("3-->網(wǎng)絡(luò)工程班"+'\r\n') uart.write("4-->信息安全班"+'\r\n') uart.write("5-->計(jì)算機(jī)科學(xué)班"+'\r\n') while True:text=uart.read()if text==b'1':uart.write("21級(jí)智能科學(xué)與技術(shù)班共計(jì)90人,正在加載數(shù)據(jù)庫,請(qǐng)稍后....")lcd.draw_string(60, 120, "Loading.....",lcd.BLACK, lcd.WHITE)utime.sleep(2)lcd.display(image.Image("zhike.bmp"))utime.sleep(1)break;while(True):lcd.rotation(3)clock.tick()img = sensor.snapshot()code = kpu.run_yolo2(task, img)print(clock.fps())if code:for i in code:a=img.draw_rectangle(i.rect())a = lcd.display(img)for i in code:lcd.draw_string(i.x(), i.y(), classes[i.classid()], lcd.RED, lcd.WHITE)lcd.draw_string(i.x(), i.y()+12, '%f1.3'%i.value(), lcd.RED, lcd.WHITE)if classes[i.classid()] not in li:li.append(classes[i.classid()])uart.write(classes[i.classid()]+"已簽到"+'\r\n')else:a = lcd.display(img) a = kpu.deinit(task)

    ?沒有班級(jí)人臉數(shù)據(jù)庫,沒有權(quán)限,所以用的是官網(wǎng)模型庫里的20種物體識(shí)別模型。

    效果展示:

    總結(jié)

    以上是生活随笔為你收集整理的k210 hc-05 智慧课堂 人脸识别签到的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。