下記のコードは麻酔科の臨床研究用に作成した物です。
テーマは「顔認証による術前気道評価(仮)」でした。企画自体は倫理委員会で却下となりました。別機関様で似た臨床研究が進行していますが当方とは関係ありません。
用途は、顔の正面画像を認識し、仮の座標点を作成し、そこから顔パーツデータを取得する事です。
利用意図に関して
全身麻酔では人工呼吸につなげる気管挿管が必要なのですが,難易度が患者個人によって異なります。麻酔で眠ってもらった後に気道チューブを入れる時、cormackという数値で実際に気道がどれくらい見えているかを分類します。
これをアウトプットのデータとして、顔パーツデータとの相関関係を調べたり、機械学習を行いで術前診察に役立てられないかと思い作成しました。
#
import cv2
import pandas as pd
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import dlib
detector = dlib.get_frontal_face_detector()
predictor =
dlib.shape_predictor('filepath/shape_predictor_68_face_landmarks.dat')
frame = cv2.imread('filepathofimage.jpg')
dets = detector(frame[:, :, ::-1])
print(predictor)
dets=detector(frame[:,:,::-1])
if len(dets)>0:
parts=predictor(frame,dets[0]).parts()
#確認
img = frame*0
for i in parts:
cv2.circle(img,(i.x,i.y),3,(255,0,0),-1)
#cv2imshowが無理なのでpltで
plt.imshow(img)
dets=detector(frame[:,:,::-1])
if len(dets)>0:
parts=predictor(frame,dets[0]).parts()
#確認用
img = frame*0
for i in parts:
cv2.circle(img,(i.x,i.y),3,(255,0,0),-1)
print(parts)
pd.DataFrame(data=parts)
最後にデータフレームに格納されます。
参考にしたhpが多数あり、それを複合カスタムした物です。先人の方々に感謝致します。著作権のあるhpではありませんでしたが問題があるようでしたらご指摘ください。