作業日誌†

目次

2011年度分はMeRLサーバのほうにあります。
http://merl.ec.t.kanazawa-u.ac.jp/diary_private/index.php?kawakami


コメント†

最新の3件を表示しています。 コメントページを参照

お名前:


2012/06/01(Fri)†

OpenCVを使った瞳孔中心推定ソフトウェアの続き†

こんな感じ

ss1.png

撮影画像 二値化画像 コントロール
マスキング範囲 算出瞳孔中心(白い点) 座標出力

二値化画像で瞳孔以外の黒の領域があるが、マスキングで除去されて最終的な瞳孔領域の重心計算に影響していないことが分かる。


2012/05/31(Thu)†

眼球撮影用Webカメラの改良†

前回作製したカメラだと眼球を正面から撮影していたが、やはり下から見上げるような形で撮影したほうが瞳孔の欠けの影響を少なくできることが分かったのでカメラを下に設置し直した。
また、照射する赤外線も下から当てればプルキニエ像の映り込みを減らせるため位置を移動。

glass3.JPG

OpenCVを使った瞳孔中心推定ソフトウェア†

FPGAでの実装に先立って、OpenCVを使ってPC上で実際にWebカメラから取得した眼球画像から瞳孔の中心座標を求めるソフトウェアを作っている。
処理の流れは、

撮影
↓
収縮(0次モーメント=0になる直前まで繰り返し)
↓
1次モーメント算出(収縮できれいに1点に収まらないため1次モーメントで消失点座標を算出→整数化)
↓
マスク円作成
↓
マスキング
↓
1次モーメント算出

以上の処理で瞳孔の中心の算出ができた。
Webカメラは640x480で撮影しているが任意の区間を切り取って320x240にしている。


2012/05.02(Wed)†

sftpコマンド†

手元のMBAからVDECの20番サーバへファイルを置いた時のメモ
sftp (ユーザ名)@(20番サーバ)
put (ローカルのファイル名。TAB補完は効かなかった)
これでOK


2012/05/01(Tue)†

Phenitec INV設計と今後のメモ†

DRCはDivaを使う
詳しくはdropboxのPTS06-Diva-DRC説明書v1_2.pdfを参照(先生のメモより)
レイアウトエディタでverify -> DRCでルールファイルに
PDK_210_11X243/data/cadence/common/rule/PTS06_DIVA_DRC_120.rul
を指定。rules libraryのチェックを外す。

