werry-chanの日記.料理とエンジニアリング

料理・数学・プログラミング・量子力学・統計力学・タンパク質・Hololens・VR・セキュリティ...学部3年が何でこんなに他分野股にかけて研究してんねんな?自分でも訳わからん.ラボは二つ所属してるけど,この後に3つめ入るかも.

Wordで背景透過画像作成(印鑑の透過画像化・電子印鑑化2)

前回はPython+OpenCV+Numpyで印鑑の透過画像を作成しましたが,今回はMicroSoft Wordで透過画像を作成する方法を紹介します.
印鑑の透過画像化・電子印鑑化 - werry-chanの日記.料理とエンジニアリング
(↑前回の記事)


①イラストの透過画像作成.
②印鑑画像の透過画像作成.

この2点をやっていこうと思います.

私はmacを使っているので,windowsの方とは操作画面(UI)が少し異なるかもしれませんが悪しからず.



まずは通常のイラストの背景を透過して見ましょう.

使う画像は,僕のアイコンの画像(学会でポスター作る時に作成したHACKER君)です.
f:id:werry-chan:20200211215344j:plain



透過したい画像をWordに挿入します.
f:id:werry-chan:20200211215837p:plain
背景が白で分かり難いので,後ろに別の色の画像を貼っておきました.


次に,透過したい画像を選択肢→図の書式設定→色,を開きます.
f:id:werry-chan:20200211220118p:plain


色のバーから「透明色を指定」をクリックします.
f:id:werry-chan:20200211220249p:plain



カーソルの形が変わりますので,画像中の透明にしたい色の場所をクリックすると,透過画像が作成されます.
f:id:werry-chan:20200211220945p:plain
今回使ったイラストは,基本色が白・黒なので中身まで透けたような形になりましたね...

この方法を使えば大体のイラストは綺麗に透過できますね.




次に②印鑑画像の透過画像作成をやっていきましょう.

使う画像は,前回の印鑑画像と同様に,日本で一番多い苗字「佐藤」の印鑑を利用させてもらいます.
f:id:werry-chan:20200211011801j:plain


それでは,この画像を先ほどの①イラストの透過画像作成と同様に,背景透過をしてみます.
f:id:werry-chan:20200211221507p:plain
すごい微妙な感じですね.
(これでも,この方法ではかなり綺麗になった方です.)

このように,現実世界の写真は「影・明るさの偏り・その他ノイズ」が原因で背景透過をそのまま行うと上手くいかないです.



そのため,背景透過を行う前に色の補正を行い,背景の色(灰色とか白っぽい色)を白くしてしましょう.

①イラストの透過画像作成と同様に,画像を選択→図形の書式設定→色 と選択し,
色→図の色のオプションを指定します.
f:id:werry-chan:20200211224727p:plain


図の色のオプション中にある,鮮明度・明るさ・コントラスト・温度などを調整しましょう.
f:id:werry-chan:20200211224929p:plain
かなり鮮明に印鑑の色が見え,対して背景の灰色は真っ白になりました.


ここまで色の調整が完了したら,最後に背景の透過です.
f:id:werry-chan:20200211225228p:plain
これで綺麗に印鑑の透過画像ができましたね.

最後に図の保存をしてもらえればOKです.

注意点としては,保存するときの拡張子は.pngです!

.jpgは透過画像を上手く保存できません!

印鑑の透過画像化・電子印鑑化

印鑑を持ち歩くのも時代的におかしいです.

とっとと電子化してしまった方が世のためです.

今回は印鑑を透過画像化してPC上で印鑑を押せるようにしてしまおうという記事です.

具体的には
f:id:werry-chan:20200211011801j:plain
↑このような画像を


f:id:werry-chan:20200211015247p:plain
↑このような透過画像にしてしまうということです.
(佐藤さんが世間で一番多い苗字なので,「佐藤」の印鑑を利用しました.)


いくつか作り方がありますが,今回はpython+OpenCVによる方法を紹介させてもらいます.

ネット上に転がってる画像処理サイトに,印鑑という個人証明印を送ることは,セキュリティ上良くないと思う方がいるだろうと言うことでこの方法について話していきます.
(もう少し簡単な方法で,MicrosoftのOfficeの画像処理を利用する方法もありますが,その話はこちら↓です.)
Wordで背景透過画像作成(印鑑の透過画像化・電子印鑑化2) - werry-chanの日記.料理とエンジニアリング


