1. 項(xiàng)目背景
根據(jù)《中國(guó)走失人口白皮書(shū)(2020)》,在整個(gè)2020年期間,我國(guó)走失人次達(dá)到了100萬(wàn)。其中未成年人占7.4%,也就是說(shuō),兒童走失人口近74000人,而失蹤后找回來(lái)的大概只占到0.1%。一名走丟孩子的背后,都有一個(gè)破碎的家庭。
根據(jù)公安部?jī)和й?a target="_blank">信息緊急發(fā)布平臺(tái)(“團(tuán)圓”系統(tǒng))數(shù)據(jù)顯示,兒童失蹤原因主要有被拐賣(mài)、離家出走、迷路走失、意外身亡等原因。走失事件往往容易轉(zhuǎn)變?yōu)楣召u(mài)等惡劣的刑事案件,有很多孩子,或者遇到了拐賣(mài)兒童的人販子,或者受到了意外傷害,最終給家庭帶來(lái)毀滅性災(zāi)難。
援救一個(gè)孩子,圓滿一個(gè)家。
2. 我們是誰(shuí)?追尋者團(tuán)隊(duì)于2021年6月在鄭州輕工業(yè)大學(xué)梅科爾工作室成立,致力于尋找丟失兒童,使其闔家團(tuán)圓。團(tuán)隊(duì)成員之間優(yōu)勢(shì)互補(bǔ)、配合默契,分別負(fù)責(zé)算法設(shè)計(jì)、前后端開(kāi)發(fā)、App開(kāi)發(fā)、硬件開(kāi)發(fā),在各自負(fù)責(zé)的領(lǐng)域發(fā)光發(fā)熱。在深度學(xué)習(xí)和機(jī)器視覺(jué)方面,本團(tuán)隊(duì)成員具有濃厚的興趣和較為豐富的學(xué)習(xí)經(jīng)驗(yàn),致力于跨年齡人臉識(shí)別技術(shù)的學(xué)習(xí)和探索,將丟失兒童的識(shí)別和身份確認(rèn)作為項(xiàng)目發(fā)展方向。身為大學(xué)生的我們將社會(huì)責(zé)任牢記心中,在努力提升自身知識(shí)儲(chǔ)備和能力的同時(shí),為尋找丟失兒童事業(yè)竭盡心力。梅科爾工作室的老師和同學(xué)們?cè)跇O為有限的條件下讓價(jià)值最大化,工作室在老齡化、老年人康復(fù)、特殊人群關(guān)愛(ài)等方向發(fā)展良好,總計(jì)參與到60余個(gè)醫(yī)療項(xiàng)目的聯(lián)合創(chuàng)新開(kāi)發(fā)中。3. 項(xiàng)目簡(jiǎn)介
項(xiàng)目采用PyTorch和華為開(kāi)源自研AI框架MindSpore,可以根據(jù)警方或他人提供的圖片判斷其是否為丟失兒童。同時(shí)還可以根據(jù)丟失兒童的時(shí)間長(zhǎng)短,通過(guò)用戶上傳兒童的照片進(jìn)行預(yù)估并生成當(dāng)下的照片,更加便于家庭和警方尋找丟失兒童,幫助丟失兒童早日回歸家庭。
PyTorch是一套開(kāi)源的利用深度學(xué)習(xí)進(jìn)行數(shù)據(jù)科學(xué)研究的重要框架。在靈活性、可讀性和性能上都具備相當(dāng)?shù)膬?yōu)勢(shì),近年來(lái)已成為學(xué)術(shù)界實(shí)現(xiàn)深度學(xué)習(xí)算法最常用的框架。
MindSpore(昇騰)是華為開(kāi)源的一款全場(chǎng)景深度學(xué)習(xí)框架,旨在實(shí)現(xiàn)易開(kāi)發(fā)、高效執(zhí)行、全場(chǎng)景覆蓋三大目標(biāo)。其中,易開(kāi)發(fā)表現(xiàn)為API友好、調(diào)試難度低;高效執(zhí)行包括計(jì)算效率、數(shù)據(jù)預(yù)處理效率和分布式訓(xùn)練效率;全場(chǎng)景則指框架同時(shí)支持云、邊緣以及端側(cè)場(chǎng)景。
項(xiàng)目主要分為算法端、硬件端、基于OpenHarmony的App以及Vue前端,主要用到的軟件有pycharm、idea、anaconda等。
算法端分為跨年齡人臉識(shí)別算法和人臉變老預(yù)測(cè)算法??缒挲g人臉識(shí)別算法通過(guò)使用MTCNN(多任務(wù)卷積神經(jīng)網(wǎng)絡(luò))設(shè)計(jì)三層級(jí)聯(lián)架構(gòu)的 CNN 算法進(jìn)行檢測(cè),提取出不受年齡干擾的身份特征,以此達(dá)到跨年齡人臉識(shí)別。人臉變老預(yù)測(cè)算法以GAN 為基礎(chǔ),并按照年齡、性別和語(yǔ)義分割對(duì)其進(jìn)行標(biāo)記,預(yù)測(cè)一個(gè)人在未來(lái)的樣貌,或者他在過(guò)去的樣貌。
網(wǎng)頁(yè)端是Vue前端,源代碼在Gitee上開(kāi)源,用戶可通過(guò)網(wǎng)站查看上傳、搜尋以及查看丟失兒童信息,并且可以與我們進(jìn)行聯(lián)系和反饋。網(wǎng)頁(yè)端偏向信息查看等功能,更多的操作需要進(jìn)一步在App進(jìn)行使用。
移動(dòng)端目前為App。相對(duì)于微信小程序來(lái)說(shuō),App可以離線進(jìn)行部分功能操作,提高了產(chǎn)品的適應(yīng)面。通過(guò)網(wǎng)絡(luò)連接將信息存儲(chǔ)到服務(wù)器中,以達(dá)到多端信息互通。
4. 技術(shù)架構(gòu)5. 開(kāi)發(fā)環(huán)境
-
DevEco Studio for OpenHarmony3.0.0.900
-
OpenHarmony版本:3.1_Release
-
開(kāi)發(fā)板:DAYU200
6.1.1HTML
<element name='comp' src='../../components/tabbar/tabbar.hml'>element>
<div class="container">
<div class="text">
<text>丟失兒童尋找text>
div>
<div class="container1">
<swiper autoplay="true" class="swiper">
<image src="{{$item}}" for="{{imageList}}" class="img">image>
swiper>
div>
<div class="text1">
<div class="line_y">div>
<text>今日推薦text>
div>
<image class="img1" src="../../common/images/a1.jpg">image>
<image class="img1" src="../../common/images/a3.jpg">image>
<comp index="0">comp>
div>
6.1.2JS源碼
export default {
data: {
title: "",
imageList:['/common/images/2.jpg','/common/images/1.jpg','/common/images/3.jpg']
},
onInit() {
this.title = this.$t('strings.world');
},
swipeToIndex(index) {
this.$element('swiperImage').swipeTo({index: index});
}
}
6.2 信息上傳6.2.1HTML源碼
<element name='comp' src='../../components/tabbar/tabbar.hml'>element>
<div class="container">
<div class="text">
<text>丟失兒童尋找text>
div>
<text class="title">走失人員信息text>
<div class="input-item">
<div class="color">
<text class="input-title">姓名text>
<input class="input" type="text" placeholder="請(qǐng)輸入文本">input>
div>
div>
<div class="input-item">
<div class="color">
<text class="length-title input-title">年齡text>
<input class="input" type="text" placeholder="請(qǐng)輸入走失時(shí)的年齡" maxlength="20" showcounter="false">input>
div>
div>
<div class="input-item">
<div class="color">
<text class="input-title">性別text>
<div class="radio-div">
<select @change="changeFruit">
<option value="bananaValue">
男
option>
<option value="appleValue" selected="true">
女
option>
select>
div>
div>
div>
<div class="input-item">
<div class="color">
<text class="input-title">走失日期text>
<input class="input" type="date" placeholder="如:2021-11-27">input>
div>
div>
<div class="container2">
<text class="title2">您的詳細(xì)信息text>
<div class="input-item">
<div class="color">
<text class="input-title">姓名text>
<input class="input" type="text" placeholder="請(qǐng)輸入文本">input>
div>
div>
<div class="input-item">
<div class="color">
<text class="input-title">性別text>
<div class="radio-div2">
<select @change="changeFruit">
<option value="bananaValue">
男
option>
<option value="appleValue" selected="true">
女
option>
select>
div>
div>
div>
<div class="input-item">
<div class="color">
<text class="input-title">走失人員與您的關(guān)系text>
<div class="checkbox-div">
<select @change="changeFruit">
<option value="bananaValue">
父子
option>
<option value="appleValue" selected="true">
母子
option>
<option value="pearValue">
父女
option>
<option value="pearValue2">
母女
option>
select>
div>
div>
div>
<div class="input-item">
<div class="color">
<text class="input-title">是否報(bào)警text>
<switch showtext="true" texton="是" textoff="否" checked="true" @change="switchChange">
switch>
div>
div>
<div class="input-item">
<div class="color">
<text class="input-title">您的郵箱text>
<input class="input" type="email" placeholder="方便我們聯(lián)系您">input>
div>
div>
<div class="input-item">
<div class="color">
<text class="message-title input-title">請(qǐng)輸入手機(jī)號(hào)text>
<input class="message-input" type="number" placeholder="請(qǐng)輸入手機(jī)號(hào)碼">input>
div>
div>
<div class="color">
<input class="message-input" type="number" placeholder="請(qǐng)輸入驗(yàn)證碼">input>
<input class="message-button" type="button" value="獲取驗(yàn)證碼">input>
div>
div>
<div class="input-item">
<div class="color">
<image class="img" src="../../common/images/camera.png">image>
<button class="message-button" type="capsule" value="上傳圖片" @click="jump">button>
div>
div>
<div class="input-item">
<input class="confirm-button" type="button" value="確認(rèn)">input>
<div class="text2">致力于幫助丟失兒童家庭尋找丟失兒童,讓寶貝早日回家div>
<button class="message-button" type="capsule" value="提交" @click="jump2">button>
div>
<comp index="1">comp>
div>
6.2.2JS源碼
import router from '@system.router';
export default {
data: {
title: ""
},
onInit() {
this.title = this.$t('strings.world');
},
jump(){
router.push({
uri: 'pages/takePhoto/index',
});
},
jump2(){
router.push({
uri: 'pages/submit/index',
});
}
}
6.3信息上傳
6.3.1HTML源碼
<element name='comp' src='../../components/tabbar/tabbar.hml'>element>
<div class="container">
<div class="text">
<text>丟失兒童尋找text>
div>
<text class="title">功能text>
<text class="title1">服務(wù)電話:4000000000text>
<image class="img" src="../../common/images/000.png">image>
<comp index="2">comp>
div>
6.3.2JS源碼
export default {
data: {
title: ""
},
onInit() {
this.title = this.$t('strings.world');
}
}
本文完寫(xiě)在最后我們最近正帶著大家玩嗨OpenHarmony。如果你有好玩的東東,歡迎投稿,讓我們一起嗨起來(lái)!有點(diǎn)子,有想法,有Demo,立刻聯(lián)系我們:合作郵箱:zzliang@atomsource.org
原文標(biāo)題:玩嗨OpenHarmony:基于OpenHarmony的丟失兒童尋找系統(tǒng)
文章出處:【微信公眾號(hào):開(kāi)源技術(shù)服務(wù)中心】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
開(kāi)源技術(shù)
+關(guān)注
關(guān)注
0文章
389瀏覽量
7914 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3660瀏覽量
16152
原文標(biāo)題:玩嗨OpenHarmony:基于OpenHarmony的丟失兒童尋找系統(tǒng)
文章出處:【微信號(hào):開(kāi)源技術(shù)服務(wù)中心,微信公眾號(hào):共熵服務(wù)中心】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論