Fork me on GitHub

BAIDU_AI开放平台_天空分割的测试

一、基本情况
目前网络服务多以Http方式直接传播数据信息。在本次调用中,首先是
开通权限
而后是鉴权
    public static class AccessToken
    {
        // 调用getAccessToken()获取的 access_token建议根据expires_in 时间 设置缓存
        // 返回token示例
        public static String TOKEN = "24.adda70c11b9786206253ddb70affdc46.2592000.1493524354.282335-1234567";
        // 百度云中开通对应服务应用的 API Key 建议开通应用的时候多选服务
        private static String clientId = "VGzQ7jWz57mBGcDTYACgbAaD";
        // 百度云中开通对应服务应用的 Secret Key
        private static String clientSecret = "RZOcID2IRUCccUGzXdihZKjaoCMTZIth";
        public static String getAccessToken()
        {
            String authHost = "https://aip.baidubce.com/oauth/2.0/token";
            HttpClient client = new HttpClient();
            List<KeyValuePair<StringString>> paraList = new List<KeyValuePair<stringstring>>();
            paraList.Add(new KeyValuePair<stringstring>("grant_type""client_credentials"));
            paraList.Add(new KeyValuePair<stringstring>("client_id"clientId));
            paraList.Add(new KeyValuePair<stringstring>("client_secret"clientSecret));
            HttpResponseMessage response = client.PostAsync(authHostnew FormUrlEncodedContent(paraList)).Result;
            String result = response.Content.ReadAsStringAsync().Result;
            Console.WriteLine(result);
            return result;
        }
    }
最后是调用
 public class SkySeg
    {
        // 天空分割
        public static string skySeg()
        {
            string token = "24.f3ad594ec508e2830506909191535524.2592000.1602456936.282335-18132305";
            
            string host = "https://aip.baidubce.com/rest/2.0/image-process/v1/sky_seg?access_token=" + token;
            Encoding encoding = Encoding.Default;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host);
            request.Method = "post";
            request.KeepAlive = true;
            // 图片的base64编码
            string base64 = getFileBase64("E:/sky.jpg");
            String str = "image=" + HttpUtility.UrlEncode(base64);
            byte[] buffer = encoding.GetBytes(str);
            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
            string result = reader.ReadToEnd();
            Console.WriteLine("天空分割:");
            Console.WriteLine(result);
            return result;
        }
        public static String getFileBase64(String fileName)
        {
            FileStream filestream = new FileStream(fileNameFileMode.Open);
            byte[] arr = new byte[filestream.Length];
            filestream.Read(arr, 0, (int)filestream.Length);
            string baser64 = Convert.ToBase64String(arr);
            filestream.Close();
            return baser64;
        }
    }
获得结果(上部分是鉴权结果,下部分是编码结果)
{"refresh_token":"25.256af18522b7159b270bc7a8eb45f0b5.315360000.1915224936.282335-18132305","expires_in":2592000,"session_key":"9mzdXUcE6x4mNuLtv5IKZwVKrOZjzxuAMv+HRnZj8k353eMTRTHoyoDvcxg4DRb3DwJaGjf1tPwvj3WbIReWnAorFLmW3Q==","access_token":"24.f3ad594ec508e2830506909191535524.2592000.1602456936.282335-18132305","scope":"brain_sky_seg public vis-classify_dishes vis-classify_car brain_all_scope vis-classify_animal vis-classify_plant brain_object_detect brain_realtime_logo brain_dish_detect brain_car_detect brain_animal_classify brain_plant_classify brain_ingredient brain_advanced_general_classify brain_custom_dish brain_poi_recognize brain_vehicle_detect brain_redwine brain_currency brain_vehicle_damage wise_adapt lebo_resource_base lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian ApsMisTest_Test\u6743\u9650 vis-classify_flower lpq_\u5f00\u653e cop_helloScope ApsMis_fangdi_permission smartapp_snsapi_base iop_autocar oauth_tp_app smartapp_smart_game_openapi oauth_sessionkey smartapp_swanid_verify smartapp_opensource_openapi smartapp_opensource_recapi fake_face_detect_\u5f00\u653eScope vis-ocr_\u865a\u62df\u4eba\u7269\u52a9\u7406 idl-video_\u865a\u62df\u4eba\u7269\u52a9\u7406","session_secret":"f59b2284ec68e5ad5cb6bdfa8bf10779"}