「コードだけ見せろ,あとは自分で考えるぜ!」って方は,最後にまとめたコードを載せてありますので,記事の最後までスクロールしてください.




今回使ったのはPython3+numpy+OpenCVです.


今回作成する目的は,印鑑の透過画像ということですので,赤色領域の抽出を行います.

まずは,赤色抽出の関数を以下のようにして定義します.

関数の引数は,img: 入力カラー画像 min_st: 彩度の下限値 max_st: 彩度の上限値 min_br: 明度の下限値 max: 明度の上限値 となっています.

import numpy as np
import cv2


def detect_red_color(img, min_st, max_st, min_br, max_br):
    # Convert BGR to HSV
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

    # define range of red color in HSV
    hsv_min = np.array([0, min_st, min_br])
    hsv_max = np.array([30, max_st, max_br])
    mask1 = cv2.inRange(hsv, hsv_min, hsv_max)

    # define range of red color in HSV
    hsv_min = np.array([150, min_st, min_br])
    hsv_max = np.array([179, max_st, max_br])

    # Threshold the HSV image to get only red colors
    mask2 = cv2.inRange(hsv, hsv_min, hsv_max)

    # Sum red colors 
    mask = mask1 + mask2

    # Bitwise-AND mask and original image
    masked_img = cv2.bitwise_and(img, img, mask=mask)

    return mask, masked_img


関数内の処理の説明です.

cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

↑RGB画像をHSV画像に変換しています.

    # define range of red color in HSV
    hsv_min = np.array([0, min_st, min_br])
    hsv_max = np.array([30, max_st, max_br])
    # Threshold the HSV image to get only red colors
    mask1 = cv2.inRange(hsv, hsv_min, hsv_max)

    # define range of red color in HSV
    hsv_min = np.array([150, min_st, min_br])
    hsv_max = np.array([179, max_st, max_br])
    # Threshold the HSV image to get only red colors
    mask2 = cv2.inRange(hsv, hsv_min, hsv_max)

HSV色空間上の赤色領域を抽出する準備をしています.

HSV色空間では,画像は色相・彩度・明度で表します.

1つのピクセル単位に[色相, 彩度, 明度]という形で,範囲は[0-179, 0-255, 0-255]で入れられています.

今回は赤色の色相を抽出したいので,赤色の色相である0-30&150-179を抽出するように,mask1とmask2の2つに分けて書いてあります.

cv2.inRange(hsv, hsv_min, hsv_max)で指定した範囲のみを抽出した画像(mask画像)を作成してます.

    # Sum red colors 
    mask = mask1 + mask2

    # Bitwise-AND mask and original image
    masked_img = cv2.bitwise_and(img, img, mask=mask)

↑先ほど作成したmask1とmask2を合算して,cv2.bitwise_and(img, img, mask=mask)で赤色領域以外は値0となる画像を作成しています.


ここまでの処理で,印鑑領域の赤色のみを抽出できます.

画像の変化の様子を追って見て見ましょう.

引数はmin_st =100 , max_st = 255, min_br = 150, max_br = 255の実行結果です.

初めの画像(img)
f:id:werry-chan:20200211011801j:plain
(透過画像がない.jpg画像をあえて使ってます.)


赤色領域のマスク画像(mask)
f:id:werry-chan:20200211011833p:plain


赤色領域の抽出画像(masked_img)
f:id:werry-chan:20200211011902p:plain



これらの画像では電子印鑑としては不十分です.

なぜなら,背景の黒色領域が透過していないので,このままでは全く使い物になりません.

それでは次に,黒色領域を透過状態にしましょう.

img = cv2.imread("inkan.jpg")
red_mask, red_masked_img = detect_red_color(img,100,255,150,255)


red_mask = red_mask[:,:,np.newaxis]
# add alpha channel 
red_masked_img_alpha = np.concatenate([red_masked_img, red_mask], 2)

先ほど作成した関数を用いて,透過画像を作成しています.

赤色領域のマスク画像(red_mask)の値をalpha値として利用しています.

red_mask = red_mask[:,:,np.newaxis]

↑この処理によって2次元のマスク画像を3次元化して,

red_masked_img_alpha = np.concatenate([red_masked_img, red_mask], 2)

↑赤色抽出カ画像(3次元画像)に透過値(4要素目)を追加しています.

通常のカラー画像は[青, 緑, 赤]の3要素であるのに対して,

透過画像は[青, 緑, 赤, 透過値(範囲: 0-255)]の4要素になっています.

これらの処理によって透過画像が作成されます.

