tmori’s blog

公開メモ帳くらいの感覚で書いています。技術系多め。日常少なめ。

【LaTeX】svjour3.cls (Springerのlatexテンプレート)でカラムから文字がはみ出したときの対処法

結論

\documentclass[twocolumn]{svjour3}\documentclass[twocolumn]{svjour3}\sloppy

詳細

Springerが提供しているlatexテンプレート(svjour3.cls)を使用したときにカラムから文字がはみ出るときの対処法について書きます。カラム数は2段組を使用しています。

続きを読む

「Multi-Input Convolutional Neural Network for Flower Grading」の論文まとめ

概要

  • 花の等級付け (Flower grading)は、果樹園などにとって重要なタスクに一つ。
  • 実験では、3段階の等級付けを行った。
  • multi-input CNNとsingle-input CNNを試した結果、multi-inputの方がより良い精度だった(89.6%)。
  • さらに精度を向上させるには、芽の検出が有効であり、精度を93.9%まで上げることが可能であった。

序論

花の等級付けは、明確な違いがないため困難な作業とされている。 従来研究で、トマトとポテトの等級付けがあるが二値分類なので容易なタスクだった。 また、背景削除など人が前処理する必要があるので自動化とは言い切れない部分がある。

花の等級付けは、1視点で評価はできない。 そのため、今回は3視点のmulti-input CNNを使う。

データセットとCNN Model

データセットは自分たちでGloxiniaを撮影して収集した。

CNNはmulti-inputのものを使用した。

実験と結果

データセットは、シフトや回転などの水増し処理を行った。 80%を学習データにし、残りをテストデータとして使用した。 CNNのモデルは、畳み込み層やプーリング層のレイヤーを変化させた(multi: 23, single: 4)個を比較した。 結果は、multi-inputの方が精度がよく、89.6%であった。 結果から、芽の情報がグレーディングには重要であることが示唆された。

芽の検出

ツールはPlantCVを使用した。 芽の検出があったら、BadからMediumに予測ラベルを変更する。 この処理を画像分類後に加えることで、精度が93.9%となった。

結論

花の等級付けの画像分類モデルを作成した。 今後は、他の植物にも転用できるか検証したい。

Jetson nano + zed 2 + ros2のセットアップ

自分用のメモ。ros周りは対応しているバージョンがそれぞれで違うのでインストールが大変...。

version

jetson nanoのセットアップ

zedのSDKで使用できるJetPack SDK 4.4を使用する。 下のアーカイブのリンクからダウンロード。 developer.nvidia.com

JetPackのインストール方法↓ developer.nvidia.com

画面が消えるのを防ぐ

  • 「All Settings」→「Brightness & Lock」→「Turn screen off when inactive for: 」→「Never」を選択
  • 「Lock」→「OFF」を選択

ROS2のセットアップ

zed-ros2-wrapper は現在(2020/12/31) ROS2 Eloquent Elusorのサポート。

index.ros.org

~/.bashrcに以下を書き込む (毎回起動時にコマンド打ち込むのは面倒なので)

source /opt/ros/eloquent/setup.bash

colconのセットアップ

zed-ros2-wrapperのビルドはcolconなのでインストールする。

index.ros.org

rosdepなどをインストール

sudo apt update && sudo apt install -y \
  build-essential \
  cmake \
  git \
  python3-colcon-common-extensions \
  python3-lark-parser \
  python3-pip \
  python-rosdep \
  python3-vcstool \
  wget

sudo rosdep init
rosdep update

zed sdkのセットアップ

How to Install ZED SDK on Nvidia Jetson | Stereolabs

zed2 wrapperのセットアップ

github.com

VS CodeのArduino ExtensionでArduinoのSerial Portを選択する方法

VS CodeArduino Extensionの最新バージョンでは、シリアルポートの選択ができないバグがあるようです。 GitHubでのIssueも数多く建っていますが、全然修正されないようです。

github.com

Versions

解決策

.vscode/arduino.json に以下の行を追加し、VS Codeの再起動。

{
    "port":"COM1"   # 各自の環境に合わせる ("/dev/ttyACM0"などのシリアルポートの番号)
}

どうやらvscodeのcommand Paletteとの接点にエラーがあるっぽい。 設定ファイル直書きなら問題なし。

参考文献: Cannot select serial port (VS Code, Arduino Extension) · Issue #1099 · microsoft/vscode-arduino · GitHub

背表紙認識の技術調査(2020/10/11)

ここで示す背表紙認識は、本棚に置かれている本の背表紙をトリミング、又はトリミングした本のタイトルと巻数を認識することを指します。QRコードなどのマーカー用いたものについては省いています。暇があれば追記します。似た事例があればコメント欄にお願いします。

続きを読む

Atcoder Beginner Contest 164 振り返り(A-C) 【Python】

はじめに

AtCoder Beginner Contest 000の振り返りをします。
こんにちは、tmoriです。 2020年4月27日に行われたABC 164の振り返りをします。 今回はA問題からC問題を扱います。

atcoder.jp

続きを読む

防水型超音波センサモジュール JSN-SR04TとArduino UNOで距離推定して遊んでみた。

今回のおもちゃはこちら。

↑と大学の講義で購入したArduino UNOを使って遊びます。

センサモジュール(JSN-SR04T)について

仕様

  • 動作電圧: DC 3.0 - 5.5V
  • 静止電流: 5mA
  • 動作電流: 30mA
  • 音響放射周波数: 40kHz
  • 測定距離範囲: 25 - 450 cm
  • 測定角度: 75°
    (参考: JSN-SR04Tのデータシート

接続

  • JSN-SR04TArduino
  • 5V → 5V
  • Trig → Pin 2
  • Echo → Pin3
  • GND → GND

ソースコード

Waterproof JSN-SR04T Ultrasonic Sensor and Arduino (2 Examples) の Example code for JSN-SR04T sensor with Arduinoの章に記述しているコードを使用しました。(Thank you for sharing!!)

設置&測定

f:id:tmoribanner:20200315183743j:plain
設置!

センサーから真下の床までは44cmあります。 センサーでの表示は...

f:id:tmoribanner:20200315203244j:plain
Arduino IDEのシリアルモニター

誤差は1cmほどのようです。思ったより小さいので利用できそうです。

※音波は、温度・湿度・圧力などで変化するらしいので、正確な距離推定をする場合は、別のセンサも必要らしい。

次に物体(アースジェット)を動かして、センシング範囲を確かめました。

f:id:tmoribanner:20200315210447p:plain
センシング範囲

次回は風呂の中に設置して、温度による変化を実験してみたいです!