コンテンツへスキップ

2019年10月17日  めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年10月17日のめざましじゃんけんの結果をベストエフォートで公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
10月17日
(木曜日)
【4戦目】07時58分生じゃんけん!新木優子さん、高良健吾さん
【3戦目】07時35分古舘伊知郎さん、山里亮太さん
【2戦目】06時58分北川拓実さん、元木湧さん
【1戦目】05時58分まちかどじゃんけん

Windowsでは、pip でインストール出来ないmysqlclient

Linuxでは、問題なかった「mysqlclient」がWindowsではpipでインストールできませんでした。

mysqlclientをWindowsでインストール

インストールは、wheelパッケージをダウンロードし、ダウンロードしたファイルを用いて、pipコマンドでインストールします。

wheelパッケージは以下よりダウンロードします。
Unofficial Windows Binaries for Python Extension Packages

環境に合わせた、PythonのバージョンとOSのBit数別にファイルが準備されているので、環境に合ったファイルをダウンロードします。

Pipコマンドでinstall

pip install <ダウンロードファイル>

コマンド例: pip install mysqlclient1.3.13cp36cp36mwin_amd64.whl

2019年10月16日  めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年10月16日のめざましじゃんけんの結果をベストエフォートで公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
10月16日
(水曜日)
【4戦目】07時58分酒主義久アナウンサー
【3戦目】07時35分中島裕翔さん 山本美月さん 出川哲朗さん
【2戦目】06時58分鈴木唯アナウンサー
【1戦目】05時58分まちかどじゃんけん

AlexeyAB/DarknetをNvidia Jetson Nanoにインストール

Raspberry Piとの一番の違いは、GPU対応で、Darknet・AlexeyABをシングルボードコンピューターにインストール出来ることが、大きな魅力となります。
しかも、インストールもWindows版よりも簡単だと思います。

参考記事:Windows10に AlexeyAB・Darknet・YOLO V3導入(Vestal Studio)

ライブラリーアップデート

  1. apt update
  2. apt upgrade -y

Cuda関係のパスを環境変数に登録

  1. export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
  2. export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

DarknetのダウンロードとYoloモデルのダウンロード

  1. git clone https://github.com/AlexeyAB/darknet
  2. cd darknet
  3. wget https://pjreddie.com/media/files/yolov3.weights
  4. wget https://pjreddie.com/media/files/yolov3-tiny.weights

MakeFileを変更しGPU、OPENCV対応へ

Makefileを変更し、GPU、CudaとOpencv対応となるようにコンパイルオプションを変更します。.

  1. sudo vi Makefile

MakeFile変更内容
GPU=1
CUDNN=1
OPENCV=1

Darknetをコンパイル

  1. make

以上でDarknetが利用可能となります。

darknetフォルダで、以下サンプルコマンドを実行し、動作を確認してください。

  1. cd darknet
  2. ./darknet detector test cfg/coco.data yolov3.cfg yolov3.weights -ext_output dog.jpg

Make時にエラーが出て、以下変更を加えました。

変更1

NVCC=nvcc 部分を
NVCC=/usr/local/cuda/bin/nvcc
に変更

変更2 ライブラリ追加

sudo apt install libopencv-dev

参考にさせて頂いたサイト

created by Rinker
NVIDIA
¥19,000 (2021/08/19 16:46:56時点 Amazon調べ-詳細)

2019年10月15日  めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年10月15日のめざましじゃんけんの結果をベストエフォートで公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
10月15日
(火曜日)
【4戦目】07時58分生じゃんけん!山崎育三郎さん
【3戦目】07時35分宮﨑あおいさん
【2戦目】06時58分稲森いずみさん
【1戦目】05時58分まちかどじゃんけん

Twitter 日本語投稿時の文字数・バイト数チェック

何度か、最大文字数を超えて、投稿エラーとなりました。
Twitterの文字数制限は、欧米のアルファベットユーザー対象に140文字から280文字となった経緯があります。
ただし、マルチバイト文字(日本など)向けのユーザーは、140文字の文字数制限のままでした。
実際には、半角文字と全角文字を組み合わせると、140文字以上の文字数が投稿出来たりできておりました。とりあえず、バイト数を数えて、280文字で投稿していたのですが、上手く行かないケースが多々ありました。

以下サイトを見て、最大文字数の確認方法を変更しました。