元画像(img)
f:id:werry-chan:20200211011801j:plain


透過画像(red_masked_img_alpha)
f:id:werry-chan:20200211014012p:plain
(透過画像は,alpha値を格納できる.pngで保存しましょう..jpgでは透過されません.)



この状態なら十分に電子印鑑として利用できそうですね.

しかしながら,撮影条件(部屋の明るさ・紙の状態)によっては不十分な結果しか得られないかもしれません.

そのため追加で,彩度・明度の補正を行なっていきましょう.

引数は,img: 入力画像 st_mag: 彩度の倍率 br_mag: 明度の倍率です.

def hsv_magnification(img,st_mag,br_mag):
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    hsv[:, :, (1)] = hsv[:, :, (1)]*st_mag  # multiple saturation
    hsv[:, :, (2)] = hsv[:, :, (2)]*br_mag  # multiple brightness
    bgr = cv2.cvtColor(hsv, cv2.COLOR_HSV2BGR)
    return bgr

先ほどまでの処理でも用いたHSV色変換を利用しています.

どの程度の変化が見られるか確認して見ましょう.


彩度・明度の変化なしの透過画像.
f:id:werry-chan:20200211014012p:plain


彩度1.2倍・明度1.0倍の透過画像
f:id:werry-chan:20200211015247p:plain


若干ですが赤味が上昇していることが見て取れますね.



これらの処理を全てまとめたコードを最後に置いておきましょう.

import numpy as np
import cv2


def detect_red_color(img,min_st,max_st,min_br,max_br):
    # Convert BGR to HSV
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

    # define range of red color in HSV
    hsv_min = np.array([0, min_st, min_br])
    hsv_max = np.array([30, max_st, max_br])
    mask1 = cv2.inRange(hsv, hsv_min, hsv_max)

    # define range of red color in HSV
    hsv_min = np.array([150, min_st, min_br])
    hsv_max = np.array([179, max_st, max_br])

    # Threshold the HSV image to get only red colors
    mask2 = cv2.inRange(hsv, hsv_min, hsv_max)

    # Sum red colors 
    mask = mask1 + mask2

    # Bitwise-AND mask and original image
    masked_img = cv2.bitwise_and(img, img, mask=mask)

    return mask, masked_img


def hsv_magnification(img,st_mag,br_mag):
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    hsv[:, :, (1)] = hsv[:, :, (1)]*st_mag  # multiple saturation
    hsv[:, :, (2)] = hsv[:, :, (2)]*br_mag  # multiple brightness
    bgr = cv2.cvtColor(hsv, cv2.COLOR_HSV2BGR)
    return bgr


img = cv2.imread("inkan.jpg")
red_mask, red_masked_img = detect_red_color(img,100,255,150,255)
cv2.imwrite("red_masked_img.png", red_masked_img)

red_masked_img = hsv_magnification(red_masked_img, 1.2, 1.0)
red_mask = red_mask[:,:,np.newaxis]
red_masked_img_alpha = np.concatenate([red_masked_img, red_mask], 2)

cv2.imwrite("red_mask.png", red_mask)
cv2.imwrite("red_masked_img_alpha.png",red_masked_img_alpha)


↓参考サイトです.
色空間の変換 — OpenCV-Python Tutorials 1 documentation
画像の彩度、明度を変える - Pythonでいろいろやってみる

心身疲労で色々と壊れてました

ブログを作成したは良いものを,全くもって更新できてなかったwerryです.

今回お話させていただく話題は,僕が心身疲労で精神・身体共に崩壊した話です.

原因としては,僕自身のメンタルが雑魚かったという他ありません.

この数ヶ月間は,僕の体調不良によって様々な人に迷惑をかけてしまって本当に申し訳なかったです.

自分がボロボロで,迷惑をかけてしまうことが申し訳ないという気持ちがあるにも関わらず,活動ができなくて連絡すらままならない状況で情けないです.



重ねて言いますが,全ては僕のメンタルと能力が弱々すぎたせいで起こったことです.

関係者の方々は,様々なサポートをしてくださりました.

本当に有り難く,優しい方達に恵まれていました.



まず,始まりは研究室の配属直後からですかね...

僕は学部生の時から,システム情報系の研究室で研究活動の業績が少しながらありました.

そのため,システム情報系の技術を買っていただき,情報系技術でウェット(溶液系)の研究にアプローチすることを期待されていたように思います.

同期で入った皆は,研究テーマを先輩や先生から頂く形で進める予定だったのですが,僕は研究経験があるということで自分でテーマを考えてくるように言われました.

