MotoJapan's Tech-Memo

技術めも

使用済みのSDカードをMacからフォーマットしてRaspbianを焼き直す

最近Raspiの環境構築を月10回くらいのペースでやっているので忘れやすいものをメモ 1. SDカードのマウント先を調べる diskutil list 以降は、disk3(disk3s1, disk3s2)がSDカードのマウント先という前提で進める 2. SDカードをフォーマット 下記コマンドで、…

M5stickV初心者のための最速チュートリアル #2(コイン分類:クラウド学習とエッジAIで画像認識)

前提 今回できること 機械学習のイメージ図 0.ファームを焼き込む 1.SDカードにbootファイルを展開する SDカードの選定 SDカードにファイル展開 OKな例 NGな例 2.画像分類したい被写体を撮影する 円コインの分類してみる 3.クラウドにデータをアップロードす…

M5stickV初心者のための最速チュートリアル #1(IDE環境構築と設定、サンプルコードの実行とログ確認、画像認識(学習、推論))

1.前提 2.今回できること 3.ハードウェア構成の最低限の説明 4.環境構築と設定 IDEダウンロード&インストール IDEへの設定 PCとM5stickVを接続 リンク設定 5.サンプルコードの実行とログ確認 実行 動作確認(LCDとシリアルモニタで確認) 6.所感 7.次回はV-…

【ECCV2018 論文メモ#5】Multimodal Unsupervised Image-to-Image Translation

生成モデルの論文。 画像の潜在空間は、content空間とstyle空間により構成されている仮説に基づき、encoderとdecoderを定義。 contentは残しながらターゲットドメインのstyleをサンプリングして画像変換を行うものらしい。 犬画像を猫画像にスタイル変換する…

【ECCV2018 論文メモ#4】Person Search by Multi-Scale Matching

人物検索(照合)ですね、単なる人検出ではなくクエリ画像と同じ人物を未加工なシーン情報からロバストに検索するものとなっているようです。 今回の論文と出典 Person Search by Multi-Scale Matching https://arxiv.org/abs/1807.08582 著者 Xu Lan, Xiatian…

【ECCV2018 論文メモ#3】StereoNet: Guided Hierarchical Refinement for Real-Time Edge-Aware Depth Prediction

テーマだけで面白そうだったので読んでみた(らgoogle様の論文でした) 今回の論文と出典 StereoNet: Guided Hierarchical Refinement for Real-Time Edge-Aware Depth Prediction https://arxiv.org/abs/1807.08865 著者 Sameh Khamis, Sean Fanello, Chris…

【ECCV2018 論文メモ#2】Contemplating Visual Emotions: Understanding and Overcoming Dataset Bias

Maker Faire Tokyo 2018では感情推定ロボットを出展したので感情繋がりでこの論文。エッジAIで、顔認識して追っかけてきて、感情推定をして尻尾かとで感情表現をしています!懐いたり怖がったりして可愛いです。(親バカ)お時間ある方はぜひお立ち寄りくだ…

【ECCV2018 論文メモ#1】Learning to Anonymize Faces for Privacy Preserving Action Detection