diff上のゲート領域にDRCエラーが出た。VTH(VTNE, VTPE)をpolyとdiffの周囲に配置して解決。n-mosにはVTNE, pにはVTPE
nmosにはNHDをかぶせる
全体はFRAMEで囲う
撮像素子はダイオードのシミュレーションができないからpDは描かずにLVS
画素間を突っ切るような配線にはM1, 2で遮光も兼ねる。遮光のメインはM2
隙間の下にトランジスタが無ければ問題ない
素子内の配線にはpoly(ゲート)を使ってもいい
10x10umは厳しいかも。20x20umで行く。pDは開口率25%の10x10umで。全体の解像度は64x64
W/Lは最小でおk。今回作ったやつの*/*くらい?
Nmosの最小寸法は*x*でいいかな。それらの間隔は最小*
前田さんの不規則の素子のレイアウトを参考にするといいかも


20120417(Tue)†

INV設計練習メモ(2)†

PDKの新しいバージョンに更新。PWは****
/tmp/PDK_210_11X243.zipをからコピー
5と6が競合しそうな気配がしたから前のをold_phenitecに移動して新しくphenitecを作った。
PDKと.cdsinitを前のからコピー

河合さんの教え.txtの以下を実行。今回シミュレーションはしないから以下のみ。
0 豆知識
毎回IC6を呼び出すのも面倒だと思うので、
homeディレクトリの.cshrcに
alias setlic "source /usr/cad/setlic"
を書いておくと楽。

また、ショートカットキーを使うために、
作業フォルダに.cdsinitを作って、
load "/usr/cad/cadence/IC5141/tools.lnx86/dfII/samples/local/leBindKeys.il"
load "/usr/cad/cadence/IC5141/tools.lnx86/dfII/samples/local/schBindKeys.il"
を作っておくと良い。

※上記のは古いから"IC5141"を"IC614"に変更
memo.txtの以下でもいいかも
環境設定:source /usr/cad/cadence/cshrc.ic614
起動:virtuoso

Virtuoso &で起動

前回同様1204のライブラリ名で作成
テクノロジファイルは以下を指定。
/home/kawakami/design/phenitec/PDK_210_11X243/data/cadence/cadence_IC6/tech/PTS06.tf
何か出るけどclose
1204を選択してcell view。invで作成
viewをlayoutにして、ツール(open with)はlayout GXLを指定
display resource managerでmergeでダイアログを開く
ここでold_phenitexからdisplay.drfを持ってきた。これをfrom fileに指定してadd
destinationに同ファイルを指定してOK。上書きかなんかのエラー出たけどOKしたら消えた
このdisplay.drfは前回使用したIC5のを元にしてるから古いのかな?と思ったけど
PDK_210_11X243/data/cadence/cadence_IC6/tech/display.drf
的なものが見つからないから前回のをそのまま使用。
ここでVirtuosoを再起動。最初に作ったファイルによりショートカットキーが有効になる


20120416(Mon)†

ITU Gaze Tracker†

以前輪講で読んだ論文"An open-source low-cost eye-tracking system for portable real-time and offline tracking"で使用されていたオープンソースのITU Gaze Trackerを使ってみた。
32bit Windows用のバイナリが入っていたのですぐに起動して試せる。
今の時点のバージョンは2.0ベータ。

100均でサングラスを買ってきてカメラと赤外線LEDを固定。

glass1.JPG
glass2.JPG

はじめにキャリブレーションがあり、9点、12点、16点が選べる。16点キャリブレーションをすると小さいボタンにもほぼ正確にポインタを視線により誘導できた。
精度は期待できそう。

今は眼球の正面にカメラが来ているが、斜め方向でも微妙な角度などによって上手くいったりそうでなかったり。正面からでもやはり影の影響などは大きい様子。


20120413(Fri)†

Arduino関連メモ†

  • PC-Arduino間のシリアル通信の信号がTX/RXピンに出てくる
    Arduino Uno R3で確認。
    TX/RXピンにXBeeを繋いでいると書き込みに失敗するのでもしかしたらと思ってピンを見てみたら予想通り書き込みの信号がTX/RXピンに出てきていた。
    書き込み時はここに繋がっているものがあればいちいち外す必要あり。それとPC向けとTX/RXピン向けで通信を分けることができないのはちょっと難点かも。
  • IDEの書き込みポートの設定
    なぜか忘れて書き込み失敗する。ちゃんと確認するようにしたい。


20120410(Tue)†

第2回Pheniecイメージセンサ試作MTG†

イメージセンサ試作では川��、中村と共に画素を担当。
計画としては18日くらいまででインバータの設計練習終了後、25日くらいまでに画素回路設計完了。

INV設計練習メモ(1)†

ssh -X kawakami@vlsisv20.ec.t.kanazawa-u.ac.jp
サーバへログイン。-Xオプションでx-window使えるようになる。
source /usr/cad/cadence/cshrc.ic5141usr4
ホームディレクトリにdesign/phenitecを作成。ここで実行
icfb &
PDK_105_11Q111.zipをコピー(本日午後に新バージョンへ以降予定)
unzip
zipのPW : ****
Tools > Liblary Manager
PTS06_Rule.pdfがルール
1204の名前でライブラリ作成
オプションはデフォルトのC~のやつ
テクノロジファイルは以下を指定
/home/kawakami/design/phenitec/PDK_105_11Q111/data/cadence/cadence_IC5/tech/HSL06_TECH.tf
選択してCell View
ツールをVirtuosoに
名前invで作成
Tools > Display Resource Manager
/home/kawakami/design/phenitec/PDK_105_11Q111/data/cadence/cadence_IC5/tech/display.drfを選択
これで色が着く。
すぐ下のAddを押す
destination DRFに/home/kawakami/design/phenitec/display.drfを入力。OK押しても反応無いけど大丈夫。
Option > Displayで最小グリッド設定の必要有るが、今回はデフォルト。それぞれの最小寸法が*と*だから今回は*でOK
Create > Rectangularで描く(ショートカットキー : r)
diffでdYを*に。dXはまだ不明
polyでdXをさっきのに重ねて*で。dYはまだ不明
ゲートの上下の出っ張りは*
Edit > Stretchで調整
コンタクトは*x*で固定
コンタクトの上下は*以上空けないといけない
コンタクトとゲートは*空けたらいいけど、コンタクトにはメタルを打たないといけないからその分も考慮して...
コンタクトからメタルは*でおk
メタル間は*必要
しかし*を超えるワイドメタルとする場合は*必要
結論 : 最小寸法に拘らなければコンタクトの周り(コンタクト-メタル間)は*おけば安全
DIFFのまわりにNHDを被せてやっとトランジスタになる。幅*以上

load "/usr/cad/cadence/IC5141/tools.lnx86/dfII/samples/local/leBindKeys.il"
これでショートカットキー使える。

lib/gdsの中にgdsファイル、もう作られてるサンプルが入ってる。インポート可。例として見とくといい。
しかしまだ謎レイヤが1つある。先生確認するとのこと。フレームレイヤ?

今日の午後にはライブラリ更新予定

画素は10ミクロン四方
W/Lは最小でおk
画素の注意。内部素子の位置は異なるけど、線の位置は全画素で同じにしないといけない
電源線、GND、行選択線、列選択線、リセット線の5本ある

セレクタ
NANDしか作れないけらNOTをその後ろに付けないといけない
いきなりNANDに大きいNOTを付けると負荷容量が大きくなりすぎて動作速度が落ちる
3つとか5つに分割して、小さいのから段々大きくしてみるといい