そして僕が用意した研究テーマは,ひどく酷評されました.

酷評されるのも当然です.

それまで1ヶ月間学んできた研究室の系譜を無視するようなテーマだったからです.

僕の研究室は,比較的単純な系で溶液物性を測定する研究室でした.

対して僕の提案したテーマは,様々な混合物が存在する複雑な系によるテーマを発表しました.

先生からの叱責は当然のことでした.

先生からの叱責は少しキツめの言葉が出ていたようにも思えますが,それほどに酷かったということなのかと思い,それまでに別分野で業績をあげたことに対する慢心を改める良い機会と考え,研究室のテーマと研究法について改めて調べ直すことにしました.

とはいうものの,やはり自分が丹精込めて考え捻り出したものを,小学生以下,君は自分で考えることをやめた方がいい,研究室に来ない方がいい,と言われ,さらには人格攻撃までされるのは悲しかったです.

これは後々になって知ったことなのですが,僕の考えたテーマとほぼ一致する研究が一流誌に載っていたため,恐らくそこまで酷評されるようなことでもなかったように今になって思います.

ただ,研究室の環境的に汚い系(微生物を扱うなど)の実験が難しかったので,いずれにしても提案したテーマを進めることは難しかったのかもしれません.

しかしながら,酷評・叱責を受けたテーマとほぼ同じ研究が一流誌に載っているものを見た時はやるせない気持ちになりました.

この初めのテーマ発表の印象が後を引き,その後は研究室内でそのテーマに関する不愉快なイジりが頻繁にありました.




その後,僕からテーマを考えるのではなく,研究室が既に持っている研究テーマの手伝いや,先輩方・先生の考えてくださったテーマを行うことになりました.

はじめに先輩方から頂いたテーマは,上手くいきませんでした.

上手くいかなかったことは仕方ないということで,次のテーマを考えていただくことになりました.

そして,次に頂いたテーマを測定していると比較的面白い結果が得られたため,そのテーマ進めることになりました.

頂いたテーマに沿って,簡単な実験系を組み,測定を重ねることで夏頃にはある程度のデータが揃っていました.

データが十分にあったので,卒業研究の半期をまとめるレポート課題は捗りました.

順調に半期分の結果をまとめ,提出して,さらに測定を続ける予定でした.

しかしながら,ここまで続けてきた測定に一つだけ不安な要素がありました.

これまでデータを取ってきた測定器の調子があまりよくなかったことです.

先輩方や同期の皆は,その測定器で日常的に測定をしていたので,特に問題はなかろうと思っていました.

しかし僕の測定結果は,これまでに前例のない新規性のあるデータであったため,確認のため他の装置でも測定して確認しようということになりました.

そして,同様の測定が可能な別の測定器で再現実験をしたところ,これまでのデータと全く異なる新規性も何もないデータが現れました.

そうです.

これまでデータを取ってきた測定器が壊れていたのです.

夏を過ぎ,研究の半期を過ぎた時期に,またもテーマ変更です.

重なるテーマ変更と,機器の故障によって振り出しに戻ることで焦燥感がありました.




先生や先輩方が研究テーマを考えてくれている間に,先輩の研究の手伝いなどをしていましたが,中々テーマが決まりません.

気づけば夏も終わりに近づいていました.

機器の故障が原因のテーマ変更でしたが,僕がウェットな系に向いていないということになっていました.

僕は研究テーマが決まらない焦燥感から,自らのテーマを再び考えていました.

しかしながら,考えた研究テーマの発表をすると考えると,先生から再び激しい叱責を受けるのではないかと恐怖感がありました.

そのため,考えた研究テーマの予備実験を行うことで,ある程度の説得力を得てから発表しようと考えました.

考えたテーマについて,予備実験をしては失敗し,新たなテーマを考え実験して,再検討する.

そうこうしているうちに,秋の頃,先輩方・先生によって僕のテーマが決まりました.

僕のテーマが決まらない間にしていた,先輩の研究の手伝いです.

手伝い内容に新規性はありません.

新規性がないが,研究室の方針に従おうと考え,手伝いをテーマに研究を進めました.

なし崩し的に決まったテーマです.

何か他に良いテーマがあるはずだと考え,僕はテーマを考え続けました.

僕が他の同期に比べて特徴となる,情報的なテーマはどうか?何かないか?

様々なテーマを検討しては,新規性の見出しが出来ず,また考えたテーマについて相談することも出来ませんでした.