{"labelmap":"iVBORw0KGgoAAAANSUhEUgAAAdkAAAHZCAAAAADvLB7eAAAEGElEQVR4Ae3BO07DAAAFwd37HzoUgFJQECkf2087o2SSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkknKXze+SS5LniA5LXk1yRnIu0mOIAeQvJ0cS37cJK8kVyJ5lOyQ3El+yRLJf+SKJC8jJyL5MPkIyfnI8yRXIo+S7BGQbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJs+gK3GgRzJbjFsgAAAABJRU5ErkJggg==","log_id":1304554692201676800,"scoremap":"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ZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpGUiqRUJKUySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJBVJqUQi9dchnxl+hYDUl0reDCC/aPhb8uJ/APvlzDCtILtoAAAAAElFTkSuQmCC","type":"sky"}
二、延伸研究
对于这样一个平台,最后如果部署为网络 服务,肯定还是走Python js等语言,所以Csharp只是简单测试一下。我想思考的问题是它的应用场景在哪里?我是否需要去做准备?然后应该去做什么准备?
使用DL去做图像增强,即使是Baidu也意识到是一个领域,但是他们很可能同样也应用场景不明,其局限应该还是“真”和“假”的区分。因为其根本,这里的增强并不是一种主观意识的正确(比如夜视、静脉穿刺、去雾等),它的容错率是很低的,如果做的不“真”,最终只能是停留在娱乐领域。但是从另一个方面来说,这个方面能力的积累却不能等到场景展现出来以后再做,至少现在就 应该有所积累。这个我是放在专门的项目中来说明的。
三、BAIDU_AI开放平台
可以看出倾向于CV,这个分类可以说是有参考价值的。
四、备注

获取Access Token

请求URL数据格式

向授权服务地址https://aip.baidubce.com/oauth/2.0/token发送请求(推荐使用POST),并在URL中带上以下参数:

  • grant_type: 必须参数,固定为client_credentials
  • client_id: 必须参数,应用的API Key
  • client_secret: 必须参数,应用的Secret Key

    服务器返回的JSON文本参数如下:

    • access_token: 要获取的Access Token;
    • expires_in: Access Token的有效期(秒为单位,一般为1个月);
    • 其他参数忽略,暂时不用;

    例如:

    {
      "refresh_token": "25.b55fe1d287227ca97aab219bb249b8ab.315360000.1798284651.282335-8574074",
      "expires_in": 2592000,
      "scope": "public wise_adapt",
      "session_key": "9mzdDZXu3dENdFZQurfg0Vz8slgSgvvOAUebNFzyzcpQ5EnbxbF+hfG9DQkpUVQdh4p6HbQcAiz5RmuBAja1JJGgIdJI",
      "access_token": "24.6c5e1ff107f0e8bcef8c46d3424a0e78.2592000.1485516651.282335-8574074",
      "session_secret": "dfac94a3489fe9fca7c3221cbf7525ff"
    }

Base64返回说明
  • 返回参数

    字段是否必选类型说明
    log_iduint64唯一的log id,用于问题定位
    scoremapstring分割结果的灰度图,base64编码字符串。每个像素的取值范围是0-255的整数,可以近似于概率,值越大表示越可能是天空。
    labelmapstring分割结果的二值图,base64编码字符串。每个像素值是0或1,0表示背景,1表示天空。

    返回示例

    {
        "labelmap": "处理后图片的二值图base64编码字符串",
        "log_id": "1262724512684703744",
        "scoremap": "处理后图片的灰度图base64编码字符串",
        "type": "sky"
    }





附件列表

     

    posted @ 2020-09-12 07:18  jsxyhelu  阅读(309)  评论(0编辑  收藏  举报