<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PaddlePaddle | ITとガジェットあれこれ</title>
	<atom:link href="https://sandambara.com/category/paddlepaddle/feed" rel="self" type="application/rss+xml" />
	<link>https://sandambara.com</link>
	<description>sandambara.com</description>
	<lastBuildDate>Tue, 15 Dec 2020 23:59:07 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://sandambara.com/wp-content/uploads/2021/03/icon.ico</url>
	<title>PaddlePaddle | ITとガジェットあれこれ</title>
	<link>https://sandambara.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>PaddlePaddleでマスク着用を判定してみた</title>
		<link>https://sandambara.com/paddlepaddle-maskdetect?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=paddlepaddle-maskdetect</link>
					<comments>https://sandambara.com/paddlepaddle-maskdetect#comments</comments>
		
		<dc:creator><![CDATA[sandambara]]></dc:creator>
		<pubDate>Mon, 29 Jun 2020 11:39:21 +0000</pubDate>
				<category><![CDATA[COVID-19]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[PaddlePaddle]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[開発]]></category>
		<guid isPermaLink="false">https://sandambara.com/?p=493</guid>

					<description><![CDATA[<p>目次 最近会社によく届く広告テスト環境下準備gitから一式clonePythonのコード確認mask_detection.pyを実行してみる役立つかもしれない補足事項 最近会社によく届く広告 緊急事態宣言は解除されました [&#8230;]</p>
The post <a href="https://sandambara.com/paddlepaddle-maskdetect">PaddlePaddleでマスク着用を判定してみた</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></description>
										<content:encoded><![CDATA[<div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">最近会社によく届く広告</a></li><li><a href="#toc2" tabindex="0">テスト環境</a></li><li><a href="#toc3" tabindex="0">下準備</a></li><li><a href="#toc4" tabindex="0">gitから一式clone</a></li><li><a href="#toc5" tabindex="0">Pythonのコード確認</a></li><li><a href="#toc6" tabindex="0">mask_detection.pyを実行してみる</a></li><li><a href="#toc7" tabindex="0">役立つかもしれない補足事項</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">最近会社によく届く広告</span></h2>



<p>緊急事態宣言は解除されましたが、コロナウイルスのワクチンや治療薬が出来た訳ではないので、コロナ対策の商材案内を割と頻繫に目にします。</p>



<p>少し前まではアルコール消毒液やアクリルのパーティションが多かったのですが、最近は非接触の体温計やサーマルカメラを利用した発熱感知器（と言うのかな？）の売り込みが多い印象です。</p>



<p>そんな中「マスク着用検知機」的なものの案内があり、見てみると「導線上に設置されたカメラに撮影された人がマスクを着用していないとき、マスク非着用であることをモニタでお知らせする」というものでした。</p>



<p>こういうのって推論が生きる場所だよな・・・と思い、何気なく「マスク　検出　OpenCV」あたりで検索したところ、大体は「顔を検知しマスキングする」という内容だったのですが、「人がマスク着用していることを検出する」というビンゴな内容の記事を見つけました。</p>



<p>元ネタはこちらのようです。</p>



<figure class="wp-block-embed-twitter wp-block-embed is-type-rich is-provider-twitter"><div class="wp-block-embed__wrapper">
<blockquote class="twitter-tweet" data-width="550" data-dnt="true"><p lang="ja" dir="ltr">コロナウイルスの影響でマスクを着用した顔のデータセットや検出モデルの公開がここ最近急増している😷<br>■ Baiduが公開したオープンソースのマスク着用顔検出モデル<a href="https://t.co/NurgI3KB30">https://t.co/NurgI3KB30</a><br><br>■ 3500枚を超えるマスク検出するためのデータセット<a href="https://t.co/P3bVOaGawq">https://t.co/P3bVOaGawq</a> <a href="https://t.co/xtrVV86abF">pic.twitter.com/xtrVV86abF</a></p>&mdash; MARINA🦋｜Edge AI (@m__sb04) <a href="https://twitter.com/m__sb04/status/1234423447788277760?ref_src=twsrc%5Etfw">March 2, 2020</a></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div></figure>



<p>そして、こちらを参考にさせて頂きながら挑戦してみました。貴重な情報を公開くださり有難うございます！</p>



<p>@SatoshiGachiFujimotoさま　<a rel="noopener" href="https://qiita.com/ebiflyyyyyyyy/items/4f8cc781a86c3f9d8700" target="_blank" title="https://qiita.com/ebiflyyyyyyyy/items/4f8cc781a86c3f9d8700">PaddlePaddleのマスク検出データセットを試す</a></p>



<p>@ebiflyyyyyyyyさま　　　　　<a rel="noopener" href="https://qiita.com/SatoshiGachiFujimoto/items/5a74b85a2832e9692070" target="_blank">Baiduが公開しているマスク検出を試してみた</a></p>



<h2 class="wp-block-heading"><span id="toc2">テスト環境</span></h2>



<p>今回テストした環境はWindows10 Pro 64bit バージョン2004、Pythonは3.6.1です。</p>



<h2 class="wp-block-heading"><span id="toc3">下準備</span></h2>



<pre class="wp-block-code"><code>pip install paddlepaddle
pip install paddlehub</code></pre>



<h2 class="wp-block-heading"><span id="toc4">gitから一式clone</span></h2>



<p>こちらから取得します。</p>





<a rel="noopener" href="https://github.com/PaddlePaddle/Paddle" title="GitHub - PaddlePaddle/Paddle: PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice （『飞桨』核心框架，深度学习&amp;机器学习高性能单机、分布式训练和跨平台部署）" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://sandambara.com/wp-content/uploads/cocoon-resources/blog-card-cache/aae2c305abb46d8fac0bf266a6fbd487." alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">GitHub - PaddlePaddle/Paddle: PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice （『飞桨』核心框架，深度学习&机器学习高性能单机、分布式训练和跨平台部署）</div><div class="blogcard-snippet external-blogcard-snippet">PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice （『飞桨』核心框架，深度学习&amp;机器学习高性能单机、分布式训练和跨...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://github.com/PaddlePaddle/Paddle" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">github.com</div></div></div></div></a>




<h2 class="wp-block-heading"><span id="toc5">Pythonのコード確認</span></h2>



<p> PaddleHub-release-v1.7\demo\mask_detection\mask_detection.pyの中身を見てみます。コメントやコードの一部が普通に中国語で書かれていますが、ひるまないようにしましょう。</p>



<p>まず、Webカメラ内蔵PCに外付けカメラをつけている場合は要注意です。</p>



<pre class="wp-block-code"><code>43行目
capture = cv2.VideoCapture(0)</code></pre>



<p>また、Zoomなどを起動しているとアプリケーションがWebカメラを握ったままになっていますので予め終了させておきましょう。</p>



<p>特に問題が無ければそのままで動くのですが、PaddleHub-release-v1.7\demo\mask_detection\resultの中にWebカメラでキャプチャした画像が山のように生成されますので、オリジナルのコードで動作確認が出来たら修正をお勧めします。</p>



<pre class="wp-block-code"><code>69行目
cv2.imwrite(path, image, &#91;int(cv2.IMWRITE_PNG_COMPRESSION), 9])
↓
#cv2.imwrite(path, image, &#91;int(cv2.IMWRITE_PNG_COMPRESSION), 9])</code></pre>



<h2 class="wp-block-heading"><span id="toc6">mask_detection.pyを実行してみる</span></h2>



<p>Webカメラが起動したら、カメラの前でマスクを付け外ししてみましょう！認識精度に思わず感激されたのではないでしょうか？白色の不繊布マスクであればかなりの確率でマスクの有無を見分けてくれるようです。逆にデザインの入ったマスク（たとえば都知事が付けているようなもの）は苦手なようです。ここは今後に期待ですね。</p>



<h2 class="wp-block-heading"><span id="toc7">役立つかもしれない補足事項</span></h2>



<p>91-92行目をコメントアウト、93-95行目のコメントを解除すると「MASK」「NO MASK」の文字列を85行目、88行目で任意の文字列に変更することができます。ただし、cv2.putTextではマルチバイトを扱えないため、94行目で12行目から始まるpaint_chineseを呼び出し文字列を画像化しています。</p>



<p>その際16行目でフォントを指定するのですが、OSが認識しているフォント名って皆さんご存じでしょうか？知らなかったのは私だけ・・・かもですが、これはレジストリを調べます。</p>



<pre class="wp-block-code"><code>コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fon</code></pre>



<p>ここの値を指定しましょう！</p>



<script type="text/javascript">amzn_assoc_ad_type ="responsive_search_widget"; amzn_assoc_tracking_id ="sandambara02-22"; amzn_assoc_marketplace ="amazon"; amzn_assoc_region ="JP"; amzn_assoc_placement =""; amzn_assoc_search_type = "search_widget";amzn_assoc_width ="auto"; amzn_assoc_height ="auto"; amzn_assoc_default_search_category =""; amzn_assoc_default_search_key ="PaddlePaddle";amzn_assoc_theme ="light"; amzn_assoc_bg_color ="FFFFFF"; </script><script src="//z-fe.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&amp;Operation=GetScript&amp;ID=OneJS&amp;WS=1&amp;Marketplace=JP"></script>The post <a href="https://sandambara.com/paddlepaddle-maskdetect">PaddlePaddleでマスク着用を判定してみた</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></content:encoded>
					
					<wfw:commentRss>https://sandambara.com/paddlepaddle-maskdetect/feed</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