所属している研究室は,情報的なアプローチはあまりしないため,僕のテーマを相談できる人がいませんでした.

いや,それだけではなく,僕が人付き合いに億劫になり相談できなったのです.

この時点で既に僕は何かおかしくなり始めていたのかもしれません.

研究室の進捗発表は,手伝いの内容です.

いくらサラミに発表したとしても,手伝いの内容はすぐに完成してしまいます.

進捗発表の場で,新規性がないと指摘されます.

新規性がないテーマを与えられたが,新規性をどうにか創出しないといけません.

考え続け,先輩方に沢山助けていただき,どうにか新規性らしい?テーマを決めました.

その時点で僕は気づくべきでした.

新規性が本当にあるのかどうかを,自分の手でもっと確認すべきでした.

新規性の有無に若干の疑念を抱きながら,僕は研究テーマを進めました.



秋の中旬,僕は研究室に足を向ける頻度が少なくなっていました.

研究テーマはウェットな実験系ではなく,情報処理であるために,研究室に向かわずとも進捗を産むことができます.

加えて情報処理については,所属研究室で扱える人間は僕のみであり,教えていただく内容がありませんでした.

進捗は容易に生み出せますので,進捗に不安はありませんでした.

不安な内容は,テーマに対する新規性です.

ある日,テーマの新規性について,しっかりと検討しました.

検討した結果,新規性はありませんでした.

新規性のない研究活動ほど虚しいものはありません.

僕はテーマを変えるべきか,それとも先輩の手伝いを続ける方が研究室に貢献できるのか.

そして,僕は先輩の手伝いに関するテーマを続けることにしました.

同時に,新たなテーマを検討することも続けました.

疲れていました.

新規性のない作業を続けることに意味が見出せない.

新たなテーマを探すために,大規模データベースからのデータ分析・粗視化シミュレーションなどを検討していました.

既存研究を調べ,実際に実装したり,どこかに新たに伸ばせる部分がないか,重箱の角を突つくような作業をしてました.

新たに飛び込んだ分野で,自分でいくら探して考えても研究室の系譜に合うようなテーマが思いつきません.

研究室の人達と話すことが,全くなくなりました.

僕のテーマが情報処理で,古典的実験系のウェットな研究室では異質過ぎて,研究内容について話すことがなかったのです.

新しいテーマについても,データベースの種類・ソフトウェアの扱い・処理方法など,相談したい内容は研究室の専門外であり,アドバイスが期待できません.

それだけではなく,ただでさえ低い僕のコミュニケーション能力が崩壊してました.

世間話で何を話せば良いか分からず,研究室に足を運ぶ頻度の少なさから来る罪悪感・疎外感・異質感・劣等感が口を閉ざし,視線は研究室の床に向くばかりでした.

疎外感・劣等感・罪悪感は,次第に恐怖感へ変わっていきます.




新規性がない研究を進める虚しさから作業効率は落ちていきました.

冬の中旬,完成したシステムの検証を行いました.

検証結果,情報処理自体は精度良く動作しましたが,物理現象と比較した理論との検証が上手くいきません.

サンプルを変え,理論を再検討し,測定システムを再検討し,理論との検証を行いますが上手くいきません.

進捗報告会では,上手くいってないのは何もしていないのと同じ,物理現象と裏付けできない装置は何の意味もない,などと言われたような気がします.

気がします,という言葉を使ったのですが,その当時僕は聞き取り能力が著しく損なわれていました.

何か言葉を言っていることは,音が鳴っていること認識できたので分かるのですが,言葉が全くもって認識・理解できなくなってました.

そのため言われた気がする言葉自体も,実は僕の脳内で再生された幻聴かもしれないと今ではその可能性も考えてます.

ほかにも何か沢山の言葉をもらっていたような気がしますが,全く聞き取ることが出来ず,ただ床を見て,言われた言葉の音が終わるタイミングで

はい

アドバイス痛み入ります

申し訳ありません

その通りです

ありがとうございます

などの言葉を言っていました.

頭の中と視界は霧がかかったようで,顔は極度の緊張でかつてないほど火照っていたと記憶してます.

その当時,読字能力も同様に損なわれていました.

進捗報告会で読む自分の原稿は,何が書いてあるか覚えているため読むことが出来ます.

しかしながら他の人の原稿の文字は,見えるのですが読めませんでした.

意味が理解出来ませんでした.

文字の並びが気持ち悪く,意味も分からず読めないことが悲しくて,必死で文字を何度も何度も目で追ってました.

