<?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>Python | ITとガジェットあれこれ</title>
	<atom:link href="https://sandambara.com/category/python/feed" rel="self" type="application/rss+xml" />
	<link>https://sandambara.com</link>
	<description>sandambara.com</description>
	<lastBuildDate>Mon, 24 Oct 2022 00:57:29 +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>Python | ITとガジェットあれこれ</title>
	<link>https://sandambara.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Python+OpenVINOで動体検知に挑戦（人数カウント）　Part1</title>
		<link>https://sandambara.com/object-intrusion-detection-with-python-and-openvino-part1?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=object-intrusion-detection-with-python-and-openvino-part1</link>
					<comments>https://sandambara.com/object-intrusion-detection-with-python-and-openvino-part1#respond</comments>
		
		<dc:creator><![CDATA[sandambara]]></dc:creator>
		<pubDate>Sun, 23 Oct 2022 01:00:00 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Dragonfly]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[OpenVINO]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[開発]]></category>
		<guid isPermaLink="false">https://sandambara.com/?p=2040</guid>

					<description><![CDATA[<p>ラズパイを買った頃に面白がって色々やっていたのですが、その後はすっかりご無沙汰でした。 先日仕事がらみで試してみたいことができたのでPythonやOpenVINOを使おうと思ったら、なにもかも忘れ去っていたり環境が変わっ [&#8230;]</p>
The post <a href="https://sandambara.com/object-intrusion-detection-with-python-and-openvino-part1">Python+OpenVINOで動体検知に挑戦（人数カウント）　Part1</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></description>
										<content:encoded><![CDATA[<p>ラズパイを買った頃に面白がって色々やっていたのですが、その後はすっかりご無沙汰でした。</p>



<p>先日仕事がらみで試してみたいことができたのでPythonやOpenVINOを使おうと思ったら、なにもかも忘れ去っていたり環境が変わっていたので久々の覚書記事です。</p>




  <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">環境作成1　ソースコード他ダウンロード</a></li><li><a href="#toc4" tabindex="0">環境作成2　Pythonインストール</a></li><li><a href="#toc5" tabindex="0">環境作成3　OpenVINOインストール</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">動作環境</span></h2>



<ul class="wp-block-list"><li>Windows 11 Pro 21H2 (HP Dragonfly G2)</li><li>Python 3.7.9</li><li>OpenVINO 2022.1</li><li>USB接続のWEBカメラ（PC本体内蔵のものでもOK）</li></ul>



<h2 class="wp-block-heading"><span id="toc2">謝辞</span></h2>



<p>以前から興味を持って訪ねさせて頂いていて、目からレーザービームが出るのとかよく子供と遊びました。</p>



<p>ここがなかったら自力では絶対無理でした。素晴らしいコードを公開くださったyas-simさんに感謝を捧げます。</p>





<a rel="noopener" href="https://github.com/yas-sim/object-tracking-line-crossing-area-intrusion" title="GitHub - yas-sim/object-tracking-line-crossing-area-intrusion: Deep learning based object tracking with line crossing and area intrusion detection" 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/2400000fdf065603327663dbb99cb619." 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 - yas-sim/object-tracking-line-crossing-area-intrusion: Deep learning based object tracking with line crossing and area intrusion detection</div><div class="blogcard-snippet external-blogcard-snippet">Deep learning based object tracking with line crossing and area intrusion detection - yas-sim/object-tracking-line-cross...</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/yas-sim/object-tracking-line-crossing-area-intrusion" 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>




<p>Apache License 2.0です。</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="235" src="https://sandambara.com/wp-content/uploads/2022/10/image-12-1024x235.png" alt="" class="wp-image-2063" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-12-1024x235.png 1024w, https://sandambara.com/wp-content/uploads/2022/10/image-12-300x69.png 300w, https://sandambara.com/wp-content/uploads/2022/10/image-12-768x176.png 768w, https://sandambara.com/wp-content/uploads/2022/10/image-12.png 1238w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><span id="toc3">環境作成1　ソースコード他ダウンロード</span></h2>



<p>yas-simさんのコード他一式をダウンロードします。私はzipでダウンロードしc:\sandambara直下へ展開しました。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="296" height="128" src="https://sandambara.com/wp-content/uploads/2022/10/image-28.png" alt="" class="wp-image-2086"/></figure>



<h2 class="wp-block-heading"><span id="toc4">環境作成2　Pythonインストール</span></h2>



<p>こちらのサイトからPython 3.7.9をダウンロードします。私は「python-3.7.9-amd64.exe」を使いました。</p>





<a rel="noopener" href="https://www.python.org/downloads/windows/" title="Python Releases for Windows" 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 loading="lazy" decoding="async" src="https://sandambara.com/wp-content/uploads/cocoon-resources/blog-card-cache/f8f5d529d35334f2fb264d19f656224e.png" 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">Python Releases for Windows</div><div class="blogcard-snippet external-blogcard-snippet">The official home of the Python Programming Language</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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.python.org/downloads/windows/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.python.org</div></div></div></div></a>




<p>インストーラーを実行します。画面一番下にある「Add Python 3.7 to PATH」にチェックをつけて「Install Now」をクリックします。ユーザーアカウント制御が出たら「はい」を選択しましょう。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="691" height="420" src="https://sandambara.com/wp-content/uploads/2022/10/image.png" alt="" class="wp-image-2044" srcset="https://sandambara.com/wp-content/uploads/2022/10/image.png 691w, https://sandambara.com/wp-content/uploads/2022/10/image-300x182.png 300w" sizes="(max-width: 691px) 100vw, 691px" /></figure>



<p>そんなに時間はかかりません。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="664" height="407" src="https://sandambara.com/wp-content/uploads/2022/10/image-1.png" alt="" class="wp-image-2045" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-1.png 664w, https://sandambara.com/wp-content/uploads/2022/10/image-1-300x184.png 300w" sizes="(max-width: 664px) 100vw, 664px" /></figure>



<p>インストールが終わったら「Disable path length limit」を選択しておきます。ユーザーアカウント制御が表示されますので「はい」を選択しましょう。path length limitについては<a rel="noopener" href="https://learn.microsoft.com/ja-jp/windows/win32/fileio/naming-a-file?redirectedfrom=MSDN" target="_blank" title="">こちら</a>に解説があります。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="691" height="422" src="https://sandambara.com/wp-content/uploads/2022/10/image-2.png" alt="" class="wp-image-2046" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-2.png 691w, https://sandambara.com/wp-content/uploads/2022/10/image-2-300x183.png 300w" sizes="(max-width: 691px) 100vw, 691px" /></figure>



<p>Closeをクリックしてインストーラーを終了させます。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="664" height="406" src="https://sandambara.com/wp-content/uploads/2022/10/image-3.png" alt="" class="wp-image-2048" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-3.png 664w, https://sandambara.com/wp-content/uploads/2022/10/image-3-300x183.png 300w" sizes="(max-width: 664px) 100vw, 664px" /></figure>



<p>コマンドプロンプトを起動して「python -V」と入力→Enterキーでバージョン表示されることを確認しましょう。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="149" height="86" src="https://sandambara.com/wp-content/uploads/2022/10/image-4.png" alt="" class="wp-image-2049" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-4.png 149w, https://sandambara.com/wp-content/uploads/2022/10/image-4-120x68.png 120w" sizes="(max-width: 149px) 100vw, 149px" /></figure>



<p>Pythonのインストール完了です。コマンドプロンプトは閉じずにそのまま出しておいてください。</p>



<h2 class="wp-block-heading"><span id="toc5">環境作成3　OpenVINOインストール</span></h2>



<p>下記のサイトへアクセスし「Free Download」と書かれた青いボタンをクリックしましょう。</p>





<a rel="noopener" href="https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/overview.html" title="Access Denied" 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 loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fwww.intel.com%2Fcontent%2Fwww%2Fus%2Fen%2Fdeveloper%2Ftools%2Fopenvino-toolkit%2Foverview.html?w=160&#038;h=90" 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">Access Denied</div><div class="blogcard-snippet external-blogcard-snippet"></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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/overview.html" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.intel.com</div></div></div></div></a>




<p>EnvironmentのところはDevelopment toolsとRuntimeが選択できますのでRuntimeを選択します。</p>



<p>Versionはyas-simさんのREADME.mod「How To Run」にOpenVINO2021.3と指定があります。しかし、前文でこのように追記があります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>[ Update &#8211; 04-Apr-2022 ] OpenVINO API 2.0 support. Program is now compatible with OpenVINO 2022.1 (and not compatible with OpenVINO 2021 and older ones)</p><cite>https://github.com/yas-sim/object-tracking-line-crossing-area-intrusion</cite></blockquote>



<p>OpenVINOのAPIが新しくなったのですね。作りっぱなしではなく新しい環境に合わせモディファイしてくださるとはなんとも有難いことです。2022.10.24時点の最新Versionは2022.2ですが、今回はyas-simさんが検証された2022.1を利用します。</p>



<p>公式サイトはこんな風になります。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="889" height="872" src="https://sandambara.com/wp-content/uploads/2022/10/image-13.png" alt="" class="wp-image-2069" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-13.png 889w, https://sandambara.com/wp-content/uploads/2022/10/image-13-300x294.png 300w, https://sandambara.com/wp-content/uploads/2022/10/image-13-768x753.png 768w" sizes="(max-width: 889px) 100vw, 889px" /></figure>



<p>サイトを少し下へスクロールするとダウンロードボタンがありますので、クリックしてダウンロードを開始します。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="828" height="230" src="https://sandambara.com/wp-content/uploads/2022/10/image-15.png" alt="" class="wp-image-2071" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-15.png 828w, https://sandambara.com/wp-content/uploads/2022/10/image-15-300x83.png 300w, https://sandambara.com/wp-content/uploads/2022/10/image-15-768x213.png 768w" sizes="(max-width: 828px) 100vw, 828px" /></figure>



<p>ダウンロードが完了したら「w_openvino_toolkit_p_2022.1.0.643_offline.exe」を実行します。ユーザーアカウント制御が表示されたら「はい」で進みます。インストーラーが起動したら「Continue」をクリックしましょう。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="808" height="455" src="https://sandambara.com/wp-content/uploads/2022/10/image-34.png" alt="" class="wp-image-2096" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-34.png 808w, https://sandambara.com/wp-content/uploads/2022/10/image-34-300x169.png 300w, https://sandambara.com/wp-content/uploads/2022/10/image-34-768x432.png 768w, https://sandambara.com/wp-content/uploads/2022/10/image-34-120x68.png 120w, https://sandambara.com/wp-content/uploads/2022/10/image-34-160x90.png 160w, https://sandambara.com/wp-content/uploads/2022/10/image-34-320x180.png 320w" sizes="(max-width: 808px) 100vw, 808px" /></figure>



<p>ライセンスの同意にチェックを付けたら「Continue」をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="575" src="https://sandambara.com/wp-content/uploads/2022/10/image-17-1024x575.png" alt="" class="wp-image-2073" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-17-1024x575.png 1024w, https://sandambara.com/wp-content/uploads/2022/10/image-17-300x169.png 300w, https://sandambara.com/wp-content/uploads/2022/10/image-17-768x431.png 768w, https://sandambara.com/wp-content/uploads/2022/10/image-17-120x68.png 120w, https://sandambara.com/wp-content/uploads/2022/10/image-17-160x90.png 160w, https://sandambara.com/wp-content/uploads/2022/10/image-17-320x180.png 320w, https://sandambara.com/wp-content/uploads/2022/10/image-17.png 1328w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>こちらはお好みに応じて選択してください。いずれかのラジオボタンを選択したら「Install」をクリックしましょう。途中必要に応じてC++のRuntimeがインストールされます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="572" src="https://sandambara.com/wp-content/uploads/2022/10/image-18-1024x572.png" alt="" class="wp-image-2074" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-18-1024x572.png 1024w, https://sandambara.com/wp-content/uploads/2022/10/image-18-300x167.png 300w, https://sandambara.com/wp-content/uploads/2022/10/image-18-768x429.png 768w, https://sandambara.com/wp-content/uploads/2022/10/image-18-120x68.png 120w, https://sandambara.com/wp-content/uploads/2022/10/image-18-160x90.png 160w, https://sandambara.com/wp-content/uploads/2022/10/image-18-320x180.png 320w, https://sandambara.com/wp-content/uploads/2022/10/image-18.png 1331w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>インストールが完了したら「Finish」をクリックします。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="418" height="173" src="https://sandambara.com/wp-content/uploads/2022/10/image-19.png" alt="" class="wp-image-2075" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-19.png 418w, https://sandambara.com/wp-content/uploads/2022/10/image-19-300x124.png 300w" sizes="(max-width: 418px) 100vw, 418px" /></figure>



<p>Part2に続きます。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-itとガジェットあれこれ wp-block-embed-itとガジェットあれこれ"><div class="wp-block-embed__wrapper">

<a href="https://sandambara.com/object-intrusion-detection-with-python-and-openvino-part2" title="Python+OpenVINOで動体検知に挑戦（人数カウント）　Part2" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="160" height="90" src="https://sandambara.com/wp-content/uploads/2020/09/python_18894-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://sandambara.com/wp-content/uploads/2020/09/python_18894-160x90.png 160w, https://sandambara.com/wp-content/uploads/2020/09/python_18894-120x68.png 120w, https://sandambara.com/wp-content/uploads/2020/09/python_18894-320x180.png 320w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">Python+OpenVINOで動体検知に挑戦（人数カウント）　Part2</div><div class="blogcard-snippet internal-blogcard-snippet">Part1の続きです。動作環境の確認などまだお済みでないかたはこちらをご参照ください。必要なモジュールをインストールこちらのコマンドでインストールします。requirements.txtはダウンロードしたyas-simさんのフォルダ直下にあ...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://sandambara.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">sandambara.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2022.10.23</div></div></div></div></a>
</div></figure>The post <a href="https://sandambara.com/object-intrusion-detection-with-python-and-openvino-part1">Python+OpenVINOで動体検知に挑戦（人数カウント）　Part1</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></content:encoded>
					
					<wfw:commentRss>https://sandambara.com/object-intrusion-detection-with-python-and-openvino-part1/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Python+OpenVINOで動体検知に挑戦（人数カウント）　Part2</title>
		<link>https://sandambara.com/object-intrusion-detection-with-python-and-openvino-part2?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=object-intrusion-detection-with-python-and-openvino-part2</link>
					<comments>https://sandambara.com/object-intrusion-detection-with-python-and-openvino-part2#respond</comments>
		
		<dc:creator><![CDATA[sandambara]]></dc:creator>
		<pubDate>Sun, 23 Oct 2022 01:00:00 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Dragonfly]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[OpenVINO]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[開発]]></category>
		<guid isPermaLink="false">https://sandambara.com/?p=2066</guid>

					<description><![CDATA[<p>Part1の続きです。動作環境の確認などまだお済みでないかたはこちらをご参照ください。 目次 必要なモジュールをインストールモデルのダウンロードソースコードの調整いざ実行！ 必要なモジュールをインストール こちらのコマン [&#8230;]</p>
The post <a href="https://sandambara.com/object-intrusion-detection-with-python-and-openvino-part2">Python+OpenVINOで動体検知に挑戦（人数カウント）　Part2</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></description>
										<content:encoded><![CDATA[<p>Part1の続きです。動作環境の確認などまだお済みでないかたはこちらをご参照ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-itとガジェットあれこれ wp-block-embed-itとガジェットあれこれ"><div class="wp-block-embed__wrapper">

<a href="https://sandambara.com/object-intrusion-detection-with-python-and-openvino-part1" title="Python+OpenVINOで動体検知に挑戦（人数カウント）　Part1" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="160" height="90" src="https://sandambara.com/wp-content/uploads/2020/09/python_18894-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://sandambara.com/wp-content/uploads/2020/09/python_18894-160x90.png 160w, https://sandambara.com/wp-content/uploads/2020/09/python_18894-120x68.png 120w, https://sandambara.com/wp-content/uploads/2020/09/python_18894-320x180.png 320w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">Python+OpenVINOで動体検知に挑戦（人数カウント）　Part1</div><div class="blogcard-snippet internal-blogcard-snippet">ラズパイを買った頃に面白がって色々やっていたのですが、その後はすっかりご無沙汰でした。先日仕事がらみで試してみたいことができたのでPythonやOpenVINOを使おうと思ったら、なにもかも忘れ去っていたり環境が変わっていたので久々の覚書記...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://sandambara.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">sandambara.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2022.10.23</div></div></div></div></a>
</div></figure>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</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">いざ実行！</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">必要なモジュールをインストール</span></h2>



<p>こちらのコマンドでインストールします。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="857" height="126" src="https://sandambara.com/wp-content/uploads/2022/10/image-22.png" alt="" class="wp-image-2079" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-22.png 857w, https://sandambara.com/wp-content/uploads/2022/10/image-22-300x44.png 300w, https://sandambara.com/wp-content/uploads/2022/10/image-22-768x113.png 768w" sizes="(max-width: 857px) 100vw, 857px" /></figure>



<p>requirements.txtはダウンロードしたyas-simさんのフォルダ直下にあります。私の場合は「C:\sandambara\object-tracking-line-crossing-area-intrusion-master\requirements.txt&#8221;」なのでこのような感じです。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="826" height="26" src="https://sandambara.com/wp-content/uploads/2022/10/image-29.png" alt="" class="wp-image-2088" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-29.png 826w, https://sandambara.com/wp-content/uploads/2022/10/image-29-300x9.png 300w, https://sandambara.com/wp-content/uploads/2022/10/image-29-768x24.png 768w" sizes="(max-width: 826px) 100vw, 826px" /></figure>



<p>数分かかります。</p>



<h2 class="wp-block-heading"><span id="toc2">モデルのダウンロード</span></h2>



<p>ダウンロードするためのコマンドを調べました。</p>



<pre class="wp-block-code"><code>omz_downloader --list models.lst</code></pre>



<p>models.lstはrequirements.txtと同じ場所にありますので、私の場合はこうなります。</p>



<pre class="wp-block-code"><code>omz_downloader --list C:\sandambara\object-tracking-line-crossing-area-intrusion-master\models.lst</code></pre>



<p>ダウンロードされたものはこちらです。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="266" height="240" src="https://sandambara.com/wp-content/uploads/2022/10/image-32.png" alt="" class="wp-image-2091"/></figure>



<p></p>



<h2 class="wp-block-heading"><span id="toc3">ソースコードの調整</span></h2>



<p>yas-simさんのソースコードを環境に合わせて調整します。といっても調整が必要なのは1-3か所だけです。</p>



<ul class="wp-block-list"><li>233行目のコメントを解除</li><li>235行目の640を745に変更</li><li>USB外付けカメラを使う場合は234行目および267行目をcap = cv2.VideoCapture(1)にする</li></ul>



<p>1つめと3つ目はwebカメラを使うための設定です。カッコの中の数字ですが、本体内蔵カメラの場合はcap = cv2.VideoCapture(0)、USBカメラを使う場合はcap = cv2.VideoCapture(1)です。本体に2つカメラがあるモデルだと0と1が本体用の番号で、USB外付けカメラはcap = cv2.VideoCapture(2)となります。</p>



<p>2つ目はオリジナルコードのままだとウインドウX軸方向の表示領域が狭かったので変更しました。</p>



<p>ということで、本体内蔵カメラを利用する場合の調整箇所は1か所のみ。外付けカメラを利用する場合は3か所修正します。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="435" height="217" src="https://sandambara.com/wp-content/uploads/2022/10/image-35.png" alt="" class="wp-image-2098" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-35.png 435w, https://sandambara.com/wp-content/uploads/2022/10/image-35-300x150.png 300w" sizes="(max-width: 435px) 100vw, 435px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="387" height="80" src="https://sandambara.com/wp-content/uploads/2022/10/image-36.png" alt="" class="wp-image-2099" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-36.png 387w, https://sandambara.com/wp-content/uploads/2022/10/image-36-300x62.png 300w" sizes="(max-width: 387px) 100vw, 387px" /></figure>



<p>調整が終わったら忘れずに保存しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc4">いざ実行！</span></h2>



<p>久しぶりにOpenVINOを使ってみて驚いたのは、予めsetupvars.batを実行させなくても良くなっていたことでした。これは環境変数を一時的にセットするもので、実行を忘れるとあれ？あれ？？となりがちだったのです。忘れっぽい私にとっては有難いモディファイでした。</p>



<p>では、コマンドプロンプトを開いて実行してみます。今回の手順で環境を構築された場合は最初にカレントディレクトリをルートに変更します。これを忘れるとエラーまみれになりますから注意が必要です。</p>



<pre class="wp-block-code"><code>cd \</code></pre>



<p>「python（半角スペース）」まで入力し.pyをコマンドプロンプトへドラッグアンドドロップすればこんな感じになるでしょうか。</p>



<pre class="wp-block-code"><code>C:\&gt;python C:\sandambara\object-tracking-line-crossing-area-intrusion-master\object-detection-and-line-cross.py</code></pre>



<p>祈りながらEnterキーを押下し、ドキドキしながら少し待つと・・・</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="845" height="502" src="https://sandambara.com/wp-content/uploads/2022/10/image-33.png" alt="" class="wp-image-2093" srcset="https://sandambara.com/wp-content/uploads/2022/10/image-33.png 845w, https://sandambara.com/wp-content/uploads/2022/10/image-33-300x178.png 300w, https://sandambara.com/wp-content/uploads/2022/10/image-33-768x456.png 768w" sizes="(max-width: 845px) 100vw, 845px" /><figcaption>じゃーん</figcaption></figure>



<p>今回のソースコードでは映像は左右テレコになるのですが、カメラの前を右に左に動いてみると4隅の数値が変わっていきます。こんなことを門外漢の私のような者が試せるなんて凄すぎます！</p>



<p>アイディア次第で色々使い道がありそうですね。皆さんも是非挑戦してみてください。</p>The post <a href="https://sandambara.com/object-intrusion-detection-with-python-and-openvino-part2">Python+OpenVINOで動体検知に挑戦（人数カウント）　Part2</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></content:encoded>
					
					<wfw:commentRss>https://sandambara.com/object-intrusion-detection-with-python-and-openvino-part2/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>M1 Mac+Python+YOLO V3で物体検出に挑戦</title>
		<link>https://sandambara.com/yolo-v3-with-python-using-m1-mac?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=yolo-v3-with-python-using-m1-mac</link>
					<comments>https://sandambara.com/yolo-v3-with-python-using-m1-mac#respond</comments>
		
		<dc:creator><![CDATA[sandambara]]></dc:creator>
		<pubDate>Wed, 03 Mar 2021 00:00:00 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OpenCV]]></category>
		<category><![CDATA[OpenVINO]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[YOLO]]></category>
		<guid isPermaLink="false">https://sandambara.com/?p=1736</guid>

					<description><![CDATA[<p>随分以前ですがこちらのサイトを参考にYOLOで遊んでいました。 AIと聞くと敷居が高いように感じますが、このように情報発信してくださる方々のおかげで気軽にAIと関わりをもてるのは本当に有難いことです。感謝！ ということで [&#8230;]</p>
The post <a href="https://sandambara.com/yolo-v3-with-python-using-m1-mac">M1 Mac+Python+YOLO V3で物体検出に挑戦</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></description>
										<content:encoded><![CDATA[<p>随分以前ですがこちらのサイトを参考にYOLOで遊んでいました。</p>





<a rel="noopener" href="https://ai-coordinator.jp/yolo-v3-pytorch" title="高速化したYOLO V3を使ったリアルタイム物体検出 for PyTorch" 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 loading="lazy" decoding="async" src="https://sandambara.com/wp-content/uploads/cocoon-resources/blog-card-cache/32eb472b1e21a0cc1620b25e2b582a0f.png" 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">高速化したYOLO V3を使ったリアルタイム物体検出 for PyTorch</div><div class="blogcard-snippet external-blogcard-snippet">正確さと高速化に成功したYOLO V3 こんにちは。 AI coordinator管理人の清水秀樹です。 最近はラズパイにハマってdeeplearningの勉強をサボっておりましたが、YOLO V2をさらに高速化させたYOLO V3がリリー...</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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://ai-coordinator.jp/yolo-v3-pytorch" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">ai-coordinator.jp</div></div></div></div></a>




<p>AIと聞くと敷居が高いように感じますが、このように情報発信してくださる方々のおかげで気軽にAIと関わりをもてるのは本当に有難いことです。感謝！</p>



<p>ということで、今回メインマシンをM1 Macに移行したので久しぶりにYOLOによる物体検出に挑戦してみました。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">YOLOとは？</a></li><li><a href="#toc2" tabindex="0">動作環境</a></li><li><a href="#toc3" tabindex="0">セットアップしていきなり実行</a></li><li><a href="#toc4" tabindex="0">内蔵カメラでリアルタイム物体検出をするには</a></li><li><a href="#toc5" tabindex="0">Miniforge3インストール</a></li><li><a href="#toc6" tabindex="0">PyTorchインストール</a></li><li><a href="#toc7" tabindex="0">リアルタイム物体検出</a></li><li><a href="#toc8" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">YOLOとは？</span></h2>



<p>You Only Look Onceの頭文字を取ってヨーローです。以前ご紹介したOpenCVやOpenVINOとはまた異なる仕組みで物体検出を行います。</p>



<p>「一度しか見ないから早いんだな」くらいの感じでいきましょう。逆の言い方をすれば他の仕組みは「何度も見ている」ということですね。</p>



<h2 class="wp-block-heading"><span id="toc2">動作環境</span></h2>



<p>私の環境です。</p>



<ul class="wp-block-list"><li>MacBook Pro M1（メモリ8GB　SSD512GB）</li><li>macOS Big Sur(バージョン11.2.2）</li><li>Miniforge3</li><li>Python 3.8</li></ul>



<h2 class="wp-block-heading"><span id="toc3">セットアップしていきなり実行</span></h2>



<p>ターミナルを起動し下記のコマンドを順に入力してきましょう！</p>



<script src="https://gist.github.com/sandambara/d4f9808417e66c4776fdd5cf320d31ad.js"></script>



<p>解析がスタートします。</p>



<script src="https://gist.github.com/sandambara/48e7890810828863993d00f103c85171.js"></script>



<p>あっという間に終わり、解析結果が~/darknet/predictions.jpgに出力されます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="576" src="https://sandambara.com/wp-content/uploads/2021/03/predictions-1.jpg" alt="" class="wp-image-1741" srcset="https://sandambara.com/wp-content/uploads/2021/03/predictions-1.jpg 768w, https://sandambara.com/wp-content/uploads/2021/03/predictions-1-300x225.jpg 300w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>何度見てもすごい！と感じずにいられません。</p>



<h2 class="wp-block-heading"><span id="toc4">内蔵カメラでリアルタイム物体検出をするには</span></h2>



<p>ここからは事前準備が必要です。具体的にはPythonとPyTorchのセットアップをはじめに行いますが、M1 Macの場合は環境構築方法が限定されますので注意が必要です（2021年3月1日時点）。</p>



<h2 class="wp-block-heading"><span id="toc5">Miniforge3インストール</span></h2>



<p>Python実行環境にはMiniforge（Anacondaの小型版と思っておけば良いと思います）を利用します。</p>



<p>まずは<a rel="noopener" href="https://github.com/conda-forge/miniforge" target="_blank">こちらのサイトのDownload</a>から「OS X arm64(Apple Silicon)」を取得し、以下のコマンドを実行します。</p>



<pre class="wp-block-code"><code>bash Miniforge3-MacOSX-arm64.sh</code></pre>



<p>インストールが終わったらYOLO用の環境を作成しましょう。Pythonは3.8にしました。</p>



<pre class="wp-block-code"><code>conda create -n yolo python=3.8</code></pre>



<p>ここは「conda create -n 好きな名前 python=希望バージョン」です。こんな風に環境を作ったり削除したりできるのは便利ですね。ちなみに削除は「conda remove -n 名前 &#8211;all」です。allの前はハイフンが2つ続きますので注意してくださいね。</p>



<div class="wp-block-cocoon-blocks-sticky-box blank-box sticky block-box">
<p>「動かねー」という方はパスが通っているか確認しましょう！</p>



<p>~/.zshrc</p>



<p>source ~/miniforge3/etc/profile.d/conda.sh</p>
</div>



<p>では、早速作成した環境へ入って作業を続けます。</p>



<pre class="wp-block-code"><code>conda activate yolo</code></pre>



<h2 class="wp-block-heading"><span id="toc6">PyTorchインストール</span></h2>



<p>以前はPyTorchの公式サイトから環境に応じたコマンドを取得していました。</p>





<a rel="noopener" href="https://pytorch.org/get-started/locally/" title="Get Started" 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 loading="lazy" decoding="async" src="https://sandambara.com/wp-content/uploads/cocoon-resources/blog-card-cache/60267d3032e568a1b18c4400a568307f.png" 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">Get Started</div><div class="blogcard-snippet external-blogcard-snippet">Set up PyTorch easily with local installation or supported cloud platforms.</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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://pytorch.org/get-started/locally/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">pytorch.org</div></div></div></div></a>




<p>M1 Macの場合は別の手順を踏まねばなりません。環境構築全般、参考にさせて頂いた記事をご紹介させて頂きます。良記事公開、有難うございます！</p>





<a rel="noopener" href="https://qiita.com/onkyo14taro/items/6ce72982ae5a43fdee63" title="M1搭載MacにおけるPytorchのインストール - Qiita" 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 loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fqiita.com%2Fonkyo14taro%2Fitems%2F6ce72982ae5a43fdee63?w=160&#038;h=90" 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">M1搭載MacにおけるPytorchのインストール - Qiita</div><div class="blogcard-snippet external-blogcard-snippet">重要！（2021-06-19現在） 継続的に更新されている，M1 Macの環境構築に関する次のとてもためになる記事でも言及されていますが，現在，簡単にpip installでインストール可能になりました。 pip install torch...</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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://qiita.com/onkyo14taro/items/6ce72982ae5a43fdee63" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">qiita.com</div></div></div></div></a>






<a rel="noopener" href="https://zenn.dev/karaage0703/articles/0ab9e654cfb0ec" title="Apple Silicon(M1) Mac+tensorflow-macosでディープラーニングする" 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 loading="lazy" decoding="async" src="https://sandambara.com/wp-content/uploads/cocoon-resources/blog-card-cache/78ed579bafe20f34ab0fc2e2d2205146.png" 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">Apple Silicon(M1) Mac+tensorflow-macosでディープラーニングする</div><div class="blogcard-snippet external-blogcard-snippet"></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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/karaage0703/articles/0ab9e654cfb0ec" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>




<p>まずは必須となるものをインストールしていきます。</p>



<pre class="wp-block-code"><code>conda install numpy
conda install matplotlib
conda install pandas
conda install opencv</code></pre>



<p>続いてPythonのバージョンに応じ下記のリンクからwheel（パッケージ）をダウンロードします。3.8用はGoogle Drive、3.9用はgitへのリンクです。</p>



<p><a rel="noopener" href="https://drive.google.com/file/d/1e-7R3tfyJqv0P4ijZOLDYOleAJ0JrGyJ/view" target="_blank">Python 3.8</a>　<a rel="noopener" href="https://github.com/wizyoung/AppleSiliconSelfBuilds/blob/main/builds/torch-1.8.0a0-cp39-cp39-macosx_11_0_arm64.whl" target="_blank">Python 3.9</a></p>



<p>警告が表示されたら続行できるように選択を続け、次にインストールです。</p>



<script src="https://gist.github.com/sandambara/5624c47e3dc51921c5f7e520ee31f3b6.js"></script>



<p>コンソールの最終行はこんな感じです。</p>



<pre class="wp-block-code"><code>Successfully installed torch-1.8.0a0 typing-extensions-3.7.4.3</code></pre>



<p>セットアップを続けます。</p>



<script src="https://gist.github.com/sandambara/33882654450464cde5f829d714e22048.js"></script>



<p>imagesにdog.jpgを指定した結果はこんな感じです。</p>



<script src="https://gist.github.com/sandambara/83fe6bebac4d0dc4a42393c486a48547.js"></script>



<p>フォルダ「det」に「det_dog.jpg」というファイルが作成されていることを確認しましょう。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="576" src="https://sandambara.com/wp-content/uploads/2021/03/det_dog-1.jpg" alt="" class="wp-image-1756" srcset="https://sandambara.com/wp-content/uploads/2021/03/det_dog-1.jpg 768w, https://sandambara.com/wp-content/uploads/2021/03/det_dog-1-300x225.jpg 300w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<p>下記サンプルはimgsに「img3.jpg」を指定しました。</p>



<script src="https://gist.github.com/sandambara/237fca1d9877502482ad3417335ca428.js"></script>



<p>画像はこんな感じです（det_img3.jpg）。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="500" height="406" src="https://sandambara.com/wp-content/uploads/2021/03/det_img3.jpg" alt="" class="wp-image-1747" srcset="https://sandambara.com/wp-content/uploads/2021/03/det_img3.jpg 500w, https://sandambara.com/wp-content/uploads/2021/03/det_img3-300x244.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /><figcaption>すごい！</figcaption></figure>



<h2 class="wp-block-heading"><span id="toc7">リアルタイム物体検出</span></h2>



<p>お待たせしました。カメラを使ってリアルタイム物体検出のお時間です。</p>



<p>こちらのコマンドをどうぞ！</p>



<pre class="wp-block-code"><code>python cam_demo.py</code></pre>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="YOLOV3" width="1256" height="942"  data-youtube="eyJ0aXRsZSI6IllPTE9WMyIsInZpZGVvX2lkIjoidWQwaTRhWUxROWMifQ==" src="https://www.youtube.com/embed/ud0i4aYLQ9c?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div></figure>



<p>自分が映り込まないようかなりアクロバティックな姿勢で撮影したためツッコミどころは色々ありますがスルーでお願いしますｗ</p>



<p>iPhoneがlaptopになっていたりミニカーがcell phoneだったりはしますが、検知速度・判定結果いずれもなかなかです。ピント位置や被写体との距離を調整すればより良い結果が得られると思います。</p>



<h2 class="wp-block-heading"><span id="toc8">まとめ</span></h2>



<p>おしりたんていはpersonでした！</p>The post <a href="https://sandambara.com/yolo-v3-with-python-using-m1-mac">M1 Mac+Python+YOLO V3で物体検出に挑戦</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></content:encoded>
					
					<wfw:commentRss>https://sandambara.com/yolo-v3-with-python-using-m1-mac/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>そのwebカメラ、Pythonで使ってみませんか？</title>
		<link>https://sandambara.com/webcamera-using-python?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=webcamera-using-python</link>
					<comments>https://sandambara.com/webcamera-using-python#respond</comments>
		
		<dc:creator><![CDATA[sandambara]]></dc:creator>
		<pubDate>Sun, 29 Nov 2020 15:30:43 +0000</pubDate>
				<category><![CDATA[OpenCV]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://sandambara.com/?p=1401</guid>

					<description><![CDATA[<p>コロナ禍でwebミーティングが急速に浸透しはじめた頃、スマホやタブレットでは画面が小さく「ミーティングで共有された資料が読めなくて困った」という方が多かったそうです。これは学校や塾の授業がオンラインになったけど、自分のP [&#8230;]</p>
The post <a href="https://sandambara.com/webcamera-using-python">そのwebカメラ、Pythonで使ってみませんか？</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></description>
										<content:encoded><![CDATA[<p>コロナ禍でwebミーティングが急速に浸透しはじめた頃、スマホやタブレットでは画面が小さく「ミーティングで共有された資料が読めなくて困った」という方が多かったそうです。これは学校や塾の授業がオンラインになったけど、自分のPCを持っていない学生さんや子供さんの方がご苦労されたかもしれません。</p>



<p>そんな折にバカ売れしたのがwebカメラです。外付けの大きなモニタ＋デスクトップPCの組み合わせでwebカメラが付いてないよ～という方も当時は多かったと思います。</p>



<p>さて、そのWebカメラ。webミーティングやテレワーク以外でもお使いですか？</p>



<p>デジカメなどと異なり自分を写すものなので用が無ければ使わないという方が殆どだと思いますが、せっかくですからPythonでカメラを起動してみましょう！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</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">コードはたった10行！</a></li><li><a href="#toc4" tabindex="0">実行してみよう！</a></li><li><a href="#toc5" tabindex="0">締め</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">なぜそんなことをお勧めするのか</span></h2>



<p>実はラズパイで防犯カメラを作ってみようと思いたち、以前挑戦した顔認識のコードあたりをさらおうとしたものの記憶が完全にフラッシュされていましたｗ</p>



<p><a href="https://sandambara.com/facedetection-with-opencv-python">Python+OpenCVで顔検出してみる | ITとガジェットあれこれ (sandambara.com)</a></p>



<p>で、よくよくコードを読み進めると、カメラを起動させるだけならほんの数行なんですよね。</p>



<p>そこから何か別のことをするのは次のステップということで、「こんな簡単にカメラを使えるんだ！」というのを体験して頂けたらと思い今回の記事を書きました。</p>



<h2 class="wp-block-heading"><span id="toc2">検証環境と下準備</span></h2>



<p>Windows 10 Pro (64bit) 2004＋Python3.6.1ですが、元々ラズパイで使っていたコードなので3系のPythonとwebカメラが使える環境であれば問題ありません。 </p>



<p>はじめにOpenvCVをインストールします。</p>



<pre class="wp-block-code"><code>pip install opevcv-python</code></pre>



<p>Zoomなどwebカメラを利用するアプリケーションが起動していたら終了させてください。このときアプリケーションは最小化ではなく必ず終了させましょう。</p>



<h2 class="wp-block-heading"><span id="toc3">コードはたった10行！</span></h2>



<p>空白行を除けばたった10行のコードでwebカメラを起動させることができます。</p>



<script src="https://gist.github.com/sandambara/b7d10a15b1ecbbdd923316f5fb630e23.js"></script>



<p>3行目のカッコ内の数字に注目です。</p>



<pre class="wp-block-code"><code>cap = cv2.VideoCapture(0)</code></pre>



<p>内蔵のwebカメラをお使いの場合はゼロのままで大丈夫ですが、webカメラ内蔵PCに外付けwebカメラをつなぎ、そちらを使いたい場合はゼロではなく1に変えます。</p>



<pre class="wp-block-code"><code>cap = cv2.VideoCapture(1)</code></pre>



<p>7行目のカッコの中、1つ目の引数は好きな文字列でOKです（ウインドウのタイトルです）。</p>



<h2 class="wp-block-heading"><span id="toc4">実行してみよう！</span></h2>



<p>先ほどのスクリプトをwebcamera.pyとして任意の場所に保存したら、コマンドプロンプトから実行してみます。</p>



<pre class="wp-block-code"><code>python webcamera.py</code></pre>



<p>もし[Errno 2] No such file or directoryとエラーになった場合はcdコマンドでwebcamera.pyを保存したディレクトリへ移動するか、webcamera.pyをフルパスで記述しましょう（例：python c:\sandambara\webcamera.py）。映像は映し出されましたか？</p>



<hr class="wp-block-separator"/>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="641" height="508" src="https://sandambara.com/wp-content/uploads/2020/11/image-1.png" alt="" class="wp-image-1419" srcset="https://sandambara.com/wp-content/uploads/2020/11/image-1.png 641w, https://sandambara.com/wp-content/uploads/2020/11/image-1-300x238.png 300w" sizes="(max-width: 641px) 100vw, 641px" /></figure></div>



<hr class="wp-block-separator"/>



<p>先日愛用していたイヤフォンが2つ続けて壊れてしまい、悲しみで気を失っている間にApple Storeで握りしめていたAir Pods Proです。<span class="bold"><span class="marker-red">金欠です（真顔）</span></span></p>



<h2 class="wp-block-heading"><span id="toc5">締め</span></h2>



<p>PCに繋がったデバイスをコードで操作するのはとても難しそうなイメージがありますが、拍子抜けするほど簡単でした。Python使えばこんなこともできるんだということを是非体験してみてくださいね。</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 ="webcamera";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/webcamera-using-python">そのwebカメラ、Pythonで使ってみませんか？</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></content:encoded>
					
					<wfw:commentRss>https://sandambara.com/webcamera-using-python/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pythonでデータ照合ツールを作ってみた</title>
		<link>https://sandambara.com/samplecode-python-datacheck?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=samplecode-python-datacheck</link>
					<comments>https://sandambara.com/samplecode-python-datacheck#comments</comments>
		
		<dc:creator><![CDATA[sandambara]]></dc:creator>
		<pubDate>Tue, 15 Sep 2020 22:00:00 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[開発]]></category>
		<guid isPermaLink="false">https://sandambara.com/?p=1075</guid>

					<description><![CDATA[<p>先日こちらの記事でPythonのコードを実行ファイル化（exe化）する方法をご紹介しました。その記事の公開をTwitterでつぶやいたところ、「試してみたいけど適当なコードがナッシング」的なリプライを頂き・・・ナッシング [&#8230;]</p>
The post <a href="https://sandambara.com/samplecode-python-datacheck">Pythonでデータ照合ツールを作ってみた</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></description>
										<content:encoded><![CDATA[<p>先日<a href="https://sandambara.com/install-pyinstaller" target="_blank">こちらの記事</a>でPythonのコードを実行ファイル化（exe化）する方法をご紹介しました。その記事の公開をTwitterでつぶやいたところ、「試してみたいけど適当なコードがナッシング」的なリプライを頂き・・・ナッシングとか書くと私の年齢がバレますねｗ</p>



<p>しかし、こんな風に反応を頂けるのはすごく嬉しいものです！そこで、自分のトレーニングも兼ねてちょっと便利なツール（というほど大袈裟なものではありませんが）を作ってみたのでコードを公開します。色々応用が利くと思うので、お役に立てば幸いです。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</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">Pythonのコード</a></li><li><a href="#toc5" tabindex="0">実行してみよう！</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">サンプルの概要</span></h2>



<p>2つのファイルの中身を突合させるような状況、割とありがちではないでしょうか？たとえば…</p>



<hr class="wp-block-separator"/>



<ul class="wp-block-list"><li>売掛金と入金のデ ータを突き合わせる</li><li>顧客名簿とコンタクト履歴を突き合わせる</li><li>登録した内容と申請された内容を突き合わせる</li></ul>



<hr class="wp-block-separator"/>



<p>今回のサンプルは一つ目の売掛金と入金のデータ突合をイメージして作りましたが、システムで処理しきれない作業や特別にピックアップが必要なデータの選別といった状況は他にもたくさんありそうです。</p>



<h2 class="wp-block-heading"><span id="toc2">実行環境</span></h2>



<p>例によってWindows10 64bit（バージョン2004）、Pythonは3.6.1です。</p>



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



<p>売掛金を管理するブック「管理台帳.xlsx」と入金を管理する「入金台帳.xlsx」を作成します。</p>



<p>管理台帳はA列からC列までの3列構成で、順に「管理番号」「売掛先」「金額」を入力します。A列の値は重複しないように注意してください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="418" height="513" src="https://sandambara.com/wp-content/uploads/2020/09/book-1.png" alt="" class="wp-image-1078" srcset="https://sandambara.com/wp-content/uploads/2020/09/book-1.png 418w, https://sandambara.com/wp-content/uploads/2020/09/book-1-244x300.png 244w" sizes="(max-width: 418px) 100vw, 418px" /><figcaption>管理台帳.xlsx</figcaption></figure>



<p>入金台帳は4列構成でA列から順に「入金日」「売掛先」「管理番号」「金額」です。A列の型は標準のままだとPythonで取り込む際にシリアル値として扱われ見にくくなるので、日付の演算は行いませんから文字列にしておくのが良いと思います。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="524" height="375" src="https://sandambara.com/wp-content/uploads/2020/09/book-3.png" alt="" class="wp-image-1092" srcset="https://sandambara.com/wp-content/uploads/2020/09/book-3.png 524w, https://sandambara.com/wp-content/uploads/2020/09/book-3-300x215.png 300w" sizes="(max-width: 524px) 100vw, 524px" /><figcaption>入金台帳</figcaption></figure>



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



<p>冒頭でimportするのはos、pandas、openpyxlですが、他にxlrdも必要です。足りないものはあらかじめpipで揃えておきましょう。</p>



<p>それでは下記のコードを「sample-code.py」として保存してください。間違っている部分や「こうした方が良いよ」的な部分はお知らせ頂けると嬉しいです。</p>


<p><script src="https://gist.github.com/sandambara/9fc676d7f0fcc52bd505c67d72851935.js"></script></p>


<p>200行を超えていますが、数えてみたら100行はコメントでした。VBAでも同じことは実現できますが、Pythonの方がスッキリしています（個人の感想です）。</p>



<h2 class="wp-block-heading"><span id="toc5">実行してみよう！</span></h2>



<p>コマンドプロンプトを起動したら「python」に続き半角スペースを入れ、sample-code.pyをドラッグアンドドロップしてEnterキーを押下しましょう。</p>



<p>画面の指示に従って管理台帳.xlsxをドラッグアンドドロップしてEnterキー押下、入金台帳をドラッグアンドドロップしてEnterキーを押下するとデスクトップに「未入金一覧.xlsx」が作成されますので中身を確認します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="969" height="366" src="https://sandambara.com/wp-content/uploads/2020/09/book5.png" alt="" class="wp-image-1094" srcset="https://sandambara.com/wp-content/uploads/2020/09/book5.png 969w, https://sandambara.com/wp-content/uploads/2020/09/book5-300x113.png 300w, https://sandambara.com/wp-content/uploads/2020/09/book5-768x290.png 768w" sizes="(max-width: 969px) 100vw, 969px" /><figcaption>未入金一覧.xlsx</figcaption></figure>



<p>E～H列の入金データをもとにB～D列の売掛金をチェックし、塗りつぶされなかったものが未入金になります。また、I列には売掛金と入金金額の差異を出力していますので、振込手数料を相殺された、そもそもの振込金額がまちがっている…といったデータを簡単に見つけることが出来ます。このサンプルのように数件であれば目検でも問題無いのですが、これが数十～数百になると・・・考えたくもないですね。しかし、Pythonでコードを書いておけば一瞬で終わり、いつでも何度でも利用できるのです。</p>



<p>こういったものをPyInstallerでexe化すると配布が容易になります・・・がPyInstallerをご紹介した記事の趣旨でした。折角なのでexe化してみましょう！</p>



<pre class="wp-block-code"><code>pyinstaller C:\Users\sandambara\Desktop\sample-code.py --onefile</code></pre>



<p>このsample-code.pyはコンソールを使って作業するので「&#8211;noconsole」を付けないようにしましょう。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="433" height="479" src="https://sandambara.com/wp-content/uploads/2020/09/PyInstaller-sample.png" alt="" class="wp-image-1095" srcset="https://sandambara.com/wp-content/uploads/2020/09/PyInstaller-sample.png 433w, https://sandambara.com/wp-content/uploads/2020/09/PyInstaller-sample-271x300.png 271w" sizes="(max-width: 433px) 100vw, 433px" /></figure>



<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 ="Excel";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/samplecode-python-datacheck">Pythonでデータ照合ツールを作ってみた</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></content:encoded>
					
					<wfw:commentRss>https://sandambara.com/samplecode-python-datacheck/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>【PyInstaller】Pythonのコードをアプリ化しよう</title>
		<link>https://sandambara.com/install-pyinstaller?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=install-pyinstaller</link>
					<comments>https://sandambara.com/install-pyinstaller#respond</comments>
		
		<dc:creator><![CDATA[sandambara]]></dc:creator>
		<pubDate>Fri, 04 Sep 2020 12:42:42 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[開発]]></category>
		<guid isPermaLink="false">https://sandambara.com/?p=1018</guid>

					<description><![CDATA[<p>私が良く使うのはVB.NETやC#.NETといったオープン系言語ですが、Pythonは短いコード量で目的を達成できるところが気に入っています。 一方、不便を感じていたのはコードを配布する際で、配布先の環境にPythonが [&#8230;]</p>
The post <a href="https://sandambara.com/install-pyinstaller">【PyInstaller】Pythonのコードをアプリ化しよう</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></description>
										<content:encoded><![CDATA[<p>私が良く使うのはVB.NETやC#.NETといったオープン系言語ですが、Pythonは短いコード量で目的を達成できるところが気に入っています。</p>



<p>一方、不便を感じていたのはコードを配布する際で、配布先の環境にPythonが入っているとは限らないため、コードを渡してハイ終わりとはならないことでした。Pythonが入っていてもこまかなライブラリの状況までイコールコンディションであることは少ないですよね。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">PyInstallerとは</a></li><li><a href="#toc2" tabindex="0">検証環境</a></li><li><a href="#toc3" tabindex="0">PyInstallerをインストールする</a></li><li><a href="#toc4" tabindex="0">実行ファイルを作る前に下準備（１）</a></li><li><a href="#toc5" tabindex="0">実行ファイルを作る前に下準備（２）</a></li><li><a href="#toc6" tabindex="0">実行ファイル作成</a></li><li><a href="#toc7" tabindex="0">実行ファイルができた！</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">PyInstallerとは</span></h2>



<p>そんな時に便利なのが「PyInstaller」です。Pythonをはじめ実行に必要なライブラリなどをまとめて1つの実行ファイル（exe）に変換してくれる優れものです。</p>



<h2 class="wp-block-heading"><span id="toc2">検証環境</span></h2>



<p>いつもと同じくWindows10 Pro バージョン 2004、Python 3.6.1を利用しました。</p>



<h2 class="wp-block-heading"><span id="toc3">PyInstallerをインストールする</span></h2>



<p>pipを使ってインストールします。</p>



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



<p>書くことが無くて困るくらい簡単ですね（笑）いくらなんでもこれでは終われないので公式サイトをご案内しておきます。</p>




<a rel="noopener" href="https://www.pyinstaller.org/" title="PyInstaller Manual &mdash; PyInstaller 6.17.0 documentation" 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 loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fwww.pyinstaller.org%2F?w=160&#038;h=90" 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">PyInstaller Manual &mdash; PyInstaller 6.17.0 documentation</div><div class="blogcard-snippet external-blogcard-snippet"></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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.pyinstaller.org/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.pyinstaller.org</div></div></div></div></a>



<h2 class="wp-block-heading"><span id="toc4">実行ファイルを作る前に下準備（１）</span></h2>



<p>サンプルに利用するファイルを作成しましょう。</p>



<pre class="wp-block-code"><code>import time

print('hogehoge')
time.sleep(5)</code></pre>



<p>これをデスクトップに「hoge.py」として保存します。コマンドプロンプトに「python」と入力し、半角スペースを入れたらデスクトップのhoge.pyをドラッグアンドドロップしてEnterキーを押します。コンソールに「hogehoge」と表示され、5秒後にコンソールが終了したらOKです。</p>



<h2 class="wp-block-heading"><span id="toc5">実行ファイルを作る前に下準備（２）</span></h2>



<p>どこで作業しても良いのですが、exe作成時にフォルダが複数作成されるので纏めておいたほうがスッキリするのでお勧めです。私は下記コマンドをホームディレクトリ直下で実行しました。</p>



<pre class="wp-block-code"><code>mkdir PyInstaller
cd PyInstaller</code></pre>



<h2 class="wp-block-heading"><span id="toc6">実行ファイル作成</span></h2>



<pre class="wp-block-code"><code>pyinstaller C:\uses\sandambara\desktop\hoge.py --onefile</code></pre>



<p>「pyinstaller＋半角スペース」の後ろへhoge.pyをドラッグアンドドロップ＋EnterキーでOKです。exe作成が開始されズラズラとコマンドが流れる様子にテンションが上がります（嬉）</p>



<p>コマンド末尾のオプション「&#8211;onefile」ですが、これはexe化するにあたり必要なファイル群を全てまとめてexeを作成するものです。私は1個にまとまっている方が便利だと思うので毎回つけるオプションです。</p>



<p>もう一つ「&#8211;noconsole」というオプションがあり、これを付与するとexe実行時にコンソールが表示されません。たとえば以前こちらの記事で自作チャットツールをご紹介しました。</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-itとガジェットあれこれ"><div class="wp-block-embed__wrapper">

<a href="https://sandambara.com/python-simplechat" title="シンプルなチャットツール「simple chat」" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="160" height="90" src="https://sandambara.com/wp-content/uploads/2020/02/simplechat-ec-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://sandambara.com/wp-content/uploads/2020/02/simplechat-ec-160x90.jpg 160w, https://sandambara.com/wp-content/uploads/2020/02/simplechat-ec-120x68.jpg 120w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">シンプルなチャットツール「simple chat」</div><div class="blogcard-snippet internal-blogcard-snippet">Pythonでチャットツールを作ってみました。わざわざ自作しなくても世間には優れたツールが沢山ありますが、私の勤務先ではファイル共有機能を利用してはいけないことになっていて、多くのツールはチャットとファイル共有がセットになっているため利用できないのです。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://sandambara.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">sandambara.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.02.19</div></div></div></div></a>
</div></figure>



<p>このツールのようにGUIが表示されるアプリケーションであればコンソールを表示させる必要はありませんので&#8211;noconsoleで良いと思います。逆にインタラクティブ形式で動作するようなアプリケーションの場合は&#8211;noconsoleを付けないように注意しましょう。試しに「hoge.py」を&#8211;noconsoleでexeにしたものをダブルクリックしてみましょう。見事に何も起こりません・・・</p>



<h2 class="wp-block-heading"><span id="toc7">実行ファイルができた！</span></h2>



<pre class="wp-block-code"><code>10541 INFO: Building EXE from EXE-00.toc completed successfully.</code></pre>



<p>実行ファイルが作成されました。hoge.pyを保存したデスクトップに「<strong><strong>__</strong></strong>pycache<strong><strong>__</strong></strong>」というフォルダが作成されているのが目に付きますが、不要ですので丸ごと削除しても問題ありません。</p>



<p>作業ディレクトリの中を確認するとディレクトリ「build」「dist」とファイル「hoge.spec」が作成されています。このうち「dist」の中に「hoge.exe」が作成されていることを確認しましょう。「&#8211;onefile」をつけてexe化した場合、作業ディレクトリ内にあるexe以外のものは全て必要ありませんので削除しても大丈夫です。「&#8211;onefile」を付けなかった場合は「dist」のフォルダをまるっと配布します。</p>



<p>では、作成されたexeをダブルクリックしてみましょう。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="78" height="81" src="https://sandambara.com/wp-content/uploads/2020/09/image-2.png" alt="" class="wp-image-1026"/></figure>



<p>「hogehoge」と表示され、5秒後に終了すれば大成功です！</p>



<p>デメリットというほどのこともないのですが、そこそこのコード量のファイルをexe化すると数10～数100MBのexeが出来上がる場合があります。昨今のPCのスペックではそこが問題になることは無いと思いますが、メールでexeを配布したい場合はファイルサイズに注意しておきましょう。LAN内であれば共有フォルダで渡してしまうのが簡単で良いですね。</p>



<p>これで色々なツールの配布が容易になります。exeなので勝手にコードを編集できず、亜種が生まれないのも管理者としては嬉しいところです（笑）</p>



<p>Pythonはちょっとしたツール作りにとても便利だと思います。是非皆さんも挑戦してみてください！</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 ="プログラミング";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/install-pyinstaller">【PyInstaller】Pythonのコードをアプリ化しよう</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></content:encoded>
					
					<wfw:commentRss>https://sandambara.com/install-pyinstaller/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Python+OpenCVで顔検出してみる</title>
		<link>https://sandambara.com/facedetection-with-opencv-python?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=facedetection-with-opencv-python</link>
					<comments>https://sandambara.com/facedetection-with-opencv-python#respond</comments>
		
		<dc:creator><![CDATA[sandambara]]></dc:creator>
		<pubDate>Sat, 04 Jul 2020 08:59:29 +0000</pubDate>
				<category><![CDATA[OpenCV]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[開発]]></category>
		<guid isPermaLink="false">https://sandambara.com/?p=566</guid>

					<description><![CDATA[<p>目次 OpenVINOとOpenCV検証環境顔判定の仕組みコード OpenVINOとOpenCV 以前「OpenVINOに挑戦」で顔認識に挑戦する内容の記事を書きました。OpenVINOとは「Open Visual In [&#8230;]</p>
The post <a href="https://sandambara.com/facedetection-with-opencv-python">Python+OpenCVで顔検出してみる</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-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">OpenVINOとOpenCV</a></li><li><a href="#toc2" tabindex="0">検証環境</a></li><li><a href="#toc3" tabindex="0">顔判定の仕組み</a></li><li><a href="#toc4" tabindex="0">コード</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">OpenVINOとOpenCV</span></h2>



<p>以前「OpenVINOに挑戦」で顔認識に挑戦する内容の記事を書きました。OpenVINOとは「Open Visual Inference and Neural network Optimization」の略なのですが、ごっちゃになり易いものにOpenCV (Open Source Computer Vision Library)があります。今回はこのOpenCVで顔認識に挑戦しました。</p>



<h2 class="wp-block-heading"><span id="toc2">検証環境</span></h2>



<p>検証環境はWindows10 Pro 64bit バージョン2004、Pythonは3.6.1です。WEBカメラはラップトップ内蔵のものでも外付けでもOKですが、「内蔵PCに外付けをつないでいる」かつ「外付けを使いたい」ときは1か所コードの修正が必要です（コード中にコメント入れています）。ZoomなどWEBカメラを利用するアプリケーションも予め終了させておきます（最小化ではダメです）。</p>



<p>「OpenCVまだ入れてないよ～」という方は先にインストールしておきましょう！</p>



<pre class="wp-block-code"><code>pip install opencv-python</code></pre>



<h2 class="wp-block-heading"><span id="toc3">顔判定の仕組み</span></h2>



<p>OpenVINOではインテルが作成したモデル（.xmlと.bin）を利用して画像（映像）を判定していました。OpenCVでは「カスケード分類器」と呼ばれるものがこれにあたります。</p>



<p>カスケード分類器は「正解」と「不正解」をひたすら判定させ続けて自分で作成することも可能ですが、膨大な量のサンプルが必要です。「立っている者は親でも使え」の精神で、ここは必要に応じ既存のものをダウンロードして利用しましょう。</p>





<a rel="noopener" href="https://opencv.org/releases/" title="Releases" 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 loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fopencv.org%2Freleases%2F?w=160&#038;h=90" 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">Releases</div><div class="blogcard-snippet external-blogcard-snippet">OpenCV Releases Are Brought To You By Intel Intel is a multinational corporation known for its semiconductor products, i...</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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://opencv.org/releases/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">opencv.org</div></div></div></div></a>




<p>gitでもダウンロードできますが、ファイルが不完全で実行時にエラーが出る場合がありますので公式から入手することをお勧めします。</p>



<p>上記サイトで任意のバージョンの「Sources」からzipをダウンロードし解凍→任意のディレクトリに保存してください。このフルパスが後ほど必要になりますので、忘れないように注意してください。</p>



<h2 class="wp-block-heading"><span id="toc4">コード</span></h2>



<p>ググって調べ自分で手を入れたものです。例によって誤認と思われる個所がありましたら是非ご指摘ください。</p>



<pre class="wp-block-code"><code># -*- coding: utf-8 -*-
import cv2

# 分類器は下記から取得
#https://opencv.org/releases/

# カスケード分類器保存先
your_path = 'c:/opencv/'

# カスケード分類器ファイル名
cascade_path = your_path + "haarcascade_frontalface_alt.xml"

# カスケード分類器より特徴量取得
# カスケード分類器は...frontalface...の中から好きなものを選択
# 私の環境ではhaarcascade_frontalface_alt.xmlが一番好成績でした
cascade = cv2.CascadeClassifier(cascade_path)

# WEBカメラの映像取得
# 内蔵カメラあり＋外付けの環境で外付けを使いたいときは(0)を(1)に変更
image = cv2.VideoCapture(0)

while True:

	key = cv2.waitKey(1)
	
	if key != -1:
        	break

	ret, frame = image.read()

	# 速度向上のためグレースケール変換
	image_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)	

	# 判定
	facerect = cascade.detectMultiScale(image_gray, scaleFactor=1.1, minNeighbors=2, minSize=(30, 30))
	
	# 検出した場合
	if len(facerect) > 0:

		# 矩形作成
		# 第4引数で矩形の色を選択するがRGB形式で指定するとintegerしかダメと怒られます
		for rect in facerect:
			cv2.rectangle(frame, tuple(rect&#91;0:2]), tuple(rect&#91;0:2]+rect&#91;2:4]), 255, 2)
	
	# 表示
	cv2.imshow('image', frame)

image.release()
cv2.destroyAllWindows()</code></pre>



<p>いかがでしょう。私は「以外に簡単！」という印象でした。正直なところ認識精度はOpenVINOの方が優れいてる印象ですが、利用環境構築の容易さはpipを1度唱えるだけで済むOpevCVの方が圧倒的に楽ですね。認識精度も利用するカスケード分類器や判定のパラメータをチューニングすればもう少し向上するのでは、と期待しています。</p>



<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 ="OpenCV";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/facedetection-with-opencv-python">Python+OpenCVで顔検出してみる</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></content:encoded>
					
					<wfw:commentRss>https://sandambara.com/facedetection-with-opencv-python/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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-16" checked><label class="toc-title" for="toc-checkbox-16">目次</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 loading="lazy" 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 loading="lazy" 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>
		<item>
		<title>OpevVINO サンプルのセットアップ（Raspberry Pi 4 with NCS2）</title>
		<link>https://sandambara.com/openvino-samplesetup-raspberry-pi-4-with-ncs2?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=openvino-samplesetup-raspberry-pi-4-with-ncs2</link>
					<comments>https://sandambara.com/openvino-samplesetup-raspberry-pi-4-with-ncs2#respond</comments>
		
		<dc:creator><![CDATA[sandambara]]></dc:creator>
		<pubDate>Wed, 18 Mar 2020 13:35:28 +0000</pubDate>
				<category><![CDATA[intel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NCS2]]></category>
		<category><![CDATA[OpenVINO]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[開発]]></category>
		<guid isPermaLink="false">https://sandambara.com/?p=311</guid>

					<description><![CDATA[<p>前回の記事でRaspberry Pi 4 + OpenVINOのセットアップが終わりました。この記事ではサンプル実行方法について書きます。 今回の内容ですが、私の環境では公式ドキュメント、もしくはクラゲさまの記事に記載さ [&#8230;]</p>
The post <a href="https://sandambara.com/openvino-samplesetup-raspberry-pi-4-with-ncs2">OpevVINO サンプルのセットアップ（Raspberry Pi 4 with NCS2）</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></description>
										<content:encoded><![CDATA[<p>前回の記事でRaspberry Pi 4 + OpenVINOのセットアップが終わりました。この記事ではサンプル実行方法について書きます。</p>



<p>今回の内容ですが、私の環境では<a href="https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_raspbian.html">公式ドキュメント</a>、もしくは<a href="https://jellyware.jp/openvino/#04">クラゲさまの記事</a>に記載されている内容ではうまくいかない箇所がありました。環境依存なのか実行方法が誤っていたのか不明ですが、お気付きの点は是非ご指摘頂ければと思います。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18" checked><label class="toc-title" for="toc-checkbox-18">目次</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">学習済みファイルについての注意事項</a></li><li><a href="#toc5" tabindex="0">学習済みファイルダウンロード</a></li><li><a href="#toc6" tabindex="0">画像ファイルの準備</a></li><li><a href="#toc7" tabindex="0">サンプル１実行</a></li><li><a href="#toc8" tabindex="0">サンプル2のための準備</a></li><li><a href="#toc9" tabindex="0">サンプル2実行</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">作業用ディレクトリ作成と移動</span></h2>



<p>ホーム直下にサンプルを展開するディレクトリ「build」を作成し、そのディレクトリへ移動します。</p>



<pre class="wp-block-code"><code>mkdir ~/build &amp;&amp; cd ~/build</code></pre>



<h2 class="wp-block-heading"><span id="toc2">ビルド実行（１）</span></h2>



<p>公式ドキュメントに記載されている通りに実行するとエラーになってしまいます。</p>



<pre class="wp-block-code"><code>エラーになる
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-march=armv7-a" /opt/intel/openvino/deployment_tools/inference_engine/samples</code></pre>



<p>ディレクトリを確認したところ、コマンド末尾にあたる「/samples」直下に「C」「 CPP」「Python」とディレクトリが存在しており、「/samples/cpp」に修正するとうまくいきました。</p>



<pre class="wp-block-code"><code>成功　
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-march=armv7-a" /opt/intel/openvino/deployment_tools/inference_engine/samples/cpp</code></pre>



<h2 class="wp-block-heading"><span id="toc3">ビルド実行（２）</span></h2>



<pre class="wp-block-code"><code>make -j2 object_detection_sample_ssd</code></pre>



<p>ここはサラッと流します。</p>



<h2 class="wp-block-heading"><span id="toc4">学習済みファイルについての注意事項</span></h2>



<p>当初サンプルを何度実行してもエラーになるため、調べてみたら「OpenVINO 2020.1既知の問題で、ドキュメントにあるサンプルは失敗するため<br> 別の重みファイル・モデルファイルを利用する」という記事に辿り着きました。</p>




<a rel="noopener" href="https://software.intel.com/en-us/node/849460" title="Access Denied" 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 loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fsoftware.intel.com%2Fen-us%2Fnode%2F849460?w=160&#038;h=90" 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">Access Denied</div><div class="blogcard-snippet external-blogcard-snippet"></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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://software.intel.com/en-us/node/849460" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">software.intel.com</div></div></div></div></a>



<p>ということで、別の学習済みファイルを用意します。</p>



<h2 class="wp-block-heading"><span id="toc5">学習済みファイルダウンロード</span></h2>



<p>公式ドキュメントではこのようになっています。</p>



<pre class="wp-block-code"><code>学習済み重みファイル
wget --no-check-certificate https://download.01.org/opencv/2020/openvinotoolkit/2020.1/open_model_zoo/models_bin/1/face-detection-adas-0001/FP16/face-detection-adas-0001.bin

学習済みモデルファイル
wget --no-check-certificate https://download.01.org/opencv/2020/openvinotoolkit/2020.1/open_model_zoo/models_bin/1/face-detection-adas-0001/FP16/face-detection-adas-0001.xml</code></pre>



<p>前述の通り私の環境では上記ファイルを利用するとエラーになるので、代わりに下記のファイルをダウンロードしました。</p>



<pre class="wp-block-code"><code>学習済み重みファイル
wget --no-check-certificate https://download.01.org/opencv/2019/open_model_zoo/R3/20190905_163000_models_bin/face-detection-retail-0004/FP16/face-detection-retail-0004.bin

学習済みモデルファイル
wget --no-check-certificate https://download.01.org/opencv/2019/open_model_zoo/R3/20190905_163000_models_bin/face-detection-retail-0004/FP16/face-detection-retail-0004.xml</code></pre>



<p>ダウンロードした2つのファイルは/home/pi/build直下へ移動させます。</p>



<h2 class="wp-block-heading"><span id="toc6">画像ファイルの準備</span></h2>



<p>顔認識に利用する画像ファイルを準備します。私はクラゲさまが紹介されていたサイトからダウンロードしました。</p>




<a rel="noopener" href="https://www.pakutaso.com/" title="フリー素材のぱくたそ" 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 loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fwww.pakutaso.com%2F?w=160&#038;h=90" 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">フリー素材のぱくたそ</div><div class="blogcard-snippet external-blogcard-snippet">「ぱくたそ」は、会員登録せずに今すぐダウンロードできる無料の写真素材・AI画像素材のフリー素材サイトです。一部を有料販売したり、枚数制限による課金など一切ありません。美しい日本の風景を中心に人物やテクスチャーなどの写真とAIで生成した背景画...</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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.pakutaso.com/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.pakutaso.com</div></div></div></div></a>



<p>ダウンロードしたファイルを/home/pi/build直下に「input.jpg」として保存します。</p>



<h2 class="wp-block-heading"><span id="toc7">サンプル１実行</span></h2>



<p>公式ドキュメント記載のコマンドを一部修正します。</p>



<pre class="wp-block-code"><code>公式ドキュメント
./armv7l/Release/object_detection_sample_ssd -m face-detection-adas-0001.xml -d MYRIAD -i input.jpg

学習済みファイル差し替え後のコマンド
./armv7l/Release/object_detection_sample_ssd -m face-detection-retail-0004.xml -d MYRIAD -i input.jpg</code></pre>



<p>モデルファイルにあたる部分のファイル名が変わっているだけですね。では、お待たせしました。NCS2をRaspberry PiのUSBポートに挿し（必ずUSB３.0のポートを使いましょう！）、上記コマンドを実行します。</p>



<p>成功すると、/home/pi/buildに「out_0.bmp」が生成されています。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="682" src="https://sandambara.com/wp-content/uploads/2020/03/out_0-1024x682.bmp" alt="OpenVINO-1" class="wp-image-283" srcset="https://sandambara.com/wp-content/uploads/2020/03/out_0-1024x682.bmp 1024w, https://sandambara.com/wp-content/uploads/2020/03/out_0-300x200.bmp 300w, https://sandambara.com/wp-content/uploads/2020/03/out_0-768x512.bmp 768w, https://sandambara.com/wp-content/uploads/2020/03/out_0-1536x1023.bmp 1536w, https://sandambara.com/wp-content/uploads/2020/03/out_0.bmp 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>顔の周りに矩形が表示されています</figcaption></figure>



<p>画像ファイルはコンピューターにとって0と1の集合体。コンピューターはそこに写っている物が何であるのか分からない訳ですから（そもそも「人」とは何かを知らない）、それが「人」の「顔」を認識してマーキングする・・・何とも凄いことです！</p>



<h2 class="wp-block-heading"><span id="toc8">サンプル2のための準備</span></h2>



<p>2つ目のサンプルはPythonから実行します。学習済みファイルはサンプル1同様、別のファイルをダウンロードします。まずは公式ドキュメントのコマンドを見てみましょう。</p>



<pre class="wp-block-code"><code>学習済み重みファイル
wget --no-check-certificate https://download.01.org/opencv/2020/openvinotoolkit/2020.1/open_model_zoo/models_bin/1/face-detection-adas-0001/FP16/face-detection-adas-0001.bin

学習済みモデルファイル
wget --no-check-certificate https://download.01.org/opencv/2020/openvinotoolkit/2020.1/open_model_zoo/models_bin/1/face-detection-adas-0001/FP16/face-detection-adas-0001.xml</code></pre>



<p>私はface-detection-adas-0001の代わりにace-detection-retail-0004をダウンロードしました。</p>



<pre class="wp-block-code"><code>学習済み重みファイル
wget --no-check-certificate https://download.01.org/opencv/2019/open_model_zoo/R3/20190905_163000_models_bin/face-detection-retail-0004/FP16/face-detection-retail-0004.bin

学習済みモデルファイル
wget --no-check-certificate https://download.01.org/opencv/2019/open_model_zoo/R3/20190905_163000_models_bin/face-detection-retail-0004/FP16/face-detection-retail-0004.xml</code></pre>



<p>ダウンロードした2つのファイルを/home/pi/build直下へ移動させましょう。次に/home/pi/build直下へ適当なファイル名.pyを作成します。まずは公式ドキュメントのコードをご覧ください。</p>



<pre class="wp-block-code"><code>適当なファイル名.py

import cv2 as cv
# Load the model.
net = cv.dnn_DetectionModel('face-detection-adas-0001.xml',
                            'face-detection-adas-0001.bin')
# Specify target device.
net.setPreferableTarget(cv.dnn.DNN_TARGET_MYRIAD)
# Read an image.
frame = cv.imread('/path/to/image')
if frame is None:
    raise Exception('Image not found!')
# Perform an inference.
_, confidences, boxes = net.detect(frame, confThreshold=0.5)
# Draw detected faces on the frame.
for confidence, box in zip(list(confidences), boxes):
    cv.rectangle(frame, box, color=(0, 255, 0))
# Save the frame to an image file.
cv.imwrite('out.png', frame)
</code></pre>



<p>修正が必要なのは下記部分です。</p>



<pre class="wp-block-code"><code># Load the model.
net = cv.dnn_DetectionModel('face-detection-adas-0001.xml',
                            'face-detection-adas-0001.bin')

# Read an image.
frame = cv.imread('/path/to/image')</code></pre>



<ul class="wp-block-list"><li>face-detection-adas-0001をface-detection-retail-0004へ</li><li>cv.imread(&#8216;/path/to/image&#8217;)をcv.imread(&#8216;input.jpg&#8217;)</li></ul>



<h2 class="wp-block-heading"><span id="toc9">サンプル2実行</span></h2>



<p>計３箇所修正できたら、ターミナルより実行します。</p>



<pre class="wp-block-code"><code>python3 適当なファイル名.py</code></pre>



<p>成功すると/home/pi/buildに「out.png」が生成されています。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="682" src="https://sandambara.com/wp-content/uploads/2020/03/out-1024x682.png" alt="OpenVINO-2" class="wp-image-326" srcset="https://sandambara.com/wp-content/uploads/2020/03/out-1024x682.png 1024w, https://sandambara.com/wp-content/uploads/2020/03/out-300x200.png 300w, https://sandambara.com/wp-content/uploads/2020/03/out-768x512.png 768w, https://sandambara.com/wp-content/uploads/2020/03/out-1536x1023.png 1536w, https://sandambara.com/wp-content/uploads/2020/03/out.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>サンプル1の時と矩形の色が違います</figcaption></figure>



<p>いかがでしょうか。私はPythonもLinuxも推論も初心者ですが、それでもコードの量が少なく、然程難解ではないことに驚かされました。</p>



<p>この後Windwos10+NCS2、そしてWindows10単体でのサンプル実行にも挑戦したので、そちらについてもまた書いてみたいを思います。興味をお持ちの方は是非挑戦して見てください！</p>





<a rel="noopener" href="https://amzn.to/2BYaxsr" title="Amazon.co.jp: OpenVINO" 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 loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Famzn.to%2F2BYaxsr?w=160&#038;h=90" 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">Amazon.co.jp: OpenVINO</div><div class="blogcard-snippet external-blogcard-snippet">Amazon.co.jp: OpenVINO</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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://amzn.to/2BYaxsr" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">amzn.to</div></div></div></div></a>The post <a href="https://sandambara.com/openvino-samplesetup-raspberry-pi-4-with-ncs2">OpevVINO サンプルのセットアップ（Raspberry Pi 4 with NCS2）</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></content:encoded>
					
					<wfw:commentRss>https://sandambara.com/openvino-samplesetup-raspberry-pi-4-with-ncs2/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>OpevVINOのセットアップ（Raspberry Pi 4 with NCS2）</title>
		<link>https://sandambara.com/setup-opevvino-raspberrypi4-with-ncs2?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setup-opevvino-raspberrypi4-with-ncs2</link>
					<comments>https://sandambara.com/setup-opevvino-raspberrypi4-with-ncs2#respond</comments>
		
		<dc:creator><![CDATA[sandambara]]></dc:creator>
		<pubDate>Mon, 16 Mar 2020 03:32:59 +0000</pubDate>
				<category><![CDATA[intel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NCS2]]></category>
		<category><![CDATA[OpenVINO]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[開発]]></category>
		<guid isPermaLink="false">https://sandambara.com/?p=257</guid>

					<description><![CDATA[<p>OSのインストールが終わったRaspberry Pi にOpenVINOをセットアップします。今回はNCS2（Neural Compute Stick 2)を利用できるようになるまでのステップについて書きました。 本記事 [&#8230;]</p>
The post <a href="https://sandambara.com/setup-opevvino-raspberrypi4-with-ncs2">OpevVINOのセットアップ（Raspberry Pi 4 with NCS2）</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></description>
										<content:encoded><![CDATA[<p>OSのインストールが終わったRaspberry Pi にOpenVINOをセットアップします。今回はNCS2（Neural Compute Stick 2)を利用できるようになるまでのステップについて書きました。</p>



<p>本記事を掲載するにあたり、参考にしたサイトはこちらです。</p>




<a rel="noopener" href="https://jellyware.jp/openvino/#04" title="ゼロから学ぶディープラーニング推論" 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 loading="lazy" decoding="async" src="https://sandambara.com/wp-content/uploads/cocoon-resources/blog-card-cache/01608239ae1d92bb669f5b44a69973e4.jpg" 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">ゼロから学ぶディープラーニング推論</div><div class="blogcard-snippet external-blogcard-snippet">Neural Compute StickとOpenVINOを使って、ディープラーニングの推論をゼロから徹底的に学び、オリジナルAIガジェットを作ります。</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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://jellyware.jp/openvino/#04" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">jellyware.jp</div></div></div></div></a>



<p>「参考にした」というよりも、この記事と出会っていなければ推論を自分で試すことは無かったと思います。素晴らしい記事を公開して下さったことに感謝申し上げます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">OpenVINO Toolkit</a></li><li><a href="#toc2" tabindex="0">ドキュメント参照時の注意事項</a></li><li><a href="#toc3" tabindex="0">インストールディレクトリ作成</a></li><li><a href="#toc4" tabindex="0">ダウンロードディレクトリに移動</a></li><li><a href="#toc5" tabindex="0">パッケージをダウンロード</a></li><li><a href="#toc6" tabindex="0">インストールディレクトリに展開</a></li><li><a href="#toc7" tabindex="0">CMakeインストール</a></li><li><a href="#toc8" tabindex="0">環境変数設定</a></li><li><a href="#toc9" tabindex="0">USBルール追加</a></li><li><a href="#toc10" tabindex="0">NCS2でOpenVINOを利用するためのコマンド</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">OpenVINO Toolkit</span></h2>



<p>公式ドキュメントはこちらです。当たり前ですが普通に英語です。</p>




<a rel="noopener" href="https://docs.openvinotoolkit.org/latest/index.html" title="Archive &#8212; OpenVINO&#36995;&#65378; documentation" 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 loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fdocs.openvinotoolkit.org%2Flatest%2Findex.html?w=160&#038;h=90" 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">Archive &#8212; OpenVINO&#36995;&#65378; documentation</div><div class="blogcard-snippet external-blogcard-snippet"></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 loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://docs.openvinotoolkit.org/latest/index.html" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">docs.openvinotoolkit.org</div></div></div></div></a>



<h2 class="wp-block-heading"><span id="toc2">ドキュメント参照時の注意事項</span></h2>



<p>昨今英語のページを参照するとブラウザから機械翻訳するかどうかを聞かれます。日本語で読めると体にはやさしいのですが、<strong><span class="marker-red">機械翻訳でコマンド表記が崩れてしまう</span></strong>ため注意が必要です。下記の例ではパスが変わっているのにお気付きでしょうか？</p>



<pre class="wp-block-code"><code>英文表記
sudo mkdir -p /opt/intel/openvino</code></pre>



<pre class="wp-block-code"><code>日本語表記
sudo mkdir -p / opt / intel / openvino</code></pre>



<p>私はこれに気付かず翻訳後のページからコマンドをコピペしてしまい、不毛な時間を過ごす羽目になりました・・・</p>



<p>ということで、もし和文を参照したい場合、sandambaraは英文・和文とタブを2つ開けておき「和文で概要をつかんで英文からコマンドをコピペ」をオススメします。しかし、然程難解なドキュメントではありませんでしたので、英文だけでも十分作業可能だと思います。</p>



<p>以下の作業は全てコマンドラインで実施していますが、フォルダの作成やファイルのダウンロードはGUIで行っても問題ありません。</p>



<h2 class="wp-block-heading"><span id="toc3">インストールディレクトリ作成</span></h2>



<p>OpenVINOのインストールディレクトリを作成します。</p>



<pre class="wp-block-code"><code>sudo mkdir -p /opt/intel/openvino</code></pre>



<h2 class="wp-block-heading"><span id="toc4">ダウンロードディレクトリに移動</span></h2>



<pre class="wp-block-code"><code>cd Downloads</code></pre>



<p>ここでは/home/pi/Downloagsへパッケージを保存する前提ですので、たとえばホーム直下にworkというフォルダを作ってそこで作業する場合はこのようになります。</p>



<pre class="wp-block-code"><code>mkdir /home/pi/work
cd work</code></pre>



<h2 class="wp-block-heading"><span id="toc5">パッケージをダウンロード</span></h2>



<p>本記事執筆時（2020年3月中旬）最新バージョンは「2020.1.023」ですのでこちらを取得します。旧バージョンをダウンロードする場合は必要に応じて「2020」「2020.1」「2020.1.0203」あたりを書き換えてあげれば良いと思います。</p>



<pre class="wp-block-code"><code>wget　https://download.01.org/opencv/2020/openvinotoolkit/2020.1/l_openvino_toolkit_runtime_raspbian_p_2020.1.023.tgz
</code></pre>



<h2 class="wp-block-heading"><span id="toc6">インストールディレクトリに展開</span></h2>



<p>上記で取得したパッケージを/opt/intel/openvinoへ展開します。別バージョンをダウンロードした場合はファイル名の「2020.1.023」の部分を修正してください。</p>



<pre class="wp-block-code"><code>sudo tar -xf l_openvino_toolkit_runtime_raspbian_p_2020.1.023.tgz --strip 1 -C /opt/intel/openvino</code></pre>



<p>展開後、該当ディレクトリを覗いてみると色々できています。</p>



<pre class="wp-block-code"><code>ls -l /opt/intel/openvino</code></pre>



<h2 class="wp-block-heading"><span id="toc7">CMakeインストール</span></h2>



<pre class="wp-block-code"><code>sudo apt install cmake</code></pre>



<p>コマンド入力後、しばらくして[Y/n]と聞かれますのでYで続行しましょう。</p>



<h2 class="wp-block-heading"><span id="toc8">環境変数設定</span></h2>



<pre class="wp-block-code"><code>source /opt/intel/openvino/bin/setupvars.sh</code></pre>



<p>ここで設定した環境変数は、上記のコマンドを実行したターミナルが開いている間だけ有効です。ターミナルを開きなおしたりRaspberry Pi再起動後（ログオフ⇒ログイン）も有効としたいとき、つまり、永続的に有効とする場合は追加で次のコマンドを実行してください。</p>



<pre class="wp-block-code"><code>echo "source /opt/intel/openvino/bin/setupvars.sh" >> ~/.bashrc</code></pre>



<p>新しくターミナルを起動し、冒頭に[setupvars.sh] OpenVINO environment initializedと表示されていればOKです。</p>



<h2 class="wp-block-heading"><span id="toc9">USBルール追加</span></h2>



<pre class="wp-block-code"><code>sudo usermod -a -G users "$(whoami)"</code></pre>



<p>ここでOSのログオフ⇒再ログインが必要になります（再起動でもOK）。デスクトップに戻りターミナルを起動したとき、 冒頭に[setupvars.sh] OpenVINO environment initializedと表示されていない場合は再度環境変数を設定します。</p>



<pre class="wp-block-code"><code>source /opt/intel/openvino/bin/setupvars.sh</code></pre>



<h2 class="wp-block-heading"><span id="toc10">NCS2でOpenVINOを利用するためのコマンド</span></h2>



<pre class="wp-block-code"><code>sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh</code></pre>



<p>実行後にUdev rules have been successfully installed.が表示されれば成功です。これでNCS2を使えるようになりました。</p>



<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 ="OpenVINO";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/setup-opevvino-raspberrypi4-with-ncs2">OpevVINOのセットアップ（Raspberry Pi 4 with NCS2）</a> first appeared on <a href="https://sandambara.com">ITとガジェットあれこれ</a>.]]></content:encoded>
					
					<wfw:commentRss>https://sandambara.com/setup-opevvino-raspberrypi4-with-ncs2/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
