2019年08月31日 めざましじゃんけん 結果
フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。
2019年08月31日のめざましじゃんけんの結果をベストエフォートで公開します。
Goo(グー)
Choki(チョキ)
Pa(パー)
| 回次 | 結果 | 対戦相手 | |
|---|---|---|---|
(土曜日) | 【2戦目】08時21分 | 松岡昌宏さん | |
| 【1戦目】07時22分 | ニック・ファジーカス選手 | ||
フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。
2019年08月31日のめざましじゃんけんの結果をベストエフォートで公開します。
Goo(グー)
Choki(チョキ)
Pa(パー)
| 回次 | 結果 | 対戦相手 | |
|---|---|---|---|
(土曜日) | 【2戦目】08時21分 | 松岡昌宏さん | |
| 【1戦目】07時22分 | ニック・ファジーカス選手 | ||
フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。
2019年08月30日のめざましじゃんけんの結果をベストエフォートで公開します。
Goo(グー)
Choki(チョキ)
Pa(パー)
| 回次 | 結果 | 対戦相手 | |
|---|---|---|---|
(金曜日) | 【4戦目】07時58分 | 田中大貴 選手 | |
| 【3戦目】07時35分 | 加藤浩次さん | ||
| 【2戦目】06時58分 | 国分太一さん | ||
| 【1戦目】05時58分 | まちかどじゃんけん | ||
めざましじゃんけん時に取得したWEBカメラ画像を216枚で画像認識エンジンを動作させた際の性能比較です。
NCS2(Movidius Neural Compute Stick 2)導入により十分高速化された結果となりました。
参考記事:ディープラーニング向けUSBアクセラレーターNeural Compute Stick 2ー
| Windows(GPU未使用) Core i7 6700/(Skylake) クロック周波数:3.4GHz | 15秒 |
| Raspberry Pi 3 Model B+ ARM Cortex-A53 1.4GHz | 785秒 |
| Raspberry Pi 3 Model B+ ARM Cortex-A53 1.4GHz + Movidius Vision Processing Unit(Myriad 2) | 105秒 |
2019-08-14 20:34:48,460:202:INFO:ループ開始:D:\pic4ml\Janken_Target_Test\20190806_055717_102196_1.jpg 処理回数:1 2019-08-14 20:35:03,389:256:INFO:ジャンケン結果判定 Len(total_results): 3 List Values: 0,2,5 019-08-14 20:35:03,390:289:INFO:ジャンケン結果:Chokiを出してLose、相手はGoo
2019-08-15 12:11:10,292:202:INFO:ループ開始:/home/miki/cronScript/Janken_Target_Test/20190806_055717_102196_1.jpg 処理回数:1 2019-08-15 12:24:15,786:256:INFO:ジャンケン結果判定 Len(total_results): 3 List Values: 0,2,5 2019-08-15 12:24:15,787:289:INFO:ジャンケン結果:Chokiを出してLose、相手はGoo
2019-08-24 12:16:09,419:202:INFO:ループ開始:/home/miki/cronScript/Janken_Target_Test/20190806_055717_102196_1.jpg 処理回数:1 2019-08-24 12:17:54,200:256:INFO:ジャンケン結果判定 Len(total_results): 3 List Values: 0,2,5 2019-08-24 12:17:54,201:289:INFO:ジャンケン結果:Chokiを出してLose、相手はGoo
インストールガイド:Install OpenVINO™ toolkit for Raspbian* OS
導入は簡単です。必要なライブラリをダウンロードし、ダウンロードしたライブラリー群にパスを通すスクリプトを実行して終了です。
Pythonスクリプト側も1行の変更で、無事にMovidius Neural Compute Stick 2(NCS2)の導入が完了しました。
@raspberrypi:~# mkdir intel @raspberrypi:~# cd intel/ @raspberrypi:~/intel# wget https://download.01.org/opencv/2019/openvinotoolkit/R2/l_openvino_toolkit_runtime_raspbian_p_2019.2.242.tgz --2019-08-19 10:42:59-- https://download.01.org/opencv/2019/openvinotoolkit/R2/l_openvino_toolkit_runtime_raspbian_p_2019.2.242.tgz download.01.org (download.01.org) をDNSに問いあわせています... 2600:140b:12:2b0::ae6, 2600:140b:12:29f::ae6, 23.218.7.188 download.01.org (download.01.org)|2600:140b:12:2b0::ae6|:443 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 18637784 (18M) [application/x-gzip] `l_openvino_toolkit_runtime_raspbian_p_2019.2.242.tgz' に保存中 l_openvino_toolkit_ 100%[===================>] 17.77M 2.21MB/s 時間 8.5s 2019-08-19 10:43:08 (2.09 MB/s) - `l_openvino_toolkit_runtime_raspbian_p_2019.2.242.tgz' へ保存完了 [18637784/18637784] @raspberrypi:~/intel# sudo mkdir -p /opt/intel/openvino @raspberrypi:~/intel# sudo tar -xf l_openvino_toolkit_runtime_raspbian_p_2019.2.242.tgz --strip 1 -C /opt/intel/openvino @raspberrypi:~ $ source /opt/intel/openvino/bin/setupvars.sh [setupvars.sh] OpenVINO environment initialized @raspberrypi:~ $ echo "source /opt/intel/openvino/bin/setupvars.sh" >> ~/.bashrc @raspberrypi:~ $ sudo usermod -a -G users "$(whoami)" [sudo]パスワード: miki@raspberrypi:~ $ source /opt/intel/openvino/bin/setupvars.sh [setupvars.sh] OpenVINO environment initialized miki@raspberrypi:~ $ sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh Updating udev rules... Udev rules have been successfully installed.
しっかりとした包装で発送されており、製品の質感も良かったです。
発熱する製品なので、Rasberry PiのUSBポートからUSB延長ケーブルを用いて接続しました。
また、電源付きUSBハブ経由だとうまく動作しないケースがあったので、Raspberrypiの本体USBポートよりUSB延長ケーブルでNCS2(Movidius Neural Compute Stick 2)を接続しました。
フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。
2019年08月29日のめざましじゃんけんの結果をベストエフォートで公開します。
Goo(グー)
Choki(チョキ)
Pa(パー)
| 回次 | 結果 | 対戦相手 | |
|---|---|---|---|
(木曜日) | 【4戦目】07時58分 | 城島茂さん | |
| 【3戦目】07時35分 | 松尾龍さん、中村浩大さん | ||
| 【2戦目】06時58分 | 岸井ゆきのさん | ||
| 【1戦目】05時58分 | まちかどじゃんけん | ||
古い情報も多く、結構苦労しました。2019年8月時点の情報となります。
SDカードでの運用による信頼性は多くの人が気にしているようです。
ディスクへのアクセス速度もUSB接続にした方が早くなると思います。
以下、一般的な規格などからくる速度目安。
USB接続として、SSDかHDDは、静音、消費電力、温度、耐久性より、ニーズに合わせた選択になると思います。
| SDカード CLASS6 | 6MB/S |
| SDカード CLASS10 | 10MB/S |
| USB2.0 | 60MB/S |
| SSD | 470MB/S |
| HDD | 140MB/S |
| USB3.0(参考) | 640MB/S |
今回、SDカードなしのUSBデバイスのみの構成とはしませんでした。
SDカードなしのUSBデバイスの直接ブートは、センシティブでした。
Raspberry Pi 3B +は、標準でUSBブート対応という内容も散見されましたが、他USB接続しているデバイスや、接続ポート、USBハブ経由、直接接続など条件によりブート可能であったり不可能であったりしました。
SDカードなしのUSBデバイスのみ構成構築時には、Raspberry PiUSBデバイスに綺麗なブートイメージを作成し、他USBデバイスを接続せずに、SDカードなしでブート可能か確認し、最終的な接続機器を設定・接続した状態での再起動テストをお勧めします。
試行錯誤の結果、ブート時間、起動処理の信頼性を考え、SDカードにブートコードを格納し、USBデバイスを利用する方法での運用に移行しました。
USBデバイスへのブートイメージ作成には、「Etcher」を利用します。
新規SDカードにパーティションを作成します。
root@raspberrypi:~# parted /dev/sda GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mktable msdos Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? yes (parted) mkpart primary fat32 0% 100M (parted) mkpart primary ext4 100M 100% (parted) print Model: StoreJet StoreJet Transce (scsi) Disk /dev/sda: 120GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 99.6MB 98.6MB primary fat32 lba 2 99.6MB 120GB 120GB primary ext4 lba (parted) quit Information: You may need to update /etc/fstab.
作成したパーティションをフォーマットします。
root@raspberrypi:~# mkfs.vfat -n BOOT -F 32 /dev/sda1 mkfs.fat 4.1 (2017-01-24) root@raspberrypi:~# mkfs.ext4 /dev/sda2 mke2fs 1.44.5 (15-Dec-2018) Creating filesystem with 29280768 4k blocks and 7323648 inodes Filesystem UUID: 8becaa42-5ad3-4bca-bcb2-6bdf1f371aeb Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Allocating group tables: done Writing inode tables: done Creating journal (131072 blocks): done Writing superblocks and filesystem accounting information: done
ファイル内容のコピーに向けて、コピー元、コピー先のマウントを実施。
現在のルート領域と作成したファイル領域をマウントするために、マウントフォルダを作成し、それぞれ、マウントします。
$ sudo mkdir /tmp/usd #作業ディレクトリ $ sudo mount /dev/mmcblk0p7 /tmp/usd #MicroSDのRaspbianをマウント $ sudo mkdir -p /mnt/ssd $ sudo mount /dev/sda2 /mnt/ssd/ $ sudo mkdir /mnt/ssd/boot $ sudo mount /dev/sda1 /mnt/ssd/boot/
/ Rootルート領域および /bootブート領域をコピーします。
$ (cd /tmp/usd; sudo tar --backup -c *)|sudo tar -C /mnt/ssd -xv $ (cd /boot; sudo tar --backup -c *)|sudo tar -C /mnt/ssd/boot -xv
コピーした領域のブート関連ファイルの修正を行います。
comdline.txtファイルの「root」ディレクトリを「 /dev/sda2」へ変更します。
root@raspberrypi:/mnt/ssd/boot# vi cmdline.txt root@raspberrypi:/mnt/ssd/boot# cat cmdline.txt dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/sda2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
fstabの「/boot」および 「/」ルートディレクトリを、それぞれ、「 /dev/sda1」および「/dev/sda2」へ変更します。
root@raspberrypi:/mnt/ssd/boot# vi /mnt/ssd/etc/fstab root@raspberrypi:/mnt/ssd/boot# cat /mnt/ssd/etc/fstab proc /proc proc defaults 0 0 /dev/sda1 /boot vfat defaults 0 2 /dev/sda2 / ext4 defaults,noatime 0 1
容量の小さなSDカードに、「bootcode.bin」を書き込みます。
※ 他ファイルを書き込む必要はありません。/bootの内容も不要です。
「bootcode.bin」は、GitHubよりダウンロードし、SDカードに書き込んでください。
USB Type-Cにも対応、今後の使いまわしなども考えても、コストパフォーマンスが良いと思いました。
個人の実験的な試行内容であり、めざましじゃんけんの結果を保証したり、全ての結果が記載を保証するものではありません。
2019年08月28日のめざましじゃんけんの結果をベストエフォートで公開します。
Goo(グー)
Choki(チョキ)
Pa(パー)
| 回次 | 結果 | 対戦相手 | |
|---|---|---|---|
(水曜日) | 【4戦目】07時58分 | 生じゃんけん!ももいろクローバーZ | |
| 【3戦目】07時35分 | 藤本美貴さん | ||
| 【2戦目】06時58分 | サンドウィッチマン | ||
| 【1戦目】05時58分 | まちかどじゃんけん | ||
画像検出に向けて、独自に準備した教師データを用いて、AlexeyAB Darknetを用いて、YOLO3、Tiny-YOLO3で独自学習を行います。
YOLO3とTiny-YOLO3での独自学習時の違いは、独自学習時に指定するコンフィグファイルの違いのみとなります。処理速度と画像検出の違いとなっておりますが、画像検出対象により向き不向きもあると思うので、両方での試行をお勧めします。
また、YOLO2など以前のフレームワークも利用しましたが、画像検出精度や検出速度で、明らかにYOLO3のほうが良いので、学習後のモデル動作環境がYOLO3で問題なければ、YOLO3の利用をお勧めします。
LabelImg利用方法(アノテーション)で準備した、7クラスの学習を行います。
最終的な、独自学習を実行する際のコマンドラインは以下となります。
darknet.exe detector train cfg/obj.data cfg/yolov3-voc-janken.cfg darknet53.conv.74
obj.dataに、train(学習データー)とvalid(検証データー)のリストを設定します。
このtrainとvalidのファイルリストは、LabelImg利用方法(アノテーション)でラベリングしたフォルダで、以下のスクリプト(process.py)を実行し、自動的に作成します。
process.pyですが、データファイルのパス指定、ファイル名、テストデータの割合を指定します。以下の例では、検証データを全体のファイル数の10%を検証データに指定されています。
import glob, os
# Current directory
current_dir = os.path.dirname(os.path.abspath(__file__))
# Directory where the data will reside, relative to 'darknet.exe'
path_data = 'data/obj/'
# Percentage of images to be used for the test set
percentage_test = 10;
# Create and/or truncate train.txt and test.txt
file_train = open('train.txt', 'w')
file_test = open('test.txt', 'w')
# Populate train.txt and test.txt
counter = 1
index_test = round(100 / percentage_test)
for pathAndFilename in glob.iglob(os.path.join(current_dir, "*.jpg")):
title, ext = os.path.splitext(os.path.basename(pathAndFilename))
if counter == index_test:
counter = 1
file_test.write(path_data + title + '.jpg' + "\n")
else:
file_train.write(path_data + title + '.jpg' + "\n")
counter = counter + 1学習クラス数をClassに登録します。作成した、train.txtとtest.txtファイルパスを指定します。
次に作成する、cfg/obj.namesと学習結果を格納するフォルダbackupを指定します。
classes = 7 train = train.txt valid = test.txt names = cfg/obj.names backup = backup/
学習クラス名一覧を指定します。
janken_active janken_goo janken_choki janken_pa janken_won janken_lose janken_draw
「darknet\build\darknet\x64\cfg\」フォルダ内の初期ファイルをコピーして、自己学習向けのコンフィグファイルを作成します。yolov3.cfg、yolo-obj.cfgをコピー元ファイルとして、編集するコンフィグファイルを作成します。
batch=64subdivisions=8max_batches=14000 とします。steps=11200,12600とします。「darknet\build\darknet\x64\cfg\」フォルダ内の初期ファイルをコピーして、自己学習向けのコンフィグファイルを作成します。yolov3-tiny-obj.cfg、yolov3-tiny_obj.cfgをコピー元ファイルとして、編集するコンフィグファイルを作成します。
yolov3-tiny-obj.cfg based on cfg/yolov3-tiny_obj.cfg
batch=64subdivisions=8max_batches=14000 とします。steps=11200,12600とします。https://pjreddie.com/media/files/darknet53.conv.74よりdarknet53.conv.74ファイルをダウンロードします。ダウンロードしたdarknet53.conv.74ファイルが初期ウェイトファイルとなります。
darknet53.conv.74
https://pjreddie.com/media/files/yolov3-tiny.weightsよりyolov3-tiny.weightsファイルをダウンロードし、darknet.exeおよび標準のcfgファイルを用いて、初期ウェイトファイルを準備します。
darknet.exe partial cfg/yolov3-tiny.cfg yolov3-tiny.weights yolov3-tiny.conv.15 15
yolov3-tiny.conv.15
最初に示したコマンドラインで自己学習を開始します。
darknet.exe detector train cfg/obj.data cfg/yolov3-voc-janken.cfg darknet53.conv.74
Out of Memoryが出る場合、GPUのメモリ不足となり、設定ファイルの変更が必要となります。設定ファイルで設定した、 subdivisions=16 を「32」や「64」へ変更し実行可能な設定へ変更が必要です。
32の倍数での画像サイズの縮小でも学習時のメモリサイズを減らすことが出来ます。width=256、height=256 などへwidth, heightを変更。
個人の実験的な試行内容であり、めざましじゃんけんの結果を保証したり、全ての結果が記載を保証するものではありません。
2019年08月27日のめざましじゃんけんの結果をベストエフォートで公開します。
Goo(グー)
Choki(チョキ)
Pa(パー)
| 回次 | 結果 | 対戦相手 | |
|---|---|---|---|
(火曜日) | 【4戦目】07時58分 | 生じゃんけん!梶裕貴さん | |
| 【3戦目】07時35分 | 比嘉愛未さん | ||
| 【2戦目】06時58分 | 生じゃんけん!酒井唯菜さん(2020ミス・ティーン・ジャパン) | ||
| 【1戦目】05時58分 | まちかどじゃんけん | ||
少し前に、Shuttleの2.5インチドライブを4つ搭載可能なベアボーンを紹介しましたが、 Intel® H310チップセット搭載で、2.5インチドライブを2つ搭載可能なベアボーンに魅力を感じております。
参考記事:RAID対応ShuttleベアボーンXH270
WordPressおよびDB(SQL)向けサーバを準備したいなと考えております。
よって、大容量が必要なNASはSynology。
CPU処理速度と十分なメモリ容量、そして少ない電力と考えていると今回のASRockのDeskMini 310 SeriesのASRock Intel H310ベアボーンが出てきました。
Mini-STX 、ミニ・ソケット・テクノロジー・エクステンデッド(Mini Socket Technology Extended)(Mini-STX)フォームファクタにより Intel® LGA 1151 ソケットベースの Intel® プロセッサー対応、Intelのデスクトップ向けCPUを搭載できるので、費用対効果の良いCore™ i3 プロセッサーを利用できます。
東芝 2.5インチ 1TB MQ01ABD100 SATA✕2台
もちろん、Synologyも簡単にサーバー運用が出来るので、おすすめです。
個人の実験的な試行内容であり、めざましじゃんけんの結果を保証したり、全ての結果が記載を保証するものではありません。
2019年08月26日のめざましじゃんけんの結果をベストエフォートで公開します。
Goo(グー)
Choki(チョキ)
Pa(パー)
| 回次 | 結果 | 対戦相手 | |
|---|---|---|---|
(月曜日) | 【4戦目】07時58分 | 宮野真守さん、梶裕貴さん | |
| 【3戦目】07時35分 | 山﨑賢人さん、新田真剣佑さん、永野芽郁さん | ||
| 【2戦目】06時58分 | 森本慎太郎さん | ||
| 【1戦目】05時58分 | まちかどじゃんけん | ||