この頃は,研究室に行くことを考えると動悸がし,部屋の前に行くと全力疾走後の何十倍も激しく・大きい動悸がして苦しかった覚えがあります.

人間の心臓はここまで激しく動けるのかと驚きました.

そして動悸がすると,心臓だけでなく息も詰まってしまい,息が上手く吸えませんでした.

苦しかったです.

一番辛かった身体症状は,眩暈でした.

視界が揺れる程度なら秋頃からありましたが,一番酷い時は大変でした.

視界が大きく回転して,どこが天井でどこが床なのか,どっちに回っているのか,自分の体の向きや頭の向きが分からない状態になります.

そうなってしまうと,全く動けませんでした.

そして眩暈による吐き気が酷かったです.

眩暈で吐きそうになることが分かっていたため,報告会前はご飯を食べていませんでした.

寒気・胃痛・集中力の極端な低下など,そのほかにも身体症状が酷かったです.

動悸で息が詰まり,思考は靄がかかって,かけられる言葉の意味が理解できず,意味不明な返答をしてしまっているという罪悪感・劣等感・恥ずかしさ,文字を読めないことに焦って何度も読み返そうとするが理解できず,視界の回転で吐き気が止まらない.

つらかったです.

さらに希死想像と暴力的思考が止まりませんでした.

身体・精神的に明らかに異常でした.



年末頃,あまりの身体症状に耐えかねて,休養をいただき心療内科の治療に通うことにしました.

先生には理解あるご配慮をいただき,本当に助かりました.

また先輩方は,僕の様子がおかしくなっていることに気づいてサポートしてくださろうとしていました.

僕自身は,それらの配慮やサポートに支えていただきながら,年末から今までにかけて,どうにかボロボロの卒業研究をまとめました.

それまでも,助けていただけるような機会をもらっていたにも関わらず,どうにも頼ることも出来ずに壊れていきました.

いまだに治っているか分からないですが,投薬と休養でかなりマシになっているように思います.

ここ数ヶ月間,ご連絡をいただいていたにも関わらず返事ができなかった皆さん,本当に申し訳ありませんでした.




以上が僕のここ数ヶ月間の情けない言い訳です.

自分を褒めてあげてください.

他の誰かにいくら認められても,自分の中で,自分を責めることをやめないと,精神的なつらさは消えません.

あと寝てください.

寝不足or過眠は鬱の第一症状です.


これを読んで頂いた方は,精神的な負担が身体的な崩壊を引き起こすという事実を理解していただき,くれぐれも心身ともにお大事にしてください.

マドレーヌ

 

大学が始まってなかなか更新できなかったウェリーちゃんです.

ホワイトデーが終わってから久しいですが,ホワイトデーお返しのお菓子3点目である

**マドレーヌ

です.

 

**材料

全卵(3個)

卵黄(2個)

ラニュー糖 50 g

トリモリン (ハチミツor水飴で代用可) 31.5 g

レモンの皮 適当(オレンジとかでも良い)

薄力粉 225 g

ベーキングパウダー 5 g

バター 250 g

ローマジパン(以下で作り方説明します) 125 g

 

**作り方

【ローマジパン(400 g)の作り方】

アーモンドプードル 200 g

ラニュー糖 130 g

卵白 (1個分)

水飴(ハチミツでも可) 30g

 

↑上記のものをひたすら混ぜる.

できればフードプロセッサー的なものがあれば良い.

サランラップなどで包んで固めてやれば保存できる.

 

【マドレーヌの作り方】

①ローマジパン全量へ全卵・卵白を少しづつ加えていく.

②グラニュー糖・トリモリン・レモンの皮(削ったもの)を①へ加える.

③ベーキングパウダー・薄力粉を少しづつ加え,ダマにならないよう混ぜる.

④時間があるなら一晩寝かせる.

⑤30-40 ℃で溶かしたバターを加えて,分離しないようになるまでしっかり混ぜる.

(注)高音のバターを入れると水分が突沸して油が弾けて火傷するし,料理自体も失敗する.

⑥型にバターを薄く塗っておき,型の深さ7分目を目安に生地を加える.

(注)結構膨らむので本当に7分目にしといた方が良いです.中途半端な量が残るからと言って目一杯入れてウェリーちゃんはオーブン汚しました.掃除がクソめんどかった.

⑦180 ℃に予熱しておいたオーブンへ入れて,温度設定を160 ℃にして10-15分程度焼く.完成.

 