Twitterの最大文字数と最大バイト数の関係を調べてみた

  • 利用したいハッシュタグを配列登録 (ランダムで選択)
  • 280文字対応 (以前は、280バイト前後で考えていた)
    $max_char = 280 + $url_char - 11.5;
    URLは一律11.5文字でカウント
    投稿文全体で、280としておけば間違いないと思います。
    mb_strwidth($tweet_text) < $max_char
  • ハッシュタグの「ー(ハイフン)」を「_(アンダースコアー)」へ
  • URL1件投稿時の最大文字数対応(必要に応じてハッシュタグ部分を削減で対応)

文字数のカウントは、mb_strwidthを利用します。
mb_strwidth:半角文字は 1 として、 全角文字は 2 として数えます。

strlen  関数は単純にバイト数、mb_strlen  関数は半角・全角関わらず1文字とカウント、Twitterの特殊ルールに合わせるなら、 mb_strwidth  を使うのが確実です。

Twitterへアプリ登録

(PHPから実行時に必要となる、API Key、API Secret Key、Access Token、Access Token Secretの取得を行います

PHPからTwitterへの操作は、TwitterOAuthというライブラリを用います。

  1. Twitterへの開発者登録とApp登録
  2. TwitterOAuth導入

Twitterへの開発者登録とApp登録

Twitterの以下のURLへアクセスし、登録をすすめます。

上のURLよりサービスにログインします。

ログイン後の画面です。右上の「Create an app」をクリックします。

「Create an app」を押すと、最初に開発者アカウントへの登録へ誘導されます。

一番の開発理由を聞かれます。「Professional」これは通常ビジネス目的、「Hobbyist」趣味なので、個人利用は通常このカテゴリとおもいます。
今回は、API経由でTweet・Postを行いたいので、Making a botを選択しました。BOTの作成。

アカウント情報の確認をされました。通常問題ないと思います。

1,居住国、2.呼び名を聞かれました。それぞれ、Japanと「(適当に)mikiie」と登録しました。

アプリの説明をフリーフォーマットで記載しました。
WEB翻訳などで準備した内容を貼り付ければOKです。

追加の質問事項に回答します。
Twitter情報を分析Analyzeするか? Tweet,Retweet, Like, Followなどを実施するか?
また、フリーフォーマットで、開発対象の機能内容の記載が必要でした。

これまでに記載や選択した内容のサマリ画面が表示され、間違いがないか確認を行い、「Looks good!」を選択します。

最後に利用規約に同意し、Submit Application(申請を送信)すると、利用申請の結果がメールで届きます。

利用申請後に着信した利用申請結果メールのリンクよりアクセスすると、Welcome画面が表示されます。

開発登録者完了後に、Create an appを実施するとアプリの作成が行えます。
コールバックURLを登録する必要がありまうが、PHPが動作するサーバで問題ないとおもますので、http://127.0.0.1/と登録しておけば問題ないです。

最後に、Keys and TokensでアプリのAPI Keysを取得します。
(API Key、API Secret Key、Access Token、Access Token Secretの取得を行います

PHPからTwitterに投稿 TwitterOAuth導入

TwitterOAuth

GitHub-twitteroauth

V1.1 Source code (tar.gz)

TwitterOAuthをダウンロードし、PHPを利用したいサーバに配置します。

  1. ライブラリのダウンロード
  2. tar.gzの解凍
  3. フォルダ名の変更
$ curl -OL https://github.com/abraham/twitteroauth/archive/1.0.1.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 127 0 127 0 0 285 0 --:--:-- --:--:-- --:--:-- 294
100 714k 0 714k 0 0 475k 0 --:--:-- 0:00:01 --:--:-- 1674k

$ tar -zxvf 1.0.1.tar.gz
$ mv twitteroauth-1.0.1/ twitteroauth/

以下、一番簡単なサンプルPHPです。

<?php
require "twitteroauth/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;

$consumerKey = "your consumer key";
$consumerSecret = "your consumer secret";
$accessToken = "your access token";
$accessTokenSecret = "your access token secret";

$twitter = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);

$result = $twitter->post(
        "statuses/update",
        array("status" => "Tweetテスト")
);

if($twitter->getLastHttpCode() == 200) {
    print "tweeted\n";
} else {  &nbsp; 
 &nbsp;  print "tweet failed\n";
}

2019年10月14日  めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年10月14日のめざましじゃんけんの結果をベストエフォートで公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
10月14日
(月曜日)
【4戦目】07時58分原晋監督
【3戦目】07時35分宮本信子さん
【2戦目】06時58分永尾亜子アナウンサー
【1戦目】05時58分まちかどじゃんけん

WEBカメラ/USBカメラ

リアルタイム画像検出で大切な入力デバイスとなるカメラ、各種選択肢があります。画角、フォーカス、露出などを考えていくと悩むことがたくさんあります。
カメラの安定動作や設置時の物理的な安定性など、安定した画像検出には、場面場面に合わせたカメラが必要になります。

今回探したカメラの要件

  • ある程度物理的な設置位置がずれた際も、画像検出を続けたい
  • 暗闇以外、昼夜画像検出可能な範囲での撮影が可能
  • USB接続で安定動作

カメラの要求仕様

  • 画角が広い(ある程度の物理設置位置の変更に対応可能、そもそも多少の広角は必須)
  • ある程度自動での画質設定(朝日などが当たると、画質は一気に変わります)
  • オートフォーカス (こちらもあると安心)
  • 過度な高画質は不要(画像検出時に必要な画素数はHDで十分)
  • 音声は基本的に使わない(画像検出のみ)

一番の要件は、広角でした。広角対応のカメラは以下が候補となりました。

オートフォーカスで手頃なカメラだと、サンワサプライ オートフォーカスWEBカメラ CMS-V45Sなどが出来ていました。画角65度と通常のWEBカメラよりは広角。

通常のWEBカメラは、58度前後で60度以下となります。
最初にBUFFALOの広角カメラを導入したこともあり、60度以下の画角では今回は、そもそも画像検出対象の画角となりませんでした。
また、広角になるとオートフォーカスも難しいと思うので、広角+オートフォーカスを満たそうとすると、一気に対象製品を探すのが難しいです。

今回選んだカメラは、ロジクール ウェブカメラ C615 ブラック フルHD 1080Pとなります。

画角が78°でオートフォーカス。
近距離(最長7cm)対応、高速オートフォーカス、HD光補正。
一方、マイクはステレオ未対応のモノラル、画質(720p/30fps)となり、最新機種よりはスペックダウンします。(ここが、納得の価格で入手出来るポイントだと思います)

まだ、導入後1週間ですので、Jetson Nanoとの組み合わせで利用し、何かあれば、またレビューさせて頂きます。

created by Rinker
NVIDIA
¥19,000 (2021/08/19 16:46:56時点 Amazon調べ-詳細)

一つ前の関連記事:NVIDIA Jetson Nano vs Raspberry Pi with NCS2 (Movidius Neural Compute Stick 2)

全242回のめざましじゃんけん結果取得を通じて

一番のテーマは、信頼性の向上です。
「全部の回次を正しく結果取得」
1回1回の信頼性向上・・・まだ、道半ば。誤判定をなくす、(運用コストが低く)信頼性の高いH/Wの導入。そして、H/Wの冗長化
イレギュラー開催などへの対応
・・・見えていない部分もありますが、ダブルポイントなどへの対応、年末年始など、個別開催時間への対応など
信頼性を向上するうえで、システムの構成予想削減(よりシンプルに)、より高信頼なハードウェアで。
最近ホットな出来事は、USBカメラの画像が悪い時(太陽の高さなど、テレビの設置環境に依存)の画像検出率低下、さらには誤判定。
これらを回避する途中に、エッジコンピューティングでの画像検出エンジンの高速化が実現しました。
(高速化や信頼性を主テーマとすると、他の方式もありますが、あくまで気になる分野や楽しそうな技術の採用を優先させております)

  • Raspberry Pi単体での画像検出を断念 (Windowsメインマシンでのモデル実行)
  • Raspberry Pi with NCS2での画像検出へ移行
    世界最速めざましじゃんけん結果公開Neural Compute Stick 2 ( NCS )
    この時点でもすでに、エッジコンピューティングの凄さに感動しました。
  • NVIDIA Jetson Nanoを試行開始(Keras + YOLO)
  • NVIDIA Jetson Nanoでlibdarknet.so利用(NVIDIA CUDAの真髄)
    YOLO / Darknetを動かす上で、アーキテクチャ的には一番良い選択なのだと思います。それにしても、Keras(TensorFlow)と比べて、倍速になるとはびっくりしました。
今後、記事化予定ですが、DarknetのGitHubより配布されているPythonスクリプトもPython3対応版となっております。
Makefileを変更し「LIBSO=1」、Pythonスクリプトより、ctypes import *を用いて、lib = CDLL("libdarknet.so", RTLD_GLOBAL)ライブラリを取り込み、Python 3のwrapperとして利用出来ました。
Keras導入時点のWEB記事では、導入が難しそうな記事も散見され、深追いしておりませんでした。

NVIDIA CUDA Toolkit 10.0 に対応しcuDNN 7.3など、機械学習時にデファクトスタンダートとなっているライブラリやフレームワークが多く、システムアーキテクチャの選択肢が非常に多いです。
今回も他フレームワークも視野に入れ、比較検討することが出来ました。TensorFlow や PyTorch、Caffe、Keras、MXNet などの機械学習 (ML) フレームワークに対応しています。ネイティブにインストールすることができます。

NVIDIA Jetsonの情報収集

NVIDIAの社員や関係者が強力にサポート、情報発信。
さすが、大手。ハードの供給体制もRaspberry Pi と比べて力強さを感じます。開発コミュニティーへの社員の書き込みが、本当にすごい。
オープンコミュニティの新しい形にも見えました。ハードでビジネスは成立し、技術者が率先して、コミュニティに参加。これは、弱点と感じた部分を、むしろ強み(正しい情報、責任感ある素早い対応)にしております。
今回は、特にこれらを体感出来ました。

関連記事:

NVIDIA Jetson Nanoで機械学習(推論)

Movidius Neural Compute Stick2とRaspberry Pi 3B +も利用しておりますが、GPU/推論向けデバイスが一体化されており、少しサイズは大きいです。
USB3.0などI/Fに差分もあるので、Raspberry Pi 4Bと比較したほうが良いかもしれません。ただし、Raspberry Pi 4B と NCS2を同時導入すると考えると、Jetson Nanoのほうがコストパフォーマンスが良いと思いますし、便利なフレームワーク利用により、開発時の手間(コスト)も考えると、機械学習にはNVIDIA Jetson Nanoがベストな選択と思います。

Jetson Nano、Raspberry Pi 3B + with NCS2 速度比較

めざましじゃんけん時に取得したWEBカメラ画像を216枚で画像認識エンジンを動作させた際の性能比較です。
以前同じテストを用いて、NCS2(Movidius Neural Compute Stick 2)導入により十分高速化された結果となりました。今回は、その結果と比べても十分に魅力的なJetson Nanoの結果が出ました。

参考記事:ディープラーニング向けUSBアクセラレーターNeural Compute Stick 2ー

Windows(GPU未使用)
Core i7 6700/(Skylake) クロック周波数:3.4GHz
15秒 opencv.dnn
Raspberry Pi 3
Model B+
ARM Cortex-A53 1.4GHz
785秒 opencv.dnn
Raspberry Pi 3
Model B+
ARM Cortex-A53 1.4GHz
+  Movidius Vision Processing Unit(Myriad 2)
105秒 opencv.dnn
NVIDIA Jetson Nano
Quad-core ARM A57 @ 1.43 GHz
109秒 opencv.dnn
NVIDIA Jetson Nano
Quad-core ARM A57 @ 1.43 GHz
+ 128-core Maxwell
46秒 Keras-YOLO
NVIDIA Jetson Nano
Quad-core ARM A57 @ 1.43 GHz
+ 128-core Maxwell
20秒 libdarknet.so (ctypes)
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
2019-10-05 11:01:36,900:4:INFO:ループ開始:/home/miki/hdd/cronScript/Janken_Target_Test/20190806_055717_102196_1.jpg 処理回数:1
2019-10-05 11:02:22,651:7:INFO:ジャンケン結果判定 Len(total_results): 3 List Values: 0,2,5
2019-10-05 11:02:22,701:30:INFO:ジャンケン結果:Chokiを出してLose、相手はGoo
2019-10-12 15:36:23,341:164:INFO:ループ開始:/home/miki/hdd/cronScript/Janken_Target_Test/20190806_055717_102196_1.jpg 処理回数:1
2019-10-12 15:36:43,531:210:INFO:ジャンケン結果判定 Len(total_results): 3 List Values: 0,2,5
2019-10-12 15:36:43,532:247:INFO:ジャンケン結果:Chokiを出してLose、相手はGoo
created by Rinker
NVIDIA
¥19,000 (2021/08/19 16:46:56時点 Amazon調べ-詳細)

関連記事:NVIDIA JETSON NANO

Intel Neural Compute Stick 2

2019年10月12日  めざましじゃんけん 結果

フジテレビ めざましテレビ めざましじゃんけん の結果を保証したり、全ての結果が記載を保証するものではありません。

2019年10月12日のめざましじゃんけんの結果をベストエフォートで公開します。


じゃんけん結果システムイメージ

Goo(グー) Choki(チョキ) Pa(パー)

めざましテレビ|めざましじゃんけんーフジテレビ

めざましじゃんけん結果
回次結果対戦相手
10月12日
(土曜日)
【2戦目】08時21分瀬古利彦さん
【1戦目】07時38分RENA選手