ECCV2018まで1ヶ月を切ったので興味がある論文のメモを残していく。( 1日1本のペースで空き時間を使ってやっていきたい。(多分無理だ) 今回の論文と出典 Learning to Anonymize Faces for Privacy Preserving Action Detection https://arxiv.org/abs/1803.1…

【python】raspiでwebカメラとpicameraの両対応コードを実装

モチベーション カメラをフラグ(PICAM = True )で切り替えられるようにしたい。 [カメラ初期化] cv2.VideoCaptureの置き換え これはpicameraだと動かないはず。 カメラのイニシャライズをcap取得のwebカメラ、piカメラ両対応する関数を作成。 def initCame…

【ipython/jupyter】 ipython notebookの出力データを外部からclearする方法

ipython notebookもしくはjupyter notebookで日頃の作業をしている中で 大量のログを出力したままファイルを閉じたり ログを出しすぎて処理が重くなり、不用意にterminateしたり して、次の実行時にipynbファイルの展開が遅くなったり、最悪展開できない、ke…

iPad 9.7 用にpencilケースを100円(格安)で自作する方法

また箸休めですが、今回は最近買ったiPad 9.7 (2018)とApple pencilの為に、100円程でpencilホルダーを作成しました。(ついにこのブログで縫い物を紹介するとは思いませんでした)最初に断っておくと、私はApple信者ではないので、デザイン性より利便性、カ…

Julia言語とは(備忘録 : 更新版)

twitterなどで目にする機会が増えて、昨日初めてJuliaチュートリアルに参加したので備忘録。(更新版) Juliaについて Juliaのライセンス Juliaは何故早い Juliaを始める人 簡単に始める方法 IDE環境 パッケージ 他の言語を実行可能 所感 チュートリアルで頂い…

【python】OCR(tesseract-ocr / pyocr)で賞味期限を読み取る(画像→数列) 【お家IT#19】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 OCRとは tesseract-ocr / pyocrとは インストール 使い方と実装 pyocr.builders tesseract_layout (pagesegmode) 実装 結果 前回は、バーコード画像から商品情報を取得するところ…

【python】Yahoo Web APIでバーコード情報(JAN)から商品名を読み出す(数列→商品情報) 【お家IT#18】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 取得方法のアイディア 1.スクレイピングする方法 BeautifulSoup4 をインストール 実装 結果 2.WebAPIで検索する方法(種類) Product Advertising API (Amazon Web Services) 楽…

【python】zbarでバーコードを読み取る(画像→数列) 【お家IT#17】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 バーコードとは 環境 zbarインストール インストール時のトラブルシューティング 「error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1」がインストール時に出…

【Javascript】非同期実行を実装し、ボタンを押したフィードバックを全画面に行う 【お家IT#16】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 そもそもの問題 非同期にする方法 実装 前回までで、javascript/CSSを用いて撮影画面を作成した。 最後にUIの完成度を高めたいので撮影ボタンを押したらバックグラウンド全体が青…

【CSS】接頭句の違い "#"と"." 【お家IT#15】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 前回は、ボタンの透過度を設定した。 今回は、基礎的な話でなんとなく使っていたCSSの接頭句の違いを書く。 前々回のコードをコピーしたのが下記。"."で開始するstyleは、classに…

【CSS】半透明(透明度)の設定方法 【お家IT#14】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 完成イメージ 実装 結果 前回は、レイアウトの重ね合わせを実装した。 今回は、ボタンの透過度を設定したい。 完成イメージ 前回からの続きだが、ボタンが透過して下レイヤーの映…

【Javascript / CSS】divタグでcanvas等のレイアウトを重ねる方法 【お家IT#13】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 完成イメージ 基本方針 div要素で重ねわせ方法と実装 ポイント 実装 結果 前回は、カメラ撮影枠を作成するために、カメラリソースの切り替えによるVideo要素のサイズ変化を検出し…

【Javascript】カメラ起動前後のvideoタグのサイズ変化を検出する 【お家IT#12】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 具体例:Video要素のプレビューの中央に撮影領域を作りたい 実装:Video要素のサイズ変化を検出、確定時のサイズを取得 前回は、UserMediaのカメラリソースを切り替えるなどの話…

【Javascript】カメラ(インカメラ/アウトカメラ)を切り替える方法 【お家IT#11】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp 目次 参考資料 MediaDeviceInfoの解説とUserMediaの使い方手順 前回からWebカメラ周り(Video要素やwebRTC, UserMedia)の操作を進めていたが、カメラリソース周りを今回進める。 やり…

【Javascript】video/canvasを上下180度反転(回転)させる方法 【お家IT#10】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 Videoの回転 Canvasの回転 参考資料 前回までの投稿でバックエンドとフロントエンドの通信周りは整理した。 ここからはWebカメラの操作を進める。今回は、video/canvasを上下180…

【flask to Javascript】jsonデータを送信/受信する方法(jsonify) 【お家IT#9】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 送信側実装 (python:flask) 受信側実装 (javascript) 前回までで、javascript->flaskへbase64を送信した。 これを画像処理して、その結果を返信するときjsonだと汎用性も高い。 …

【flask】Replyヘッダーに「Access-Control-Allow-Origin」を追加する【お家IT#8】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 対策 参考資料 前回は、base64でバックエンドに画像を送信したが、次のエラーが表示れている。 XMLHttpRequest cannot load https://192.168.0.100:12345/hoge_image_processing.…

【Javascript to flask】base64で画像を送信/受信する方法 【お家IT#7】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 base64とは 送信側実装(Javascript) 受信側実装(python : flask) 参考資料 前々回、ChromeでWebカメラを起動/撮影した後、Canvasに書き出すところまで進めた。 前回は、Ajaxを利…

【Javascript to flask】FormDataを送信/受信する方法 【お家IT#6】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 送信側実装(Javascript) 受信側実装(python : flask) 対応関係 前回まででWebカメラで撮影した画像をCanvas領域にコピーするところまで終えた。 が、根本的にJavascript - python…

【flask】https対応Webサーバーをバックグランド実行する方法 【お家IT#5】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 標準入力をバックグラウンドで無視すると落ちる バックグラウンド実行対策 参考資料 標準入力をバックグラウンドで無視すると落ちる 前回 flaskをhttps化 (http over ssl)したが…

【flask】Webサーバーをhttps対応する方法 【お家IT#4】

本件の実装の一部 motojapan.hateblo.jp前回の続き motojapan.hateblo.jp目次 SSL対応の手順 秘密鍵を作成 秘密鍵から公開鍵を作成 デジタル証明書を作成 flask上でHTTPSサーバー起動 おまけ JavascriptからWebカメラを起動しようとしたら下記コードで怒られ…

【Javascript】Webカメラを起動&撮影する 【お家IT#3】

本件の実装の一部 motojapan.hateblo.jp カメラ起動 参考にした記事① 参考にした記事② カメラ撮影 Webアプリ上でHTML+JSでWebカメラを動作させたい。 私の場合、それほど特殊なWebカメラの使い方をするわけでもないし、こういった類の記事は山のようにあるの…

【お家IT#2】Webアプリと画像認識で家の食品名と賞味期限を簡単に登録したい(構想編)

下記記事の続きです。 motojapan.hateblo.jp 構想 Google Spreadsheetを探して、食品名と賞味期限を手入力するのは、実は結構めんどくさい。 なので、Webアプリ開発と画像認識の勉強も兼ねて、下のような構成を構想。 写真を撮影すると商品情報が取得でき、…