柑橘の香りが爽やかなふわふわマドレーヌです.

ホワイトデーのお返しの中では一番上手に焼けたなぁ.

 

最近車のライトが壊れてから買い物に行けてないので,あんまり料理できてない.

車のライトの値段が

 

誰にも聞こえない声を音声認識? : Silent Voice , 論文紹介

最近タンパク質研が始まって,テーマが決まるまでドキドキワクワクのうぇりーちゃんです.

TOEICの勉強もしないとなぁと思いつつも,なかなか勉強時間を捻出できないです.

一日が90時間くらい欲しい.あるいは影分身10体くらい欲しい.


閑話休題


それでは,今回も論文紹介です.

この論文は,僕も参加したドイツ・ベルリン開催User Interface and Software Technology(UIST)2018のものです.

”SilentVoice: Unnoticeable Voice Input by Ingressive Speech”

著者はMicroSoftの研究者であるMasaaki FUKUMOTOさんです.

表題にあるとおり,

”Silent Voice: 聞こえない声”についての論文です.

本論文では”Silent Voice: 聞こえない声”を音声認識するという内容です.

まず,本論文における”聞こえない声”とは何でしょうか?

ひそひそ声ではないです.

”息を吸いながら発話する”ことが,本論文における”聞こえない声”です.



それでは,”息を吸いながら発話する”ことにどのような利点があるのでしょうか?

まず普通の発話について考えると,普通の発話は周りの人に声が聞こえます.

音が周りに聞こえることは,プライバシーの問題,映画館などの静かにしなければならない環境においてデメリットがあります.

それでは,ひそひそ声で話せば良いだろう.

その通りです.ひそひそ声は周りへの音を軽減しています.

しかしながら,映画館の無音な場面で”ひそひそ声”が聞こえたという経験は誰もがしたと思われます.

このように”ひそひそ声”は,静寂な環境においては際だってしまいます.

さらに”ひそひそ声”は音声認識(発話音をマイクなどで取得して文字化すること)しづらいというデメリットが存在します.



このようなデメリットを克服する発話方法が”息を吸いながら発話する”という方法です.

”息を吸いながら発話する”(今後は吸引式発話とする)方法のメリットは以下のものです.

1.周りに聞こえてしまう音がかなり軽減される.

2.周りの人間には聞き取りが非常に困難なため,プライバシーを保護する.

さて,メリットの2を見てもらうと

「???声なのに聞き取りできなかったら意味なくね???」

と思うでしょう.

この吸引式発話は,内緒話などに用いることを想定してます.

そして本論文では,吸引式発話を音声認識して文字起こしするシステムを開発したというものです.

吸引式発話を文字起こしして,会話する相手が文字起こしした文章をみればコミュニケーションがとれます.



それでは,どのようにして吸引式発話音声を音声認識したのか.

その方法は,音声認識システムに吸引式発話音声のデータを入れて学習させたのです.

現在用いられている通常の音声認識システムは,膨大な会話音声データを教師データとして機械学習によって音声認識を可能としています.

この音声認識システムに,吸引式発話音声による発話データを教師データとして入力したのです.

もちろん教師データは,”吸引式音声/正解の文章”のセットです.

このように教師データに吸引式音声のデータを入力して,音声認識を可能としました.

またこの吸引式発話の音声データの計測は,通常のマイクとは異なります.

口元に気流を計測する装置を用いて,吸引式発話のデータを測定しました.

大規模な装置を必要としないため,使い勝手も良いです.

しかし,本研究は限定的なフレーズのみの学習を行っており,それらのフレーズのみ認識可能です.

このシステムは今後の膨大なデータを学習することで,現在のような音声認識システムレベルまで認識精度をあげることが期待されています.



いやぁーすごいですねーーーーーーー!!!

まるでテレパシーですね!!

ちょっと言い過ぎ?

とは言っても,今後このシステムの発展によって内緒話がはかどりますねぇ!!

内緒話を聞こえない声で,しかも普通しない発話方法でするなんて,頭良すぎ!!



うぇりーちゃんもこーいう頭良いことしたいですねぇ...



コメントなどありましたら,よろしくです.

カーソルの位置が分からない?なぜか使ってる本人だけは分かる!?CursorCamouflage:論文レビュー

論文レビュー合宿も明日で終わりです.

知識が膨大に詰め込まれていく感じで,有意義ですねぇ.

なんてったって一人で3日で25本も論文読むんですもん.

そんな論文レビュー合宿でおもしろかった論文を紹介しようと思いまして,本日は

CusorCamouflage

という論文を紹介したいと思います.

youtu.be

上の動画はCursolCamouflageのPVです.

コンピュータグラフィックのアカデミー賞とも言われるSIGGRAPH ASIA2012で採択されてました.

CursolCamouflageは,盗み見攻撃を防ぐための新しい個人認証システムのUIデザインです.

動画にあるように,大量のダミーカーソルが画面を縦横無尽に埋め尽くし,本物のカーソルの位置を隠しているというシステムです.

f:id:werry-chan:20190329213924p:plain
CursorCamouflageの認証画面図

「これって,使ってる認証者本人も分からなくなるんじゃないの?」

「いや,言うて入力のタイミング合わせてよく観察して見たら本物わかるやろ笑」

と思いますよね?

まずは一番上のPVを見て,一度は答えを確認せずに,本物のカーソルを見つけ出せたかやってみてください.

まぁ,僕には不可能でした.

次に,認証者本人は分かるの?という問題ですが,

本人は分かるそうです.

驚きですね.いや本当に.

理由としては,以下に挙げられるものがあります.

・カーソルの操作感による「動き」を知覚する人間の能力が,他の「動き」のノイズを”知覚レベル”で除去している.

ポイントは「”知覚レベル”で本物のカーソルを理解できている」という点です.

ここでいう”知覚レベル”の理解とは,「見ている」だけで,頭を全く使わないで理解できるということです.

僕は個人認証システム開発の研究を専門でしている者ですが,生体認証以外でこんなにユーザーの負担が小さいシステムは全くと言って良いほどにないです!!

驚きです!!

さらに,このCursolCamouflageは論文では数字入力で実装してますが,数字入力以外の様々な入力システムにも応用可能です.

応用性に大変富んでいるのです!

すごいなぁ.うらやましいなぁ.

僕の研究も特許申請終われば紹介したのですが,CursolCamouflageは本当におもしろくて良いシステムでした!!



今後も論文合宿で大量に読んだ論文を,少しづつになりますが紹介していきたいと思います.

キムチ・ケジャン鍋(ワタリガニのキムチ漬けを使った鍋)

ブログを書くだけ書いてたんですけど,「読者になる」って機能があることに気づきました.

何も考えずにブログの記事だけ作成してたクソ雑魚うぇりーちゃんです.

今日の論文読み読み合宿しんどかった.30分で1本論文をまとめろってのを8本分やって,死んでました.


閑話休題


本日は,正月に実家に帰って作ってた

キムチ・ケジャン鍋

です.

f:id:werry-chan:20190328231922p:plain
キムチ・ケジャン鍋

地元が大阪市内でしてね.

正月になると鶴橋のコリアンタウンに行って毎年ケジャン(ワタリガニの醤油漬け)を買うんですよ.

ほんで,鶴橋のコリアンタウンにはキムチのケジャンがあるんですね.

これって,韓国の友達に聞いたら,

「ええ?そんなんないよ!?キムチのケジャン??おいしそう!!」

って言ってましたね.

そのままでも十分に美味しいです.

キムチケジャンをおかんが毎年大量に買うので,今年は腐る前に,鍋にしてやりました.

ワタリガニの最高に濃厚なスープはたまりませんでした!!

材料

キムチ・ケジャン 食い終わり直後の殻も出汁に使えます.

ミリン・水 1:1の比率

塩 最後の味の調整に.


①キムチ・ケジャンについてるキムチ(大量の唐辛子)をある程度落とす.
あまりに大量の唐辛子がスープに投入されると,クソ辛くて食べれなくなる.

②キムチ・ケジャンをヒタヒタまでミリン:水(1:1)を入れる.

③ゆでる.ゆだったら,味見しながら塩で味を調整.
完成.

f:id:werry-chan:20190328231922p:plain
キムチ・ケジャン鍋


このキムチ・ケジャン鍋はね.

圧倒的に素材の強さ,すなわち

ワタリガニの出汁が最強

この一点につきます.

変な工夫をすることで味を損なわないようにすることが堅実です.

高級肉だって,塩・胡椒のみでいただくのが一番確実に美味しいんですよ.

良い素材があるならば,素人が変に調味料で素材の良さを崩す危険が大変に高い.一回だけ高級食材でその痛い目に遭ってます.


もしもコリアンタウンによる機会があればケジャン探してみてはいかがでしょうか?

東京だと新大久保かな?今度行ってみよう.